highcharts.d.ts 4.8 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759307603076130762307633076430765307663076730768307693077030771307723077330774307753077630777307783077930780307813078230783307843078530786307873078830789307903079130792307933079430795307963079730798307993080030801308023080330804308053080630807308083080930810308113081230813308143081530816308173081830819308203082130822308233082430825308263082730828308293083030831308323083330834308353083630837308383083930840308413084230843308443084530846308473084830849308503085130852308533085430855308563085730858308593086030861308623086330864308653086630867308683086930870308713087230873308743087530876308773087830879308803088130882308833088430885308863088730888308893089030891308923089330894308953089630897308983089930900309013090230903309043090530906309073090830909309103091130912309133091430915309163091730918309193092030921309223092330924309253092630927309283092930930309313093230933309343093530936309373093830939309403094130942309433094430945309463094730948309493095030951309523095330954309553095630957309583095930960309613096230963309643096530966309673096830969309703097130972309733097430975309763097730978309793098030981309823098330984309853098630987309883098930990309913099230993309943099530996309973099830999310003100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531026310273102831029310303103131032310333103431035310363103731038310393104031041310423104331044310453104631047310483104931050310513105231053310543105531056310573105831059310603106131062310633106431065310663106731068310693107031071310723107331074310753107631077310783107931080310813108231083310843108531086310873108831089310903109131092310933109431095310963109731098310993110031101311023110331104311053110631107311083110931110311113111231113311143111531116311173111831119311203112131122311233112431125311263112731128311293113031131311323113331134311353113631137311383113931140311413114231143311443114531146311473114831149311503115131152311533115431155311563115731158311593116031161311623116331164311653116631167311683116931170311713117231173311743117531176311773117831179311803118131182311833118431185311863118731188311893119031191311923119331194311953119631197311983119931200312013120231203312043120531206312073120831209312103121131212312133121431215312163121731218312193122031221312223122331224312253122631227312283122931230312313123231233312343123531236312373123831239312403124131242312433124431245312463124731248312493125031251312523125331254312553125631257312583125931260312613126231263312643126531266312673126831269312703127131272312733127431275312763127731278312793128031281312823128331284312853128631287312883128931290312913129231293312943129531296312973129831299313003130131302313033130431305313063130731308313093131031311313123131331314313153131631317313183131931320313213132231323313243132531326313273132831329313303133131332313333133431335313363133731338313393134031341313423134331344313453134631347313483134931350313513135231353313543135531356313573135831359313603136131362313633136431365313663136731368313693137031371313723137331374313753137631377313783137931380313813138231383313843138531386313873138831389313903139131392313933139431395313963139731398313993140031401314023140331404314053140631407314083140931410314113141231413314143141531416314173141831419314203142131422314233142431425314263142731428314293143031431314323143331434314353143631437314383143931440314413144231443314443144531446314473144831449314503145131452314533145431455314563145731458314593146031461314623146331464314653146631467314683146931470314713147231473314743147531476314773147831479314803148131482314833148431485314863148731488314893149031491314923149331494314953149631497314983149931500315013150231503315043150531506315073150831509315103151131512315133151431515315163151731518315193152031521315223152331524315253152631527315283152931530315313153231533315343153531536315373153831539315403154131542315433154431545315463154731548315493155031551315523155331554315553155631557315583155931560315613156231563315643156531566315673156831569315703157131572315733157431575315763157731578315793158031581315823158331584315853158631587315883158931590315913159231593315943159531596315973159831599316003160131602316033160431605316063160731608316093161031611316123161331614316153161631617316183161931620316213162231623316243162531626316273162831629316303163131632316333163431635316363163731638316393164031641316423164331644316453164631647316483164931650316513165231653316543165531656316573165831659316603166131662316633166431665316663166731668316693167031671316723167331674316753167631677316783167931680316813168231683316843168531686316873168831689316903169131692316933169431695316963169731698316993170031701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831719317203172131722317233172431725317263172731728317293173031731317323173331734317353173631737317383173931740317413174231743317443174531746317473174831749317503175131752317533175431755317563175731758317593176031761317623176331764317653176631767317683176931770317713177231773317743177531776317773177831779317803178131782317833178431785317863178731788317893179031791317923179331794317953179631797317983179931800318013180231803318043180531806318073180831809318103181131812318133181431815318163181731818318193182031821318223182331824318253182631827318283182931830318313183231833318343183531836318373183831839318403184131842318433184431845318463184731848318493185031851318523185331854318553185631857318583185931860318613186231863318643186531866318673186831869318703187131872318733187431875318763187731878318793188031881318823188331884318853188631887318883188931890318913189231893318943189531896318973189831899319003190131902319033190431905319063190731908319093191031911319123191331914319153191631917319183191931920319213192231923319243192531926319273192831929319303193131932319333193431935319363193731938319393194031941319423194331944319453194631947319483194931950319513195231953319543195531956319573195831959319603196131962319633196431965319663196731968319693197031971319723197331974319753197631977319783197931980319813198231983319843198531986319873198831989319903199131992319933199431995319963199731998319993200032001320023200332004320053200632007320083200932010320113201232013320143201532016320173201832019320203202132022320233202432025320263202732028320293203032031320323203332034320353203632037320383203932040320413204232043320443204532046320473204832049320503205132052320533205432055320563205732058320593206032061320623206332064320653206632067320683206932070320713207232073320743207532076320773207832079320803208132082320833208432085320863208732088320893209032091320923209332094320953209632097320983209932100321013210232103321043210532106321073210832109321103211132112321133211432115321163211732118321193212032121321223212332124321253212632127321283212932130321313213232133321343213532136321373213832139321403214132142321433214432145321463214732148321493215032151321523215332154321553215632157321583215932160321613216232163321643216532166321673216832169321703217132172321733217432175321763217732178321793218032181321823218332184321853218632187321883218932190321913219232193321943219532196321973219832199322003220132202322033220432205322063220732208322093221032211322123221332214322153221632217322183221932220322213222232223322243222532226322273222832229322303223132232322333223432235322363223732238322393224032241322423224332244322453224632247322483224932250322513225232253322543225532256322573225832259322603226132262322633226432265322663226732268322693227032271322723227332274322753227632277322783227932280322813228232283322843228532286322873228832289322903229132292322933229432295322963229732298322993230032301323023230332304323053230632307323083230932310323113231232313323143231532316323173231832319323203232132322323233232432325323263232732328323293233032331323323233332334323353233632337323383233932340323413234232343323443234532346323473234832349323503235132352323533235432355323563235732358323593236032361323623236332364323653236632367323683236932370323713237232373323743237532376323773237832379323803238132382323833238432385323863238732388323893239032391323923239332394323953239632397323983239932400324013240232403324043240532406324073240832409324103241132412324133241432415324163241732418324193242032421324223242332424324253242632427324283242932430324313243232433324343243532436324373243832439324403244132442324433244432445324463244732448324493245032451324523245332454324553245632457324583245932460324613246232463324643246532466324673246832469324703247132472324733247432475324763247732478324793248032481324823248332484324853248632487324883248932490324913249232493324943249532496324973249832499325003250132502325033250432505325063250732508325093251032511325123251332514325153251632517325183251932520325213252232523325243252532526325273252832529325303253132532325333253432535325363253732538325393254032541325423254332544325453254632547325483254932550325513255232553325543255532556325573255832559325603256132562325633256432565325663256732568325693257032571325723257332574325753257632577325783257932580325813258232583325843258532586325873258832589325903259132592325933259432595325963259732598325993260032601326023260332604326053260632607326083260932610326113261232613326143261532616326173261832619326203262132622326233262432625326263262732628326293263032631326323263332634326353263632637326383263932640326413264232643326443264532646326473264832649326503265132652326533265432655326563265732658326593266032661326623266332664326653266632667326683266932670326713267232673326743267532676326773267832679326803268132682326833268432685326863268732688326893269032691326923269332694326953269632697326983269932700327013270232703327043270532706327073270832709327103271132712327133271432715327163271732718327193272032721327223272332724327253272632727327283272932730327313273232733327343273532736327373273832739327403274132742327433274432745327463274732748327493275032751327523275332754327553275632757327583275932760327613276232763327643276532766327673276832769327703277132772327733277432775327763277732778327793278032781327823278332784327853278632787327883278932790327913279232793327943279532796327973279832799328003280132802328033280432805328063280732808328093281032811328123281332814328153281632817328183281932820328213282232823328243282532826328273282832829328303283132832328333283432835328363283732838328393284032841328423284332844328453284632847328483284932850328513285232853328543285532856328573285832859328603286132862328633286432865328663286732868328693287032871328723287332874328753287632877328783287932880328813288232883328843288532886328873288832889328903289132892328933289432895328963289732898328993290032901329023290332904329053290632907329083290932910329113291232913329143291532916329173291832919329203292132922329233292432925329263292732928329293293032931329323293332934329353293632937329383293932940329413294232943329443294532946329473294832949329503295132952329533295432955329563295732958329593296032961329623296332964329653296632967329683296932970329713297232973329743297532976329773297832979329803298132982329833298432985329863298732988329893299032991329923299332994329953299632997329983299933000330013300233003330043300533006330073300833009330103301133012330133301433015330163301733018330193302033021330223302333024330253302633027330283302933030330313303233033330343303533036330373303833039330403304133042330433304433045330463304733048330493305033051330523305333054330553305633057330583305933060330613306233063330643306533066330673306833069330703307133072330733307433075330763307733078330793308033081330823308333084330853308633087330883308933090330913309233093330943309533096330973309833099331003310133102331033310433105331063310733108331093311033111331123311333114331153311633117331183311933120331213312233123331243312533126331273312833129331303313133132331333313433135331363313733138331393314033141331423314333144331453314633147331483314933150331513315233153331543315533156331573315833159331603316133162331633316433165331663316733168331693317033171331723317333174331753317633177331783317933180331813318233183331843318533186331873318833189331903319133192331933319433195331963319733198331993320033201332023320333204332053320633207332083320933210332113321233213332143321533216332173321833219332203322133222332233322433225332263322733228332293323033231332323323333234332353323633237332383323933240332413324233243332443324533246332473324833249332503325133252332533325433255332563325733258332593326033261332623326333264332653326633267332683326933270332713327233273332743327533276332773327833279332803328133282332833328433285332863328733288332893329033291332923329333294332953329633297332983329933300333013330233303333043330533306333073330833309333103331133312333133331433315333163331733318333193332033321333223332333324333253332633327333283332933330333313333233333333343333533336333373333833339333403334133342333433334433345333463334733348333493335033351333523335333354333553335633357333583335933360333613336233363333643336533366333673336833369333703337133372333733337433375333763337733378333793338033381333823338333384333853338633387333883338933390333913339233393333943339533396333973339833399334003340133402334033340433405334063340733408334093341033411334123341333414334153341633417334183341933420334213342233423334243342533426334273342833429334303343133432334333343433435334363343733438334393344033441334423344333444334453344633447334483344933450334513345233453334543345533456334573345833459334603346133462334633346433465334663346733468334693347033471334723347333474334753347633477334783347933480334813348233483334843348533486334873348833489334903349133492334933349433495334963349733498334993350033501335023350333504335053350633507335083350933510335113351233513335143351533516335173351833519335203352133522335233352433525335263352733528335293353033531335323353333534335353353633537335383353933540335413354233543335443354533546335473354833549335503355133552335533355433555335563355733558335593356033561335623356333564335653356633567335683356933570335713357233573335743357533576335773357833579335803358133582335833358433585335863358733588335893359033591335923359333594335953359633597335983359933600336013360233603336043360533606336073360833609336103361133612336133361433615336163361733618336193362033621336223362333624336253362633627336283362933630336313363233633336343363533636336373363833639336403364133642336433364433645336463364733648336493365033651336523365333654336553365633657336583365933660336613366233663336643366533666336673366833669336703367133672336733367433675336763367733678336793368033681336823368333684336853368633687336883368933690336913369233693336943369533696336973369833699337003370133702337033370433705337063370733708337093371033711337123371333714337153371633717337183371933720337213372233723337243372533726337273372833729337303373133732337333373433735337363373733738337393374033741337423374333744337453374633747337483374933750337513375233753337543375533756337573375833759337603376133762337633376433765337663376733768337693377033771337723377333774337753377633777337783377933780337813378233783337843378533786337873378833789337903379133792337933379433795337963379733798337993380033801338023380333804338053380633807338083380933810338113381233813338143381533816338173381833819338203382133822338233382433825338263382733828338293383033831338323383333834338353383633837338383383933840338413384233843338443384533846338473384833849338503385133852338533385433855338563385733858338593386033861338623386333864338653386633867338683386933870338713387233873338743387533876338773387833879338803388133882338833388433885338863388733888338893389033891338923389333894338953389633897338983389933900339013390233903339043390533906339073390833909339103391133912339133391433915339163391733918339193392033921339223392333924339253392633927339283392933930339313393233933339343393533936339373393833939339403394133942339433394433945339463394733948339493395033951339523395333954339553395633957339583395933960339613396233963339643396533966339673396833969339703397133972339733397433975339763397733978339793398033981339823398333984339853398633987339883398933990339913399233993339943399533996339973399833999340003400134002340033400434005340063400734008340093401034011340123401334014340153401634017340183401934020340213402234023340243402534026340273402834029340303403134032340333403434035340363403734038340393404034041340423404334044340453404634047340483404934050340513405234053340543405534056340573405834059340603406134062340633406434065340663406734068340693407034071340723407334074340753407634077340783407934080340813408234083340843408534086340873408834089340903409134092340933409434095340963409734098340993410034101341023410334104341053410634107341083410934110341113411234113341143411534116341173411834119341203412134122341233412434125341263412734128341293413034131341323413334134341353413634137341383413934140341413414234143341443414534146341473414834149341503415134152341533415434155341563415734158341593416034161341623416334164341653416634167341683416934170341713417234173341743417534176341773417834179341803418134182341833418434185341863418734188341893419034191341923419334194341953419634197341983419934200342013420234203342043420534206342073420834209342103421134212342133421434215342163421734218342193422034221342223422334224342253422634227342283422934230342313423234233342343423534236342373423834239342403424134242342433424434245342463424734248342493425034251342523425334254342553425634257342583425934260342613426234263342643426534266342673426834269342703427134272342733427434275342763427734278342793428034281342823428334284342853428634287342883428934290342913429234293342943429534296342973429834299343003430134302343033430434305343063430734308343093431034311343123431334314343153431634317343183431934320343213432234323343243432534326343273432834329343303433134332343333433434335343363433734338343393434034341343423434334344343453434634347343483434934350343513435234353343543435534356343573435834359343603436134362343633436434365343663436734368343693437034371343723437334374343753437634377343783437934380343813438234383343843438534386343873438834389343903439134392343933439434395343963439734398343993440034401344023440334404344053440634407344083440934410344113441234413344143441534416344173441834419344203442134422344233442434425344263442734428344293443034431344323443334434344353443634437344383443934440344413444234443344443444534446344473444834449344503445134452344533445434455344563445734458344593446034461344623446334464344653446634467344683446934470344713447234473344743447534476344773447834479344803448134482344833448434485344863448734488344893449034491344923449334494344953449634497344983449934500345013450234503345043450534506345073450834509345103451134512345133451434515345163451734518345193452034521345223452334524345253452634527345283452934530345313453234533345343453534536345373453834539345403454134542345433454434545345463454734548345493455034551345523455334554345553455634557345583455934560345613456234563345643456534566345673456834569345703457134572345733457434575345763457734578345793458034581345823458334584345853458634587345883458934590345913459234593345943459534596345973459834599346003460134602346033460434605346063460734608346093461034611346123461334614346153461634617346183461934620346213462234623346243462534626346273462834629346303463134632346333463434635346363463734638346393464034641346423464334644346453464634647346483464934650346513465234653346543465534656346573465834659346603466134662346633466434665346663466734668346693467034671346723467334674346753467634677346783467934680346813468234683346843468534686346873468834689346903469134692346933469434695346963469734698346993470034701347023470334704347053470634707347083470934710347113471234713347143471534716347173471834719347203472134722347233472434725347263472734728347293473034731347323473334734347353473634737347383473934740347413474234743347443474534746347473474834749347503475134752347533475434755347563475734758347593476034761347623476334764347653476634767347683476934770347713477234773347743477534776347773477834779347803478134782347833478434785347863478734788347893479034791347923479334794347953479634797347983479934800348013480234803348043480534806348073480834809348103481134812348133481434815348163481734818348193482034821348223482334824348253482634827348283482934830348313483234833348343483534836348373483834839348403484134842348433484434845348463484734848348493485034851348523485334854348553485634857348583485934860348613486234863348643486534866348673486834869348703487134872348733487434875348763487734878348793488034881348823488334884348853488634887348883488934890348913489234893348943489534896348973489834899349003490134902349033490434905349063490734908349093491034911349123491334914349153491634917349183491934920349213492234923349243492534926349273492834929349303493134932349333493434935349363493734938349393494034941349423494334944349453494634947349483494934950349513495234953349543495534956349573495834959349603496134962349633496434965349663496734968349693497034971349723497334974349753497634977349783497934980349813498234983349843498534986349873498834989349903499134992349933499434995349963499734998349993500035001350023500335004350053500635007350083500935010350113501235013350143501535016350173501835019350203502135022350233502435025350263502735028350293503035031350323503335034350353503635037350383503935040350413504235043350443504535046350473504835049350503505135052350533505435055350563505735058350593506035061350623506335064350653506635067350683506935070350713507235073350743507535076350773507835079350803508135082350833508435085350863508735088350893509035091350923509335094350953509635097350983509935100351013510235103351043510535106351073510835109351103511135112351133511435115351163511735118351193512035121351223512335124351253512635127351283512935130351313513235133351343513535136351373513835139351403514135142351433514435145351463514735148351493515035151351523515335154351553515635157351583515935160351613516235163351643516535166351673516835169351703517135172351733517435175351763517735178351793518035181351823518335184351853518635187351883518935190351913519235193351943519535196351973519835199352003520135202352033520435205352063520735208352093521035211352123521335214352153521635217352183521935220352213522235223352243522535226352273522835229352303523135232352333523435235352363523735238352393524035241352423524335244352453524635247352483524935250352513525235253352543525535256352573525835259352603526135262352633526435265352663526735268352693527035271352723527335274352753527635277352783527935280352813528235283352843528535286352873528835289352903529135292352933529435295352963529735298352993530035301353023530335304353053530635307353083530935310353113531235313353143531535316353173531835319353203532135322353233532435325353263532735328353293533035331353323533335334353353533635337353383533935340353413534235343353443534535346353473534835349353503535135352353533535435355353563535735358353593536035361353623536335364353653536635367353683536935370353713537235373353743537535376353773537835379353803538135382353833538435385353863538735388353893539035391353923539335394353953539635397353983539935400354013540235403354043540535406354073540835409354103541135412354133541435415354163541735418354193542035421354223542335424354253542635427354283542935430354313543235433354343543535436354373543835439354403544135442354433544435445354463544735448354493545035451354523545335454354553545635457354583545935460354613546235463354643546535466354673546835469354703547135472354733547435475354763547735478354793548035481354823548335484354853548635487354883548935490354913549235493354943549535496354973549835499355003550135502355033550435505355063550735508355093551035511355123551335514355153551635517355183551935520355213552235523355243552535526355273552835529355303553135532355333553435535355363553735538355393554035541355423554335544355453554635547355483554935550355513555235553355543555535556355573555835559355603556135562355633556435565355663556735568355693557035571355723557335574355753557635577355783557935580355813558235583355843558535586355873558835589355903559135592355933559435595355963559735598355993560035601356023560335604356053560635607356083560935610356113561235613356143561535616356173561835619356203562135622356233562435625356263562735628356293563035631356323563335634356353563635637356383563935640356413564235643356443564535646356473564835649356503565135652356533565435655356563565735658356593566035661356623566335664356653566635667356683566935670356713567235673356743567535676356773567835679356803568135682356833568435685356863568735688356893569035691356923569335694356953569635697356983569935700357013570235703357043570535706357073570835709357103571135712357133571435715357163571735718357193572035721357223572335724357253572635727357283572935730357313573235733357343573535736357373573835739357403574135742357433574435745357463574735748357493575035751357523575335754357553575635757357583575935760357613576235763357643576535766357673576835769357703577135772357733577435775357763577735778357793578035781357823578335784357853578635787357883578935790357913579235793357943579535796357973579835799358003580135802358033580435805358063580735808358093581035811358123581335814358153581635817358183581935820358213582235823358243582535826358273582835829358303583135832358333583435835358363583735838358393584035841358423584335844358453584635847358483584935850358513585235853358543585535856358573585835859358603586135862358633586435865358663586735868358693587035871358723587335874358753587635877358783587935880358813588235883358843588535886358873588835889358903589135892358933589435895358963589735898358993590035901359023590335904359053590635907359083590935910359113591235913359143591535916359173591835919359203592135922359233592435925359263592735928359293593035931359323593335934359353593635937359383593935940359413594235943359443594535946359473594835949359503595135952359533595435955359563595735958359593596035961359623596335964359653596635967359683596935970359713597235973359743597535976359773597835979359803598135982359833598435985359863598735988359893599035991359923599335994359953599635997359983599936000360013600236003360043600536006360073600836009360103601136012360133601436015360163601736018360193602036021360223602336024360253602636027360283602936030360313603236033360343603536036360373603836039360403604136042360433604436045360463604736048360493605036051360523605336054360553605636057360583605936060360613606236063360643606536066360673606836069360703607136072360733607436075360763607736078360793608036081360823608336084360853608636087360883608936090360913609236093360943609536096360973609836099361003610136102361033610436105361063610736108361093611036111361123611336114361153611636117361183611936120361213612236123361243612536126361273612836129361303613136132361333613436135361363613736138361393614036141361423614336144361453614636147361483614936150361513615236153361543615536156361573615836159361603616136162361633616436165361663616736168361693617036171361723617336174361753617636177361783617936180361813618236183361843618536186361873618836189361903619136192361933619436195361963619736198361993620036201362023620336204362053620636207362083620936210362113621236213362143621536216362173621836219362203622136222362233622436225362263622736228362293623036231362323623336234362353623636237362383623936240362413624236243362443624536246362473624836249362503625136252362533625436255362563625736258362593626036261362623626336264362653626636267362683626936270362713627236273362743627536276362773627836279362803628136282362833628436285362863628736288362893629036291362923629336294362953629636297362983629936300363013630236303363043630536306363073630836309363103631136312363133631436315363163631736318363193632036321363223632336324363253632636327363283632936330363313633236333363343633536336363373633836339363403634136342363433634436345363463634736348363493635036351363523635336354363553635636357363583635936360363613636236363363643636536366363673636836369363703637136372363733637436375363763637736378363793638036381363823638336384363853638636387363883638936390363913639236393363943639536396363973639836399364003640136402364033640436405364063640736408364093641036411364123641336414364153641636417364183641936420364213642236423364243642536426364273642836429364303643136432364333643436435364363643736438364393644036441364423644336444364453644636447364483644936450364513645236453364543645536456364573645836459364603646136462364633646436465364663646736468364693647036471364723647336474364753647636477364783647936480364813648236483364843648536486364873648836489364903649136492364933649436495364963649736498364993650036501365023650336504365053650636507365083650936510365113651236513365143651536516365173651836519365203652136522365233652436525365263652736528365293653036531365323653336534365353653636537365383653936540365413654236543365443654536546365473654836549365503655136552365533655436555365563655736558365593656036561365623656336564365653656636567365683656936570365713657236573365743657536576365773657836579365803658136582365833658436585365863658736588365893659036591365923659336594365953659636597365983659936600366013660236603366043660536606366073660836609366103661136612366133661436615366163661736618366193662036621366223662336624366253662636627366283662936630366313663236633366343663536636366373663836639366403664136642366433664436645366463664736648366493665036651366523665336654366553665636657366583665936660366613666236663366643666536666366673666836669366703667136672366733667436675366763667736678366793668036681366823668336684366853668636687366883668936690366913669236693366943669536696366973669836699367003670136702367033670436705367063670736708367093671036711367123671336714367153671636717367183671936720367213672236723367243672536726367273672836729367303673136732367333673436735367363673736738367393674036741367423674336744367453674636747367483674936750367513675236753367543675536756367573675836759367603676136762367633676436765367663676736768367693677036771367723677336774367753677636777367783677936780367813678236783367843678536786367873678836789367903679136792367933679436795367963679736798367993680036801368023680336804368053680636807368083680936810368113681236813368143681536816368173681836819368203682136822368233682436825368263682736828368293683036831368323683336834368353683636837368383683936840368413684236843368443684536846368473684836849368503685136852368533685436855368563685736858368593686036861368623686336864368653686636867368683686936870368713687236873368743687536876368773687836879368803688136882368833688436885368863688736888368893689036891368923689336894368953689636897368983689936900369013690236903369043690536906369073690836909369103691136912369133691436915369163691736918369193692036921369223692336924369253692636927369283692936930369313693236933369343693536936369373693836939369403694136942369433694436945369463694736948369493695036951369523695336954369553695636957369583695936960369613696236963369643696536966369673696836969369703697136972369733697436975369763697736978369793698036981369823698336984369853698636987369883698936990369913699236993369943699536996369973699836999370003700137002370033700437005370063700737008370093701037011370123701337014370153701637017370183701937020370213702237023370243702537026370273702837029370303703137032370333703437035370363703737038370393704037041370423704337044370453704637047370483704937050370513705237053370543705537056370573705837059370603706137062370633706437065370663706737068370693707037071370723707337074370753707637077370783707937080370813708237083370843708537086370873708837089370903709137092370933709437095370963709737098370993710037101371023710337104371053710637107371083710937110371113711237113371143711537116371173711837119371203712137122371233712437125371263712737128371293713037131371323713337134371353713637137371383713937140371413714237143371443714537146371473714837149371503715137152371533715437155371563715737158371593716037161371623716337164371653716637167371683716937170371713717237173371743717537176371773717837179371803718137182371833718437185371863718737188371893719037191371923719337194371953719637197371983719937200372013720237203372043720537206372073720837209372103721137212372133721437215372163721737218372193722037221372223722337224372253722637227372283722937230372313723237233372343723537236372373723837239372403724137242372433724437245372463724737248372493725037251372523725337254372553725637257372583725937260372613726237263372643726537266372673726837269372703727137272372733727437275372763727737278372793728037281372823728337284372853728637287372883728937290372913729237293372943729537296372973729837299373003730137302373033730437305373063730737308373093731037311373123731337314373153731637317373183731937320373213732237323373243732537326373273732837329373303733137332373333733437335373363733737338373393734037341373423734337344373453734637347373483734937350373513735237353373543735537356373573735837359373603736137362373633736437365373663736737368373693737037371373723737337374373753737637377373783737937380373813738237383373843738537386373873738837389373903739137392373933739437395373963739737398373993740037401374023740337404374053740637407374083740937410374113741237413374143741537416374173741837419374203742137422374233742437425374263742737428374293743037431374323743337434374353743637437374383743937440374413744237443374443744537446374473744837449374503745137452374533745437455374563745737458374593746037461374623746337464374653746637467374683746937470374713747237473374743747537476374773747837479374803748137482374833748437485374863748737488374893749037491374923749337494374953749637497374983749937500375013750237503375043750537506375073750837509375103751137512375133751437515375163751737518375193752037521375223752337524375253752637527375283752937530375313753237533375343753537536375373753837539375403754137542375433754437545375463754737548375493755037551375523755337554375553755637557375583755937560375613756237563375643756537566375673756837569375703757137572375733757437575375763757737578375793758037581375823758337584375853758637587375883758937590375913759237593375943759537596375973759837599376003760137602376033760437605376063760737608376093761037611376123761337614376153761637617376183761937620376213762237623376243762537626376273762837629376303763137632376333763437635376363763737638376393764037641376423764337644376453764637647376483764937650376513765237653376543765537656376573765837659376603766137662376633766437665376663766737668376693767037671376723767337674376753767637677376783767937680376813768237683376843768537686376873768837689376903769137692376933769437695376963769737698376993770037701377023770337704377053770637707377083770937710377113771237713377143771537716377173771837719377203772137722377233772437725377263772737728377293773037731377323773337734377353773637737377383773937740377413774237743377443774537746377473774837749377503775137752377533775437755377563775737758377593776037761377623776337764377653776637767377683776937770377713777237773377743777537776377773777837779377803778137782377833778437785377863778737788377893779037791377923779337794377953779637797377983779937800378013780237803378043780537806378073780837809378103781137812378133781437815378163781737818378193782037821378223782337824378253782637827378283782937830378313783237833378343783537836378373783837839378403784137842378433784437845378463784737848378493785037851378523785337854378553785637857378583785937860378613786237863378643786537866378673786837869378703787137872378733787437875378763787737878378793788037881378823788337884378853788637887378883788937890378913789237893378943789537896378973789837899379003790137902379033790437905379063790737908379093791037911379123791337914379153791637917379183791937920379213792237923379243792537926379273792837929379303793137932379333793437935379363793737938379393794037941379423794337944379453794637947379483794937950379513795237953379543795537956379573795837959379603796137962379633796437965379663796737968379693797037971379723797337974379753797637977379783797937980379813798237983379843798537986379873798837989379903799137992379933799437995379963799737998379993800038001380023800338004380053800638007380083800938010380113801238013380143801538016380173801838019380203802138022380233802438025380263802738028380293803038031380323803338034380353803638037380383803938040380413804238043380443804538046380473804838049380503805138052380533805438055380563805738058380593806038061380623806338064380653806638067380683806938070380713807238073380743807538076380773807838079380803808138082380833808438085380863808738088380893809038091380923809338094380953809638097380983809938100381013810238103381043810538106381073810838109381103811138112381133811438115381163811738118381193812038121381223812338124381253812638127381283812938130381313813238133381343813538136381373813838139381403814138142381433814438145381463814738148381493815038151381523815338154381553815638157381583815938160381613816238163381643816538166381673816838169381703817138172381733817438175381763817738178381793818038181381823818338184381853818638187381883818938190381913819238193381943819538196381973819838199382003820138202382033820438205382063820738208382093821038211382123821338214382153821638217382183821938220382213822238223382243822538226382273822838229382303823138232382333823438235382363823738238382393824038241382423824338244382453824638247382483824938250382513825238253382543825538256382573825838259382603826138262382633826438265382663826738268382693827038271382723827338274382753827638277382783827938280382813828238283382843828538286382873828838289382903829138292382933829438295382963829738298382993830038301383023830338304383053830638307383083830938310383113831238313383143831538316383173831838319383203832138322383233832438325383263832738328383293833038331383323833338334383353833638337383383833938340383413834238343383443834538346383473834838349383503835138352383533835438355383563835738358383593836038361383623836338364383653836638367383683836938370383713837238373383743837538376383773837838379383803838138382383833838438385383863838738388383893839038391383923839338394383953839638397383983839938400384013840238403384043840538406384073840838409384103841138412384133841438415384163841738418384193842038421384223842338424384253842638427384283842938430384313843238433384343843538436384373843838439384403844138442384433844438445384463844738448384493845038451384523845338454384553845638457384583845938460384613846238463384643846538466384673846838469384703847138472384733847438475384763847738478384793848038481384823848338484384853848638487384883848938490384913849238493384943849538496384973849838499385003850138502385033850438505385063850738508385093851038511385123851338514385153851638517385183851938520385213852238523385243852538526385273852838529385303853138532385333853438535385363853738538385393854038541385423854338544385453854638547385483854938550385513855238553385543855538556385573855838559385603856138562385633856438565385663856738568385693857038571385723857338574385753857638577385783857938580385813858238583385843858538586385873858838589385903859138592385933859438595385963859738598385993860038601386023860338604386053860638607386083860938610386113861238613386143861538616386173861838619386203862138622386233862438625386263862738628386293863038631386323863338634386353863638637386383863938640386413864238643386443864538646386473864838649386503865138652386533865438655386563865738658386593866038661386623866338664386653866638667386683866938670386713867238673386743867538676386773867838679386803868138682386833868438685386863868738688386893869038691386923869338694386953869638697386983869938700387013870238703387043870538706387073870838709387103871138712387133871438715387163871738718387193872038721387223872338724387253872638727387283872938730387313873238733387343873538736387373873838739387403874138742387433874438745387463874738748387493875038751387523875338754387553875638757387583875938760387613876238763387643876538766387673876838769387703877138772387733877438775387763877738778387793878038781387823878338784387853878638787387883878938790387913879238793387943879538796387973879838799388003880138802388033880438805388063880738808388093881038811388123881338814388153881638817388183881938820388213882238823388243882538826388273882838829388303883138832388333883438835388363883738838388393884038841388423884338844388453884638847388483884938850388513885238853388543885538856388573885838859388603886138862388633886438865388663886738868388693887038871388723887338874388753887638877388783887938880388813888238883388843888538886388873888838889388903889138892388933889438895388963889738898388993890038901389023890338904389053890638907389083890938910389113891238913389143891538916389173891838919389203892138922389233892438925389263892738928389293893038931389323893338934389353893638937389383893938940389413894238943389443894538946389473894838949389503895138952389533895438955389563895738958389593896038961389623896338964389653896638967389683896938970389713897238973389743897538976389773897838979389803898138982389833898438985389863898738988389893899038991389923899338994389953899638997389983899939000390013900239003390043900539006390073900839009390103901139012390133901439015390163901739018390193902039021390223902339024390253902639027390283902939030390313903239033390343903539036390373903839039390403904139042390433904439045390463904739048390493905039051390523905339054390553905639057390583905939060390613906239063390643906539066390673906839069390703907139072390733907439075390763907739078390793908039081390823908339084390853908639087390883908939090390913909239093390943909539096390973909839099391003910139102391033910439105391063910739108391093911039111391123911339114391153911639117391183911939120391213912239123391243912539126391273912839129391303913139132391333913439135391363913739138391393914039141391423914339144391453914639147391483914939150391513915239153391543915539156391573915839159391603916139162391633916439165391663916739168391693917039171391723917339174391753917639177391783917939180391813918239183391843918539186391873918839189391903919139192391933919439195391963919739198391993920039201392023920339204392053920639207392083920939210392113921239213392143921539216392173921839219392203922139222392233922439225392263922739228392293923039231392323923339234392353923639237392383923939240392413924239243392443924539246392473924839249392503925139252392533925439255392563925739258392593926039261392623926339264392653926639267392683926939270392713927239273392743927539276392773927839279392803928139282392833928439285392863928739288392893929039291392923929339294392953929639297392983929939300393013930239303393043930539306393073930839309393103931139312393133931439315393163931739318393193932039321393223932339324393253932639327393283932939330393313933239333393343933539336393373933839339393403934139342393433934439345393463934739348393493935039351393523935339354393553935639357393583935939360393613936239363393643936539366393673936839369393703937139372393733937439375393763937739378393793938039381393823938339384393853938639387393883938939390393913939239393393943939539396393973939839399394003940139402394033940439405394063940739408394093941039411394123941339414394153941639417394183941939420394213942239423394243942539426394273942839429394303943139432394333943439435394363943739438394393944039441394423944339444394453944639447394483944939450394513945239453394543945539456394573945839459394603946139462394633946439465394663946739468394693947039471394723947339474394753947639477394783947939480394813948239483394843948539486394873948839489394903949139492394933949439495394963949739498394993950039501395023950339504395053950639507395083950939510395113951239513395143951539516395173951839519395203952139522395233952439525395263952739528395293953039531395323953339534395353953639537395383953939540395413954239543395443954539546395473954839549395503955139552395533955439555395563955739558395593956039561395623956339564395653956639567395683956939570395713957239573395743957539576395773957839579395803958139582395833958439585395863958739588395893959039591395923959339594395953959639597395983959939600396013960239603396043960539606396073960839609396103961139612396133961439615396163961739618396193962039621396223962339624396253962639627396283962939630396313963239633396343963539636396373963839639396403964139642396433964439645396463964739648396493965039651396523965339654396553965639657396583965939660396613966239663396643966539666396673966839669396703967139672396733967439675396763967739678396793968039681396823968339684396853968639687396883968939690396913969239693396943969539696396973969839699397003970139702397033970439705397063970739708397093971039711397123971339714397153971639717397183971939720397213972239723397243972539726397273972839729397303973139732397333973439735397363973739738397393974039741397423974339744397453974639747397483974939750397513975239753397543975539756397573975839759397603976139762397633976439765397663976739768397693977039771397723977339774397753977639777397783977939780397813978239783397843978539786397873978839789397903979139792397933979439795397963979739798397993980039801398023980339804398053980639807398083980939810398113981239813398143981539816398173981839819398203982139822398233982439825398263982739828398293983039831398323983339834398353983639837398383983939840398413984239843398443984539846398473984839849398503985139852398533985439855398563985739858398593986039861398623986339864398653986639867398683986939870398713987239873398743987539876398773987839879398803988139882398833988439885398863988739888398893989039891398923989339894398953989639897398983989939900399013990239903399043990539906399073990839909399103991139912399133991439915399163991739918399193992039921399223992339924399253992639927399283992939930399313993239933399343993539936399373993839939399403994139942399433994439945399463994739948399493995039951399523995339954399553995639957399583995939960399613996239963399643996539966399673996839969399703997139972399733997439975399763997739978399793998039981399823998339984399853998639987399883998939990399913999239993399943999539996399973999839999400004000140002400034000440005400064000740008400094001040011400124001340014400154001640017400184001940020400214002240023400244002540026400274002840029400304003140032400334003440035400364003740038400394004040041400424004340044400454004640047400484004940050400514005240053400544005540056400574005840059400604006140062400634006440065400664006740068400694007040071400724007340074400754007640077400784007940080400814008240083400844008540086400874008840089400904009140092400934009440095400964009740098400994010040101401024010340104401054010640107401084010940110401114011240113401144011540116401174011840119401204012140122401234012440125401264012740128401294013040131401324013340134401354013640137401384013940140401414014240143401444014540146401474014840149401504015140152401534015440155401564015740158401594016040161401624016340164401654016640167401684016940170401714017240173401744017540176401774017840179401804018140182401834018440185401864018740188401894019040191401924019340194401954019640197401984019940200402014020240203402044020540206402074020840209402104021140212402134021440215402164021740218402194022040221402224022340224402254022640227402284022940230402314023240233402344023540236402374023840239402404024140242402434024440245402464024740248402494025040251402524025340254402554025640257402584025940260402614026240263402644026540266402674026840269402704027140272402734027440275402764027740278402794028040281402824028340284402854028640287402884028940290402914029240293402944029540296402974029840299403004030140302403034030440305403064030740308403094031040311403124031340314403154031640317403184031940320403214032240323403244032540326403274032840329403304033140332403334033440335403364033740338403394034040341403424034340344403454034640347403484034940350403514035240353403544035540356403574035840359403604036140362403634036440365403664036740368403694037040371403724037340374403754037640377403784037940380403814038240383403844038540386403874038840389403904039140392403934039440395403964039740398403994040040401404024040340404404054040640407404084040940410404114041240413404144041540416404174041840419404204042140422404234042440425404264042740428404294043040431404324043340434404354043640437404384043940440404414044240443404444044540446404474044840449404504045140452404534045440455404564045740458404594046040461404624046340464404654046640467404684046940470404714047240473404744047540476404774047840479404804048140482404834048440485404864048740488404894049040491404924049340494404954049640497404984049940500405014050240503405044050540506405074050840509405104051140512405134051440515405164051740518405194052040521405224052340524405254052640527405284052940530405314053240533405344053540536405374053840539405404054140542405434054440545405464054740548405494055040551405524055340554405554055640557405584055940560405614056240563405644056540566405674056840569405704057140572405734057440575405764057740578405794058040581405824058340584405854058640587405884058940590405914059240593405944059540596405974059840599406004060140602406034060440605406064060740608406094061040611406124061340614406154061640617406184061940620406214062240623406244062540626406274062840629406304063140632406334063440635406364063740638406394064040641406424064340644406454064640647406484064940650406514065240653406544065540656406574065840659406604066140662406634066440665406664066740668406694067040671406724067340674406754067640677406784067940680406814068240683406844068540686406874068840689406904069140692406934069440695406964069740698406994070040701407024070340704407054070640707407084070940710407114071240713407144071540716407174071840719407204072140722407234072440725407264072740728407294073040731407324073340734407354073640737407384073940740407414074240743407444074540746407474074840749407504075140752407534075440755407564075740758407594076040761407624076340764407654076640767407684076940770407714077240773407744077540776407774077840779407804078140782407834078440785407864078740788407894079040791407924079340794407954079640797407984079940800408014080240803408044080540806408074080840809408104081140812408134081440815408164081740818408194082040821408224082340824408254082640827408284082940830408314083240833408344083540836408374083840839408404084140842408434084440845408464084740848408494085040851408524085340854408554085640857408584085940860408614086240863408644086540866408674086840869408704087140872408734087440875408764087740878408794088040881408824088340884408854088640887408884088940890408914089240893408944089540896408974089840899409004090140902409034090440905409064090740908409094091040911409124091340914409154091640917409184091940920409214092240923409244092540926409274092840929409304093140932409334093440935409364093740938409394094040941409424094340944409454094640947409484094940950409514095240953409544095540956409574095840959409604096140962409634096440965409664096740968409694097040971409724097340974409754097640977409784097940980409814098240983409844098540986409874098840989409904099140992409934099440995409964099740998409994100041001410024100341004410054100641007410084100941010410114101241013410144101541016410174101841019410204102141022410234102441025410264102741028410294103041031410324103341034410354103641037410384103941040410414104241043410444104541046410474104841049410504105141052410534105441055410564105741058410594106041061410624106341064410654106641067410684106941070410714107241073410744107541076410774107841079410804108141082410834108441085410864108741088410894109041091410924109341094410954109641097410984109941100411014110241103411044110541106411074110841109411104111141112411134111441115411164111741118411194112041121411224112341124411254112641127411284112941130411314113241133411344113541136411374113841139411404114141142411434114441145411464114741148411494115041151411524115341154411554115641157411584115941160411614116241163411644116541166411674116841169411704117141172411734117441175411764117741178411794118041181411824118341184411854118641187411884118941190411914119241193411944119541196411974119841199412004120141202412034120441205412064120741208412094121041211412124121341214412154121641217412184121941220412214122241223412244122541226412274122841229412304123141232412334123441235412364123741238412394124041241412424124341244412454124641247412484124941250412514125241253412544125541256412574125841259412604126141262412634126441265412664126741268412694127041271412724127341274412754127641277412784127941280412814128241283412844128541286412874128841289412904129141292412934129441295412964129741298412994130041301413024130341304413054130641307413084130941310413114131241313413144131541316413174131841319413204132141322413234132441325413264132741328413294133041331413324133341334413354133641337413384133941340413414134241343413444134541346413474134841349413504135141352413534135441355413564135741358413594136041361413624136341364413654136641367413684136941370413714137241373413744137541376413774137841379413804138141382413834138441385413864138741388413894139041391413924139341394413954139641397413984139941400414014140241403414044140541406414074140841409414104141141412414134141441415414164141741418414194142041421414224142341424414254142641427414284142941430414314143241433414344143541436414374143841439414404144141442414434144441445414464144741448414494145041451414524145341454414554145641457414584145941460414614146241463414644146541466414674146841469414704147141472414734147441475414764147741478414794148041481414824148341484414854148641487414884148941490414914149241493414944149541496414974149841499415004150141502415034150441505415064150741508415094151041511415124151341514415154151641517415184151941520415214152241523415244152541526415274152841529415304153141532415334153441535415364153741538415394154041541415424154341544415454154641547415484154941550415514155241553415544155541556415574155841559415604156141562415634156441565415664156741568415694157041571415724157341574415754157641577415784157941580415814158241583415844158541586415874158841589415904159141592415934159441595415964159741598415994160041601416024160341604416054160641607416084160941610416114161241613416144161541616416174161841619416204162141622416234162441625416264162741628416294163041631416324163341634416354163641637416384163941640416414164241643416444164541646416474164841649416504165141652416534165441655416564165741658416594166041661416624166341664416654166641667416684166941670416714167241673416744167541676416774167841679416804168141682416834168441685416864168741688416894169041691416924169341694416954169641697416984169941700417014170241703417044170541706417074170841709417104171141712417134171441715417164171741718417194172041721417224172341724417254172641727417284172941730417314173241733417344173541736417374173841739417404174141742417434174441745417464174741748417494175041751417524175341754417554175641757417584175941760417614176241763417644176541766417674176841769417704177141772417734177441775417764177741778417794178041781417824178341784417854178641787417884178941790417914179241793417944179541796417974179841799418004180141802418034180441805418064180741808418094181041811418124181341814418154181641817418184181941820418214182241823418244182541826418274182841829418304183141832418334183441835418364183741838418394184041841418424184341844418454184641847418484184941850418514185241853418544185541856418574185841859418604186141862418634186441865418664186741868418694187041871418724187341874418754187641877418784187941880418814188241883418844188541886418874188841889418904189141892418934189441895418964189741898418994190041901419024190341904419054190641907419084190941910419114191241913419144191541916419174191841919419204192141922419234192441925419264192741928419294193041931419324193341934419354193641937419384193941940419414194241943419444194541946419474194841949419504195141952419534195441955419564195741958419594196041961419624196341964419654196641967419684196941970419714197241973419744197541976419774197841979419804198141982419834198441985419864198741988419894199041991419924199341994419954199641997419984199942000420014200242003420044200542006420074200842009420104201142012420134201442015420164201742018420194202042021420224202342024420254202642027420284202942030420314203242033420344203542036420374203842039420404204142042420434204442045420464204742048420494205042051420524205342054420554205642057420584205942060420614206242063420644206542066420674206842069420704207142072420734207442075420764207742078420794208042081420824208342084420854208642087420884208942090420914209242093420944209542096420974209842099421004210142102421034210442105421064210742108421094211042111421124211342114421154211642117421184211942120421214212242123421244212542126421274212842129421304213142132421334213442135421364213742138421394214042141421424214342144421454214642147421484214942150421514215242153421544215542156421574215842159421604216142162421634216442165421664216742168421694217042171421724217342174421754217642177421784217942180421814218242183421844218542186421874218842189421904219142192421934219442195421964219742198421994220042201422024220342204422054220642207422084220942210422114221242213422144221542216422174221842219422204222142222422234222442225422264222742228422294223042231422324223342234422354223642237422384223942240422414224242243422444224542246422474224842249422504225142252422534225442255422564225742258422594226042261422624226342264422654226642267422684226942270422714227242273422744227542276422774227842279422804228142282422834228442285422864228742288422894229042291422924229342294422954229642297422984229942300423014230242303423044230542306423074230842309423104231142312423134231442315423164231742318423194232042321423224232342324423254232642327423284232942330423314233242333423344233542336423374233842339423404234142342423434234442345423464234742348423494235042351423524235342354423554235642357423584235942360423614236242363423644236542366423674236842369423704237142372423734237442375423764237742378423794238042381423824238342384423854238642387423884238942390423914239242393423944239542396423974239842399424004240142402424034240442405424064240742408424094241042411424124241342414424154241642417424184241942420424214242242423424244242542426424274242842429424304243142432424334243442435424364243742438424394244042441424424244342444424454244642447424484244942450424514245242453424544245542456424574245842459424604246142462424634246442465424664246742468424694247042471424724247342474424754247642477424784247942480424814248242483424844248542486424874248842489424904249142492424934249442495424964249742498424994250042501425024250342504425054250642507425084250942510425114251242513425144251542516425174251842519425204252142522425234252442525425264252742528425294253042531425324253342534425354253642537425384253942540425414254242543425444254542546425474254842549425504255142552425534255442555425564255742558425594256042561425624256342564425654256642567425684256942570425714257242573425744257542576425774257842579425804258142582425834258442585425864258742588425894259042591425924259342594425954259642597425984259942600426014260242603426044260542606426074260842609426104261142612426134261442615426164261742618426194262042621426224262342624426254262642627426284262942630426314263242633426344263542636426374263842639426404264142642426434264442645426464264742648426494265042651426524265342654426554265642657426584265942660426614266242663426644266542666426674266842669426704267142672426734267442675426764267742678426794268042681426824268342684426854268642687426884268942690426914269242693426944269542696426974269842699427004270142702427034270442705427064270742708427094271042711427124271342714427154271642717427184271942720427214272242723427244272542726427274272842729427304273142732427334273442735427364273742738427394274042741427424274342744427454274642747427484274942750427514275242753427544275542756427574275842759427604276142762427634276442765427664276742768427694277042771427724277342774427754277642777427784277942780427814278242783427844278542786427874278842789427904279142792427934279442795427964279742798427994280042801428024280342804428054280642807428084280942810428114281242813428144281542816428174281842819428204282142822428234282442825428264282742828428294283042831428324283342834428354283642837428384283942840428414284242843428444284542846428474284842849428504285142852428534285442855428564285742858428594286042861428624286342864428654286642867428684286942870428714287242873428744287542876428774287842879428804288142882428834288442885428864288742888428894289042891428924289342894428954289642897428984289942900429014290242903429044290542906429074290842909429104291142912429134291442915429164291742918429194292042921429224292342924429254292642927429284292942930429314293242933429344293542936429374293842939429404294142942429434294442945429464294742948429494295042951429524295342954429554295642957429584295942960429614296242963429644296542966429674296842969429704297142972429734297442975429764297742978429794298042981429824298342984429854298642987429884298942990429914299242993429944299542996429974299842999430004300143002430034300443005430064300743008430094301043011430124301343014430154301643017430184301943020430214302243023430244302543026430274302843029430304303143032430334303443035430364303743038430394304043041430424304343044430454304643047430484304943050430514305243053430544305543056430574305843059430604306143062430634306443065430664306743068430694307043071430724307343074430754307643077430784307943080430814308243083430844308543086430874308843089430904309143092430934309443095430964309743098430994310043101431024310343104431054310643107431084310943110431114311243113431144311543116431174311843119431204312143122431234312443125431264312743128431294313043131431324313343134431354313643137431384313943140431414314243143431444314543146431474314843149431504315143152431534315443155431564315743158431594316043161431624316343164431654316643167431684316943170431714317243173431744317543176431774317843179431804318143182431834318443185431864318743188431894319043191431924319343194431954319643197431984319943200432014320243203432044320543206432074320843209432104321143212432134321443215432164321743218432194322043221432224322343224432254322643227432284322943230432314323243233432344323543236432374323843239432404324143242432434324443245432464324743248432494325043251432524325343254432554325643257432584325943260432614326243263432644326543266432674326843269432704327143272432734327443275432764327743278432794328043281432824328343284432854328643287432884328943290432914329243293432944329543296432974329843299433004330143302433034330443305433064330743308433094331043311433124331343314433154331643317433184331943320433214332243323433244332543326433274332843329433304333143332433334333443335433364333743338433394334043341433424334343344433454334643347433484334943350433514335243353433544335543356433574335843359433604336143362433634336443365433664336743368433694337043371433724337343374433754337643377433784337943380433814338243383433844338543386433874338843389433904339143392433934339443395433964339743398433994340043401434024340343404434054340643407434084340943410434114341243413434144341543416434174341843419434204342143422434234342443425434264342743428434294343043431434324343343434434354343643437434384343943440434414344243443434444344543446434474344843449434504345143452434534345443455434564345743458434594346043461434624346343464434654346643467434684346943470434714347243473434744347543476434774347843479434804348143482434834348443485434864348743488434894349043491434924349343494434954349643497434984349943500435014350243503435044350543506435074350843509435104351143512435134351443515435164351743518435194352043521435224352343524435254352643527435284352943530435314353243533435344353543536435374353843539435404354143542435434354443545435464354743548435494355043551435524355343554435554355643557435584355943560435614356243563435644356543566435674356843569435704357143572435734357443575435764357743578435794358043581435824358343584435854358643587435884358943590435914359243593435944359543596435974359843599436004360143602436034360443605436064360743608436094361043611436124361343614436154361643617436184361943620436214362243623436244362543626436274362843629436304363143632436334363443635436364363743638436394364043641436424364343644436454364643647436484364943650436514365243653436544365543656436574365843659436604366143662436634366443665436664366743668436694367043671436724367343674436754367643677436784367943680436814368243683436844368543686436874368843689436904369143692436934369443695436964369743698436994370043701437024370343704437054370643707437084370943710437114371243713437144371543716437174371843719437204372143722437234372443725437264372743728437294373043731437324373343734437354373643737437384373943740437414374243743437444374543746437474374843749437504375143752437534375443755437564375743758437594376043761437624376343764437654376643767437684376943770437714377243773437744377543776437774377843779437804378143782437834378443785437864378743788437894379043791437924379343794437954379643797437984379943800438014380243803438044380543806438074380843809438104381143812438134381443815438164381743818438194382043821438224382343824438254382643827438284382943830438314383243833438344383543836438374383843839438404384143842438434384443845438464384743848438494385043851438524385343854438554385643857438584385943860438614386243863438644386543866438674386843869438704387143872438734387443875438764387743878438794388043881438824388343884438854388643887438884388943890438914389243893438944389543896438974389843899439004390143902439034390443905439064390743908439094391043911439124391343914439154391643917439184391943920439214392243923439244392543926439274392843929439304393143932439334393443935439364393743938439394394043941439424394343944439454394643947439484394943950439514395243953439544395543956439574395843959439604396143962439634396443965439664396743968439694397043971439724397343974439754397643977439784397943980439814398243983439844398543986439874398843989439904399143992439934399443995439964399743998439994400044001440024400344004440054400644007440084400944010440114401244013440144401544016440174401844019440204402144022440234402444025440264402744028440294403044031440324403344034440354403644037440384403944040440414404244043440444404544046440474404844049440504405144052440534405444055440564405744058440594406044061440624406344064440654406644067440684406944070440714407244073440744407544076440774407844079440804408144082440834408444085440864408744088440894409044091440924409344094440954409644097440984409944100441014410244103441044410544106441074410844109441104411144112441134411444115441164411744118441194412044121441224412344124441254412644127441284412944130441314413244133441344413544136441374413844139441404414144142441434414444145441464414744148441494415044151441524415344154441554415644157441584415944160441614416244163441644416544166441674416844169441704417144172441734417444175441764417744178441794418044181441824418344184441854418644187441884418944190441914419244193441944419544196441974419844199442004420144202442034420444205442064420744208442094421044211442124421344214442154421644217442184421944220442214422244223442244422544226442274422844229442304423144232442334423444235442364423744238442394424044241442424424344244442454424644247442484424944250442514425244253442544425544256442574425844259442604426144262442634426444265442664426744268442694427044271442724427344274442754427644277442784427944280442814428244283442844428544286442874428844289442904429144292442934429444295442964429744298442994430044301443024430344304443054430644307443084430944310443114431244313443144431544316443174431844319443204432144322443234432444325443264432744328443294433044331443324433344334443354433644337443384433944340443414434244343443444434544346443474434844349443504435144352443534435444355443564435744358443594436044361443624436344364443654436644367443684436944370443714437244373443744437544376443774437844379443804438144382443834438444385443864438744388443894439044391443924439344394443954439644397443984439944400444014440244403444044440544406444074440844409444104441144412444134441444415444164441744418444194442044421444224442344424444254442644427444284442944430444314443244433444344443544436444374443844439444404444144442444434444444445444464444744448444494445044451444524445344454444554445644457444584445944460444614446244463444644446544466444674446844469444704447144472444734447444475444764447744478444794448044481444824448344484444854448644487444884448944490444914449244493444944449544496444974449844499445004450144502445034450444505445064450744508445094451044511445124451344514445154451644517445184451944520445214452244523445244452544526445274452844529445304453144532445334453444535445364453744538445394454044541445424454344544445454454644547445484454944550445514455244553445544455544556445574455844559445604456144562445634456444565445664456744568445694457044571445724457344574445754457644577445784457944580445814458244583445844458544586445874458844589445904459144592445934459444595445964459744598445994460044601446024460344604446054460644607446084460944610446114461244613446144461544616446174461844619446204462144622446234462444625446264462744628446294463044631446324463344634446354463644637446384463944640446414464244643446444464544646446474464844649446504465144652446534465444655446564465744658446594466044661446624466344664446654466644667446684466944670446714467244673446744467544676446774467844679446804468144682446834468444685446864468744688446894469044691446924469344694446954469644697446984469944700447014470244703447044470544706447074470844709447104471144712447134471444715447164471744718447194472044721447224472344724447254472644727447284472944730447314473244733447344473544736447374473844739447404474144742447434474444745447464474744748447494475044751447524475344754447554475644757447584475944760447614476244763447644476544766447674476844769447704477144772447734477444775447764477744778447794478044781447824478344784447854478644787447884478944790447914479244793447944479544796447974479844799448004480144802448034480444805448064480744808448094481044811448124481344814448154481644817448184481944820448214482244823448244482544826448274482844829448304483144832448334483444835448364483744838448394484044841448424484344844448454484644847448484484944850448514485244853448544485544856448574485844859448604486144862448634486444865448664486744868448694487044871448724487344874448754487644877448784487944880448814488244883448844488544886448874488844889448904489144892448934489444895448964489744898448994490044901449024490344904449054490644907449084490944910449114491244913449144491544916449174491844919449204492144922449234492444925449264492744928449294493044931449324493344934449354493644937449384493944940449414494244943449444494544946449474494844949449504495144952449534495444955449564495744958449594496044961449624496344964449654496644967449684496944970449714497244973449744497544976449774497844979449804498144982449834498444985449864498744988449894499044991449924499344994449954499644997449984499945000450014500245003450044500545006450074500845009450104501145012450134501445015450164501745018450194502045021450224502345024450254502645027450284502945030450314503245033450344503545036450374503845039450404504145042450434504445045450464504745048450494505045051450524505345054450554505645057450584505945060450614506245063450644506545066450674506845069450704507145072450734507445075450764507745078450794508045081450824508345084450854508645087450884508945090450914509245093450944509545096450974509845099451004510145102451034510445105451064510745108451094511045111451124511345114451154511645117451184511945120451214512245123451244512545126451274512845129451304513145132451334513445135451364513745138451394514045141451424514345144451454514645147451484514945150451514515245153451544515545156451574515845159451604516145162451634516445165451664516745168451694517045171451724517345174451754517645177451784517945180451814518245183451844518545186451874518845189451904519145192451934519445195451964519745198451994520045201452024520345204452054520645207452084520945210452114521245213452144521545216452174521845219452204522145222452234522445225452264522745228452294523045231452324523345234452354523645237452384523945240452414524245243452444524545246452474524845249452504525145252452534525445255452564525745258452594526045261452624526345264452654526645267452684526945270452714527245273452744527545276452774527845279452804528145282452834528445285452864528745288452894529045291452924529345294452954529645297452984529945300453014530245303453044530545306453074530845309453104531145312453134531445315453164531745318453194532045321453224532345324453254532645327453284532945330453314533245333453344533545336453374533845339453404534145342453434534445345453464534745348453494535045351453524535345354453554535645357453584535945360453614536245363453644536545366453674536845369453704537145372453734537445375453764537745378453794538045381453824538345384453854538645387453884538945390453914539245393453944539545396453974539845399454004540145402454034540445405454064540745408454094541045411454124541345414454154541645417454184541945420454214542245423454244542545426454274542845429454304543145432454334543445435454364543745438454394544045441454424544345444454454544645447454484544945450454514545245453454544545545456454574545845459454604546145462454634546445465454664546745468454694547045471454724547345474454754547645477454784547945480454814548245483454844548545486454874548845489454904549145492454934549445495454964549745498454994550045501455024550345504455054550645507455084550945510455114551245513455144551545516455174551845519455204552145522455234552445525455264552745528455294553045531455324553345534455354553645537455384553945540455414554245543455444554545546455474554845549455504555145552455534555445555455564555745558455594556045561455624556345564455654556645567455684556945570455714557245573455744557545576455774557845579455804558145582455834558445585455864558745588455894559045591455924559345594455954559645597455984559945600456014560245603456044560545606456074560845609456104561145612456134561445615456164561745618456194562045621456224562345624456254562645627456284562945630456314563245633456344563545636456374563845639456404564145642456434564445645456464564745648456494565045651456524565345654456554565645657456584565945660456614566245663456644566545666456674566845669456704567145672456734567445675456764567745678456794568045681456824568345684456854568645687456884568945690456914569245693456944569545696456974569845699457004570145702457034570445705457064570745708457094571045711457124571345714457154571645717457184571945720457214572245723457244572545726457274572845729457304573145732457334573445735457364573745738457394574045741457424574345744457454574645747457484574945750457514575245753457544575545756457574575845759457604576145762457634576445765457664576745768457694577045771457724577345774457754577645777457784577945780457814578245783457844578545786457874578845789457904579145792457934579445795457964579745798457994580045801458024580345804458054580645807458084580945810458114581245813458144581545816458174581845819458204582145822458234582445825458264582745828458294583045831458324583345834458354583645837458384583945840458414584245843458444584545846458474584845849458504585145852458534585445855458564585745858458594586045861458624586345864458654586645867458684586945870458714587245873458744587545876458774587845879458804588145882458834588445885458864588745888458894589045891458924589345894458954589645897458984589945900459014590245903459044590545906459074590845909459104591145912459134591445915459164591745918459194592045921459224592345924459254592645927459284592945930459314593245933459344593545936459374593845939459404594145942459434594445945459464594745948459494595045951459524595345954459554595645957459584595945960459614596245963459644596545966459674596845969459704597145972459734597445975459764597745978459794598045981459824598345984459854598645987459884598945990459914599245993459944599545996459974599845999460004600146002460034600446005460064600746008460094601046011460124601346014460154601646017460184601946020460214602246023460244602546026460274602846029460304603146032460334603446035460364603746038460394604046041460424604346044460454604646047460484604946050460514605246053460544605546056460574605846059460604606146062460634606446065460664606746068460694607046071460724607346074460754607646077460784607946080460814608246083460844608546086460874608846089460904609146092460934609446095460964609746098460994610046101461024610346104461054610646107461084610946110461114611246113461144611546116461174611846119461204612146122461234612446125461264612746128461294613046131461324613346134461354613646137461384613946140461414614246143461444614546146461474614846149461504615146152461534615446155461564615746158461594616046161461624616346164461654616646167461684616946170461714617246173461744617546176461774617846179461804618146182461834618446185461864618746188461894619046191461924619346194461954619646197461984619946200462014620246203462044620546206462074620846209462104621146212462134621446215462164621746218462194622046221462224622346224462254622646227462284622946230462314623246233462344623546236462374623846239462404624146242462434624446245462464624746248462494625046251462524625346254462554625646257462584625946260462614626246263462644626546266462674626846269462704627146272462734627446275462764627746278462794628046281462824628346284462854628646287462884628946290462914629246293462944629546296462974629846299463004630146302463034630446305463064630746308463094631046311463124631346314463154631646317463184631946320463214632246323463244632546326463274632846329463304633146332463334633446335463364633746338463394634046341463424634346344463454634646347463484634946350463514635246353463544635546356463574635846359463604636146362463634636446365463664636746368463694637046371463724637346374463754637646377463784637946380463814638246383463844638546386463874638846389463904639146392463934639446395463964639746398463994640046401464024640346404464054640646407464084640946410464114641246413464144641546416464174641846419464204642146422464234642446425464264642746428464294643046431464324643346434464354643646437464384643946440464414644246443464444644546446464474644846449464504645146452464534645446455464564645746458464594646046461464624646346464464654646646467464684646946470464714647246473464744647546476464774647846479464804648146482464834648446485464864648746488464894649046491464924649346494464954649646497464984649946500465014650246503465044650546506465074650846509465104651146512465134651446515465164651746518465194652046521465224652346524465254652646527465284652946530465314653246533465344653546536465374653846539465404654146542465434654446545465464654746548465494655046551465524655346554465554655646557465584655946560465614656246563465644656546566465674656846569465704657146572465734657446575465764657746578465794658046581465824658346584465854658646587465884658946590465914659246593465944659546596465974659846599466004660146602466034660446605466064660746608466094661046611466124661346614466154661646617466184661946620466214662246623466244662546626466274662846629466304663146632466334663446635466364663746638466394664046641466424664346644466454664646647466484664946650466514665246653466544665546656466574665846659466604666146662466634666446665466664666746668466694667046671466724667346674466754667646677466784667946680466814668246683466844668546686466874668846689466904669146692466934669446695466964669746698466994670046701467024670346704467054670646707467084670946710467114671246713467144671546716467174671846719467204672146722467234672446725467264672746728467294673046731467324673346734467354673646737467384673946740467414674246743467444674546746467474674846749467504675146752467534675446755467564675746758467594676046761467624676346764467654676646767467684676946770467714677246773467744677546776467774677846779467804678146782467834678446785467864678746788467894679046791467924679346794467954679646797467984679946800468014680246803468044680546806468074680846809468104681146812468134681446815468164681746818468194682046821468224682346824468254682646827468284682946830468314683246833468344683546836468374683846839468404684146842468434684446845468464684746848468494685046851468524685346854468554685646857468584685946860468614686246863468644686546866468674686846869468704687146872468734687446875468764687746878468794688046881468824688346884468854688646887468884688946890468914689246893468944689546896468974689846899469004690146902469034690446905469064690746908469094691046911469124691346914469154691646917469184691946920469214692246923469244692546926469274692846929469304693146932469334693446935469364693746938469394694046941469424694346944469454694646947469484694946950469514695246953469544695546956469574695846959469604696146962469634696446965469664696746968469694697046971469724697346974469754697646977469784697946980469814698246983469844698546986469874698846989469904699146992469934699446995469964699746998469994700047001470024700347004470054700647007470084700947010470114701247013470144701547016470174701847019470204702147022470234702447025470264702747028470294703047031470324703347034470354703647037470384703947040470414704247043470444704547046470474704847049470504705147052470534705447055470564705747058470594706047061470624706347064470654706647067470684706947070470714707247073470744707547076470774707847079470804708147082470834708447085470864708747088470894709047091470924709347094470954709647097470984709947100471014710247103471044710547106471074710847109471104711147112471134711447115471164711747118471194712047121471224712347124471254712647127471284712947130471314713247133471344713547136471374713847139471404714147142471434714447145471464714747148471494715047151471524715347154471554715647157471584715947160471614716247163471644716547166471674716847169471704717147172471734717447175471764717747178471794718047181471824718347184471854718647187471884718947190471914719247193471944719547196471974719847199472004720147202472034720447205472064720747208472094721047211472124721347214472154721647217472184721947220472214722247223472244722547226472274722847229472304723147232472334723447235472364723747238472394724047241472424724347244472454724647247472484724947250472514725247253472544725547256472574725847259472604726147262472634726447265472664726747268472694727047271472724727347274472754727647277472784727947280472814728247283472844728547286472874728847289472904729147292472934729447295472964729747298472994730047301473024730347304473054730647307473084730947310473114731247313473144731547316473174731847319473204732147322473234732447325473264732747328473294733047331473324733347334473354733647337473384733947340473414734247343473444734547346473474734847349473504735147352473534735447355473564735747358473594736047361473624736347364473654736647367473684736947370473714737247373473744737547376473774737847379473804738147382473834738447385473864738747388473894739047391473924739347394473954739647397473984739947400474014740247403474044740547406474074740847409474104741147412474134741447415474164741747418474194742047421474224742347424474254742647427474284742947430474314743247433474344743547436474374743847439474404744147442474434744447445474464744747448474494745047451474524745347454474554745647457474584745947460474614746247463474644746547466474674746847469474704747147472474734747447475474764747747478474794748047481474824748347484474854748647487474884748947490474914749247493474944749547496474974749847499475004750147502475034750447505475064750747508475094751047511475124751347514475154751647517475184751947520475214752247523475244752547526475274752847529475304753147532475334753447535475364753747538475394754047541475424754347544475454754647547475484754947550475514755247553475544755547556475574755847559475604756147562475634756447565475664756747568475694757047571475724757347574475754757647577475784757947580475814758247583475844758547586475874758847589475904759147592475934759447595475964759747598475994760047601476024760347604476054760647607476084760947610476114761247613476144761547616476174761847619476204762147622476234762447625476264762747628476294763047631476324763347634476354763647637476384763947640476414764247643476444764547646476474764847649476504765147652476534765447655476564765747658476594766047661476624766347664476654766647667476684766947670476714767247673476744767547676476774767847679476804768147682476834768447685476864768747688476894769047691476924769347694476954769647697476984769947700477014770247703477044770547706477074770847709477104771147712477134771447715477164771747718477194772047721477224772347724477254772647727477284772947730477314773247733477344773547736477374773847739477404774147742477434774447745477464774747748477494775047751477524775347754477554775647757477584775947760477614776247763477644776547766477674776847769477704777147772477734777447775477764777747778477794778047781477824778347784477854778647787477884778947790477914779247793477944779547796477974779847799478004780147802478034780447805478064780747808478094781047811478124781347814478154781647817478184781947820478214782247823478244782547826478274782847829478304783147832478334783447835478364783747838478394784047841478424784347844478454784647847478484784947850478514785247853478544785547856478574785847859478604786147862478634786447865478664786747868478694787047871478724787347874478754787647877478784787947880478814788247883478844788547886478874788847889478904789147892478934789447895478964789747898478994790047901479024790347904479054790647907479084790947910479114791247913479144791547916479174791847919479204792147922479234792447925479264792747928479294793047931479324793347934479354793647937479384793947940479414794247943479444794547946479474794847949479504795147952479534795447955479564795747958479594796047961479624796347964479654796647967479684796947970479714797247973479744797547976479774797847979479804798147982479834798447985479864798747988479894799047991479924799347994479954799647997479984799948000480014800248003480044800548006480074800848009480104801148012480134801448015480164801748018480194802048021480224802348024480254802648027480284802948030480314803248033480344803548036480374803848039480404804148042480434804448045480464804748048480494805048051480524805348054480554805648057480584805948060480614806248063480644806548066480674806848069480704807148072480734807448075480764807748078480794808048081480824808348084480854808648087480884808948090480914809248093480944809548096480974809848099481004810148102481034810448105481064810748108481094811048111481124811348114481154811648117481184811948120481214812248123481244812548126481274812848129481304813148132481334813448135481364813748138481394814048141481424814348144481454814648147481484814948150481514815248153481544815548156481574815848159481604816148162481634816448165481664816748168481694817048171481724817348174481754817648177481784817948180481814818248183481844818548186481874818848189481904819148192481934819448195481964819748198481994820048201482024820348204482054820648207482084820948210482114821248213482144821548216482174821848219482204822148222482234822448225482264822748228482294823048231482324823348234482354823648237482384823948240482414824248243482444824548246482474824848249482504825148252482534825448255482564825748258482594826048261482624826348264482654826648267482684826948270482714827248273482744827548276482774827848279482804828148282482834828448285482864828748288482894829048291482924829348294482954829648297482984829948300483014830248303483044830548306483074830848309483104831148312483134831448315483164831748318483194832048321483224832348324483254832648327483284832948330483314833248333483344833548336483374833848339483404834148342483434834448345483464834748348483494835048351483524835348354483554835648357483584835948360483614836248363483644836548366483674836848369483704837148372483734837448375483764837748378483794838048381483824838348384483854838648387483884838948390483914839248393483944839548396483974839848399484004840148402484034840448405484064840748408484094841048411484124841348414484154841648417484184841948420484214842248423484244842548426484274842848429484304843148432484334843448435484364843748438484394844048441484424844348444484454844648447484484844948450484514845248453484544845548456484574845848459484604846148462484634846448465484664846748468484694847048471484724847348474484754847648477484784847948480484814848248483484844848548486484874848848489484904849148492484934849448495484964849748498484994850048501485024850348504485054850648507485084850948510485114851248513485144851548516485174851848519485204852148522485234852448525485264852748528485294853048531485324853348534485354853648537485384853948540485414854248543485444854548546485474854848549485504855148552485534855448555485564855748558485594856048561485624856348564485654856648567485684856948570485714857248573485744857548576485774857848579485804858148582485834858448585485864858748588485894859048591485924859348594485954859648597485984859948600486014860248603486044860548606486074860848609486104861148612486134861448615486164861748618486194862048621486224862348624486254862648627486284862948630486314863248633486344863548636486374863848639486404864148642486434864448645486464864748648486494865048651486524865348654486554865648657486584865948660486614866248663486644866548666486674866848669486704867148672486734867448675486764867748678486794868048681486824868348684486854868648687486884868948690486914869248693486944869548696486974869848699487004870148702487034870448705487064870748708487094871048711487124871348714487154871648717487184871948720487214872248723487244872548726487274872848729487304873148732487334873448735487364873748738487394874048741487424874348744487454874648747487484874948750487514875248753487544875548756487574875848759487604876148762487634876448765487664876748768487694877048771487724877348774487754877648777487784877948780487814878248783487844878548786487874878848789487904879148792487934879448795487964879748798487994880048801488024880348804488054880648807488084880948810488114881248813488144881548816488174881848819488204882148822488234882448825488264882748828488294883048831488324883348834488354883648837488384883948840488414884248843488444884548846488474884848849488504885148852488534885448855488564885748858488594886048861488624886348864488654886648867488684886948870488714887248873488744887548876488774887848879488804888148882488834888448885488864888748888488894889048891488924889348894488954889648897488984889948900489014890248903489044890548906489074890848909489104891148912489134891448915489164891748918489194892048921489224892348924489254892648927489284892948930489314893248933489344893548936489374893848939489404894148942489434894448945489464894748948489494895048951489524895348954489554895648957489584895948960489614896248963489644896548966489674896848969489704897148972489734897448975489764897748978489794898048981489824898348984489854898648987489884898948990489914899248993489944899548996489974899848999490004900149002490034900449005490064900749008490094901049011490124901349014490154901649017490184901949020490214902249023490244902549026490274902849029490304903149032490334903449035490364903749038490394904049041490424904349044490454904649047490484904949050490514905249053490544905549056490574905849059490604906149062490634906449065490664906749068490694907049071490724907349074490754907649077490784907949080490814908249083490844908549086490874908849089490904909149092490934909449095490964909749098490994910049101491024910349104491054910649107491084910949110491114911249113491144911549116491174911849119491204912149122491234912449125491264912749128491294913049131491324913349134491354913649137491384913949140491414914249143491444914549146491474914849149491504915149152491534915449155491564915749158491594916049161491624916349164491654916649167491684916949170491714917249173491744917549176491774917849179491804918149182491834918449185491864918749188491894919049191491924919349194491954919649197491984919949200492014920249203492044920549206492074920849209492104921149212492134921449215492164921749218492194922049221492224922349224492254922649227492284922949230492314923249233492344923549236492374923849239492404924149242492434924449245492464924749248492494925049251492524925349254492554925649257492584925949260492614926249263492644926549266492674926849269492704927149272492734927449275492764927749278492794928049281492824928349284492854928649287492884928949290492914929249293492944929549296492974929849299493004930149302493034930449305493064930749308493094931049311493124931349314493154931649317493184931949320493214932249323493244932549326493274932849329493304933149332493334933449335493364933749338493394934049341493424934349344493454934649347493484934949350493514935249353493544935549356493574935849359493604936149362493634936449365493664936749368493694937049371493724937349374493754937649377493784937949380493814938249383493844938549386493874938849389493904939149392493934939449395493964939749398493994940049401494024940349404494054940649407494084940949410494114941249413494144941549416494174941849419494204942149422494234942449425494264942749428494294943049431494324943349434494354943649437494384943949440494414944249443494444944549446494474944849449494504945149452494534945449455494564945749458494594946049461494624946349464494654946649467494684946949470494714947249473494744947549476494774947849479494804948149482494834948449485494864948749488494894949049491494924949349494494954949649497494984949949500495014950249503495044950549506495074950849509495104951149512495134951449515495164951749518495194952049521495224952349524495254952649527495284952949530495314953249533495344953549536495374953849539495404954149542495434954449545495464954749548495494955049551495524955349554495554955649557495584955949560495614956249563495644956549566495674956849569495704957149572495734957449575495764957749578495794958049581495824958349584495854958649587495884958949590495914959249593495944959549596495974959849599496004960149602496034960449605496064960749608496094961049611496124961349614496154961649617496184961949620496214962249623496244962549626496274962849629496304963149632496334963449635496364963749638496394964049641496424964349644496454964649647496484964949650496514965249653496544965549656496574965849659496604966149662496634966449665496664966749668496694967049671496724967349674496754967649677496784967949680496814968249683496844968549686496874968849689496904969149692496934969449695496964969749698496994970049701497024970349704497054970649707497084970949710497114971249713497144971549716497174971849719497204972149722497234972449725497264972749728497294973049731497324973349734497354973649737497384973949740497414974249743497444974549746497474974849749497504975149752497534975449755497564975749758497594976049761497624976349764497654976649767497684976949770497714977249773497744977549776497774977849779497804978149782497834978449785497864978749788497894979049791497924979349794497954979649797497984979949800498014980249803498044980549806498074980849809498104981149812498134981449815498164981749818498194982049821498224982349824498254982649827498284982949830498314983249833498344983549836498374983849839498404984149842498434984449845498464984749848498494985049851498524985349854498554985649857498584985949860498614986249863498644986549866498674986849869498704987149872498734987449875498764987749878498794988049881498824988349884498854988649887498884988949890498914989249893498944989549896498974989849899499004990149902499034990449905499064990749908499094991049911499124991349914499154991649917499184991949920499214992249923499244992549926499274992849929499304993149932499334993449935499364993749938499394994049941499424994349944499454994649947499484994949950499514995249953499544995549956499574995849959499604996149962499634996449965499664996749968499694997049971499724997349974499754997649977499784997949980499814998249983499844998549986499874998849989499904999149992499934999449995499964999749998499995000050001500025000350004500055000650007500085000950010500115001250013500145001550016500175001850019500205002150022500235002450025500265002750028500295003050031500325003350034500355003650037500385003950040500415004250043500445004550046500475004850049500505005150052500535005450055500565005750058500595006050061500625006350064500655006650067500685006950070500715007250073500745007550076500775007850079500805008150082500835008450085500865008750088500895009050091500925009350094500955009650097500985009950100501015010250103501045010550106501075010850109501105011150112501135011450115501165011750118501195012050121501225012350124501255012650127501285012950130501315013250133501345013550136501375013850139501405014150142501435014450145501465014750148501495015050151501525015350154501555015650157501585015950160501615016250163501645016550166501675016850169501705017150172501735017450175501765017750178501795018050181501825018350184501855018650187501885018950190501915019250193501945019550196501975019850199502005020150202502035020450205502065020750208502095021050211502125021350214502155021650217502185021950220502215022250223502245022550226502275022850229502305023150232502335023450235502365023750238502395024050241502425024350244502455024650247502485024950250502515025250253502545025550256502575025850259502605026150262502635026450265502665026750268502695027050271502725027350274502755027650277502785027950280502815028250283502845028550286502875028850289502905029150292502935029450295502965029750298502995030050301503025030350304503055030650307503085030950310503115031250313503145031550316503175031850319503205032150322503235032450325503265032750328503295033050331503325033350334503355033650337503385033950340503415034250343503445034550346503475034850349503505035150352503535035450355503565035750358503595036050361503625036350364503655036650367503685036950370503715037250373503745037550376503775037850379503805038150382503835038450385503865038750388503895039050391503925039350394503955039650397503985039950400504015040250403504045040550406504075040850409504105041150412504135041450415504165041750418504195042050421504225042350424504255042650427504285042950430504315043250433504345043550436504375043850439504405044150442504435044450445504465044750448504495045050451504525045350454504555045650457504585045950460504615046250463504645046550466504675046850469504705047150472504735047450475504765047750478504795048050481504825048350484504855048650487504885048950490504915049250493504945049550496504975049850499505005050150502505035050450505505065050750508505095051050511505125051350514505155051650517505185051950520505215052250523505245052550526505275052850529505305053150532505335053450535505365053750538505395054050541505425054350544505455054650547505485054950550505515055250553505545055550556505575055850559505605056150562505635056450565505665056750568505695057050571505725057350574505755057650577505785057950580505815058250583505845058550586505875058850589505905059150592505935059450595505965059750598505995060050601506025060350604506055060650607506085060950610506115061250613506145061550616506175061850619506205062150622506235062450625506265062750628506295063050631506325063350634506355063650637506385063950640506415064250643506445064550646506475064850649506505065150652506535065450655506565065750658506595066050661506625066350664506655066650667506685066950670506715067250673506745067550676506775067850679506805068150682506835068450685506865068750688506895069050691506925069350694506955069650697506985069950700507015070250703507045070550706507075070850709507105071150712507135071450715507165071750718507195072050721507225072350724507255072650727507285072950730507315073250733507345073550736507375073850739507405074150742507435074450745507465074750748507495075050751507525075350754507555075650757507585075950760507615076250763507645076550766507675076850769507705077150772507735077450775507765077750778507795078050781507825078350784507855078650787507885078950790507915079250793507945079550796507975079850799508005080150802508035080450805508065080750808508095081050811508125081350814508155081650817508185081950820508215082250823508245082550826508275082850829508305083150832508335083450835508365083750838508395084050841508425084350844508455084650847508485084950850508515085250853508545085550856508575085850859508605086150862508635086450865508665086750868508695087050871508725087350874508755087650877508785087950880508815088250883508845088550886508875088850889508905089150892508935089450895508965089750898508995090050901509025090350904509055090650907509085090950910509115091250913509145091550916509175091850919509205092150922509235092450925509265092750928509295093050931509325093350934509355093650937509385093950940509415094250943509445094550946509475094850949509505095150952509535095450955509565095750958509595096050961509625096350964509655096650967509685096950970509715097250973509745097550976509775097850979509805098150982509835098450985509865098750988509895099050991509925099350994509955099650997509985099951000510015100251003510045100551006510075100851009510105101151012510135101451015510165101751018510195102051021510225102351024510255102651027510285102951030510315103251033510345103551036510375103851039510405104151042510435104451045510465104751048510495105051051510525105351054510555105651057510585105951060510615106251063510645106551066510675106851069510705107151072510735107451075510765107751078510795108051081510825108351084510855108651087510885108951090510915109251093510945109551096510975109851099511005110151102511035110451105511065110751108511095111051111511125111351114511155111651117511185111951120511215112251123511245112551126511275112851129511305113151132511335113451135511365113751138511395114051141511425114351144511455114651147511485114951150511515115251153511545115551156511575115851159511605116151162511635116451165511665116751168511695117051171511725117351174511755117651177511785117951180511815118251183511845118551186511875118851189511905119151192511935119451195511965119751198511995120051201512025120351204512055120651207512085120951210512115121251213512145121551216512175121851219512205122151222512235122451225512265122751228512295123051231512325123351234512355123651237512385123951240512415124251243512445124551246512475124851249512505125151252512535125451255512565125751258512595126051261512625126351264512655126651267512685126951270512715127251273512745127551276512775127851279512805128151282512835128451285512865128751288512895129051291512925129351294512955129651297512985129951300513015130251303513045130551306513075130851309513105131151312513135131451315513165131751318513195132051321513225132351324513255132651327513285132951330513315133251333513345133551336513375133851339513405134151342513435134451345513465134751348513495135051351513525135351354513555135651357513585135951360513615136251363513645136551366513675136851369513705137151372513735137451375513765137751378513795138051381513825138351384513855138651387513885138951390513915139251393513945139551396513975139851399514005140151402514035140451405514065140751408514095141051411514125141351414514155141651417514185141951420514215142251423514245142551426514275142851429514305143151432514335143451435514365143751438514395144051441514425144351444514455144651447514485144951450514515145251453514545145551456514575145851459514605146151462514635146451465514665146751468514695147051471514725147351474514755147651477514785147951480514815148251483514845148551486514875148851489514905149151492514935149451495514965149751498514995150051501515025150351504515055150651507515085150951510515115151251513515145151551516515175151851519515205152151522515235152451525515265152751528515295153051531515325153351534515355153651537515385153951540515415154251543515445154551546515475154851549515505155151552515535155451555515565155751558515595156051561515625156351564515655156651567515685156951570515715157251573515745157551576515775157851579515805158151582515835158451585515865158751588515895159051591515925159351594515955159651597515985159951600516015160251603516045160551606516075160851609516105161151612516135161451615516165161751618516195162051621516225162351624516255162651627516285162951630516315163251633516345163551636516375163851639516405164151642516435164451645516465164751648516495165051651516525165351654516555165651657516585165951660516615166251663516645166551666516675166851669516705167151672516735167451675516765167751678516795168051681516825168351684516855168651687516885168951690516915169251693516945169551696516975169851699517005170151702517035170451705517065170751708517095171051711517125171351714517155171651717517185171951720517215172251723517245172551726517275172851729517305173151732517335173451735517365173751738517395174051741517425174351744517455174651747517485174951750517515175251753517545175551756517575175851759517605176151762517635176451765517665176751768517695177051771517725177351774517755177651777517785177951780517815178251783517845178551786517875178851789517905179151792517935179451795517965179751798517995180051801518025180351804518055180651807518085180951810518115181251813518145181551816518175181851819518205182151822518235182451825518265182751828518295183051831518325183351834518355183651837518385183951840518415184251843518445184551846518475184851849518505185151852518535185451855518565185751858518595186051861518625186351864518655186651867518685186951870518715187251873518745187551876518775187851879518805188151882518835188451885518865188751888518895189051891518925189351894518955189651897518985189951900519015190251903519045190551906519075190851909519105191151912519135191451915519165191751918519195192051921519225192351924519255192651927519285192951930519315193251933519345193551936519375193851939519405194151942519435194451945519465194751948519495195051951519525195351954519555195651957519585195951960519615196251963519645196551966519675196851969519705197151972519735197451975519765197751978519795198051981519825198351984519855198651987519885198951990519915199251993519945199551996519975199851999520005200152002520035200452005520065200752008520095201052011520125201352014520155201652017520185201952020520215202252023520245202552026520275202852029520305203152032520335203452035520365203752038520395204052041520425204352044520455204652047520485204952050520515205252053520545205552056520575205852059520605206152062520635206452065520665206752068520695207052071520725207352074520755207652077520785207952080520815208252083520845208552086520875208852089520905209152092520935209452095520965209752098520995210052101521025210352104521055210652107521085210952110521115211252113521145211552116521175211852119521205212152122521235212452125521265212752128521295213052131521325213352134521355213652137521385213952140521415214252143521445214552146521475214852149521505215152152521535215452155521565215752158521595216052161521625216352164521655216652167521685216952170521715217252173521745217552176521775217852179521805218152182521835218452185521865218752188521895219052191521925219352194521955219652197521985219952200522015220252203522045220552206522075220852209522105221152212522135221452215522165221752218522195222052221522225222352224522255222652227522285222952230522315223252233522345223552236522375223852239522405224152242522435224452245522465224752248522495225052251522525225352254522555225652257522585225952260522615226252263522645226552266522675226852269522705227152272522735227452275522765227752278522795228052281522825228352284522855228652287522885228952290522915229252293522945229552296522975229852299523005230152302523035230452305523065230752308523095231052311523125231352314523155231652317523185231952320523215232252323523245232552326523275232852329523305233152332523335233452335523365233752338523395234052341523425234352344523455234652347523485234952350523515235252353523545235552356523575235852359523605236152362523635236452365523665236752368523695237052371523725237352374523755237652377523785237952380523815238252383523845238552386523875238852389523905239152392523935239452395523965239752398523995240052401524025240352404524055240652407524085240952410524115241252413524145241552416524175241852419524205242152422524235242452425524265242752428524295243052431524325243352434524355243652437524385243952440524415244252443524445244552446524475244852449524505245152452524535245452455524565245752458524595246052461524625246352464524655246652467524685246952470524715247252473524745247552476524775247852479524805248152482524835248452485524865248752488524895249052491524925249352494524955249652497524985249952500525015250252503525045250552506525075250852509525105251152512525135251452515525165251752518525195252052521525225252352524525255252652527525285252952530525315253252533525345253552536525375253852539525405254152542525435254452545525465254752548525495255052551525525255352554525555255652557525585255952560525615256252563525645256552566525675256852569525705257152572525735257452575525765257752578525795258052581525825258352584525855258652587525885258952590525915259252593525945259552596525975259852599526005260152602526035260452605526065260752608526095261052611526125261352614526155261652617526185261952620526215262252623526245262552626526275262852629526305263152632526335263452635526365263752638526395264052641526425264352644526455264652647526485264952650526515265252653526545265552656526575265852659526605266152662526635266452665526665266752668526695267052671526725267352674526755267652677526785267952680526815268252683526845268552686526875268852689526905269152692526935269452695526965269752698526995270052701527025270352704527055270652707527085270952710527115271252713527145271552716527175271852719527205272152722527235272452725527265272752728527295273052731527325273352734527355273652737527385273952740527415274252743527445274552746527475274852749527505275152752527535275452755527565275752758527595276052761527625276352764527655276652767527685276952770527715277252773527745277552776527775277852779527805278152782527835278452785527865278752788527895279052791527925279352794527955279652797527985279952800528015280252803528045280552806528075280852809528105281152812528135281452815528165281752818528195282052821528225282352824528255282652827528285282952830528315283252833528345283552836528375283852839528405284152842528435284452845528465284752848528495285052851528525285352854528555285652857528585285952860528615286252863528645286552866528675286852869528705287152872528735287452875528765287752878528795288052881528825288352884528855288652887528885288952890528915289252893528945289552896528975289852899529005290152902529035290452905529065290752908529095291052911529125291352914529155291652917529185291952920529215292252923529245292552926529275292852929529305293152932529335293452935529365293752938529395294052941529425294352944529455294652947529485294952950529515295252953529545295552956529575295852959529605296152962529635296452965529665296752968529695297052971529725297352974529755297652977529785297952980529815298252983529845298552986529875298852989529905299152992529935299452995529965299752998529995300053001530025300353004530055300653007530085300953010530115301253013530145301553016530175301853019530205302153022530235302453025530265302753028530295303053031530325303353034530355303653037530385303953040530415304253043530445304553046530475304853049530505305153052530535305453055530565305753058530595306053061530625306353064530655306653067530685306953070530715307253073530745307553076530775307853079530805308153082530835308453085530865308753088530895309053091530925309353094530955309653097530985309953100531015310253103531045310553106531075310853109531105311153112531135311453115531165311753118531195312053121531225312353124531255312653127531285312953130531315313253133531345313553136531375313853139531405314153142531435314453145531465314753148531495315053151531525315353154531555315653157531585315953160531615316253163531645316553166531675316853169531705317153172531735317453175531765317753178531795318053181531825318353184531855318653187531885318953190531915319253193531945319553196531975319853199532005320153202532035320453205532065320753208532095321053211532125321353214532155321653217532185321953220532215322253223532245322553226532275322853229532305323153232532335323453235532365323753238532395324053241532425324353244532455324653247532485324953250532515325253253532545325553256532575325853259532605326153262532635326453265532665326753268532695327053271532725327353274532755327653277532785327953280532815328253283532845328553286532875328853289532905329153292532935329453295532965329753298532995330053301533025330353304533055330653307533085330953310533115331253313533145331553316533175331853319533205332153322533235332453325533265332753328533295333053331533325333353334533355333653337533385333953340533415334253343533445334553346533475334853349533505335153352533535335453355533565335753358533595336053361533625336353364533655336653367533685336953370533715337253373533745337553376533775337853379533805338153382533835338453385533865338753388533895339053391533925339353394533955339653397533985339953400534015340253403534045340553406534075340853409534105341153412534135341453415534165341753418534195342053421534225342353424534255342653427534285342953430534315343253433534345343553436534375343853439534405344153442534435344453445534465344753448534495345053451534525345353454534555345653457534585345953460534615346253463534645346553466534675346853469534705347153472534735347453475534765347753478534795348053481534825348353484534855348653487534885348953490534915349253493534945349553496534975349853499535005350153502535035350453505535065350753508535095351053511535125351353514535155351653517535185351953520535215352253523535245352553526535275352853529535305353153532535335353453535535365353753538535395354053541535425354353544535455354653547535485354953550535515355253553535545355553556535575355853559535605356153562535635356453565535665356753568535695357053571535725357353574535755357653577535785357953580535815358253583535845358553586535875358853589535905359153592535935359453595535965359753598535995360053601536025360353604536055360653607536085360953610536115361253613536145361553616536175361853619536205362153622536235362453625536265362753628536295363053631536325363353634536355363653637536385363953640536415364253643536445364553646536475364853649536505365153652536535365453655536565365753658536595366053661536625366353664536655366653667536685366953670536715367253673536745367553676536775367853679536805368153682536835368453685536865368753688536895369053691536925369353694536955369653697536985369953700537015370253703537045370553706537075370853709537105371153712537135371453715537165371753718537195372053721537225372353724537255372653727537285372953730537315373253733537345373553736537375373853739537405374153742537435374453745537465374753748537495375053751537525375353754537555375653757537585375953760537615376253763537645376553766537675376853769537705377153772537735377453775537765377753778537795378053781537825378353784537855378653787537885378953790537915379253793537945379553796537975379853799538005380153802538035380453805538065380753808538095381053811538125381353814538155381653817538185381953820538215382253823538245382553826538275382853829538305383153832538335383453835538365383753838538395384053841538425384353844538455384653847538485384953850538515385253853538545385553856538575385853859538605386153862538635386453865538665386753868538695387053871538725387353874538755387653877538785387953880538815388253883538845388553886538875388853889538905389153892538935389453895538965389753898538995390053901539025390353904539055390653907539085390953910539115391253913539145391553916539175391853919539205392153922539235392453925539265392753928539295393053931539325393353934539355393653937539385393953940539415394253943539445394553946539475394853949539505395153952539535395453955539565395753958539595396053961539625396353964539655396653967539685396953970539715397253973539745397553976539775397853979539805398153982539835398453985539865398753988539895399053991539925399353994539955399653997539985399954000540015400254003540045400554006540075400854009540105401154012540135401454015540165401754018540195402054021540225402354024540255402654027540285402954030540315403254033540345403554036540375403854039540405404154042540435404454045540465404754048540495405054051540525405354054540555405654057540585405954060540615406254063540645406554066540675406854069540705407154072540735407454075540765407754078540795408054081540825408354084540855408654087540885408954090540915409254093540945409554096540975409854099541005410154102541035410454105541065410754108541095411054111541125411354114541155411654117541185411954120541215412254123541245412554126541275412854129541305413154132541335413454135541365413754138541395414054141541425414354144541455414654147541485414954150541515415254153541545415554156541575415854159541605416154162541635416454165541665416754168541695417054171541725417354174541755417654177541785417954180541815418254183541845418554186541875418854189541905419154192541935419454195541965419754198541995420054201542025420354204542055420654207542085420954210542115421254213542145421554216542175421854219542205422154222542235422454225542265422754228542295423054231542325423354234542355423654237542385423954240542415424254243542445424554246542475424854249542505425154252542535425454255542565425754258542595426054261542625426354264542655426654267542685426954270542715427254273542745427554276542775427854279542805428154282542835428454285542865428754288542895429054291542925429354294542955429654297542985429954300543015430254303543045430554306543075430854309543105431154312543135431454315543165431754318543195432054321543225432354324543255432654327543285432954330543315433254333543345433554336543375433854339543405434154342543435434454345543465434754348543495435054351543525435354354543555435654357543585435954360543615436254363543645436554366543675436854369543705437154372543735437454375543765437754378543795438054381543825438354384543855438654387543885438954390543915439254393543945439554396543975439854399544005440154402544035440454405544065440754408544095441054411544125441354414544155441654417544185441954420544215442254423544245442554426544275442854429544305443154432544335443454435544365443754438544395444054441544425444354444544455444654447544485444954450544515445254453544545445554456544575445854459544605446154462544635446454465544665446754468544695447054471544725447354474544755447654477544785447954480544815448254483544845448554486544875448854489544905449154492544935449454495544965449754498544995450054501545025450354504545055450654507545085450954510545115451254513545145451554516545175451854519545205452154522545235452454525545265452754528545295453054531545325453354534545355453654537545385453954540545415454254543545445454554546545475454854549545505455154552545535455454555545565455754558545595456054561545625456354564545655456654567545685456954570545715457254573545745457554576545775457854579545805458154582545835458454585545865458754588545895459054591545925459354594545955459654597545985459954600546015460254603546045460554606546075460854609546105461154612546135461454615546165461754618546195462054621546225462354624546255462654627546285462954630546315463254633546345463554636546375463854639546405464154642546435464454645546465464754648546495465054651546525465354654546555465654657546585465954660546615466254663546645466554666546675466854669546705467154672546735467454675546765467754678546795468054681546825468354684546855468654687546885468954690546915469254693546945469554696546975469854699547005470154702547035470454705547065470754708547095471054711547125471354714547155471654717547185471954720547215472254723547245472554726547275472854729547305473154732547335473454735547365473754738547395474054741547425474354744547455474654747547485474954750547515475254753547545475554756547575475854759547605476154762547635476454765547665476754768547695477054771547725477354774547755477654777547785477954780547815478254783547845478554786547875478854789547905479154792547935479454795547965479754798547995480054801548025480354804548055480654807548085480954810548115481254813548145481554816548175481854819548205482154822548235482454825548265482754828548295483054831548325483354834548355483654837548385483954840548415484254843548445484554846548475484854849548505485154852548535485454855548565485754858548595486054861548625486354864548655486654867548685486954870548715487254873548745487554876548775487854879548805488154882548835488454885548865488754888548895489054891548925489354894548955489654897548985489954900549015490254903549045490554906549075490854909549105491154912549135491454915549165491754918549195492054921549225492354924549255492654927549285492954930549315493254933549345493554936549375493854939549405494154942549435494454945549465494754948549495495054951549525495354954549555495654957549585495954960549615496254963549645496554966549675496854969549705497154972549735497454975549765497754978549795498054981549825498354984549855498654987549885498954990549915499254993549945499554996549975499854999550005500155002550035500455005550065500755008550095501055011550125501355014550155501655017550185501955020550215502255023550245502555026550275502855029550305503155032550335503455035550365503755038550395504055041550425504355044550455504655047550485504955050550515505255053550545505555056550575505855059550605506155062550635506455065550665506755068550695507055071550725507355074550755507655077550785507955080550815508255083550845508555086550875508855089550905509155092550935509455095550965509755098550995510055101551025510355104551055510655107551085510955110551115511255113551145511555116551175511855119551205512155122551235512455125551265512755128551295513055131551325513355134551355513655137551385513955140551415514255143551445514555146551475514855149551505515155152551535515455155551565515755158551595516055161551625516355164551655516655167551685516955170551715517255173551745517555176551775517855179551805518155182551835518455185551865518755188551895519055191551925519355194551955519655197551985519955200552015520255203552045520555206552075520855209552105521155212552135521455215552165521755218552195522055221552225522355224552255522655227552285522955230552315523255233552345523555236552375523855239552405524155242552435524455245552465524755248552495525055251552525525355254552555525655257552585525955260552615526255263552645526555266552675526855269552705527155272552735527455275552765527755278552795528055281552825528355284552855528655287552885528955290552915529255293552945529555296552975529855299553005530155302553035530455305553065530755308553095531055311553125531355314553155531655317553185531955320553215532255323553245532555326553275532855329553305533155332553335533455335553365533755338553395534055341553425534355344553455534655347553485534955350553515535255353553545535555356553575535855359553605536155362553635536455365553665536755368553695537055371553725537355374553755537655377553785537955380553815538255383553845538555386553875538855389553905539155392553935539455395553965539755398553995540055401554025540355404554055540655407554085540955410554115541255413554145541555416554175541855419554205542155422554235542455425554265542755428554295543055431554325543355434554355543655437554385543955440554415544255443554445544555446554475544855449554505545155452554535545455455554565545755458554595546055461554625546355464554655546655467554685546955470554715547255473554745547555476554775547855479554805548155482554835548455485554865548755488554895549055491554925549355494554955549655497554985549955500555015550255503555045550555506555075550855509555105551155512555135551455515555165551755518555195552055521555225552355524555255552655527555285552955530555315553255533555345553555536555375553855539555405554155542555435554455545555465554755548555495555055551555525555355554555555555655557555585555955560555615556255563555645556555566555675556855569555705557155572555735557455575555765557755578555795558055581555825558355584555855558655587555885558955590555915559255593555945559555596555975559855599556005560155602556035560455605556065560755608556095561055611556125561355614556155561655617556185561955620556215562255623556245562555626556275562855629556305563155632556335563455635556365563755638556395564055641556425564355644556455564655647556485564955650556515565255653556545565555656556575565855659556605566155662556635566455665556665566755668556695567055671556725567355674556755567655677556785567955680556815568255683556845568555686556875568855689556905569155692556935569455695556965569755698556995570055701557025570355704557055570655707557085570955710557115571255713557145571555716557175571855719557205572155722557235572455725557265572755728557295573055731557325573355734557355573655737557385573955740557415574255743557445574555746557475574855749557505575155752557535575455755557565575755758557595576055761557625576355764557655576655767557685576955770557715577255773557745577555776557775577855779557805578155782557835578455785557865578755788557895579055791557925579355794557955579655797557985579955800558015580255803558045580555806558075580855809558105581155812558135581455815558165581755818558195582055821558225582355824558255582655827558285582955830558315583255833558345583555836558375583855839558405584155842558435584455845558465584755848558495585055851558525585355854558555585655857558585585955860558615586255863558645586555866558675586855869558705587155872558735587455875558765587755878558795588055881558825588355884558855588655887558885588955890558915589255893558945589555896558975589855899559005590155902559035590455905559065590755908559095591055911559125591355914559155591655917559185591955920559215592255923559245592555926559275592855929559305593155932559335593455935559365593755938559395594055941559425594355944559455594655947559485594955950559515595255953559545595555956559575595855959559605596155962559635596455965559665596755968559695597055971559725597355974559755597655977559785597955980559815598255983559845598555986559875598855989559905599155992559935599455995559965599755998559995600056001560025600356004560055600656007560085600956010560115601256013560145601556016560175601856019560205602156022560235602456025560265602756028560295603056031560325603356034560355603656037560385603956040560415604256043560445604556046560475604856049560505605156052560535605456055560565605756058560595606056061560625606356064560655606656067560685606956070560715607256073560745607556076560775607856079560805608156082560835608456085560865608756088560895609056091560925609356094560955609656097560985609956100561015610256103561045610556106561075610856109561105611156112561135611456115561165611756118561195612056121561225612356124561255612656127561285612956130561315613256133561345613556136561375613856139561405614156142561435614456145561465614756148561495615056151561525615356154561555615656157561585615956160561615616256163561645616556166561675616856169561705617156172561735617456175561765617756178561795618056181561825618356184561855618656187561885618956190561915619256193561945619556196561975619856199562005620156202562035620456205562065620756208562095621056211562125621356214562155621656217562185621956220562215622256223562245622556226562275622856229562305623156232562335623456235562365623756238562395624056241562425624356244562455624656247562485624956250562515625256253562545625556256562575625856259562605626156262562635626456265562665626756268562695627056271562725627356274562755627656277562785627956280562815628256283562845628556286562875628856289562905629156292562935629456295562965629756298562995630056301563025630356304563055630656307563085630956310563115631256313563145631556316563175631856319563205632156322563235632456325563265632756328563295633056331563325633356334563355633656337563385633956340563415634256343563445634556346563475634856349563505635156352563535635456355563565635756358563595636056361563625636356364563655636656367563685636956370563715637256373563745637556376563775637856379563805638156382563835638456385563865638756388563895639056391563925639356394563955639656397563985639956400564015640256403564045640556406564075640856409564105641156412564135641456415564165641756418564195642056421564225642356424564255642656427564285642956430564315643256433564345643556436564375643856439564405644156442564435644456445564465644756448564495645056451564525645356454564555645656457564585645956460564615646256463564645646556466564675646856469564705647156472564735647456475564765647756478564795648056481564825648356484564855648656487564885648956490564915649256493564945649556496564975649856499565005650156502565035650456505565065650756508565095651056511565125651356514565155651656517565185651956520565215652256523565245652556526565275652856529565305653156532565335653456535565365653756538565395654056541565425654356544565455654656547565485654956550565515655256553565545655556556565575655856559565605656156562565635656456565565665656756568565695657056571565725657356574565755657656577565785657956580565815658256583565845658556586565875658856589565905659156592565935659456595565965659756598565995660056601566025660356604566055660656607566085660956610566115661256613566145661556616566175661856619566205662156622566235662456625566265662756628566295663056631566325663356634566355663656637566385663956640566415664256643566445664556646566475664856649566505665156652566535665456655566565665756658566595666056661566625666356664566655666656667566685666956670566715667256673566745667556676566775667856679566805668156682566835668456685566865668756688566895669056691566925669356694566955669656697566985669956700567015670256703567045670556706567075670856709567105671156712567135671456715567165671756718567195672056721567225672356724567255672656727567285672956730567315673256733567345673556736567375673856739567405674156742567435674456745567465674756748567495675056751567525675356754567555675656757567585675956760567615676256763567645676556766567675676856769567705677156772567735677456775567765677756778567795678056781567825678356784567855678656787567885678956790567915679256793567945679556796567975679856799568005680156802568035680456805568065680756808568095681056811568125681356814568155681656817568185681956820568215682256823568245682556826568275682856829568305683156832568335683456835568365683756838568395684056841568425684356844568455684656847568485684956850568515685256853568545685556856568575685856859568605686156862568635686456865568665686756868568695687056871568725687356874568755687656877568785687956880568815688256883568845688556886568875688856889568905689156892568935689456895568965689756898568995690056901569025690356904569055690656907569085690956910569115691256913569145691556916569175691856919569205692156922569235692456925569265692756928569295693056931569325693356934569355693656937569385693956940569415694256943569445694556946569475694856949569505695156952569535695456955569565695756958569595696056961569625696356964569655696656967569685696956970569715697256973569745697556976569775697856979569805698156982569835698456985569865698756988569895699056991569925699356994569955699656997569985699957000570015700257003570045700557006570075700857009570105701157012570135701457015570165701757018570195702057021570225702357024570255702657027570285702957030570315703257033570345703557036570375703857039570405704157042570435704457045570465704757048570495705057051570525705357054570555705657057570585705957060570615706257063570645706557066570675706857069570705707157072570735707457075570765707757078570795708057081570825708357084570855708657087570885708957090570915709257093570945709557096570975709857099571005710157102571035710457105571065710757108571095711057111571125711357114571155711657117571185711957120571215712257123571245712557126571275712857129571305713157132571335713457135571365713757138571395714057141571425714357144571455714657147571485714957150571515715257153571545715557156571575715857159571605716157162571635716457165571665716757168571695717057171571725717357174571755717657177571785717957180571815718257183571845718557186571875718857189571905719157192571935719457195571965719757198571995720057201572025720357204572055720657207572085720957210572115721257213572145721557216572175721857219572205722157222572235722457225572265722757228572295723057231572325723357234572355723657237572385723957240572415724257243572445724557246572475724857249572505725157252572535725457255572565725757258572595726057261572625726357264572655726657267572685726957270572715727257273572745727557276572775727857279572805728157282572835728457285572865728757288572895729057291572925729357294572955729657297572985729957300573015730257303573045730557306573075730857309573105731157312573135731457315573165731757318573195732057321573225732357324573255732657327573285732957330573315733257333573345733557336573375733857339573405734157342573435734457345573465734757348573495735057351573525735357354573555735657357573585735957360573615736257363573645736557366573675736857369573705737157372573735737457375573765737757378573795738057381573825738357384573855738657387573885738957390573915739257393573945739557396573975739857399574005740157402574035740457405574065740757408574095741057411574125741357414574155741657417574185741957420574215742257423574245742557426574275742857429574305743157432574335743457435574365743757438574395744057441574425744357444574455744657447574485744957450574515745257453574545745557456574575745857459574605746157462574635746457465574665746757468574695747057471574725747357474574755747657477574785747957480574815748257483574845748557486574875748857489574905749157492574935749457495574965749757498574995750057501575025750357504575055750657507575085750957510575115751257513575145751557516575175751857519575205752157522575235752457525575265752757528575295753057531575325753357534575355753657537575385753957540575415754257543575445754557546575475754857549575505755157552575535755457555575565755757558575595756057561575625756357564575655756657567575685756957570575715757257573575745757557576575775757857579575805758157582575835758457585575865758757588575895759057591575925759357594575955759657597575985759957600576015760257603576045760557606576075760857609576105761157612576135761457615576165761757618576195762057621576225762357624576255762657627576285762957630576315763257633576345763557636576375763857639576405764157642576435764457645576465764757648576495765057651576525765357654576555765657657576585765957660576615766257663576645766557666576675766857669576705767157672576735767457675576765767757678576795768057681576825768357684576855768657687576885768957690576915769257693576945769557696576975769857699577005770157702577035770457705577065770757708577095771057711577125771357714577155771657717577185771957720577215772257723577245772557726577275772857729577305773157732577335773457735577365773757738577395774057741577425774357744577455774657747577485774957750577515775257753577545775557756577575775857759577605776157762577635776457765577665776757768577695777057771577725777357774577755777657777577785777957780577815778257783577845778557786577875778857789577905779157792577935779457795577965779757798577995780057801578025780357804578055780657807578085780957810578115781257813578145781557816578175781857819578205782157822578235782457825578265782757828578295783057831578325783357834578355783657837578385783957840578415784257843578445784557846578475784857849578505785157852578535785457855578565785757858578595786057861578625786357864578655786657867578685786957870578715787257873578745787557876578775787857879578805788157882578835788457885578865788757888578895789057891578925789357894578955789657897578985789957900579015790257903579045790557906579075790857909579105791157912579135791457915579165791757918579195792057921579225792357924579255792657927579285792957930579315793257933579345793557936579375793857939579405794157942579435794457945579465794757948579495795057951579525795357954579555795657957579585795957960579615796257963579645796557966579675796857969579705797157972579735797457975579765797757978579795798057981579825798357984579855798657987579885798957990579915799257993579945799557996579975799857999580005800158002580035800458005580065800758008580095801058011580125801358014580155801658017580185801958020580215802258023580245802558026580275802858029580305803158032580335803458035580365803758038580395804058041580425804358044580455804658047580485804958050580515805258053580545805558056580575805858059580605806158062580635806458065580665806758068580695807058071580725807358074580755807658077580785807958080580815808258083580845808558086580875808858089580905809158092580935809458095580965809758098580995810058101581025810358104581055810658107581085810958110581115811258113581145811558116581175811858119581205812158122581235812458125581265812758128581295813058131581325813358134581355813658137581385813958140581415814258143581445814558146581475814858149581505815158152581535815458155581565815758158581595816058161581625816358164581655816658167581685816958170581715817258173581745817558176581775817858179581805818158182581835818458185581865818758188581895819058191581925819358194581955819658197581985819958200582015820258203582045820558206582075820858209582105821158212582135821458215582165821758218582195822058221582225822358224582255822658227582285822958230582315823258233582345823558236582375823858239582405824158242582435824458245582465824758248582495825058251582525825358254582555825658257582585825958260582615826258263582645826558266582675826858269582705827158272582735827458275582765827758278582795828058281582825828358284582855828658287582885828958290582915829258293582945829558296582975829858299583005830158302583035830458305583065830758308583095831058311583125831358314583155831658317583185831958320583215832258323583245832558326583275832858329583305833158332583335833458335583365833758338583395834058341583425834358344583455834658347583485834958350583515835258353583545835558356583575835858359583605836158362583635836458365583665836758368583695837058371583725837358374583755837658377583785837958380583815838258383583845838558386583875838858389583905839158392583935839458395583965839758398583995840058401584025840358404584055840658407584085840958410584115841258413584145841558416584175841858419584205842158422584235842458425584265842758428584295843058431584325843358434584355843658437584385843958440584415844258443584445844558446584475844858449584505845158452584535845458455584565845758458584595846058461584625846358464584655846658467584685846958470584715847258473584745847558476584775847858479584805848158482584835848458485584865848758488584895849058491584925849358494584955849658497584985849958500585015850258503585045850558506585075850858509585105851158512585135851458515585165851758518585195852058521585225852358524585255852658527585285852958530585315853258533585345853558536585375853858539585405854158542585435854458545585465854758548585495855058551585525855358554585555855658557585585855958560585615856258563585645856558566585675856858569585705857158572585735857458575585765857758578585795858058581585825858358584585855858658587585885858958590585915859258593585945859558596585975859858599586005860158602586035860458605586065860758608586095861058611586125861358614586155861658617586185861958620586215862258623586245862558626586275862858629586305863158632586335863458635586365863758638586395864058641586425864358644586455864658647586485864958650586515865258653586545865558656586575865858659586605866158662586635866458665586665866758668586695867058671586725867358674586755867658677586785867958680586815868258683586845868558686586875868858689586905869158692586935869458695586965869758698586995870058701587025870358704587055870658707587085870958710587115871258713587145871558716587175871858719587205872158722587235872458725587265872758728587295873058731587325873358734587355873658737587385873958740587415874258743587445874558746587475874858749587505875158752587535875458755587565875758758587595876058761587625876358764587655876658767587685876958770587715877258773587745877558776587775877858779587805878158782587835878458785587865878758788587895879058791587925879358794587955879658797587985879958800588015880258803588045880558806588075880858809588105881158812588135881458815588165881758818588195882058821588225882358824588255882658827588285882958830588315883258833588345883558836588375883858839588405884158842588435884458845588465884758848588495885058851588525885358854588555885658857588585885958860588615886258863588645886558866588675886858869588705887158872588735887458875588765887758878588795888058881588825888358884588855888658887588885888958890588915889258893588945889558896588975889858899589005890158902589035890458905589065890758908589095891058911589125891358914589155891658917589185891958920589215892258923589245892558926589275892858929589305893158932589335893458935589365893758938589395894058941589425894358944589455894658947589485894958950589515895258953589545895558956589575895858959589605896158962589635896458965589665896758968589695897058971589725897358974589755897658977589785897958980589815898258983589845898558986589875898858989589905899158992589935899458995589965899758998589995900059001590025900359004590055900659007590085900959010590115901259013590145901559016590175901859019590205902159022590235902459025590265902759028590295903059031590325903359034590355903659037590385903959040590415904259043590445904559046590475904859049590505905159052590535905459055590565905759058590595906059061590625906359064590655906659067590685906959070590715907259073590745907559076590775907859079590805908159082590835908459085590865908759088590895909059091590925909359094590955909659097590985909959100591015910259103591045910559106591075910859109591105911159112591135911459115591165911759118591195912059121591225912359124591255912659127591285912959130591315913259133591345913559136591375913859139591405914159142591435914459145591465914759148591495915059151591525915359154591555915659157591585915959160591615916259163591645916559166591675916859169591705917159172591735917459175591765917759178591795918059181591825918359184591855918659187591885918959190591915919259193591945919559196591975919859199592005920159202592035920459205592065920759208592095921059211592125921359214592155921659217592185921959220592215922259223592245922559226592275922859229592305923159232592335923459235592365923759238592395924059241592425924359244592455924659247592485924959250592515925259253592545925559256592575925859259592605926159262592635926459265592665926759268592695927059271592725927359274592755927659277592785927959280592815928259283592845928559286592875928859289592905929159292592935929459295592965929759298592995930059301593025930359304593055930659307593085930959310593115931259313593145931559316593175931859319593205932159322593235932459325593265932759328593295933059331593325933359334593355933659337593385933959340593415934259343593445934559346593475934859349593505935159352593535935459355593565935759358593595936059361593625936359364593655936659367593685936959370593715937259373593745937559376593775937859379593805938159382593835938459385593865938759388593895939059391593925939359394593955939659397593985939959400594015940259403594045940559406594075940859409594105941159412594135941459415594165941759418594195942059421594225942359424594255942659427594285942959430594315943259433594345943559436594375943859439594405944159442594435944459445594465944759448594495945059451594525945359454594555945659457594585945959460594615946259463594645946559466594675946859469594705947159472594735947459475594765947759478594795948059481594825948359484594855948659487594885948959490594915949259493594945949559496594975949859499595005950159502595035950459505595065950759508595095951059511595125951359514595155951659517595185951959520595215952259523595245952559526595275952859529595305953159532595335953459535595365953759538595395954059541595425954359544595455954659547595485954959550595515955259553595545955559556595575955859559595605956159562595635956459565595665956759568595695957059571595725957359574595755957659577595785957959580595815958259583595845958559586595875958859589595905959159592595935959459595595965959759598595995960059601596025960359604596055960659607596085960959610596115961259613596145961559616596175961859619596205962159622596235962459625596265962759628596295963059631596325963359634596355963659637596385963959640596415964259643596445964559646596475964859649596505965159652596535965459655596565965759658596595966059661596625966359664596655966659667596685966959670596715967259673596745967559676596775967859679596805968159682596835968459685596865968759688596895969059691596925969359694596955969659697596985969959700597015970259703597045970559706597075970859709597105971159712597135971459715597165971759718597195972059721597225972359724597255972659727597285972959730597315973259733597345973559736597375973859739597405974159742597435974459745597465974759748597495975059751597525975359754597555975659757597585975959760597615976259763597645976559766597675976859769597705977159772597735977459775597765977759778597795978059781597825978359784597855978659787597885978959790597915979259793597945979559796597975979859799598005980159802598035980459805598065980759808598095981059811598125981359814598155981659817598185981959820598215982259823598245982559826598275982859829598305983159832598335983459835598365983759838598395984059841598425984359844598455984659847598485984959850598515985259853598545985559856598575985859859598605986159862598635986459865598665986759868598695987059871598725987359874598755987659877598785987959880598815988259883598845988559886598875988859889598905989159892598935989459895598965989759898598995990059901599025990359904599055990659907599085990959910599115991259913599145991559916599175991859919599205992159922599235992459925599265992759928599295993059931599325993359934599355993659937599385993959940599415994259943599445994559946599475994859949599505995159952599535995459955599565995759958599595996059961599625996359964599655996659967599685996959970599715997259973599745997559976599775997859979599805998159982599835998459985599865998759988599895999059991599925999359994599955999659997599985999960000600016000260003600046000560006600076000860009600106001160012600136001460015600166001760018600196002060021600226002360024600256002660027600286002960030600316003260033600346003560036600376003860039600406004160042600436004460045600466004760048600496005060051600526005360054600556005660057600586005960060600616006260063600646006560066600676006860069600706007160072600736007460075600766007760078600796008060081600826008360084600856008660087600886008960090600916009260093600946009560096600976009860099601006010160102601036010460105601066010760108601096011060111601126011360114601156011660117601186011960120601216012260123601246012560126601276012860129601306013160132601336013460135601366013760138601396014060141601426014360144601456014660147601486014960150601516015260153601546015560156601576015860159601606016160162601636016460165601666016760168601696017060171601726017360174601756017660177601786017960180601816018260183601846018560186601876018860189601906019160192601936019460195601966019760198601996020060201602026020360204602056020660207602086020960210602116021260213602146021560216602176021860219602206022160222602236022460225602266022760228602296023060231602326023360234602356023660237602386023960240602416024260243602446024560246602476024860249602506025160252602536025460255602566025760258602596026060261602626026360264602656026660267602686026960270602716027260273602746027560276602776027860279602806028160282602836028460285602866028760288602896029060291602926029360294602956029660297602986029960300603016030260303603046030560306603076030860309603106031160312603136031460315603166031760318603196032060321603226032360324603256032660327603286032960330603316033260333603346033560336603376033860339603406034160342603436034460345603466034760348603496035060351603526035360354603556035660357603586035960360603616036260363603646036560366603676036860369603706037160372603736037460375603766037760378603796038060381603826038360384603856038660387603886038960390603916039260393603946039560396603976039860399604006040160402604036040460405604066040760408604096041060411604126041360414604156041660417604186041960420604216042260423604246042560426604276042860429604306043160432604336043460435604366043760438604396044060441604426044360444604456044660447604486044960450604516045260453604546045560456604576045860459604606046160462604636046460465604666046760468604696047060471604726047360474604756047660477604786047960480604816048260483604846048560486604876048860489604906049160492604936049460495604966049760498604996050060501605026050360504605056050660507605086050960510605116051260513605146051560516605176051860519605206052160522605236052460525605266052760528605296053060531605326053360534605356053660537605386053960540605416054260543605446054560546605476054860549605506055160552605536055460555605566055760558605596056060561605626056360564605656056660567605686056960570605716057260573605746057560576605776057860579605806058160582605836058460585605866058760588605896059060591605926059360594605956059660597605986059960600606016060260603606046060560606606076060860609606106061160612606136061460615606166061760618606196062060621606226062360624606256062660627606286062960630606316063260633606346063560636606376063860639606406064160642606436064460645606466064760648606496065060651606526065360654606556065660657606586065960660606616066260663606646066560666606676066860669606706067160672606736067460675606766067760678606796068060681606826068360684606856068660687606886068960690606916069260693606946069560696606976069860699607006070160702607036070460705607066070760708607096071060711607126071360714607156071660717607186071960720607216072260723607246072560726607276072860729607306073160732607336073460735607366073760738607396074060741607426074360744607456074660747607486074960750607516075260753607546075560756607576075860759607606076160762607636076460765607666076760768607696077060771607726077360774607756077660777607786077960780607816078260783607846078560786607876078860789607906079160792607936079460795607966079760798607996080060801608026080360804608056080660807608086080960810608116081260813608146081560816608176081860819608206082160822608236082460825608266082760828608296083060831608326083360834608356083660837608386083960840608416084260843608446084560846608476084860849608506085160852608536085460855608566085760858608596086060861608626086360864608656086660867608686086960870608716087260873608746087560876608776087860879608806088160882608836088460885608866088760888608896089060891608926089360894608956089660897608986089960900609016090260903609046090560906609076090860909609106091160912609136091460915609166091760918609196092060921609226092360924609256092660927609286092960930609316093260933609346093560936609376093860939609406094160942609436094460945609466094760948609496095060951609526095360954609556095660957609586095960960609616096260963609646096560966609676096860969609706097160972609736097460975609766097760978609796098060981609826098360984609856098660987609886098960990609916099260993609946099560996609976099860999610006100161002610036100461005610066100761008610096101061011610126101361014610156101661017610186101961020610216102261023610246102561026610276102861029610306103161032610336103461035610366103761038610396104061041610426104361044610456104661047610486104961050610516105261053610546105561056610576105861059610606106161062610636106461065610666106761068610696107061071610726107361074610756107661077610786107961080610816108261083610846108561086610876108861089610906109161092610936109461095610966109761098610996110061101611026110361104611056110661107611086110961110611116111261113611146111561116611176111861119611206112161122611236112461125611266112761128611296113061131611326113361134611356113661137611386113961140611416114261143611446114561146611476114861149611506115161152611536115461155611566115761158611596116061161611626116361164611656116661167611686116961170611716117261173611746117561176611776117861179611806118161182611836118461185611866118761188611896119061191611926119361194611956119661197611986119961200612016120261203612046120561206612076120861209612106121161212612136121461215612166121761218612196122061221612226122361224612256122661227612286122961230612316123261233612346123561236612376123861239612406124161242612436124461245612466124761248612496125061251612526125361254612556125661257612586125961260612616126261263612646126561266612676126861269612706127161272612736127461275612766127761278612796128061281612826128361284612856128661287612886128961290612916129261293612946129561296612976129861299613006130161302613036130461305613066130761308613096131061311613126131361314613156131661317613186131961320613216132261323613246132561326613276132861329613306133161332613336133461335613366133761338613396134061341613426134361344613456134661347613486134961350613516135261353613546135561356613576135861359613606136161362613636136461365613666136761368613696137061371613726137361374613756137661377613786137961380613816138261383613846138561386613876138861389613906139161392613936139461395613966139761398613996140061401614026140361404614056140661407614086140961410614116141261413614146141561416614176141861419614206142161422614236142461425614266142761428614296143061431614326143361434614356143661437614386143961440614416144261443614446144561446614476144861449614506145161452614536145461455614566145761458614596146061461614626146361464614656146661467614686146961470614716147261473614746147561476614776147861479614806148161482614836148461485614866148761488614896149061491614926149361494614956149661497614986149961500615016150261503615046150561506615076150861509615106151161512615136151461515615166151761518615196152061521615226152361524615256152661527615286152961530615316153261533615346153561536615376153861539615406154161542615436154461545615466154761548615496155061551615526155361554615556155661557615586155961560615616156261563615646156561566615676156861569615706157161572615736157461575615766157761578615796158061581615826158361584615856158661587615886158961590615916159261593615946159561596615976159861599616006160161602616036160461605616066160761608616096161061611616126161361614616156161661617616186161961620616216162261623616246162561626616276162861629616306163161632616336163461635616366163761638616396164061641616426164361644616456164661647616486164961650616516165261653616546165561656616576165861659616606166161662616636166461665616666166761668616696167061671616726167361674616756167661677616786167961680616816168261683616846168561686616876168861689616906169161692616936169461695616966169761698616996170061701617026170361704617056170661707617086170961710617116171261713617146171561716617176171861719617206172161722617236172461725617266172761728617296173061731617326173361734617356173661737617386173961740617416174261743617446174561746617476174861749617506175161752617536175461755617566175761758617596176061761617626176361764617656176661767617686176961770617716177261773617746177561776617776177861779617806178161782617836178461785617866178761788617896179061791617926179361794617956179661797617986179961800618016180261803618046180561806618076180861809618106181161812618136181461815618166181761818618196182061821618226182361824618256182661827618286182961830618316183261833618346183561836618376183861839618406184161842618436184461845618466184761848618496185061851618526185361854618556185661857618586185961860618616186261863618646186561866618676186861869618706187161872618736187461875618766187761878618796188061881618826188361884618856188661887618886188961890618916189261893618946189561896618976189861899619006190161902619036190461905619066190761908619096191061911619126191361914619156191661917619186191961920619216192261923619246192561926619276192861929619306193161932619336193461935619366193761938619396194061941619426194361944619456194661947619486194961950619516195261953619546195561956619576195861959619606196161962619636196461965619666196761968619696197061971619726197361974619756197661977619786197961980619816198261983619846198561986619876198861989619906199161992619936199461995619966199761998619996200062001620026200362004620056200662007620086200962010620116201262013620146201562016620176201862019620206202162022620236202462025620266202762028620296203062031620326203362034620356203662037620386203962040620416204262043620446204562046620476204862049620506205162052620536205462055620566205762058620596206062061620626206362064620656206662067620686206962070620716207262073620746207562076620776207862079620806208162082620836208462085620866208762088620896209062091620926209362094620956209662097620986209962100621016210262103621046210562106621076210862109621106211162112621136211462115621166211762118621196212062121621226212362124621256212662127621286212962130621316213262133621346213562136621376213862139621406214162142621436214462145621466214762148621496215062151621526215362154621556215662157621586215962160621616216262163621646216562166621676216862169621706217162172621736217462175621766217762178621796218062181621826218362184621856218662187621886218962190621916219262193621946219562196621976219862199622006220162202622036220462205622066220762208622096221062211622126221362214622156221662217622186221962220622216222262223622246222562226622276222862229622306223162232622336223462235622366223762238622396224062241622426224362244622456224662247622486224962250622516225262253622546225562256622576225862259622606226162262622636226462265622666226762268622696227062271622726227362274622756227662277622786227962280622816228262283622846228562286622876228862289622906229162292622936229462295622966229762298622996230062301623026230362304623056230662307623086230962310623116231262313623146231562316623176231862319623206232162322623236232462325623266232762328623296233062331623326233362334623356233662337623386233962340623416234262343623446234562346623476234862349623506235162352623536235462355623566235762358623596236062361623626236362364623656236662367623686236962370623716237262373623746237562376623776237862379623806238162382623836238462385623866238762388623896239062391623926239362394623956239662397623986239962400624016240262403624046240562406624076240862409624106241162412624136241462415624166241762418624196242062421624226242362424624256242662427624286242962430624316243262433624346243562436624376243862439624406244162442624436244462445624466244762448624496245062451624526245362454624556245662457624586245962460624616246262463624646246562466624676246862469624706247162472624736247462475624766247762478624796248062481624826248362484624856248662487624886248962490624916249262493624946249562496624976249862499625006250162502625036250462505625066250762508625096251062511625126251362514625156251662517625186251962520625216252262523625246252562526625276252862529625306253162532625336253462535625366253762538625396254062541625426254362544625456254662547625486254962550625516255262553625546255562556625576255862559625606256162562625636256462565625666256762568625696257062571625726257362574625756257662577625786257962580625816258262583625846258562586625876258862589625906259162592625936259462595625966259762598625996260062601626026260362604626056260662607626086260962610626116261262613626146261562616626176261862619626206262162622626236262462625626266262762628626296263062631626326263362634626356263662637626386263962640626416264262643626446264562646626476264862649626506265162652626536265462655626566265762658626596266062661626626266362664626656266662667626686266962670626716267262673626746267562676626776267862679626806268162682626836268462685626866268762688626896269062691626926269362694626956269662697626986269962700627016270262703627046270562706627076270862709627106271162712627136271462715627166271762718627196272062721627226272362724627256272662727627286272962730627316273262733627346273562736627376273862739627406274162742627436274462745627466274762748627496275062751627526275362754627556275662757627586275962760627616276262763627646276562766627676276862769627706277162772627736277462775627766277762778627796278062781627826278362784627856278662787627886278962790627916279262793627946279562796627976279862799628006280162802628036280462805628066280762808628096281062811628126281362814628156281662817628186281962820628216282262823628246282562826628276282862829628306283162832628336283462835628366283762838628396284062841628426284362844628456284662847628486284962850628516285262853628546285562856628576285862859628606286162862628636286462865628666286762868628696287062871628726287362874628756287662877628786287962880628816288262883628846288562886628876288862889628906289162892628936289462895628966289762898628996290062901629026290362904629056290662907629086290962910629116291262913629146291562916629176291862919629206292162922629236292462925629266292762928629296293062931629326293362934629356293662937629386293962940629416294262943629446294562946629476294862949629506295162952629536295462955629566295762958629596296062961629626296362964629656296662967629686296962970629716297262973629746297562976629776297862979629806298162982629836298462985629866298762988629896299062991629926299362994629956299662997629986299963000630016300263003630046300563006630076300863009630106301163012630136301463015630166301763018630196302063021630226302363024630256302663027630286302963030630316303263033630346303563036630376303863039630406304163042630436304463045630466304763048630496305063051630526305363054630556305663057630586305963060630616306263063630646306563066630676306863069630706307163072630736307463075630766307763078630796308063081630826308363084630856308663087630886308963090630916309263093630946309563096630976309863099631006310163102631036310463105631066310763108631096311063111631126311363114631156311663117631186311963120631216312263123631246312563126631276312863129631306313163132631336313463135631366313763138631396314063141631426314363144631456314663147631486314963150631516315263153631546315563156631576315863159631606316163162631636316463165631666316763168631696317063171631726317363174631756317663177631786317963180631816318263183631846318563186631876318863189631906319163192631936319463195631966319763198631996320063201632026320363204632056320663207632086320963210632116321263213632146321563216632176321863219632206322163222632236322463225632266322763228632296323063231632326323363234632356323663237632386323963240632416324263243632446324563246632476324863249632506325163252632536325463255632566325763258632596326063261632626326363264632656326663267632686326963270632716327263273632746327563276632776327863279632806328163282632836328463285632866328763288632896329063291632926329363294632956329663297632986329963300633016330263303633046330563306633076330863309633106331163312633136331463315633166331763318633196332063321633226332363324633256332663327633286332963330633316333263333633346333563336633376333863339633406334163342633436334463345633466334763348633496335063351633526335363354633556335663357633586335963360633616336263363633646336563366633676336863369633706337163372633736337463375633766337763378633796338063381633826338363384633856338663387633886338963390633916339263393633946339563396633976339863399634006340163402634036340463405634066340763408634096341063411634126341363414634156341663417634186341963420634216342263423634246342563426634276342863429634306343163432634336343463435634366343763438634396344063441634426344363444634456344663447634486344963450634516345263453634546345563456634576345863459634606346163462634636346463465634666346763468634696347063471634726347363474634756347663477634786347963480634816348263483634846348563486634876348863489634906349163492634936349463495634966349763498634996350063501635026350363504635056350663507635086350963510635116351263513635146351563516635176351863519635206352163522635236352463525635266352763528635296353063531635326353363534635356353663537635386353963540635416354263543635446354563546635476354863549635506355163552635536355463555635566355763558635596356063561635626356363564635656356663567635686356963570635716357263573635746357563576635776357863579635806358163582635836358463585635866358763588635896359063591635926359363594635956359663597635986359963600636016360263603636046360563606636076360863609636106361163612636136361463615636166361763618636196362063621636226362363624636256362663627636286362963630636316363263633636346363563636636376363863639636406364163642636436364463645636466364763648636496365063651636526365363654636556365663657636586365963660636616366263663636646366563666636676366863669636706367163672636736367463675636766367763678636796368063681636826368363684636856368663687636886368963690636916369263693636946369563696636976369863699637006370163702637036370463705637066370763708637096371063711637126371363714637156371663717637186371963720637216372263723637246372563726637276372863729637306373163732637336373463735637366373763738637396374063741637426374363744637456374663747637486374963750637516375263753637546375563756637576375863759637606376163762637636376463765637666376763768637696377063771637726377363774637756377663777637786377963780637816378263783637846378563786637876378863789637906379163792637936379463795637966379763798637996380063801638026380363804638056380663807638086380963810638116381263813638146381563816638176381863819638206382163822638236382463825638266382763828638296383063831638326383363834638356383663837638386383963840638416384263843638446384563846638476384863849638506385163852638536385463855638566385763858638596386063861638626386363864638656386663867638686386963870638716387263873638746387563876638776387863879638806388163882638836388463885638866388763888638896389063891638926389363894638956389663897638986389963900639016390263903639046390563906639076390863909639106391163912639136391463915639166391763918639196392063921639226392363924639256392663927639286392963930639316393263933639346393563936639376393863939639406394163942639436394463945639466394763948639496395063951639526395363954639556395663957639586395963960639616396263963639646396563966639676396863969639706397163972639736397463975639766397763978639796398063981639826398363984639856398663987639886398963990639916399263993639946399563996639976399863999640006400164002640036400464005640066400764008640096401064011640126401364014640156401664017640186401964020640216402264023640246402564026640276402864029640306403164032640336403464035640366403764038640396404064041640426404364044640456404664047640486404964050640516405264053640546405564056640576405864059640606406164062640636406464065640666406764068640696407064071640726407364074640756407664077640786407964080640816408264083640846408564086640876408864089640906409164092640936409464095640966409764098640996410064101641026410364104641056410664107641086410964110641116411264113641146411564116641176411864119641206412164122641236412464125641266412764128641296413064131641326413364134641356413664137641386413964140641416414264143641446414564146641476414864149641506415164152641536415464155641566415764158641596416064161641626416364164641656416664167641686416964170641716417264173641746417564176641776417864179641806418164182641836418464185641866418764188641896419064191641926419364194641956419664197641986419964200642016420264203642046420564206642076420864209642106421164212642136421464215642166421764218642196422064221642226422364224642256422664227642286422964230642316423264233642346423564236642376423864239642406424164242642436424464245642466424764248642496425064251642526425364254642556425664257642586425964260642616426264263642646426564266642676426864269642706427164272642736427464275642766427764278642796428064281642826428364284642856428664287642886428964290642916429264293642946429564296642976429864299643006430164302643036430464305643066430764308643096431064311643126431364314643156431664317643186431964320643216432264323643246432564326643276432864329643306433164332643336433464335643366433764338643396434064341643426434364344643456434664347643486434964350643516435264353643546435564356643576435864359643606436164362643636436464365643666436764368643696437064371643726437364374643756437664377643786437964380643816438264383643846438564386643876438864389643906439164392643936439464395643966439764398643996440064401644026440364404644056440664407644086440964410644116441264413644146441564416644176441864419644206442164422644236442464425644266442764428644296443064431644326443364434644356443664437644386443964440644416444264443644446444564446644476444864449644506445164452644536445464455644566445764458644596446064461644626446364464644656446664467644686446964470644716447264473644746447564476644776447864479644806448164482644836448464485644866448764488644896449064491644926449364494644956449664497644986449964500645016450264503645046450564506645076450864509645106451164512645136451464515645166451764518645196452064521645226452364524645256452664527645286452964530645316453264533645346453564536645376453864539645406454164542645436454464545645466454764548645496455064551645526455364554645556455664557645586455964560645616456264563645646456564566645676456864569645706457164572645736457464575645766457764578645796458064581645826458364584645856458664587645886458964590645916459264593645946459564596645976459864599646006460164602646036460464605646066460764608646096461064611646126461364614646156461664617646186461964620646216462264623646246462564626646276462864629646306463164632646336463464635646366463764638646396464064641646426464364644646456464664647646486464964650646516465264653646546465564656646576465864659646606466164662646636466464665646666466764668646696467064671646726467364674646756467664677646786467964680646816468264683646846468564686646876468864689646906469164692646936469464695646966469764698646996470064701647026470364704647056470664707647086470964710647116471264713647146471564716647176471864719647206472164722647236472464725647266472764728647296473064731647326473364734647356473664737647386473964740647416474264743647446474564746647476474864749647506475164752647536475464755647566475764758647596476064761647626476364764647656476664767647686476964770647716477264773647746477564776647776477864779647806478164782647836478464785647866478764788647896479064791647926479364794647956479664797647986479964800648016480264803648046480564806648076480864809648106481164812648136481464815648166481764818648196482064821648226482364824648256482664827648286482964830648316483264833648346483564836648376483864839648406484164842648436484464845648466484764848648496485064851648526485364854648556485664857648586485964860648616486264863648646486564866648676486864869648706487164872648736487464875648766487764878648796488064881648826488364884648856488664887648886488964890648916489264893648946489564896648976489864899649006490164902649036490464905649066490764908649096491064911649126491364914649156491664917649186491964920649216492264923649246492564926649276492864929649306493164932649336493464935649366493764938649396494064941649426494364944649456494664947649486494964950649516495264953649546495564956649576495864959649606496164962649636496464965649666496764968649696497064971649726497364974649756497664977649786497964980649816498264983649846498564986649876498864989649906499164992649936499464995649966499764998649996500065001650026500365004650056500665007650086500965010650116501265013650146501565016650176501865019650206502165022650236502465025650266502765028650296503065031650326503365034650356503665037650386503965040650416504265043650446504565046650476504865049650506505165052650536505465055650566505765058650596506065061650626506365064650656506665067650686506965070650716507265073650746507565076650776507865079650806508165082650836508465085650866508765088650896509065091650926509365094650956509665097650986509965100651016510265103651046510565106651076510865109651106511165112651136511465115651166511765118651196512065121651226512365124651256512665127651286512965130651316513265133651346513565136651376513865139651406514165142651436514465145651466514765148651496515065151651526515365154651556515665157651586515965160651616516265163651646516565166651676516865169651706517165172651736517465175651766517765178651796518065181651826518365184651856518665187651886518965190651916519265193651946519565196651976519865199652006520165202652036520465205652066520765208652096521065211652126521365214652156521665217652186521965220652216522265223652246522565226652276522865229652306523165232652336523465235652366523765238652396524065241652426524365244652456524665247652486524965250652516525265253652546525565256652576525865259652606526165262652636526465265652666526765268652696527065271652726527365274652756527665277652786527965280652816528265283652846528565286652876528865289652906529165292652936529465295652966529765298652996530065301653026530365304653056530665307653086530965310653116531265313653146531565316653176531865319653206532165322653236532465325653266532765328653296533065331653326533365334653356533665337653386533965340653416534265343653446534565346653476534865349653506535165352653536535465355653566535765358653596536065361653626536365364653656536665367653686536965370653716537265373653746537565376653776537865379653806538165382653836538465385653866538765388653896539065391653926539365394653956539665397653986539965400654016540265403654046540565406654076540865409654106541165412654136541465415654166541765418654196542065421654226542365424654256542665427654286542965430654316543265433654346543565436654376543865439654406544165442654436544465445654466544765448654496545065451654526545365454654556545665457654586545965460654616546265463654646546565466654676546865469654706547165472654736547465475654766547765478654796548065481654826548365484654856548665487654886548965490654916549265493654946549565496654976549865499655006550165502655036550465505655066550765508655096551065511655126551365514655156551665517655186551965520655216552265523655246552565526655276552865529655306553165532655336553465535655366553765538655396554065541655426554365544655456554665547655486554965550655516555265553655546555565556655576555865559655606556165562655636556465565655666556765568655696557065571655726557365574655756557665577655786557965580655816558265583655846558565586655876558865589655906559165592655936559465595655966559765598655996560065601656026560365604656056560665607656086560965610656116561265613656146561565616656176561865619656206562165622656236562465625656266562765628656296563065631656326563365634656356563665637656386563965640656416564265643656446564565646656476564865649656506565165652656536565465655656566565765658656596566065661656626566365664656656566665667656686566965670656716567265673656746567565676656776567865679656806568165682656836568465685656866568765688656896569065691656926569365694656956569665697656986569965700657016570265703657046570565706657076570865709657106571165712657136571465715657166571765718657196572065721657226572365724657256572665727657286572965730657316573265733657346573565736657376573865739657406574165742657436574465745657466574765748657496575065751657526575365754657556575665757657586575965760657616576265763657646576565766657676576865769657706577165772657736577465775657766577765778657796578065781657826578365784657856578665787657886578965790657916579265793657946579565796657976579865799658006580165802658036580465805658066580765808658096581065811658126581365814658156581665817658186581965820658216582265823658246582565826658276582865829658306583165832658336583465835658366583765838658396584065841658426584365844658456584665847658486584965850658516585265853658546585565856658576585865859658606586165862658636586465865658666586765868658696587065871658726587365874658756587665877658786587965880658816588265883658846588565886658876588865889658906589165892658936589465895658966589765898658996590065901659026590365904659056590665907659086590965910659116591265913659146591565916659176591865919659206592165922659236592465925659266592765928659296593065931659326593365934659356593665937659386593965940659416594265943659446594565946659476594865949659506595165952659536595465955659566595765958659596596065961659626596365964659656596665967659686596965970659716597265973659746597565976659776597865979659806598165982659836598465985659866598765988659896599065991659926599365994659956599665997659986599966000660016600266003660046600566006660076600866009660106601166012660136601466015660166601766018660196602066021660226602366024660256602666027660286602966030660316603266033660346603566036660376603866039660406604166042660436604466045660466604766048660496605066051660526605366054660556605666057660586605966060660616606266063660646606566066660676606866069660706607166072660736607466075660766607766078660796608066081660826608366084660856608666087660886608966090660916609266093660946609566096660976609866099661006610166102661036610466105661066610766108661096611066111661126611366114661156611666117661186611966120661216612266123661246612566126661276612866129661306613166132661336613466135661366613766138661396614066141661426614366144661456614666147661486614966150661516615266153661546615566156661576615866159661606616166162661636616466165661666616766168661696617066171661726617366174661756617666177661786617966180661816618266183661846618566186661876618866189661906619166192661936619466195661966619766198661996620066201662026620366204662056620666207662086620966210662116621266213662146621566216662176621866219662206622166222662236622466225662266622766228662296623066231662326623366234662356623666237662386623966240662416624266243662446624566246662476624866249662506625166252662536625466255662566625766258662596626066261662626626366264662656626666267662686626966270662716627266273662746627566276662776627866279662806628166282662836628466285662866628766288662896629066291662926629366294662956629666297662986629966300663016630266303663046630566306663076630866309663106631166312663136631466315663166631766318663196632066321663226632366324663256632666327663286632966330663316633266333663346633566336663376633866339663406634166342663436634466345663466634766348663496635066351663526635366354663556635666357663586635966360663616636266363663646636566366663676636866369663706637166372663736637466375663766637766378663796638066381663826638366384663856638666387663886638966390663916639266393663946639566396663976639866399664006640166402664036640466405664066640766408664096641066411664126641366414664156641666417664186641966420664216642266423664246642566426664276642866429664306643166432664336643466435664366643766438664396644066441664426644366444664456644666447664486644966450664516645266453664546645566456664576645866459664606646166462664636646466465664666646766468664696647066471664726647366474664756647666477664786647966480664816648266483664846648566486664876648866489664906649166492664936649466495664966649766498664996650066501665026650366504665056650666507665086650966510665116651266513665146651566516665176651866519665206652166522665236652466525665266652766528665296653066531665326653366534665356653666537665386653966540665416654266543665446654566546665476654866549665506655166552665536655466555665566655766558665596656066561665626656366564665656656666567665686656966570665716657266573665746657566576665776657866579665806658166582665836658466585665866658766588665896659066591665926659366594665956659666597665986659966600666016660266603666046660566606666076660866609666106661166612666136661466615666166661766618666196662066621666226662366624666256662666627666286662966630666316663266633666346663566636666376663866639666406664166642666436664466645666466664766648666496665066651666526665366654666556665666657666586665966660666616666266663666646666566666666676666866669666706667166672666736667466675666766667766678666796668066681666826668366684666856668666687666886668966690666916669266693666946669566696666976669866699667006670166702667036670466705667066670766708667096671066711667126671366714667156671666717667186671966720667216672266723667246672566726667276672866729667306673166732667336673466735667366673766738667396674066741667426674366744667456674666747667486674966750667516675266753667546675566756667576675866759667606676166762667636676466765667666676766768667696677066771667726677366774667756677666777667786677966780667816678266783667846678566786667876678866789667906679166792667936679466795667966679766798667996680066801668026680366804668056680666807668086680966810668116681266813668146681566816668176681866819668206682166822668236682466825668266682766828668296683066831668326683366834668356683666837668386683966840668416684266843668446684566846668476684866849668506685166852668536685466855668566685766858668596686066861668626686366864668656686666867668686686966870668716687266873668746687566876668776687866879668806688166882668836688466885668866688766888668896689066891668926689366894668956689666897668986689966900669016690266903669046690566906669076690866909669106691166912669136691466915669166691766918669196692066921669226692366924669256692666927669286692966930669316693266933669346693566936669376693866939669406694166942669436694466945669466694766948669496695066951669526695366954669556695666957669586695966960669616696266963669646696566966669676696866969669706697166972669736697466975669766697766978669796698066981669826698366984669856698666987669886698966990669916699266993669946699566996669976699866999670006700167002670036700467005670066700767008670096701067011670126701367014670156701667017670186701967020670216702267023670246702567026670276702867029670306703167032670336703467035670366703767038670396704067041670426704367044670456704667047670486704967050670516705267053670546705567056670576705867059670606706167062670636706467065670666706767068670696707067071670726707367074670756707667077670786707967080670816708267083670846708567086670876708867089670906709167092670936709467095670966709767098670996710067101671026710367104671056710667107671086710967110671116711267113671146711567116671176711867119671206712167122671236712467125671266712767128671296713067131671326713367134671356713667137671386713967140671416714267143671446714567146671476714867149671506715167152671536715467155671566715767158671596716067161671626716367164671656716667167671686716967170671716717267173671746717567176671776717867179671806718167182671836718467185671866718767188671896719067191671926719367194671956719667197671986719967200672016720267203672046720567206672076720867209672106721167212672136721467215672166721767218672196722067221672226722367224672256722667227672286722967230672316723267233672346723567236672376723867239672406724167242672436724467245672466724767248672496725067251672526725367254672556725667257672586725967260672616726267263672646726567266672676726867269672706727167272672736727467275672766727767278672796728067281672826728367284672856728667287672886728967290672916729267293672946729567296672976729867299673006730167302673036730467305673066730767308673096731067311673126731367314673156731667317673186731967320673216732267323673246732567326673276732867329673306733167332673336733467335673366733767338673396734067341673426734367344673456734667347673486734967350673516735267353673546735567356673576735867359673606736167362673636736467365673666736767368673696737067371673726737367374673756737667377673786737967380673816738267383673846738567386673876738867389673906739167392673936739467395673966739767398673996740067401674026740367404674056740667407674086740967410674116741267413674146741567416674176741867419674206742167422674236742467425674266742767428674296743067431674326743367434674356743667437674386743967440674416744267443674446744567446674476744867449674506745167452674536745467455674566745767458674596746067461674626746367464674656746667467674686746967470674716747267473674746747567476674776747867479674806748167482674836748467485674866748767488674896749067491674926749367494674956749667497674986749967500675016750267503675046750567506675076750867509675106751167512675136751467515675166751767518675196752067521675226752367524675256752667527675286752967530675316753267533675346753567536675376753867539675406754167542675436754467545675466754767548675496755067551675526755367554675556755667557675586755967560675616756267563675646756567566675676756867569675706757167572675736757467575675766757767578675796758067581675826758367584675856758667587675886758967590675916759267593675946759567596675976759867599676006760167602676036760467605676066760767608676096761067611676126761367614676156761667617676186761967620676216762267623676246762567626676276762867629676306763167632676336763467635676366763767638676396764067641676426764367644676456764667647676486764967650676516765267653676546765567656676576765867659676606766167662676636766467665676666766767668676696767067671676726767367674676756767667677676786767967680676816768267683676846768567686676876768867689676906769167692676936769467695676966769767698676996770067701677026770367704677056770667707677086770967710677116771267713677146771567716677176771867719677206772167722677236772467725677266772767728677296773067731677326773367734677356773667737677386773967740677416774267743677446774567746677476774867749677506775167752677536775467755677566775767758677596776067761677626776367764677656776667767677686776967770677716777267773677746777567776677776777867779677806778167782677836778467785677866778767788677896779067791677926779367794677956779667797677986779967800678016780267803678046780567806678076780867809678106781167812678136781467815678166781767818678196782067821678226782367824678256782667827678286782967830678316783267833678346783567836678376783867839678406784167842678436784467845678466784767848678496785067851678526785367854678556785667857678586785967860678616786267863678646786567866678676786867869678706787167872678736787467875678766787767878678796788067881678826788367884678856788667887678886788967890678916789267893678946789567896678976789867899679006790167902679036790467905679066790767908679096791067911679126791367914679156791667917679186791967920679216792267923679246792567926679276792867929679306793167932679336793467935679366793767938679396794067941679426794367944679456794667947679486794967950679516795267953679546795567956679576795867959679606796167962679636796467965679666796767968679696797067971679726797367974679756797667977679786797967980679816798267983679846798567986679876798867989679906799167992679936799467995679966799767998679996800068001680026800368004680056800668007680086800968010680116801268013680146801568016680176801868019680206802168022680236802468025680266802768028680296803068031680326803368034680356803668037680386803968040680416804268043680446804568046680476804868049680506805168052680536805468055680566805768058680596806068061680626806368064680656806668067680686806968070680716807268073680746807568076680776807868079680806808168082680836808468085680866808768088680896809068091680926809368094680956809668097680986809968100681016810268103681046810568106681076810868109681106811168112681136811468115681166811768118681196812068121681226812368124681256812668127681286812968130681316813268133681346813568136681376813868139681406814168142681436814468145681466814768148681496815068151681526815368154681556815668157681586815968160681616816268163681646816568166681676816868169681706817168172681736817468175681766817768178681796818068181681826818368184681856818668187681886818968190681916819268193681946819568196681976819868199682006820168202682036820468205682066820768208682096821068211682126821368214682156821668217682186821968220682216822268223682246822568226682276822868229682306823168232682336823468235682366823768238682396824068241682426824368244682456824668247682486824968250682516825268253682546825568256682576825868259682606826168262682636826468265682666826768268682696827068271682726827368274682756827668277682786827968280682816828268283682846828568286682876828868289682906829168292682936829468295682966829768298682996830068301683026830368304683056830668307683086830968310683116831268313683146831568316683176831868319683206832168322683236832468325683266832768328683296833068331683326833368334683356833668337683386833968340683416834268343683446834568346683476834868349683506835168352683536835468355683566835768358683596836068361683626836368364683656836668367683686836968370683716837268373683746837568376683776837868379683806838168382683836838468385683866838768388683896839068391683926839368394683956839668397683986839968400684016840268403684046840568406684076840868409684106841168412684136841468415684166841768418684196842068421684226842368424684256842668427684286842968430684316843268433684346843568436684376843868439684406844168442684436844468445684466844768448684496845068451684526845368454684556845668457684586845968460684616846268463684646846568466684676846868469684706847168472684736847468475684766847768478684796848068481684826848368484684856848668487684886848968490684916849268493684946849568496684976849868499685006850168502685036850468505685066850768508685096851068511685126851368514685156851668517685186851968520685216852268523685246852568526685276852868529685306853168532685336853468535685366853768538685396854068541685426854368544685456854668547685486854968550685516855268553685546855568556685576855868559685606856168562685636856468565685666856768568685696857068571685726857368574685756857668577685786857968580685816858268583685846858568586685876858868589685906859168592685936859468595685966859768598685996860068601686026860368604686056860668607686086860968610686116861268613686146861568616686176861868619686206862168622686236862468625686266862768628686296863068631686326863368634686356863668637686386863968640686416864268643686446864568646686476864868649686506865168652686536865468655686566865768658686596866068661686626866368664686656866668667686686866968670686716867268673686746867568676686776867868679686806868168682686836868468685686866868768688686896869068691686926869368694686956869668697686986869968700687016870268703687046870568706687076870868709687106871168712687136871468715687166871768718687196872068721687226872368724687256872668727687286872968730687316873268733687346873568736687376873868739687406874168742687436874468745687466874768748687496875068751687526875368754687556875668757687586875968760687616876268763687646876568766687676876868769687706877168772687736877468775687766877768778687796878068781687826878368784687856878668787687886878968790687916879268793687946879568796687976879868799688006880168802688036880468805688066880768808688096881068811688126881368814688156881668817688186881968820688216882268823688246882568826688276882868829688306883168832688336883468835688366883768838688396884068841688426884368844688456884668847688486884968850688516885268853688546885568856688576885868859688606886168862688636886468865688666886768868688696887068871688726887368874688756887668877688786887968880688816888268883688846888568886688876888868889688906889168892688936889468895688966889768898688996890068901689026890368904689056890668907689086890968910689116891268913689146891568916689176891868919689206892168922689236892468925689266892768928689296893068931689326893368934689356893668937689386893968940689416894268943689446894568946689476894868949689506895168952689536895468955689566895768958689596896068961689626896368964689656896668967689686896968970689716897268973689746897568976689776897868979689806898168982689836898468985689866898768988689896899068991689926899368994689956899668997689986899969000690016900269003690046900569006690076900869009690106901169012690136901469015690166901769018690196902069021690226902369024690256902669027690286902969030690316903269033690346903569036690376903869039690406904169042690436904469045690466904769048690496905069051690526905369054690556905669057690586905969060690616906269063690646906569066690676906869069690706907169072690736907469075690766907769078690796908069081690826908369084690856908669087690886908969090690916909269093690946909569096690976909869099691006910169102691036910469105691066910769108691096911069111691126911369114691156911669117691186911969120691216912269123691246912569126691276912869129691306913169132691336913469135691366913769138691396914069141691426914369144691456914669147691486914969150691516915269153691546915569156691576915869159691606916169162691636916469165691666916769168691696917069171691726917369174691756917669177691786917969180691816918269183691846918569186691876918869189691906919169192691936919469195691966919769198691996920069201692026920369204692056920669207692086920969210692116921269213692146921569216692176921869219692206922169222692236922469225692266922769228692296923069231692326923369234692356923669237692386923969240692416924269243692446924569246692476924869249692506925169252692536925469255692566925769258692596926069261692626926369264692656926669267692686926969270692716927269273692746927569276692776927869279692806928169282692836928469285692866928769288692896929069291692926929369294692956929669297692986929969300693016930269303693046930569306693076930869309693106931169312693136931469315693166931769318693196932069321693226932369324693256932669327693286932969330693316933269333693346933569336693376933869339693406934169342693436934469345693466934769348693496935069351693526935369354693556935669357693586935969360693616936269363693646936569366693676936869369693706937169372693736937469375693766937769378693796938069381693826938369384693856938669387693886938969390693916939269393693946939569396693976939869399694006940169402694036940469405694066940769408694096941069411694126941369414694156941669417694186941969420694216942269423694246942569426694276942869429694306943169432694336943469435694366943769438694396944069441694426944369444694456944669447694486944969450694516945269453694546945569456694576945869459694606946169462694636946469465694666946769468694696947069471694726947369474694756947669477694786947969480694816948269483694846948569486694876948869489694906949169492694936949469495694966949769498694996950069501695026950369504695056950669507695086950969510695116951269513695146951569516695176951869519695206952169522695236952469525695266952769528695296953069531695326953369534695356953669537695386953969540695416954269543695446954569546695476954869549695506955169552695536955469555695566955769558695596956069561695626956369564695656956669567695686956969570695716957269573695746957569576695776957869579695806958169582695836958469585695866958769588695896959069591695926959369594695956959669597695986959969600696016960269603696046960569606696076960869609696106961169612696136961469615696166961769618696196962069621696226962369624696256962669627696286962969630696316963269633696346963569636696376963869639696406964169642696436964469645696466964769648696496965069651696526965369654696556965669657696586965969660696616966269663696646966569666696676966869669696706967169672696736967469675696766967769678696796968069681696826968369684696856968669687696886968969690696916969269693696946969569696696976969869699697006970169702697036970469705697066970769708697096971069711697126971369714697156971669717697186971969720697216972269723697246972569726697276972869729697306973169732697336973469735697366973769738697396974069741697426974369744697456974669747697486974969750697516975269753697546975569756697576975869759697606976169762697636976469765697666976769768697696977069771697726977369774697756977669777697786977969780697816978269783697846978569786697876978869789697906979169792697936979469795697966979769798697996980069801698026980369804698056980669807698086980969810698116981269813698146981569816698176981869819698206982169822698236982469825698266982769828698296983069831698326983369834698356983669837698386983969840698416984269843698446984569846698476984869849698506985169852698536985469855698566985769858698596986069861698626986369864698656986669867698686986969870698716987269873698746987569876698776987869879698806988169882698836988469885698866988769888698896989069891698926989369894698956989669897698986989969900699016990269903699046990569906699076990869909699106991169912699136991469915699166991769918699196992069921699226992369924699256992669927699286992969930699316993269933699346993569936699376993869939699406994169942699436994469945699466994769948699496995069951699526995369954699556995669957699586995969960699616996269963699646996569966699676996869969699706997169972699736997469975699766997769978699796998069981699826998369984699856998669987699886998969990699916999269993699946999569996699976999869999700007000170002700037000470005700067000770008700097001070011700127001370014700157001670017700187001970020700217002270023700247002570026700277002870029700307003170032700337003470035700367003770038700397004070041700427004370044700457004670047700487004970050700517005270053700547005570056700577005870059700607006170062700637006470065700667006770068700697007070071700727007370074700757007670077700787007970080700817008270083700847008570086700877008870089700907009170092700937009470095700967009770098700997010070101701027010370104701057010670107701087010970110701117011270113701147011570116701177011870119701207012170122701237012470125701267012770128701297013070131701327013370134701357013670137701387013970140701417014270143701447014570146701477014870149701507015170152701537015470155701567015770158701597016070161701627016370164701657016670167701687016970170701717017270173701747017570176701777017870179701807018170182701837018470185701867018770188701897019070191701927019370194701957019670197701987019970200702017020270203702047020570206702077020870209702107021170212702137021470215702167021770218702197022070221702227022370224702257022670227702287022970230702317023270233702347023570236702377023870239702407024170242702437024470245702467024770248702497025070251702527025370254702557025670257702587025970260702617026270263702647026570266702677026870269702707027170272702737027470275702767027770278702797028070281702827028370284702857028670287702887028970290702917029270293702947029570296702977029870299703007030170302703037030470305703067030770308703097031070311703127031370314703157031670317703187031970320703217032270323703247032570326703277032870329703307033170332703337033470335703367033770338703397034070341703427034370344703457034670347703487034970350703517035270353703547035570356703577035870359703607036170362703637036470365703667036770368703697037070371703727037370374703757037670377703787037970380703817038270383703847038570386703877038870389703907039170392703937039470395703967039770398703997040070401704027040370404704057040670407704087040970410704117041270413704147041570416704177041870419704207042170422704237042470425704267042770428704297043070431704327043370434704357043670437704387043970440704417044270443704447044570446704477044870449704507045170452704537045470455704567045770458704597046070461704627046370464704657046670467704687046970470704717047270473704747047570476704777047870479704807048170482704837048470485704867048770488704897049070491704927049370494704957049670497704987049970500705017050270503705047050570506705077050870509705107051170512705137051470515705167051770518705197052070521705227052370524705257052670527705287052970530705317053270533705347053570536705377053870539705407054170542705437054470545705467054770548705497055070551705527055370554705557055670557705587055970560705617056270563705647056570566705677056870569705707057170572705737057470575705767057770578705797058070581705827058370584705857058670587705887058970590705917059270593705947059570596705977059870599706007060170602706037060470605706067060770608706097061070611706127061370614706157061670617706187061970620706217062270623706247062570626706277062870629706307063170632706337063470635706367063770638706397064070641706427064370644706457064670647706487064970650706517065270653706547065570656706577065870659706607066170662706637066470665706667066770668706697067070671706727067370674706757067670677706787067970680706817068270683706847068570686706877068870689706907069170692706937069470695706967069770698706997070070701707027070370704707057070670707707087070970710707117071270713707147071570716707177071870719707207072170722707237072470725707267072770728707297073070731707327073370734707357073670737707387073970740707417074270743707447074570746707477074870749707507075170752707537075470755707567075770758707597076070761707627076370764707657076670767707687076970770707717077270773707747077570776707777077870779707807078170782707837078470785707867078770788707897079070791707927079370794707957079670797707987079970800708017080270803708047080570806708077080870809708107081170812708137081470815708167081770818708197082070821708227082370824708257082670827708287082970830708317083270833708347083570836708377083870839708407084170842708437084470845708467084770848708497085070851708527085370854708557085670857708587085970860708617086270863708647086570866708677086870869708707087170872708737087470875708767087770878708797088070881708827088370884708857088670887708887088970890708917089270893708947089570896708977089870899709007090170902709037090470905709067090770908709097091070911709127091370914709157091670917709187091970920709217092270923709247092570926709277092870929709307093170932709337093470935709367093770938709397094070941709427094370944709457094670947709487094970950709517095270953709547095570956709577095870959709607096170962709637096470965709667096770968709697097070971709727097370974709757097670977709787097970980709817098270983709847098570986709877098870989709907099170992709937099470995709967099770998709997100071001710027100371004710057100671007710087100971010710117101271013710147101571016710177101871019710207102171022710237102471025710267102771028710297103071031710327103371034710357103671037710387103971040710417104271043710447104571046710477104871049710507105171052710537105471055710567105771058710597106071061710627106371064710657106671067710687106971070710717107271073710747107571076710777107871079710807108171082710837108471085710867108771088710897109071091710927109371094710957109671097710987109971100711017110271103711047110571106711077110871109711107111171112711137111471115711167111771118711197112071121711227112371124711257112671127711287112971130711317113271133711347113571136711377113871139711407114171142711437114471145711467114771148711497115071151711527115371154711557115671157711587115971160711617116271163711647116571166711677116871169711707117171172711737117471175711767117771178711797118071181711827118371184711857118671187711887118971190711917119271193711947119571196711977119871199712007120171202712037120471205712067120771208712097121071211712127121371214712157121671217712187121971220712217122271223712247122571226712277122871229712307123171232712337123471235712367123771238712397124071241712427124371244712457124671247712487124971250712517125271253712547125571256712577125871259712607126171262712637126471265712667126771268712697127071271712727127371274712757127671277712787127971280712817128271283712847128571286712877128871289712907129171292712937129471295712967129771298712997130071301713027130371304713057130671307713087130971310713117131271313713147131571316713177131871319713207132171322713237132471325713267132771328713297133071331713327133371334713357133671337713387133971340713417134271343713447134571346713477134871349713507135171352713537135471355713567135771358713597136071361713627136371364713657136671367713687136971370713717137271373713747137571376713777137871379713807138171382713837138471385713867138771388713897139071391713927139371394713957139671397713987139971400714017140271403714047140571406714077140871409714107141171412714137141471415714167141771418714197142071421714227142371424714257142671427714287142971430714317143271433714347143571436714377143871439714407144171442714437144471445714467144771448714497145071451714527145371454714557145671457714587145971460714617146271463714647146571466714677146871469714707147171472714737147471475714767147771478714797148071481714827148371484714857148671487714887148971490714917149271493714947149571496714977149871499715007150171502715037150471505715067150771508715097151071511715127151371514715157151671517715187151971520715217152271523715247152571526715277152871529715307153171532715337153471535715367153771538715397154071541715427154371544715457154671547715487154971550715517155271553715547155571556715577155871559715607156171562715637156471565715667156771568715697157071571715727157371574715757157671577715787157971580715817158271583715847158571586715877158871589715907159171592715937159471595715967159771598715997160071601716027160371604716057160671607716087160971610716117161271613716147161571616716177161871619716207162171622716237162471625716267162771628716297163071631716327163371634716357163671637716387163971640716417164271643716447164571646716477164871649716507165171652716537165471655716567165771658716597166071661716627166371664716657166671667716687166971670716717167271673716747167571676716777167871679716807168171682716837168471685716867168771688716897169071691716927169371694716957169671697716987169971700717017170271703717047170571706717077170871709717107171171712717137171471715717167171771718717197172071721717227172371724717257172671727717287172971730717317173271733717347173571736717377173871739717407174171742717437174471745717467174771748717497175071751717527175371754717557175671757717587175971760717617176271763717647176571766717677176871769717707177171772717737177471775717767177771778717797178071781717827178371784717857178671787717887178971790717917179271793717947179571796717977179871799718007180171802718037180471805718067180771808718097181071811718127181371814718157181671817718187181971820718217182271823718247182571826718277182871829718307183171832718337183471835718367183771838718397184071841718427184371844718457184671847718487184971850718517185271853718547185571856718577185871859718607186171862718637186471865718667186771868718697187071871718727187371874718757187671877718787187971880718817188271883718847188571886718877188871889718907189171892718937189471895718967189771898718997190071901719027190371904719057190671907719087190971910719117191271913719147191571916719177191871919719207192171922719237192471925719267192771928719297193071931719327193371934719357193671937719387193971940719417194271943719447194571946719477194871949719507195171952719537195471955719567195771958719597196071961719627196371964719657196671967719687196971970719717197271973719747197571976719777197871979719807198171982719837198471985719867198771988719897199071991719927199371994719957199671997719987199972000720017200272003720047200572006720077200872009720107201172012720137201472015720167201772018720197202072021720227202372024720257202672027720287202972030720317203272033720347203572036720377203872039720407204172042720437204472045720467204772048720497205072051720527205372054720557205672057720587205972060720617206272063720647206572066720677206872069720707207172072720737207472075720767207772078720797208072081720827208372084720857208672087720887208972090720917209272093720947209572096720977209872099721007210172102721037210472105721067210772108721097211072111721127211372114721157211672117721187211972120721217212272123721247212572126721277212872129721307213172132721337213472135721367213772138721397214072141721427214372144721457214672147721487214972150721517215272153721547215572156721577215872159721607216172162721637216472165721667216772168721697217072171721727217372174721757217672177721787217972180721817218272183721847218572186721877218872189721907219172192721937219472195721967219772198721997220072201722027220372204722057220672207722087220972210722117221272213722147221572216722177221872219722207222172222722237222472225722267222772228722297223072231722327223372234722357223672237722387223972240722417224272243722447224572246722477224872249722507225172252722537225472255722567225772258722597226072261722627226372264722657226672267722687226972270722717227272273722747227572276722777227872279722807228172282722837228472285722867228772288722897229072291722927229372294722957229672297722987229972300723017230272303723047230572306723077230872309723107231172312723137231472315723167231772318723197232072321723227232372324723257232672327723287232972330723317233272333723347233572336723377233872339723407234172342723437234472345723467234772348723497235072351723527235372354723557235672357723587235972360723617236272363723647236572366723677236872369723707237172372723737237472375723767237772378723797238072381723827238372384723857238672387723887238972390723917239272393723947239572396723977239872399724007240172402724037240472405724067240772408724097241072411724127241372414724157241672417724187241972420724217242272423724247242572426724277242872429724307243172432724337243472435724367243772438724397244072441724427244372444724457244672447724487244972450724517245272453724547245572456724577245872459724607246172462724637246472465724667246772468724697247072471724727247372474724757247672477724787247972480724817248272483724847248572486724877248872489724907249172492724937249472495724967249772498724997250072501725027250372504725057250672507725087250972510725117251272513725147251572516725177251872519725207252172522725237252472525725267252772528725297253072531725327253372534725357253672537725387253972540725417254272543725447254572546725477254872549725507255172552725537255472555725567255772558725597256072561725627256372564725657256672567725687256972570725717257272573725747257572576725777257872579725807258172582725837258472585725867258772588725897259072591725927259372594725957259672597725987259972600726017260272603726047260572606726077260872609726107261172612726137261472615726167261772618726197262072621726227262372624726257262672627726287262972630726317263272633726347263572636726377263872639726407264172642726437264472645726467264772648726497265072651726527265372654726557265672657726587265972660726617266272663726647266572666726677266872669726707267172672726737267472675726767267772678726797268072681726827268372684726857268672687726887268972690726917269272693726947269572696726977269872699727007270172702727037270472705727067270772708727097271072711727127271372714727157271672717727187271972720727217272272723727247272572726727277272872729727307273172732727337273472735727367273772738727397274072741727427274372744727457274672747727487274972750727517275272753727547275572756727577275872759727607276172762727637276472765727667276772768727697277072771727727277372774727757277672777727787277972780727817278272783727847278572786727877278872789727907279172792727937279472795727967279772798727997280072801728027280372804728057280672807728087280972810728117281272813728147281572816728177281872819728207282172822728237282472825728267282772828728297283072831728327283372834728357283672837728387283972840728417284272843728447284572846728477284872849728507285172852728537285472855728567285772858728597286072861728627286372864728657286672867728687286972870728717287272873728747287572876728777287872879728807288172882728837288472885728867288772888728897289072891728927289372894728957289672897728987289972900729017290272903729047290572906729077290872909729107291172912729137291472915729167291772918729197292072921729227292372924729257292672927729287292972930729317293272933729347293572936729377293872939729407294172942729437294472945729467294772948729497295072951729527295372954729557295672957729587295972960729617296272963729647296572966729677296872969729707297172972729737297472975729767297772978729797298072981729827298372984729857298672987729887298972990729917299272993729947299572996729977299872999730007300173002730037300473005730067300773008730097301073011730127301373014730157301673017730187301973020730217302273023730247302573026730277302873029730307303173032730337303473035730367303773038730397304073041730427304373044730457304673047730487304973050730517305273053730547305573056730577305873059730607306173062730637306473065730667306773068730697307073071730727307373074730757307673077730787307973080730817308273083730847308573086730877308873089730907309173092730937309473095730967309773098730997310073101731027310373104731057310673107731087310973110731117311273113731147311573116731177311873119731207312173122731237312473125731267312773128731297313073131731327313373134731357313673137731387313973140731417314273143731447314573146731477314873149731507315173152731537315473155731567315773158731597316073161731627316373164731657316673167731687316973170731717317273173731747317573176731777317873179731807318173182731837318473185731867318773188731897319073191731927319373194731957319673197731987319973200732017320273203732047320573206732077320873209732107321173212732137321473215732167321773218732197322073221732227322373224732257322673227732287322973230732317323273233732347323573236732377323873239732407324173242732437324473245732467324773248732497325073251732527325373254732557325673257732587325973260732617326273263732647326573266732677326873269732707327173272732737327473275732767327773278732797328073281732827328373284732857328673287732887328973290732917329273293732947329573296732977329873299733007330173302733037330473305733067330773308733097331073311733127331373314733157331673317733187331973320733217332273323733247332573326733277332873329733307333173332733337333473335733367333773338733397334073341733427334373344733457334673347733487334973350733517335273353733547335573356733577335873359733607336173362733637336473365733667336773368733697337073371733727337373374733757337673377733787337973380733817338273383733847338573386733877338873389733907339173392733937339473395733967339773398733997340073401734027340373404734057340673407734087340973410734117341273413734147341573416734177341873419734207342173422734237342473425734267342773428734297343073431734327343373434734357343673437734387343973440734417344273443734447344573446734477344873449734507345173452734537345473455734567345773458734597346073461734627346373464734657346673467734687346973470734717347273473734747347573476734777347873479734807348173482734837348473485734867348773488734897349073491734927349373494734957349673497734987349973500735017350273503735047350573506735077350873509735107351173512735137351473515735167351773518735197352073521735227352373524735257352673527735287352973530735317353273533735347353573536735377353873539735407354173542735437354473545735467354773548735497355073551735527355373554735557355673557735587355973560735617356273563735647356573566735677356873569735707357173572735737357473575735767357773578735797358073581735827358373584735857358673587735887358973590735917359273593735947359573596735977359873599736007360173602736037360473605736067360773608736097361073611736127361373614736157361673617736187361973620736217362273623736247362573626736277362873629736307363173632736337363473635736367363773638736397364073641736427364373644736457364673647736487364973650736517365273653736547365573656736577365873659736607366173662736637366473665736667366773668736697367073671736727367373674736757367673677736787367973680736817368273683736847368573686736877368873689736907369173692736937369473695736967369773698736997370073701737027370373704737057370673707737087370973710737117371273713737147371573716737177371873719737207372173722737237372473725737267372773728737297373073731737327373373734737357373673737737387373973740737417374273743737447374573746737477374873749737507375173752737537375473755737567375773758737597376073761737627376373764737657376673767737687376973770737717377273773737747377573776737777377873779737807378173782737837378473785737867378773788737897379073791737927379373794737957379673797737987379973800738017380273803738047380573806738077380873809738107381173812738137381473815738167381773818738197382073821738227382373824738257382673827738287382973830738317383273833738347383573836738377383873839738407384173842738437384473845738467384773848738497385073851738527385373854738557385673857738587385973860738617386273863738647386573866738677386873869738707387173872738737387473875738767387773878738797388073881738827388373884738857388673887738887388973890738917389273893738947389573896738977389873899739007390173902739037390473905739067390773908739097391073911739127391373914739157391673917739187391973920739217392273923739247392573926739277392873929739307393173932739337393473935739367393773938739397394073941739427394373944739457394673947739487394973950739517395273953739547395573956739577395873959739607396173962739637396473965739667396773968739697397073971739727397373974739757397673977739787397973980739817398273983739847398573986739877398873989739907399173992739937399473995739967399773998739997400074001740027400374004740057400674007740087400974010740117401274013740147401574016740177401874019740207402174022740237402474025740267402774028740297403074031740327403374034740357403674037740387403974040740417404274043740447404574046740477404874049740507405174052740537405474055740567405774058740597406074061740627406374064740657406674067740687406974070740717407274073740747407574076740777407874079740807408174082740837408474085740867408774088740897409074091740927409374094740957409674097740987409974100741017410274103741047410574106741077410874109741107411174112741137411474115741167411774118741197412074121741227412374124741257412674127741287412974130741317413274133741347413574136741377413874139741407414174142741437414474145741467414774148741497415074151741527415374154741557415674157741587415974160741617416274163741647416574166741677416874169741707417174172741737417474175741767417774178741797418074181741827418374184741857418674187741887418974190741917419274193741947419574196741977419874199742007420174202742037420474205742067420774208742097421074211742127421374214742157421674217742187421974220742217422274223742247422574226742277422874229742307423174232742337423474235742367423774238742397424074241742427424374244742457424674247742487424974250742517425274253742547425574256742577425874259742607426174262742637426474265742667426774268742697427074271742727427374274742757427674277742787427974280742817428274283742847428574286742877428874289742907429174292742937429474295742967429774298742997430074301743027430374304743057430674307743087430974310743117431274313743147431574316743177431874319743207432174322743237432474325743267432774328743297433074331743327433374334743357433674337743387433974340743417434274343743447434574346743477434874349743507435174352743537435474355743567435774358743597436074361743627436374364743657436674367743687436974370743717437274373743747437574376743777437874379743807438174382743837438474385743867438774388743897439074391743927439374394743957439674397743987439974400744017440274403744047440574406744077440874409744107441174412744137441474415744167441774418744197442074421744227442374424744257442674427744287442974430744317443274433744347443574436744377443874439744407444174442744437444474445744467444774448744497445074451744527445374454744557445674457744587445974460744617446274463744647446574466744677446874469744707447174472744737447474475744767447774478744797448074481744827448374484744857448674487744887448974490744917449274493744947449574496744977449874499745007450174502745037450474505745067450774508745097451074511745127451374514745157451674517745187451974520745217452274523745247452574526745277452874529745307453174532745337453474535745367453774538745397454074541745427454374544745457454674547745487454974550745517455274553745547455574556745577455874559745607456174562745637456474565745667456774568745697457074571745727457374574745757457674577745787457974580745817458274583745847458574586745877458874589745907459174592745937459474595745967459774598745997460074601746027460374604746057460674607746087460974610746117461274613746147461574616746177461874619746207462174622746237462474625746267462774628746297463074631746327463374634746357463674637746387463974640746417464274643746447464574646746477464874649746507465174652746537465474655746567465774658746597466074661746627466374664746657466674667746687466974670746717467274673746747467574676746777467874679746807468174682746837468474685746867468774688746897469074691746927469374694746957469674697746987469974700747017470274703747047470574706747077470874709747107471174712747137471474715747167471774718747197472074721747227472374724747257472674727747287472974730747317473274733747347473574736747377473874739747407474174742747437474474745747467474774748747497475074751747527475374754747557475674757747587475974760747617476274763747647476574766747677476874769747707477174772747737477474775747767477774778747797478074781747827478374784747857478674787747887478974790747917479274793747947479574796747977479874799748007480174802748037480474805748067480774808748097481074811748127481374814748157481674817748187481974820748217482274823748247482574826748277482874829748307483174832748337483474835748367483774838748397484074841748427484374844748457484674847748487484974850748517485274853748547485574856748577485874859748607486174862748637486474865748667486774868748697487074871748727487374874748757487674877748787487974880748817488274883748847488574886748877488874889748907489174892748937489474895748967489774898748997490074901749027490374904749057490674907749087490974910749117491274913749147491574916749177491874919749207492174922749237492474925749267492774928749297493074931749327493374934749357493674937749387493974940749417494274943749447494574946749477494874949749507495174952749537495474955749567495774958749597496074961749627496374964749657496674967749687496974970749717497274973749747497574976749777497874979749807498174982749837498474985749867498774988749897499074991749927499374994749957499674997749987499975000750017500275003750047500575006750077500875009750107501175012750137501475015750167501775018750197502075021750227502375024750257502675027750287502975030750317503275033750347503575036750377503875039750407504175042750437504475045750467504775048750497505075051750527505375054750557505675057750587505975060750617506275063750647506575066750677506875069750707507175072750737507475075750767507775078750797508075081750827508375084750857508675087750887508975090750917509275093750947509575096750977509875099751007510175102751037510475105751067510775108751097511075111751127511375114751157511675117751187511975120751217512275123751247512575126751277512875129751307513175132751337513475135751367513775138751397514075141751427514375144751457514675147751487514975150751517515275153751547515575156751577515875159751607516175162751637516475165751667516775168751697517075171751727517375174751757517675177751787517975180751817518275183751847518575186751877518875189751907519175192751937519475195751967519775198751997520075201752027520375204752057520675207752087520975210752117521275213752147521575216752177521875219752207522175222752237522475225752267522775228752297523075231752327523375234752357523675237752387523975240752417524275243752447524575246752477524875249752507525175252752537525475255752567525775258752597526075261752627526375264752657526675267752687526975270752717527275273752747527575276752777527875279752807528175282752837528475285752867528775288752897529075291752927529375294752957529675297752987529975300753017530275303753047530575306753077530875309753107531175312753137531475315753167531775318753197532075321753227532375324753257532675327753287532975330753317533275333753347533575336753377533875339753407534175342753437534475345753467534775348753497535075351753527535375354753557535675357753587535975360753617536275363753647536575366753677536875369753707537175372753737537475375753767537775378753797538075381753827538375384753857538675387753887538975390753917539275393753947539575396753977539875399754007540175402754037540475405754067540775408754097541075411754127541375414754157541675417754187541975420754217542275423754247542575426754277542875429754307543175432754337543475435754367543775438754397544075441754427544375444754457544675447754487544975450754517545275453754547545575456754577545875459754607546175462754637546475465754667546775468754697547075471754727547375474754757547675477754787547975480754817548275483754847548575486754877548875489754907549175492754937549475495754967549775498754997550075501755027550375504755057550675507755087550975510755117551275513755147551575516755177551875519755207552175522755237552475525755267552775528755297553075531755327553375534755357553675537755387553975540755417554275543755447554575546755477554875549755507555175552755537555475555755567555775558755597556075561755627556375564755657556675567755687556975570755717557275573755747557575576755777557875579755807558175582755837558475585755867558775588755897559075591755927559375594755957559675597755987559975600756017560275603756047560575606756077560875609756107561175612756137561475615756167561775618756197562075621756227562375624756257562675627756287562975630756317563275633756347563575636756377563875639756407564175642756437564475645756467564775648756497565075651756527565375654756557565675657756587565975660756617566275663756647566575666756677566875669756707567175672756737567475675756767567775678756797568075681756827568375684756857568675687756887568975690756917569275693756947569575696756977569875699757007570175702757037570475705757067570775708757097571075711757127571375714757157571675717757187571975720757217572275723757247572575726757277572875729757307573175732757337573475735757367573775738757397574075741757427574375744757457574675747757487574975750757517575275753757547575575756757577575875759757607576175762757637576475765757667576775768757697577075771757727577375774757757577675777757787577975780757817578275783757847578575786757877578875789757907579175792757937579475795757967579775798757997580075801758027580375804758057580675807758087580975810758117581275813758147581575816758177581875819758207582175822758237582475825758267582775828758297583075831758327583375834758357583675837758387583975840758417584275843758447584575846758477584875849758507585175852758537585475855758567585775858758597586075861758627586375864758657586675867758687586975870758717587275873758747587575876758777587875879758807588175882758837588475885758867588775888758897589075891758927589375894758957589675897758987589975900759017590275903759047590575906759077590875909759107591175912759137591475915759167591775918759197592075921759227592375924759257592675927759287592975930759317593275933759347593575936759377593875939759407594175942759437594475945759467594775948759497595075951759527595375954759557595675957759587595975960759617596275963759647596575966759677596875969759707597175972759737597475975759767597775978759797598075981759827598375984759857598675987759887598975990759917599275993759947599575996759977599875999760007600176002760037600476005760067600776008760097601076011760127601376014760157601676017760187601976020760217602276023760247602576026760277602876029760307603176032760337603476035760367603776038760397604076041760427604376044760457604676047760487604976050760517605276053760547605576056760577605876059760607606176062760637606476065760667606776068760697607076071760727607376074760757607676077760787607976080760817608276083760847608576086760877608876089760907609176092760937609476095760967609776098760997610076101761027610376104761057610676107761087610976110761117611276113761147611576116761177611876119761207612176122761237612476125761267612776128761297613076131761327613376134761357613676137761387613976140761417614276143761447614576146761477614876149761507615176152761537615476155761567615776158761597616076161761627616376164761657616676167761687616976170761717617276173761747617576176761777617876179761807618176182761837618476185761867618776188761897619076191761927619376194761957619676197761987619976200762017620276203762047620576206762077620876209762107621176212762137621476215762167621776218762197622076221762227622376224762257622676227762287622976230762317623276233762347623576236762377623876239762407624176242762437624476245762467624776248762497625076251762527625376254762557625676257762587625976260762617626276263762647626576266762677626876269762707627176272762737627476275762767627776278762797628076281762827628376284762857628676287762887628976290762917629276293762947629576296762977629876299763007630176302763037630476305763067630776308763097631076311763127631376314763157631676317763187631976320763217632276323763247632576326763277632876329763307633176332763337633476335763367633776338763397634076341763427634376344763457634676347763487634976350763517635276353763547635576356763577635876359763607636176362763637636476365763667636776368763697637076371763727637376374763757637676377763787637976380763817638276383763847638576386763877638876389763907639176392763937639476395763967639776398763997640076401764027640376404764057640676407764087640976410764117641276413764147641576416764177641876419764207642176422764237642476425764267642776428764297643076431764327643376434764357643676437764387643976440764417644276443764447644576446764477644876449764507645176452764537645476455764567645776458764597646076461764627646376464764657646676467764687646976470764717647276473764747647576476764777647876479764807648176482764837648476485764867648776488764897649076491764927649376494764957649676497764987649976500765017650276503765047650576506765077650876509765107651176512765137651476515765167651776518765197652076521765227652376524765257652676527765287652976530765317653276533765347653576536765377653876539765407654176542765437654476545765467654776548765497655076551765527655376554765557655676557765587655976560765617656276563765647656576566765677656876569765707657176572765737657476575765767657776578765797658076581765827658376584765857658676587765887658976590765917659276593765947659576596765977659876599766007660176602766037660476605766067660776608766097661076611766127661376614766157661676617766187661976620766217662276623766247662576626766277662876629766307663176632766337663476635766367663776638766397664076641766427664376644766457664676647766487664976650766517665276653766547665576656766577665876659766607666176662766637666476665766667666776668766697667076671766727667376674766757667676677766787667976680766817668276683766847668576686766877668876689766907669176692766937669476695766967669776698766997670076701767027670376704767057670676707767087670976710767117671276713767147671576716767177671876719767207672176722767237672476725767267672776728767297673076731767327673376734767357673676737767387673976740767417674276743767447674576746767477674876749767507675176752767537675476755767567675776758767597676076761767627676376764767657676676767767687676976770767717677276773767747677576776767777677876779767807678176782767837678476785767867678776788767897679076791767927679376794767957679676797767987679976800768017680276803768047680576806768077680876809768107681176812768137681476815768167681776818768197682076821768227682376824768257682676827768287682976830768317683276833768347683576836768377683876839768407684176842768437684476845768467684776848768497685076851768527685376854768557685676857768587685976860768617686276863768647686576866768677686876869768707687176872768737687476875768767687776878768797688076881768827688376884768857688676887768887688976890768917689276893768947689576896768977689876899769007690176902769037690476905769067690776908769097691076911769127691376914769157691676917769187691976920769217692276923769247692576926769277692876929769307693176932769337693476935769367693776938769397694076941769427694376944769457694676947769487694976950769517695276953769547695576956769577695876959769607696176962769637696476965769667696776968769697697076971769727697376974769757697676977769787697976980769817698276983769847698576986769877698876989769907699176992769937699476995769967699776998769997700077001770027700377004770057700677007770087700977010770117701277013770147701577016770177701877019770207702177022770237702477025770267702777028770297703077031770327703377034770357703677037770387703977040770417704277043770447704577046770477704877049770507705177052770537705477055770567705777058770597706077061770627706377064770657706677067770687706977070770717707277073770747707577076770777707877079770807708177082770837708477085770867708777088770897709077091770927709377094770957709677097770987709977100771017710277103771047710577106771077710877109771107711177112771137711477115771167711777118771197712077121771227712377124771257712677127771287712977130771317713277133771347713577136771377713877139771407714177142771437714477145771467714777148771497715077151771527715377154771557715677157771587715977160771617716277163771647716577166771677716877169771707717177172771737717477175771767717777178771797718077181771827718377184771857718677187771887718977190771917719277193771947719577196771977719877199772007720177202772037720477205772067720777208772097721077211772127721377214772157721677217772187721977220772217722277223772247722577226772277722877229772307723177232772337723477235772367723777238772397724077241772427724377244772457724677247772487724977250772517725277253772547725577256772577725877259772607726177262772637726477265772667726777268772697727077271772727727377274772757727677277772787727977280772817728277283772847728577286772877728877289772907729177292772937729477295772967729777298772997730077301773027730377304773057730677307773087730977310773117731277313773147731577316773177731877319773207732177322773237732477325773267732777328773297733077331773327733377334773357733677337773387733977340773417734277343773447734577346773477734877349773507735177352773537735477355773567735777358773597736077361773627736377364773657736677367773687736977370773717737277373773747737577376773777737877379773807738177382773837738477385773867738777388773897739077391773927739377394773957739677397773987739977400774017740277403774047740577406774077740877409774107741177412774137741477415774167741777418774197742077421774227742377424774257742677427774287742977430774317743277433774347743577436774377743877439774407744177442774437744477445774467744777448774497745077451774527745377454774557745677457774587745977460774617746277463774647746577466774677746877469774707747177472774737747477475774767747777478774797748077481774827748377484774857748677487774887748977490774917749277493774947749577496774977749877499775007750177502775037750477505775067750777508775097751077511775127751377514775157751677517775187751977520775217752277523775247752577526775277752877529775307753177532775337753477535775367753777538775397754077541775427754377544775457754677547775487754977550775517755277553775547755577556775577755877559775607756177562775637756477565775667756777568775697757077571775727757377574775757757677577775787757977580775817758277583775847758577586775877758877589775907759177592775937759477595775967759777598775997760077601776027760377604776057760677607776087760977610776117761277613776147761577616776177761877619776207762177622776237762477625776267762777628776297763077631776327763377634776357763677637776387763977640776417764277643776447764577646776477764877649776507765177652776537765477655776567765777658776597766077661776627766377664776657766677667776687766977670776717767277673776747767577676776777767877679776807768177682776837768477685776867768777688776897769077691776927769377694776957769677697776987769977700777017770277703777047770577706777077770877709777107771177712777137771477715777167771777718777197772077721777227772377724777257772677727777287772977730777317773277733777347773577736777377773877739777407774177742777437774477745777467774777748777497775077751777527775377754777557775677757777587775977760777617776277763777647776577766777677776877769777707777177772777737777477775777767777777778777797778077781777827778377784777857778677787777887778977790777917779277793777947779577796777977779877799778007780177802778037780477805778067780777808778097781077811778127781377814778157781677817778187781977820778217782277823778247782577826778277782877829778307783177832778337783477835778367783777838778397784077841778427784377844778457784677847778487784977850778517785277853778547785577856778577785877859778607786177862778637786477865778667786777868778697787077871778727787377874778757787677877778787787977880778817788277883778847788577886778877788877889778907789177892778937789477895778967789777898778997790077901779027790377904779057790677907779087790977910779117791277913779147791577916779177791877919779207792177922779237792477925779267792777928779297793077931779327793377934779357793677937779387793977940779417794277943779447794577946779477794877949779507795177952779537795477955779567795777958779597796077961779627796377964779657796677967779687796977970779717797277973779747797577976779777797877979779807798177982779837798477985779867798777988779897799077991779927799377994779957799677997779987799978000780017800278003780047800578006780077800878009780107801178012780137801478015780167801778018780197802078021780227802378024780257802678027780287802978030780317803278033780347803578036780377803878039780407804178042780437804478045780467804778048780497805078051780527805378054780557805678057780587805978060780617806278063780647806578066780677806878069780707807178072780737807478075780767807778078780797808078081780827808378084780857808678087780887808978090780917809278093780947809578096780977809878099781007810178102781037810478105781067810778108781097811078111781127811378114781157811678117781187811978120781217812278123781247812578126781277812878129781307813178132781337813478135781367813778138781397814078141781427814378144781457814678147781487814978150781517815278153781547815578156781577815878159781607816178162781637816478165781667816778168781697817078171781727817378174781757817678177781787817978180781817818278183781847818578186781877818878189781907819178192781937819478195781967819778198781997820078201782027820378204782057820678207782087820978210782117821278213782147821578216782177821878219782207822178222782237822478225782267822778228782297823078231782327823378234782357823678237782387823978240782417824278243782447824578246782477824878249782507825178252782537825478255782567825778258782597826078261782627826378264782657826678267782687826978270782717827278273782747827578276782777827878279782807828178282782837828478285782867828778288782897829078291782927829378294782957829678297782987829978300783017830278303783047830578306783077830878309783107831178312783137831478315783167831778318783197832078321783227832378324783257832678327783287832978330783317833278333783347833578336783377833878339783407834178342783437834478345783467834778348783497835078351783527835378354783557835678357783587835978360783617836278363783647836578366783677836878369783707837178372783737837478375783767837778378783797838078381783827838378384783857838678387783887838978390783917839278393783947839578396783977839878399784007840178402784037840478405784067840778408784097841078411784127841378414784157841678417784187841978420784217842278423784247842578426784277842878429784307843178432784337843478435784367843778438784397844078441784427844378444784457844678447784487844978450784517845278453784547845578456784577845878459784607846178462784637846478465784667846778468784697847078471784727847378474784757847678477784787847978480784817848278483784847848578486784877848878489784907849178492784937849478495784967849778498784997850078501785027850378504785057850678507785087850978510785117851278513785147851578516785177851878519785207852178522785237852478525785267852778528785297853078531785327853378534785357853678537785387853978540785417854278543785447854578546785477854878549785507855178552785537855478555785567855778558785597856078561785627856378564785657856678567785687856978570785717857278573785747857578576785777857878579785807858178582785837858478585785867858778588785897859078591785927859378594785957859678597785987859978600786017860278603786047860578606786077860878609786107861178612786137861478615786167861778618786197862078621786227862378624786257862678627786287862978630786317863278633786347863578636786377863878639786407864178642786437864478645786467864778648786497865078651786527865378654786557865678657786587865978660786617866278663786647866578666786677866878669786707867178672786737867478675786767867778678786797868078681786827868378684786857868678687786887868978690786917869278693786947869578696786977869878699787007870178702787037870478705787067870778708787097871078711787127871378714787157871678717787187871978720787217872278723787247872578726787277872878729787307873178732787337873478735787367873778738787397874078741787427874378744787457874678747787487874978750787517875278753787547875578756787577875878759787607876178762787637876478765787667876778768787697877078771787727877378774787757877678777787787877978780787817878278783787847878578786787877878878789787907879178792787937879478795787967879778798787997880078801788027880378804788057880678807788087880978810788117881278813788147881578816788177881878819788207882178822788237882478825788267882778828788297883078831788327883378834788357883678837788387883978840788417884278843788447884578846788477884878849788507885178852788537885478855788567885778858788597886078861788627886378864788657886678867788687886978870788717887278873788747887578876788777887878879788807888178882788837888478885788867888778888788897889078891788927889378894788957889678897788987889978900789017890278903789047890578906789077890878909789107891178912789137891478915789167891778918789197892078921789227892378924789257892678927789287892978930789317893278933789347893578936789377893878939789407894178942789437894478945789467894778948789497895078951789527895378954789557895678957789587895978960789617896278963789647896578966789677896878969789707897178972789737897478975789767897778978789797898078981789827898378984789857898678987789887898978990789917899278993789947899578996789977899878999790007900179002790037900479005790067900779008790097901079011790127901379014790157901679017790187901979020790217902279023790247902579026790277902879029790307903179032790337903479035790367903779038790397904079041790427904379044790457904679047790487904979050790517905279053790547905579056790577905879059790607906179062790637906479065790667906779068790697907079071790727907379074790757907679077790787907979080790817908279083790847908579086790877908879089790907909179092790937909479095790967909779098790997910079101791027910379104791057910679107791087910979110791117911279113791147911579116791177911879119791207912179122791237912479125791267912779128791297913079131791327913379134791357913679137791387913979140791417914279143791447914579146791477914879149791507915179152791537915479155791567915779158791597916079161791627916379164791657916679167791687916979170791717917279173791747917579176791777917879179791807918179182791837918479185791867918779188791897919079191791927919379194791957919679197791987919979200792017920279203792047920579206792077920879209792107921179212792137921479215792167921779218792197922079221792227922379224792257922679227792287922979230792317923279233792347923579236792377923879239792407924179242792437924479245792467924779248792497925079251792527925379254792557925679257792587925979260792617926279263792647926579266792677926879269792707927179272792737927479275792767927779278792797928079281792827928379284792857928679287792887928979290792917929279293792947929579296792977929879299793007930179302793037930479305793067930779308793097931079311793127931379314793157931679317793187931979320793217932279323793247932579326793277932879329793307933179332793337933479335793367933779338793397934079341793427934379344793457934679347793487934979350793517935279353793547935579356793577935879359793607936179362793637936479365793667936779368793697937079371793727937379374793757937679377793787937979380793817938279383793847938579386793877938879389793907939179392793937939479395793967939779398793997940079401794027940379404794057940679407794087940979410794117941279413794147941579416794177941879419794207942179422794237942479425794267942779428794297943079431794327943379434794357943679437794387943979440794417944279443794447944579446794477944879449794507945179452794537945479455794567945779458794597946079461794627946379464794657946679467794687946979470794717947279473794747947579476794777947879479794807948179482794837948479485794867948779488794897949079491794927949379494794957949679497794987949979500795017950279503795047950579506795077950879509795107951179512795137951479515795167951779518795197952079521795227952379524795257952679527795287952979530795317953279533795347953579536795377953879539795407954179542795437954479545795467954779548795497955079551795527955379554795557955679557795587955979560795617956279563795647956579566795677956879569795707957179572795737957479575795767957779578795797958079581795827958379584795857958679587795887958979590795917959279593795947959579596795977959879599796007960179602796037960479605796067960779608796097961079611796127961379614796157961679617796187961979620796217962279623796247962579626796277962879629796307963179632796337963479635796367963779638796397964079641796427964379644796457964679647796487964979650796517965279653796547965579656796577965879659796607966179662796637966479665796667966779668796697967079671796727967379674796757967679677796787967979680796817968279683796847968579686796877968879689796907969179692796937969479695796967969779698796997970079701797027970379704797057970679707797087970979710797117971279713797147971579716797177971879719797207972179722797237972479725797267972779728797297973079731797327973379734797357973679737797387973979740797417974279743797447974579746797477974879749797507975179752797537975479755797567975779758797597976079761797627976379764797657976679767797687976979770797717977279773797747977579776797777977879779797807978179782797837978479785797867978779788797897979079791797927979379794797957979679797797987979979800798017980279803798047980579806798077980879809798107981179812798137981479815798167981779818798197982079821798227982379824798257982679827798287982979830798317983279833798347983579836798377983879839798407984179842798437984479845798467984779848798497985079851798527985379854798557985679857798587985979860798617986279863798647986579866798677986879869798707987179872798737987479875798767987779878798797988079881798827988379884798857988679887798887988979890798917989279893798947989579896798977989879899799007990179902799037990479905799067990779908799097991079911799127991379914799157991679917799187991979920799217992279923799247992579926799277992879929799307993179932799337993479935799367993779938799397994079941799427994379944799457994679947799487994979950799517995279953799547995579956799577995879959799607996179962799637996479965799667996779968799697997079971799727997379974799757997679977799787997979980799817998279983799847998579986799877998879989799907999179992799937999479995799967999779998799998000080001800028000380004800058000680007800088000980010800118001280013800148001580016800178001880019800208002180022800238002480025800268002780028800298003080031800328003380034800358003680037800388003980040800418004280043800448004580046800478004880049800508005180052800538005480055800568005780058800598006080061800628006380064800658006680067800688006980070800718007280073800748007580076800778007880079800808008180082800838008480085800868008780088800898009080091800928009380094800958009680097800988009980100801018010280103801048010580106801078010880109801108011180112801138011480115801168011780118801198012080121801228012380124801258012680127801288012980130801318013280133801348013580136801378013880139801408014180142801438014480145801468014780148801498015080151801528015380154801558015680157801588015980160801618016280163801648016580166801678016880169801708017180172801738017480175801768017780178801798018080181801828018380184801858018680187801888018980190801918019280193801948019580196801978019880199802008020180202802038020480205802068020780208802098021080211802128021380214802158021680217802188021980220802218022280223802248022580226802278022880229802308023180232802338023480235802368023780238802398024080241802428024380244802458024680247802488024980250802518025280253802548025580256802578025880259802608026180262802638026480265802668026780268802698027080271802728027380274802758027680277802788027980280802818028280283802848028580286802878028880289802908029180292802938029480295802968029780298802998030080301803028030380304803058030680307803088030980310803118031280313803148031580316803178031880319803208032180322803238032480325803268032780328803298033080331803328033380334803358033680337803388033980340803418034280343803448034580346803478034880349803508035180352803538035480355803568035780358803598036080361803628036380364803658036680367803688036980370803718037280373803748037580376803778037880379803808038180382803838038480385803868038780388803898039080391803928039380394803958039680397803988039980400804018040280403804048040580406804078040880409804108041180412804138041480415804168041780418804198042080421804228042380424804258042680427804288042980430804318043280433804348043580436804378043880439804408044180442804438044480445804468044780448804498045080451804528045380454804558045680457804588045980460804618046280463804648046580466804678046880469804708047180472804738047480475804768047780478804798048080481804828048380484804858048680487804888048980490804918049280493804948049580496804978049880499805008050180502805038050480505805068050780508805098051080511805128051380514805158051680517805188051980520805218052280523805248052580526805278052880529805308053180532805338053480535805368053780538805398054080541805428054380544805458054680547805488054980550805518055280553805548055580556805578055880559805608056180562805638056480565805668056780568805698057080571805728057380574805758057680577805788057980580805818058280583805848058580586805878058880589805908059180592805938059480595805968059780598805998060080601806028060380604806058060680607806088060980610806118061280613806148061580616806178061880619806208062180622806238062480625806268062780628806298063080631806328063380634806358063680637806388063980640806418064280643806448064580646806478064880649806508065180652806538065480655806568065780658806598066080661806628066380664806658066680667806688066980670806718067280673806748067580676806778067880679806808068180682806838068480685806868068780688806898069080691806928069380694806958069680697806988069980700807018070280703807048070580706807078070880709807108071180712807138071480715807168071780718807198072080721807228072380724807258072680727807288072980730807318073280733807348073580736807378073880739807408074180742807438074480745807468074780748807498075080751807528075380754807558075680757807588075980760807618076280763807648076580766807678076880769807708077180772807738077480775807768077780778807798078080781807828078380784807858078680787807888078980790807918079280793807948079580796807978079880799808008080180802808038080480805808068080780808808098081080811808128081380814808158081680817808188081980820808218082280823808248082580826808278082880829808308083180832808338083480835808368083780838808398084080841808428084380844808458084680847808488084980850808518085280853808548085580856808578085880859808608086180862808638086480865808668086780868808698087080871808728087380874808758087680877808788087980880808818088280883808848088580886808878088880889808908089180892808938089480895808968089780898808998090080901809028090380904809058090680907809088090980910809118091280913809148091580916809178091880919809208092180922809238092480925809268092780928809298093080931809328093380934809358093680937809388093980940809418094280943809448094580946809478094880949809508095180952809538095480955809568095780958809598096080961809628096380964809658096680967809688096980970809718097280973809748097580976809778097880979809808098180982809838098480985809868098780988809898099080991809928099380994809958099680997809988099981000810018100281003810048100581006810078100881009810108101181012810138101481015810168101781018810198102081021810228102381024810258102681027810288102981030810318103281033810348103581036810378103881039810408104181042810438104481045810468104781048810498105081051810528105381054810558105681057810588105981060810618106281063810648106581066810678106881069810708107181072810738107481075810768107781078810798108081081810828108381084810858108681087810888108981090810918109281093810948109581096810978109881099811008110181102811038110481105811068110781108811098111081111811128111381114811158111681117811188111981120811218112281123811248112581126811278112881129811308113181132811338113481135811368113781138811398114081141811428114381144811458114681147811488114981150811518115281153811548115581156811578115881159811608116181162811638116481165811668116781168811698117081171811728117381174811758117681177811788117981180811818118281183811848118581186811878118881189811908119181192811938119481195811968119781198811998120081201812028120381204812058120681207812088120981210812118121281213812148121581216812178121881219812208122181222812238122481225812268122781228812298123081231812328123381234812358123681237812388123981240812418124281243812448124581246812478124881249812508125181252812538125481255812568125781258812598126081261812628126381264812658126681267812688126981270812718127281273812748127581276812778127881279812808128181282812838128481285812868128781288812898129081291812928129381294812958129681297812988129981300813018130281303813048130581306813078130881309813108131181312813138131481315813168131781318813198132081321813228132381324813258132681327813288132981330813318133281333813348133581336813378133881339813408134181342813438134481345813468134781348813498135081351813528135381354813558135681357813588135981360813618136281363813648136581366813678136881369813708137181372813738137481375813768137781378813798138081381813828138381384813858138681387813888138981390813918139281393813948139581396813978139881399814008140181402814038140481405814068140781408814098141081411814128141381414814158141681417814188141981420814218142281423814248142581426814278142881429814308143181432814338143481435814368143781438814398144081441814428144381444814458144681447814488144981450814518145281453814548145581456814578145881459814608146181462814638146481465814668146781468814698147081471814728147381474814758147681477814788147981480814818148281483814848148581486814878148881489814908149181492814938149481495814968149781498814998150081501815028150381504815058150681507815088150981510815118151281513815148151581516815178151881519815208152181522815238152481525815268152781528815298153081531815328153381534815358153681537815388153981540815418154281543815448154581546815478154881549815508155181552815538155481555815568155781558815598156081561815628156381564815658156681567815688156981570815718157281573815748157581576815778157881579815808158181582815838158481585815868158781588815898159081591815928159381594815958159681597815988159981600816018160281603816048160581606816078160881609816108161181612816138161481615816168161781618816198162081621816228162381624816258162681627816288162981630816318163281633816348163581636816378163881639816408164181642816438164481645816468164781648816498165081651816528165381654816558165681657816588165981660816618166281663816648166581666816678166881669816708167181672816738167481675816768167781678816798168081681816828168381684816858168681687816888168981690816918169281693816948169581696816978169881699817008170181702817038170481705817068170781708817098171081711817128171381714817158171681717817188171981720817218172281723817248172581726817278172881729817308173181732817338173481735817368173781738817398174081741817428174381744817458174681747817488174981750817518175281753817548175581756817578175881759817608176181762817638176481765817668176781768817698177081771817728177381774817758177681777817788177981780817818178281783817848178581786817878178881789817908179181792817938179481795817968179781798817998180081801818028180381804818058180681807818088180981810818118181281813818148181581816818178181881819818208182181822818238182481825818268182781828818298183081831818328183381834818358183681837818388183981840818418184281843818448184581846818478184881849818508185181852818538185481855818568185781858818598186081861818628186381864818658186681867818688186981870818718187281873818748187581876818778187881879818808188181882818838188481885818868188781888818898189081891818928189381894818958189681897818988189981900819018190281903819048190581906819078190881909819108191181912819138191481915819168191781918819198192081921819228192381924819258192681927819288192981930819318193281933819348193581936819378193881939819408194181942819438194481945819468194781948819498195081951819528195381954819558195681957819588195981960819618196281963819648196581966819678196881969819708197181972819738197481975819768197781978819798198081981819828198381984819858198681987819888198981990819918199281993819948199581996819978199881999820008200182002820038200482005820068200782008820098201082011820128201382014820158201682017820188201982020820218202282023820248202582026820278202882029820308203182032820338203482035820368203782038820398204082041820428204382044820458204682047820488204982050820518205282053820548205582056820578205882059820608206182062820638206482065820668206782068820698207082071820728207382074820758207682077820788207982080820818208282083820848208582086820878208882089820908209182092820938209482095820968209782098820998210082101821028210382104821058210682107821088210982110821118211282113821148211582116821178211882119821208212182122821238212482125821268212782128821298213082131821328213382134821358213682137821388213982140821418214282143821448214582146821478214882149821508215182152821538215482155821568215782158821598216082161821628216382164821658216682167821688216982170821718217282173821748217582176821778217882179821808218182182821838218482185821868218782188821898219082191821928219382194821958219682197821988219982200822018220282203822048220582206822078220882209822108221182212822138221482215822168221782218822198222082221822228222382224822258222682227822288222982230822318223282233822348223582236822378223882239822408224182242822438224482245822468224782248822498225082251822528225382254822558225682257822588225982260822618226282263822648226582266822678226882269822708227182272822738227482275822768227782278822798228082281822828228382284822858228682287822888228982290822918229282293822948229582296822978229882299823008230182302823038230482305823068230782308823098231082311823128231382314823158231682317823188231982320823218232282323823248232582326823278232882329823308233182332823338233482335823368233782338823398234082341823428234382344823458234682347823488234982350823518235282353823548235582356823578235882359823608236182362823638236482365823668236782368823698237082371823728237382374823758237682377823788237982380823818238282383823848238582386823878238882389823908239182392823938239482395823968239782398823998240082401824028240382404824058240682407824088240982410824118241282413824148241582416824178241882419824208242182422824238242482425824268242782428824298243082431824328243382434824358243682437824388243982440824418244282443824448244582446824478244882449824508245182452824538245482455824568245782458824598246082461824628246382464824658246682467824688246982470824718247282473824748247582476824778247882479824808248182482824838248482485824868248782488824898249082491824928249382494824958249682497824988249982500825018250282503825048250582506825078250882509825108251182512825138251482515825168251782518825198252082521825228252382524825258252682527825288252982530825318253282533825348253582536825378253882539825408254182542825438254482545825468254782548825498255082551825528255382554825558255682557825588255982560825618256282563825648256582566825678256882569825708257182572825738257482575825768257782578825798258082581825828258382584825858258682587825888258982590825918259282593825948259582596825978259882599826008260182602826038260482605826068260782608826098261082611826128261382614826158261682617826188261982620826218262282623826248262582626826278262882629826308263182632826338263482635826368263782638826398264082641826428264382644826458264682647826488264982650826518265282653826548265582656826578265882659826608266182662826638266482665826668266782668826698267082671826728267382674826758267682677826788267982680826818268282683826848268582686826878268882689826908269182692826938269482695826968269782698826998270082701827028270382704827058270682707827088270982710827118271282713827148271582716827178271882719827208272182722827238272482725827268272782728827298273082731827328273382734827358273682737827388273982740827418274282743827448274582746827478274882749827508275182752827538275482755827568275782758827598276082761827628276382764827658276682767827688276982770827718277282773827748277582776827778277882779827808278182782827838278482785827868278782788827898279082791827928279382794827958279682797827988279982800828018280282803828048280582806828078280882809828108281182812828138281482815828168281782818828198282082821828228282382824828258282682827828288282982830828318283282833828348283582836828378283882839828408284182842828438284482845828468284782848828498285082851828528285382854828558285682857828588285982860828618286282863828648286582866828678286882869828708287182872828738287482875828768287782878828798288082881828828288382884828858288682887828888288982890828918289282893828948289582896828978289882899829008290182902829038290482905829068290782908829098291082911829128291382914829158291682917829188291982920829218292282923829248292582926829278292882929829308293182932829338293482935829368293782938829398294082941829428294382944829458294682947829488294982950829518295282953829548295582956829578295882959829608296182962829638296482965829668296782968829698297082971829728297382974829758297682977829788297982980829818298282983829848298582986829878298882989829908299182992829938299482995829968299782998829998300083001830028300383004830058300683007830088300983010830118301283013830148301583016830178301883019830208302183022830238302483025830268302783028830298303083031830328303383034830358303683037830388303983040830418304283043830448304583046830478304883049830508305183052830538305483055830568305783058830598306083061830628306383064830658306683067830688306983070830718307283073830748307583076830778307883079830808308183082830838308483085830868308783088830898309083091830928309383094830958309683097830988309983100831018310283103831048310583106831078310883109831108311183112831138311483115831168311783118831198312083121831228312383124831258312683127831288312983130831318313283133831348313583136831378313883139831408314183142831438314483145831468314783148831498315083151831528315383154831558315683157831588315983160831618316283163831648316583166831678316883169831708317183172831738317483175831768317783178831798318083181831828318383184831858318683187831888318983190831918319283193831948319583196831978319883199832008320183202832038320483205832068320783208832098321083211832128321383214832158321683217832188321983220832218322283223832248322583226832278322883229832308323183232832338323483235832368323783238832398324083241832428324383244832458324683247832488324983250832518325283253832548325583256832578325883259832608326183262832638326483265832668326783268832698327083271832728327383274832758327683277832788327983280832818328283283832848328583286832878328883289832908329183292832938329483295832968329783298832998330083301833028330383304833058330683307833088330983310833118331283313833148331583316833178331883319833208332183322833238332483325833268332783328833298333083331833328333383334833358333683337833388333983340833418334283343833448334583346833478334883349833508335183352833538335483355833568335783358833598336083361833628336383364833658336683367833688336983370833718337283373833748337583376833778337883379833808338183382833838338483385833868338783388833898339083391833928339383394833958339683397833988339983400834018340283403834048340583406834078340883409834108341183412834138341483415834168341783418834198342083421834228342383424834258342683427834288342983430834318343283433834348343583436834378343883439834408344183442834438344483445834468344783448834498345083451834528345383454834558345683457834588345983460834618346283463834648346583466834678346883469834708347183472834738347483475834768347783478834798348083481834828348383484834858348683487834888348983490834918349283493834948349583496834978349883499835008350183502835038350483505835068350783508835098351083511835128351383514835158351683517835188351983520835218352283523835248352583526835278352883529835308353183532835338353483535835368353783538835398354083541835428354383544835458354683547835488354983550835518355283553835548355583556835578355883559835608356183562835638356483565835668356783568835698357083571835728357383574835758357683577835788357983580835818358283583835848358583586835878358883589835908359183592835938359483595835968359783598835998360083601836028360383604836058360683607836088360983610836118361283613836148361583616836178361883619836208362183622836238362483625836268362783628836298363083631836328363383634836358363683637836388363983640836418364283643836448364583646836478364883649836508365183652836538365483655836568365783658836598366083661836628366383664836658366683667836688366983670836718367283673836748367583676836778367883679836808368183682836838368483685836868368783688836898369083691836928369383694836958369683697836988369983700837018370283703837048370583706837078370883709837108371183712837138371483715837168371783718837198372083721837228372383724837258372683727837288372983730837318373283733837348373583736837378373883739837408374183742837438374483745837468374783748837498375083751837528375383754837558375683757837588375983760837618376283763837648376583766837678376883769837708377183772837738377483775837768377783778837798378083781837828378383784837858378683787837888378983790837918379283793837948379583796837978379883799838008380183802838038380483805838068380783808838098381083811838128381383814838158381683817838188381983820838218382283823838248382583826838278382883829838308383183832838338383483835838368383783838838398384083841838428384383844838458384683847838488384983850838518385283853838548385583856838578385883859838608386183862838638386483865838668386783868838698387083871838728387383874838758387683877838788387983880838818388283883838848388583886838878388883889838908389183892838938389483895838968389783898838998390083901839028390383904839058390683907839088390983910839118391283913839148391583916839178391883919839208392183922839238392483925839268392783928839298393083931839328393383934839358393683937839388393983940839418394283943839448394583946839478394883949839508395183952839538395483955839568395783958839598396083961839628396383964839658396683967839688396983970839718397283973839748397583976839778397883979839808398183982839838398483985839868398783988839898399083991839928399383994839958399683997839988399984000840018400284003840048400584006840078400884009840108401184012840138401484015840168401784018840198402084021840228402384024840258402684027840288402984030840318403284033840348403584036840378403884039840408404184042840438404484045840468404784048840498405084051840528405384054840558405684057840588405984060840618406284063840648406584066840678406884069840708407184072840738407484075840768407784078840798408084081840828408384084840858408684087840888408984090840918409284093840948409584096840978409884099841008410184102841038410484105841068410784108841098411084111841128411384114841158411684117841188411984120841218412284123841248412584126841278412884129841308413184132841338413484135841368413784138841398414084141841428414384144841458414684147841488414984150841518415284153841548415584156841578415884159841608416184162841638416484165841668416784168841698417084171841728417384174841758417684177841788417984180841818418284183841848418584186841878418884189841908419184192841938419484195841968419784198841998420084201842028420384204842058420684207842088420984210842118421284213842148421584216842178421884219842208422184222842238422484225842268422784228842298423084231842328423384234842358423684237842388423984240842418424284243842448424584246842478424884249842508425184252842538425484255842568425784258842598426084261842628426384264842658426684267842688426984270842718427284273842748427584276842778427884279842808428184282842838428484285842868428784288842898429084291842928429384294842958429684297842988429984300843018430284303843048430584306843078430884309843108431184312843138431484315843168431784318843198432084321843228432384324843258432684327843288432984330843318433284333843348433584336843378433884339843408434184342843438434484345843468434784348843498435084351843528435384354843558435684357843588435984360843618436284363843648436584366843678436884369843708437184372843738437484375843768437784378843798438084381843828438384384843858438684387843888438984390843918439284393843948439584396843978439884399844008440184402844038440484405844068440784408844098441084411844128441384414844158441684417844188441984420844218442284423844248442584426844278442884429844308443184432844338443484435844368443784438844398444084441844428444384444844458444684447844488444984450844518445284453844548445584456844578445884459844608446184462844638446484465844668446784468844698447084471844728447384474844758447684477844788447984480844818448284483844848448584486844878448884489844908449184492844938449484495844968449784498844998450084501845028450384504845058450684507845088450984510845118451284513845148451584516845178451884519845208452184522845238452484525845268452784528845298453084531845328453384534845358453684537845388453984540845418454284543845448454584546845478454884549845508455184552845538455484555845568455784558845598456084561845628456384564845658456684567845688456984570845718457284573845748457584576845778457884579845808458184582845838458484585845868458784588845898459084591845928459384594845958459684597845988459984600846018460284603846048460584606846078460884609846108461184612846138461484615846168461784618846198462084621846228462384624846258462684627846288462984630846318463284633846348463584636846378463884639846408464184642846438464484645846468464784648846498465084651846528465384654846558465684657846588465984660846618466284663846648466584666846678466884669846708467184672846738467484675846768467784678846798468084681846828468384684846858468684687846888468984690846918469284693846948469584696846978469884699847008470184702847038470484705847068470784708847098471084711847128471384714847158471684717847188471984720847218472284723847248472584726847278472884729847308473184732847338473484735847368473784738847398474084741847428474384744847458474684747847488474984750847518475284753847548475584756847578475884759847608476184762847638476484765847668476784768847698477084771847728477384774847758477684777847788477984780847818478284783847848478584786847878478884789847908479184792847938479484795847968479784798847998480084801848028480384804848058480684807848088480984810848118481284813848148481584816848178481884819848208482184822848238482484825848268482784828848298483084831848328483384834848358483684837848388483984840848418484284843848448484584846848478484884849848508485184852848538485484855848568485784858848598486084861848628486384864848658486684867848688486984870848718487284873848748487584876848778487884879848808488184882848838488484885848868488784888848898489084891848928489384894848958489684897848988489984900849018490284903849048490584906849078490884909849108491184912849138491484915849168491784918849198492084921849228492384924849258492684927849288492984930849318493284933849348493584936849378493884939849408494184942849438494484945849468494784948849498495084951849528495384954849558495684957849588495984960849618496284963849648496584966849678496884969849708497184972849738497484975849768497784978849798498084981849828498384984849858498684987849888498984990849918499284993849948499584996849978499884999850008500185002850038500485005850068500785008850098501085011850128501385014850158501685017850188501985020850218502285023850248502585026850278502885029850308503185032850338503485035850368503785038850398504085041850428504385044850458504685047850488504985050850518505285053850548505585056850578505885059850608506185062850638506485065850668506785068850698507085071850728507385074850758507685077850788507985080850818508285083850848508585086850878508885089850908509185092850938509485095850968509785098850998510085101851028510385104851058510685107851088510985110851118511285113851148511585116851178511885119851208512185122851238512485125851268512785128851298513085131851328513385134851358513685137851388513985140851418514285143851448514585146851478514885149851508515185152851538515485155851568515785158851598516085161851628516385164851658516685167851688516985170851718517285173851748517585176851778517885179851808518185182851838518485185851868518785188851898519085191851928519385194851958519685197851988519985200852018520285203852048520585206852078520885209852108521185212852138521485215852168521785218852198522085221852228522385224852258522685227852288522985230852318523285233852348523585236852378523885239852408524185242852438524485245852468524785248852498525085251852528525385254852558525685257852588525985260852618526285263852648526585266852678526885269852708527185272852738527485275852768527785278852798528085281852828528385284852858528685287852888528985290852918529285293852948529585296852978529885299853008530185302853038530485305853068530785308853098531085311853128531385314853158531685317853188531985320853218532285323853248532585326853278532885329853308533185332853338533485335853368533785338853398534085341853428534385344853458534685347853488534985350853518535285353853548535585356853578535885359853608536185362853638536485365853668536785368853698537085371853728537385374853758537685377853788537985380853818538285383853848538585386853878538885389853908539185392853938539485395853968539785398853998540085401854028540385404854058540685407854088540985410854118541285413854148541585416854178541885419854208542185422854238542485425854268542785428854298543085431854328543385434854358543685437854388543985440854418544285443854448544585446854478544885449854508545185452854538545485455854568545785458854598546085461854628546385464854658546685467854688546985470854718547285473854748547585476854778547885479854808548185482854838548485485854868548785488854898549085491854928549385494854958549685497854988549985500855018550285503855048550585506855078550885509855108551185512855138551485515855168551785518855198552085521855228552385524855258552685527855288552985530855318553285533855348553585536855378553885539855408554185542855438554485545855468554785548855498555085551855528555385554855558555685557855588555985560855618556285563855648556585566855678556885569855708557185572855738557485575855768557785578855798558085581855828558385584855858558685587855888558985590855918559285593855948559585596855978559885599856008560185602856038560485605856068560785608856098561085611856128561385614856158561685617856188561985620856218562285623856248562585626856278562885629856308563185632856338563485635856368563785638856398564085641856428564385644856458564685647856488564985650856518565285653856548565585656856578565885659856608566185662856638566485665856668566785668856698567085671856728567385674856758567685677856788567985680856818568285683856848568585686856878568885689856908569185692856938569485695856968569785698856998570085701857028570385704857058570685707857088570985710857118571285713857148571585716857178571885719857208572185722857238572485725857268572785728857298573085731857328573385734857358573685737857388573985740857418574285743857448574585746857478574885749857508575185752857538575485755857568575785758857598576085761857628576385764857658576685767857688576985770857718577285773857748577585776857778577885779857808578185782857838578485785857868578785788857898579085791857928579385794857958579685797857988579985800858018580285803858048580585806858078580885809858108581185812858138581485815858168581785818858198582085821858228582385824858258582685827858288582985830858318583285833858348583585836858378583885839858408584185842858438584485845858468584785848858498585085851858528585385854858558585685857858588585985860858618586285863858648586585866858678586885869858708587185872858738587485875858768587785878858798588085881858828588385884858858588685887858888588985890858918589285893858948589585896858978589885899859008590185902859038590485905859068590785908859098591085911859128591385914859158591685917859188591985920859218592285923859248592585926859278592885929859308593185932859338593485935859368593785938859398594085941859428594385944859458594685947859488594985950859518595285953859548595585956859578595885959859608596185962859638596485965859668596785968859698597085971859728597385974859758597685977859788597985980859818598285983859848598585986859878598885989859908599185992859938599485995859968599785998859998600086001860028600386004860058600686007860088600986010860118601286013860148601586016860178601886019860208602186022860238602486025860268602786028860298603086031860328603386034860358603686037860388603986040860418604286043860448604586046860478604886049860508605186052860538605486055860568605786058860598606086061860628606386064860658606686067860688606986070860718607286073860748607586076860778607886079860808608186082860838608486085860868608786088860898609086091860928609386094860958609686097860988609986100861018610286103861048610586106861078610886109861108611186112861138611486115861168611786118861198612086121861228612386124861258612686127861288612986130861318613286133861348613586136861378613886139861408614186142861438614486145861468614786148861498615086151861528615386154861558615686157861588615986160861618616286163861648616586166861678616886169861708617186172861738617486175861768617786178861798618086181861828618386184861858618686187861888618986190861918619286193861948619586196861978619886199862008620186202862038620486205862068620786208862098621086211862128621386214862158621686217862188621986220862218622286223862248622586226862278622886229862308623186232862338623486235862368623786238862398624086241862428624386244862458624686247862488624986250862518625286253862548625586256862578625886259862608626186262862638626486265862668626786268862698627086271862728627386274862758627686277862788627986280862818628286283862848628586286862878628886289862908629186292862938629486295862968629786298862998630086301863028630386304863058630686307863088630986310863118631286313863148631586316863178631886319863208632186322863238632486325863268632786328863298633086331863328633386334863358633686337863388633986340863418634286343863448634586346863478634886349863508635186352863538635486355863568635786358863598636086361863628636386364863658636686367863688636986370863718637286373863748637586376863778637886379863808638186382863838638486385863868638786388863898639086391863928639386394863958639686397863988639986400864018640286403864048640586406864078640886409864108641186412864138641486415864168641786418864198642086421864228642386424864258642686427864288642986430864318643286433864348643586436864378643886439864408644186442864438644486445864468644786448864498645086451864528645386454864558645686457864588645986460864618646286463864648646586466864678646886469864708647186472864738647486475864768647786478864798648086481864828648386484864858648686487864888648986490864918649286493864948649586496864978649886499865008650186502865038650486505865068650786508865098651086511865128651386514865158651686517865188651986520865218652286523865248652586526865278652886529865308653186532865338653486535865368653786538865398654086541865428654386544865458654686547865488654986550865518655286553865548655586556865578655886559865608656186562865638656486565865668656786568865698657086571865728657386574865758657686577865788657986580865818658286583865848658586586865878658886589865908659186592865938659486595865968659786598865998660086601866028660386604866058660686607866088660986610866118661286613866148661586616866178661886619866208662186622866238662486625866268662786628866298663086631866328663386634866358663686637866388663986640866418664286643866448664586646866478664886649866508665186652866538665486655866568665786658866598666086661866628666386664866658666686667866688666986670866718667286673866748667586676866778667886679866808668186682866838668486685866868668786688866898669086691866928669386694866958669686697866988669986700867018670286703867048670586706867078670886709867108671186712867138671486715867168671786718867198672086721867228672386724867258672686727867288672986730867318673286733867348673586736867378673886739867408674186742867438674486745867468674786748867498675086751867528675386754867558675686757867588675986760867618676286763867648676586766867678676886769867708677186772867738677486775867768677786778867798678086781867828678386784867858678686787867888678986790867918679286793867948679586796867978679886799868008680186802868038680486805868068680786808868098681086811868128681386814868158681686817868188681986820868218682286823868248682586826868278682886829868308683186832868338683486835868368683786838868398684086841868428684386844868458684686847868488684986850868518685286853868548685586856868578685886859868608686186862868638686486865868668686786868868698687086871868728687386874868758687686877868788687986880868818688286883868848688586886868878688886889868908689186892868938689486895868968689786898868998690086901869028690386904869058690686907869088690986910869118691286913869148691586916869178691886919869208692186922869238692486925869268692786928869298693086931869328693386934869358693686937869388693986940869418694286943869448694586946869478694886949869508695186952869538695486955869568695786958869598696086961869628696386964869658696686967869688696986970869718697286973869748697586976869778697886979869808698186982869838698486985869868698786988869898699086991869928699386994869958699686997869988699987000870018700287003870048700587006870078700887009870108701187012870138701487015870168701787018870198702087021870228702387024870258702687027870288702987030870318703287033870348703587036870378703887039870408704187042870438704487045870468704787048870498705087051870528705387054870558705687057870588705987060870618706287063870648706587066870678706887069870708707187072870738707487075870768707787078870798708087081870828708387084870858708687087870888708987090870918709287093870948709587096870978709887099871008710187102871038710487105871068710787108871098711087111871128711387114871158711687117871188711987120871218712287123871248712587126871278712887129871308713187132871338713487135871368713787138871398714087141871428714387144871458714687147871488714987150871518715287153871548715587156871578715887159871608716187162871638716487165871668716787168871698717087171871728717387174871758717687177871788717987180871818718287183871848718587186871878718887189871908719187192871938719487195871968719787198871998720087201872028720387204872058720687207872088720987210872118721287213872148721587216872178721887219872208722187222872238722487225872268722787228872298723087231872328723387234872358723687237872388723987240872418724287243872448724587246872478724887249872508725187252872538725487255872568725787258872598726087261872628726387264872658726687267872688726987270872718727287273872748727587276872778727887279872808728187282872838728487285872868728787288872898729087291872928729387294872958729687297872988729987300873018730287303873048730587306873078730887309873108731187312873138731487315873168731787318873198732087321873228732387324873258732687327873288732987330873318733287333873348733587336873378733887339873408734187342873438734487345873468734787348873498735087351873528735387354873558735687357873588735987360873618736287363873648736587366873678736887369873708737187372873738737487375873768737787378873798738087381873828738387384873858738687387873888738987390873918739287393873948739587396873978739887399874008740187402874038740487405874068740787408874098741087411874128741387414874158741687417874188741987420874218742287423874248742587426874278742887429874308743187432874338743487435874368743787438874398744087441874428744387444874458744687447874488744987450874518745287453874548745587456874578745887459874608746187462874638746487465874668746787468874698747087471874728747387474874758747687477874788747987480874818748287483874848748587486874878748887489874908749187492874938749487495874968749787498874998750087501875028750387504875058750687507875088750987510875118751287513875148751587516875178751887519875208752187522875238752487525875268752787528875298753087531875328753387534875358753687537875388753987540875418754287543875448754587546875478754887549875508755187552875538755487555875568755787558875598756087561875628756387564875658756687567875688756987570875718757287573875748757587576875778757887579875808758187582875838758487585875868758787588875898759087591875928759387594875958759687597875988759987600876018760287603876048760587606876078760887609876108761187612876138761487615876168761787618876198762087621876228762387624876258762687627876288762987630876318763287633876348763587636876378763887639876408764187642876438764487645876468764787648876498765087651876528765387654876558765687657876588765987660876618766287663876648766587666876678766887669876708767187672876738767487675876768767787678876798768087681876828768387684876858768687687876888768987690876918769287693876948769587696876978769887699877008770187702877038770487705877068770787708877098771087711877128771387714877158771687717877188771987720877218772287723877248772587726877278772887729877308773187732877338773487735877368773787738877398774087741877428774387744877458774687747877488774987750877518775287753877548775587756877578775887759877608776187762877638776487765877668776787768877698777087771877728777387774877758777687777877788777987780877818778287783877848778587786877878778887789877908779187792877938779487795877968779787798877998780087801878028780387804878058780687807878088780987810878118781287813878148781587816878178781887819878208782187822878238782487825878268782787828878298783087831878328783387834878358783687837878388783987840878418784287843878448784587846878478784887849878508785187852878538785487855878568785787858878598786087861878628786387864878658786687867878688786987870878718787287873878748787587876878778787887879878808788187882878838788487885878868788787888878898789087891878928789387894878958789687897878988789987900879018790287903879048790587906879078790887909879108791187912879138791487915879168791787918879198792087921879228792387924879258792687927879288792987930879318793287933879348793587936879378793887939879408794187942879438794487945879468794787948879498795087951879528795387954879558795687957879588795987960879618796287963879648796587966879678796887969879708797187972879738797487975879768797787978879798798087981879828798387984879858798687987879888798987990879918799287993879948799587996879978799887999880008800188002880038800488005880068800788008880098801088011880128801388014880158801688017880188801988020880218802288023880248802588026880278802888029880308803188032880338803488035880368803788038880398804088041880428804388044880458804688047880488804988050880518805288053880548805588056880578805888059880608806188062880638806488065880668806788068880698807088071880728807388074880758807688077880788807988080880818808288083880848808588086880878808888089880908809188092880938809488095880968809788098880998810088101881028810388104881058810688107881088810988110881118811288113881148811588116881178811888119881208812188122881238812488125881268812788128881298813088131881328813388134881358813688137881388813988140881418814288143881448814588146881478814888149881508815188152881538815488155881568815788158881598816088161881628816388164881658816688167881688816988170881718817288173881748817588176881778817888179881808818188182881838818488185881868818788188881898819088191881928819388194881958819688197881988819988200882018820288203882048820588206882078820888209882108821188212882138821488215882168821788218882198822088221882228822388224882258822688227882288822988230882318823288233882348823588236882378823888239882408824188242882438824488245882468824788248882498825088251882528825388254882558825688257882588825988260882618826288263882648826588266882678826888269882708827188272882738827488275882768827788278882798828088281882828828388284882858828688287882888828988290882918829288293882948829588296882978829888299883008830188302883038830488305883068830788308883098831088311883128831388314883158831688317883188831988320883218832288323883248832588326883278832888329883308833188332883338833488335883368833788338883398834088341883428834388344883458834688347883488834988350883518835288353883548835588356883578835888359883608836188362883638836488365883668836788368883698837088371883728837388374883758837688377883788837988380883818838288383883848838588386883878838888389883908839188392883938839488395883968839788398883998840088401884028840388404884058840688407884088840988410884118841288413884148841588416884178841888419884208842188422884238842488425884268842788428884298843088431884328843388434884358843688437884388843988440884418844288443884448844588446884478844888449884508845188452884538845488455884568845788458884598846088461884628846388464884658846688467884688846988470884718847288473884748847588476884778847888479884808848188482884838848488485884868848788488884898849088491884928849388494884958849688497884988849988500885018850288503885048850588506885078850888509885108851188512885138851488515885168851788518885198852088521885228852388524885258852688527885288852988530885318853288533885348853588536885378853888539885408854188542885438854488545885468854788548885498855088551885528855388554885558855688557885588855988560885618856288563885648856588566885678856888569885708857188572885738857488575885768857788578885798858088581885828858388584885858858688587885888858988590885918859288593885948859588596885978859888599886008860188602886038860488605886068860788608886098861088611886128861388614886158861688617886188861988620886218862288623886248862588626886278862888629886308863188632886338863488635886368863788638886398864088641886428864388644886458864688647886488864988650886518865288653886548865588656886578865888659886608866188662886638866488665886668866788668886698867088671886728867388674886758867688677886788867988680886818868288683886848868588686886878868888689886908869188692886938869488695886968869788698886998870088701887028870388704887058870688707887088870988710887118871288713887148871588716887178871888719887208872188722887238872488725887268872788728887298873088731887328873388734887358873688737887388873988740887418874288743887448874588746887478874888749887508875188752887538875488755887568875788758887598876088761887628876388764887658876688767887688876988770887718877288773887748877588776887778877888779887808878188782887838878488785887868878788788887898879088791887928879388794887958879688797887988879988800888018880288803888048880588806888078880888809888108881188812888138881488815888168881788818888198882088821888228882388824888258882688827888288882988830888318883288833888348883588836888378883888839888408884188842888438884488845888468884788848888498885088851888528885388854888558885688857888588885988860888618886288863888648886588866888678886888869888708887188872888738887488875888768887788878888798888088881888828888388884888858888688887888888888988890888918889288893888948889588896888978889888899889008890188902889038890488905889068890788908889098891088911889128891388914889158891688917889188891988920889218892288923889248892588926889278892888929889308893188932889338893488935889368893788938889398894088941889428894388944889458894688947889488894988950889518895288953889548895588956889578895888959889608896188962889638896488965889668896788968889698897088971889728897388974889758897688977889788897988980889818898288983889848898588986889878898888989889908899188992889938899488995889968899788998889998900089001890028900389004890058900689007890088900989010890118901289013890148901589016890178901889019890208902189022890238902489025890268902789028890298903089031890328903389034890358903689037890388903989040890418904289043890448904589046890478904889049890508905189052890538905489055890568905789058890598906089061890628906389064890658906689067890688906989070890718907289073890748907589076890778907889079890808908189082890838908489085890868908789088890898909089091890928909389094890958909689097890988909989100891018910289103891048910589106891078910889109891108911189112891138911489115891168911789118891198912089121891228912389124891258912689127891288912989130891318913289133891348913589136891378913889139891408914189142891438914489145891468914789148891498915089151891528915389154891558915689157891588915989160891618916289163891648916589166891678916889169891708917189172891738917489175891768917789178891798918089181891828918389184891858918689187891888918989190891918919289193891948919589196891978919889199892008920189202892038920489205892068920789208892098921089211892128921389214892158921689217892188921989220892218922289223892248922589226892278922889229892308923189232892338923489235892368923789238892398924089241892428924389244892458924689247892488924989250892518925289253892548925589256892578925889259892608926189262892638926489265892668926789268892698927089271892728927389274892758927689277892788927989280892818928289283892848928589286892878928889289892908929189292892938929489295892968929789298892998930089301893028930389304893058930689307893088930989310893118931289313893148931589316893178931889319893208932189322893238932489325893268932789328893298933089331893328933389334893358933689337893388933989340893418934289343893448934589346893478934889349893508935189352893538935489355893568935789358893598936089361893628936389364893658936689367893688936989370893718937289373893748937589376893778937889379893808938189382893838938489385893868938789388893898939089391893928939389394893958939689397893988939989400894018940289403894048940589406894078940889409894108941189412894138941489415894168941789418894198942089421894228942389424894258942689427894288942989430894318943289433894348943589436894378943889439894408944189442894438944489445894468944789448894498945089451894528945389454894558945689457894588945989460894618946289463894648946589466894678946889469894708947189472894738947489475894768947789478894798948089481894828948389484894858948689487894888948989490894918949289493894948949589496894978949889499895008950189502895038950489505895068950789508895098951089511895128951389514895158951689517895188951989520895218952289523895248952589526895278952889529895308953189532895338953489535895368953789538895398954089541895428954389544895458954689547895488954989550895518955289553895548955589556895578955889559895608956189562895638956489565895668956789568895698957089571895728957389574895758957689577895788957989580895818958289583895848958589586895878958889589895908959189592895938959489595895968959789598895998960089601896028960389604896058960689607896088960989610896118961289613896148961589616896178961889619896208962189622896238962489625896268962789628896298963089631896328963389634896358963689637896388963989640896418964289643896448964589646896478964889649896508965189652896538965489655896568965789658896598966089661896628966389664896658966689667896688966989670896718967289673896748967589676896778967889679896808968189682896838968489685896868968789688896898969089691896928969389694896958969689697896988969989700897018970289703897048970589706897078970889709897108971189712897138971489715897168971789718897198972089721897228972389724897258972689727897288972989730897318973289733897348973589736897378973889739897408974189742897438974489745897468974789748897498975089751897528975389754897558975689757897588975989760897618976289763897648976589766897678976889769897708977189772897738977489775897768977789778897798978089781897828978389784897858978689787897888978989790897918979289793897948979589796897978979889799898008980189802898038980489805898068980789808898098981089811898128981389814898158981689817898188981989820898218982289823898248982589826898278982889829898308983189832898338983489835898368983789838898398984089841898428984389844898458984689847898488984989850898518985289853898548985589856898578985889859898608986189862898638986489865898668986789868898698987089871898728987389874898758987689877898788987989880898818988289883898848988589886898878988889889898908989189892898938989489895898968989789898898998990089901899028990389904899058990689907899088990989910899118991289913899148991589916899178991889919899208992189922899238992489925899268992789928899298993089931899328993389934899358993689937899388993989940899418994289943899448994589946899478994889949899508995189952899538995489955899568995789958899598996089961899628996389964899658996689967899688996989970899718997289973899748997589976899778997889979899808998189982899838998489985899868998789988899898999089991899928999389994899958999689997899988999990000900019000290003900049000590006900079000890009900109001190012900139001490015900169001790018900199002090021900229002390024900259002690027900289002990030900319003290033900349003590036900379003890039900409004190042900439004490045900469004790048900499005090051900529005390054900559005690057900589005990060900619006290063900649006590066900679006890069900709007190072900739007490075900769007790078900799008090081900829008390084900859008690087900889008990090900919009290093900949009590096900979009890099901009010190102901039010490105901069010790108901099011090111901129011390114901159011690117901189011990120901219012290123901249012590126901279012890129901309013190132901339013490135901369013790138901399014090141901429014390144901459014690147901489014990150901519015290153901549015590156901579015890159901609016190162901639016490165901669016790168901699017090171901729017390174901759017690177901789017990180901819018290183901849018590186901879018890189901909019190192901939019490195901969019790198901999020090201902029020390204902059020690207902089020990210902119021290213902149021590216902179021890219902209022190222902239022490225902269022790228902299023090231902329023390234902359023690237902389023990240902419024290243902449024590246902479024890249902509025190252902539025490255902569025790258902599026090261902629026390264902659026690267902689026990270902719027290273902749027590276902779027890279902809028190282902839028490285902869028790288902899029090291902929029390294902959029690297902989029990300903019030290303903049030590306903079030890309903109031190312903139031490315903169031790318903199032090321903229032390324903259032690327903289032990330903319033290333903349033590336903379033890339903409034190342903439034490345903469034790348903499035090351903529035390354903559035690357903589035990360903619036290363903649036590366903679036890369903709037190372903739037490375903769037790378903799038090381903829038390384903859038690387903889038990390903919039290393903949039590396903979039890399904009040190402904039040490405904069040790408904099041090411904129041390414904159041690417904189041990420904219042290423904249042590426904279042890429904309043190432904339043490435904369043790438904399044090441904429044390444904459044690447904489044990450904519045290453904549045590456904579045890459904609046190462904639046490465904669046790468904699047090471904729047390474904759047690477904789047990480904819048290483904849048590486904879048890489904909049190492904939049490495904969049790498904999050090501905029050390504905059050690507905089050990510905119051290513905149051590516905179051890519905209052190522905239052490525905269052790528905299053090531905329053390534905359053690537905389053990540905419054290543905449054590546905479054890549905509055190552905539055490555905569055790558905599056090561905629056390564905659056690567905689056990570905719057290573905749057590576905779057890579905809058190582905839058490585905869058790588905899059090591905929059390594905959059690597905989059990600906019060290603906049060590606906079060890609906109061190612906139061490615906169061790618906199062090621906229062390624906259062690627906289062990630906319063290633906349063590636906379063890639906409064190642906439064490645906469064790648906499065090651906529065390654906559065690657906589065990660906619066290663906649066590666906679066890669906709067190672906739067490675906769067790678906799068090681906829068390684906859068690687906889068990690906919069290693906949069590696906979069890699907009070190702907039070490705907069070790708907099071090711907129071390714907159071690717907189071990720907219072290723907249072590726907279072890729907309073190732907339073490735907369073790738907399074090741907429074390744907459074690747907489074990750907519075290753907549075590756907579075890759907609076190762907639076490765907669076790768907699077090771907729077390774907759077690777907789077990780907819078290783907849078590786907879078890789907909079190792907939079490795907969079790798907999080090801908029080390804908059080690807908089080990810908119081290813908149081590816908179081890819908209082190822908239082490825908269082790828908299083090831908329083390834908359083690837908389083990840908419084290843908449084590846908479084890849908509085190852908539085490855908569085790858908599086090861908629086390864908659086690867908689086990870908719087290873908749087590876908779087890879908809088190882908839088490885908869088790888908899089090891908929089390894908959089690897908989089990900909019090290903909049090590906909079090890909909109091190912909139091490915909169091790918909199092090921909229092390924909259092690927909289092990930909319093290933909349093590936909379093890939909409094190942909439094490945909469094790948909499095090951909529095390954909559095690957909589095990960909619096290963909649096590966909679096890969909709097190972909739097490975909769097790978909799098090981909829098390984909859098690987909889098990990909919099290993909949099590996909979099890999910009100191002910039100491005910069100791008910099101091011910129101391014910159101691017910189101991020910219102291023910249102591026910279102891029910309103191032910339103491035910369103791038910399104091041910429104391044910459104691047910489104991050910519105291053910549105591056910579105891059910609106191062910639106491065910669106791068910699107091071910729107391074910759107691077910789107991080910819108291083910849108591086910879108891089910909109191092910939109491095910969109791098910999110091101911029110391104911059110691107911089110991110911119111291113911149111591116911179111891119911209112191122911239112491125911269112791128911299113091131911329113391134911359113691137911389113991140911419114291143911449114591146911479114891149911509115191152911539115491155911569115791158911599116091161911629116391164911659116691167911689116991170911719117291173911749117591176911779117891179911809118191182911839118491185911869118791188911899119091191911929119391194911959119691197911989119991200912019120291203912049120591206912079120891209912109121191212912139121491215912169121791218912199122091221912229122391224912259122691227912289122991230912319123291233912349123591236912379123891239912409124191242912439124491245912469124791248912499125091251912529125391254912559125691257912589125991260912619126291263912649126591266912679126891269912709127191272912739127491275912769127791278912799128091281912829128391284912859128691287912889128991290912919129291293912949129591296912979129891299913009130191302913039130491305913069130791308913099131091311913129131391314913159131691317913189131991320913219132291323913249132591326913279132891329913309133191332913339133491335913369133791338913399134091341913429134391344913459134691347913489134991350913519135291353913549135591356913579135891359913609136191362913639136491365913669136791368913699137091371913729137391374913759137691377913789137991380913819138291383913849138591386913879138891389913909139191392913939139491395913969139791398913999140091401914029140391404914059140691407914089140991410914119141291413914149141591416914179141891419914209142191422914239142491425914269142791428914299143091431914329143391434914359143691437914389143991440914419144291443914449144591446914479144891449914509145191452914539145491455914569145791458914599146091461914629146391464914659146691467914689146991470914719147291473914749147591476914779147891479914809148191482914839148491485914869148791488914899149091491914929149391494914959149691497914989149991500915019150291503915049150591506915079150891509915109151191512915139151491515915169151791518915199152091521915229152391524915259152691527915289152991530915319153291533915349153591536915379153891539915409154191542915439154491545915469154791548915499155091551915529155391554915559155691557915589155991560915619156291563915649156591566915679156891569915709157191572915739157491575915769157791578915799158091581915829158391584915859158691587915889158991590915919159291593915949159591596915979159891599916009160191602916039160491605916069160791608916099161091611916129161391614916159161691617916189161991620916219162291623916249162591626916279162891629916309163191632916339163491635916369163791638916399164091641916429164391644916459164691647916489164991650916519165291653916549165591656916579165891659916609166191662916639166491665916669166791668916699167091671916729167391674916759167691677916789167991680916819168291683916849168591686916879168891689916909169191692916939169491695916969169791698916999170091701917029170391704917059170691707917089170991710917119171291713917149171591716917179171891719917209172191722917239172491725917269172791728917299173091731917329173391734917359173691737917389173991740917419174291743917449174591746917479174891749917509175191752917539175491755917569175791758917599176091761917629176391764917659176691767917689176991770917719177291773917749177591776917779177891779917809178191782917839178491785917869178791788917899179091791917929179391794917959179691797917989179991800918019180291803918049180591806918079180891809918109181191812918139181491815918169181791818918199182091821918229182391824918259182691827918289182991830918319183291833918349183591836918379183891839918409184191842918439184491845918469184791848918499185091851918529185391854918559185691857918589185991860918619186291863918649186591866918679186891869918709187191872918739187491875918769187791878918799188091881918829188391884918859188691887918889188991890918919189291893918949189591896918979189891899919009190191902919039190491905919069190791908919099191091911919129191391914919159191691917919189191991920919219192291923919249192591926919279192891929919309193191932919339193491935919369193791938919399194091941919429194391944919459194691947919489194991950919519195291953919549195591956919579195891959919609196191962919639196491965919669196791968919699197091971919729197391974919759197691977919789197991980919819198291983919849198591986919879198891989919909199191992919939199491995919969199791998919999200092001920029200392004920059200692007920089200992010920119201292013920149201592016920179201892019920209202192022920239202492025920269202792028920299203092031920329203392034920359203692037920389203992040920419204292043920449204592046920479204892049920509205192052920539205492055920569205792058920599206092061920629206392064920659206692067920689206992070920719207292073920749207592076920779207892079920809208192082920839208492085920869208792088920899209092091920929209392094920959209692097920989209992100921019210292103921049210592106921079210892109921109211192112921139211492115921169211792118921199212092121921229212392124921259212692127921289212992130921319213292133921349213592136921379213892139921409214192142921439214492145921469214792148921499215092151921529215392154921559215692157921589215992160921619216292163921649216592166921679216892169921709217192172921739217492175921769217792178921799218092181921829218392184921859218692187921889218992190921919219292193921949219592196921979219892199922009220192202922039220492205922069220792208922099221092211922129221392214922159221692217922189221992220922219222292223922249222592226922279222892229922309223192232922339223492235922369223792238922399224092241922429224392244922459224692247922489224992250922519225292253922549225592256922579225892259922609226192262922639226492265922669226792268922699227092271922729227392274922759227692277922789227992280922819228292283922849228592286922879228892289922909229192292922939229492295922969229792298922999230092301923029230392304923059230692307923089230992310923119231292313923149231592316923179231892319923209232192322923239232492325923269232792328923299233092331923329233392334923359233692337923389233992340923419234292343923449234592346923479234892349923509235192352923539235492355923569235792358923599236092361923629236392364923659236692367923689236992370923719237292373923749237592376923779237892379923809238192382923839238492385923869238792388923899239092391923929239392394923959239692397923989239992400924019240292403924049240592406924079240892409924109241192412924139241492415924169241792418924199242092421924229242392424924259242692427924289242992430924319243292433924349243592436924379243892439924409244192442924439244492445924469244792448924499245092451924529245392454924559245692457924589245992460924619246292463924649246592466924679246892469924709247192472924739247492475924769247792478924799248092481924829248392484924859248692487924889248992490924919249292493924949249592496924979249892499925009250192502925039250492505925069250792508925099251092511925129251392514925159251692517925189251992520925219252292523925249252592526925279252892529925309253192532925339253492535925369253792538925399254092541925429254392544925459254692547925489254992550925519255292553925549255592556925579255892559925609256192562925639256492565925669256792568925699257092571925729257392574925759257692577925789257992580925819258292583925849258592586925879258892589925909259192592925939259492595925969259792598925999260092601926029260392604926059260692607926089260992610926119261292613926149261592616926179261892619926209262192622926239262492625926269262792628926299263092631926329263392634926359263692637926389263992640926419264292643926449264592646926479264892649926509265192652926539265492655926569265792658926599266092661926629266392664926659266692667926689266992670926719267292673926749267592676926779267892679926809268192682926839268492685926869268792688926899269092691926929269392694926959269692697926989269992700927019270292703927049270592706927079270892709927109271192712927139271492715927169271792718927199272092721927229272392724927259272692727927289272992730927319273292733927349273592736927379273892739927409274192742927439274492745927469274792748927499275092751927529275392754927559275692757927589275992760927619276292763927649276592766927679276892769927709277192772927739277492775927769277792778927799278092781927829278392784927859278692787927889278992790927919279292793927949279592796927979279892799928009280192802928039280492805928069280792808928099281092811928129281392814928159281692817928189281992820928219282292823928249282592826928279282892829928309283192832928339283492835928369283792838928399284092841928429284392844928459284692847928489284992850928519285292853928549285592856928579285892859928609286192862928639286492865928669286792868928699287092871928729287392874928759287692877928789287992880928819288292883928849288592886928879288892889928909289192892928939289492895928969289792898928999290092901929029290392904929059290692907929089290992910929119291292913929149291592916929179291892919929209292192922929239292492925929269292792928929299293092931929329293392934929359293692937929389293992940929419294292943929449294592946929479294892949929509295192952929539295492955929569295792958929599296092961929629296392964929659296692967929689296992970929719297292973929749297592976929779297892979929809298192982929839298492985929869298792988929899299092991929929299392994929959299692997929989299993000930019300293003930049300593006930079300893009930109301193012930139301493015930169301793018930199302093021930229302393024930259302693027930289302993030930319303293033930349303593036930379303893039930409304193042930439304493045930469304793048930499305093051930529305393054930559305693057930589305993060930619306293063930649306593066930679306893069930709307193072930739307493075930769307793078930799308093081930829308393084930859308693087930889308993090930919309293093930949309593096930979309893099931009310193102931039310493105931069310793108931099311093111931129311393114931159311693117931189311993120931219312293123931249312593126931279312893129931309313193132931339313493135931369313793138931399314093141931429314393144931459314693147931489314993150931519315293153931549315593156931579315893159931609316193162931639316493165931669316793168931699317093171931729317393174931759317693177931789317993180931819318293183931849318593186931879318893189931909319193192931939319493195931969319793198931999320093201932029320393204932059320693207932089320993210932119321293213932149321593216932179321893219932209322193222932239322493225932269322793228932299323093231932329323393234932359323693237932389323993240932419324293243932449324593246932479324893249932509325193252932539325493255932569325793258932599326093261932629326393264932659326693267932689326993270932719327293273932749327593276932779327893279932809328193282932839328493285932869328793288932899329093291932929329393294932959329693297932989329993300933019330293303933049330593306933079330893309933109331193312933139331493315933169331793318933199332093321933229332393324933259332693327933289332993330933319333293333933349333593336933379333893339933409334193342933439334493345933469334793348933499335093351933529335393354933559335693357933589335993360933619336293363933649336593366933679336893369933709337193372933739337493375933769337793378933799338093381933829338393384933859338693387933889338993390933919339293393933949339593396933979339893399934009340193402934039340493405934069340793408934099341093411934129341393414934159341693417934189341993420934219342293423934249342593426934279342893429934309343193432934339343493435934369343793438934399344093441934429344393444934459344693447934489344993450934519345293453934549345593456934579345893459934609346193462934639346493465934669346793468934699347093471934729347393474934759347693477934789347993480934819348293483934849348593486934879348893489934909349193492934939349493495934969349793498934999350093501935029350393504935059350693507935089350993510935119351293513935149351593516935179351893519935209352193522935239352493525935269352793528935299353093531935329353393534935359353693537935389353993540935419354293543935449354593546935479354893549935509355193552935539355493555935569355793558935599356093561935629356393564935659356693567935689356993570935719357293573935749357593576935779357893579935809358193582935839358493585935869358793588935899359093591935929359393594935959359693597935989359993600936019360293603936049360593606936079360893609936109361193612936139361493615936169361793618936199362093621936229362393624936259362693627936289362993630936319363293633936349363593636936379363893639936409364193642936439364493645936469364793648936499365093651936529365393654936559365693657936589365993660936619366293663936649366593666936679366893669936709367193672936739367493675936769367793678936799368093681936829368393684936859368693687936889368993690936919369293693936949369593696936979369893699937009370193702937039370493705937069370793708937099371093711937129371393714937159371693717937189371993720937219372293723937249372593726937279372893729937309373193732937339373493735937369373793738937399374093741937429374393744937459374693747937489374993750937519375293753937549375593756937579375893759937609376193762937639376493765937669376793768937699377093771937729377393774937759377693777937789377993780937819378293783937849378593786937879378893789937909379193792937939379493795937969379793798937999380093801938029380393804938059380693807938089380993810938119381293813938149381593816938179381893819938209382193822938239382493825938269382793828938299383093831938329383393834938359383693837938389383993840938419384293843938449384593846938479384893849938509385193852938539385493855938569385793858938599386093861938629386393864938659386693867938689386993870938719387293873938749387593876938779387893879938809388193882938839388493885938869388793888938899389093891938929389393894938959389693897938989389993900939019390293903939049390593906939079390893909939109391193912939139391493915939169391793918939199392093921939229392393924939259392693927939289392993930939319393293933939349393593936939379393893939939409394193942939439394493945939469394793948939499395093951939529395393954939559395693957939589395993960939619396293963939649396593966939679396893969939709397193972939739397493975939769397793978939799398093981939829398393984939859398693987939889398993990939919399293993939949399593996939979399893999940009400194002940039400494005940069400794008940099401094011940129401394014940159401694017940189401994020940219402294023940249402594026940279402894029940309403194032940339403494035940369403794038940399404094041940429404394044940459404694047940489404994050940519405294053940549405594056940579405894059940609406194062940639406494065940669406794068940699407094071940729407394074940759407694077940789407994080940819408294083940849408594086940879408894089940909409194092940939409494095940969409794098940999410094101941029410394104941059410694107941089410994110941119411294113941149411594116941179411894119941209412194122941239412494125941269412794128941299413094131941329413394134941359413694137941389413994140941419414294143941449414594146941479414894149941509415194152941539415494155941569415794158941599416094161941629416394164941659416694167941689416994170941719417294173941749417594176941779417894179941809418194182941839418494185941869418794188941899419094191941929419394194941959419694197941989419994200942019420294203942049420594206942079420894209942109421194212942139421494215942169421794218942199422094221942229422394224942259422694227942289422994230942319423294233942349423594236942379423894239942409424194242942439424494245942469424794248942499425094251942529425394254942559425694257942589425994260942619426294263942649426594266942679426894269942709427194272942739427494275942769427794278942799428094281942829428394284942859428694287942889428994290942919429294293942949429594296942979429894299943009430194302943039430494305943069430794308943099431094311943129431394314943159431694317943189431994320943219432294323943249432594326943279432894329943309433194332943339433494335943369433794338943399434094341943429434394344943459434694347943489434994350943519435294353943549435594356943579435894359943609436194362943639436494365943669436794368943699437094371943729437394374943759437694377943789437994380943819438294383943849438594386943879438894389943909439194392943939439494395943969439794398943999440094401944029440394404944059440694407944089440994410944119441294413944149441594416944179441894419944209442194422944239442494425944269442794428944299443094431944329443394434944359443694437944389443994440944419444294443944449444594446944479444894449944509445194452944539445494455944569445794458944599446094461944629446394464944659446694467944689446994470944719447294473944749447594476944779447894479944809448194482944839448494485944869448794488944899449094491944929449394494944959449694497944989449994500945019450294503945049450594506945079450894509945109451194512945139451494515945169451794518945199452094521945229452394524945259452694527945289452994530945319453294533945349453594536945379453894539945409454194542945439454494545945469454794548945499455094551945529455394554945559455694557945589455994560945619456294563945649456594566945679456894569945709457194572945739457494575945769457794578945799458094581945829458394584945859458694587945889458994590945919459294593945949459594596945979459894599946009460194602946039460494605946069460794608946099461094611946129461394614946159461694617946189461994620946219462294623946249462594626946279462894629946309463194632946339463494635946369463794638946399464094641946429464394644946459464694647946489464994650946519465294653946549465594656946579465894659946609466194662946639466494665946669466794668946699467094671946729467394674946759467694677946789467994680946819468294683946849468594686946879468894689946909469194692946939469494695946969469794698946999470094701947029470394704947059470694707947089470994710947119471294713947149471594716947179471894719947209472194722947239472494725947269472794728947299473094731947329473394734947359473694737947389473994740947419474294743947449474594746947479474894749947509475194752947539475494755947569475794758947599476094761947629476394764947659476694767947689476994770947719477294773947749477594776947779477894779947809478194782947839478494785947869478794788947899479094791947929479394794947959479694797947989479994800948019480294803948049480594806948079480894809948109481194812948139481494815948169481794818948199482094821948229482394824948259482694827948289482994830948319483294833948349483594836948379483894839948409484194842948439484494845948469484794848948499485094851948529485394854948559485694857948589485994860948619486294863948649486594866948679486894869948709487194872948739487494875948769487794878948799488094881948829488394884948859488694887948889488994890948919489294893948949489594896948979489894899949009490194902949039490494905949069490794908949099491094911949129491394914949159491694917949189491994920949219492294923949249492594926949279492894929949309493194932949339493494935949369493794938949399494094941949429494394944949459494694947949489494994950949519495294953949549495594956949579495894959949609496194962949639496494965949669496794968949699497094971949729497394974949759497694977949789497994980949819498294983949849498594986949879498894989949909499194992949939499494995949969499794998949999500095001950029500395004950059500695007950089500995010950119501295013950149501595016950179501895019950209502195022950239502495025950269502795028950299503095031950329503395034950359503695037950389503995040950419504295043950449504595046950479504895049950509505195052950539505495055950569505795058950599506095061950629506395064950659506695067950689506995070950719507295073950749507595076950779507895079950809508195082950839508495085950869508795088950899509095091950929509395094950959509695097950989509995100951019510295103951049510595106951079510895109951109511195112951139511495115951169511795118951199512095121951229512395124951259512695127951289512995130951319513295133951349513595136951379513895139951409514195142951439514495145951469514795148951499515095151951529515395154951559515695157951589515995160951619516295163951649516595166951679516895169951709517195172951739517495175951769517795178951799518095181951829518395184951859518695187951889518995190951919519295193951949519595196951979519895199952009520195202952039520495205952069520795208952099521095211952129521395214952159521695217952189521995220952219522295223952249522595226952279522895229952309523195232952339523495235952369523795238952399524095241952429524395244952459524695247952489524995250952519525295253952549525595256952579525895259952609526195262952639526495265952669526795268952699527095271952729527395274952759527695277952789527995280952819528295283952849528595286952879528895289952909529195292952939529495295952969529795298952999530095301953029530395304953059530695307953089530995310953119531295313953149531595316953179531895319953209532195322953239532495325953269532795328953299533095331953329533395334953359533695337953389533995340953419534295343953449534595346953479534895349953509535195352953539535495355953569535795358953599536095361953629536395364953659536695367953689536995370953719537295373953749537595376953779537895379953809538195382953839538495385953869538795388953899539095391953929539395394953959539695397953989539995400954019540295403954049540595406954079540895409954109541195412954139541495415954169541795418954199542095421954229542395424954259542695427954289542995430954319543295433954349543595436954379543895439954409544195442954439544495445954469544795448954499545095451954529545395454954559545695457954589545995460954619546295463954649546595466954679546895469954709547195472954739547495475954769547795478954799548095481954829548395484954859548695487954889548995490954919549295493954949549595496954979549895499955009550195502955039550495505955069550795508955099551095511955129551395514955159551695517955189551995520955219552295523955249552595526955279552895529955309553195532955339553495535955369553795538955399554095541955429554395544955459554695547955489554995550955519555295553955549555595556955579555895559955609556195562955639556495565955669556795568955699557095571955729557395574955759557695577955789557995580955819558295583955849558595586955879558895589955909559195592955939559495595955969559795598955999560095601956029560395604956059560695607956089560995610956119561295613956149561595616956179561895619956209562195622956239562495625956269562795628956299563095631956329563395634956359563695637956389563995640956419564295643956449564595646956479564895649956509565195652956539565495655956569565795658956599566095661956629566395664956659566695667956689566995670956719567295673956749567595676956779567895679956809568195682956839568495685956869568795688956899569095691956929569395694956959569695697956989569995700957019570295703957049570595706957079570895709957109571195712957139571495715957169571795718957199572095721957229572395724957259572695727957289572995730957319573295733957349573595736957379573895739957409574195742957439574495745957469574795748957499575095751957529575395754957559575695757957589575995760957619576295763957649576595766957679576895769957709577195772957739577495775957769577795778957799578095781957829578395784957859578695787957889578995790957919579295793957949579595796957979579895799958009580195802958039580495805958069580795808958099581095811958129581395814958159581695817958189581995820958219582295823958249582595826958279582895829958309583195832958339583495835958369583795838958399584095841958429584395844958459584695847958489584995850958519585295853958549585595856958579585895859958609586195862958639586495865958669586795868958699587095871958729587395874958759587695877958789587995880958819588295883958849588595886958879588895889958909589195892958939589495895958969589795898958999590095901959029590395904959059590695907959089590995910959119591295913959149591595916959179591895919959209592195922959239592495925959269592795928959299593095931959329593395934959359593695937959389593995940959419594295943959449594595946959479594895949959509595195952959539595495955959569595795958959599596095961959629596395964959659596695967959689596995970959719597295973959749597595976959779597895979959809598195982959839598495985959869598795988959899599095991959929599395994959959599695997959989599996000960019600296003960049600596006960079600896009960109601196012960139601496015960169601796018960199602096021960229602396024960259602696027960289602996030960319603296033960349603596036960379603896039960409604196042960439604496045960469604796048960499605096051960529605396054960559605696057960589605996060960619606296063960649606596066960679606896069960709607196072960739607496075960769607796078960799608096081960829608396084960859608696087960889608996090960919609296093960949609596096960979609896099961009610196102961039610496105961069610796108961099611096111961129611396114961159611696117961189611996120961219612296123961249612596126961279612896129961309613196132961339613496135961369613796138961399614096141961429614396144961459614696147961489614996150961519615296153961549615596156961579615896159961609616196162961639616496165961669616796168961699617096171961729617396174961759617696177961789617996180961819618296183961849618596186961879618896189961909619196192961939619496195961969619796198961999620096201962029620396204962059620696207962089620996210962119621296213962149621596216962179621896219962209622196222962239622496225962269622796228962299623096231962329623396234962359623696237962389623996240962419624296243962449624596246962479624896249962509625196252962539625496255962569625796258962599626096261962629626396264962659626696267962689626996270962719627296273962749627596276962779627896279962809628196282962839628496285962869628796288962899629096291962929629396294962959629696297962989629996300963019630296303963049630596306963079630896309963109631196312963139631496315963169631796318963199632096321963229632396324963259632696327963289632996330963319633296333963349633596336963379633896339963409634196342963439634496345963469634796348963499635096351963529635396354963559635696357963589635996360963619636296363963649636596366963679636896369963709637196372963739637496375963769637796378963799638096381963829638396384963859638696387963889638996390963919639296393963949639596396963979639896399964009640196402964039640496405964069640796408964099641096411964129641396414964159641696417964189641996420964219642296423964249642596426964279642896429964309643196432964339643496435964369643796438964399644096441964429644396444964459644696447964489644996450964519645296453964549645596456964579645896459964609646196462964639646496465964669646796468964699647096471964729647396474964759647696477964789647996480964819648296483964849648596486964879648896489964909649196492964939649496495964969649796498964999650096501965029650396504965059650696507965089650996510965119651296513965149651596516965179651896519965209652196522965239652496525965269652796528965299653096531965329653396534965359653696537965389653996540965419654296543965449654596546965479654896549965509655196552965539655496555965569655796558965599656096561965629656396564965659656696567965689656996570965719657296573965749657596576965779657896579965809658196582965839658496585965869658796588965899659096591965929659396594965959659696597965989659996600966019660296603966049660596606966079660896609966109661196612966139661496615966169661796618966199662096621966229662396624966259662696627966289662996630966319663296633966349663596636966379663896639966409664196642966439664496645966469664796648966499665096651966529665396654966559665696657966589665996660966619666296663966649666596666966679666896669966709667196672966739667496675966769667796678966799668096681966829668396684966859668696687966889668996690966919669296693966949669596696966979669896699967009670196702967039670496705967069670796708967099671096711967129671396714967159671696717967189671996720967219672296723967249672596726967279672896729967309673196732967339673496735967369673796738967399674096741967429674396744967459674696747967489674996750967519675296753967549675596756967579675896759967609676196762967639676496765967669676796768967699677096771967729677396774967759677696777967789677996780967819678296783967849678596786967879678896789967909679196792967939679496795967969679796798967999680096801968029680396804968059680696807968089680996810968119681296813968149681596816968179681896819968209682196822968239682496825968269682796828968299683096831968329683396834968359683696837968389683996840968419684296843968449684596846968479684896849968509685196852968539685496855968569685796858968599686096861968629686396864968659686696867968689686996870968719687296873968749687596876968779687896879968809688196882968839688496885968869688796888968899689096891968929689396894968959689696897968989689996900969019690296903969049690596906969079690896909969109691196912969139691496915969169691796918969199692096921969229692396924969259692696927969289692996930969319693296933969349693596936969379693896939969409694196942969439694496945969469694796948969499695096951969529695396954969559695696957969589695996960969619696296963969649696596966969679696896969969709697196972969739697496975969769697796978969799698096981969829698396984969859698696987969889698996990969919699296993969949699596996969979699896999970009700197002970039700497005970069700797008970099701097011970129701397014970159701697017970189701997020970219702297023970249702597026970279702897029970309703197032970339703497035970369703797038970399704097041970429704397044970459704697047970489704997050970519705297053970549705597056970579705897059970609706197062970639706497065970669706797068970699707097071970729707397074970759707697077970789707997080970819708297083970849708597086970879708897089970909709197092970939709497095970969709797098970999710097101971029710397104971059710697107971089710997110971119711297113971149711597116971179711897119971209712197122971239712497125971269712797128971299713097131971329713397134971359713697137971389713997140971419714297143971449714597146971479714897149971509715197152971539715497155971569715797158971599716097161971629716397164971659716697167971689716997170971719717297173971749717597176971779717897179971809718197182971839718497185971869718797188971899719097191971929719397194971959719697197971989719997200972019720297203972049720597206972079720897209972109721197212972139721497215972169721797218972199722097221972229722397224972259722697227972289722997230972319723297233972349723597236972379723897239972409724197242972439724497245972469724797248972499725097251972529725397254972559725697257972589725997260972619726297263972649726597266972679726897269972709727197272972739727497275972769727797278972799728097281972829728397284972859728697287972889728997290972919729297293972949729597296972979729897299973009730197302973039730497305973069730797308973099731097311973129731397314973159731697317973189731997320973219732297323973249732597326973279732897329973309733197332973339733497335973369733797338973399734097341973429734397344973459734697347973489734997350973519735297353973549735597356973579735897359973609736197362973639736497365973669736797368973699737097371973729737397374973759737697377973789737997380973819738297383973849738597386973879738897389973909739197392973939739497395973969739797398973999740097401974029740397404974059740697407974089740997410974119741297413974149741597416974179741897419974209742197422974239742497425974269742797428974299743097431974329743397434974359743697437974389743997440974419744297443974449744597446974479744897449974509745197452974539745497455974569745797458974599746097461974629746397464974659746697467974689746997470974719747297473974749747597476974779747897479974809748197482974839748497485974869748797488974899749097491974929749397494974959749697497974989749997500975019750297503975049750597506975079750897509975109751197512975139751497515975169751797518975199752097521975229752397524975259752697527975289752997530975319753297533975349753597536975379753897539975409754197542975439754497545975469754797548975499755097551975529755397554975559755697557975589755997560975619756297563975649756597566975679756897569975709757197572975739757497575975769757797578975799758097581975829758397584975859758697587975889758997590975919759297593975949759597596975979759897599976009760197602976039760497605976069760797608976099761097611976129761397614976159761697617976189761997620976219762297623976249762597626976279762897629976309763197632976339763497635976369763797638976399764097641976429764397644976459764697647976489764997650976519765297653976549765597656976579765897659976609766197662976639766497665976669766797668976699767097671976729767397674976759767697677976789767997680976819768297683976849768597686976879768897689976909769197692976939769497695976969769797698976999770097701977029770397704977059770697707977089770997710977119771297713977149771597716977179771897719977209772197722977239772497725977269772797728977299773097731977329773397734977359773697737977389773997740977419774297743977449774597746977479774897749977509775197752977539775497755977569775797758977599776097761977629776397764977659776697767977689776997770977719777297773977749777597776977779777897779977809778197782977839778497785977869778797788977899779097791977929779397794977959779697797977989779997800978019780297803978049780597806978079780897809978109781197812978139781497815978169781797818978199782097821978229782397824978259782697827978289782997830978319783297833978349783597836978379783897839978409784197842978439784497845978469784797848978499785097851978529785397854978559785697857978589785997860978619786297863978649786597866978679786897869978709787197872978739787497875978769787797878978799788097881978829788397884978859788697887978889788997890978919789297893978949789597896978979789897899979009790197902979039790497905979069790797908979099791097911979129791397914979159791697917979189791997920979219792297923979249792597926979279792897929979309793197932979339793497935979369793797938979399794097941979429794397944979459794697947979489794997950979519795297953979549795597956979579795897959979609796197962979639796497965979669796797968979699797097971979729797397974979759797697977979789797997980979819798297983979849798597986979879798897989979909799197992979939799497995979969799797998979999800098001980029800398004980059800698007980089800998010980119801298013980149801598016980179801898019980209802198022980239802498025980269802798028980299803098031980329803398034980359803698037980389803998040980419804298043980449804598046980479804898049980509805198052980539805498055980569805798058980599806098061980629806398064980659806698067980689806998070980719807298073980749807598076980779807898079980809808198082980839808498085980869808798088980899809098091980929809398094980959809698097980989809998100981019810298103981049810598106981079810898109981109811198112981139811498115981169811798118981199812098121981229812398124981259812698127981289812998130981319813298133981349813598136981379813898139981409814198142981439814498145981469814798148981499815098151981529815398154981559815698157981589815998160981619816298163981649816598166981679816898169981709817198172981739817498175981769817798178981799818098181981829818398184981859818698187981889818998190981919819298193981949819598196981979819898199982009820198202982039820498205982069820798208982099821098211982129821398214982159821698217982189821998220982219822298223982249822598226982279822898229982309823198232982339823498235982369823798238982399824098241982429824398244982459824698247982489824998250982519825298253982549825598256982579825898259982609826198262982639826498265982669826798268982699827098271982729827398274982759827698277982789827998280982819828298283982849828598286982879828898289982909829198292982939829498295982969829798298982999830098301983029830398304983059830698307983089830998310983119831298313983149831598316983179831898319983209832198322983239832498325983269832798328983299833098331983329833398334983359833698337983389833998340983419834298343983449834598346983479834898349983509835198352983539835498355983569835798358983599836098361983629836398364983659836698367983689836998370983719837298373983749837598376983779837898379983809838198382983839838498385983869838798388983899839098391983929839398394983959839698397983989839998400984019840298403984049840598406984079840898409984109841198412984139841498415984169841798418984199842098421984229842398424984259842698427984289842998430984319843298433984349843598436984379843898439984409844198442984439844498445984469844798448984499845098451984529845398454984559845698457984589845998460984619846298463984649846598466984679846898469984709847198472984739847498475984769847798478984799848098481984829848398484984859848698487984889848998490984919849298493984949849598496984979849898499985009850198502985039850498505985069850798508985099851098511985129851398514985159851698517985189851998520985219852298523985249852598526985279852898529985309853198532985339853498535985369853798538985399854098541985429854398544985459854698547985489854998550985519855298553985549855598556985579855898559985609856198562985639856498565985669856798568985699857098571985729857398574985759857698577985789857998580985819858298583985849858598586985879858898589985909859198592985939859498595985969859798598985999860098601986029860398604986059860698607986089860998610986119861298613986149861598616986179861898619986209862198622986239862498625986269862798628986299863098631986329863398634986359863698637986389863998640986419864298643986449864598646986479864898649986509865198652986539865498655986569865798658986599866098661986629866398664986659866698667986689866998670986719867298673986749867598676986779867898679986809868198682986839868498685986869868798688986899869098691986929869398694986959869698697986989869998700987019870298703987049870598706987079870898709987109871198712987139871498715987169871798718987199872098721987229872398724987259872698727987289872998730987319873298733987349873598736987379873898739987409874198742987439874498745987469874798748987499875098751987529875398754987559875698757987589875998760987619876298763987649876598766987679876898769987709877198772987739877498775987769877798778987799878098781987829878398784987859878698787987889878998790987919879298793987949879598796987979879898799988009880198802988039880498805988069880798808988099881098811988129881398814988159881698817988189881998820988219882298823988249882598826988279882898829988309883198832988339883498835988369883798838988399884098841988429884398844988459884698847988489884998850988519885298853988549885598856988579885898859988609886198862988639886498865988669886798868988699887098871988729887398874988759887698877988789887998880988819888298883988849888598886988879888898889988909889198892988939889498895988969889798898988999890098901989029890398904989059890698907989089890998910989119891298913989149891598916989179891898919989209892198922989239892498925989269892798928989299893098931989329893398934989359893698937989389893998940989419894298943989449894598946989479894898949989509895198952989539895498955989569895798958989599896098961989629896398964989659896698967989689896998970989719897298973989749897598976989779897898979989809898198982989839898498985989869898798988989899899098991989929899398994989959899698997989989899999000990019900299003990049900599006990079900899009990109901199012990139901499015990169901799018990199902099021990229902399024990259902699027990289902999030990319903299033990349903599036990379903899039990409904199042990439904499045990469904799048990499905099051990529905399054990559905699057990589905999060990619906299063990649906599066990679906899069990709907199072990739907499075990769907799078990799908099081990829908399084990859908699087990889908999090990919909299093990949909599096990979909899099991009910199102991039910499105991069910799108991099911099111991129911399114991159911699117991189911999120991219912299123991249912599126991279912899129991309913199132991339913499135991369913799138991399914099141991429914399144991459914699147991489914999150991519915299153991549915599156991579915899159991609916199162991639916499165991669916799168991699917099171991729917399174991759917699177991789917999180991819918299183991849918599186991879918899189991909919199192991939919499195991969919799198991999920099201992029920399204992059920699207992089920999210992119921299213992149921599216992179921899219992209922199222992239922499225992269922799228992299923099231992329923399234992359923699237992389923999240992419924299243992449924599246992479924899249992509925199252992539925499255992569925799258992599926099261992629926399264992659926699267992689926999270992719927299273992749927599276992779927899279992809928199282992839928499285992869928799288992899929099291992929929399294992959929699297992989929999300993019930299303993049930599306993079930899309993109931199312993139931499315993169931799318993199932099321993229932399324993259932699327993289932999330993319933299333993349933599336993379933899339993409934199342993439934499345993469934799348993499935099351993529935399354993559935699357993589935999360993619936299363993649936599366993679936899369993709937199372993739937499375993769937799378993799938099381993829938399384993859938699387993889938999390993919939299393993949939599396993979939899399994009940199402994039940499405994069940799408994099941099411994129941399414994159941699417994189941999420994219942299423994249942599426994279942899429994309943199432994339943499435994369943799438994399944099441994429944399444994459944699447994489944999450994519945299453994549945599456994579945899459994609946199462994639946499465994669946799468994699947099471994729947399474994759947699477994789947999480994819948299483994849948599486994879948899489994909949199492994939949499495994969949799498994999950099501995029950399504995059950699507995089950999510995119951299513995149951599516995179951899519995209952199522995239952499525995269952799528995299953099531995329953399534995359953699537995389953999540995419954299543995449954599546995479954899549995509955199552995539955499555995569955799558995599956099561995629956399564995659956699567995689956999570995719957299573995749957599576995779957899579995809958199582995839958499585995869958799588995899959099591995929959399594995959959699597995989959999600996019960299603996049960599606996079960899609996109961199612996139961499615996169961799618996199962099621996229962399624996259962699627996289962999630996319963299633996349963599636996379963899639996409964199642996439964499645996469964799648996499965099651996529965399654996559965699657996589965999660996619966299663996649966599666996679966899669996709967199672996739967499675996769967799678996799968099681996829968399684996859968699687996889968999690996919969299693996949969599696996979969899699997009970199702997039970499705997069970799708997099971099711997129971399714997159971699717997189971999720997219972299723997249972599726997279972899729997309973199732997339973499735997369973799738997399974099741997429974399744997459974699747997489974999750997519975299753997549975599756997579975899759997609976199762997639976499765997669976799768997699977099771997729977399774997759977699777997789977999780997819978299783997849978599786997879978899789997909979199792997939979499795997969979799798997999980099801998029980399804998059980699807998089980999810998119981299813998149981599816998179981899819998209982199822998239982499825998269982799828998299983099831998329983399834998359983699837998389983999840998419984299843998449984599846998479984899849998509985199852998539985499855998569985799858998599986099861998629986399864998659986699867998689986999870998719987299873998749987599876998779987899879998809988199882998839988499885998869988799888998899989099891998929989399894998959989699897998989989999900999019990299903999049990599906999079990899909999109991199912999139991499915999169991799918999199992099921999229992399924999259992699927999289992999930999319993299933999349993599936999379993899939999409994199942999439994499945999469994799948999499995099951999529995399954999559995699957999589995999960999619996299963999649996599966999679996899969999709997199972999739997499975999769997799978999799998099981999829998399984999859998699987999889998999990999919999299993999949999599996999979999899999100000100001100002100003100004100005100006100007100008100009100010100011100012100013100014100015100016100017100018100019100020100021100022100023100024100025100026100027100028100029100030100031100032100033100034100035100036100037100038100039100040100041100042100043100044100045100046100047100048100049100050100051100052100053100054100055100056100057100058100059100060100061100062100063100064100065100066100067100068100069100070100071100072100073100074100075100076100077100078100079100080100081100082100083100084100085100086100087100088100089100090100091100092100093100094100095100096100097100098100099100100100101100102100103100104100105100106100107100108100109100110100111100112100113100114100115100116100117100118100119100120100121100122100123100124100125100126100127100128100129100130100131100132100133100134100135100136100137100138100139100140100141100142100143100144100145100146100147100148100149100150100151100152100153100154100155100156100157100158100159100160100161100162100163100164100165100166100167100168100169100170100171100172100173100174100175100176100177100178100179100180100181100182100183100184100185100186100187100188100189100190100191100192100193100194100195100196100197100198100199100200100201100202100203100204100205100206100207100208100209100210100211100212100213100214100215100216100217100218100219100220100221100222100223100224100225100226100227100228100229100230100231100232100233100234100235100236100237100238100239100240100241100242100243100244100245100246100247100248100249100250100251100252100253100254100255100256100257100258100259100260100261100262100263100264100265100266100267100268100269100270100271100272100273100274100275100276100277100278100279100280100281100282100283100284100285100286100287100288100289100290100291100292100293100294100295100296100297100298100299100300100301100302100303100304100305100306100307100308100309100310100311100312100313100314100315100316100317100318100319100320100321100322100323100324100325100326100327100328100329100330100331100332100333100334100335100336100337100338100339100340100341100342100343100344100345100346100347100348100349100350100351100352100353100354100355100356100357100358100359100360100361100362100363100364100365100366100367100368100369100370100371100372100373100374100375100376100377100378100379100380100381100382100383100384100385100386100387100388100389100390100391100392100393100394100395100396100397100398100399100400100401100402100403100404100405100406100407100408100409100410100411100412100413100414100415100416100417100418100419100420100421100422100423100424100425100426100427100428100429100430100431100432100433100434100435100436100437100438100439100440100441100442100443100444100445100446100447100448100449100450100451100452100453100454100455100456100457100458100459100460100461100462100463100464100465100466100467100468100469100470100471100472100473100474100475100476100477100478100479100480100481100482100483100484100485100486100487100488100489100490100491100492100493100494100495100496100497100498100499100500100501100502100503100504100505100506100507100508100509100510100511100512100513100514100515100516100517100518100519100520100521100522100523100524100525100526100527100528100529100530100531100532100533100534100535100536100537100538100539100540100541100542100543100544100545100546100547100548100549100550100551100552100553100554100555100556100557100558100559100560100561100562100563100564100565100566100567100568100569100570100571100572100573100574100575100576100577100578100579100580100581100582100583100584100585100586100587100588100589100590100591100592100593100594100595100596100597100598100599100600100601100602100603100604100605100606100607100608100609100610100611100612100613100614100615100616100617100618100619100620100621100622100623100624100625100626100627100628100629100630100631100632100633100634100635100636100637100638100639100640100641100642100643100644100645100646100647100648100649100650100651100652100653100654100655100656100657100658100659100660100661100662100663100664100665100666100667100668100669100670100671100672100673100674100675100676100677100678100679100680100681100682100683100684100685100686100687100688100689100690100691100692100693100694100695100696100697100698100699100700100701100702100703100704100705100706100707100708100709100710100711100712100713100714100715100716100717100718100719100720100721100722100723100724100725100726100727100728100729100730100731100732100733100734100735100736100737100738100739100740100741100742100743100744100745100746100747100748100749100750100751100752100753100754100755100756100757100758100759100760100761100762100763100764100765100766100767100768100769100770100771100772100773100774100775100776100777100778100779100780100781100782100783100784100785100786100787100788100789100790100791100792100793100794100795100796100797100798100799100800100801100802100803100804100805100806100807100808100809100810100811100812100813100814100815100816100817100818100819100820100821100822100823100824100825100826100827100828100829100830100831100832100833100834100835100836100837100838100839100840100841100842100843100844100845100846100847100848100849100850100851100852100853100854100855100856100857100858100859100860100861100862100863100864100865100866100867100868100869100870100871100872100873100874100875100876100877100878100879100880100881100882100883100884100885100886100887100888100889100890100891100892100893100894100895100896100897100898100899100900100901100902100903100904100905100906100907100908100909100910100911100912100913100914100915100916100917100918100919100920100921100922100923100924100925100926100927100928100929100930100931100932100933100934100935100936100937100938100939100940100941100942100943100944100945100946100947100948100949100950100951100952100953100954100955100956100957100958100959100960100961100962100963100964100965100966100967100968100969100970100971100972100973100974100975100976100977100978100979100980100981100982100983100984100985100986100987100988100989100990100991100992100993100994100995100996100997100998100999101000101001101002101003101004101005101006101007101008101009101010101011101012101013101014101015101016101017101018101019101020101021101022101023101024101025101026101027101028101029101030101031101032101033101034101035101036101037101038101039101040101041101042101043101044101045101046101047101048101049101050101051101052101053101054101055101056101057101058101059101060101061101062101063101064101065101066101067101068101069101070101071101072101073101074101075101076101077101078101079101080101081101082101083101084101085101086101087101088101089101090101091101092101093101094101095101096101097101098101099101100101101101102101103101104101105101106101107101108101109101110101111101112101113101114101115101116101117101118101119101120101121101122101123101124101125101126101127101128101129101130101131101132101133101134101135101136101137101138101139101140101141101142101143101144101145101146101147101148101149101150101151101152101153101154101155101156101157101158101159101160101161101162101163101164101165101166101167101168101169101170101171101172101173101174101175101176101177101178101179101180101181101182101183101184101185101186101187101188101189101190101191101192101193101194101195101196101197101198101199101200101201101202101203101204101205101206101207101208101209101210101211101212101213101214101215101216101217101218101219101220101221101222101223101224101225101226101227101228101229101230101231101232101233101234101235101236101237101238101239101240101241101242101243101244101245101246101247101248101249101250101251101252101253101254101255101256101257101258101259101260101261101262101263101264101265101266101267101268101269101270101271101272101273101274101275101276101277101278101279101280101281101282101283101284101285101286101287101288101289101290101291101292101293101294101295101296101297101298101299101300101301101302101303101304101305101306101307101308101309101310101311101312101313101314101315101316101317101318101319101320101321101322101323101324101325101326101327101328101329101330101331101332101333101334101335101336101337101338101339101340101341101342101343101344101345101346101347101348101349101350101351101352101353101354101355101356101357101358101359101360101361101362101363101364101365101366101367101368101369101370101371101372101373101374101375101376101377101378101379101380101381101382101383101384101385101386101387101388101389101390101391101392101393101394101395101396101397101398101399101400101401101402101403101404101405101406101407101408101409101410101411101412101413101414101415101416101417101418101419101420101421101422101423101424101425101426101427101428101429101430101431101432101433101434101435101436101437101438101439101440101441101442101443101444101445101446101447101448101449101450101451101452101453101454101455101456101457101458101459101460101461101462101463101464101465101466101467101468101469101470101471101472101473101474101475101476101477101478101479101480101481101482101483101484101485101486101487101488101489101490101491101492101493101494101495101496101497101498101499101500101501101502101503101504101505101506101507101508101509101510101511101512101513101514101515101516101517101518101519101520101521101522101523101524101525101526101527101528101529101530101531101532101533101534101535101536101537101538101539101540101541101542101543101544101545101546101547101548101549101550101551101552101553101554101555101556101557101558101559101560101561101562101563101564101565101566101567101568101569101570101571101572101573101574101575101576101577101578101579101580101581101582101583101584101585101586101587101588101589101590101591101592101593101594101595101596101597101598101599101600101601101602101603101604101605101606101607101608101609101610101611101612101613101614101615101616101617101618101619101620101621101622101623101624101625101626101627101628101629101630101631101632101633101634101635101636101637101638101639101640101641101642101643101644101645101646101647101648101649101650101651101652101653101654101655101656101657101658101659101660101661101662101663101664101665101666101667101668101669101670101671101672101673101674101675101676101677101678101679101680101681101682101683101684101685101686101687101688101689101690101691101692101693101694101695101696101697101698101699101700101701101702101703101704101705101706101707101708101709101710101711101712101713101714101715101716101717101718101719101720101721101722101723101724101725101726101727101728101729101730101731101732101733101734101735101736101737101738101739101740101741101742101743101744101745101746101747101748101749101750101751101752101753101754101755101756101757101758101759101760101761101762101763101764101765101766101767101768101769101770101771101772101773101774101775101776101777101778101779101780101781101782101783101784101785101786101787101788101789101790101791101792101793101794101795101796101797101798101799101800101801101802101803101804101805101806101807101808101809101810101811101812101813101814101815101816101817101818101819101820101821101822101823101824101825101826101827101828101829101830101831101832101833101834101835101836101837101838101839101840101841101842101843101844101845101846101847101848101849101850101851101852101853101854101855101856101857101858101859101860101861101862101863101864101865101866101867101868101869101870101871101872101873101874101875101876101877101878101879101880101881101882101883101884101885101886101887101888101889101890101891101892101893101894101895101896101897101898101899101900101901101902101903101904101905101906101907101908101909101910101911101912101913101914101915101916101917101918101919101920101921101922101923101924101925101926101927101928101929101930101931101932101933101934101935101936101937101938101939101940101941101942101943101944101945101946101947101948101949101950101951101952101953101954101955101956101957101958101959101960101961101962101963101964101965101966101967101968101969101970101971101972101973101974101975101976101977101978101979101980101981101982101983101984101985101986101987101988101989101990101991101992101993101994101995101996101997101998101999102000102001102002102003102004102005102006102007102008102009102010102011102012102013102014102015102016102017102018102019102020102021102022102023102024102025102026102027102028102029102030102031102032102033102034102035102036102037102038102039102040102041102042102043102044102045102046102047102048102049102050102051102052102053102054102055102056102057102058102059102060102061102062102063102064102065102066102067102068102069102070102071102072102073102074102075102076102077102078102079102080102081102082102083102084102085102086102087102088102089102090102091102092102093102094102095102096102097102098102099102100102101102102102103102104102105102106102107102108102109102110102111102112102113102114102115102116102117102118102119102120102121102122102123102124102125102126102127102128102129102130102131102132102133102134102135102136102137102138102139102140102141102142102143102144102145102146102147102148102149102150102151102152102153102154102155102156102157102158102159102160102161102162102163102164102165102166102167102168102169102170102171102172102173102174102175102176102177102178102179102180102181102182102183102184102185102186102187102188102189102190102191102192102193102194102195102196102197102198102199102200102201102202102203102204102205102206102207102208102209102210102211102212102213102214102215102216102217102218102219102220102221102222102223102224102225102226102227102228102229102230102231102232102233102234102235102236102237102238102239102240102241102242102243102244102245102246102247102248102249102250102251102252102253102254102255102256102257102258102259102260102261102262102263102264102265102266102267102268102269102270102271102272102273102274102275102276102277102278102279102280102281102282102283102284102285102286102287102288102289102290102291102292102293102294102295102296102297102298102299102300102301102302102303102304102305102306102307102308102309102310102311102312102313102314102315102316102317102318102319102320102321102322102323102324102325102326102327102328102329102330102331102332102333102334102335102336102337102338102339102340102341102342102343102344102345102346102347102348102349102350102351102352102353102354102355102356102357102358102359102360102361102362102363102364102365102366102367102368102369102370102371102372102373102374102375102376102377102378102379102380102381102382102383102384102385102386102387102388102389102390102391102392102393102394102395102396102397102398102399102400102401102402102403102404102405102406102407102408102409102410102411102412102413102414102415102416102417102418102419102420102421102422102423102424102425102426102427102428102429102430102431102432102433102434102435102436102437102438102439102440102441102442102443102444102445102446102447102448102449102450102451102452102453102454102455102456102457102458102459102460102461102462102463102464102465102466102467102468102469102470102471102472102473102474102475102476102477102478102479102480102481102482102483102484102485102486102487102488102489102490102491102492102493102494102495102496102497102498102499102500102501102502102503102504102505102506102507102508102509102510102511102512102513102514102515102516102517102518102519102520102521102522102523102524102525102526102527102528102529102530102531102532102533102534102535102536102537102538102539102540102541102542102543102544102545102546102547102548102549102550102551102552102553102554102555102556102557102558102559102560102561102562102563102564102565102566102567102568102569102570102571102572102573102574102575102576102577102578102579102580102581102582102583102584102585102586102587102588102589102590102591102592102593102594102595102596102597102598102599102600102601102602102603102604102605102606102607102608102609102610102611102612102613102614102615102616102617102618102619102620102621102622102623102624102625102626102627102628102629102630102631102632102633102634102635102636102637102638102639102640102641102642102643102644102645102646102647102648102649102650102651102652102653102654102655102656102657102658102659102660102661102662102663102664102665102666102667102668102669102670102671102672102673102674102675102676102677102678102679102680102681102682102683102684102685102686102687102688102689102690102691102692102693102694102695102696102697102698102699102700102701102702102703102704102705102706102707102708102709102710102711102712102713102714102715102716102717102718102719102720102721102722102723102724102725102726102727102728102729102730102731102732102733102734102735102736102737102738102739102740102741102742102743102744102745102746102747102748102749102750102751102752102753102754102755102756102757102758102759102760102761102762102763102764102765102766102767102768102769102770102771102772102773102774102775102776102777102778102779102780102781102782102783102784102785102786102787102788102789102790102791102792102793102794102795102796102797102798102799102800102801102802102803102804102805102806102807102808102809102810102811102812102813102814102815102816102817102818102819102820102821102822102823102824102825102826102827102828102829102830102831102832102833102834102835102836102837102838102839102840102841102842102843102844102845102846102847102848102849102850102851102852102853102854102855102856102857102858102859102860102861102862102863102864102865102866102867102868102869102870102871102872102873102874102875102876102877102878102879102880102881102882102883102884102885102886102887102888102889102890102891102892102893102894102895102896102897102898102899102900102901102902102903102904102905102906102907102908102909102910102911102912102913102914102915102916102917102918102919102920102921102922102923102924102925102926102927102928102929102930102931102932102933102934102935102936102937102938102939102940102941102942102943102944102945102946102947102948102949102950102951102952102953102954102955102956102957102958102959102960102961102962102963102964102965102966102967102968102969102970102971102972102973102974102975102976102977102978102979102980102981102982102983102984102985102986102987102988102989102990102991102992102993102994102995102996102997102998102999103000103001103002103003103004103005103006103007103008103009103010103011103012103013103014103015103016103017103018103019103020103021103022103023103024103025103026103027103028103029103030103031103032103033103034103035103036103037103038103039103040103041103042103043103044103045103046103047103048103049103050103051103052103053103054103055103056103057103058103059103060103061103062103063103064103065103066103067103068103069103070103071103072103073103074103075103076103077103078103079103080103081103082103083103084103085103086103087103088103089103090103091103092103093103094103095103096103097103098103099103100103101103102103103103104103105103106103107103108103109103110103111103112103113103114103115103116103117103118103119103120103121103122103123103124103125103126103127103128103129103130103131103132103133103134103135103136103137103138103139103140103141103142103143103144103145103146103147103148103149103150103151103152103153103154103155103156103157103158103159103160103161103162103163103164103165103166103167103168103169103170103171103172103173103174103175103176103177103178103179103180103181103182103183103184103185103186103187103188103189103190103191103192103193103194103195103196103197103198103199103200103201103202103203103204103205103206103207103208103209103210103211103212103213103214103215103216103217103218103219103220103221103222103223103224103225103226103227103228103229103230103231103232103233103234103235103236103237103238103239103240103241103242103243103244103245103246103247103248103249103250103251103252103253103254103255103256103257103258103259103260103261103262103263103264103265103266103267103268103269103270103271103272103273103274103275103276103277103278103279103280103281103282103283103284103285103286103287103288103289103290103291103292103293103294103295103296103297103298103299103300103301103302103303103304103305103306103307103308103309103310103311103312103313103314103315103316103317103318103319103320103321103322103323103324103325103326103327103328103329103330103331103332103333103334103335103336103337103338103339103340103341103342103343103344103345103346103347103348103349103350103351103352103353103354103355103356103357103358103359103360103361103362103363103364103365103366103367103368103369103370103371103372103373103374103375103376103377103378103379103380103381103382103383103384103385103386103387103388103389103390103391103392103393103394103395103396103397103398103399103400103401103402103403103404103405103406103407103408103409103410103411103412103413103414103415103416103417103418103419103420103421103422103423103424103425103426103427103428103429103430103431103432103433103434103435103436103437103438103439103440103441103442103443103444103445103446103447103448103449103450103451103452103453103454103455103456103457103458103459103460103461103462103463103464103465103466103467103468103469103470103471103472103473103474103475103476103477103478103479103480103481103482103483103484103485103486103487103488103489103490103491103492103493103494103495103496103497103498103499103500103501103502103503103504103505103506103507103508103509103510103511103512103513103514103515103516103517103518103519103520103521103522103523103524103525103526103527103528103529103530103531103532103533103534103535103536103537103538103539103540103541103542103543103544103545103546103547103548103549103550103551103552103553103554103555103556103557103558103559103560103561103562103563103564103565103566103567103568103569103570103571103572103573103574103575103576103577103578103579103580103581103582103583103584103585103586103587103588103589103590103591103592103593103594103595103596103597103598103599103600103601103602103603103604103605103606103607103608103609103610103611103612103613103614103615103616103617103618103619103620103621103622103623103624103625103626103627103628103629103630103631103632103633103634103635103636103637103638103639103640103641103642103643103644103645103646103647103648103649103650103651103652103653103654103655103656103657103658103659103660103661103662103663103664103665103666103667103668103669103670103671103672103673103674103675103676103677103678103679103680103681103682103683103684103685103686103687103688103689103690103691103692103693103694103695103696103697103698103699103700103701103702103703103704103705103706103707103708103709103710103711103712103713103714103715103716103717103718103719103720103721103722103723103724103725103726103727103728103729103730103731103732103733103734103735103736103737103738103739103740103741103742103743103744103745103746103747103748103749103750103751103752103753103754103755103756103757103758103759103760103761103762103763103764103765103766103767103768103769103770103771103772103773103774103775103776103777103778103779103780103781103782103783103784103785103786103787103788103789103790103791103792103793103794103795103796103797103798103799103800103801103802103803103804103805103806103807103808103809103810103811103812103813103814103815103816103817103818103819103820103821103822103823103824103825103826103827103828103829103830103831103832103833103834103835103836103837103838103839103840103841103842103843103844103845103846103847103848103849103850103851103852103853103854103855103856103857103858103859103860103861103862103863103864103865103866103867103868103869103870103871103872103873103874103875103876103877103878103879103880103881103882103883103884103885103886103887103888103889103890103891103892103893103894103895103896103897103898103899103900103901103902103903103904103905103906103907103908103909103910103911103912103913103914103915103916103917103918103919103920103921103922103923103924103925103926103927103928103929103930103931103932103933103934103935103936103937103938103939103940103941103942103943103944103945103946103947103948103949103950103951103952103953103954103955103956103957103958103959103960103961103962103963103964103965103966103967103968103969103970103971103972103973103974103975103976103977103978103979103980103981103982103983103984103985103986103987103988103989103990103991103992103993103994103995103996103997103998103999104000104001104002104003104004104005104006104007104008104009104010104011104012104013104014104015104016104017104018104019104020104021104022104023104024104025104026104027104028104029104030104031104032104033104034104035104036104037104038104039104040104041104042104043104044104045104046104047104048104049104050104051104052104053104054104055104056104057104058104059104060104061104062104063104064104065104066104067104068104069104070104071104072104073104074104075104076104077104078104079104080104081104082104083104084104085104086104087104088104089104090104091104092104093104094104095104096104097104098104099104100104101104102104103104104104105104106104107104108104109104110104111104112104113104114104115104116104117104118104119104120104121104122104123104124104125104126104127104128104129104130104131104132104133104134104135104136104137104138104139104140104141104142104143104144104145104146104147104148104149104150104151104152104153104154104155104156104157104158104159104160104161104162104163104164104165104166104167104168104169104170104171104172104173104174104175104176104177104178104179104180104181104182104183104184104185104186104187104188104189104190104191104192104193104194104195104196104197104198104199104200104201104202104203104204104205104206104207104208104209104210104211104212104213104214104215104216104217104218104219104220104221104222104223104224104225104226104227104228104229104230104231104232104233104234104235104236104237104238104239104240104241104242104243104244104245104246104247104248104249104250104251104252104253104254104255104256104257104258104259104260104261104262104263104264104265104266104267104268104269104270104271104272104273104274104275104276104277104278104279104280104281104282104283104284104285104286104287104288104289104290104291104292104293104294104295104296104297104298104299104300104301104302104303104304104305104306104307104308104309104310104311104312104313104314104315104316104317104318104319104320104321104322104323104324104325104326104327104328104329104330104331104332104333104334104335104336104337104338104339104340104341104342104343104344104345104346104347104348104349104350104351104352104353104354104355104356104357104358104359104360104361104362104363104364104365104366104367104368104369104370104371104372104373104374104375104376104377104378104379104380104381104382104383104384104385104386104387104388104389104390104391104392104393104394104395104396104397104398104399104400104401104402104403104404104405104406104407104408104409104410104411104412104413104414104415104416104417104418104419104420104421104422104423104424104425104426104427104428104429104430104431104432104433104434104435104436104437104438104439104440104441104442104443104444104445104446104447104448104449104450104451104452104453104454104455104456104457104458104459104460104461104462104463104464104465104466104467104468104469104470104471104472104473104474104475104476104477104478104479104480104481104482104483104484104485104486104487104488104489104490104491104492104493104494104495104496104497104498104499104500104501104502104503104504104505104506104507104508104509104510104511104512104513104514104515104516104517104518104519104520104521104522104523104524104525104526104527104528104529104530104531104532104533104534104535104536104537104538104539104540104541104542104543104544104545104546104547104548104549104550104551104552104553104554104555104556104557104558104559104560104561104562104563104564104565104566104567104568104569104570104571104572104573104574104575104576104577104578104579104580104581104582104583104584104585104586104587104588104589104590104591104592104593104594104595104596104597104598104599104600104601104602104603104604104605104606104607104608104609104610104611104612104613104614104615104616104617104618104619104620104621104622104623104624104625104626104627104628104629104630104631104632104633104634104635104636104637104638104639104640104641104642104643104644104645104646104647104648104649104650104651104652104653104654104655104656104657104658104659104660104661104662104663104664104665104666104667104668104669104670104671104672104673104674104675104676104677104678104679104680104681104682104683104684104685104686104687104688104689104690104691104692104693104694104695104696104697104698104699104700104701104702104703104704104705104706104707104708104709104710104711104712104713104714104715104716104717104718104719104720104721104722104723104724104725104726104727104728104729104730104731104732104733104734104735104736104737104738104739104740104741104742104743104744104745104746104747104748104749104750104751104752104753104754104755104756104757104758104759104760104761104762104763104764104765104766104767104768104769104770104771104772104773104774104775104776104777104778104779104780104781104782104783104784104785104786104787104788104789104790104791104792104793104794104795104796104797104798104799104800104801104802104803104804104805104806104807104808104809104810104811104812104813104814104815104816104817104818104819104820104821104822104823104824104825104826104827104828104829104830104831104832104833104834104835104836104837104838104839104840104841104842104843104844104845104846104847104848104849104850104851104852104853104854104855104856104857104858104859104860104861104862104863104864104865104866104867104868104869104870104871104872104873104874104875104876104877104878104879104880104881104882104883104884104885104886104887104888104889104890104891104892104893104894104895104896104897104898104899104900104901104902104903104904104905104906104907104908104909104910104911104912104913104914104915104916104917104918104919104920104921104922104923104924104925104926104927104928104929104930104931104932104933104934104935104936104937104938104939104940104941104942104943104944104945104946104947104948104949104950104951104952104953104954104955104956104957104958104959104960104961104962104963104964104965104966104967104968104969104970104971104972104973104974104975104976104977104978104979104980104981104982104983104984104985104986104987104988104989104990104991104992104993104994104995104996104997104998104999105000105001105002105003105004105005105006105007105008105009105010105011105012105013105014105015105016105017105018105019105020105021105022105023105024105025105026105027105028105029105030105031105032105033105034105035105036105037105038105039105040105041105042105043105044105045105046105047105048105049105050105051105052105053105054105055105056105057105058105059105060105061105062105063105064105065105066105067105068105069105070105071105072105073105074105075105076105077105078105079105080105081105082105083105084105085105086105087105088105089105090105091105092105093105094105095105096105097105098105099105100105101105102105103105104105105105106105107105108105109105110105111105112105113105114105115105116105117105118105119105120105121105122105123105124105125105126105127105128105129105130105131105132105133105134105135105136105137105138105139105140105141105142105143105144105145105146105147105148105149105150105151105152105153105154105155105156105157105158105159105160105161105162105163105164105165105166105167105168105169105170105171105172105173105174105175105176105177105178105179105180105181105182105183105184105185105186105187105188105189105190105191105192105193105194105195105196105197105198105199105200105201105202105203105204105205105206105207105208105209105210105211105212105213105214105215105216105217105218105219105220105221105222105223105224105225105226105227105228105229105230105231105232105233105234105235105236105237105238105239105240105241105242105243105244105245105246105247105248105249105250105251105252105253105254105255105256105257105258105259105260105261105262105263105264105265105266105267105268105269105270105271105272105273105274105275105276105277105278105279105280105281105282105283105284105285105286105287105288105289105290105291105292105293105294105295105296105297105298105299105300105301105302105303105304105305105306105307105308105309105310105311105312105313105314105315105316105317105318105319105320105321105322105323105324105325105326105327105328105329105330105331105332105333105334105335105336105337105338105339105340105341105342105343105344105345105346105347105348105349105350105351105352105353105354105355105356105357105358105359105360105361105362105363105364105365105366105367105368105369105370105371105372105373105374105375105376105377105378105379105380105381105382105383105384105385105386105387105388105389105390105391105392105393105394105395105396105397105398105399105400105401105402105403105404105405105406105407105408105409105410105411105412105413105414105415105416105417105418105419105420105421105422105423105424105425105426105427105428105429105430105431105432105433105434105435105436105437105438105439105440105441105442105443105444105445105446105447105448105449105450105451105452105453105454105455105456105457105458105459105460105461105462105463105464105465105466105467105468105469105470105471105472105473105474105475105476105477105478105479105480105481105482105483105484105485105486105487105488105489105490105491105492105493105494105495105496105497105498105499105500105501105502105503105504105505105506105507105508105509105510105511105512105513105514105515105516105517105518105519105520105521105522105523105524105525105526105527105528105529105530105531105532105533105534105535105536105537105538105539105540105541105542105543105544105545105546105547105548105549105550105551105552105553105554105555105556105557105558105559105560105561105562105563105564105565105566105567105568105569105570105571105572105573105574105575105576105577105578105579105580105581105582105583105584105585105586105587105588105589105590105591105592105593105594105595105596105597105598105599105600105601105602105603105604105605105606105607105608105609105610105611105612105613105614105615105616105617105618105619105620105621105622105623105624105625105626105627105628105629105630105631105632105633105634105635105636105637105638105639105640105641105642105643105644105645105646105647105648105649105650105651105652105653105654105655105656105657105658105659105660105661105662105663105664105665105666105667105668105669105670105671105672105673105674105675105676105677105678105679105680105681105682105683105684105685105686105687105688105689105690105691105692105693105694105695105696105697105698105699105700105701105702105703105704105705105706105707105708105709105710105711105712105713105714105715105716105717105718105719105720105721105722105723105724105725105726105727105728105729105730105731105732105733105734105735105736105737105738105739105740105741105742105743105744105745105746105747105748105749105750105751105752105753105754105755105756105757105758105759105760105761105762105763105764105765105766105767105768105769105770105771105772105773105774105775105776105777105778105779105780105781105782105783105784105785105786105787105788105789105790105791105792105793105794105795105796105797105798105799105800105801105802105803105804105805105806105807105808105809105810105811105812105813105814105815105816105817105818105819105820105821105822105823105824105825105826105827105828105829105830105831105832105833105834105835105836105837105838105839105840105841105842105843105844105845105846105847105848105849105850105851105852105853105854105855105856105857105858105859105860105861105862105863105864105865105866105867105868105869105870105871105872105873105874105875105876105877105878105879105880105881105882105883105884105885105886105887105888105889105890105891105892105893105894105895105896105897105898105899105900105901105902105903105904105905105906105907105908105909105910105911105912105913105914105915105916105917105918105919105920105921105922105923105924105925105926105927105928105929105930105931105932105933105934105935105936105937105938105939105940105941105942105943105944105945105946105947105948105949105950105951105952105953105954105955105956105957105958105959105960105961105962105963105964105965105966105967105968105969105970105971105972105973105974105975105976105977105978105979105980105981105982105983105984105985105986105987105988105989105990105991105992105993105994105995105996105997105998105999106000106001106002106003106004106005106006106007106008106009106010106011106012106013106014106015106016106017106018106019106020106021106022106023106024106025106026106027106028106029106030106031106032106033106034106035106036106037106038106039106040106041106042106043106044106045106046106047106048106049106050106051106052106053106054106055106056106057106058106059106060106061106062106063106064106065106066106067106068106069106070106071106072106073106074106075106076106077106078106079106080106081106082106083106084106085106086106087106088106089106090106091106092106093106094106095106096106097106098106099106100106101106102106103106104106105106106106107106108106109106110106111106112106113106114106115106116106117106118106119106120106121106122106123106124106125106126106127106128106129106130106131106132106133106134106135106136106137106138106139106140106141106142106143106144106145106146106147106148106149106150106151106152106153106154106155106156106157106158106159106160106161106162106163106164106165106166106167106168106169106170106171106172106173106174106175106176106177106178106179106180106181106182106183106184106185106186106187106188106189106190106191106192106193106194106195106196106197106198106199106200106201106202106203106204106205106206106207106208106209106210106211106212106213106214106215106216106217106218106219106220106221106222106223106224106225106226106227106228106229106230106231106232106233106234106235106236106237106238106239106240106241106242106243106244106245106246106247106248106249106250106251106252106253106254106255106256106257106258106259106260106261106262106263106264106265106266106267106268106269106270106271106272106273106274106275106276106277106278106279106280106281106282106283106284106285106286106287106288106289106290106291106292106293106294106295106296106297106298106299106300106301106302106303106304106305106306106307106308106309106310106311106312106313106314106315106316106317106318106319106320106321106322106323106324106325106326106327106328106329106330106331106332106333106334106335106336106337106338106339106340106341106342106343106344106345106346106347106348106349106350106351106352106353106354106355106356106357106358106359106360106361106362106363106364106365106366106367106368106369106370106371106372106373106374106375106376106377106378106379106380106381106382106383106384106385106386106387106388106389106390106391106392106393106394106395106396106397106398106399106400106401106402106403106404106405106406106407106408106409106410106411106412106413106414106415106416106417106418106419106420106421106422106423106424106425106426106427106428106429106430106431106432106433106434106435106436106437106438106439106440106441106442106443106444106445106446106447106448106449106450106451106452106453106454106455106456106457106458106459106460106461106462106463106464106465106466106467106468106469106470106471106472106473106474106475106476106477106478106479106480106481106482106483106484106485106486106487106488106489106490106491106492106493106494106495106496106497106498106499106500106501106502106503106504106505106506106507106508106509106510106511106512106513106514106515106516106517106518106519106520106521106522106523106524106525106526106527106528106529106530106531106532106533106534106535106536106537106538106539106540106541106542106543106544106545106546106547106548106549106550106551106552106553106554106555106556106557106558106559106560106561106562106563106564106565106566106567106568106569106570106571106572106573106574106575106576106577106578106579106580106581106582106583106584106585106586106587106588106589106590106591106592106593106594106595106596106597106598106599106600106601106602106603106604106605106606106607106608106609106610106611106612106613106614106615106616106617106618106619106620106621106622106623106624106625106626106627106628106629106630106631106632106633106634106635106636106637106638106639106640106641106642106643106644106645106646106647106648106649106650106651106652106653106654106655106656106657106658106659106660106661106662106663106664106665106666106667106668106669106670106671106672106673106674106675106676106677106678106679106680106681106682106683106684106685106686106687106688106689106690106691106692106693106694106695106696106697106698106699106700106701106702106703106704106705106706106707106708106709106710106711106712106713106714106715106716106717106718106719106720106721106722106723106724106725106726106727106728106729106730106731106732106733106734106735106736106737106738106739106740106741106742106743106744106745106746106747106748106749106750106751106752106753106754106755106756106757106758106759106760106761106762106763106764106765106766106767106768106769106770106771106772106773106774106775106776106777106778106779106780106781106782106783106784106785106786106787106788106789106790106791106792106793106794106795106796106797106798106799106800106801106802106803106804106805106806106807106808106809106810106811106812106813106814106815106816106817106818106819106820106821106822106823106824106825106826106827106828106829106830106831106832106833106834106835106836106837106838106839106840106841106842106843106844106845106846106847106848106849106850106851106852106853106854106855106856106857106858106859106860106861106862106863106864106865106866106867106868106869106870106871106872106873106874106875106876106877106878106879106880106881106882106883106884106885106886106887106888106889106890106891106892106893106894106895106896106897106898106899106900106901106902106903106904106905106906106907106908106909106910106911106912106913106914106915106916106917106918106919106920106921106922106923106924106925106926106927106928106929106930106931106932106933106934106935106936106937106938106939106940106941106942106943106944106945106946106947106948106949106950106951106952106953106954106955106956106957106958106959106960106961106962106963106964106965106966106967106968106969106970106971106972106973106974106975106976106977106978106979106980106981106982106983106984106985106986106987106988106989106990106991106992106993106994106995106996106997106998106999107000107001107002107003107004107005107006107007107008107009107010107011107012107013107014107015107016107017107018107019107020107021107022107023107024107025107026107027107028107029107030107031107032107033107034107035107036107037107038107039107040107041107042107043107044107045107046107047107048107049107050107051107052107053107054107055107056107057107058107059107060107061107062107063107064107065107066107067107068107069107070107071107072107073107074107075107076107077107078107079107080107081107082107083107084107085107086107087107088107089107090107091107092107093107094107095107096107097107098107099107100107101107102107103107104107105107106107107107108107109107110107111107112107113107114107115107116107117107118107119107120107121107122107123107124107125107126107127107128107129107130107131107132107133107134107135107136107137107138107139107140107141107142107143107144107145107146107147107148107149107150107151107152107153107154107155107156107157107158107159107160107161107162107163107164107165107166107167107168107169107170107171107172107173107174107175107176107177107178107179107180107181107182107183107184107185107186107187107188107189107190107191107192107193107194107195107196107197107198107199107200107201107202107203107204107205107206107207107208107209107210107211107212107213107214107215107216107217107218107219107220107221107222107223107224107225107226107227107228107229107230107231107232107233107234107235107236107237107238107239107240107241107242107243107244107245107246107247107248107249107250107251107252107253107254107255107256107257107258107259107260107261107262107263107264107265107266107267107268107269107270107271107272107273107274107275107276107277107278107279107280107281107282107283107284107285107286107287107288107289107290107291107292107293107294107295107296107297107298107299107300107301107302107303107304107305107306107307107308107309107310107311107312107313107314107315107316107317107318107319107320107321107322107323107324107325107326107327107328107329107330107331107332107333107334107335107336107337107338107339107340107341107342107343107344107345107346107347107348107349107350107351107352107353107354107355107356107357107358107359107360107361107362107363107364107365107366107367107368107369107370107371107372107373107374107375107376107377107378107379107380107381107382107383107384107385107386107387107388107389107390107391107392107393107394107395107396107397107398107399107400107401107402107403107404107405107406107407107408107409107410107411107412107413107414107415107416107417107418107419107420107421107422107423107424107425107426107427107428107429107430107431107432107433107434107435107436107437107438107439107440107441107442107443107444107445107446107447107448107449107450107451107452107453107454107455107456107457107458107459107460107461107462107463107464107465107466107467107468107469107470107471107472107473107474107475107476107477107478107479107480107481107482107483107484107485107486107487107488107489107490107491107492107493107494107495107496107497107498107499107500107501107502107503107504107505107506107507107508107509107510107511107512107513107514107515107516107517107518107519107520107521107522107523107524107525107526107527107528107529107530107531107532107533107534107535107536107537107538107539107540107541107542107543107544107545107546107547107548107549107550107551107552107553107554107555107556107557107558107559107560107561107562107563107564107565107566107567107568107569107570107571107572107573107574107575107576107577107578107579107580107581107582107583107584107585107586107587107588107589107590107591107592107593107594107595107596107597107598107599107600107601107602107603107604107605107606107607107608107609107610107611107612107613107614107615107616107617107618107619107620107621107622107623107624107625107626107627107628107629107630107631107632107633107634107635107636107637107638107639107640107641107642107643107644107645107646107647107648107649107650107651107652107653107654107655107656107657107658107659107660107661107662107663107664107665107666107667107668107669107670107671107672107673107674107675107676107677107678107679107680107681107682107683107684107685107686107687107688107689107690107691107692107693107694107695107696107697107698107699107700107701107702107703107704107705107706107707107708107709107710107711107712107713107714107715107716107717107718107719107720107721107722107723107724107725107726107727107728107729107730107731107732107733107734107735107736107737107738107739107740107741107742107743107744107745107746107747107748107749107750107751107752107753107754107755107756107757107758107759107760107761107762107763107764107765107766107767107768107769107770107771107772107773107774107775107776107777107778107779107780107781107782107783107784107785107786107787107788107789107790107791107792107793107794107795107796107797107798107799107800107801107802107803107804107805107806107807107808107809107810107811107812107813107814107815107816107817107818107819107820107821107822107823107824107825107826107827107828107829107830107831107832107833107834107835107836107837107838107839107840107841107842107843107844107845107846107847107848107849107850107851107852107853107854107855107856107857107858107859107860107861107862107863107864107865107866107867107868107869107870107871107872107873107874107875107876107877107878107879107880107881107882107883107884107885107886107887107888107889107890107891107892107893107894107895107896107897107898107899107900107901107902107903107904107905107906107907107908107909107910107911107912107913107914107915107916107917107918107919107920107921107922107923107924107925107926107927107928107929107930107931107932107933107934107935107936107937107938107939107940107941107942107943107944107945107946107947107948107949107950107951107952107953107954107955107956107957107958107959107960107961107962107963107964107965107966107967107968107969107970107971107972107973107974107975107976107977107978107979107980107981107982107983107984107985107986107987107988107989107990107991107992107993107994107995107996107997107998107999108000108001108002108003108004108005108006108007108008108009108010108011108012108013108014108015108016108017108018108019108020108021108022108023108024108025108026108027108028108029108030108031108032108033108034108035108036108037108038108039108040108041108042108043108044108045108046108047108048108049108050108051108052108053108054108055108056108057108058108059108060108061108062108063108064108065108066108067108068108069108070108071108072108073108074108075108076108077108078108079108080108081108082108083108084108085108086108087108088108089108090108091108092108093108094108095108096108097108098108099108100108101108102108103108104108105108106108107108108108109108110108111108112108113108114108115108116108117108118108119108120108121108122108123108124108125108126108127108128108129108130108131108132108133108134108135108136108137108138108139108140108141108142108143108144108145108146108147108148108149108150108151108152108153108154108155108156108157108158108159108160108161108162108163108164108165108166108167108168108169108170108171108172108173108174108175108176108177108178108179108180108181108182108183108184108185108186108187108188108189108190108191108192108193108194108195108196108197108198108199108200108201108202108203108204108205108206108207108208108209108210108211108212108213108214108215108216108217108218108219108220108221108222108223108224108225108226108227108228108229108230108231108232108233108234108235108236108237108238108239108240108241108242108243108244108245108246108247108248108249108250108251108252108253108254108255108256108257108258108259108260108261108262108263108264108265108266108267108268108269108270108271108272108273108274108275108276108277108278108279108280108281108282108283108284108285108286108287108288108289108290108291108292108293108294108295108296108297108298108299108300108301108302108303108304108305108306108307108308108309108310108311108312108313108314108315108316108317108318108319108320108321108322108323108324108325108326108327108328108329108330108331108332108333108334108335108336108337108338108339108340108341108342108343108344108345108346108347108348108349108350108351108352108353108354108355108356108357108358108359108360108361108362108363108364108365108366108367108368108369108370108371108372108373108374108375108376108377108378108379108380108381108382108383108384108385108386108387108388108389108390108391108392108393108394108395108396108397108398108399108400108401108402108403108404108405108406108407108408108409108410108411108412108413108414108415108416108417108418108419108420108421108422108423108424108425108426108427108428108429108430108431108432108433108434108435108436108437108438108439108440108441108442108443108444108445108446108447108448108449108450108451108452108453108454108455108456108457108458108459108460108461108462108463108464108465108466108467108468108469108470108471108472108473108474108475108476108477108478108479108480108481108482108483108484108485108486108487108488108489108490108491108492108493108494108495108496108497108498108499108500108501108502108503108504108505108506108507108508108509108510108511108512108513108514108515108516108517108518108519108520108521108522108523108524108525108526108527108528108529108530108531108532108533108534108535108536108537108538108539108540108541108542108543108544108545108546108547108548108549108550108551108552108553108554108555108556108557108558108559108560108561108562108563108564108565108566108567108568108569108570108571108572108573108574108575108576108577108578108579108580108581108582108583108584108585108586108587108588108589108590108591108592108593108594108595108596108597108598108599108600108601108602108603108604108605108606108607108608108609108610108611108612108613108614108615108616108617108618108619108620108621108622108623108624108625108626108627108628108629108630108631108632108633108634108635108636108637108638108639108640108641108642108643108644108645108646108647108648108649108650108651108652108653108654108655108656108657108658108659108660108661108662108663108664108665108666108667108668108669108670108671108672108673108674108675108676108677108678108679108680108681108682108683108684108685108686108687108688108689108690108691108692108693108694108695108696108697108698108699108700108701108702108703108704108705108706108707108708108709108710108711108712108713108714108715108716108717108718108719108720108721108722108723108724108725108726108727108728108729108730108731108732108733108734108735108736108737108738108739108740108741108742108743108744108745108746108747108748108749108750108751108752108753108754108755108756108757108758108759108760108761108762108763108764108765108766108767108768108769108770108771108772108773108774108775108776108777108778108779108780108781108782108783108784108785108786108787108788108789108790108791108792108793108794108795108796108797108798108799108800108801108802108803108804108805108806108807108808108809108810108811108812108813108814108815108816108817108818108819108820108821108822108823108824108825108826108827108828108829108830108831108832108833108834108835108836108837108838108839108840108841108842108843108844108845108846108847108848108849108850108851108852108853108854108855108856108857108858108859108860108861108862108863108864108865108866108867108868108869108870108871108872108873108874108875108876108877108878108879108880108881108882108883108884108885108886108887108888108889108890108891108892108893108894108895108896108897108898108899108900108901108902108903108904108905108906108907108908108909108910108911108912108913108914108915108916108917108918108919108920108921108922108923108924108925108926108927108928108929108930108931108932108933108934108935108936108937108938108939108940108941108942108943108944108945108946108947108948108949108950108951108952108953108954108955108956108957108958108959108960108961108962108963108964108965108966108967108968108969108970108971108972108973108974108975108976108977108978108979108980108981108982108983108984108985108986108987108988108989108990108991108992108993108994108995108996108997108998108999109000109001109002109003109004109005109006109007109008109009109010109011109012109013109014109015109016109017109018109019109020109021109022109023109024109025109026109027109028109029109030109031109032109033109034109035109036109037109038109039109040109041109042109043109044109045109046109047109048109049109050109051109052109053109054109055109056109057109058109059109060109061109062109063109064109065109066109067109068109069109070109071109072109073109074109075109076109077109078109079109080109081109082109083109084109085109086109087109088109089109090109091109092109093109094109095109096109097109098109099109100109101109102109103109104109105109106109107109108109109109110109111109112109113109114109115109116109117109118109119109120109121109122109123109124109125109126109127109128109129109130109131109132109133109134109135109136109137109138109139109140109141109142109143109144109145109146109147109148109149109150109151109152109153109154109155109156109157109158109159109160109161109162109163109164109165109166109167109168109169109170109171109172109173109174109175109176109177109178109179109180109181109182109183109184109185109186109187109188109189109190109191109192109193109194109195109196109197109198109199109200109201109202109203109204109205109206109207109208109209109210109211109212109213109214109215109216109217109218109219109220109221109222109223109224109225109226109227109228109229109230109231109232109233109234109235109236109237109238109239109240109241109242109243109244109245109246109247109248109249109250109251109252109253109254109255109256109257109258109259109260109261109262109263109264109265109266109267109268109269109270109271109272109273109274109275109276109277109278109279109280109281109282109283109284109285109286109287109288109289109290109291109292109293109294109295109296109297109298109299109300109301109302109303109304109305109306109307109308109309109310109311109312109313109314109315109316109317109318109319109320109321109322109323109324109325109326109327109328109329109330109331109332109333109334109335109336109337109338109339109340109341109342109343109344109345109346109347109348109349109350109351109352109353109354109355109356109357109358109359109360109361109362109363109364109365109366109367109368109369109370109371109372109373109374109375109376109377109378109379109380109381109382109383109384109385109386109387109388109389109390109391109392109393109394109395109396109397109398109399109400109401109402109403109404109405109406109407109408109409109410109411109412109413109414109415109416109417109418109419109420109421109422109423109424109425109426109427109428109429109430109431109432109433109434109435109436109437109438109439109440109441109442109443109444109445109446109447109448109449109450109451109452109453109454109455109456109457109458109459109460109461109462109463109464109465109466109467109468109469109470109471109472109473109474109475109476109477109478109479109480109481109482109483109484109485109486109487109488109489109490109491109492109493109494109495109496109497109498109499109500109501109502109503109504109505109506109507109508109509109510109511109512109513109514109515109516109517109518109519109520109521109522109523109524109525109526109527109528109529109530109531109532109533109534109535109536109537109538109539109540109541109542109543109544109545109546109547109548109549109550109551109552109553109554109555109556109557109558109559109560109561109562109563109564109565109566109567109568109569109570109571109572109573109574109575109576109577109578109579109580109581109582109583109584109585109586109587109588109589109590109591109592109593109594109595109596109597109598109599109600109601109602109603109604109605109606109607109608109609109610109611109612109613109614109615109616109617109618109619109620109621109622109623109624109625109626109627109628109629109630109631109632109633109634109635109636109637109638109639109640109641109642109643109644109645109646109647109648109649109650109651109652109653109654109655109656109657109658109659109660109661109662109663109664109665109666109667109668109669109670109671109672109673109674109675109676109677109678109679109680109681109682109683109684109685109686109687109688109689109690109691109692109693109694109695109696109697109698109699109700109701109702109703109704109705109706109707109708109709109710109711109712109713109714109715109716109717109718109719109720109721109722109723109724109725109726109727109728109729109730109731109732109733109734109735109736109737109738109739109740109741109742109743109744109745109746109747109748109749109750109751109752109753109754109755109756109757109758109759109760109761109762109763109764109765109766109767109768109769109770109771109772109773109774109775109776109777109778109779109780109781109782109783109784109785109786109787109788109789109790109791109792109793109794109795109796109797109798109799109800109801109802109803109804109805109806109807109808109809109810109811109812109813109814109815109816109817109818109819109820109821109822109823109824109825109826109827109828109829109830109831109832109833109834109835109836109837109838109839109840109841109842109843109844109845109846109847109848109849109850109851109852109853109854109855109856109857109858109859109860109861109862109863109864109865109866109867109868109869109870109871109872109873109874109875109876109877109878109879109880109881109882109883109884109885109886109887109888109889109890109891109892109893109894109895109896109897109898109899109900109901109902109903109904109905109906109907109908109909109910109911109912109913109914109915109916109917109918109919109920109921109922109923109924109925109926109927109928109929109930109931109932109933109934109935109936109937109938109939109940109941109942109943109944109945109946109947109948109949109950109951109952109953109954109955109956109957109958109959109960109961109962109963109964109965109966109967109968109969109970109971109972109973109974109975109976109977109978109979109980109981109982109983109984109985109986109987109988109989109990109991109992109993109994109995109996109997109998109999110000110001110002110003110004110005110006110007110008110009110010110011110012110013110014110015110016110017110018110019110020110021110022110023110024110025110026110027110028110029110030110031110032110033110034110035110036110037110038110039110040110041110042110043110044110045110046110047110048110049110050110051110052110053110054110055110056110057110058110059110060110061110062110063110064110065110066110067110068110069110070110071110072110073110074110075110076110077110078110079110080110081110082110083110084110085110086110087110088110089110090110091110092110093110094110095110096110097110098110099110100110101110102110103110104110105110106110107110108110109110110110111110112110113110114110115110116110117110118110119110120110121110122110123110124110125110126110127110128110129110130110131110132110133110134110135110136110137110138110139110140110141110142110143110144110145110146110147110148110149110150110151110152110153110154110155110156110157110158110159110160110161110162110163110164110165110166110167110168110169110170110171110172110173110174110175110176110177110178110179110180110181110182110183110184110185110186110187110188110189110190110191110192110193110194110195110196110197110198110199110200110201110202110203110204110205110206110207110208110209110210110211110212110213110214110215110216110217110218110219110220110221110222110223110224110225110226110227110228110229110230110231110232110233110234110235110236110237110238110239110240110241110242110243110244110245110246110247110248110249110250110251110252110253110254110255110256110257110258110259110260110261110262110263110264110265110266110267110268110269110270110271110272110273110274110275110276110277110278110279110280110281110282110283110284110285110286110287110288110289110290110291110292110293110294110295110296110297110298110299110300110301110302110303110304110305110306110307110308110309110310110311110312110313110314110315110316110317110318110319110320110321110322110323110324110325110326110327110328110329110330110331110332110333110334110335110336110337110338110339110340110341110342110343110344110345110346110347110348110349110350110351110352110353110354110355110356110357110358110359110360110361110362110363110364110365110366110367110368110369110370110371110372110373110374110375110376110377110378110379110380110381110382110383110384110385110386110387110388110389110390110391110392110393110394110395110396110397110398110399110400110401110402110403110404110405110406110407110408110409110410110411110412110413110414110415110416110417110418110419110420110421110422110423110424110425110426110427110428110429110430110431110432110433110434110435110436110437110438110439110440110441110442110443110444110445110446110447110448110449110450110451110452110453110454110455110456110457110458110459110460110461110462110463110464110465110466110467110468110469110470110471110472110473110474110475110476110477110478110479110480110481110482110483110484110485110486110487110488110489110490110491110492110493110494110495110496110497110498110499110500110501110502110503110504110505110506110507110508110509110510110511110512110513110514110515110516110517110518110519110520110521110522110523110524110525110526110527110528110529110530110531110532110533110534110535110536110537110538110539110540110541110542110543110544110545110546110547110548110549110550110551110552110553110554110555110556110557110558110559110560110561110562110563110564110565110566110567110568110569110570110571110572110573110574110575110576110577110578110579110580110581110582110583110584110585110586110587110588110589110590110591110592110593110594110595110596110597110598110599110600110601110602110603110604110605110606110607110608110609110610110611110612110613110614110615110616110617110618110619110620110621110622110623110624110625110626110627110628110629110630110631110632110633110634110635110636110637110638110639110640110641110642110643110644110645110646110647110648110649110650110651110652110653110654110655110656110657110658110659110660110661110662110663110664110665110666110667110668110669110670110671110672110673110674110675110676110677110678110679110680110681110682110683110684110685110686110687110688110689110690110691110692110693110694110695110696110697110698110699110700110701110702110703110704110705110706110707110708110709110710110711110712110713110714110715110716110717110718110719110720110721110722110723110724110725110726110727110728110729110730110731110732110733110734110735110736110737110738110739110740110741110742110743110744110745110746110747110748110749110750110751110752110753110754110755110756110757110758110759110760110761110762110763110764110765110766110767110768110769110770110771110772110773110774110775110776110777110778110779110780110781110782110783110784110785110786110787110788110789110790110791110792110793110794110795110796110797110798110799110800110801110802110803110804110805110806110807110808110809110810110811110812110813110814110815110816110817110818110819110820110821110822110823110824110825110826110827110828110829110830110831110832110833110834110835110836110837110838110839110840110841110842110843110844110845110846110847110848110849110850110851110852110853110854110855110856110857110858110859110860110861110862110863110864110865110866110867110868110869110870110871110872110873110874110875110876110877110878110879110880110881110882110883110884110885110886110887110888110889110890110891110892110893110894110895110896110897110898110899110900110901110902110903110904110905110906110907110908110909110910110911110912110913110914110915110916110917110918110919110920110921110922110923110924110925110926110927110928110929110930110931110932110933110934110935110936110937110938110939110940110941110942110943110944110945110946110947110948110949110950110951110952110953110954110955110956110957110958110959110960110961110962110963110964110965110966110967110968110969110970110971110972110973110974110975110976110977110978110979110980110981110982110983110984110985110986110987110988110989110990110991110992110993110994110995110996110997110998110999111000111001111002111003111004111005111006111007111008111009111010111011111012111013111014111015111016111017111018111019111020111021111022111023111024111025111026111027111028111029111030111031111032111033111034111035111036111037111038111039111040111041111042111043111044111045111046111047111048111049111050111051111052111053111054111055111056111057111058111059111060111061111062111063111064111065111066111067111068111069111070111071111072111073111074111075111076111077111078111079111080111081111082111083111084111085111086111087111088111089111090111091111092111093111094111095111096111097111098111099111100111101111102111103111104111105111106111107111108111109111110111111111112111113111114111115111116111117111118111119111120111121111122111123111124111125111126111127111128111129111130111131111132111133111134111135111136111137111138111139111140111141111142111143111144111145111146111147111148111149111150111151111152111153111154111155111156111157111158111159111160111161111162111163111164111165111166111167111168111169111170111171111172111173111174111175111176111177111178111179111180111181111182111183111184111185111186111187111188111189111190111191111192111193111194111195111196111197111198111199111200111201111202111203111204111205111206111207111208111209111210111211111212111213111214111215111216111217111218111219111220111221111222111223111224111225111226111227111228111229111230111231111232111233111234111235111236111237111238111239111240111241111242111243111244111245111246111247111248111249111250111251111252111253111254111255111256111257111258111259111260111261111262111263111264111265111266111267111268111269111270111271111272111273111274111275111276111277111278111279111280111281111282111283111284111285111286111287111288111289111290111291111292111293111294111295111296111297111298111299111300111301111302111303111304111305111306111307111308111309111310111311111312111313111314111315111316111317111318111319111320111321111322111323111324111325111326111327111328111329111330111331111332111333111334111335111336111337111338111339111340111341111342111343111344111345111346111347111348111349111350111351111352111353111354111355111356111357111358111359111360111361111362111363111364111365111366111367111368111369111370111371111372111373111374111375111376111377111378111379111380111381111382111383111384111385111386111387111388111389111390111391111392111393111394111395111396111397111398111399111400111401111402111403111404111405111406111407111408111409111410111411111412111413111414111415111416111417111418111419111420111421111422111423111424111425111426111427111428111429111430111431111432111433111434111435111436111437111438111439111440111441111442111443111444111445111446111447111448111449111450111451111452111453111454111455111456111457111458111459111460111461111462111463111464111465111466111467111468111469111470111471111472111473111474111475111476111477111478111479111480111481111482111483111484111485111486111487111488111489111490111491111492111493111494111495111496111497111498111499111500111501111502111503111504111505111506111507111508111509111510111511111512111513111514111515111516111517111518111519111520111521111522111523111524111525111526111527111528111529111530111531111532111533111534111535111536111537111538111539111540111541111542111543111544111545111546111547111548111549111550111551111552111553111554111555111556111557111558111559111560111561111562111563111564111565111566111567111568111569111570111571111572111573111574111575111576111577111578111579111580111581111582111583111584111585111586111587111588111589111590111591111592111593111594111595111596111597111598111599111600111601111602111603111604111605111606111607111608111609111610111611111612111613111614111615111616111617111618111619111620111621111622111623111624111625111626111627111628111629111630111631111632111633111634111635111636111637111638111639111640111641111642111643111644111645111646111647111648111649111650111651111652111653111654111655111656111657111658111659111660111661111662111663111664111665111666111667111668111669111670111671111672111673111674111675111676111677111678111679111680111681111682111683111684111685111686111687111688111689111690111691111692111693111694111695111696111697111698111699111700111701111702111703111704111705111706111707111708111709111710111711111712111713111714111715111716111717111718111719111720111721111722111723111724111725111726111727111728111729111730111731111732111733111734111735111736111737111738111739111740111741111742111743111744111745111746111747111748111749111750111751111752111753111754111755111756111757111758111759111760111761111762111763111764111765111766111767111768111769111770111771111772111773111774111775111776111777111778111779111780111781111782111783111784111785111786111787111788111789111790111791111792111793111794111795111796111797111798111799111800111801111802111803111804111805111806111807111808111809111810111811111812111813111814111815111816111817111818111819111820111821111822111823111824111825111826111827111828111829111830111831111832111833111834111835111836111837111838111839111840111841111842111843111844111845111846111847111848111849111850111851111852111853111854111855111856111857111858111859111860111861111862111863111864111865111866111867111868111869111870111871111872111873111874111875111876111877111878111879111880111881111882111883111884111885111886111887111888111889111890111891111892111893111894111895111896111897111898111899111900111901111902111903111904111905111906111907111908111909111910111911111912111913111914111915111916111917111918111919111920111921111922111923111924111925111926111927111928111929111930111931111932111933111934111935111936111937111938111939111940111941111942111943111944111945111946111947111948111949111950111951111952111953111954111955111956111957111958111959111960111961111962111963111964111965111966111967111968111969111970111971111972111973111974111975111976111977111978111979111980111981111982111983111984111985111986111987111988111989111990111991111992111993111994111995111996111997111998111999112000112001112002112003112004112005112006112007112008112009112010112011112012112013112014112015112016112017112018112019112020112021112022112023112024112025112026112027112028112029112030112031112032112033112034112035112036112037112038112039112040112041112042112043112044112045112046112047112048112049112050112051112052112053112054112055112056112057112058112059112060112061112062112063112064112065112066112067112068112069112070112071112072112073112074112075112076112077112078112079112080112081112082112083112084112085112086112087112088112089112090112091112092112093112094112095112096112097112098112099112100112101112102112103112104112105112106112107112108112109112110112111112112112113112114112115112116112117112118112119112120112121112122112123112124112125112126112127112128112129112130112131112132112133112134112135112136112137112138112139112140112141112142112143112144112145112146112147112148112149112150112151112152112153112154112155112156112157112158112159112160112161112162112163112164112165112166112167112168112169112170112171112172112173112174112175112176112177112178112179112180112181112182112183112184112185112186112187112188112189112190112191112192112193112194112195112196112197112198112199112200112201112202112203112204112205112206112207112208112209112210112211112212112213112214112215112216112217112218112219112220112221112222112223112224112225112226112227112228112229112230112231112232112233112234112235112236112237112238112239112240112241112242112243112244112245112246112247112248112249112250112251112252112253112254112255112256112257112258112259112260112261112262112263112264112265112266112267112268112269112270112271112272112273112274112275112276112277112278112279112280112281112282112283112284112285112286112287112288112289112290112291112292112293112294112295112296112297112298112299112300112301112302112303112304112305112306112307112308112309112310112311112312112313112314112315112316112317112318112319112320112321112322112323112324112325112326112327112328112329112330112331112332112333112334112335112336112337112338112339112340112341112342112343112344112345112346112347112348112349112350112351112352112353112354112355112356112357112358112359112360112361112362112363112364112365112366112367112368112369112370112371112372112373112374112375112376112377112378112379112380112381112382112383112384112385112386112387112388112389112390112391112392112393112394112395112396112397112398112399112400112401112402112403112404112405112406112407112408112409112410112411112412112413112414112415112416112417112418112419112420112421112422112423112424112425112426112427112428112429112430112431112432112433112434112435112436112437112438112439112440112441112442112443112444112445112446112447112448112449112450112451112452112453112454112455112456112457112458112459112460112461112462112463112464112465112466112467112468112469112470112471112472112473112474112475112476112477112478112479112480112481112482112483112484112485112486112487112488112489112490112491112492112493112494112495112496112497112498112499112500112501112502112503112504112505112506112507112508112509112510112511112512112513112514112515112516112517112518112519112520112521112522112523112524112525112526112527112528112529112530112531112532112533112534112535112536112537112538112539112540112541112542112543112544112545112546112547112548112549112550112551112552112553112554112555112556112557112558112559112560112561112562112563112564112565112566112567112568112569112570112571112572112573112574112575112576112577112578112579112580112581112582112583112584112585112586112587112588112589112590112591112592112593112594112595112596112597112598112599112600112601112602112603112604112605112606112607112608112609112610112611112612112613112614112615112616112617112618112619112620112621112622112623112624112625112626112627112628112629112630112631112632112633112634112635112636112637112638112639112640112641112642112643112644112645112646112647112648112649112650112651112652112653112654112655112656112657112658112659112660112661112662112663112664112665112666112667112668112669112670112671112672112673112674112675112676112677112678112679112680112681112682112683112684112685112686112687112688112689112690112691112692112693112694112695112696112697112698112699112700112701112702112703112704112705112706112707112708112709112710112711112712112713112714112715112716112717112718112719112720112721112722112723112724112725112726112727112728112729112730112731112732112733112734112735112736112737112738112739112740112741112742112743112744112745112746112747112748112749112750112751112752112753112754112755112756112757112758112759112760112761112762112763112764112765112766112767112768112769112770112771112772112773112774112775112776112777112778112779112780112781112782112783112784112785112786112787112788112789112790112791112792112793112794112795112796112797112798112799112800112801112802112803112804112805112806112807112808112809112810112811112812112813112814112815112816112817112818112819112820112821112822112823112824112825112826112827112828112829112830112831112832112833112834112835112836112837112838112839112840112841112842112843112844112845112846112847112848112849112850112851112852112853112854112855112856112857112858112859112860112861112862112863112864112865112866112867112868112869112870112871112872112873112874112875112876112877112878112879112880112881112882112883112884112885112886112887112888112889112890112891112892112893112894112895112896112897112898112899112900112901112902112903112904112905112906112907112908112909112910112911112912112913112914112915112916112917112918112919112920112921112922112923112924112925112926112927112928112929112930112931112932112933112934112935112936112937112938112939112940112941112942112943112944112945112946112947112948112949112950112951112952112953112954112955112956112957112958112959112960112961112962112963112964112965112966112967112968112969112970112971112972112973112974112975112976112977112978112979112980112981112982112983112984112985112986112987112988112989112990112991112992112993112994112995112996112997112998112999113000113001113002113003113004113005113006113007113008113009113010113011113012113013113014113015113016113017113018113019113020113021113022113023113024113025113026113027113028113029113030113031113032113033113034113035113036113037113038113039113040113041113042113043113044113045113046113047113048113049113050113051113052113053113054113055113056113057113058113059113060113061113062113063113064113065113066113067113068113069113070113071113072113073113074113075113076113077113078113079113080113081113082113083113084113085113086113087113088113089113090113091113092113093113094113095113096113097113098113099113100113101113102113103113104113105113106113107113108113109113110113111113112113113113114113115113116113117113118113119113120113121113122113123113124113125113126113127113128113129113130113131113132113133113134113135113136113137113138113139113140113141113142113143113144113145113146113147113148113149113150113151113152113153113154113155113156113157113158113159113160113161113162113163113164113165113166113167113168113169113170113171113172113173113174113175113176113177113178113179113180113181113182113183113184113185113186113187113188113189113190113191113192113193113194113195113196113197113198113199113200113201113202113203113204113205113206113207113208113209113210113211113212113213113214113215113216113217113218113219113220113221113222113223113224113225113226113227113228113229113230113231113232113233113234113235113236113237113238113239113240113241113242113243113244113245113246113247113248113249113250113251113252113253113254113255113256113257113258113259113260113261113262113263113264113265113266113267113268113269113270113271113272113273113274113275113276113277113278113279113280113281113282113283113284113285113286113287113288113289113290113291113292113293113294113295113296113297113298113299113300113301113302113303113304113305113306113307113308113309113310113311113312113313113314113315113316113317113318113319113320113321113322113323113324113325113326113327113328113329113330113331113332113333113334113335113336113337113338113339113340113341113342113343113344113345113346113347113348113349113350113351113352113353113354113355113356113357113358113359113360113361113362113363113364113365113366113367113368113369113370113371113372113373113374113375113376113377113378113379113380113381113382113383113384113385113386113387113388113389113390113391113392113393113394113395113396113397113398113399113400113401113402113403113404113405113406113407113408113409113410113411113412113413113414113415113416113417113418113419113420113421113422113423113424113425113426113427113428113429113430113431113432113433113434113435113436113437113438113439113440113441113442113443113444113445113446113447113448113449113450113451113452113453113454113455113456113457113458113459113460113461113462113463113464113465113466113467113468113469113470113471113472113473113474113475113476113477113478113479113480113481113482113483113484113485113486113487113488113489113490113491113492113493113494113495113496113497113498113499113500113501113502113503113504113505113506113507113508113509113510113511113512113513113514113515113516113517113518113519113520113521113522113523113524113525113526113527113528113529113530113531113532113533113534113535113536113537113538113539113540113541113542113543113544113545113546113547113548113549113550113551113552113553113554113555113556113557113558113559113560113561113562113563113564113565113566113567113568113569113570113571113572113573113574113575113576113577113578113579113580113581113582113583113584113585113586113587113588113589113590113591113592113593113594113595113596113597113598113599113600113601113602113603113604113605113606113607113608113609113610113611113612113613113614113615113616113617113618113619113620113621113622113623113624113625113626113627113628113629113630113631113632113633113634113635113636113637113638113639113640113641113642113643113644113645113646113647113648113649113650113651113652113653113654113655113656113657113658113659113660113661113662113663113664113665113666113667113668113669113670113671113672113673113674113675113676113677113678113679113680113681113682113683113684113685113686113687113688113689113690113691113692113693113694113695113696113697113698113699113700113701113702113703113704113705113706113707113708113709113710113711113712113713113714113715113716113717113718113719113720113721113722113723113724113725113726113727113728113729113730113731113732113733113734113735113736113737113738113739113740113741113742113743113744113745113746113747113748113749113750113751113752113753113754113755113756113757113758113759113760113761113762113763113764113765113766113767113768113769113770113771113772113773113774113775113776113777113778113779113780113781113782113783113784113785113786113787113788113789113790113791113792113793113794113795113796113797113798113799113800113801113802113803113804113805113806113807113808113809113810113811113812113813113814113815113816113817113818113819113820113821113822113823113824113825113826113827113828113829113830113831113832113833113834113835113836113837113838113839113840113841113842113843113844113845113846113847113848113849113850113851113852113853113854113855113856113857113858113859113860113861113862113863113864113865113866113867113868113869113870113871113872113873113874113875113876113877113878113879113880113881113882113883113884113885113886113887113888113889113890113891113892113893113894113895113896113897113898113899113900113901113902113903113904113905113906113907113908113909113910113911113912113913113914113915113916113917113918113919113920113921113922113923113924113925113926113927113928113929113930113931113932113933113934113935113936113937113938113939113940113941113942113943113944113945113946113947113948113949113950113951113952113953113954113955113956113957113958113959113960113961113962113963113964113965113966113967113968113969113970113971113972113973113974113975113976113977113978113979113980113981113982113983113984113985113986113987113988113989113990113991113992113993113994113995113996113997113998113999114000114001114002114003114004114005114006114007114008114009114010114011114012114013114014114015114016114017114018114019114020114021114022114023114024114025114026114027114028114029114030114031114032114033114034114035114036114037114038114039114040114041114042114043114044114045114046114047114048114049114050114051114052114053114054114055114056114057114058114059114060114061114062114063114064114065114066114067114068114069114070114071114072114073114074114075114076114077114078114079114080114081114082114083114084114085114086114087114088114089114090114091114092114093114094114095114096114097114098114099114100114101114102114103114104114105114106114107114108114109114110114111114112114113114114114115114116114117114118114119114120114121114122114123114124114125114126114127114128114129114130114131114132114133114134114135114136114137114138114139114140114141114142114143114144114145114146114147114148114149114150114151114152114153114154114155114156114157114158114159114160114161114162114163114164114165114166114167114168114169114170114171114172114173114174114175114176114177114178114179114180114181114182114183114184114185114186114187114188114189114190114191114192114193114194114195114196114197114198114199114200114201114202114203114204114205114206114207114208114209114210114211114212114213114214114215114216114217114218114219114220114221114222114223114224114225114226114227114228114229114230114231114232114233114234114235114236114237114238114239114240114241114242114243114244114245114246114247114248114249114250114251114252114253114254114255114256114257114258114259114260114261114262114263114264114265114266114267114268114269114270114271114272114273114274114275114276114277114278114279114280114281114282114283114284114285114286114287114288114289114290114291114292114293114294114295114296114297114298114299114300114301114302114303114304114305114306114307114308114309114310114311114312114313114314114315114316114317114318114319114320114321114322114323114324114325114326114327114328114329114330114331114332114333114334114335114336114337114338114339114340114341114342114343114344114345114346114347114348114349114350114351114352114353114354114355114356114357114358114359114360114361114362114363114364114365114366114367114368114369114370114371114372114373114374114375114376114377114378114379114380114381114382114383114384114385114386114387114388114389114390114391114392114393114394114395114396114397114398114399114400114401114402114403114404114405114406114407114408114409114410114411114412114413114414114415114416114417114418114419114420114421114422114423114424114425114426114427114428114429114430114431114432114433114434114435114436114437114438114439114440114441114442114443114444114445114446114447114448114449114450114451114452114453114454114455114456114457114458114459114460114461114462114463114464114465114466114467114468114469114470114471114472114473114474114475114476114477114478114479114480114481114482114483114484114485114486114487114488114489114490114491114492114493114494114495114496114497114498114499114500114501114502114503114504114505114506114507114508114509114510114511114512114513114514114515114516114517114518114519114520114521114522114523114524114525114526114527114528114529114530114531114532114533114534114535114536114537114538114539114540114541114542114543114544114545114546114547114548114549114550114551114552114553114554114555114556114557114558114559114560114561114562114563114564114565114566114567114568114569114570114571114572114573114574114575114576114577114578114579114580114581114582114583114584114585114586114587114588114589114590114591114592114593114594114595114596114597114598114599114600114601114602114603114604114605114606114607114608114609114610114611114612114613114614114615114616114617114618114619114620114621114622114623114624114625114626114627114628114629114630114631114632114633114634114635114636114637114638114639114640114641114642114643114644114645114646114647114648114649114650114651114652114653114654114655114656114657114658114659114660114661114662114663114664114665114666114667114668114669114670114671114672114673114674114675114676114677114678114679114680114681114682114683114684114685114686114687114688114689114690114691114692114693114694114695114696114697114698114699114700114701114702114703114704114705114706114707114708114709114710114711114712114713114714114715114716114717114718114719114720114721114722114723114724114725114726114727114728114729114730114731114732114733114734114735114736114737114738114739114740114741114742114743114744114745114746114747114748114749114750114751114752114753114754114755114756114757114758114759114760114761114762114763114764114765114766114767114768114769114770114771114772114773114774114775114776114777114778114779114780114781114782114783114784114785114786114787114788114789114790114791114792114793114794114795114796114797114798114799114800114801114802114803114804114805114806114807114808114809114810114811114812114813114814114815114816114817114818114819114820114821114822114823114824114825114826114827114828114829114830114831114832114833114834114835114836114837114838114839114840114841114842114843114844114845114846114847114848114849114850114851114852114853114854114855114856114857114858114859114860114861114862114863114864114865114866114867114868114869114870114871114872114873114874114875114876114877114878114879114880114881114882114883114884114885114886114887114888114889114890114891114892114893114894114895114896114897114898114899114900114901114902114903114904114905114906114907114908114909114910114911114912114913114914114915114916114917114918114919114920114921114922114923114924114925114926114927114928114929114930114931114932114933114934114935114936114937114938114939114940114941114942114943114944114945114946114947114948114949114950114951114952114953114954114955114956114957114958114959114960114961114962114963114964114965114966114967114968114969114970114971114972114973114974114975114976114977114978114979114980114981114982114983114984114985114986114987114988114989114990114991114992114993114994114995114996114997114998114999115000115001115002115003115004115005115006115007115008115009115010115011115012115013115014115015115016115017115018115019115020115021115022115023115024115025115026115027115028115029115030115031115032115033115034115035115036115037115038115039115040115041115042115043115044115045115046115047115048115049115050115051115052115053115054115055115056115057115058115059115060115061115062115063115064115065115066115067115068115069115070115071115072115073115074115075115076115077115078115079115080115081115082115083115084115085115086115087115088115089115090115091115092115093115094115095115096115097115098115099115100115101115102115103115104115105115106115107115108115109115110115111115112115113115114115115115116115117115118115119115120115121115122115123115124115125115126115127115128115129115130115131115132115133115134115135115136115137115138115139115140115141115142115143115144115145115146115147115148115149115150115151115152115153115154115155115156115157115158115159115160115161115162115163115164115165115166115167115168115169115170115171115172115173115174115175115176115177115178115179115180115181115182115183115184115185115186115187115188115189115190115191115192115193115194115195115196115197115198115199115200115201115202115203115204115205115206115207115208115209115210115211115212115213115214115215115216115217115218115219115220115221115222115223115224115225115226115227115228115229115230115231115232115233115234115235115236115237115238115239115240115241115242115243115244115245115246115247115248115249115250115251115252115253115254115255115256115257115258115259115260115261115262115263115264115265115266115267115268115269115270115271115272115273115274115275115276115277115278115279115280115281115282115283115284115285115286115287115288115289115290115291115292115293115294115295115296115297115298115299115300115301115302115303115304115305115306115307115308115309115310115311115312115313115314115315115316115317115318115319115320115321115322115323115324115325115326115327115328115329115330115331115332115333115334115335115336115337115338115339115340115341115342115343115344115345115346115347115348115349115350115351115352115353115354115355115356115357115358115359115360115361115362115363115364115365115366115367115368115369115370115371115372115373115374115375115376115377115378115379115380115381115382115383115384115385115386115387115388115389115390115391115392115393115394115395115396115397115398115399115400115401115402115403115404115405115406115407115408115409115410115411115412115413115414115415115416115417115418115419115420115421115422115423115424115425115426115427115428115429115430115431115432115433115434115435115436115437115438115439115440115441115442115443115444115445115446115447115448115449115450115451115452115453115454115455115456115457115458115459115460115461115462115463115464115465115466115467115468115469115470115471115472115473115474115475115476115477115478115479115480115481115482115483115484115485115486115487115488115489115490115491115492115493115494115495115496115497115498115499115500115501115502115503115504115505115506115507115508115509115510115511115512115513115514115515115516115517115518115519115520115521115522115523115524115525115526115527115528115529115530115531115532115533115534115535115536115537115538115539115540115541115542115543115544115545115546115547115548115549115550115551115552115553115554115555115556115557115558115559115560115561115562115563115564115565115566115567115568115569115570115571115572115573115574115575115576115577115578115579115580115581115582115583115584115585115586115587115588115589115590115591115592115593115594115595115596115597115598115599115600115601115602115603115604115605115606115607115608115609115610115611115612115613115614115615115616115617115618115619115620115621115622115623115624115625115626115627115628115629115630115631115632115633115634115635115636115637115638115639115640115641115642115643115644115645115646115647115648115649115650115651115652115653115654115655115656115657115658115659115660115661115662115663115664115665115666115667115668115669115670115671115672115673115674115675115676115677115678115679115680115681115682115683115684115685115686115687115688115689115690115691115692115693115694115695115696115697115698115699115700115701115702115703115704115705115706115707115708115709115710115711115712115713115714115715115716115717115718115719115720115721115722115723115724115725115726115727115728115729115730115731115732115733115734115735115736115737115738115739115740115741115742115743115744115745115746115747115748115749115750115751115752115753115754115755115756115757115758115759115760115761115762115763115764115765115766115767115768115769115770115771115772115773115774115775115776115777115778115779115780115781115782115783115784115785115786115787115788115789115790115791115792115793115794115795115796115797115798115799115800115801115802115803115804115805115806115807115808115809115810115811115812115813115814115815115816115817115818115819115820115821115822115823115824115825115826115827115828115829115830115831115832115833115834115835115836115837115838115839115840115841115842115843115844115845115846115847115848115849115850115851115852115853115854115855115856115857115858115859115860115861115862115863115864115865115866115867115868115869115870115871115872115873115874115875115876115877115878115879115880115881115882115883115884115885115886115887115888115889115890115891115892115893115894115895115896115897115898115899115900115901115902115903115904115905115906115907115908115909115910115911115912115913115914115915115916115917115918115919115920115921115922115923115924115925115926115927115928115929115930115931115932115933115934115935115936115937115938115939115940115941115942115943115944115945115946115947115948115949115950115951115952115953115954115955115956115957115958115959115960115961115962115963115964115965115966115967115968115969115970115971115972115973115974115975115976115977115978115979115980115981115982115983115984115985115986115987115988115989115990115991115992115993115994115995115996115997115998115999116000116001116002116003116004116005116006116007116008116009116010116011116012116013116014116015116016116017116018116019116020116021116022116023116024116025116026116027116028116029116030116031116032116033116034116035116036116037116038116039116040116041116042116043116044116045116046116047116048116049116050116051116052116053116054116055116056116057116058116059116060116061116062116063116064116065116066116067116068116069116070116071116072116073116074116075116076116077116078116079116080116081116082116083116084116085116086116087116088116089116090116091116092116093116094116095116096116097116098116099116100116101116102116103116104116105116106116107116108116109116110116111116112116113116114116115116116116117116118116119116120116121116122116123116124116125116126116127116128116129116130116131116132116133116134116135116136116137116138116139116140116141116142116143116144116145116146116147116148116149116150116151116152116153116154116155116156116157116158116159116160116161116162116163116164116165116166116167116168116169116170116171116172116173116174116175116176116177116178116179116180116181116182116183116184116185116186116187116188116189116190116191116192116193116194116195116196116197116198116199116200116201116202116203116204116205116206116207116208116209116210116211116212116213116214116215116216116217116218116219116220116221116222116223116224116225116226116227116228116229116230116231116232116233116234116235116236116237116238116239116240116241116242116243116244116245116246116247116248116249116250116251116252116253116254116255116256116257116258116259116260116261116262116263116264116265116266116267116268116269116270116271116272116273116274116275116276116277116278116279116280116281116282116283116284116285116286116287116288116289116290116291116292116293116294116295116296116297116298116299116300116301116302116303116304116305116306116307116308116309116310116311116312116313116314116315116316116317116318116319116320116321116322116323116324116325116326116327116328116329116330116331116332116333116334116335116336116337116338116339116340116341116342116343116344116345116346116347116348116349116350116351116352116353116354116355116356116357116358116359116360116361116362116363116364116365116366116367116368116369116370116371116372116373116374116375116376116377116378116379116380116381116382116383116384116385116386116387116388116389116390116391116392116393116394116395116396116397116398116399116400116401116402116403116404116405116406116407116408116409116410116411116412116413116414116415116416116417116418116419116420116421116422116423116424116425116426116427116428116429116430116431116432116433116434116435116436116437116438116439116440116441116442116443116444116445116446116447116448116449116450116451116452116453116454116455116456116457116458116459116460116461116462116463116464116465116466116467116468116469116470116471116472116473116474116475116476116477116478116479116480116481116482116483116484116485116486116487116488116489116490116491116492116493116494116495116496116497116498116499116500116501116502116503116504116505116506116507116508116509116510116511116512116513116514116515116516116517116518116519116520116521116522116523116524116525116526116527116528116529116530116531116532116533116534116535116536116537116538116539116540116541116542116543116544116545116546116547116548116549116550116551116552116553116554116555116556116557116558116559116560116561116562116563116564116565116566116567116568116569116570116571116572116573116574116575116576116577116578116579116580116581116582116583116584116585116586116587116588116589116590116591116592116593116594116595116596116597116598116599116600116601116602116603116604116605116606116607116608116609116610116611116612116613116614116615116616116617116618116619116620116621116622116623116624116625116626116627116628116629116630116631116632116633116634116635116636116637116638116639116640116641116642116643116644116645116646116647116648116649116650116651116652116653116654116655116656116657116658116659116660116661116662116663116664116665116666116667116668116669116670116671116672116673116674116675116676116677116678116679116680116681116682116683116684116685116686116687116688116689116690116691116692116693116694116695116696116697116698116699116700116701116702116703116704116705116706116707116708116709116710116711116712116713116714116715116716116717116718116719116720116721116722116723116724116725116726116727116728116729116730116731116732116733116734116735116736116737116738116739116740116741116742116743116744116745116746116747116748116749116750116751116752116753116754116755116756116757116758116759116760116761116762116763116764116765116766116767116768116769116770116771116772116773116774116775116776116777116778116779116780116781116782116783116784116785116786116787116788116789116790116791116792116793116794116795116796116797116798116799116800116801116802116803116804116805116806116807116808116809116810116811116812116813116814116815116816116817116818116819116820116821116822116823116824116825116826116827116828116829116830116831116832116833116834116835116836116837116838116839116840116841116842116843116844116845116846116847116848116849116850116851116852116853116854116855116856116857116858116859116860116861116862116863116864116865116866116867116868116869116870116871116872116873116874116875116876116877116878116879116880116881116882116883116884116885116886116887116888116889116890116891116892116893116894116895116896116897116898116899116900116901116902116903116904116905116906116907116908116909116910116911116912116913116914116915116916116917116918116919116920116921116922116923116924116925116926116927116928116929116930116931116932116933116934116935116936116937116938116939116940116941116942116943116944116945116946116947116948116949116950116951116952116953116954116955116956116957116958116959116960116961116962116963116964116965116966116967116968116969116970116971116972116973116974116975116976116977116978116979116980116981116982116983116984116985116986116987116988116989116990116991116992116993116994116995116996116997116998116999117000117001117002117003117004117005117006117007117008117009117010117011117012117013117014117015117016117017117018117019117020117021117022117023117024117025117026117027117028117029117030117031117032117033117034117035117036117037117038117039117040117041117042117043117044117045117046117047117048117049117050117051117052117053117054117055117056117057117058117059117060117061117062117063117064117065117066117067117068117069117070117071117072117073117074117075117076117077117078117079117080117081117082117083117084117085117086117087117088117089117090117091117092117093117094117095117096117097117098117099117100117101117102117103117104117105117106117107117108117109117110117111117112117113117114117115117116117117117118117119117120117121117122117123117124117125117126117127117128117129117130117131117132117133117134117135117136117137117138117139117140117141117142117143117144117145117146117147117148117149117150117151117152117153117154117155117156117157117158117159117160117161117162117163117164117165117166117167117168117169117170117171117172117173117174117175117176117177117178117179117180117181117182117183117184117185117186117187117188117189117190117191117192117193117194117195117196117197117198117199117200117201117202117203117204117205117206117207117208117209117210117211117212117213117214117215117216117217117218117219117220117221117222117223117224117225117226117227117228117229117230117231117232117233117234117235117236117237117238117239117240117241117242117243117244117245117246117247117248117249117250117251117252117253117254117255117256117257117258117259117260117261117262117263117264117265117266117267117268117269117270117271117272117273117274117275117276117277117278117279117280117281117282117283117284117285117286117287117288117289117290117291117292117293117294117295117296117297117298117299117300117301117302117303117304117305117306117307117308117309117310117311117312117313117314117315117316117317117318117319117320117321117322117323117324117325117326117327117328117329117330117331117332117333117334117335117336117337117338117339117340117341117342117343117344117345117346117347117348117349117350117351117352117353117354117355117356117357117358117359117360117361117362117363117364117365117366117367117368117369117370117371117372117373117374117375117376117377117378117379117380117381117382117383117384117385117386117387117388117389117390117391117392117393117394117395117396117397117398117399117400117401117402117403117404117405117406117407117408117409117410117411117412117413117414117415117416117417117418117419117420117421117422117423117424117425117426117427117428117429117430117431117432117433117434117435117436117437117438117439117440117441117442117443117444117445117446117447117448117449117450117451117452117453117454117455117456117457117458117459117460117461117462117463117464117465117466117467117468117469117470117471117472117473117474117475117476117477117478117479117480117481117482117483117484117485117486117487117488117489117490117491117492117493117494117495117496117497117498117499117500117501117502117503117504117505117506117507117508117509117510117511117512117513117514117515117516117517117518117519117520117521117522117523117524117525117526117527117528117529117530117531117532117533117534117535117536117537117538117539117540117541117542117543117544117545117546117547117548117549117550117551117552117553117554117555117556117557117558117559117560117561117562117563117564117565117566117567117568117569117570117571117572117573117574117575117576117577117578117579117580117581117582117583117584117585117586117587117588117589117590117591117592117593117594117595117596117597117598117599117600117601117602117603117604117605117606117607117608117609117610117611117612117613117614117615117616117617117618117619117620117621117622117623117624117625117626117627117628117629117630117631117632117633117634117635117636117637117638117639117640117641117642117643117644117645117646117647117648117649117650117651117652117653117654117655117656117657117658117659117660117661117662117663117664117665117666117667117668117669117670117671117672117673117674117675117676117677117678117679117680117681117682117683117684117685117686117687117688117689117690117691117692117693117694117695117696117697117698117699117700117701117702117703117704117705117706117707117708117709117710117711117712117713117714117715117716117717117718117719117720117721117722117723117724117725117726117727117728117729117730117731117732117733117734117735117736117737117738117739117740117741117742117743117744117745117746117747117748117749117750117751117752117753117754117755117756117757117758117759117760117761117762117763117764117765117766117767117768117769117770117771117772117773117774117775117776117777117778117779117780117781117782117783117784117785117786117787117788117789117790117791117792117793117794117795117796117797117798117799117800117801117802117803117804117805117806117807117808117809117810117811117812117813117814117815117816117817117818117819117820117821117822117823117824117825117826117827117828117829117830117831117832117833117834117835117836117837117838117839117840117841117842117843117844117845117846117847117848117849117850117851117852117853117854117855117856117857117858117859117860117861117862117863117864117865117866117867117868117869117870117871117872117873117874117875117876117877117878117879117880117881117882117883117884117885117886117887117888117889117890117891117892117893117894117895117896117897117898117899117900117901117902117903117904117905117906117907117908117909117910117911117912117913117914117915117916117917117918117919117920117921117922117923117924117925117926117927117928117929117930117931117932117933117934117935117936117937117938117939117940117941117942117943117944117945117946117947117948117949117950117951117952117953117954117955117956117957117958117959117960117961117962117963117964117965117966117967117968117969117970117971117972117973117974117975117976117977117978117979117980117981117982117983117984117985117986117987117988117989117990117991117992117993117994117995117996117997117998117999118000118001118002118003118004118005118006118007118008118009118010118011118012118013118014118015118016118017118018118019118020118021118022118023118024118025118026118027118028118029118030118031118032118033118034118035118036118037118038118039118040118041118042118043118044118045118046118047118048118049118050118051118052118053118054118055118056118057118058118059118060118061118062118063118064118065118066118067118068118069118070118071118072118073118074118075118076118077118078118079118080118081118082118083118084118085118086118087118088118089118090118091118092118093118094118095118096118097118098118099118100118101118102118103118104118105118106118107118108118109118110118111118112118113118114118115118116118117118118118119118120118121118122118123118124118125118126118127118128118129118130118131118132118133118134118135118136118137118138118139118140118141118142118143118144118145118146118147118148118149118150118151118152118153118154118155118156118157118158118159118160118161118162118163118164118165118166118167118168118169118170118171118172118173118174118175118176118177118178118179118180118181118182118183118184118185118186118187118188118189118190118191118192118193118194118195118196118197118198118199118200118201118202118203118204118205118206118207118208118209118210118211118212118213118214118215118216118217118218118219118220118221118222118223118224118225118226118227118228118229118230118231118232118233118234118235118236118237118238118239118240118241118242118243118244118245118246118247118248118249118250118251118252118253118254118255118256118257118258118259118260118261118262118263118264118265118266118267118268118269118270118271118272118273118274118275118276118277118278118279118280118281118282118283118284118285118286118287118288118289118290118291118292118293118294118295118296118297118298118299118300118301118302118303118304118305118306118307118308118309118310118311118312118313118314118315118316118317118318118319118320118321118322118323118324118325118326118327118328118329118330118331118332118333118334118335118336118337118338118339118340118341118342118343118344118345118346118347118348118349118350118351118352118353118354118355118356118357118358118359118360118361118362118363118364118365118366118367118368118369118370118371118372118373118374118375118376118377118378118379118380118381118382118383118384118385118386118387118388118389118390118391118392118393118394118395118396118397118398118399118400118401118402118403118404118405118406118407118408118409118410118411118412118413118414118415118416118417118418118419118420118421118422118423118424118425118426118427118428118429118430118431118432118433118434118435118436118437118438118439118440118441118442118443118444118445118446118447118448118449118450118451118452118453118454118455118456118457118458118459118460118461118462118463118464118465118466118467118468118469118470118471118472118473118474118475118476118477118478118479118480118481118482118483118484118485118486118487118488118489118490118491118492118493118494118495118496118497118498118499118500118501118502118503118504118505118506118507118508118509118510118511118512118513118514118515118516118517118518118519118520118521118522118523118524118525118526118527118528118529118530118531118532118533118534118535118536118537118538118539118540118541118542118543118544118545118546118547118548118549118550118551118552118553118554118555118556118557118558118559118560118561118562118563118564118565118566118567118568118569118570118571118572118573118574118575118576118577118578118579118580118581118582118583118584118585118586118587118588118589118590118591118592118593118594118595118596118597118598118599118600118601118602118603118604118605118606118607118608118609118610118611118612118613118614118615118616118617118618118619118620118621118622118623118624118625118626118627118628118629118630118631118632118633118634118635118636118637118638118639118640118641118642118643118644118645118646118647118648118649118650118651118652118653118654118655118656118657118658118659118660118661118662118663118664118665118666118667118668118669118670118671118672118673118674118675118676118677118678118679118680118681118682118683118684118685118686118687118688118689118690118691118692118693118694118695118696118697118698118699118700118701118702118703118704118705118706118707118708118709118710118711118712118713118714118715118716118717118718118719118720118721118722118723118724118725118726118727118728118729118730118731118732118733118734118735118736118737118738118739118740118741118742118743118744118745118746118747118748118749118750118751118752118753118754118755118756118757118758118759118760118761118762118763118764118765118766118767118768118769118770118771118772118773118774118775118776118777118778118779118780118781118782118783118784118785118786118787118788118789118790118791118792118793118794118795118796118797118798118799118800118801118802118803118804118805118806118807118808118809118810118811118812118813118814118815118816118817118818118819118820118821118822118823118824118825118826118827118828118829118830118831118832118833118834118835118836118837118838118839118840118841118842118843118844118845118846118847118848118849118850118851118852118853118854118855118856118857118858118859118860118861118862118863118864118865118866118867118868118869118870118871118872118873118874118875118876118877118878118879118880118881118882118883118884118885118886118887118888118889118890118891118892118893118894118895118896118897118898118899118900118901118902118903118904118905118906118907118908118909118910118911118912118913118914118915118916118917118918118919118920118921118922118923118924118925118926118927118928118929118930118931118932118933118934118935118936118937118938118939118940118941118942118943118944118945118946118947118948118949118950118951118952118953118954118955118956118957118958118959118960118961118962118963118964118965118966118967118968118969118970118971118972118973118974118975118976118977118978118979118980118981118982118983118984118985118986118987118988118989118990118991118992118993118994118995118996118997118998118999119000119001119002119003119004119005119006119007119008119009119010119011119012119013119014119015119016119017119018119019119020119021119022119023119024119025119026119027119028119029119030119031119032119033119034119035119036119037119038119039119040119041119042119043119044119045119046119047119048119049119050119051119052119053119054119055119056119057119058119059119060119061119062119063119064119065119066119067119068119069119070119071119072119073119074119075119076119077119078119079119080119081119082119083119084119085119086119087119088119089119090119091119092119093119094119095119096119097119098119099119100119101119102119103119104119105119106119107119108119109119110119111119112119113119114119115119116119117119118119119119120119121119122119123119124119125119126119127119128119129119130119131119132119133119134119135119136119137119138119139119140119141119142119143119144119145119146119147119148119149119150119151119152119153119154119155119156119157119158119159119160119161119162119163119164119165119166119167119168119169119170119171119172119173119174119175119176119177119178119179119180119181119182119183119184119185119186119187119188119189119190119191119192119193119194119195119196119197119198119199119200119201119202119203119204119205119206119207119208119209119210119211119212119213119214119215119216119217119218119219119220119221119222119223119224119225119226119227119228119229119230119231119232119233119234119235119236119237119238119239119240119241119242119243119244119245119246119247119248119249119250119251119252119253119254119255119256119257119258119259119260119261119262119263119264119265119266119267119268119269119270119271119272119273119274119275119276119277119278119279119280119281119282119283119284119285119286119287119288119289119290119291119292119293119294119295119296119297119298119299119300119301119302119303119304119305119306119307119308119309119310119311119312119313119314119315119316119317119318119319119320119321119322119323119324119325119326119327119328119329119330119331119332119333119334119335119336119337119338119339119340119341119342119343119344119345119346119347119348119349119350119351119352119353119354119355119356119357119358119359119360119361119362119363119364119365119366119367119368119369119370119371119372119373119374119375119376119377119378119379119380119381119382119383119384119385119386119387119388119389119390119391119392119393119394119395119396119397119398119399119400119401119402119403119404119405119406119407119408119409119410119411119412119413119414119415119416119417119418119419119420119421119422119423119424119425119426119427119428119429119430119431119432119433119434119435119436119437119438119439119440119441119442119443119444119445119446119447119448119449119450119451119452119453119454119455119456119457119458119459119460119461119462119463119464119465119466119467119468119469119470119471119472119473119474119475119476119477119478119479119480119481119482119483119484119485119486119487119488119489119490119491119492119493119494119495119496119497119498119499119500119501119502119503119504119505119506119507119508119509119510119511119512119513119514119515119516119517119518119519119520119521119522119523119524119525119526119527119528119529119530119531119532119533119534119535119536119537119538119539119540119541119542119543119544119545119546119547119548119549119550119551119552119553119554119555119556119557119558119559119560119561119562119563119564119565119566119567119568119569119570119571119572119573119574119575119576119577119578119579119580119581119582119583119584119585119586119587119588119589119590119591119592119593119594119595119596119597119598119599119600119601119602119603119604119605119606119607119608119609119610119611119612119613119614119615119616119617119618119619119620119621119622119623119624119625119626119627119628119629119630119631119632119633119634119635119636119637119638119639119640119641119642119643119644119645119646119647119648119649119650119651119652119653119654119655119656119657119658119659119660119661119662119663119664119665119666119667119668119669119670119671119672119673119674119675119676119677119678119679119680119681119682119683119684119685119686119687119688119689119690119691119692119693119694119695119696119697119698119699119700119701119702119703119704119705119706119707119708119709119710119711119712119713119714119715119716119717119718119719119720119721119722119723119724119725119726119727119728119729119730119731119732119733119734119735119736119737119738119739119740119741119742119743119744119745119746119747119748119749119750119751119752119753119754119755119756119757119758119759119760119761119762119763119764119765119766119767119768119769119770119771119772119773119774119775119776119777119778119779119780119781119782119783119784119785119786119787119788119789119790119791119792119793119794119795119796119797119798119799119800119801119802119803119804119805119806119807119808119809119810119811119812119813119814119815119816119817119818119819119820119821119822119823119824119825119826119827119828119829119830119831119832119833119834119835119836119837119838119839119840119841119842119843119844119845119846119847119848119849119850119851119852119853119854119855119856119857119858119859119860119861119862119863119864119865119866119867119868119869119870119871119872119873119874119875119876119877119878119879119880119881119882119883119884119885119886119887119888119889119890119891119892119893119894119895119896119897119898119899119900119901119902119903119904119905119906119907119908119909119910119911119912119913119914119915119916119917119918119919119920119921119922119923119924119925119926119927119928119929119930119931119932119933119934119935119936119937119938119939119940119941119942119943119944119945119946119947119948119949119950119951119952119953119954119955119956119957119958119959119960119961119962119963119964119965119966119967119968119969119970119971119972119973119974119975119976119977119978119979119980119981119982119983119984119985119986119987119988119989119990119991119992119993119994119995119996119997119998119999120000120001120002120003120004120005120006120007120008120009120010120011120012120013120014120015120016120017120018120019120020120021120022120023120024120025120026120027120028120029120030120031120032120033120034120035120036120037120038120039120040120041120042120043120044120045120046120047120048120049120050120051120052120053120054120055120056120057120058120059120060120061120062120063120064120065120066120067120068120069120070120071120072120073120074120075120076120077120078120079120080120081120082120083120084120085120086120087120088120089120090120091120092120093120094120095120096120097120098120099120100120101120102120103120104120105120106120107120108120109120110120111120112120113120114120115120116120117120118120119120120120121120122120123120124120125120126120127120128120129120130120131120132120133120134120135120136120137120138120139120140120141120142120143120144120145120146120147120148120149120150120151120152120153120154120155120156120157120158120159120160120161120162120163120164120165120166120167120168120169120170120171120172120173120174120175120176120177120178120179120180120181120182120183120184120185120186120187120188120189120190120191120192120193120194120195120196120197120198120199120200120201120202120203120204120205120206120207120208120209120210120211120212120213120214120215120216120217120218120219120220120221120222120223120224120225120226120227120228120229120230120231120232120233120234120235120236120237120238120239120240120241120242120243120244120245120246120247120248120249120250120251120252120253120254120255120256120257120258120259120260120261120262120263120264120265120266120267120268120269120270120271120272120273120274120275120276120277120278120279120280120281120282120283120284120285120286120287120288120289120290120291120292120293120294120295120296120297120298120299120300120301120302120303120304120305120306120307120308120309120310120311120312120313120314120315120316120317120318120319120320120321120322120323120324120325120326120327120328120329120330120331120332120333120334120335120336120337120338120339120340120341120342120343120344120345120346120347120348120349120350120351120352120353120354120355120356120357120358120359120360120361120362120363120364120365120366120367120368120369120370120371120372120373120374120375120376120377120378120379120380120381120382120383120384120385120386120387120388120389120390120391120392120393120394120395120396120397120398120399120400120401120402120403120404120405120406120407120408120409120410120411120412120413120414120415120416120417120418120419120420120421120422120423120424120425120426120427120428120429120430120431120432120433120434120435120436120437120438120439120440120441120442120443120444120445120446120447120448120449120450120451120452120453120454120455120456120457120458120459120460120461120462120463120464120465120466120467120468120469120470120471120472120473120474120475120476120477120478120479120480120481120482120483120484120485120486120487120488120489120490120491120492120493120494120495120496120497120498120499120500120501120502120503120504120505120506120507120508120509120510120511120512120513120514120515120516120517120518120519120520120521120522120523120524120525120526120527120528120529120530120531120532120533120534120535120536120537120538120539120540120541120542120543120544120545120546120547120548120549120550120551120552120553120554120555120556120557120558120559120560120561120562120563120564120565120566120567120568120569120570120571120572120573120574120575120576120577120578120579120580120581120582120583120584120585120586120587120588120589120590120591120592120593120594120595120596120597120598120599120600120601120602120603120604120605120606120607120608120609120610120611120612120613120614120615120616120617120618120619120620120621120622120623120624120625120626120627120628120629120630120631120632120633120634120635120636120637120638120639120640120641120642120643120644120645120646120647120648120649120650120651120652120653120654120655120656120657120658120659120660120661120662120663120664120665120666120667120668120669120670120671120672120673120674120675120676120677120678120679120680120681120682120683120684120685120686120687120688120689120690120691120692120693120694120695120696120697120698120699120700120701120702120703120704120705120706120707120708120709120710120711120712120713120714120715120716120717120718120719120720120721120722120723120724120725120726120727120728120729120730120731120732120733120734120735120736120737120738120739120740120741120742120743120744120745120746120747120748120749120750120751120752120753120754120755120756120757120758120759120760120761120762120763120764120765120766120767120768120769120770120771120772120773120774120775120776120777120778120779120780120781120782120783120784120785120786120787120788120789120790120791120792120793120794120795120796120797120798120799120800120801120802120803120804120805120806120807120808120809120810120811120812120813120814120815120816120817120818120819120820120821120822120823120824120825120826120827120828120829120830120831120832120833120834120835120836120837120838120839120840120841120842120843120844120845120846120847120848120849120850120851120852120853120854120855120856120857120858120859120860120861120862120863120864120865120866120867120868120869120870120871120872120873120874120875120876120877120878120879120880120881120882120883120884120885120886120887120888120889120890120891120892120893120894120895120896120897120898120899120900120901120902120903120904120905120906120907120908120909120910120911120912120913120914120915120916120917120918120919120920120921120922120923120924120925120926120927120928120929120930120931120932120933120934120935120936120937120938120939120940120941120942120943120944120945120946120947120948120949120950120951120952120953120954120955120956120957120958120959120960120961120962120963120964120965120966120967120968120969120970120971120972120973120974120975120976120977120978120979120980120981120982120983120984120985120986120987120988120989120990120991120992120993120994120995120996120997120998120999121000121001121002121003121004121005121006121007121008121009121010121011121012121013121014121015121016121017121018121019121020121021121022121023121024121025121026121027121028121029121030121031121032121033121034121035121036121037121038121039121040121041121042121043121044121045121046121047121048121049121050121051121052121053121054121055121056121057121058121059121060121061121062121063121064121065121066121067121068121069121070121071121072121073121074121075121076121077121078121079121080121081121082121083121084121085121086121087121088121089121090121091121092121093121094121095121096121097121098121099121100121101121102121103121104121105121106121107121108121109121110121111121112121113121114121115121116121117121118121119121120121121121122121123121124121125121126121127121128121129121130121131121132121133121134121135121136121137121138121139121140121141121142121143121144121145121146121147121148121149121150121151121152121153121154121155121156121157121158121159121160121161121162121163121164121165121166121167121168121169121170121171121172121173121174121175121176121177121178121179121180121181121182121183121184121185121186121187121188121189121190121191121192121193121194121195121196121197121198121199121200121201121202121203121204121205121206121207121208121209121210121211121212121213121214121215121216121217121218121219121220121221121222121223121224121225121226121227121228121229121230121231121232121233121234121235121236121237121238121239121240121241121242121243121244121245121246121247121248121249121250121251121252121253121254121255121256121257121258121259121260121261121262121263121264121265121266121267121268121269121270121271121272121273121274121275121276121277121278121279121280121281121282121283121284121285121286121287121288121289121290121291121292121293121294121295121296121297121298121299121300121301121302121303121304121305121306121307121308121309121310121311121312121313121314121315121316121317121318121319121320121321121322121323121324121325121326121327121328121329121330121331121332121333121334121335121336121337121338121339121340121341121342121343121344121345121346121347121348121349121350121351121352121353121354121355121356121357121358121359121360121361121362121363121364121365121366121367121368121369121370121371121372121373121374121375121376121377121378121379121380121381121382121383121384121385121386121387121388121389121390121391121392121393121394121395121396121397121398121399121400121401121402121403121404121405121406121407121408121409121410121411121412121413121414121415121416121417121418121419121420121421121422121423121424121425121426121427121428121429121430121431121432121433121434121435121436121437121438121439121440121441121442121443121444121445121446121447121448121449121450121451121452121453121454121455121456121457121458121459121460121461121462121463121464121465121466121467121468121469121470121471121472121473121474121475121476121477121478121479121480121481121482121483121484121485121486121487121488121489121490121491121492121493121494121495121496121497121498121499121500121501121502121503121504121505121506121507121508121509121510121511121512121513121514121515121516121517121518121519121520121521121522121523121524121525121526121527121528121529121530121531121532121533121534121535121536121537121538121539121540121541121542121543121544121545121546121547121548121549121550121551121552121553121554121555121556121557121558121559121560121561121562121563121564121565121566121567121568121569121570121571121572121573121574121575121576121577121578121579121580121581121582121583121584121585121586121587121588121589121590121591121592121593121594121595121596121597121598121599121600121601121602121603121604121605121606121607121608121609121610121611121612121613121614121615121616121617121618121619121620121621121622121623121624121625121626121627121628121629121630121631121632121633121634121635121636121637121638121639121640121641121642121643121644121645121646121647121648121649121650121651121652121653121654121655121656121657121658121659121660121661121662121663121664121665121666121667121668121669121670121671121672121673121674121675121676121677121678121679121680121681121682121683121684121685121686121687121688121689121690121691121692121693121694121695121696121697121698121699121700121701121702121703121704121705121706121707121708121709121710121711121712121713121714121715121716121717121718121719121720121721121722121723121724121725121726121727121728121729121730121731121732121733121734121735121736121737121738121739121740121741121742121743121744121745121746121747121748121749121750121751121752121753121754121755121756121757121758121759121760121761121762121763121764121765121766121767121768121769121770121771121772121773121774121775121776121777121778121779121780121781121782121783121784121785121786121787121788121789121790121791121792121793121794121795121796121797121798121799121800121801121802121803121804121805121806121807121808121809121810121811121812121813121814121815121816121817121818121819121820121821121822121823121824121825121826121827121828121829121830121831121832121833121834121835121836121837121838121839121840121841121842121843121844121845121846121847121848121849121850121851121852121853121854121855121856121857121858121859121860121861121862121863121864121865121866121867121868121869121870121871121872121873121874121875121876121877121878121879121880121881121882121883121884121885121886121887121888121889121890121891121892121893121894121895121896121897121898121899121900121901121902121903121904121905121906121907121908121909121910121911121912121913121914121915121916121917121918121919121920121921121922121923121924121925121926121927121928121929121930121931121932121933121934121935121936121937121938121939121940121941121942121943121944121945121946121947121948121949121950121951121952121953121954121955121956121957121958121959121960121961121962121963121964121965121966121967121968121969121970121971121972121973121974121975121976121977121978121979121980121981121982121983121984121985121986121987121988121989121990121991121992121993121994121995121996121997121998121999122000122001122002122003122004122005122006122007122008122009122010122011122012122013122014122015122016122017122018122019122020122021122022122023122024122025122026122027122028122029122030122031122032122033122034122035122036122037122038122039122040122041122042122043122044122045122046122047122048122049122050122051122052122053122054122055122056122057122058122059122060122061122062122063122064122065122066122067122068122069122070122071122072122073122074122075122076122077122078122079122080122081122082122083122084122085122086122087122088122089122090122091122092122093122094122095122096122097122098122099122100122101122102122103122104122105122106122107122108122109122110122111122112122113122114122115122116122117122118122119122120122121122122122123122124122125122126122127122128122129122130122131122132122133122134122135122136122137122138122139122140122141122142122143122144122145122146122147122148122149122150122151122152122153122154122155122156122157122158122159122160122161122162122163122164122165122166122167122168122169122170122171122172122173122174122175122176122177122178122179122180122181122182122183122184122185122186122187122188122189122190122191122192122193122194122195122196122197122198122199122200122201122202122203122204122205122206122207122208122209122210122211122212122213122214122215122216122217122218122219122220122221122222122223122224122225122226122227122228122229122230122231122232122233122234122235122236122237122238122239122240122241122242122243122244122245122246122247122248122249122250122251122252122253122254122255122256122257122258122259122260122261122262122263122264122265122266122267122268122269122270122271122272122273122274122275122276122277122278122279122280122281122282122283122284122285122286122287122288122289122290122291122292122293122294122295122296122297122298122299122300122301122302122303122304122305122306122307122308122309122310122311122312122313122314122315122316122317122318122319122320122321122322122323122324122325122326122327122328122329122330122331122332122333122334122335122336122337122338122339122340122341122342122343122344122345122346122347122348122349122350122351122352122353122354122355122356122357122358122359122360122361122362122363122364122365122366122367122368122369122370122371122372122373122374122375122376122377122378122379122380122381122382122383122384122385122386122387122388122389122390122391122392122393122394122395122396122397122398122399122400122401122402122403122404122405122406122407122408122409122410122411122412122413122414122415122416122417122418122419122420122421122422122423122424122425122426122427122428122429122430122431122432122433122434122435122436122437122438122439122440122441122442122443122444122445122446122447122448122449122450122451122452122453122454122455122456122457122458122459122460122461122462122463122464122465122466122467122468122469122470122471122472122473122474122475122476122477122478122479122480122481122482122483122484122485122486122487122488122489122490122491122492122493122494122495122496122497122498122499122500122501122502122503122504122505122506122507122508122509122510122511122512122513122514122515122516122517122518122519122520122521122522122523122524122525122526122527122528122529122530122531122532122533122534122535122536122537122538122539122540122541122542122543122544122545122546122547122548122549122550122551122552122553122554122555122556122557122558122559122560122561122562122563122564122565122566122567122568122569122570122571122572122573122574122575122576122577122578122579122580122581122582122583122584122585122586122587122588122589122590122591122592122593122594122595122596122597122598122599122600122601122602122603122604122605122606122607122608122609122610122611122612122613122614122615122616122617122618122619122620122621122622122623122624122625122626122627122628122629122630122631122632122633122634122635122636122637122638122639122640122641122642122643122644122645122646122647122648122649122650122651122652122653122654122655122656122657122658122659122660122661122662122663122664122665122666122667122668122669122670122671122672122673122674122675122676122677122678122679122680122681122682122683122684122685122686122687122688122689122690122691122692122693122694122695122696122697122698122699122700122701122702122703122704122705122706122707122708122709122710122711122712122713122714122715122716122717122718122719122720122721122722122723122724122725122726122727122728122729122730122731122732122733122734122735122736122737122738122739122740122741122742122743122744122745122746122747122748122749122750122751122752122753122754122755122756122757122758122759122760122761122762122763122764122765122766122767122768122769122770122771122772122773122774122775122776122777122778122779122780122781122782122783122784122785122786122787122788122789122790122791122792122793122794122795122796122797122798122799122800122801122802122803122804122805122806122807122808122809122810122811122812122813122814122815122816122817122818122819122820122821122822122823122824122825122826122827122828122829122830122831122832122833122834122835122836122837122838122839122840122841122842122843122844122845122846122847122848122849122850122851122852122853122854122855122856122857122858122859122860122861122862122863122864122865122866122867122868122869122870122871122872122873122874
  1. /*!*
  2. *
  3. * Copyright (c) Highsoft AS. All rights reserved.
  4. *
  5. *!*/
  6. import * as globals from "./globals";
  7. /**
  8. * Formatter callback for the accessibility announcement.
  9. *
  10. * @param updatedSeries
  11. * Array of all series that received updates. If an announcement is
  12. * already queued, the series that received updates for that announcement
  13. * are also included in this array.
  14. *
  15. * @param addedSeries
  16. * This is provided if Highcharts.Chart#addSeries was called, and there
  17. * is a new series. In that case, this argument is a reference to the new
  18. * series.
  19. *
  20. * @param addedPoint
  21. * This is provided if Highcharts.Series#addPoint was called, and there
  22. * is a new point. In that case, this argument is a reference to the new
  23. * point.
  24. *
  25. * @return The function should return a string with the text to announce to the
  26. * user. Return empty string to not announce anything. Return `false` to
  27. * use the default announcement format.
  28. */
  29. export type AccessibilityAnnouncementFormatter = (updatedSeries: Array<Series>, addedSeries?: Series, addedPoint?: Point) => (false|string);
  30. /**
  31. * The horizontal alignment of an element.
  32. */
  33. export type AlignValue = ("center"|"left"|"right");
  34. /**
  35. * Creates a frame for the animated SVG element.
  36. *
  37. * @param this
  38. * The SVG element to animate.
  39. */
  40. export type AnimationStepCallbackFunction = (this: SVGElement) => void;
  41. /**
  42. * Callback to modify annotation's possitioner controls.
  43. */
  44. export type AnnotationControlPointPositionerFunction = (this: AnnotationControlPoint, target: AnnotationControllable) => PositionObject;
  45. /**
  46. * Possible directions for draggable annotations. An empty string (`''`) makes
  47. * the annotation undraggable.
  48. */
  49. export type AnnotationDraggableValue = (''|'x'|'xy'|'y');
  50. export type AxisEventCallbackFunction = (this: Axis) => void;
  51. export type AxisExtremesTriggerValue = ("navigator"|"pan"|"scrollbar"|"zoom"|"rangeSelectorButton"|"rangeSelectorInput"|"traverseUpButton");
  52. export type AxisLabelsFormatterCallbackFunction = (this: AxisLabelsFormatterContextObject<number>, that: AxisLabelsFormatterContextObject<string>) => string;
  53. /**
  54. * Options for axes.
  55. */
  56. export type AxisOptions = (XAxisOptions|YAxisOptions|ZAxisOptions);
  57. /**
  58. * Options for plot band labels on axes.
  59. */
  60. export type AxisPlotBandsLabelOptions = (XAxisPlotBandsLabelOptions|YAxisPlotBandsLabelOptions|ZAxisPlotBandsLabelOptions);
  61. /**
  62. * Options for plot bands on axes.
  63. */
  64. export type AxisPlotBandsOptions = (XAxisPlotBandsOptions|YAxisPlotBandsOptions|ZAxisPlotBandsOptions);
  65. /**
  66. * Options for plot line labels on axes.
  67. */
  68. export type AxisPlotLinesLabelOptions = (XAxisPlotLinesLabelOptions|YAxisPlotLinesLabelOptions|ZAxisPlotLinesLabelOptions);
  69. /**
  70. * Options for plot lines on axes.
  71. */
  72. export type AxisPlotLinesOptions = (XAxisPlotLinesOptions|YAxisPlotLinesOptions|ZAxisPlotLinesOptions);
  73. export type AxisPointBreakEventCallbackFunction = (this: Axis, evt: AxisPointBreakEventObject) => void;
  74. export type AxisSetExtremesEventCallbackFunction = (this: Axis, evt: AxisSetExtremesEventObject) => void;
  75. export type AxisTickPositionerCallbackFunction = (this: Axis) => AxisTickPositionsArray;
  76. export type AxisTitleAlignValue = ("high"|"low"|"middle");
  77. export type AxisTitleOptions = (XAxisTitleOptions|YAxisTitleOptions|ZAxisTitleOptions);
  78. export type AxisTypeValue = ("category"|"datetime"|"linear"|"logarithmic"|"treegrid");
  79. export type BubbleSizeByValue = ("area"|"width");
  80. export type ButtonRelativeToValue = ("plotBox"|"spacingBox");
  81. /**
  82. * Gets fired when a series is added to the chart after load time, using the
  83. * `addSeries` method. Returning `false` prevents the series from being added.
  84. *
  85. * @param this
  86. * The chart on which the event occured.
  87. *
  88. * @param event
  89. * The event that occured.
  90. */
  91. export type ChartAddSeriesCallbackFunction = (this: Chart, event: ChartAddSeriesEventObject) => void;
  92. /**
  93. * Callback for chart constructors.
  94. *
  95. * @param chart
  96. * Created chart.
  97. */
  98. export type ChartCallbackFunction = (chart: Chart) => void;
  99. /**
  100. * Gets fired when clicking on the plot background.
  101. *
  102. * @param this
  103. * The chart on which the event occured.
  104. *
  105. * @param event
  106. * The event that occured.
  107. */
  108. export type ChartClickCallbackFunction = (this: Chart, event: PointerEventObject) => void;
  109. /**
  110. * Gets fired when the chart is finished loading.
  111. *
  112. * @param this
  113. * The chart on which the event occured.
  114. *
  115. * @param event
  116. * The event that occured.
  117. */
  118. export type ChartLoadCallbackFunction = (this: Chart, event: Event) => void;
  119. /**
  120. * Fires when the chart is redrawn, either after a call to `chart.redraw()` or
  121. * after an axis, series or point is modified with the `redraw` option set to
  122. * `true`.
  123. *
  124. * @param this
  125. * The chart on which the event occured.
  126. *
  127. * @param event
  128. * The event that occured.
  129. */
  130. export type ChartRedrawCallbackFunction = (this: Chart, event: Event) => void;
  131. /**
  132. * Gets fired after initial load of the chart (directly after the `load` event),
  133. * and after each redraw (directly after the `redraw` event).
  134. *
  135. * @param this
  136. * The chart on which the event occured.
  137. *
  138. * @param event
  139. * The event that occured.
  140. */
  141. export type ChartRenderCallbackFunction = (this: Chart, event: Event) => void;
  142. /**
  143. * Gets fired when an area of the chart has been selected. The default action
  144. * for the selection event is to zoom the chart to the selected area. It can be
  145. * prevented by calling `event.preventDefault()` or return false.
  146. *
  147. * @param this
  148. * The chart on which the event occured.
  149. *
  150. * @param event
  151. * Event informations
  152. *
  153. * @return Return false to prevent the default action, usually zoom.
  154. */
  155. export type ChartSelectionCallbackFunction = (this: Chart, event: ChartSelectionContextObject) => (boolean|undefined);
  156. /**
  157. * A clipping rectangle that can be applied to one or more SVGElement instances.
  158. * It is instanciated with the SVGRenderer#clipRect function and applied with
  159. * the SVGElement#clip function.
  160. */
  161. export type ClipRectElement = SVGElement;
  162. /**
  163. * Color axis types
  164. */
  165. export type ColorAxisTypeValue = ("linear"|"logarithmic");
  166. /**
  167. * A valid color to be parsed and handled by Highcharts. Highcharts internally
  168. * supports hex colors like `#ffffff`, rgb colors like `rgb(255,255,255)` and
  169. * rgba colors like `rgba(255,255,255,1)`. Other colors may be supported by the
  170. * browsers and displayed correctly, but Highcharts is not able to process them
  171. * and apply concepts like opacity and brightening.
  172. */
  173. export type ColorString = string;
  174. /**
  175. * A valid color type than can be parsed and handled by Highcharts. It can be a
  176. * color string, a gradient object, or a pattern object.
  177. */
  178. export type ColorType = (ColorString|GradientColorObject|PatternObject);
  179. /**
  180. * All possible cursor styles.
  181. */
  182. 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'|
  183. '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'|
  184. 'zoom-in'|'zoom-out');
  185. /**
  186. * All possible dash styles.
  187. */
  188. export type DashStyleValue = ('Dash'|'DashDot'|'Dot'|'LongDash'|'LongDashDot'|'LongDashDotDot'|'ShortDash'|'ShortDashDot'|'ShortDashDotDot'|'ShortDot'|'Solid');
  189. /**
  190. * Callback function to modify the CSV before parsing it by the data module.
  191. *
  192. * @param csv
  193. * The CSV to modify.
  194. *
  195. * @return The CSV to parse.
  196. */
  197. export type DataBeforeParseCallbackFunction = (csv: string) => string;
  198. /**
  199. * Callback function that gets called after parsing data.
  200. *
  201. * @param chartOptions
  202. * The chart options that were used.
  203. */
  204. export type DataCompleteCallbackFunction = (chartOptions: Options) => void;
  205. export type DataGroupingApproximationValue = ("average"|"averages"|"close"|"high"|"low"|"open"|"sum");
  206. /**
  207. * Callback JavaScript function to format the data label as a string. Note that
  208. * if a `format` is defined, the format takes precedence and the formatter is
  209. * ignored.
  210. *
  211. * @param this
  212. * Data label context to format
  213. *
  214. * @param options
  215. * API options of the data label
  216. *
  217. * @return Formatted data label text
  218. */
  219. export type DataLabelsFormatterCallbackFunction = (this: PointLabelObject, options: DataLabelsOptions) => (number|string|null|undefined);
  220. /**
  221. * Values for handling data labels that flow outside the plot area.
  222. */
  223. export type DataLabelsOverflowValue = ("allow"|"justify");
  224. /**
  225. * Callback function to parse string representations of dates into JavaScript
  226. * timestamps (milliseconds since 1.1.1970).
  227. *
  228. * @return Timestamp (milliseconds since 1.1.1970) as integer for Date class.
  229. */
  230. export type DataParseDateCallbackFunction = (dateValue: string) => number;
  231. /**
  232. * Callback function to access the parsed columns, the two-dimentional input
  233. * data array directly, before they are interpreted into series data and
  234. * categories.
  235. *
  236. * @param columns
  237. * The parsed columns by the data module.
  238. *
  239. * @return Return `false` to stop completion, or call `this.complete()` to
  240. * continue async.
  241. */
  242. export type DataParsedCallbackFunction = (columns: Array<Array<any>>) => (boolean|undefined);
  243. /**
  244. * Possible types for a data item in a column or row.
  245. */
  246. export type DataValueType = (number|string|null);
  247. /**
  248. * Gets fired when a drilldown point is clicked, before the new series is added.
  249. * Note that when clicking a category label to trigger multiple series
  250. * drilldown, one `drilldown` event is triggered per point in the category.
  251. *
  252. * @param this
  253. * The chart where the event occurs.
  254. *
  255. * @param e
  256. * The drilldown event.
  257. */
  258. export type DrilldownCallbackFunction = (this: Chart, e: DrilldownEventObject) => void;
  259. /**
  260. * This gets fired after all the series have been drilled up. This is especially
  261. * usefull in a chart with multiple drilldown series.
  262. *
  263. * @param this
  264. * The chart where the event occurs.
  265. *
  266. * @param e
  267. * The final drillup event.
  268. */
  269. export type DrillupAllCallbackFunction = (this: Chart, e: DrillupAllEventObject) => void;
  270. /**
  271. * Gets fired when drilling up from a drilldown series.
  272. *
  273. * @param this
  274. * The chart where the event occurs.
  275. *
  276. * @param e
  277. * The drillup event.
  278. */
  279. export type DrillupCallbackFunction = (this: Chart, e: DrillupEventObject) => void;
  280. /**
  281. * The function callback to execute when the event is fired. The `this` context
  282. * contains the instance, that fired the event.
  283. *
  284. * @param eventArguments
  285. * Event arguments.
  286. */
  287. export type EventCallbackFunction<T> = (this: T, eventArguments?: (Event|Dictionary<any>)) => (boolean|void);
  288. /**
  289. * Function callback to execute while data rows are processed for exporting.
  290. * This allows the modification of data rows before processed into the final
  291. * format.
  292. *
  293. * @param this
  294. * Chart context where the event occured.
  295. *
  296. * @param event
  297. * Event object with data rows that can be modified.
  298. */
  299. export type ExportDataCallbackFunction = (this: Chart, event: ExportDataEventObject) => void;
  300. /**
  301. * Gets fired after a chart is printed through the context menu item or the
  302. * Chart.print method.
  303. *
  304. * @param chart
  305. * The chart on which the event occured.
  306. *
  307. * @param event
  308. * The event that occured.
  309. */
  310. export type ExportingAfterPrintCallbackFunction = (chart: Chart, event: Event) => void;
  311. /**
  312. * Gets fired before a chart is printed through the context menu item or the
  313. * Chart.print method.
  314. *
  315. * @param chart
  316. * The chart on which the event occured.
  317. *
  318. * @param event
  319. * The event that occured.
  320. */
  321. export type ExportingBeforePrintCallbackFunction = (chart: Chart, event: Event) => void;
  322. /**
  323. * Function to call if the offline-exporting module fails to export a chart on
  324. * the client side.
  325. *
  326. * @param options
  327. * The exporting options.
  328. *
  329. * @param err
  330. * The error from the module.
  331. */
  332. export type ExportingErrorCallbackFunction = (options: ExportingOptions, err: Error) => void;
  333. /**
  334. * Possible MIME types for exporting.
  335. */
  336. export type ExportingMimeTypeValue = ("application/pdf"|"image/jpeg"|"image/png"|"image/svg+xml");
  337. export type FlagsShapeValue = ("circlepin"|"flag"|"squarepin");
  338. /**
  339. * Formats data as a string. Usually the data is accessible throught the `this`
  340. * keyword.
  341. *
  342. * @param this
  343. * Context to format
  344. *
  345. * @return Formatted text
  346. */
  347. export type FormatterCallbackFunction<T> = (this: T) => string;
  348. /**
  349. * An object of key-value pairs for HTML attributes.
  350. */
  351. export type HTMLAttributes = Dictionary<(boolean|number|string|Function)>;
  352. /**
  353. * An HTML DOM element. The type is a reference to the regular HTMLElement in
  354. * the global scope.
  355. */
  356. export type HTMLDOMElement = HTMLElement;
  357. /**
  358. * Function callback when a cluster is clicked.
  359. *
  360. * @param this
  361. * The point where the event occured.
  362. *
  363. * @param event
  364. * Event arguments.
  365. */
  366. export type MarkerClusterDrillCallbackFunction = (this: Point, event: PointClickEventObject) => void;
  367. /**
  368. * Format a number and return a string based on input settings.
  369. *
  370. * @param number
  371. * The input number to format.
  372. *
  373. * @param decimals
  374. * The amount of decimals. A value of -1 preserves the amount in the
  375. * input number.
  376. *
  377. * @param decimalPoint
  378. * The decimal point, defaults to the one given in the lang options, or a
  379. * dot.
  380. *
  381. * @param thousandsSep
  382. * The thousands separator, defaults to the one given in the lang
  383. * options, or a space character.
  384. *
  385. * @return The formatted number.
  386. */
  387. export type NumberFormatterCallbackFunction = (number: number, decimals: number, decimalPoint?: string, thousandsSep?: string) => string;
  388. /**
  389. * The iterator callback.
  390. *
  391. * @param this
  392. * The context.
  393. *
  394. * @param value
  395. * The property value.
  396. *
  397. * @param key
  398. * The property key.
  399. *
  400. * @param obj
  401. * The object that objectEach is being applied to.
  402. */
  403. export type ObjectEachCallbackFunction<T> = (this: T, value: any, key: string, obj: any) => void;
  404. export type OptionsApproximationValue = ("barnes-hut"|"none");
  405. export type OptionsBoostBlendingValue = ("add"|"darken"|"multiply");
  406. export type OptionsDataClassColorValue = ("category"|"tween");
  407. export type OptionsDateFormatValue = ("dd/mm/YY"|"dd/mm/YYYY"|"mm/dd/YY"|"mm/dd/YYYY"|"YYYY/mm/dd");
  408. export type OptionsFindNearestPointByValue = ("x"|"xy");
  409. export type OptionsGapUnitValue = ("relative"|"value");
  410. export type OptionsGridLineInterpolationValue = ("circle"|"polygon");
  411. export type OptionsHeaderShapeValue = ("callout"|"square");
  412. export type OptionsIntegrationValue = ("euler"|"verlet");
  413. export type OptionsLandmarkVerbosityValue = ("all"|"disabled"|"one");
  414. export type OptionsLayoutAlgorithmValue = ("squarified"|"strip"|"stripes"|"sliceAndDice");
  415. export type OptionsLayoutStartingDirectionValue = ("horizontal"|"vertical");
  416. export type OptionsLayoutValue = ("horizontal"|"proximate"|"vertical");
  417. export type OptionsLinecapValue = ("round"|"square");
  418. export type OptionsMarkerEndValue = ("arrow"|"none");
  419. export type OptionsMinorTickPositionValue = ("inside"|"outside");
  420. export type OptionsModeValue = ("normal"|"serialize");
  421. export type OptionsOnKeyValue = ("close"|"high"|"low"|"open"|"y");
  422. export type OptionsOperatorValue = ("=="|"==="|">"|">="|"<"|"<=");
  423. export type OptionsOverflowValue = ("allow"|"justify");
  424. export type OptionsPanKeyValue = ("alt"|"ctrl"|"meta"|"shift");
  425. export type OptionsPinchTypeValue = ("x"|"xy"|"y");
  426. export type OptionsPointIntervalUnitValue = ("day"|"month"|"year");
  427. export type OptionsPointValKeyValue = ("close"|"high"|"low"|"open");
  428. export type OptionsPosition3dValue = ("chart"|"flap"|"offset"|"ortho");
  429. export type OptionsRotationModeValue = ("auto"|"circular"|"parallel"|"perpendicular");
  430. export type OptionsRotationOriginValue = ("center"|"end"|"start");
  431. export type OptionsStackingValue = ("normal"|"overlap"|"percent"|"stream");
  432. export type OptionsStepValue = ("center"|"left"|"right");
  433. export type OptionsTextAlignValue = ("center"|"left"|"right");
  434. export type OptionsTickmarkPlacementValue = ("between"|"on");
  435. export type OptionsTickPositionValue = ("inside"|"outside");
  436. export type OptionsTypeValue = ("x"|"xy"|"y");
  437. export type OptionsUnitValue = ("percentage"|"pixels"|"weight");
  438. export type OptionsZoomKeyValue = ("alt"|"ctrl"|"meta"|"shift");
  439. export type OptionsZoomTypeValue = ("x"|"xy"|"y");
  440. export type PaneBackgroundShapeValue = ("arc"|"circle"|"solid");
  441. /**
  442. * The default pathfinder algorithm to use for a chart. It is possible to define
  443. * your own algorithms by adding them to the
  444. * `Highcharts.Pathfinder.prototype.algorithms` object before the chart has been
  445. * created.
  446. *
  447. * The default algorithms are as follows:
  448. *
  449. * `straight`: Draws a straight line between the connecting points. Does not
  450. * avoid other points when drawing.
  451. *
  452. * `simpleConnect`: Finds a path between the points using right angles only.
  453. * Takes only starting/ending points into account, and will not avoid other
  454. * points.
  455. *
  456. * `fastAvoid`: Finds a path between the points using right angles only. Will
  457. * attempt to avoid other points, but its focus is performance over accuracy.
  458. * Works well with less dense datasets.
  459. */
  460. export type PathfinderTypeValue = ("straight"|"fastAvoid"|"simpleConnect"|string);
  461. /**
  462. * Function callback when a series point is clicked. Return false to cancel the
  463. * action.
  464. *
  465. * @param this
  466. * The point where the event occured.
  467. *
  468. * @param event
  469. * Event arguments.
  470. */
  471. export type PointClickCallbackFunction = (this: Point, event: PointClickEventObject) => void;
  472. /**
  473. * Function callback to execute while series points are dragged. Return false to
  474. * stop the default drag action.
  475. *
  476. * @param this
  477. * Point where the event occured.
  478. *
  479. * @param event
  480. * Event arguments.
  481. */
  482. export type PointDragCallbackFunction = (this: Point, event: PointDragEventObject) => void;
  483. /**
  484. * Function callback to execute when a series point is dragged.
  485. *
  486. * @param this
  487. * Point where the event occured.
  488. *
  489. * @param event
  490. * Event arguments.
  491. */
  492. export type PointDragStartCallbackFunction = (this: Point, event: PointDragStartEventObject) => void;
  493. /**
  494. * Function callback to execute when series points are dropped.
  495. *
  496. * @param this
  497. * Point where the event occured.
  498. *
  499. * @param event
  500. * Event arguments.
  501. */
  502. export type PointDropCallbackFunction = (this: Point, event: PointDropEventObject) => void;
  503. /**
  504. * Gets fired when the legend item belonging to a point is clicked. The default
  505. * action is to toggle the visibility of the point. This can be prevented by
  506. * returning `false` or calling `event.preventDefault()`.
  507. *
  508. * @param this
  509. * The point on which the event occured.
  510. *
  511. * @param event
  512. * The event that occured.
  513. */
  514. export type PointLegendItemClickCallbackFunction = (this: Point, event: PointLegendItemClickEventObject) => void;
  515. /**
  516. * Gets fired when the mouse leaves the area close to the point.
  517. *
  518. * @param this
  519. * Point where the event occured.
  520. *
  521. * @param event
  522. * Event that occured.
  523. */
  524. export type PointMouseOutCallbackFunction = (this: Point, event: PointerEvent) => void;
  525. /**
  526. * Gets fired when the mouse enters the area close to the point.
  527. *
  528. * @param this
  529. * Point where the event occured.
  530. *
  531. * @param event
  532. * Event that occured.
  533. */
  534. export type PointMouseOverCallbackFunction = (this: Point, event: Event) => void;
  535. /**
  536. * Possible option types for a data point.
  537. */
  538. export type PointOptionsType = (number|string|PointOptionsObject|Array<(number|string)>|null);
  539. /**
  540. * Gets fired when the point is removed using the `.remove()` method.
  541. *
  542. * @param this
  543. * Point where the event occured.
  544. *
  545. * @param event
  546. * Event that occured.
  547. */
  548. export type PointRemoveCallbackFunction = (this: Point, event: Event) => void;
  549. /**
  550. * Gets fired when the point is selected either programmatically or following a
  551. * click on the point.
  552. *
  553. * @param this
  554. * Point where the event occured.
  555. *
  556. * @param event
  557. * Event that occured.
  558. */
  559. export type PointSelectCallbackFunction = (this: Point, event: PointInteractionEventObject) => void;
  560. /**
  561. * Possible key values for the point state options.
  562. */
  563. export type PointStateValue = ("hover"|"inactive"|"normal"|"select");
  564. /**
  565. * Fires when the point is unselected either programmatically or following a
  566. * click on the point.
  567. *
  568. * @param this
  569. * Point where the event occured.
  570. *
  571. * @param event
  572. * Event that occured.
  573. */
  574. export type PointUnselectCallbackFunction = (this: Point, event: PointInteractionEventObject) => void;
  575. /**
  576. * Gets fired when the point is updated programmatically through the `.update()`
  577. * method.
  578. *
  579. * @param this
  580. * Point where the event occured.
  581. *
  582. * @param event
  583. * Event that occured.
  584. */
  585. export type PointUpdateCallbackFunction = (this: Point, event: PointUpdateEventObject) => void;
  586. /**
  587. * Define the time span for the button
  588. */
  589. export type RangeSelectorButtonTypeValue = ("all"|"day"|"hour"|"millisecond"|"minute"|"month"|"second"|"week"|"year"|"ytd");
  590. /**
  591. * Callback function to react on button clicks.
  592. *
  593. * @param e
  594. * Event arguments.
  595. *
  596. * @param Return
  597. * false to cancel the default button event.
  598. */
  599. export type RangeSelectorClickCallbackFunction = (e: Event, Return: (boolean|undefined)) => void;
  600. /**
  601. * Callback function to parse values entered in the input boxes and return a
  602. * valid JavaScript time as milliseconds since 1970.
  603. *
  604. * @param value
  605. * Input value to parse.
  606. *
  607. * @return Parsed JavaScript time value.
  608. */
  609. export type RangeSelectorParseCallbackFunction = (value: string) => number;
  610. /**
  611. * If a number is given, it defines the pixel length. If a percentage string is
  612. * given, like for example `'50%'`, the setting defines a length relative to a
  613. * base size, for example the size of a container.
  614. */
  615. export type RelativeSize = (number|string);
  616. /**
  617. * A callback function to gain complete control on when the responsive rule
  618. * applies.
  619. *
  620. * @param this
  621. * Chart context.
  622. *
  623. * @return Return `true` if it applies.
  624. */
  625. export type ResponsiveCallbackFunction = (this: Chart) => boolean;
  626. /**
  627. * @param evt
  628. * Mouse click event
  629. */
  630. export type ScreenReaderClickCallbackFunction = (evt: MouseEvent) => void;
  631. /**
  632. * Creates a formatted string for the screen reader module.
  633. *
  634. * @param context
  635. * Context to format
  636. *
  637. * @return Formatted string for the screen reader module.
  638. */
  639. export type ScreenReaderFormatterCallbackFunction<T> = (context: T) => string;
  640. /**
  641. * Function callback when a series has been animated.
  642. *
  643. * @param this
  644. * The series where the event occured.
  645. *
  646. * @param event
  647. * Event arguments.
  648. */
  649. export type SeriesAfterAnimateCallbackFunction = (this: Series, event: SeriesAfterAnimateEventObject) => void;
  650. /**
  651. * Function callback when the checkbox next to the series' name in the legend is
  652. * clicked.
  653. *
  654. * @param this
  655. * The series where the event occured.
  656. *
  657. * @param event
  658. * Event arguments.
  659. */
  660. export type SeriesCheckboxClickCallbackFunction = (this: Series, event: SeriesCheckboxClickEventObject) => void;
  661. /**
  662. * Function callback when a series is clicked. Return false to cancel toogle
  663. * actions.
  664. *
  665. * @param this
  666. * The series where the event occured.
  667. *
  668. * @param event
  669. * Event arguments.
  670. */
  671. export type SeriesClickCallbackFunction = (this: Series, event: SeriesClickEventObject) => void;
  672. /**
  673. * Gets fired when the series is hidden after chart generation time, either by
  674. * clicking the legend item or by calling `.hide()`.
  675. *
  676. * @param this
  677. * The series where the event occured.
  678. *
  679. * @param event
  680. * The event that occured.
  681. */
  682. export type SeriesHideCallbackFunction = (this: Series, event: Event) => void;
  683. /**
  684. * Gets fired when the legend item belonging to a series is clicked. The default
  685. * action is to toggle the visibility of the series. This can be prevented by
  686. * returning `false` or calling `event.preventDefault()`.
  687. *
  688. * @param this
  689. * The series where the event occured.
  690. *
  691. * @param event
  692. * The event that occured.
  693. */
  694. export type SeriesLegendItemClickCallbackFunction = (this: Series, event: SeriesLegendItemClickEventObject) => void;
  695. /**
  696. * The SVG value used for the `stroke-linecap` and `stroke-linejoin` of a line
  697. * graph.
  698. */
  699. export type SeriesLinecapValue = ("butt"|"round"|"square"|string);
  700. /**
  701. * Gets fired when the mouse leaves the graph.
  702. *
  703. * @param this
  704. * Series where the event occured.
  705. *
  706. * @param event
  707. * Event that occured.
  708. */
  709. export type SeriesMouseOutCallbackFunction = (this: Series, event: PointerEvent) => void;
  710. /**
  711. * Gets fired when the mouse enters the graph.
  712. *
  713. * @param this
  714. * Series where the event occured.
  715. *
  716. * @param event
  717. * Event that occured.
  718. */
  719. export type SeriesMouseOverCallbackFunction = (this: Series, event: PointerEvent) => void;
  720. /**
  721. * Formatter callback function.
  722. *
  723. * @param this
  724. * Data label context to format
  725. *
  726. * @return Formatted data label text
  727. */
  728. export type SeriesNetworkgraphDataLabelsFormatterCallbackFunction = (this: (PointLabelObject|SeriesNetworkgraphDataLabelsFormatterContextObject)) => string;
  729. /**
  730. * The possible types of series options.
  731. */
  732. export type SeriesOptionsType = SeriesOptionsRegistry[keyof SeriesOptionsRegistry];
  733. /**
  734. * Layout value for the child nodes in an organization chart. If `hanging`, this
  735. * node's children will hang below their parent, allowing a tighter packing of
  736. * nodes in the diagram.
  737. */
  738. export type SeriesOrganizationNodesLayoutValue = ("hanging"|"normal");
  739. /**
  740. * Formatter callback function.
  741. *
  742. * @param this
  743. * Data label context to format
  744. *
  745. * @return Formatted data label text
  746. */
  747. export type SeriesPackedBubbleDataLabelsFormatterCallbackFunction = (this: SeriesPackedBubbleDataLabelsFormatterContextObject) => string;
  748. /**
  749. * Formatter callback function.
  750. *
  751. * @param this
  752. * Data label context to format
  753. *
  754. * @return Formatted data label text
  755. */
  756. export type SeriesSankeyDataLabelsFormatterCallbackFunction = (this: (PointLabelObject|SeriesSankeyDataLabelsFormatterContextObject)) => (string|undefined);
  757. /**
  758. * Gets fired when the series is shown after chart generation time, either by
  759. * clicking the legend item or by calling `.show()`.
  760. *
  761. * @param this
  762. * Series where the event occured.
  763. *
  764. * @param event
  765. * Event that occured.
  766. */
  767. export type SeriesShowCallbackFunction = (this: Series, event: Event) => void;
  768. /**
  769. * Possible key values for the series state options.
  770. */
  771. export type SeriesStateValue = ("hover"|"inactive"|"normal"|"select");
  772. /**
  773. * An SVG DOM element. The type is a reference to the regular SVGElement in the
  774. * global scope.
  775. */
  776. export type SVGDOMElement = globals.GlobalSVGElement;
  777. /**
  778. * Array of path commands, that will go into the `d` attribute of an SVG
  779. * element.
  780. */
  781. export type SVGPathArray = Array<(Array<SVGPathCommand>|[SVGPathCommand, number]|[SVGPathCommand, number, number]|[SVGPathCommand, number, number, number, number]|[SVGPathCommand, number, number,
  782. number, number, number, number]|[SVGPathCommand, number, number, number, number, number, number, number])>;
  783. /**
  784. * Possible path commands in an SVG path array. Valid values are `A`, `C`, `H`,
  785. * `L`, `M`, `Q`, `S`, `T`, `V`, `Z`.
  786. */
  787. export type SVGPathCommand = ("a"|"c"|"h"|"l"|"m"|"q"|"s"|"t"|"v"|"z"|"A"|"C"|"H"|"L"|"M"|"Q"|"S"|"T"|"V"|"Z");
  788. /**
  789. * Can be one of `arc`, `callout`, `circle`, `diamond`, `square`, `triangle`,
  790. * and `triangle-down`. Symbols are used internally for point markers, button
  791. * and label borders and backgrounds, or custom shapes. Extendable by adding to
  792. * SVGRenderer#symbols.
  793. */
  794. export type SymbolKeyValue = ("arc"|"callout"|"circle"|"diamond"|"square"|"triangle"|"triangle-down");
  795. export type TilemapShapeValue = ("circle"|"diamond"|"hexagon"|"square");
  796. /**
  797. * Function of an additional date format specifier.
  798. *
  799. * @param timestamp
  800. * The time to format.
  801. *
  802. * @return The formatted portion of the date.
  803. */
  804. export type TimeFormatCallbackFunction = (timestamp: number) => string;
  805. /**
  806. * Callback JavaScript function to format the data label as a string. Note that
  807. * if a `format` is defined, the format takes precedence and the formatter is
  808. * ignored.
  809. *
  810. * @param this
  811. * Data label context to format
  812. *
  813. * @return Formatted data label text
  814. */
  815. export type TimelineDataLabelsFormatterCallbackFunction = (this: (PointLabelObject|TimelineDataLabelsFormatterContextObject)) => (number|string|null|undefined);
  816. /**
  817. * Time units used in `Time.get` and `Time.set`
  818. */
  819. export type TimeUnitValue = ("Date"|"Day"|"FullYear"|"Hours"|"Milliseconds"|"Minutes"|"Month"|"Seconds");
  820. /**
  821. * A callback to return the time zone offset for a given datetime. It takes the
  822. * timestamp in terms of milliseconds since January 1 1970, and returns the
  823. * timezone offset in minutes. This provides a hook for drawing time based
  824. * charts in specific time zones using their local DST crossover dates, with the
  825. * help of external libraries.
  826. *
  827. * @param timestamp
  828. * Timestamp in terms of milliseconds since January 1 1970.
  829. *
  830. * @return Timezone offset in minutes.
  831. */
  832. export type TimezoneOffsetCallbackFunction = (timestamp: number) => number;
  833. /**
  834. * Callback function to format the text of the tooltip from scratch.
  835. *
  836. * In case of single or shared tooltips, a string should be be returned. In case
  837. * of splitted tooltips, it should return an array where the first item is the
  838. * header, and subsequent items are mapped to the points. Return `false` to
  839. * disable tooltip for a specific point on series.
  840. *
  841. * @param this
  842. * Context to format
  843. *
  844. * @param tooltip
  845. * The tooltip instance
  846. *
  847. * @return Formatted text or false
  848. */
  849. export type TooltipFormatterCallbackFunction = (this: TooltipFormatterContextObject, tooltip: Tooltip) => (false|string|Array<(string|null|undefined)>|null|undefined);
  850. /**
  851. * A callback function to place the tooltip in a specific position.
  852. *
  853. * @param this
  854. * Tooltip context of the callback.
  855. *
  856. * @param labelWidth
  857. * Width of the tooltip.
  858. *
  859. * @param labelHeight
  860. * Height of the tooltip.
  861. *
  862. * @param point
  863. * Point information for positioning a tooltip.
  864. *
  865. * @return New position for the tooltip.
  866. */
  867. export type TooltipPositionerCallbackFunction = (this: Tooltip, labelWidth: number, labelHeight: number, point: (Point|TooltipPositionerPointObject)) => PositionObject;
  868. export type TooltipShapeValue = ("callout"|"circle"|"square");
  869. export type VariablePieSizeByValue = ("area"|"radius");
  870. /**
  871. * The vertical alignment of an element.
  872. */
  873. export type VerticalAlignValue = ("bottom"|"middle"|"top");
  874. /**
  875. * Proceed function to call original (wrapped) function.
  876. *
  877. * @param arg1
  878. * Optional argument. Without any arguments defaults to first argument of
  879. * the wrapping function.
  880. *
  881. * @param arg2
  882. * Optional argument. Without any arguments defaults to second argument
  883. * of the wrapping function.
  884. *
  885. * @param arg3
  886. * Optional argument. Without any arguments defaults to third argument of
  887. * the wrapping function.
  888. *
  889. * @return Return value of the original function.
  890. */
  891. export type WrapProceedFunction = (arg1?: any, arg2?: any, arg3?: any) => any;
  892. /**
  893. * Formatter function for the text of a crosshair label.
  894. *
  895. * @param this
  896. * Axis context
  897. *
  898. * @param value
  899. * Y value of the data point
  900. */
  901. export type XAxisCrosshairLabelFormatterCallbackFunction = (this: Axis, value: number) => string;
  902. /**
  903. * (Highcharts, Highstock, Highmaps, Gantt) Options for announcing new data to
  904. * screen reader users. Useful for dynamic data applications and drilldown.
  905. *
  906. * Keep in mind that frequent announcements will not be useful to users, as they
  907. * won't have time to explore the new data. For these applications, consider
  908. * making snapshots of the data accessible, and do the announcements in batches.
  909. */
  910. export interface AccessibilityAnnounceNewDataOptionsObject {
  911. /**
  912. * (Highcharts, Highstock, Highmaps, Gantt) Optional formatter callback for
  913. * the announcement. Receives up to three arguments. The first argument is
  914. * always an array of all series that received updates. If an announcement
  915. * is already queued, the series that received updates for that announcement
  916. * are also included in this array. The second argument is provided if
  917. * `chart.addSeries` was called, and there is a new series. In that case,
  918. * this argument is a reference to the new series. The third argument,
  919. * similarly, is provided if `series.addPoint` was called, and there is a
  920. * new point. In that case, this argument is a reference to the new point.
  921. *
  922. * The function should return a string with the text to announce to the
  923. * user. Return empty string to not announce anything. Return `false` to use
  924. * the default announcement format.
  925. */
  926. announcementFormatter?: AccessibilityAnnouncementFormatter;
  927. /**
  928. * (Highcharts, Highstock, Highmaps, Gantt) Enable announcing new data to
  929. * screen reader users
  930. */
  931. enabled?: boolean;
  932. /**
  933. * (Highcharts, Highstock, Highmaps, Gantt) Choose whether or not the
  934. * announcements should interrupt the screen reader. If not enabled, the
  935. * user will be notified once idle. It is recommended not to enable this
  936. * setting unless there is a specific reason to do so.
  937. */
  938. interruptUser?: boolean;
  939. /**
  940. * (Highcharts, Highstock, Highmaps, Gantt) Minimum interval between
  941. * announcements in milliseconds. If new data arrives before this amount of
  942. * time has passed, it is queued for announcement. If another new data event
  943. * happens while an announcement is queued, the queued announcement is
  944. * dropped, and the latest announcement is queued instead. Set to 0 to allow
  945. * all announcements, but be warned that frequent announcements are
  946. * disturbing to users.
  947. */
  948. minAnnounceInterval?: number;
  949. }
  950. /**
  951. * (Highcharts, Highstock, Highmaps, Gantt) Options for configuring
  952. * accessibility for the chart. Requires the accessibility module to be loaded.
  953. * For a description of the module and information on its features, see
  954. * Highcharts Accessibility.
  955. */
  956. export interface AccessibilityOptions {
  957. /**
  958. * (Highcharts, Highstock, Highmaps, Gantt) Options for announcing new data
  959. * to screen reader users. Useful for dynamic data applications and
  960. * drilldown.
  961. *
  962. * Keep in mind that frequent announcements will not be useful to users, as
  963. * they won't have time to explore the new data. For these applications,
  964. * consider making snapshots of the data accessible, and do the
  965. * announcements in batches.
  966. */
  967. announceNewData?: AccessibilityAnnounceNewDataOptionsObject;
  968. /**
  969. * (Highcharts, Highstock, Highmaps, Gantt) A hook for adding custom
  970. * components to the accessibility module. Should be an object mapping
  971. * component names to instances of classes inheriting from the
  972. * Highcharts.AccessibilityComponent base class. Remember to add the
  973. * component to the keyboardNavigation.order for the keyboard navigation to
  974. * be usable.
  975. */
  976. customComponents?: any;
  977. /**
  978. * (Highcharts, Highstock, Highmaps, Gantt) A text description of the chart.
  979. *
  980. * **Note: Prefer using linkedDescription or caption instead.**
  981. *
  982. * If the Accessibility module is loaded, this option is included by default
  983. * as a long description of the chart in the hidden screen reader
  984. * information region.
  985. *
  986. * Note: Since Highcharts now supports captions and linked descriptions, it
  987. * is preferred to define the description using those methods, as a visible
  988. * caption/description benefits all users. If the
  989. * `accessibility.description` option is defined, the linked description is
  990. * ignored, and the caption is hidden from screen reader users.
  991. */
  992. description?: string;
  993. /**
  994. * (Highcharts, Highstock, Highmaps, Gantt) Enable accessibility
  995. * functionality for the chart.
  996. */
  997. enabled?: boolean;
  998. /**
  999. * (Highcharts, Highstock, Highmaps, Gantt) Theme to apply to the chart when
  1000. * Windows High Contrast Mode is detected. By default, a high contrast theme
  1001. * matching the high contrast system system colors is used.
  1002. */
  1003. highContrastTheme?: any;
  1004. /**
  1005. * (Highcharts, Highstock, Highmaps, Gantt) Options for keyboard navigation.
  1006. */
  1007. keyboardNavigation?: KeyboardNavigationOptionsObject;
  1008. /**
  1009. * (Highcharts, Highstock, Highmaps, Gantt) Amount of landmarks/regions to
  1010. * create for screen reader users. More landmarks can make navigation with
  1011. * screen readers easier, but can be distracting if there are lots of charts
  1012. * on the page. Three modes are available:
  1013. *
  1014. * - `all`: Adds regions for all series, legend, menu, information region.
  1015. *
  1016. * - `one`: Adds a single landmark per chart.
  1017. *
  1018. * - `disabled`: No landmarks are added.
  1019. */
  1020. landmarkVerbosity?: OptionsLandmarkVerbosityValue;
  1021. /**
  1022. * (Highcharts, Highstock, Highmaps, Gantt) Link the chart to an HTML
  1023. * element describing the contents of the chart.
  1024. *
  1025. * It is always recommended to describe charts using visible text, to
  1026. * improve SEO as well as accessibility for users with disabilities. This
  1027. * option lets an HTML element with a description be linked to the chart, so
  1028. * that screen reader users can connect the two.
  1029. *
  1030. * By setting this option to a string, Highcharts runs the string as an HTML
  1031. * selector query on the entire document. If there is only a single match,
  1032. * this element is linked to the chart. The content of the linked element
  1033. * will be included in the chart description for screen reader users.
  1034. *
  1035. * By default, the chart looks for an adjacent sibling element with the
  1036. * `highcharts-description` class.
  1037. *
  1038. * The feature can be disabled by setting the option to an empty string, or
  1039. * overridden by providing the accessibility.description option.
  1040. * Alternatively, the HTML element to link can be passed in directly as an
  1041. * HTML node.
  1042. *
  1043. * If you need the description to be part of the exported image, consider
  1044. * using the caption feature.
  1045. *
  1046. * If you need the description to be hidden visually, use the
  1047. * accessibility.description option.
  1048. */
  1049. linkedDescription?: (string|HTMLDOMElement);
  1050. /**
  1051. * (Highcharts, Highstock, Highmaps, Gantt) Options for descriptions of
  1052. * individual data points.
  1053. */
  1054. point?: AccessibilityPointOptions;
  1055. /**
  1056. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the
  1057. * screen reader information sections added before and after the chart.
  1058. */
  1059. screenReaderSection?: AccessibilityScreenReaderSectionOptions;
  1060. /**
  1061. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options global to
  1062. * all data series. Individual series can also have specific accessibility
  1063. * options set.
  1064. */
  1065. series?: AccessibilitySeriesOptions;
  1066. /**
  1067. * (Highcharts, Highstock, Highmaps, Gantt) A text description of the chart
  1068. * type.
  1069. *
  1070. * If the Accessibility module is loaded, this will be included in the
  1071. * description of the chart in the screen reader information region.
  1072. *
  1073. * Highcharts will by default attempt to guess the chart type, but for more
  1074. * complex charts it is recommended to specify this property for clarity.
  1075. */
  1076. typeDescription?: string;
  1077. }
  1078. /**
  1079. * (Highcharts, Highstock, Highmaps, Gantt) Options for descriptions of
  1080. * individual data points.
  1081. */
  1082. export interface AccessibilityPointOptions {
  1083. /**
  1084. * (Highcharts, Highstock, Highmaps, Gantt) Date format to use for points on
  1085. * datetime axes when describing them to screen reader users.
  1086. *
  1087. * Defaults to the same format as in tooltip.
  1088. *
  1089. * For an overview of the replacement codes, see dateFormat.
  1090. */
  1091. dateFormat?: string;
  1092. /**
  1093. * (Highcharts, Highstock, Highmaps, Gantt) Formatter function to determine
  1094. * the date/time format used with points on datetime axes when describing
  1095. * them to screen reader users. Receives one argument, `point`, referring to
  1096. * the point to describe. Should return a date format string compatible with
  1097. * dateFormat.
  1098. */
  1099. dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
  1100. /**
  1101. * (Highcharts, Highstock, Highmaps, Gantt) Formatter function to use
  1102. * instead of the default for point descriptions.
  1103. *
  1104. * Receives one argument, `point`, referring to the point to describe.
  1105. * Should return a string with the description of the point for a screen
  1106. * reader user. If `false` is returned, the default formatter will be used
  1107. * for that point.
  1108. *
  1109. * Note: Prefer using accessibility.point.valueDescriptionFormat instead if
  1110. * possible, as default functionality such as describing annotations will be
  1111. * preserved.
  1112. */
  1113. descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
  1114. /**
  1115. * (Highcharts, Highstock, Highmaps, Gantt) Decimals to use for the values
  1116. * in the point descriptions. Uses tooltip.valueDecimals if not defined.
  1117. */
  1118. valueDecimals?: number;
  1119. /**
  1120. * (Highcharts, Highstock, Highmaps, Gantt) Format to use for describing the
  1121. * values of data points to assistive technology - including screen readers.
  1122. * The point context is available as `{point}`.
  1123. *
  1124. * Additionally, the series name, annotation info, and description added in
  1125. * `point.accessibility.description` is added by default if relevant. To
  1126. * override this, use the accessibility.point.descriptionFormatter option.
  1127. */
  1128. valueDescriptionFormat?: string;
  1129. /**
  1130. * (Highcharts, Highstock, Highmaps, Gantt) Prefix to add to the values in
  1131. * the point descriptions. Uses tooltip.valuePrefix if not defined.
  1132. */
  1133. valuePrefix?: string;
  1134. /**
  1135. * (Highcharts, Highstock, Highmaps, Gantt) Suffix to add to the values in
  1136. * the point descriptions. Uses tooltip.valueSuffix if not defined.
  1137. */
  1138. valueSuffix?: string;
  1139. }
  1140. /**
  1141. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the screen
  1142. * reader information sections added before and after the chart.
  1143. */
  1144. export interface AccessibilityScreenReaderSectionOptions {
  1145. /**
  1146. * (Highcharts, Highstock, Highmaps, Gantt) Format for the screen reader
  1147. * information region after the chart. Analogous to beforeChartFormat.
  1148. */
  1149. afterChartFormat?: string;
  1150. /**
  1151. * (Highcharts, Highstock, Highmaps, Gantt) A formatter function to create
  1152. * the HTML contents of the hidden screen reader information region after
  1153. * the chart. Analogous to beforeChartFormatter.
  1154. */
  1155. afterChartFormatter?: ScreenReaderFormatterCallbackFunction<Chart>;
  1156. /**
  1157. * (Highcharts, Highstock, Highmaps, Gantt) Date format to use to describe
  1158. * range of datetime axes.
  1159. *
  1160. * For an overview of the replacement codes, see dateFormat.
  1161. */
  1162. axisRangeDateFormat?: string;
  1163. /**
  1164. * (Highcharts, Highstock, Highmaps, Gantt) Format for the screen reader
  1165. * information region before the chart. Supported HTML tags are `<h1-7>`,
  1166. * `<p>`, `<div>`, `<a>`, `<ul>`, `<ol>`, `<li>`, and `<button>`. Attributes
  1167. * are not supported, except for id on `<div>`, `<a>`, and `<button>`. Id is
  1168. * required on `<a>` and `<button>` in the format `<tag id="abcd">`.
  1169. * Numbers, lower- and uppercase letters, "-" and "#" are valid characters
  1170. * in IDs.
  1171. */
  1172. beforeChartFormat?: string;
  1173. /**
  1174. * (Highcharts, Highstock, Highmaps, Gantt) A formatter function to create
  1175. * the HTML contents of the hidden screen reader information region before
  1176. * the chart. Receives one argument, `chart`, referring to the chart object.
  1177. * Should return a string with the HTML content of the region. By default
  1178. * this returns an automatic description of the chart based on
  1179. * beforeChartFormat.
  1180. */
  1181. beforeChartFormatter?: ScreenReaderFormatterCallbackFunction<Chart>;
  1182. /**
  1183. * (Highcharts, Highstock, Highmaps, Gantt) Function to run upon clicking
  1184. * the "Play as sound" button in the screen reader region.
  1185. *
  1186. * By default Highcharts will call the `chart.sonify` function.
  1187. */
  1188. onPlayAsSoundClick?: ScreenReaderClickCallbackFunction;
  1189. /**
  1190. * (Highcharts, Highstock, Highmaps, Gantt) Function to run upon clicking
  1191. * the "View as Data Table" link in the screen reader region.
  1192. *
  1193. * By default Highcharts will insert and set focus to a data table
  1194. * representation of the chart.
  1195. */
  1196. onViewDataTableClick?: ScreenReaderClickCallbackFunction;
  1197. }
  1198. /**
  1199. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options global to all
  1200. * data series. Individual series can also have specific accessibility options
  1201. * set.
  1202. */
  1203. export interface AccessibilitySeriesOptions {
  1204. /**
  1205. * (Highcharts, Highstock, Highmaps, Gantt) Whether or not to add series
  1206. * descriptions to charts with a single series.
  1207. */
  1208. describeSingleSeries?: boolean;
  1209. /**
  1210. * (Highcharts, Highstock, Highmaps, Gantt) Formatter function to use
  1211. * instead of the default for series descriptions. Receives one argument,
  1212. * `series`, referring to the series to describe. Should return a string
  1213. * with the description of the series for a screen reader user. If `false`
  1214. * is returned, the default formatter will be used for that series.
  1215. */
  1216. descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Series>;
  1217. /**
  1218. * (Highcharts, Highstock, Highmaps, Gantt) When a series contains more
  1219. * points than this, we no longer expose information about individual points
  1220. * to screen readers.
  1221. *
  1222. * Set to `false` to disable.
  1223. */
  1224. pointDescriptionEnabledThreshold?: (boolean|number);
  1225. }
  1226. /**
  1227. * Options to align the element relative to the chart or another box.
  1228. */
  1229. export interface AlignObject {
  1230. /**
  1231. * Horizontal alignment. Can be one of `left`, `center` and `right`.
  1232. */
  1233. align?: AlignValue;
  1234. /**
  1235. * Use the `transform` attribute with translateX and translateY custom
  1236. * attributes to align this elements rather than `x` and `y` attributes.
  1237. */
  1238. alignByTranslate?: boolean;
  1239. /**
  1240. * Vertical alignment. Can be one of `top`, `middle` and `bottom`.
  1241. */
  1242. verticalAlign?: VerticalAlignValue;
  1243. /**
  1244. * Horizontal pixel offset from alignment.
  1245. */
  1246. x?: number;
  1247. /**
  1248. * Vertical pixel offset from alignment.
  1249. */
  1250. y?: number;
  1251. }
  1252. /**
  1253. * An animation configuration. Animation configurations can also be defined as
  1254. * booleans, where `false` turns off animation and `true` defaults to a duration
  1255. * of 500ms and defer of 0ms.
  1256. */
  1257. export interface AnimationOptionsObject {
  1258. /**
  1259. * A callback function to exectute when the animation finishes.
  1260. */
  1261. complete?: Function;
  1262. /**
  1263. * The animation defer in milliseconds.
  1264. */
  1265. defer?: number;
  1266. /**
  1267. * The animation duration in milliseconds.
  1268. */
  1269. duration?: number;
  1270. /**
  1271. * The name of an easing function as defined on the `Math` object.
  1272. */
  1273. easing?: (string|Function);
  1274. /**
  1275. * A callback function to execute on each step of each attribute or CSS
  1276. * property that's being animated. The first argument contains information
  1277. * about the animation and progress.
  1278. */
  1279. step?: Function;
  1280. }
  1281. export interface AnnotationControllable {
  1282. annotation: Annotation;
  1283. chart: Chart;
  1284. collection: string;
  1285. points: Array<Point>;
  1286. }
  1287. /**
  1288. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's control
  1289. * points. Each control point inherits options from controlPointOptions object.
  1290. * Options from the controlPointOptions can be overwritten by options in a
  1291. * specific control point.
  1292. */
  1293. export interface AnnotationControlPointOptionsObject {
  1294. height?: number;
  1295. positioner?: AnnotationControlPointPositionerFunction;
  1296. style?: (AnnotationsControlPointStyleOptions|NavigationAnnotationsControlPointStyleOptions);
  1297. symbol?: string;
  1298. visible?: boolean;
  1299. width?: number;
  1300. }
  1301. /**
  1302. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
  1303. * annotation label.
  1304. */
  1305. export interface AnnotationLabelAccessibilityOptionsObject {
  1306. /**
  1307. * (Highcharts, Highstock, Highmaps, Gantt) Description of an annotation
  1308. * label for screen readers and other assistive technology.
  1309. */
  1310. description?: string;
  1311. }
  1312. /**
  1313. * (Highcharts, Highstock, Highmaps, Gantt) An array of points for the shape.
  1314. * This option is available for shapes which can use multiple points such as
  1315. * path. A point can be either a point object or a point's id.
  1316. */
  1317. export interface AnnotationMockPointOptionsObject {
  1318. /**
  1319. * (Highcharts, Highstock, Highmaps, Gantt) The x position of the point.
  1320. * Units can be either in axis or chart pixel coordinates.
  1321. */
  1322. x?: number;
  1323. /**
  1324. * (Highcharts, Highstock, Highmaps, Gantt) This number defines which xAxis
  1325. * the point is connected to. It refers to either the axis id or the index
  1326. * of the axis in the xAxis array. If the option is not configured or the
  1327. * axis is not found the point's x coordinate refers to the chart pixels.
  1328. */
  1329. xAxis?: (number|string|null);
  1330. /**
  1331. * (Highcharts, Highstock, Highmaps, Gantt) The y position of the point.
  1332. * Units can be either in axis or chart pixel coordinates.
  1333. */
  1334. y?: number;
  1335. /**
  1336. * (Highcharts, Highstock, Highmaps, Gantt) This number defines which yAxis
  1337. * the point is connected to. It refers to either the axis id or the index
  1338. * of the axis in the yAxis array. If the option is not configured or the
  1339. * axis is not found the point's y coordinate refers to the chart pixels.
  1340. */
  1341. yAxis?: (number|string|null);
  1342. }
  1343. /**
  1344. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  1345. * animation when a series is displayed for the `annotation`. The animation can
  1346. * also be set as a configuration object. Please note that this option only
  1347. * applies to the initial animation. For other animations, see chart.animation
  1348. * and the animation parameter under the API methods. The following properties
  1349. * are supported:
  1350. *
  1351. * - `defer`: The animation delay time in milliseconds.
  1352. */
  1353. export interface AnnotationsAnimationOptions {
  1354. /**
  1355. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  1356. * milliseconds. Set to `0` renders annotation immediately. As `undefined`
  1357. * inherits defer time from the series.animation.defer.
  1358. */
  1359. defer?: number;
  1360. }
  1361. export interface AnnotationsControlPointStyleOptions {
  1362. fill?: string;
  1363. stroke?: string;
  1364. "stroke-width"?: number;
  1365. }
  1366. export interface AnnotationsCrookedLineControlPointOptions {
  1367. events?: any;
  1368. }
  1369. /**
  1370. * (Highstock) Options for annotation's labels. Each label inherits options from
  1371. * the labelOptions object. An option from the labelOptions can be overwritten
  1372. * by config for a specific label.
  1373. */
  1374. export interface AnnotationsCrookedLineLabelOptions {
  1375. /**
  1376. * (Highstock) Accessibility options for an annotation label.
  1377. */
  1378. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  1379. /**
  1380. * (Highstock) The alignment of the annotation's label. If right, the right
  1381. * side of the label should be touching the point.
  1382. */
  1383. align?: AlignValue;
  1384. /**
  1385. * (Highstock) Whether to allow the annotation's labels to overlap. To make
  1386. * the labels less sensitive for overlapping, the can be set to 0.
  1387. */
  1388. allowOverlap?: boolean;
  1389. /**
  1390. * (Highstock) The background color or gradient for the annotation's label.
  1391. */
  1392. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  1393. /**
  1394. * (Highstock) The border color for the annotation's label.
  1395. */
  1396. borderColor?: ColorString;
  1397. /**
  1398. * (Highstock) The border radius in pixels for the annotaiton's label.
  1399. */
  1400. borderRadius?: number;
  1401. /**
  1402. * (Highstock) The border width in pixels for the annotation's label
  1403. */
  1404. borderWidth?: number;
  1405. /**
  1406. * (Highstock) A class name for styling by CSS.
  1407. */
  1408. className?: string;
  1409. /**
  1410. * (Highstock) Whether to hide the annotation's label that is outside the
  1411. * plot area.
  1412. */
  1413. crop?: boolean;
  1414. /**
  1415. * (Highstock) The label's pixel distance from the point.
  1416. */
  1417. distance?: number;
  1418. /**
  1419. * (Highstock) A format string for the data label.
  1420. */
  1421. format?: string;
  1422. /**
  1423. * (Highstock) Callback JavaScript function to format the annotation's
  1424. * label. Note that if a `format` or `text` are defined, the format or text
  1425. * take precedence and the formatter is ignored. `This` refers to a point
  1426. * object.
  1427. */
  1428. formatter?: FormatterCallbackFunction<Point>;
  1429. /**
  1430. * (Highstock) Whether the annotation is visible in the exported data table.
  1431. */
  1432. includeInDataExport?: boolean;
  1433. /**
  1434. * (Highstock) How to handle the annotation's label that flow outside the
  1435. * plot area. The justify option aligns the label inside the plot area.
  1436. */
  1437. overflow?: OptionsOverflowValue;
  1438. /**
  1439. * (Highstock) When either the borderWidth or the backgroundColor is set,
  1440. * this is the padding within the box.
  1441. */
  1442. padding?: number;
  1443. /**
  1444. * (Highstock) The shadow of the box. The shadow can be an object
  1445. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  1446. * `width`.
  1447. */
  1448. shadow?: (boolean|ShadowOptionsObject);
  1449. /**
  1450. * (Highstock) The name of a symbol to use for the border around the label.
  1451. * Symbols are predefined functions on the Renderer object.
  1452. */
  1453. shape?: string;
  1454. /**
  1455. * (Highstock) Styles for the annotation's label.
  1456. */
  1457. style?: CSSObject;
  1458. /**
  1459. * (Highstock) Alias for the format option.
  1460. */
  1461. text?: string;
  1462. /**
  1463. * (Highstock) Whether to use HTML to render the annotation's label.
  1464. */
  1465. useHTML?: boolean;
  1466. /**
  1467. * (Highstock) The vertical alignment of the annotation's label.
  1468. */
  1469. verticalAlign?: VerticalAlignValue;
  1470. /**
  1471. * (Highstock) The x position offset of the label relative to the point.
  1472. * Note that if a `distance` is defined, the distance takes precedence over
  1473. * `x` and `y` options.
  1474. */
  1475. x?: number;
  1476. /**
  1477. * (Highstock) The y position offset of the label relative to the point.
  1478. * Note that if a `distance` is defined, the distance takes precedence over
  1479. * `x` and `y` options.
  1480. */
  1481. y?: number;
  1482. }
  1483. /**
  1484. * (Highstock) A crooked line annotation.
  1485. */
  1486. export interface AnnotationsCrookedLineOptions {
  1487. controlPointOptions?: AnnotationsCrookedLineControlPointOptions;
  1488. /**
  1489. * (Highstock) Options for annotation's labels. Each label inherits options
  1490. * from the labelOptions object. An option from the labelOptions can be
  1491. * overwritten by config for a specific label.
  1492. */
  1493. labelOptions?: AnnotationsCrookedLineLabelOptions;
  1494. /**
  1495. * (Highstock) Options for annotation's shapes. Each shape inherits options
  1496. * from the shapeOptions object. An option from the shapeOptions can be
  1497. * overwritten by config for a specific shape.
  1498. */
  1499. shapeOptions?: AnnotationsCrookedLineShapeOptions;
  1500. /**
  1501. * (Highstock) Additional options for an annotation with the type.
  1502. */
  1503. typeOptions?: AnnotationsCrookedLineTypeOptions;
  1504. }
  1505. /**
  1506. * (Highstock) Options for annotation's shapes. Each shape inherits options from
  1507. * the shapeOptions object. An option from the shapeOptions can be overwritten
  1508. * by config for a specific shape.
  1509. */
  1510. export interface AnnotationsCrookedLineShapeOptions {
  1511. /**
  1512. * (Highstock) Name of the dash style to use for the shape's stroke.
  1513. */
  1514. dashStyle?: DashStyleValue;
  1515. /**
  1516. * (Highstock) The color of the shape's fill.
  1517. */
  1518. fill?: (ColorString|GradientColorObject|PatternObject);
  1519. /**
  1520. * (Highstock) The height of the shape.
  1521. */
  1522. height?: number;
  1523. /**
  1524. * (Highstock) The radius of the shape.
  1525. */
  1526. r?: number;
  1527. /**
  1528. * (Highstock) Defines additional snapping area around an annotation making
  1529. * this annotation to focus. Defined in pixels.
  1530. */
  1531. snap?: number;
  1532. /**
  1533. * (Highstock) The URL for an image to use as the annotation shape. Note,
  1534. * type has to be set to `'image'`.
  1535. */
  1536. src?: string;
  1537. /**
  1538. * (Highstock) The color of the shape's stroke.
  1539. */
  1540. stroke?: ColorString;
  1541. /**
  1542. * (Highstock) The pixel stroke width of the shape.
  1543. */
  1544. strokeWidth?: number;
  1545. /**
  1546. * (Highstock) The type of the shape, e.g. circle or rectangle.
  1547. */
  1548. type?: string;
  1549. /**
  1550. * (Highstock) The width of the shape.
  1551. */
  1552. width?: number;
  1553. }
  1554. /**
  1555. * (Highstock) Line options.
  1556. */
  1557. export interface AnnotationsCrookedLineTypeLineOptions {
  1558. fill?: string;
  1559. }
  1560. /**
  1561. * (Highstock) Additional options for an annotation with the type.
  1562. */
  1563. export interface AnnotationsCrookedLineTypeOptions {
  1564. /**
  1565. * (Highstock) Line options.
  1566. */
  1567. line?: AnnotationsCrookedLineTypeLineOptions;
  1568. points?: Array<AnnotationsCrookedLineTypePointsOptions>;
  1569. /**
  1570. * (Highstock) This number defines which xAxis the point is connected to. It
  1571. * refers to either the axis id or the index of the axis in the xAxis array.
  1572. */
  1573. xAxis?: number;
  1574. /**
  1575. * (Highstock) This number defines which yAxis the point is connected to. It
  1576. * refers to either the axis id or the index of the axis in the xAxis array.
  1577. */
  1578. yAxis?: number;
  1579. }
  1580. export interface AnnotationsCrookedLineTypePointsOptions {
  1581. controlPoint?: number;
  1582. /**
  1583. * (Highstock) The x position of the point.
  1584. */
  1585. x?: number;
  1586. /**
  1587. * (Highstock) The y position of the point.
  1588. */
  1589. y?: number;
  1590. }
  1591. export interface AnnotationsElliottWaveControlPointOptions {
  1592. events?: any;
  1593. }
  1594. /**
  1595. * (Highstock) Options for annotation's labels. Each label inherits options from
  1596. * the labelOptions object. An option from the labelOptions can be overwritten
  1597. * by config for a specific label.
  1598. */
  1599. export interface AnnotationsElliottWaveLabelOptions {
  1600. /**
  1601. * (Highstock) Accessibility options for an annotation label.
  1602. */
  1603. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  1604. /**
  1605. * (Highstock) The alignment of the annotation's label. If right, the right
  1606. * side of the label should be touching the point.
  1607. */
  1608. align?: string;
  1609. /**
  1610. * (Highstock) Whether to allow the annotation's labels to overlap. To make
  1611. * the labels less sensitive for overlapping, the can be set to 0.
  1612. */
  1613. allowOverlap?: boolean;
  1614. /**
  1615. * (Highstock) The background color or gradient for the annotation's label.
  1616. */
  1617. backgroundColor?: string;
  1618. /**
  1619. * (Highstock) The border color for the annotation's label.
  1620. */
  1621. borderColor?: ColorString;
  1622. /**
  1623. * (Highstock) The border radius in pixels for the annotaiton's label.
  1624. */
  1625. borderRadius?: number;
  1626. /**
  1627. * (Highstock) The border width in pixels for the annotation's label
  1628. */
  1629. borderWidth?: number;
  1630. /**
  1631. * (Highstock) A class name for styling by CSS.
  1632. */
  1633. className?: string;
  1634. /**
  1635. * (Highstock) Whether to hide the annotation's label that is outside the
  1636. * plot area.
  1637. */
  1638. crop?: boolean;
  1639. /**
  1640. * (Highstock) The label's pixel distance from the point.
  1641. */
  1642. distance?: number;
  1643. /**
  1644. * (Highstock) A format string for the data label.
  1645. */
  1646. format?: string;
  1647. /**
  1648. * (Highstock) Callback JavaScript function to format the annotation's
  1649. * label. Note that if a `format` or `text` are defined, the format or text
  1650. * take precedence and the formatter is ignored. `This` refers to a point
  1651. * object.
  1652. */
  1653. formatter?: FormatterCallbackFunction<Point>;
  1654. /**
  1655. * (Highstock) Whether the annotation is visible in the exported data table.
  1656. */
  1657. includeInDataExport?: boolean;
  1658. /**
  1659. * (Highstock) How to handle the annotation's label that flow outside the
  1660. * plot area. The justify option aligns the label inside the plot area.
  1661. */
  1662. overflow?: OptionsOverflowValue;
  1663. /**
  1664. * (Highstock) When either the borderWidth or the backgroundColor is set,
  1665. * this is the padding within the box.
  1666. */
  1667. padding?: number;
  1668. /**
  1669. * (Highstock) The shadow of the box. The shadow can be an object
  1670. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  1671. * `width`.
  1672. */
  1673. shadow?: (boolean|ShadowOptionsObject);
  1674. /**
  1675. * (Highstock) The name of a symbol to use for the border around the label.
  1676. * Symbols are predefined functions on the Renderer object.
  1677. */
  1678. shape?: string;
  1679. /**
  1680. * (Highstock) Styles for the annotation's label.
  1681. */
  1682. style?: CSSObject;
  1683. /**
  1684. * (Highstock) Alias for the format option.
  1685. */
  1686. text?: string;
  1687. type?: string;
  1688. /**
  1689. * (Highstock) Whether to use HTML to render the annotation's label.
  1690. */
  1691. useHTML?: boolean;
  1692. /**
  1693. * (Highstock) The vertical alignment of the annotation's label.
  1694. */
  1695. verticalAlign?: VerticalAlignValue;
  1696. /**
  1697. * (Highstock) The x position offset of the label relative to the point.
  1698. * Note that if a `distance` is defined, the distance takes precedence over
  1699. * `x` and `y` options.
  1700. */
  1701. x?: number;
  1702. /**
  1703. * (Highstock) The y position offset of the label relative to the point.
  1704. * Note that if a `distance` is defined, the distance takes precedence over
  1705. * `x` and `y` options.
  1706. */
  1707. y?: number;
  1708. }
  1709. /**
  1710. * (Highstock) An elliott wave annotation.
  1711. */
  1712. export interface AnnotationsElliottWaveOptions {
  1713. controlPointOptions?: AnnotationsElliottWaveControlPointOptions;
  1714. /**
  1715. * (Highstock) Options for annotation's labels. Each label inherits options
  1716. * from the labelOptions object. An option from the labelOptions can be
  1717. * overwritten by config for a specific label.
  1718. */
  1719. labelOptions?: AnnotationsElliottWaveLabelOptions;
  1720. /**
  1721. * (Highstock) Options for annotation's shapes. Each shape inherits options
  1722. * from the shapeOptions object. An option from the shapeOptions can be
  1723. * overwritten by config for a specific shape.
  1724. */
  1725. shapeOptions?: AnnotationsElliottWaveShapeOptions;
  1726. /**
  1727. * (Highstock) Additional options for an annotation with the type.
  1728. */
  1729. typeOptions?: AnnotationsElliottWaveTypeOptions;
  1730. }
  1731. /**
  1732. * (Highstock) Options for annotation's shapes. Each shape inherits options from
  1733. * the shapeOptions object. An option from the shapeOptions can be overwritten
  1734. * by config for a specific shape.
  1735. */
  1736. export interface AnnotationsElliottWaveShapeOptions {
  1737. /**
  1738. * (Highstock) Name of the dash style to use for the shape's stroke.
  1739. */
  1740. dashStyle?: DashStyleValue;
  1741. /**
  1742. * (Highstock) The color of the shape's fill.
  1743. */
  1744. fill?: (ColorString|GradientColorObject|PatternObject);
  1745. /**
  1746. * (Highstock) The height of the shape.
  1747. */
  1748. height?: number;
  1749. /**
  1750. * (Highstock) The radius of the shape.
  1751. */
  1752. r?: number;
  1753. /**
  1754. * (Highstock) Defines additional snapping area around an annotation making
  1755. * this annotation to focus. Defined in pixels.
  1756. */
  1757. snap?: number;
  1758. /**
  1759. * (Highstock) The URL for an image to use as the annotation shape. Note,
  1760. * type has to be set to `'image'`.
  1761. */
  1762. src?: string;
  1763. /**
  1764. * (Highstock) The color of the shape's stroke.
  1765. */
  1766. stroke?: ColorString;
  1767. /**
  1768. * (Highstock) The pixel stroke width of the shape.
  1769. */
  1770. strokeWidth?: number;
  1771. /**
  1772. * (Highstock) The type of the shape, e.g. circle or rectangle.
  1773. */
  1774. type?: string;
  1775. /**
  1776. * (Highstock) The width of the shape.
  1777. */
  1778. width?: number;
  1779. }
  1780. /**
  1781. * (Highstock) Line options.
  1782. */
  1783. export interface AnnotationsElliottWaveTypeLineOptions {
  1784. fill?: string;
  1785. strokeWidth?: number;
  1786. }
  1787. /**
  1788. * (Highstock) Additional options for an annotation with the type.
  1789. */
  1790. export interface AnnotationsElliottWaveTypeOptions {
  1791. /**
  1792. * (Highstock) Line options.
  1793. */
  1794. line?: AnnotationsElliottWaveTypeLineOptions;
  1795. points?: Array<AnnotationsElliottWaveTypePointsOptions>;
  1796. /**
  1797. * (Highstock) This number defines which xAxis the point is connected to. It
  1798. * refers to either the axis id or the index of the axis in the xAxis array.
  1799. */
  1800. xAxis?: number;
  1801. /**
  1802. * (Highstock) This number defines which yAxis the point is connected to. It
  1803. * refers to either the axis id or the index of the axis in the xAxis array.
  1804. */
  1805. yAxis?: number;
  1806. }
  1807. /**
  1808. * (Highstock) Options for annotation's labels. Each label inherits options from
  1809. * the labelOptions object. An option from the labelOptions can be overwritten
  1810. * by config for a specific label.
  1811. */
  1812. export interface AnnotationsElliottWaveTypePointsLabelOptions {
  1813. /**
  1814. * (Highstock) Accessibility options for an annotation label.
  1815. */
  1816. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  1817. /**
  1818. * (Highstock) The alignment of the annotation's label. If right, the right
  1819. * side of the label should be touching the point.
  1820. */
  1821. align?: AlignValue;
  1822. /**
  1823. * (Highstock) Whether to allow the annotation's labels to overlap. To make
  1824. * the labels less sensitive for overlapping, the can be set to 0.
  1825. */
  1826. allowOverlap?: boolean;
  1827. /**
  1828. * (Highstock) The background color or gradient for the annotation's label.
  1829. */
  1830. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  1831. /**
  1832. * (Highstock) The border color for the annotation's label.
  1833. */
  1834. borderColor?: ColorString;
  1835. /**
  1836. * (Highstock) The border radius in pixels for the annotaiton's label.
  1837. */
  1838. borderRadius?: number;
  1839. /**
  1840. * (Highstock) The border width in pixels for the annotation's label
  1841. */
  1842. borderWidth?: number;
  1843. /**
  1844. * (Highstock) A class name for styling by CSS.
  1845. */
  1846. className?: string;
  1847. /**
  1848. * (Highstock) Whether to hide the annotation's label that is outside the
  1849. * plot area.
  1850. */
  1851. crop?: boolean;
  1852. /**
  1853. * (Highstock) The label's pixel distance from the point.
  1854. */
  1855. distance?: number;
  1856. /**
  1857. * (Highstock) A format string for the data label.
  1858. */
  1859. format?: string;
  1860. /**
  1861. * (Highstock) Callback JavaScript function to format the annotation's
  1862. * label. Note that if a `format` or `text` are defined, the format or text
  1863. * take precedence and the formatter is ignored. `This` refers to a point
  1864. * object.
  1865. */
  1866. formatter?: FormatterCallbackFunction<Point>;
  1867. /**
  1868. * (Highstock) Whether the annotation is visible in the exported data table.
  1869. */
  1870. includeInDataExport?: boolean;
  1871. /**
  1872. * (Highstock) How to handle the annotation's label that flow outside the
  1873. * plot area. The justify option aligns the label inside the plot area.
  1874. */
  1875. overflow?: OptionsOverflowValue;
  1876. /**
  1877. * (Highstock) When either the borderWidth or the backgroundColor is set,
  1878. * this is the padding within the box.
  1879. */
  1880. padding?: number;
  1881. /**
  1882. * (Highstock) The shadow of the box. The shadow can be an object
  1883. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  1884. * `width`.
  1885. */
  1886. shadow?: (boolean|ShadowOptionsObject);
  1887. /**
  1888. * (Highstock) The name of a symbol to use for the border around the label.
  1889. * Symbols are predefined functions on the Renderer object.
  1890. */
  1891. shape?: string;
  1892. /**
  1893. * (Highstock) Styles for the annotation's label.
  1894. */
  1895. style?: CSSObject;
  1896. /**
  1897. * (Highstock) Alias for the format option.
  1898. */
  1899. text?: string;
  1900. /**
  1901. * (Highstock) Whether to use HTML to render the annotation's label.
  1902. */
  1903. useHTML?: boolean;
  1904. /**
  1905. * (Highstock) The vertical alignment of the annotation's label.
  1906. */
  1907. verticalAlign?: VerticalAlignValue;
  1908. /**
  1909. * (Highstock) The x position offset of the label relative to the point.
  1910. * Note that if a `distance` is defined, the distance takes precedence over
  1911. * `x` and `y` options.
  1912. */
  1913. x?: number;
  1914. /**
  1915. * (Highstock) The y position offset of the label relative to the point.
  1916. * Note that if a `distance` is defined, the distance takes precedence over
  1917. * `x` and `y` options.
  1918. */
  1919. y?: number;
  1920. }
  1921. export interface AnnotationsElliottWaveTypePointsOptions {
  1922. controlPoint?: number;
  1923. /**
  1924. * (Highstock) Options for annotation's labels. Each label inherits options
  1925. * from the labelOptions object. An option from the labelOptions can be
  1926. * overwritten by config for a specific label.
  1927. */
  1928. label?: AnnotationsElliottWaveTypePointsLabelOptions;
  1929. /**
  1930. * (Highstock) The x position of the point.
  1931. */
  1932. x?: number;
  1933. /**
  1934. * (Highstock) The y position of the point.
  1935. */
  1936. y?: number;
  1937. }
  1938. /**
  1939. * (Highcharts, Highstock, Highmaps, Gantt) Events available in annotations.
  1940. */
  1941. export interface AnnotationsEventsOptions {
  1942. /**
  1943. * (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
  1944. * is added to the chart.
  1945. */
  1946. add?: EventCallbackFunction<Annotation>;
  1947. /**
  1948. * (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
  1949. * is updated (e.g. drag and droppped or resized by control points).
  1950. */
  1951. afterUpdate?: EventCallbackFunction<Annotation>;
  1952. /**
  1953. * (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
  1954. * is removed from the chart.
  1955. */
  1956. remove?: EventCallbackFunction<Annotation>;
  1957. }
  1958. export interface AnnotationsFibonacciControlPointOptions {
  1959. events?: any;
  1960. }
  1961. /**
  1962. * (Highstock) Options for annotation's labels. Each label inherits options from
  1963. * the labelOptions object. An option from the labelOptions can be overwritten
  1964. * by config for a specific label.
  1965. */
  1966. export interface AnnotationsFibonacciLabelOptions {
  1967. /**
  1968. * (Highstock) Accessibility options for an annotation label.
  1969. */
  1970. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  1971. /**
  1972. * (Highstock) The alignment of the annotation's label. If right, the right
  1973. * side of the label should be touching the point.
  1974. */
  1975. align?: string;
  1976. /**
  1977. * (Highstock) Whether to allow the annotation's labels to overlap. To make
  1978. * the labels less sensitive for overlapping, the can be set to 0.
  1979. */
  1980. allowOverlap?: boolean;
  1981. /**
  1982. * (Highstock) The background color or gradient for the annotation's label.
  1983. */
  1984. backgroundColor?: string;
  1985. /**
  1986. * (Highstock) The border color for the annotation's label.
  1987. */
  1988. borderColor?: ColorString;
  1989. /**
  1990. * (Highstock) The border radius in pixels for the annotaiton's label.
  1991. */
  1992. borderRadius?: number;
  1993. /**
  1994. * (Highstock) The border width in pixels for the annotation's label
  1995. */
  1996. borderWidth?: number;
  1997. /**
  1998. * (Highstock) A class name for styling by CSS.
  1999. */
  2000. className?: string;
  2001. /**
  2002. * (Highstock) Whether to hide the annotation's label that is outside the
  2003. * plot area.
  2004. */
  2005. crop?: boolean;
  2006. /**
  2007. * (Highstock) The label's pixel distance from the point.
  2008. */
  2009. distance?: number;
  2010. /**
  2011. * (Highstock) A format string for the data label.
  2012. */
  2013. format?: string;
  2014. /**
  2015. * (Highstock) Callback JavaScript function to format the annotation's
  2016. * label. Note that if a `format` or `text` are defined, the format or text
  2017. * take precedence and the formatter is ignored. `This` refers to a point
  2018. * object.
  2019. */
  2020. formatter?: FormatterCallbackFunction<Point>;
  2021. /**
  2022. * (Highstock) Whether the annotation is visible in the exported data table.
  2023. */
  2024. includeInDataExport?: boolean;
  2025. /**
  2026. * (Highstock) How to handle the annotation's label that flow outside the
  2027. * plot area. The justify option aligns the label inside the plot area.
  2028. */
  2029. overflow?: OptionsOverflowValue;
  2030. /**
  2031. * (Highstock) When either the borderWidth or the backgroundColor is set,
  2032. * this is the padding within the box.
  2033. */
  2034. padding?: number;
  2035. /**
  2036. * (Highstock) The shadow of the box. The shadow can be an object
  2037. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  2038. * `width`.
  2039. */
  2040. shadow?: (boolean|ShadowOptionsObject);
  2041. /**
  2042. * (Highstock) The name of a symbol to use for the border around the label.
  2043. * Symbols are predefined functions on the Renderer object.
  2044. */
  2045. shape?: string;
  2046. /**
  2047. * (Highstock) Styles for the annotation's label.
  2048. */
  2049. style?: (AnnotationsFibonacciLabelStyleOptions|CSSObject);
  2050. /**
  2051. * (Highstock) Alias for the format option.
  2052. */
  2053. text?: string;
  2054. /**
  2055. * (Highstock) Whether to use HTML to render the annotation's label.
  2056. */
  2057. useHTML?: boolean;
  2058. /**
  2059. * (Highstock) The vertical alignment of the annotation's label.
  2060. */
  2061. verticalAlign?: string;
  2062. /**
  2063. * (Highstock) The x position offset of the label relative to the point.
  2064. * Note that if a `distance` is defined, the distance takes precedence over
  2065. * `x` and `y` options.
  2066. */
  2067. x?: number;
  2068. /**
  2069. * (Highstock) The y position offset of the label relative to the point.
  2070. * Note that if a `distance` is defined, the distance takes precedence over
  2071. * `x` and `y` options.
  2072. */
  2073. y?: number;
  2074. }
  2075. /**
  2076. * (Highstock) Styles for the annotation's label.
  2077. */
  2078. export interface AnnotationsFibonacciLabelStyleOptions {
  2079. color?: string;
  2080. }
  2081. /**
  2082. * (Highstock) A fibonacci annotation.
  2083. */
  2084. export interface AnnotationsFibonacciOptions {
  2085. controlPointOptions?: AnnotationsFibonacciControlPointOptions;
  2086. /**
  2087. * (Highstock) Options for annotation's labels. Each label inherits options
  2088. * from the labelOptions object. An option from the labelOptions can be
  2089. * overwritten by config for a specific label.
  2090. */
  2091. labelOptions?: AnnotationsFibonacciLabelOptions;
  2092. /**
  2093. * (Highstock) Options for annotation's shapes. Each shape inherits options
  2094. * from the shapeOptions object. An option from the shapeOptions can be
  2095. * overwritten by config for a specific shape.
  2096. */
  2097. shapeOptions?: AnnotationsFibonacciShapeOptions;
  2098. /**
  2099. * (Highstock) Additional options for an annotation with the type.
  2100. */
  2101. typeOptions?: AnnotationsFibonacciTypeOptions;
  2102. }
  2103. /**
  2104. * (Highstock) Options for annotation's shapes. Each shape inherits options from
  2105. * the shapeOptions object. An option from the shapeOptions can be overwritten
  2106. * by config for a specific shape.
  2107. */
  2108. export interface AnnotationsFibonacciShapeOptions {
  2109. /**
  2110. * (Highstock) Name of the dash style to use for the shape's stroke.
  2111. */
  2112. dashStyle?: DashStyleValue;
  2113. /**
  2114. * (Highstock) The color of the shape's fill.
  2115. */
  2116. fill?: (ColorString|GradientColorObject|PatternObject);
  2117. /**
  2118. * (Highstock) The height of the shape.
  2119. */
  2120. height?: number;
  2121. /**
  2122. * (Highstock) The radius of the shape.
  2123. */
  2124. r?: number;
  2125. /**
  2126. * (Highstock) Defines additional snapping area around an annotation making
  2127. * this annotation to focus. Defined in pixels.
  2128. */
  2129. snap?: number;
  2130. /**
  2131. * (Highstock) The URL for an image to use as the annotation shape. Note,
  2132. * type has to be set to `'image'`.
  2133. */
  2134. src?: string;
  2135. /**
  2136. * (Highstock) The color of the shape's stroke.
  2137. */
  2138. stroke?: ColorString;
  2139. /**
  2140. * (Highstock) The pixel stroke width of the shape.
  2141. */
  2142. strokeWidth?: number;
  2143. /**
  2144. * (Highstock) The type of the shape, e.g. circle or rectangle.
  2145. */
  2146. type?: string;
  2147. /**
  2148. * (Highstock) The width of the shape.
  2149. */
  2150. width?: number;
  2151. }
  2152. /**
  2153. * (Highstock) An array with options for the labels.
  2154. */
  2155. export interface AnnotationsFibonacciTypeLabelsOptions {
  2156. /**
  2157. * (Highstock) Accessibility options for an annotation label.
  2158. */
  2159. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  2160. /**
  2161. * (Highstock) The alignment of the annotation's label. If right, the right
  2162. * side of the label should be touching the point.
  2163. */
  2164. align?: AlignValue;
  2165. /**
  2166. * (Highstock) Whether to allow the annotation's labels to overlap. To make
  2167. * the labels less sensitive for overlapping, the can be set to 0.
  2168. */
  2169. allowOverlap?: boolean;
  2170. /**
  2171. * (Highstock) The background color or gradient for the annotation's label.
  2172. */
  2173. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  2174. /**
  2175. * (Highstock) The border color for the annotation's label.
  2176. */
  2177. borderColor?: ColorString;
  2178. /**
  2179. * (Highstock) The border radius in pixels for the annotaiton's label.
  2180. */
  2181. borderRadius?: number;
  2182. /**
  2183. * (Highstock) The border width in pixels for the annotation's label
  2184. */
  2185. borderWidth?: number;
  2186. /**
  2187. * (Highstock) A class name for styling by CSS.
  2188. */
  2189. className?: string;
  2190. /**
  2191. * (Highstock) Whether to hide the annotation's label that is outside the
  2192. * plot area.
  2193. */
  2194. crop?: boolean;
  2195. /**
  2196. * (Highstock) The label's pixel distance from the point.
  2197. */
  2198. distance?: number;
  2199. /**
  2200. * (Highstock) A format string for the data label.
  2201. */
  2202. format?: string;
  2203. /**
  2204. * (Highstock) Callback JavaScript function to format the annotation's
  2205. * label. Note that if a `format` or `text` are defined, the format or text
  2206. * take precedence and the formatter is ignored. `This` refers to a point
  2207. * object.
  2208. */
  2209. formatter?: FormatterCallbackFunction<Point>;
  2210. /**
  2211. * (Highstock) Whether the annotation is visible in the exported data table.
  2212. */
  2213. includeInDataExport?: boolean;
  2214. /**
  2215. * (Highstock) How to handle the annotation's label that flow outside the
  2216. * plot area. The justify option aligns the label inside the plot area.
  2217. */
  2218. overflow?: OptionsOverflowValue;
  2219. /**
  2220. * (Highstock) When either the borderWidth or the backgroundColor is set,
  2221. * this is the padding within the box.
  2222. */
  2223. padding?: number;
  2224. /**
  2225. * (Highstock) The shadow of the box. The shadow can be an object
  2226. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  2227. * `width`.
  2228. */
  2229. shadow?: (boolean|ShadowOptionsObject);
  2230. /**
  2231. * (Highstock) The name of a symbol to use for the border around the label.
  2232. * Symbols are predefined functions on the Renderer object.
  2233. */
  2234. shape?: string;
  2235. /**
  2236. * (Highstock) Styles for the annotation's label.
  2237. */
  2238. style?: CSSObject;
  2239. /**
  2240. * (Highstock) Alias for the format option.
  2241. */
  2242. text?: string;
  2243. /**
  2244. * (Highstock) Whether to use HTML to render the annotation's label.
  2245. */
  2246. useHTML?: boolean;
  2247. /**
  2248. * (Highstock) The vertical alignment of the annotation's label.
  2249. */
  2250. verticalAlign?: VerticalAlignValue;
  2251. /**
  2252. * (Highstock) The x position offset of the label relative to the point.
  2253. * Note that if a `distance` is defined, the distance takes precedence over
  2254. * `x` and `y` options.
  2255. */
  2256. x?: number;
  2257. /**
  2258. * (Highstock) The y position offset of the label relative to the point.
  2259. * Note that if a `distance` is defined, the distance takes precedence over
  2260. * `x` and `y` options.
  2261. */
  2262. y?: number;
  2263. }
  2264. /**
  2265. * (Highstock) Line options.
  2266. */
  2267. export interface AnnotationsFibonacciTypeLineOptions {
  2268. fill?: string;
  2269. }
  2270. /**
  2271. * (Highstock) Additional options for an annotation with the type.
  2272. */
  2273. export interface AnnotationsFibonacciTypeOptions {
  2274. /**
  2275. * (Highstock) An array of background colors: Default to: (see online
  2276. * documentation for example)
  2277. */
  2278. backgroundColors?: object;
  2279. /**
  2280. * (Highstock) The height of the fibonacci in terms of yAxis.
  2281. */
  2282. height?: number;
  2283. /**
  2284. * (Highstock) An array with options for the labels.
  2285. */
  2286. labels?: Array<AnnotationsFibonacciTypeLabelsOptions>;
  2287. /**
  2288. * (Highstock) Line options.
  2289. */
  2290. line?: AnnotationsFibonacciTypeLineOptions;
  2291. /**
  2292. * (Highstock) The color of line.
  2293. */
  2294. lineColor?: string;
  2295. /**
  2296. * (Highstock) An array of colors for the lines.
  2297. */
  2298. lineColors?: object;
  2299. points?: Array<AnnotationsFibonacciTypePointsOptions>;
  2300. /**
  2301. * (Highstock) This number defines which xAxis the point is connected to. It
  2302. * refers to either the axis id or the index of the axis in the xAxis array.
  2303. */
  2304. xAxis?: number;
  2305. /**
  2306. * (Highstock) This number defines which yAxis the point is connected to. It
  2307. * refers to either the axis id or the index of the axis in the xAxis array.
  2308. */
  2309. yAxis?: number;
  2310. }
  2311. export interface AnnotationsFibonacciTypePointsOptions {
  2312. controlPoint?: number;
  2313. /**
  2314. * (Highstock) The x position of the point.
  2315. */
  2316. x?: number;
  2317. /**
  2318. * (Highstock) The y position of the point.
  2319. */
  2320. y?: number;
  2321. }
  2322. export interface AnnotationsInfinityLineControlPointOptions {
  2323. events?: any;
  2324. }
  2325. /**
  2326. * (Highstock) Options for annotation's labels. Each label inherits options from
  2327. * the labelOptions object. An option from the labelOptions can be overwritten
  2328. * by config for a specific label.
  2329. */
  2330. export interface AnnotationsInfinityLineLabelOptions {
  2331. /**
  2332. * (Highstock) Accessibility options for an annotation label.
  2333. */
  2334. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  2335. /**
  2336. * (Highstock) The alignment of the annotation's label. If right, the right
  2337. * side of the label should be touching the point.
  2338. */
  2339. align?: AlignValue;
  2340. /**
  2341. * (Highstock) Whether to allow the annotation's labels to overlap. To make
  2342. * the labels less sensitive for overlapping, the can be set to 0.
  2343. */
  2344. allowOverlap?: boolean;
  2345. /**
  2346. * (Highstock) The background color or gradient for the annotation's label.
  2347. */
  2348. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  2349. /**
  2350. * (Highstock) The border color for the annotation's label.
  2351. */
  2352. borderColor?: ColorString;
  2353. /**
  2354. * (Highstock) The border radius in pixels for the annotaiton's label.
  2355. */
  2356. borderRadius?: number;
  2357. /**
  2358. * (Highstock) The border width in pixels for the annotation's label
  2359. */
  2360. borderWidth?: number;
  2361. /**
  2362. * (Highstock) A class name for styling by CSS.
  2363. */
  2364. className?: string;
  2365. /**
  2366. * (Highstock) Whether to hide the annotation's label that is outside the
  2367. * plot area.
  2368. */
  2369. crop?: boolean;
  2370. /**
  2371. * (Highstock) The label's pixel distance from the point.
  2372. */
  2373. distance?: number;
  2374. /**
  2375. * (Highstock) A format string for the data label.
  2376. */
  2377. format?: string;
  2378. /**
  2379. * (Highstock) Callback JavaScript function to format the annotation's
  2380. * label. Note that if a `format` or `text` are defined, the format or text
  2381. * take precedence and the formatter is ignored. `This` refers to a point
  2382. * object.
  2383. */
  2384. formatter?: FormatterCallbackFunction<Point>;
  2385. /**
  2386. * (Highstock) Whether the annotation is visible in the exported data table.
  2387. */
  2388. includeInDataExport?: boolean;
  2389. /**
  2390. * (Highstock) How to handle the annotation's label that flow outside the
  2391. * plot area. The justify option aligns the label inside the plot area.
  2392. */
  2393. overflow?: OptionsOverflowValue;
  2394. /**
  2395. * (Highstock) When either the borderWidth or the backgroundColor is set,
  2396. * this is the padding within the box.
  2397. */
  2398. padding?: number;
  2399. /**
  2400. * (Highstock) The shadow of the box. The shadow can be an object
  2401. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  2402. * `width`.
  2403. */
  2404. shadow?: (boolean|ShadowOptionsObject);
  2405. /**
  2406. * (Highstock) The name of a symbol to use for the border around the label.
  2407. * Symbols are predefined functions on the Renderer object.
  2408. */
  2409. shape?: string;
  2410. /**
  2411. * (Highstock) Styles for the annotation's label.
  2412. */
  2413. style?: CSSObject;
  2414. /**
  2415. * (Highstock) Alias for the format option.
  2416. */
  2417. text?: string;
  2418. /**
  2419. * (Highstock) Whether to use HTML to render the annotation's label.
  2420. */
  2421. useHTML?: boolean;
  2422. /**
  2423. * (Highstock) The vertical alignment of the annotation's label.
  2424. */
  2425. verticalAlign?: VerticalAlignValue;
  2426. /**
  2427. * (Highstock) The x position offset of the label relative to the point.
  2428. * Note that if a `distance` is defined, the distance takes precedence over
  2429. * `x` and `y` options.
  2430. */
  2431. x?: number;
  2432. /**
  2433. * (Highstock) The y position offset of the label relative to the point.
  2434. * Note that if a `distance` is defined, the distance takes precedence over
  2435. * `x` and `y` options.
  2436. */
  2437. y?: number;
  2438. }
  2439. /**
  2440. * (Highstock) An infinity line annotation.
  2441. */
  2442. export interface AnnotationsInfinityLineOptions {
  2443. controlPointOptions?: AnnotationsInfinityLineControlPointOptions;
  2444. /**
  2445. * (Highstock) Options for annotation's labels. Each label inherits options
  2446. * from the labelOptions object. An option from the labelOptions can be
  2447. * overwritten by config for a specific label.
  2448. */
  2449. labelOptions?: AnnotationsInfinityLineLabelOptions;
  2450. /**
  2451. * (Highstock) Options for annotation's shapes. Each shape inherits options
  2452. * from the shapeOptions object. An option from the shapeOptions can be
  2453. * overwritten by config for a specific shape.
  2454. */
  2455. shapeOptions?: AnnotationsInfinityLineShapeOptions;
  2456. /**
  2457. * (Highstock) Additional options for an annotation with the type.
  2458. */
  2459. typeOptions?: AnnotationsInfinityLineTypeOptions;
  2460. }
  2461. /**
  2462. * (Highstock) Options for annotation's shapes. Each shape inherits options from
  2463. * the shapeOptions object. An option from the shapeOptions can be overwritten
  2464. * by config for a specific shape.
  2465. */
  2466. export interface AnnotationsInfinityLineShapeOptions {
  2467. /**
  2468. * (Highstock) Name of the dash style to use for the shape's stroke.
  2469. */
  2470. dashStyle?: DashStyleValue;
  2471. /**
  2472. * (Highstock) The color of the shape's fill.
  2473. */
  2474. fill?: (ColorString|GradientColorObject|PatternObject);
  2475. /**
  2476. * (Highstock) The height of the shape.
  2477. */
  2478. height?: number;
  2479. /**
  2480. * (Highstock) The radius of the shape.
  2481. */
  2482. r?: number;
  2483. /**
  2484. * (Highstock) Defines additional snapping area around an annotation making
  2485. * this annotation to focus. Defined in pixels.
  2486. */
  2487. snap?: number;
  2488. /**
  2489. * (Highstock) The URL for an image to use as the annotation shape. Note,
  2490. * type has to be set to `'image'`.
  2491. */
  2492. src?: string;
  2493. /**
  2494. * (Highstock) The color of the shape's stroke.
  2495. */
  2496. stroke?: ColorString;
  2497. /**
  2498. * (Highstock) The pixel stroke width of the shape.
  2499. */
  2500. strokeWidth?: number;
  2501. /**
  2502. * (Highstock) The type of the shape, e.g. circle or rectangle.
  2503. */
  2504. type?: string;
  2505. /**
  2506. * (Highstock) The width of the shape.
  2507. */
  2508. width?: number;
  2509. }
  2510. /**
  2511. * (Highstock) Line options.
  2512. */
  2513. export interface AnnotationsInfinityLineTypeLineOptions {
  2514. fill?: string;
  2515. }
  2516. /**
  2517. * (Highstock) Additional options for an annotation with the type.
  2518. */
  2519. export interface AnnotationsInfinityLineTypeOptions {
  2520. /**
  2521. * (Highstock) Line options.
  2522. */
  2523. line?: AnnotationsInfinityLineTypeLineOptions;
  2524. points?: Array<AnnotationsInfinityLineTypePointsOptions>;
  2525. /**
  2526. * (Highstock) This number defines which xAxis the point is connected to. It
  2527. * refers to either the axis id or the index of the axis in the xAxis array.
  2528. */
  2529. xAxis?: number;
  2530. /**
  2531. * (Highstock) This number defines which yAxis the point is connected to. It
  2532. * refers to either the axis id or the index of the axis in the xAxis array.
  2533. */
  2534. yAxis?: number;
  2535. }
  2536. export interface AnnotationsInfinityLineTypePointsOptions {
  2537. controlPoint?: number;
  2538. /**
  2539. * (Highstock) The x position of the point.
  2540. */
  2541. x?: number;
  2542. /**
  2543. * (Highstock) The y position of the point.
  2544. */
  2545. y?: number;
  2546. }
  2547. /**
  2548. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's labels.
  2549. * Each label inherits options from the labelOptions object. An option from the
  2550. * labelOptions can be overwritten by config for a specific label.
  2551. */
  2552. export interface AnnotationsLabelOptions {
  2553. /**
  2554. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
  2555. * annotation label.
  2556. */
  2557. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  2558. /**
  2559. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the
  2560. * annotation's label. If right, the right side of the label should be
  2561. * touching the point.
  2562. */
  2563. align?: AlignValue;
  2564. /**
  2565. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the
  2566. * annotation's labels to overlap. To make the labels less sensitive for
  2567. * overlapping, the can be set to 0.
  2568. */
  2569. allowOverlap?: boolean;
  2570. /**
  2571. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  2572. * for the annotation's label.
  2573. */
  2574. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  2575. /**
  2576. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the
  2577. * annotation's label.
  2578. */
  2579. borderColor?: ColorString;
  2580. /**
  2581. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  2582. * the annotaiton's label.
  2583. */
  2584. borderRadius?: number;
  2585. /**
  2586. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  2587. * the annotation's label
  2588. */
  2589. borderWidth?: number;
  2590. /**
  2591. * (Highcharts, Highstock, Highmaps, Gantt) A class name for styling by CSS.
  2592. */
  2593. className?: string;
  2594. /**
  2595. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide the annotation's
  2596. * label that is outside the plot area.
  2597. */
  2598. crop?: boolean;
  2599. /**
  2600. * (Highcharts, Highstock, Highmaps, Gantt) The label's pixel distance from
  2601. * the point.
  2602. */
  2603. distance?: number;
  2604. /**
  2605. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  2606. * label.
  2607. */
  2608. format?: string;
  2609. /**
  2610. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  2611. * format the annotation's label. Note that if a `format` or `text` are
  2612. * defined, the format or text take precedence and the formatter is ignored.
  2613. * `This` refers to a point object.
  2614. */
  2615. formatter?: FormatterCallbackFunction<Point>;
  2616. /**
  2617. * (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
  2618. * visible in the exported data table.
  2619. */
  2620. includeInDataExport?: boolean;
  2621. /**
  2622. * (Highcharts, Highstock, Highmaps, Gantt) How to handle the annotation's
  2623. * label that flow outside the plot area. The justify option aligns the
  2624. * label inside the plot area.
  2625. */
  2626. overflow?: OptionsOverflowValue;
  2627. /**
  2628. * (Highcharts, Highstock, Highmaps, Gantt) When either the borderWidth or
  2629. * the backgroundColor is set, this is the padding within the box.
  2630. */
  2631. padding?: number;
  2632. /**
  2633. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. The
  2634. * shadow can be an object configuration containing `color`, `offsetX`,
  2635. * `offsetY`, `opacity` and `width`.
  2636. */
  2637. shadow?: (boolean|ShadowOptionsObject);
  2638. /**
  2639. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  2640. * the border around the label. Symbols are predefined functions on the
  2641. * Renderer object.
  2642. */
  2643. shape?: string;
  2644. /**
  2645. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the annotation's
  2646. * label.
  2647. */
  2648. style?: CSSObject;
  2649. /**
  2650. * (Highcharts, Highstock, Highmaps, Gantt) Alias for the format option.
  2651. */
  2652. text?: string;
  2653. /**
  2654. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  2655. * the annotation's label.
  2656. */
  2657. useHTML?: boolean;
  2658. /**
  2659. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  2660. * annotation's label.
  2661. */
  2662. verticalAlign?: VerticalAlignValue;
  2663. /**
  2664. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  2665. * label relative to the point. Note that if a `distance` is defined, the
  2666. * distance takes precedence over `x` and `y` options.
  2667. */
  2668. x?: number;
  2669. /**
  2670. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  2671. * label relative to the point. Note that if a `distance` is defined, the
  2672. * distance takes precedence over `x` and `y` options.
  2673. */
  2674. y?: number;
  2675. }
  2676. /**
  2677. * (Highcharts, Highstock, Highmaps, Gantt) An array of labels for the
  2678. * annotation. For options that apply to multiple labels, they can be added to
  2679. * the labelOptions.
  2680. */
  2681. export interface AnnotationsLabelsOptions {
  2682. /**
  2683. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
  2684. * annotation label.
  2685. */
  2686. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  2687. /**
  2688. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the
  2689. * annotation's label. If right, the right side of the label should be
  2690. * touching the point.
  2691. */
  2692. align?: AlignValue;
  2693. /**
  2694. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the
  2695. * annotation's labels to overlap. To make the labels less sensitive for
  2696. * overlapping, the can be set to 0.
  2697. */
  2698. allowOverlap?: boolean;
  2699. /**
  2700. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  2701. * for the annotation's label.
  2702. */
  2703. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  2704. /**
  2705. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the
  2706. * annotation's label.
  2707. */
  2708. borderColor?: ColorString;
  2709. /**
  2710. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  2711. * the annotaiton's label.
  2712. */
  2713. borderRadius?: number;
  2714. /**
  2715. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  2716. * the annotation's label
  2717. */
  2718. borderWidth?: number;
  2719. /**
  2720. * (Highcharts, Highstock, Highmaps, Gantt) A class name for styling by CSS.
  2721. */
  2722. className?: string;
  2723. /**
  2724. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide the annotation's
  2725. * label that is outside the plot area.
  2726. */
  2727. crop?: boolean;
  2728. /**
  2729. * (Highcharts, Highstock, Highmaps, Gantt) The label's pixel distance from
  2730. * the point.
  2731. */
  2732. distance?: number;
  2733. /**
  2734. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  2735. * label.
  2736. */
  2737. format?: string;
  2738. /**
  2739. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  2740. * format the annotation's label. Note that if a `format` or `text` are
  2741. * defined, the format or text take precedence and the formatter is ignored.
  2742. * `This` refers to a point object.
  2743. */
  2744. formatter?: FormatterCallbackFunction<Point>;
  2745. /**
  2746. * (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
  2747. * visible in the exported data table.
  2748. */
  2749. includeInDataExport?: boolean;
  2750. /**
  2751. * (Highcharts, Highstock, Highmaps, Gantt) How to handle the annotation's
  2752. * label that flow outside the plot area. The justify option aligns the
  2753. * label inside the plot area.
  2754. */
  2755. overflow?: OptionsOverflowValue;
  2756. /**
  2757. * (Highcharts, Highstock, Highmaps, Gantt) When either the borderWidth or
  2758. * the backgroundColor is set, this is the padding within the box.
  2759. */
  2760. padding?: number;
  2761. /**
  2762. * (Highcharts, Highstock, Highmaps, Gantt) This option defines the point to
  2763. * which the label will be connected. It can be either the point which
  2764. * exists in the series - it is referenced by the point's id - or a new
  2765. * point with defined x, y properties and optionally axes.
  2766. */
  2767. point?: (string|AnnotationMockPointOptionsObject);
  2768. /**
  2769. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. The
  2770. * shadow can be an object configuration containing `color`, `offsetX`,
  2771. * `offsetY`, `opacity` and `width`.
  2772. */
  2773. shadow?: (boolean|ShadowOptionsObject);
  2774. /**
  2775. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  2776. * the border around the label. Symbols are predefined functions on the
  2777. * Renderer object.
  2778. */
  2779. shape?: string;
  2780. /**
  2781. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the annotation's
  2782. * label.
  2783. */
  2784. style?: CSSObject;
  2785. /**
  2786. * (Highcharts, Highstock, Highmaps, Gantt) Alias for the format option.
  2787. */
  2788. text?: string;
  2789. /**
  2790. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  2791. * the annotation's label.
  2792. */
  2793. useHTML?: boolean;
  2794. /**
  2795. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  2796. * annotation's label.
  2797. */
  2798. verticalAlign?: VerticalAlignValue;
  2799. /**
  2800. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  2801. * label relative to the point. Note that if a `distance` is defined, the
  2802. * distance takes precedence over `x` and `y` options.
  2803. */
  2804. x?: number;
  2805. /**
  2806. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  2807. * label relative to the point. Note that if a `distance` is defined, the
  2808. * distance takes precedence over `x` and `y` options.
  2809. */
  2810. y?: number;
  2811. }
  2812. export interface AnnotationsMeasureControlPointOptions {
  2813. events?: any;
  2814. }
  2815. /**
  2816. * (Highstock) A measure annotation.
  2817. */
  2818. export interface AnnotationsMeasureOptions {
  2819. controlPointOptions?: AnnotationsMeasureControlPointOptions;
  2820. /**
  2821. * (Highstock) Additional options for an annotation with the type.
  2822. */
  2823. typeOptions?: AnnotationsMeasureTypeOptions;
  2824. }
  2825. export interface AnnotationsMeasureTypeBackgroundOptions {
  2826. /**
  2827. * (Highstock) The color of the rectangle.
  2828. */
  2829. fill?: string;
  2830. /**
  2831. * (Highstock) The color of border.
  2832. */
  2833. stroke?: string;
  2834. /**
  2835. * (Highstock) The width of border.
  2836. */
  2837. strokeWidth?: number;
  2838. }
  2839. /**
  2840. * (Highstock) Configure a crosshair that is horizontally placed in middle of
  2841. * rectangle.
  2842. */
  2843. export interface AnnotationsMeasureTypeCrosshairXOptions {
  2844. /**
  2845. * (Highstock) The dash or dot style of the crosshair's line. For possible
  2846. * values, see this demonstration.
  2847. */
  2848. dashStyle?: DashStyleValue;
  2849. /**
  2850. * (Highstock) Enable or disable the horizontal crosshair.
  2851. */
  2852. enabled?: boolean;
  2853. /**
  2854. * (Highstock) The marker-end defines the arrowhead that will be drawn at
  2855. * the final vertex of the given crosshair's path.
  2856. */
  2857. markerEnd?: string;
  2858. /**
  2859. * (Highstock) The Z index of the crosshair in annotation.
  2860. */
  2861. zIndex?: number;
  2862. }
  2863. /**
  2864. * (Highstock) Configure a crosshair that is vertically placed in middle of
  2865. * rectangle.
  2866. */
  2867. export interface AnnotationsMeasureTypeCrosshairYOptions {
  2868. /**
  2869. * (Highstock) The dash or dot style of the crosshair's line. For possible
  2870. * values, see this demonstration.
  2871. */
  2872. dashStyle?: DashStyleValue;
  2873. /**
  2874. * (Highstock) Enable or disable the vertical crosshair.
  2875. */
  2876. enabled?: boolean;
  2877. /**
  2878. * (Highstock) The marker-end defines the arrowhead that will be drawn at
  2879. * the final vertex of the given crosshair's path.
  2880. */
  2881. markerEnd?: OptionsMarkerEndValue;
  2882. /**
  2883. * (Highstock) The Z index of the crosshair in annotation.
  2884. */
  2885. zIndex?: number;
  2886. }
  2887. export interface AnnotationsMeasureTypeLabelOptions {
  2888. /**
  2889. * (Highstock) Enable or disable the label text (min, max, average, bins
  2890. * values).
  2891. *
  2892. * Defaults to true.
  2893. */
  2894. enabled?: boolean;
  2895. /**
  2896. * (Highstock) Formatter function for the label text.
  2897. *
  2898. * Available data are:
  2899. *
  2900. * (see online documentation for example)
  2901. */
  2902. formatter?: Function;
  2903. /**
  2904. * (Highstock) CSS styles for the measure label.
  2905. */
  2906. style?: (AnnotationsMeasureTypeLabelStyleOptions|CSSObject);
  2907. }
  2908. /**
  2909. * (Highstock) CSS styles for the measure label.
  2910. */
  2911. export interface AnnotationsMeasureTypeLabelStyleOptions {
  2912. color?: string;
  2913. fontSize?: string;
  2914. }
  2915. /**
  2916. * (Highstock) Line options.
  2917. */
  2918. export interface AnnotationsMeasureTypeLineOptions {
  2919. fill?: string;
  2920. }
  2921. /**
  2922. * (Highstock) Additional options for an annotation with the type.
  2923. */
  2924. export interface AnnotationsMeasureTypeOptions {
  2925. background?: AnnotationsMeasureTypeBackgroundOptions;
  2926. /**
  2927. * (Highstock) Configure a crosshair that is horizontally placed in middle
  2928. * of rectangle.
  2929. */
  2930. crosshairX?: AnnotationsMeasureTypeCrosshairXOptions;
  2931. /**
  2932. * (Highstock) Configure a crosshair that is vertically placed in middle of
  2933. * rectangle.
  2934. */
  2935. crosshairY?: AnnotationsMeasureTypeCrosshairYOptions;
  2936. label?: AnnotationsMeasureTypeLabelOptions;
  2937. /**
  2938. * (Highstock) Line options.
  2939. */
  2940. line?: AnnotationsMeasureTypeLineOptions;
  2941. points?: Array<AnnotationsMeasureTypePointsOptions>;
  2942. /**
  2943. * (Highstock) Decides in what dimensions the user can resize by dragging
  2944. * the mouse. Can be one of x, y or xy.
  2945. */
  2946. selectType?: string;
  2947. /**
  2948. * (Highstock) This number defines which xAxis the point is connected to. It
  2949. * refers to either the axis id or the index of the axis in the xAxis array.
  2950. */
  2951. xAxis?: number;
  2952. /**
  2953. * (Highstock) This number defines which yAxis the point is connected to. It
  2954. * refers to either the axis id or the index of the axis in the yAxis array.
  2955. */
  2956. yAxis?: number;
  2957. }
  2958. export interface AnnotationsMeasureTypePointsOptions {
  2959. controlPoint?: number;
  2960. /**
  2961. * (Highstock) The x position of the point.
  2962. */
  2963. x?: number;
  2964. /**
  2965. * (Highstock) The y position of the point.
  2966. */
  2967. y?: number;
  2968. }
  2969. /**
  2970. * (Highcharts, Highstock, Highmaps, Gantt) A basic type of an annotation. It
  2971. * allows to add custom labels or shapes. The items can be tied to points, axis
  2972. * coordinates or chart pixel coordinates.
  2973. */
  2974. export interface AnnotationsOptions {
  2975. /**
  2976. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  2977. * animation when a series is displayed for the `annotation`. The animation
  2978. * can also be set as a configuration object. Please note that this option
  2979. * only applies to the initial animation. For other animations, see
  2980. * chart.animation and the animation parameter under the API methods. The
  2981. * following properties are supported:
  2982. *
  2983. * - `defer`: The animation delay time in milliseconds.
  2984. */
  2985. animation?: (boolean|AnnotationsAnimationOptions|Partial<AnimationOptionsObject>);
  2986. /**
  2987. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's control
  2988. * points. Each control point inherits options from controlPointOptions
  2989. * object. Options from the controlPointOptions can be overwritten by
  2990. * options in a specific control point.
  2991. */
  2992. controlPointOptions?: AnnotationControlPointOptionsObject;
  2993. /**
  2994. * (Highstock) A crooked line annotation.
  2995. */
  2996. crookedLine?: AnnotationsCrookedLineOptions;
  2997. /**
  2998. * (Highcharts, Highstock, Highmaps, Gantt) Allow an annotation to be
  2999. * draggable by a user. Possible values are `'x'`, `'xy'`, `'y'` and `''`
  3000. * (disabled).
  3001. */
  3002. draggable?: AnnotationDraggableValue;
  3003. /**
  3004. * (Highstock) An elliott wave annotation.
  3005. */
  3006. elliottWave?: AnnotationsElliottWaveOptions;
  3007. /**
  3008. * (Highcharts, Highstock, Highmaps, Gantt) Events available in annotations.
  3009. */
  3010. events?: AnnotationsEventsOptions;
  3011. /**
  3012. * (Highstock) A fibonacci annotation.
  3013. */
  3014. fibonacci?: AnnotationsFibonacciOptions;
  3015. /**
  3016. * (Highcharts, Highstock, Highmaps, Gantt) Sets an ID for an annotation.
  3017. * Can be user later when removing an annotation in
  3018. * Chart.removeAnnotation(id) method.
  3019. */
  3020. id?: (number|string);
  3021. /**
  3022. * (Highstock) An infinity line annotation.
  3023. */
  3024. infinityLine?: AnnotationsInfinityLineOptions;
  3025. /**
  3026. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's labels.
  3027. * Each label inherits options from the labelOptions object. An option from
  3028. * the labelOptions can be overwritten by config for a specific label.
  3029. */
  3030. labelOptions?: AnnotationsLabelOptions;
  3031. /**
  3032. * (Highcharts, Highstock, Highmaps, Gantt) An array of labels for the
  3033. * annotation. For options that apply to multiple labels, they can be added
  3034. * to the labelOptions.
  3035. */
  3036. labels?: Array<AnnotationsLabelsOptions>;
  3037. /**
  3038. * (Highstock) A measure annotation.
  3039. */
  3040. measure?: AnnotationsMeasureOptions;
  3041. /**
  3042. * (Highstock) A pitchfork annotation.
  3043. */
  3044. pitchfork?: AnnotationsPitchforkOptions;
  3045. /**
  3046. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's shapes.
  3047. * Each shape inherits options from the shapeOptions object. An option from
  3048. * the shapeOptions can be overwritten by config for a specific shape.
  3049. */
  3050. shapeOptions?: AnnotationsShapeOptions;
  3051. /**
  3052. * (Highcharts, Highstock, Highmaps, Gantt) An array of shapes for the
  3053. * annotation. For options that apply to multiple shapes, then can be added
  3054. * to the shapeOptions.
  3055. */
  3056. shapes?: Array<AnnotationsShapesOptions>;
  3057. /**
  3058. * (Highstock) A tunnel annotation.
  3059. */
  3060. tunnel?: AnnotationsTunnelOptions;
  3061. /**
  3062. * (Highstock) A vertical line annotation.
  3063. */
  3064. verticalLine?: AnnotationsVerticalLineOptions;
  3065. /**
  3066. * (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
  3067. * visible.
  3068. */
  3069. visible?: boolean;
  3070. /**
  3071. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the annotation.
  3072. */
  3073. zIndex?: number;
  3074. }
  3075. export interface AnnotationsPitchforkControlPointOptions {
  3076. events?: any;
  3077. }
  3078. /**
  3079. * (Highstock) Options for annotation's labels. Each label inherits options from
  3080. * the labelOptions object. An option from the labelOptions can be overwritten
  3081. * by config for a specific label.
  3082. */
  3083. export interface AnnotationsPitchforkLabelOptions {
  3084. /**
  3085. * (Highstock) Accessibility options for an annotation label.
  3086. */
  3087. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  3088. /**
  3089. * (Highstock) The alignment of the annotation's label. If right, the right
  3090. * side of the label should be touching the point.
  3091. */
  3092. align?: AlignValue;
  3093. /**
  3094. * (Highstock) Whether to allow the annotation's labels to overlap. To make
  3095. * the labels less sensitive for overlapping, the can be set to 0.
  3096. */
  3097. allowOverlap?: boolean;
  3098. /**
  3099. * (Highstock) The background color or gradient for the annotation's label.
  3100. */
  3101. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  3102. /**
  3103. * (Highstock) The border color for the annotation's label.
  3104. */
  3105. borderColor?: ColorString;
  3106. /**
  3107. * (Highstock) The border radius in pixels for the annotaiton's label.
  3108. */
  3109. borderRadius?: number;
  3110. /**
  3111. * (Highstock) The border width in pixels for the annotation's label
  3112. */
  3113. borderWidth?: number;
  3114. /**
  3115. * (Highstock) A class name for styling by CSS.
  3116. */
  3117. className?: string;
  3118. /**
  3119. * (Highstock) Whether to hide the annotation's label that is outside the
  3120. * plot area.
  3121. */
  3122. crop?: boolean;
  3123. /**
  3124. * (Highstock) The label's pixel distance from the point.
  3125. */
  3126. distance?: number;
  3127. /**
  3128. * (Highstock) A format string for the data label.
  3129. */
  3130. format?: string;
  3131. /**
  3132. * (Highstock) Callback JavaScript function to format the annotation's
  3133. * label. Note that if a `format` or `text` are defined, the format or text
  3134. * take precedence and the formatter is ignored. `This` refers to a point
  3135. * object.
  3136. */
  3137. formatter?: FormatterCallbackFunction<Point>;
  3138. /**
  3139. * (Highstock) Whether the annotation is visible in the exported data table.
  3140. */
  3141. includeInDataExport?: boolean;
  3142. /**
  3143. * (Highstock) How to handle the annotation's label that flow outside the
  3144. * plot area. The justify option aligns the label inside the plot area.
  3145. */
  3146. overflow?: OptionsOverflowValue;
  3147. /**
  3148. * (Highstock) When either the borderWidth or the backgroundColor is set,
  3149. * this is the padding within the box.
  3150. */
  3151. padding?: number;
  3152. /**
  3153. * (Highstock) The shadow of the box. The shadow can be an object
  3154. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  3155. * `width`.
  3156. */
  3157. shadow?: (boolean|ShadowOptionsObject);
  3158. /**
  3159. * (Highstock) The name of a symbol to use for the border around the label.
  3160. * Symbols are predefined functions on the Renderer object.
  3161. */
  3162. shape?: string;
  3163. /**
  3164. * (Highstock) Styles for the annotation's label.
  3165. */
  3166. style?: CSSObject;
  3167. /**
  3168. * (Highstock) Alias for the format option.
  3169. */
  3170. text?: string;
  3171. /**
  3172. * (Highstock) Whether to use HTML to render the annotation's label.
  3173. */
  3174. useHTML?: boolean;
  3175. /**
  3176. * (Highstock) The vertical alignment of the annotation's label.
  3177. */
  3178. verticalAlign?: VerticalAlignValue;
  3179. /**
  3180. * (Highstock) The x position offset of the label relative to the point.
  3181. * Note that if a `distance` is defined, the distance takes precedence over
  3182. * `x` and `y` options.
  3183. */
  3184. x?: number;
  3185. /**
  3186. * (Highstock) The y position offset of the label relative to the point.
  3187. * Note that if a `distance` is defined, the distance takes precedence over
  3188. * `x` and `y` options.
  3189. */
  3190. y?: number;
  3191. }
  3192. /**
  3193. * (Highstock) A pitchfork annotation.
  3194. */
  3195. export interface AnnotationsPitchforkOptions {
  3196. controlPointOptions?: AnnotationsPitchforkControlPointOptions;
  3197. /**
  3198. * (Highstock) Options for annotation's labels. Each label inherits options
  3199. * from the labelOptions object. An option from the labelOptions can be
  3200. * overwritten by config for a specific label.
  3201. */
  3202. labelOptions?: AnnotationsPitchforkLabelOptions;
  3203. /**
  3204. * (Highstock) Options for annotation's shapes. Each shape inherits options
  3205. * from the shapeOptions object. An option from the shapeOptions can be
  3206. * overwritten by config for a specific shape.
  3207. */
  3208. shapeOptions?: AnnotationsPitchforkShapeOptions;
  3209. /**
  3210. * (Highstock) Additional options for an annotation with the type.
  3211. */
  3212. typeOptions?: AnnotationsPitchforkTypeOptions;
  3213. }
  3214. /**
  3215. * (Highstock) Options for annotation's shapes. Each shape inherits options from
  3216. * the shapeOptions object. An option from the shapeOptions can be overwritten
  3217. * by config for a specific shape.
  3218. */
  3219. export interface AnnotationsPitchforkShapeOptions {
  3220. /**
  3221. * (Highstock) Name of the dash style to use for the shape's stroke.
  3222. */
  3223. dashStyle?: DashStyleValue;
  3224. /**
  3225. * (Highstock) The color of the shape's fill.
  3226. */
  3227. fill?: (ColorString|GradientColorObject|PatternObject);
  3228. /**
  3229. * (Highstock) The height of the shape.
  3230. */
  3231. height?: number;
  3232. /**
  3233. * (Highstock) The radius of the shape.
  3234. */
  3235. r?: number;
  3236. /**
  3237. * (Highstock) Defines additional snapping area around an annotation making
  3238. * this annotation to focus. Defined in pixels.
  3239. */
  3240. snap?: number;
  3241. /**
  3242. * (Highstock) The URL for an image to use as the annotation shape. Note,
  3243. * type has to be set to `'image'`.
  3244. */
  3245. src?: string;
  3246. /**
  3247. * (Highstock) The color of the shape's stroke.
  3248. */
  3249. stroke?: ColorString;
  3250. /**
  3251. * (Highstock) The pixel stroke width of the shape.
  3252. */
  3253. strokeWidth?: number;
  3254. /**
  3255. * (Highstock) The type of the shape, e.g. circle or rectangle.
  3256. */
  3257. type?: string;
  3258. /**
  3259. * (Highstock) The width of the shape.
  3260. */
  3261. width?: number;
  3262. }
  3263. /**
  3264. * (Highstock) Inner background options.
  3265. */
  3266. export interface AnnotationsPitchforkTypeInnerBackgroundOptions {
  3267. /**
  3268. * (Highstock) Name of the dash style to use for the shape's stroke.
  3269. */
  3270. dashStyle?: DashStyleValue;
  3271. /**
  3272. * (Highstock) The color of the shape's fill.
  3273. */
  3274. fill?: string;
  3275. /**
  3276. * (Highstock) Defines additional snapping area around an annotation making
  3277. * this annotation to focus. Defined in pixels.
  3278. */
  3279. snap?: number;
  3280. /**
  3281. * (Highstock) The URL for an image to use as the annotation shape. Note,
  3282. * type has to be set to `'image'`.
  3283. */
  3284. src?: string;
  3285. /**
  3286. * (Highstock) The color of the shape's stroke.
  3287. */
  3288. stroke?: ColorString;
  3289. /**
  3290. * (Highstock) The pixel stroke width of the shape.
  3291. */
  3292. strokeWidth?: number;
  3293. }
  3294. /**
  3295. * (Highstock) Line options.
  3296. */
  3297. export interface AnnotationsPitchforkTypeLineOptions {
  3298. fill?: string;
  3299. }
  3300. /**
  3301. * (Highstock) Additional options for an annotation with the type.
  3302. */
  3303. export interface AnnotationsPitchforkTypeOptions {
  3304. /**
  3305. * (Highstock) Inner background options.
  3306. */
  3307. innerBackground?: AnnotationsPitchforkTypeInnerBackgroundOptions;
  3308. /**
  3309. * (Highstock) Line options.
  3310. */
  3311. line?: AnnotationsPitchforkTypeLineOptions;
  3312. /**
  3313. * (Highstock) Outer background options.
  3314. */
  3315. outerBackground?: AnnotationsPitchforkTypeOuterBackgroundOptions;
  3316. points?: Array<AnnotationsPitchforkTypePointsOptions>;
  3317. /**
  3318. * (Highstock) This number defines which xAxis the point is connected to. It
  3319. * refers to either the axis id or the index of the axis in the xAxis array.
  3320. */
  3321. xAxis?: number;
  3322. /**
  3323. * (Highstock) This number defines which yAxis the point is connected to. It
  3324. * refers to either the axis id or the index of the axis in the xAxis array.
  3325. */
  3326. yAxis?: number;
  3327. }
  3328. /**
  3329. * (Highstock) Outer background options.
  3330. */
  3331. export interface AnnotationsPitchforkTypeOuterBackgroundOptions {
  3332. /**
  3333. * (Highstock) Name of the dash style to use for the shape's stroke.
  3334. */
  3335. dashStyle?: DashStyleValue;
  3336. /**
  3337. * (Highstock) The color of the shape's fill.
  3338. */
  3339. fill?: string;
  3340. /**
  3341. * (Highstock) Defines additional snapping area around an annotation making
  3342. * this annotation to focus. Defined in pixels.
  3343. */
  3344. snap?: number;
  3345. /**
  3346. * (Highstock) The URL for an image to use as the annotation shape. Note,
  3347. * type has to be set to `'image'`.
  3348. */
  3349. src?: string;
  3350. /**
  3351. * (Highstock) The color of the shape's stroke.
  3352. */
  3353. stroke?: ColorString;
  3354. /**
  3355. * (Highstock) The pixel stroke width of the shape.
  3356. */
  3357. strokeWidth?: number;
  3358. }
  3359. export interface AnnotationsPitchforkTypePointsOptions {
  3360. controlPoint?: number;
  3361. /**
  3362. * (Highstock) The x position of the point.
  3363. */
  3364. x?: number;
  3365. /**
  3366. * (Highstock) The y position of the point.
  3367. */
  3368. y?: number;
  3369. }
  3370. /**
  3371. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's shapes.
  3372. * Each shape inherits options from the shapeOptions object. An option from the
  3373. * shapeOptions can be overwritten by config for a specific shape.
  3374. */
  3375. export interface AnnotationsShapeOptions {
  3376. /**
  3377. * (Highcharts, Highstock, Highmaps, Gantt) Name of the dash style to use
  3378. * for the shape's stroke.
  3379. */
  3380. dashStyle?: DashStyleValue;
  3381. /**
  3382. * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's fill.
  3383. */
  3384. fill?: (ColorString|GradientColorObject|PatternObject);
  3385. /**
  3386. * (Highcharts, Highstock, Highmaps, Gantt) The height of the shape.
  3387. */
  3388. height?: number;
  3389. /**
  3390. * (Highcharts, Highstock, Highmaps, Gantt) The radius of the shape.
  3391. */
  3392. r?: number;
  3393. /**
  3394. * (Highcharts, Highstock, Highmaps, Gantt) Defines additional snapping area
  3395. * around an annotation making this annotation to focus. Defined in pixels.
  3396. */
  3397. snap?: number;
  3398. /**
  3399. * (Highcharts, Highstock, Highmaps, Gantt) The URL for an image to use as
  3400. * the annotation shape. Note, type has to be set to `'image'`.
  3401. */
  3402. src?: string;
  3403. /**
  3404. * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's stroke.
  3405. */
  3406. stroke?: ColorString;
  3407. /**
  3408. * (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
  3409. * shape.
  3410. */
  3411. strokeWidth?: number;
  3412. /**
  3413. * (Highcharts, Highstock, Highmaps, Gantt) The type of the shape, e.g.
  3414. * circle or rectangle.
  3415. */
  3416. type?: string;
  3417. /**
  3418. * (Highcharts, Highstock, Highmaps, Gantt) The width of the shape.
  3419. */
  3420. width?: number;
  3421. }
  3422. /**
  3423. * (Highcharts, Highstock, Highmaps, Gantt) An array of shapes for the
  3424. * annotation. For options that apply to multiple shapes, then can be added to
  3425. * the shapeOptions.
  3426. */
  3427. export interface AnnotationsShapesOptions {
  3428. /**
  3429. * (Highcharts, Highstock, Highmaps, Gantt) Name of the dash style to use
  3430. * for the shape's stroke.
  3431. */
  3432. dashStyle?: DashStyleValue;
  3433. /**
  3434. * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's fill.
  3435. */
  3436. fill?: (ColorString|GradientColorObject|PatternObject);
  3437. /**
  3438. * (Highcharts, Highstock, Highmaps, Gantt) The height of the shape.
  3439. */
  3440. height?: number;
  3441. /**
  3442. * (Highcharts, Highstock, Highmaps, Gantt) Id of the marker which will be
  3443. * drawn at the final vertex of the path. Custom markers can be defined in
  3444. * defs property.
  3445. */
  3446. markerEnd?: string;
  3447. /**
  3448. * (Highcharts, Highstock, Highmaps, Gantt) Id of the marker which will be
  3449. * drawn at the first vertex of the path. Custom markers can be defined in
  3450. * defs property.
  3451. */
  3452. markerStart?: string;
  3453. /**
  3454. * (Highcharts, Highstock, Highmaps, Gantt) This option defines the point to
  3455. * which the shape will be connected. It can be either the point which
  3456. * exists in the series - it is referenced by the point's id - or a new
  3457. * point with defined x, y properties and optionally axes.
  3458. */
  3459. point?: (string|AnnotationMockPointOptionsObject);
  3460. /**
  3461. * (Highcharts, Highstock, Highmaps, Gantt) An array of points for the
  3462. * shape. This option is available for shapes which can use multiple points
  3463. * such as path. A point can be either a point object or a point's id.
  3464. */
  3465. points?: Array<(string|AnnotationMockPointOptionsObject)>;
  3466. /**
  3467. * (Highcharts, Highstock, Highmaps, Gantt) The radius of the shape.
  3468. */
  3469. r?: number;
  3470. /**
  3471. * (Highcharts, Highstock, Highmaps, Gantt) Defines additional snapping area
  3472. * around an annotation making this annotation to focus. Defined in pixels.
  3473. */
  3474. snap?: number;
  3475. /**
  3476. * (Highcharts, Highstock, Highmaps, Gantt) The URL for an image to use as
  3477. * the annotation shape. Note, type has to be set to `'image'`.
  3478. */
  3479. src?: string;
  3480. /**
  3481. * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's stroke.
  3482. */
  3483. stroke?: ColorString;
  3484. /**
  3485. * (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
  3486. * shape.
  3487. */
  3488. strokeWidth?: number;
  3489. /**
  3490. * (Highcharts, Highstock, Highmaps, Gantt) The type of the shape, e.g.
  3491. * circle or rectangle.
  3492. */
  3493. type?: string;
  3494. /**
  3495. * (Highcharts, Highstock, Highmaps, Gantt) The width of the shape.
  3496. */
  3497. width?: number;
  3498. }
  3499. export interface AnnotationsTunnelControlPointOptions {
  3500. events?: any;
  3501. }
  3502. /**
  3503. * (Highstock) Options for annotation's labels. Each label inherits options from
  3504. * the labelOptions object. An option from the labelOptions can be overwritten
  3505. * by config for a specific label.
  3506. */
  3507. export interface AnnotationsTunnelLabelOptions {
  3508. /**
  3509. * (Highstock) Accessibility options for an annotation label.
  3510. */
  3511. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  3512. /**
  3513. * (Highstock) The alignment of the annotation's label. If right, the right
  3514. * side of the label should be touching the point.
  3515. */
  3516. align?: AlignValue;
  3517. /**
  3518. * (Highstock) Whether to allow the annotation's labels to overlap. To make
  3519. * the labels less sensitive for overlapping, the can be set to 0.
  3520. */
  3521. allowOverlap?: boolean;
  3522. /**
  3523. * (Highstock) The background color or gradient for the annotation's label.
  3524. */
  3525. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  3526. /**
  3527. * (Highstock) The border color for the annotation's label.
  3528. */
  3529. borderColor?: ColorString;
  3530. /**
  3531. * (Highstock) The border radius in pixels for the annotaiton's label.
  3532. */
  3533. borderRadius?: number;
  3534. /**
  3535. * (Highstock) The border width in pixels for the annotation's label
  3536. */
  3537. borderWidth?: number;
  3538. /**
  3539. * (Highstock) A class name for styling by CSS.
  3540. */
  3541. className?: string;
  3542. /**
  3543. * (Highstock) Whether to hide the annotation's label that is outside the
  3544. * plot area.
  3545. */
  3546. crop?: boolean;
  3547. /**
  3548. * (Highstock) The label's pixel distance from the point.
  3549. */
  3550. distance?: number;
  3551. /**
  3552. * (Highstock) A format string for the data label.
  3553. */
  3554. format?: string;
  3555. /**
  3556. * (Highstock) Callback JavaScript function to format the annotation's
  3557. * label. Note that if a `format` or `text` are defined, the format or text
  3558. * take precedence and the formatter is ignored. `This` refers to a point
  3559. * object.
  3560. */
  3561. formatter?: FormatterCallbackFunction<Point>;
  3562. /**
  3563. * (Highstock) Whether the annotation is visible in the exported data table.
  3564. */
  3565. includeInDataExport?: boolean;
  3566. /**
  3567. * (Highstock) How to handle the annotation's label that flow outside the
  3568. * plot area. The justify option aligns the label inside the plot area.
  3569. */
  3570. overflow?: OptionsOverflowValue;
  3571. /**
  3572. * (Highstock) When either the borderWidth or the backgroundColor is set,
  3573. * this is the padding within the box.
  3574. */
  3575. padding?: number;
  3576. /**
  3577. * (Highstock) The shadow of the box. The shadow can be an object
  3578. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  3579. * `width`.
  3580. */
  3581. shadow?: (boolean|ShadowOptionsObject);
  3582. /**
  3583. * (Highstock) The name of a symbol to use for the border around the label.
  3584. * Symbols are predefined functions on the Renderer object.
  3585. */
  3586. shape?: string;
  3587. /**
  3588. * (Highstock) Styles for the annotation's label.
  3589. */
  3590. style?: CSSObject;
  3591. /**
  3592. * (Highstock) Alias for the format option.
  3593. */
  3594. text?: string;
  3595. /**
  3596. * (Highstock) Whether to use HTML to render the annotation's label.
  3597. */
  3598. useHTML?: boolean;
  3599. /**
  3600. * (Highstock) The vertical alignment of the annotation's label.
  3601. */
  3602. verticalAlign?: VerticalAlignValue;
  3603. /**
  3604. * (Highstock) The x position offset of the label relative to the point.
  3605. * Note that if a `distance` is defined, the distance takes precedence over
  3606. * `x` and `y` options.
  3607. */
  3608. x?: number;
  3609. /**
  3610. * (Highstock) The y position offset of the label relative to the point.
  3611. * Note that if a `distance` is defined, the distance takes precedence over
  3612. * `x` and `y` options.
  3613. */
  3614. y?: number;
  3615. }
  3616. /**
  3617. * (Highstock) A tunnel annotation.
  3618. */
  3619. export interface AnnotationsTunnelOptions {
  3620. controlPointOptions?: AnnotationsTunnelControlPointOptions;
  3621. /**
  3622. * (Highstock) Options for annotation's labels. Each label inherits options
  3623. * from the labelOptions object. An option from the labelOptions can be
  3624. * overwritten by config for a specific label.
  3625. */
  3626. labelOptions?: AnnotationsTunnelLabelOptions;
  3627. /**
  3628. * (Highstock) Options for annotation's shapes. Each shape inherits options
  3629. * from the shapeOptions object. An option from the shapeOptions can be
  3630. * overwritten by config for a specific shape.
  3631. */
  3632. shapeOptions?: AnnotationsTunnelShapeOptions;
  3633. /**
  3634. * (Highstock) Additional options for an annotation with the type.
  3635. */
  3636. typeOptions?: AnnotationsTunnelTypeOptions;
  3637. }
  3638. /**
  3639. * (Highstock) Options for annotation's shapes. Each shape inherits options from
  3640. * the shapeOptions object. An option from the shapeOptions can be overwritten
  3641. * by config for a specific shape.
  3642. */
  3643. export interface AnnotationsTunnelShapeOptions {
  3644. /**
  3645. * (Highstock) Name of the dash style to use for the shape's stroke.
  3646. */
  3647. dashStyle?: DashStyleValue;
  3648. /**
  3649. * (Highstock) The color of the shape's fill.
  3650. */
  3651. fill?: (ColorString|GradientColorObject|PatternObject);
  3652. /**
  3653. * (Highstock) The height of the shape.
  3654. */
  3655. height?: number;
  3656. /**
  3657. * (Highstock) The radius of the shape.
  3658. */
  3659. r?: number;
  3660. /**
  3661. * (Highstock) Defines additional snapping area around an annotation making
  3662. * this annotation to focus. Defined in pixels.
  3663. */
  3664. snap?: number;
  3665. /**
  3666. * (Highstock) The URL for an image to use as the annotation shape. Note,
  3667. * type has to be set to `'image'`.
  3668. */
  3669. src?: string;
  3670. /**
  3671. * (Highstock) The color of the shape's stroke.
  3672. */
  3673. stroke?: ColorString;
  3674. /**
  3675. * (Highstock) The pixel stroke width of the shape.
  3676. */
  3677. strokeWidth?: number;
  3678. /**
  3679. * (Highstock) The type of the shape, e.g. circle or rectangle.
  3680. */
  3681. type?: string;
  3682. /**
  3683. * (Highstock) The width of the shape.
  3684. */
  3685. width?: number;
  3686. }
  3687. /**
  3688. * (Highstock) Background options.
  3689. */
  3690. export interface AnnotationsTunnelTypeBackgroundOptions {
  3691. fill?: string;
  3692. strokeWidth?: number;
  3693. }
  3694. /**
  3695. * (Highstock) Options for the control point which controls the annotation's
  3696. * height.
  3697. */
  3698. export interface AnnotationsTunnelTypeHeightControlPointOptions {
  3699. events?: any;
  3700. }
  3701. /**
  3702. * (Highstock) Line options.
  3703. */
  3704. export interface AnnotationsTunnelTypeLineOptions {
  3705. fill?: string;
  3706. strokeWidth?: number;
  3707. }
  3708. /**
  3709. * (Highstock) Additional options for an annotation with the type.
  3710. */
  3711. export interface AnnotationsTunnelTypeOptions {
  3712. /**
  3713. * (Highstock) Background options.
  3714. */
  3715. background?: (object|AnnotationsTunnelTypeBackgroundOptions);
  3716. /**
  3717. * (Highstock) The height of the annotation in terms of yAxis.
  3718. */
  3719. height?: number;
  3720. /**
  3721. * (Highstock) Options for the control point which controls the annotation's
  3722. * height.
  3723. */
  3724. heightControlPoint?: AnnotationsTunnelTypeHeightControlPointOptions;
  3725. /**
  3726. * (Highstock) Line options.
  3727. */
  3728. line?: AnnotationsTunnelTypeLineOptions;
  3729. points?: Array<AnnotationsTunnelTypePointsOptions>;
  3730. /**
  3731. * (Highstock) This number defines which xAxis the point is connected to. It
  3732. * refers to either the axis id or the index of the axis in the xAxis array.
  3733. */
  3734. xAxis?: number;
  3735. /**
  3736. * (Highstock) This number defines which yAxis the point is connected to. It
  3737. * refers to either the axis id or the index of the axis in the xAxis array.
  3738. */
  3739. yAxis?: number;
  3740. }
  3741. export interface AnnotationsTunnelTypePointsOptions {
  3742. controlPoint?: number;
  3743. /**
  3744. * (Highstock) The x position of the point.
  3745. */
  3746. x?: number;
  3747. /**
  3748. * (Highstock) The y position of the point.
  3749. */
  3750. y?: number;
  3751. }
  3752. /**
  3753. * (Highstock) Options for annotation's labels. Each label inherits options from
  3754. * the labelOptions object. An option from the labelOptions can be overwritten
  3755. * by config for a specific label.
  3756. */
  3757. export interface AnnotationsVerticalLineLabelOptions {
  3758. /**
  3759. * (Highstock) Accessibility options for an annotation label.
  3760. */
  3761. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  3762. /**
  3763. * (Highstock) The alignment of the annotation's label. If right, the right
  3764. * side of the label should be touching the point.
  3765. */
  3766. align?: AlignValue;
  3767. /**
  3768. * (Highstock) Whether to allow the annotation's labels to overlap. To make
  3769. * the labels less sensitive for overlapping, the can be set to 0.
  3770. */
  3771. allowOverlap?: boolean;
  3772. /**
  3773. * (Highstock) The background color or gradient for the annotation's label.
  3774. */
  3775. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  3776. /**
  3777. * (Highstock) The border color for the annotation's label.
  3778. */
  3779. borderColor?: ColorString;
  3780. /**
  3781. * (Highstock) The border radius in pixels for the annotaiton's label.
  3782. */
  3783. borderRadius?: number;
  3784. /**
  3785. * (Highstock) The border width in pixels for the annotation's label
  3786. */
  3787. borderWidth?: number;
  3788. /**
  3789. * (Highstock) A class name for styling by CSS.
  3790. */
  3791. className?: string;
  3792. /**
  3793. * (Highstock) Whether to hide the annotation's label that is outside the
  3794. * plot area.
  3795. */
  3796. crop?: boolean;
  3797. /**
  3798. * (Highstock) The label's pixel distance from the point.
  3799. */
  3800. distance?: number;
  3801. /**
  3802. * (Highstock) A format string for the data label.
  3803. */
  3804. format?: string;
  3805. /**
  3806. * (Highstock) Callback JavaScript function to format the annotation's
  3807. * label. Note that if a `format` or `text` are defined, the format or text
  3808. * take precedence and the formatter is ignored. `This` refers to a point
  3809. * object.
  3810. */
  3811. formatter?: FormatterCallbackFunction<Point>;
  3812. /**
  3813. * (Highstock) Whether the annotation is visible in the exported data table.
  3814. */
  3815. includeInDataExport?: boolean;
  3816. /**
  3817. * (Highstock) How to handle the annotation's label that flow outside the
  3818. * plot area. The justify option aligns the label inside the plot area.
  3819. */
  3820. overflow?: OptionsOverflowValue;
  3821. /**
  3822. * (Highstock) When either the borderWidth or the backgroundColor is set,
  3823. * this is the padding within the box.
  3824. */
  3825. padding?: number;
  3826. /**
  3827. * (Highstock) The shadow of the box. The shadow can be an object
  3828. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  3829. * `width`.
  3830. */
  3831. shadow?: (boolean|ShadowOptionsObject);
  3832. /**
  3833. * (Highstock) The name of a symbol to use for the border around the label.
  3834. * Symbols are predefined functions on the Renderer object.
  3835. */
  3836. shape?: string;
  3837. /**
  3838. * (Highstock) Styles for the annotation's label.
  3839. */
  3840. style?: CSSObject;
  3841. /**
  3842. * (Highstock) Alias for the format option.
  3843. */
  3844. text?: string;
  3845. /**
  3846. * (Highstock) Whether to use HTML to render the annotation's label.
  3847. */
  3848. useHTML?: boolean;
  3849. /**
  3850. * (Highstock) The vertical alignment of the annotation's label.
  3851. */
  3852. verticalAlign?: VerticalAlignValue;
  3853. /**
  3854. * (Highstock) The x position offset of the label relative to the point.
  3855. * Note that if a `distance` is defined, the distance takes precedence over
  3856. * `x` and `y` options.
  3857. */
  3858. x?: number;
  3859. /**
  3860. * (Highstock) The y position offset of the label relative to the point.
  3861. * Note that if a `distance` is defined, the distance takes precedence over
  3862. * `x` and `y` options.
  3863. */
  3864. y?: number;
  3865. }
  3866. /**
  3867. * (Highstock) A vertical line annotation.
  3868. */
  3869. export interface AnnotationsVerticalLineOptions {
  3870. /**
  3871. * (Highstock) Options for annotation's labels. Each label inherits options
  3872. * from the labelOptions object. An option from the labelOptions can be
  3873. * overwritten by config for a specific label.
  3874. */
  3875. labelOptions?: AnnotationsVerticalLineLabelOptions;
  3876. /**
  3877. * (Highstock) Options for annotation's shapes. Each shape inherits options
  3878. * from the shapeOptions object. An option from the shapeOptions can be
  3879. * overwritten by config for a specific shape.
  3880. */
  3881. shapeOptions?: AnnotationsVerticalLineShapeOptions;
  3882. /**
  3883. * (Highstock) Additional options for an annotation with the type.
  3884. */
  3885. typeOptions?: AnnotationsVerticalLineTypeOptions;
  3886. }
  3887. /**
  3888. * (Highstock) Options for annotation's shapes. Each shape inherits options from
  3889. * the shapeOptions object. An option from the shapeOptions can be overwritten
  3890. * by config for a specific shape.
  3891. */
  3892. export interface AnnotationsVerticalLineShapeOptions {
  3893. /**
  3894. * (Highstock) Name of the dash style to use for the shape's stroke.
  3895. */
  3896. dashStyle?: DashStyleValue;
  3897. /**
  3898. * (Highstock) The color of the shape's fill.
  3899. */
  3900. fill?: (ColorString|GradientColorObject|PatternObject);
  3901. /**
  3902. * (Highstock) The height of the shape.
  3903. */
  3904. height?: number;
  3905. /**
  3906. * (Highstock) The radius of the shape.
  3907. */
  3908. r?: number;
  3909. /**
  3910. * (Highstock) Defines additional snapping area around an annotation making
  3911. * this annotation to focus. Defined in pixels.
  3912. */
  3913. snap?: number;
  3914. /**
  3915. * (Highstock) The URL for an image to use as the annotation shape. Note,
  3916. * type has to be set to `'image'`.
  3917. */
  3918. src?: string;
  3919. /**
  3920. * (Highstock) The color of the shape's stroke.
  3921. */
  3922. stroke?: ColorString;
  3923. /**
  3924. * (Highstock) The pixel stroke width of the shape.
  3925. */
  3926. strokeWidth?: number;
  3927. /**
  3928. * (Highstock) The type of the shape, e.g. circle or rectangle.
  3929. */
  3930. type?: string;
  3931. /**
  3932. * (Highstock) The width of the shape.
  3933. */
  3934. width?: number;
  3935. }
  3936. /**
  3937. * (Highstock) Connector options.
  3938. */
  3939. export interface AnnotationsVerticalLineTypeConnectorOptions {
  3940. /**
  3941. * (Highstock) Name of the dash style to use for the shape's stroke.
  3942. */
  3943. dashStyle?: DashStyleValue;
  3944. /**
  3945. * (Highstock) The color of the shape's fill.
  3946. */
  3947. fill?: (ColorString|GradientColorObject|PatternObject);
  3948. markerEnd?: string;
  3949. /**
  3950. * (Highstock) Defines additional snapping area around an annotation making
  3951. * this annotation to focus. Defined in pixels.
  3952. */
  3953. snap?: number;
  3954. /**
  3955. * (Highstock) The URL for an image to use as the annotation shape. Note,
  3956. * type has to be set to `'image'`.
  3957. */
  3958. src?: string;
  3959. /**
  3960. * (Highstock) The color of the shape's stroke.
  3961. */
  3962. stroke?: ColorString;
  3963. /**
  3964. * (Highstock) The pixel stroke width of the shape.
  3965. */
  3966. strokeWidth?: number;
  3967. }
  3968. /**
  3969. * (Highstock) Label options.
  3970. */
  3971. export interface AnnotationsVerticalLineTypeLabelOptions {
  3972. /**
  3973. * (Highstock) Accessibility options for an annotation label.
  3974. */
  3975. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  3976. /**
  3977. * (Highstock) The alignment of the annotation's label. If right, the right
  3978. * side of the label should be touching the point.
  3979. */
  3980. align?: AlignValue;
  3981. /**
  3982. * (Highstock) Whether to allow the annotation's labels to overlap. To make
  3983. * the labels less sensitive for overlapping, the can be set to 0.
  3984. */
  3985. allowOverlap?: boolean;
  3986. /**
  3987. * (Highstock) The background color or gradient for the annotation's label.
  3988. */
  3989. backgroundColor?: string;
  3990. /**
  3991. * (Highstock) The border color for the annotation's label.
  3992. */
  3993. borderColor?: ColorString;
  3994. /**
  3995. * (Highstock) The border radius in pixels for the annotaiton's label.
  3996. */
  3997. borderRadius?: number;
  3998. /**
  3999. * (Highstock) The border width in pixels for the annotation's label
  4000. */
  4001. borderWidth?: number;
  4002. /**
  4003. * (Highstock) A class name for styling by CSS.
  4004. */
  4005. className?: string;
  4006. /**
  4007. * (Highstock) Whether to hide the annotation's label that is outside the
  4008. * plot area.
  4009. */
  4010. crop?: boolean;
  4011. /**
  4012. * (Highstock) The label's pixel distance from the point.
  4013. */
  4014. distance?: number;
  4015. /**
  4016. * (Highstock) A format string for the data label.
  4017. */
  4018. format?: string;
  4019. /**
  4020. * (Highstock) Callback JavaScript function to format the annotation's
  4021. * label. Note that if a `format` or `text` are defined, the format or text
  4022. * take precedence and the formatter is ignored. `This` refers to a point
  4023. * object.
  4024. */
  4025. formatter?: FormatterCallbackFunction<Point>;
  4026. /**
  4027. * (Highstock) Whether the annotation is visible in the exported data table.
  4028. */
  4029. includeInDataExport?: boolean;
  4030. offset?: number;
  4031. /**
  4032. * (Highstock) How to handle the annotation's label that flow outside the
  4033. * plot area. The justify option aligns the label inside the plot area.
  4034. */
  4035. overflow?: OptionsOverflowValue;
  4036. /**
  4037. * (Highstock) When either the borderWidth or the backgroundColor is set,
  4038. * this is the padding within the box.
  4039. */
  4040. padding?: number;
  4041. /**
  4042. * (Highstock) The shadow of the box. The shadow can be an object
  4043. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  4044. * `width`.
  4045. */
  4046. shadow?: (boolean|ShadowOptionsObject);
  4047. /**
  4048. * (Highstock) The name of a symbol to use for the border around the label.
  4049. * Symbols are predefined functions on the Renderer object.
  4050. */
  4051. shape?: string;
  4052. /**
  4053. * (Highstock) Styles for the annotation's label.
  4054. */
  4055. style?: CSSObject;
  4056. /**
  4057. * (Highstock) Alias for the format option.
  4058. */
  4059. text?: string;
  4060. /**
  4061. * (Highstock) Whether to use HTML to render the annotation's label.
  4062. */
  4063. useHTML?: boolean;
  4064. /**
  4065. * (Highstock) The vertical alignment of the annotation's label.
  4066. */
  4067. verticalAlign?: VerticalAlignValue;
  4068. /**
  4069. * (Highstock) The x position offset of the label relative to the point.
  4070. * Note that if a `distance` is defined, the distance takes precedence over
  4071. * `x` and `y` options.
  4072. */
  4073. x?: number;
  4074. /**
  4075. * (Highstock) The y position offset of the label relative to the point.
  4076. * Note that if a `distance` is defined, the distance takes precedence over
  4077. * `x` and `y` options.
  4078. */
  4079. y?: number;
  4080. }
  4081. /**
  4082. * (Highstock) Line options.
  4083. */
  4084. export interface AnnotationsVerticalLineTypeLineOptions {
  4085. fill?: string;
  4086. }
  4087. /**
  4088. * (Highstock) Additional options for an annotation with the type.
  4089. */
  4090. export interface AnnotationsVerticalLineTypeOptions {
  4091. /**
  4092. * (Highstock) Connector options.
  4093. */
  4094. connector?: AnnotationsVerticalLineTypeConnectorOptions;
  4095. /**
  4096. * (Highstock) Label options.
  4097. */
  4098. label?: AnnotationsVerticalLineTypeLabelOptions;
  4099. /**
  4100. * (Highstock) Line options.
  4101. */
  4102. line?: AnnotationsVerticalLineTypeLineOptions;
  4103. points?: Array<AnnotationsVerticalLineTypePointsOptions>;
  4104. /**
  4105. * (Highstock) This number defines which xAxis the point is connected to. It
  4106. * refers to either the axis id or the index of the axis in the xAxis array.
  4107. */
  4108. xAxis?: number;
  4109. /**
  4110. * (Highstock) This number defines which yAxis the point is connected to. It
  4111. * refers to either the axis id or the index of the axis in the xAxis array.
  4112. */
  4113. yAxis?: number;
  4114. }
  4115. export interface AnnotationsVerticalLineTypePointsOptions {
  4116. controlPoint?: number;
  4117. /**
  4118. * (Highstock) The x position of the point.
  4119. */
  4120. x?: number;
  4121. /**
  4122. * (Highstock) The y position of the point.
  4123. */
  4124. y?: number;
  4125. }
  4126. /**
  4127. * (Highcharts) Accessibility options for an axis. Requires the accessibility
  4128. * module.
  4129. */
  4130. export interface AxisAccessibilityOptionsObject {
  4131. /**
  4132. * (Highcharts) Description for an axis to expose to screen reader users.
  4133. */
  4134. description?: string;
  4135. /**
  4136. * (Highcharts) Enable axis accessibility features, including axis
  4137. * information in the screen reader information region. If this is disabled
  4138. * on the xAxis, the x values are not exposed to screen readers for the
  4139. * individual data points by default.
  4140. */
  4141. enabled?: boolean;
  4142. /**
  4143. * (Highcharts) Range description for an axis. Overrides the default range
  4144. * description. Set to empty to disable range description for this axis.
  4145. */
  4146. rangeDescription?: string;
  4147. }
  4148. /**
  4149. * (Highstock) A label on the axis next to the crosshair.
  4150. *
  4151. * In styled mode, the label is styled with the `.highcharts-crosshair-label`
  4152. * class.
  4153. */
  4154. export interface AxisCrosshairLabelOptions {
  4155. /**
  4156. * (Highstock) Alignment of the label compared to the axis. Defaults to
  4157. * `"left"` for right-side axes, `"right"` for left-side axes and `"center"`
  4158. * for horizontal axes.
  4159. */
  4160. align?: AlignValue;
  4161. /**
  4162. * (Highstock) The background color for the label. Defaults to the related
  4163. * series color, or `#666666` if that is not available.
  4164. */
  4165. backgroundColor?: ColorType;
  4166. /**
  4167. * (Highstock) The border color for the crosshair label
  4168. */
  4169. borderColor?: ColorType;
  4170. /**
  4171. * (Highstock) The border corner radius of the crosshair label.
  4172. */
  4173. borderRadius?: number;
  4174. /**
  4175. * (Highstock) The border width for the crosshair label.
  4176. */
  4177. borderWidth?: number;
  4178. /**
  4179. * (Highstock) Flag to enable crosshair's label.
  4180. */
  4181. enabled?: boolean;
  4182. /**
  4183. * (Highstock) A format string for the crosshair label. Defaults to
  4184. * `{value}` for numeric axes and `{value:%b %d, %Y}` for datetime axes.
  4185. */
  4186. format?: string;
  4187. /**
  4188. * (Highstock) Formatter function for the label text.
  4189. */
  4190. formatter?: XAxisCrosshairLabelFormatterCallbackFunction;
  4191. /**
  4192. * (Highstock) Padding inside the crosshair label.
  4193. */
  4194. padding?: number;
  4195. /**
  4196. * (Highstock) The shape to use for the label box.
  4197. */
  4198. shape?: string;
  4199. /**
  4200. * (Highstock) Text styles for the crosshair label.
  4201. */
  4202. style?: CSSObject;
  4203. }
  4204. /**
  4205. * (Highcharts, Highstock, Highmaps, Gantt) Configure a crosshair that follows
  4206. * either the mouse pointer or the hovered point.
  4207. *
  4208. * In styled mode, the crosshairs are styled in the `.highcharts-crosshair`,
  4209. * `.highcharts-crosshair-thin` or `.highcharts-xaxis-category` classes.
  4210. */
  4211. export interface AxisCrosshairOptions {
  4212. /**
  4213. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the crosshair,
  4214. * especially as a hook for styling.
  4215. */
  4216. className?: string;
  4217. /**
  4218. * (Highcharts, Highstock, Highmaps, Gantt) The color of the crosshair.
  4219. * Defaults to `#cccccc` for numeric and datetime axes, and
  4220. * `rgba(204,214,235,0.25)` for category axes, where the crosshair by
  4221. * default highlights the whole category.
  4222. */
  4223. color?: ColorType;
  4224. /**
  4225. * (Highcharts, Highstock, Highmaps, Gantt) The dash style for the
  4226. * crosshair. See plotOptions.series.dashStyle for possible values.
  4227. */
  4228. dashStyle?: DashStyleValue;
  4229. /**
  4230. * (Highstock) A label on the axis next to the crosshair.
  4231. *
  4232. * In styled mode, the label is styled with the
  4233. * `.highcharts-crosshair-label` class.
  4234. */
  4235. label?: AxisCrosshairLabelOptions;
  4236. /**
  4237. * (Highcharts, Highstock, Highmaps, Gantt) Whether the crosshair should
  4238. * snap to the point or follow the pointer independent of points.
  4239. */
  4240. snap?: boolean;
  4241. /**
  4242. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the
  4243. * crosshair. Defaults to 1 for numeric or datetime axes, and for one
  4244. * category width for category axes.
  4245. */
  4246. width?: number;
  4247. /**
  4248. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the crosshair.
  4249. * Higher Z indices allow drawing the crosshair on top of the series or
  4250. * behind the grid lines.
  4251. */
  4252. zIndex?: number;
  4253. }
  4254. /**
  4255. * (Gantt) Show an indicator on the axis for the current date and time. Can be a
  4256. * boolean or a configuration object similar to xAxis.plotLines.
  4257. */
  4258. export interface AxisCurrentDateIndicatorOptions {
  4259. /**
  4260. * (Highstock) Flag to decide if plotLine should be rendered across all
  4261. * panes.
  4262. */
  4263. acrossPanes?: boolean;
  4264. /**
  4265. * (Gantt) A custom class name, in addition to the default
  4266. * `highcharts-plot-line`, to apply to each individual line.
  4267. */
  4268. className?: string;
  4269. /**
  4270. * (Gantt) The color of the line.
  4271. */
  4272. color?: ColorString;
  4273. /**
  4274. * (Gantt) The dashing or dot style for the plot line. For possible values
  4275. * see this overview.
  4276. */
  4277. dashStyle?: DashStyleValue;
  4278. /**
  4279. * (Gantt) An object defining mouse events for the plot line. Supported
  4280. * properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  4281. */
  4282. events?: (ColorAxisCurrentDateIndicatorEventsOptions|NavigatorXAxisCurrentDateIndicatorEventsOptions|XAxisCurrentDateIndicatorEventsOptions|ZAxisCurrentDateIndicatorEventsOptions);
  4283. /**
  4284. * (Gantt) An id used for identifying the plot line in Axis.removePlotLine.
  4285. */
  4286. id?: string;
  4287. /**
  4288. * (Gantt) Text labels for the plot bands
  4289. */
  4290. label?: (ColorAxisCurrentDateIndicatorLabelOptions|NavigatorXAxisCurrentDateIndicatorLabelOptions|XAxisCurrentDateIndicatorLabelOptions|ZAxisCurrentDateIndicatorLabelOptions);
  4291. /**
  4292. * (Gantt) The width or thickness of the plot line.
  4293. */
  4294. width?: number;
  4295. /**
  4296. * (Gantt) The z index of the plot line within the chart.
  4297. */
  4298. zIndex?: number;
  4299. }
  4300. /**
  4301. * (Gantt) For a datetime axis, the scale will automatically adjust to the
  4302. * appropriate unit. This member gives the default string representations used
  4303. * for each unit. For intermediate values, different units may be used, for
  4304. * example the `day` unit can be used on midnight and `hour` unit be used for
  4305. * intermediate values on the same axis. For grid axes (like in Gantt charts),
  4306. * it is possible to declare as a list to provide different formats depending on
  4307. * available space. For an overview of the replacement codes, see dateFormat.
  4308. *
  4309. * Defaults to: (see online documentation for example)
  4310. */
  4311. export interface AxisDateTimeLabelFormatsOptions {
  4312. day?: (string|AxisDateTimeLabelFormatsOptionsObject);
  4313. hour?: (string|AxisDateTimeLabelFormatsOptionsObject);
  4314. millisecond?: (string|AxisDateTimeLabelFormatsOptionsObject);
  4315. minute?: (string|AxisDateTimeLabelFormatsOptionsObject);
  4316. month?: (string|AxisDateTimeLabelFormatsOptionsObject);
  4317. second?: (string|AxisDateTimeLabelFormatsOptionsObject);
  4318. week?: (string|AxisDateTimeLabelFormatsOptionsObject);
  4319. year?: (string|AxisDateTimeLabelFormatsOptionsObject);
  4320. }
  4321. export interface AxisDateTimeLabelFormatsOptionsObject {
  4322. main?: string;
  4323. range?: boolean;
  4324. }
  4325. export interface AxisLabelsFormatterContextObject<T> {
  4326. axis: Axis;
  4327. chart: Chart;
  4328. isFirst: boolean;
  4329. isLast: boolean;
  4330. pos: number;
  4331. value: T;
  4332. }
  4333. /**
  4334. * Options for the path on the Axis to be calculated.
  4335. */
  4336. export interface AxisPlotLinePathOptionsObject {
  4337. /**
  4338. * Used in Highstock. When `true`, plot paths (crosshair, plotLines,
  4339. * gridLines) will be rendered on all axes when defined on the first axis.
  4340. */
  4341. acrossPanes?: boolean;
  4342. /**
  4343. * If `false`, the function will return null when it falls outside the axis
  4344. * bounds. If `true`, the function will return a path aligned to the plot
  4345. * area sides if it falls outside. If `pass`, it will return a path outside.
  4346. */
  4347. force?: (boolean|string);
  4348. /**
  4349. * Line width used for calculation crisp line coordinates. Defaults to 1.
  4350. */
  4351. lineWidth?: number;
  4352. /**
  4353. * Use old coordinates (for resizing and rescaling). If not set, defaults to
  4354. * `false`.
  4355. */
  4356. old?: boolean;
  4357. /**
  4358. * Used in Polar axes. Reverse the positions for concatenation of polygonal
  4359. * plot bands
  4360. */
  4361. reverse?: boolean;
  4362. /**
  4363. * If given, return the plot line path of a pixel position on the axis.
  4364. */
  4365. translatedValue?: number;
  4366. /**
  4367. * Axis value.
  4368. */
  4369. value?: number;
  4370. }
  4371. export interface AxisPointBreakEventObject {
  4372. brk: Dictionary<number>;
  4373. point: Point;
  4374. preventDefault: Function;
  4375. target: SVGElement;
  4376. type: ("pointBreak"|"pointInBreak");
  4377. }
  4378. export interface AxisSetExtremesEventObject extends ExtremesObject {
  4379. preventDefault: Function;
  4380. target: SVGElement;
  4381. trigger: (string|AxisExtremesTriggerValue);
  4382. type: "setExtremes";
  4383. }
  4384. /**
  4385. * Time ticks.
  4386. */
  4387. export interface AxisTickPositionsArray extends Array<number> {
  4388. info?: TimeTicksInfoObject;
  4389. }
  4390. /**
  4391. * Bounding box of an element.
  4392. */
  4393. export interface BBoxObject extends PositionObject {
  4394. /**
  4395. * Height of the bounding box.
  4396. */
  4397. height: number;
  4398. /**
  4399. * Width of the bounding box.
  4400. */
  4401. width: number;
  4402. /**
  4403. * Horizontal position of the bounding box.
  4404. */
  4405. x: number;
  4406. /**
  4407. * Vertical position of the bounding box.
  4408. */
  4409. y: number;
  4410. }
  4411. /**
  4412. * (Highcharts, Highstock, Highmaps, Gantt) Debugging options for boost. Useful
  4413. * for benchmarking, and general timing.
  4414. */
  4415. export interface BoostDebugOptions {
  4416. /**
  4417. * (Highcharts, Highstock, Highmaps, Gantt) Show the number of points
  4418. * skipped through culling.
  4419. *
  4420. * When set to true, the number of points skipped in series processing is
  4421. * outputted. Points are skipped if they are closer than 1 pixel from each
  4422. * other.
  4423. */
  4424. showSkipSummary?: boolean;
  4425. /**
  4426. * (Highcharts, Highstock, Highmaps, Gantt) Time the WebGL to SVG buffer
  4427. * copy
  4428. *
  4429. * After rendering, the result is copied to an image which is injected into
  4430. * the SVG.
  4431. *
  4432. * If this property is set to true, the time it takes for the buffer copy to
  4433. * complete is outputted.
  4434. */
  4435. timeBufferCopy?: boolean;
  4436. /**
  4437. * (Highcharts, Highstock, Highmaps, Gantt) Time the building of the k-d
  4438. * tree.
  4439. *
  4440. * This outputs the time spent building the k-d tree used for markers etc.
  4441. *
  4442. * Note that the k-d tree is built async, and runs post-rendering.
  4443. * Following, it does not affect the performance of the rendering itself.
  4444. */
  4445. timeKDTree?: boolean;
  4446. /**
  4447. * (Highcharts, Highstock, Highmaps, Gantt) Time the series rendering.
  4448. *
  4449. * This outputs the time spent on actual rendering in the console when set
  4450. * to true.
  4451. */
  4452. timeRendering?: boolean;
  4453. /**
  4454. * (Highcharts, Highstock, Highmaps, Gantt) Time the series processing.
  4455. *
  4456. * This outputs the time spent on transforming the series data to vertex
  4457. * buffers when set to true.
  4458. */
  4459. timeSeriesProcessing?: boolean;
  4460. /**
  4461. * (Highcharts, Highstock, Highmaps, Gantt) Time the the WebGL setup.
  4462. *
  4463. * This outputs the time spent on setting up the WebGL context, creating
  4464. * shaders, and textures.
  4465. */
  4466. timeSetup?: boolean;
  4467. }
  4468. export interface BoostOptions {
  4469. /**
  4470. * (Highcharts, Highstock, Highmaps, Gantt) If set to true, the whole chart
  4471. * will be boosted if one of the series crosses its threshold, and all the
  4472. * series can be boosted.
  4473. */
  4474. allowForce?: boolean;
  4475. /**
  4476. * (Highcharts, Highstock, Highmaps, Gantt) Debugging options for boost.
  4477. * Useful for benchmarking, and general timing.
  4478. */
  4479. debug?: BoostDebugOptions;
  4480. /**
  4481. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable boost on a
  4482. * chart.
  4483. */
  4484. enabled?: boolean;
  4485. /**
  4486. * (Highcharts, Highstock, Highmaps, Gantt) Set the series threshold for
  4487. * when the boost should kick in globally.
  4488. *
  4489. * Setting to e.g. 20 will cause the whole chart to enter boost mode if
  4490. * there are 20 or more series active. When the chart is in boost mode,
  4491. * every series in it will be rendered to a common canvas. This offers a
  4492. * significant speed improvment in charts with a very high amount of series.
  4493. */
  4494. seriesThreshold?: (number|null);
  4495. /**
  4496. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable GPU
  4497. * translations. GPU translations are faster than doing the translation in
  4498. * JavaScript.
  4499. *
  4500. * This option may cause rendering issues with certain datasets. Namely, if
  4501. * your dataset has large numbers with small increments (such as
  4502. * timestamps), it won't work correctly. This is due to floating point
  4503. * precission.
  4504. */
  4505. useGPUTranslations?: boolean;
  4506. /**
  4507. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable pre-allocation
  4508. * of vertex buffers.
  4509. *
  4510. * Enabling this will make it so that the binary data arrays required for
  4511. * storing the series data will be allocated prior to transforming the data
  4512. * to a WebGL-compatible format.
  4513. *
  4514. * This saves a copy operation on the order of O(n) and so is significantly
  4515. * more performant. However, this is currently an experimental option, and
  4516. * may cause visual artifacts with some datasets.
  4517. *
  4518. * As such, care should be taken when using this setting to make sure that
  4519. * it doesn't cause any rendering glitches with the given use-case.
  4520. */
  4521. usePreallocated?: boolean;
  4522. }
  4523. export interface BubbleLegendFormatterContextObject {
  4524. /**
  4525. * The center y position of the range.
  4526. */
  4527. center: number;
  4528. /**
  4529. * The radius of the bubble range.
  4530. */
  4531. radius: number;
  4532. /**
  4533. * The bubble value.
  4534. */
  4535. value: number;
  4536. }
  4537. /**
  4538. * The chart caption. The caption has an `update` method that allows modifying
  4539. * the options directly or indirectly via `chart.update`.
  4540. */
  4541. export interface CaptionObject extends SVGElement {
  4542. /**
  4543. * Modify options for the caption.
  4544. *
  4545. * @param captionOptions
  4546. * Options to modify.
  4547. *
  4548. * @param redraw
  4549. * Whether to redraw the chart after the caption is altered. If doing
  4550. * more operations on the chart, it is a good idea to set redraw to
  4551. * false and call Chart#redraw after.
  4552. */
  4553. update(captionOptions: CaptionOptions, redraw?: boolean): void;
  4554. }
  4555. /**
  4556. * (Highcharts, Highstock, Highmaps, Gantt) The chart's caption, which will
  4557. * render below the chart and will be part of exported charts. The caption can
  4558. * be updated after chart initialization through the `Chart.update` or
  4559. * `Chart.caption.update` methods.
  4560. */
  4561. export interface CaptionOptions {
  4562. /**
  4563. * (Highcharts, Highstock, Highmaps, Gantt) The horizontal alignment of the
  4564. * caption. Can be one of "left", "center" and "right".
  4565. */
  4566. align?: AlignValue;
  4567. /**
  4568. * (Highcharts, Highstock, Highmaps, Gantt) When the caption is floating,
  4569. * the plot area will not move to make space for it.
  4570. */
  4571. floating?: boolean;
  4572. /**
  4573. * (Highcharts, Highstock, Highmaps, Gantt) The margin between the caption
  4574. * and the plot area.
  4575. */
  4576. margin?: number;
  4577. /**
  4578. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the caption.
  4579. *
  4580. * In styled mode, the caption style is given in the `.highcharts-caption`
  4581. * class.
  4582. */
  4583. style?: CSSObject;
  4584. /**
  4585. * (Highcharts, Highstock, Highmaps, Gantt) The caption text of the chart.
  4586. */
  4587. text?: string;
  4588. /**
  4589. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  4590. * the text.
  4591. */
  4592. useHTML?: boolean;
  4593. /**
  4594. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  4595. * caption. Can be one of `"top"`, `"middle"` and `"bottom"`. When middle,
  4596. * the caption behaves as floating.
  4597. */
  4598. verticalAlign?: VerticalAlignValue;
  4599. /**
  4600. * (Highcharts, Highstock, Highmaps, Gantt) The x position of the caption
  4601. * relative to the alignment within `chart.spacingLeft` and
  4602. * `chart.spacingRight`.
  4603. */
  4604. x?: number;
  4605. /**
  4606. * (Highcharts, Highstock, Highmaps, Gantt) The y position of the caption
  4607. * relative to the alignment within `chart.spacingTop` and
  4608. * `chart.spacingBottom`.
  4609. */
  4610. y?: number;
  4611. }
  4612. /**
  4613. * (Highcharts) The back side of the frame around a 3D chart.
  4614. */
  4615. export interface Chart3dFrameBackOptions {
  4616. /**
  4617. * (Highcharts) The color of the panel.
  4618. */
  4619. color?: (ColorString|GradientColorObject|PatternObject);
  4620. /**
  4621. * (Highcharts) The thickness of the panel.
  4622. */
  4623. size?: number;
  4624. /**
  4625. * (Highcharts) Whether to display the frame. Possible values are `true`,
  4626. * `false`, `"auto"` to display only the frames behind the data, and
  4627. * `"default"` to display faces behind the data based on the axis layout,
  4628. * ignoring the point of view.
  4629. */
  4630. visible?: ("auto"|"default"|boolean);
  4631. }
  4632. /**
  4633. * (Highcharts) The bottom of the frame around a 3D chart.
  4634. */
  4635. export interface Chart3dFrameBottomOptions {
  4636. /**
  4637. * (Highcharts) The color of the panel.
  4638. */
  4639. color?: (ColorString|GradientColorObject|PatternObject);
  4640. /**
  4641. * (Highcharts) The thickness of the panel.
  4642. */
  4643. size?: number;
  4644. /**
  4645. * (Highcharts) Whether to display the frame. Possible values are `true`,
  4646. * `false`, `"auto"` to display only the frames behind the data, and
  4647. * `"default"` to display faces behind the data based on the axis layout,
  4648. * ignoring the point of view.
  4649. */
  4650. visible?: ("auto"|"default"|boolean);
  4651. }
  4652. /**
  4653. * (Highcharts) The front of the frame around a 3D chart.
  4654. */
  4655. export interface Chart3dFrameFrontOptions {
  4656. /**
  4657. * (Highcharts) The color of the panel.
  4658. */
  4659. color?: (ColorString|GradientColorObject|PatternObject);
  4660. /**
  4661. * (Highcharts) The thickness of the panel.
  4662. */
  4663. size?: number;
  4664. /**
  4665. * (Highcharts) Whether to display the frame. Possible values are `true`,
  4666. * `false`, `"auto"` to display only the frames behind the data, and
  4667. * `"default"` to display faces behind the data based on the axis layout,
  4668. * ignoring the point of view.
  4669. */
  4670. visible?: ("auto"|"default"|boolean);
  4671. }
  4672. /**
  4673. * (Highcharts) The left side of the frame around a 3D chart.
  4674. */
  4675. export interface Chart3dFrameLeftOptions {
  4676. /**
  4677. * (Highcharts) The color of the panel.
  4678. */
  4679. color?: (ColorString|GradientColorObject|PatternObject);
  4680. /**
  4681. * (Highcharts) The thickness of the panel.
  4682. */
  4683. size?: number;
  4684. /**
  4685. * (Highcharts) Whether to display the frame. Possible values are `true`,
  4686. * `false`, `"auto"` to display only the frames behind the data, and
  4687. * `"default"` to display faces behind the data based on the axis layout,
  4688. * ignoring the point of view.
  4689. */
  4690. visible?: ("auto"|"default"|boolean);
  4691. }
  4692. /**
  4693. * (Highcharts) Provides the option to draw a frame around the charts by
  4694. * defining a bottom, front and back panel.
  4695. */
  4696. export interface Chart3dFrameOptions {
  4697. /**
  4698. * (Highcharts) The back side of the frame around a 3D chart.
  4699. */
  4700. back?: Chart3dFrameBackOptions;
  4701. /**
  4702. * (Highcharts) The bottom of the frame around a 3D chart.
  4703. */
  4704. bottom?: Chart3dFrameBottomOptions;
  4705. /**
  4706. * (Highcharts) The front of the frame around a 3D chart.
  4707. */
  4708. front?: Chart3dFrameFrontOptions;
  4709. /**
  4710. * (Highcharts) The left side of the frame around a 3D chart.
  4711. */
  4712. left?: Chart3dFrameLeftOptions;
  4713. /**
  4714. * (Highcharts) The right of the frame around a 3D chart.
  4715. */
  4716. right?: Chart3dFrameRightOptions;
  4717. /**
  4718. * (Highcharts) General pixel thickness for the frame faces.
  4719. */
  4720. size?: number;
  4721. /**
  4722. * (Highcharts) The top of the frame around a 3D chart.
  4723. */
  4724. top?: Chart3dFrameTopOptions;
  4725. /**
  4726. * (Highcharts) Whether the frames are visible.
  4727. */
  4728. visible?: string;
  4729. }
  4730. /**
  4731. * (Highcharts) The right of the frame around a 3D chart.
  4732. */
  4733. export interface Chart3dFrameRightOptions {
  4734. /**
  4735. * (Highcharts) The color of the panel.
  4736. */
  4737. color?: (ColorString|GradientColorObject|PatternObject);
  4738. /**
  4739. * (Highcharts) The thickness of the panel.
  4740. */
  4741. size?: number;
  4742. /**
  4743. * (Highcharts) Whether to display the frame. Possible values are `true`,
  4744. * `false`, `"auto"` to display only the frames behind the data, and
  4745. * `"default"` to display faces behind the data based on the axis layout,
  4746. * ignoring the point of view.
  4747. */
  4748. visible?: ("auto"|"default"|boolean);
  4749. }
  4750. /**
  4751. * (Highcharts) The top of the frame around a 3D chart.
  4752. */
  4753. export interface Chart3dFrameTopOptions {
  4754. /**
  4755. * (Highcharts) The color of the panel.
  4756. */
  4757. color?: (ColorString|GradientColorObject|PatternObject);
  4758. /**
  4759. * (Highcharts) The thickness of the panel.
  4760. */
  4761. size?: number;
  4762. /**
  4763. * (Highcharts) Whether to display the frame. Possible values are `true`,
  4764. * `false`, `"auto"` to display only the frames behind the data, and
  4765. * `"default"` to display faces behind the data based on the axis layout,
  4766. * ignoring the point of view.
  4767. */
  4768. visible?: ("auto"|"default"|boolean);
  4769. }
  4770. /**
  4771. * (Highcharts) Options to render charts in 3 dimensions. This feature requires
  4772. * `highcharts-3d.js`, found in the download package or online at
  4773. * code.highcharts.com/highcharts-3d.js.
  4774. */
  4775. export interface Chart3dOptions {
  4776. /**
  4777. * (Highcharts) One of the two rotation angles for the chart.
  4778. */
  4779. alpha?: number;
  4780. /**
  4781. * (Highcharts) Set it to `"auto"` to automatically move the labels to the
  4782. * best edge.
  4783. */
  4784. axisLabelPosition?: ("auto"|null);
  4785. /**
  4786. * (Highcharts) One of the two rotation angles for the chart.
  4787. */
  4788. beta?: number;
  4789. /**
  4790. * (Highcharts) The total depth of the chart.
  4791. */
  4792. depth?: number;
  4793. /**
  4794. * (Highcharts) Wether to render the chart using the 3D functionality.
  4795. */
  4796. enabled?: boolean;
  4797. /**
  4798. * (Highcharts) Whether the 3d box should automatically adjust to the chart
  4799. * plot area.
  4800. */
  4801. fitToPlot?: boolean;
  4802. /**
  4803. * (Highcharts) Provides the option to draw a frame around the charts by
  4804. * defining a bottom, front and back panel.
  4805. */
  4806. frame?: Chart3dFrameOptions;
  4807. /**
  4808. * (Highcharts) Defines the distance the viewer is standing in front of the
  4809. * chart, this setting is important to calculate the perspective effect in
  4810. * column and scatter charts. It is not used for 3D pie charts.
  4811. */
  4812. viewDistance?: number;
  4813. }
  4814. /**
  4815. * Contains common event information. Through the `options` property you can
  4816. * access the series options that were passed to the `addSeries` method.
  4817. */
  4818. export interface ChartAddSeriesEventObject {
  4819. /**
  4820. * The series options that were passed to the `addSeries` method.
  4821. */
  4822. options: SeriesOptionsType;
  4823. /**
  4824. * Prevents the default behaviour of the event.
  4825. */
  4826. preventDefault: Function;
  4827. /**
  4828. * The event target.
  4829. */
  4830. target: Chart;
  4831. /**
  4832. * The event type.
  4833. */
  4834. type: "addSeries";
  4835. }
  4836. /**
  4837. * Contains an axes of the clicked spot.
  4838. */
  4839. export interface ChartClickEventAxisObject {
  4840. /**
  4841. * Axis at the clicked spot.
  4842. */
  4843. axis: Axis;
  4844. /**
  4845. * Axis value at the clicked spot.
  4846. */
  4847. value: number;
  4848. }
  4849. /**
  4850. * Contains information about the clicked spot on the chart. Remember the unit
  4851. * of a datetime axis is milliseconds since 1970-01-01 00:00:00.
  4852. */
  4853. export interface ChartClickEventObject extends PointerEventObject {
  4854. /**
  4855. * Information about the x-axis on the clicked spot.
  4856. */
  4857. xAxis: Array<ChartClickEventAxisObject>;
  4858. /**
  4859. * Information about the y-axis on the clicked spot.
  4860. */
  4861. yAxis: Array<ChartClickEventAxisObject>;
  4862. /**
  4863. * Information about the z-axis on the clicked spot.
  4864. */
  4865. zAxis?: Array<ChartClickEventAxisObject>;
  4866. }
  4867. /**
  4868. * (Highcharts, Highstock, Highmaps, Gantt) Event listeners for the chart.
  4869. */
  4870. export interface ChartEventsOptions {
  4871. /**
  4872. * (Highcharts, Highstock, Highmaps, Gantt) Fires when a series is added to
  4873. * the chart after load time, using the `addSeries` method. One parameter,
  4874. * `event`, is passed to the function, containing common event information.
  4875. * Through `event.options` you can access the series options that were
  4876. * passed to the `addSeries` method. Returning false prevents the series
  4877. * from being added.
  4878. */
  4879. addSeries?: ChartAddSeriesCallbackFunction;
  4880. /**
  4881. * (Highcharts, Highstock, Highmaps, Gantt) Fires after a chart is printed
  4882. * through the context menu item or the `Chart.print` method.
  4883. */
  4884. afterPrint?: ExportingAfterPrintCallbackFunction;
  4885. /**
  4886. * (Highcharts, Highstock, Highmaps, Gantt) Fires before a chart is printed
  4887. * through the context menu item or the `Chart.print` method.
  4888. */
  4889. beforePrint?: ExportingBeforePrintCallbackFunction;
  4890. /**
  4891. * (Highcharts, Highstock, Highmaps, Gantt) Fires when clicking on the plot
  4892. * background. One parameter, `event`, is passed to the function, containing
  4893. * common event information.
  4894. *
  4895. * Information on the clicked spot can be found through `event.xAxis` and
  4896. * `event.yAxis`, which are arrays containing the axes of each dimension and
  4897. * each axis' value at the clicked spot. The primary axes are
  4898. * `event.xAxis[0]` and `event.yAxis[0]`. Remember the unit of a datetime
  4899. * axis is milliseconds since 1970-01-01 00:00:00. (see online documentation
  4900. * for example)
  4901. */
  4902. click?: ChartClickCallbackFunction;
  4903. /**
  4904. * (Highcharts, Highmaps) Fires when a drilldown point is clicked, before
  4905. * the new series is added. This event is also utilized for async drilldown,
  4906. * where the seriesOptions are not added by option, but rather loaded async.
  4907. * Note that when clicking a category label to trigger multiple series
  4908. * drilldown, one `drilldown` event is triggered per point in the category.
  4909. *
  4910. * Event arguments:
  4911. *
  4912. * - `category`: If a category label was clicked, which index.
  4913. *
  4914. * - `originalEvent`: The original browser event (usually click) that
  4915. * triggered the drilldown.
  4916. *
  4917. * - `point`: The originating point.
  4918. *
  4919. * - `points`: If a category label was clicked, this array holds all points
  4920. * corresponding to the category.
  4921. *
  4922. * - `seriesOptions`: Options for the new series.
  4923. */
  4924. drilldown?: DrilldownCallbackFunction;
  4925. /**
  4926. * (Highcharts, Highmaps) Fires when drilling up from a drilldown series.
  4927. */
  4928. drillup?: DrillupCallbackFunction;
  4929. /**
  4930. * (Highcharts, Highmaps) In a chart with multiple drilldown series, this
  4931. * event fires after all the series have been drilled up.
  4932. */
  4933. drillupall?: DrillupAllCallbackFunction;
  4934. /**
  4935. * (Highcharts, Highstock, Highmaps, Gantt) Callback that fires while
  4936. * exporting data. This allows the modification of data rows before
  4937. * processed into the final format.
  4938. */
  4939. exportData?: ExportDataCallbackFunction;
  4940. /**
  4941. * (Highcharts, Highstock, Highmaps, Gantt) Fires when the chart is finished
  4942. * loading. Since v4.2.2, it also waits for images to be loaded, for example
  4943. * from point markers. One parameter, `event`, is passed to the function,
  4944. * containing common event information.
  4945. *
  4946. * There is also a second parameter to the chart constructor where a
  4947. * callback function can be passed to be executed on chart.load.
  4948. */
  4949. load?: ChartLoadCallbackFunction;
  4950. /**
  4951. * (Highcharts, Highstock, Highmaps, Gantt) Fires when the chart is redrawn,
  4952. * either after a call to `chart.redraw()` or after an axis, series or point
  4953. * is modified with the `redraw` option set to `true`. One parameter,
  4954. * `event`, is passed to the function, containing common event information.
  4955. */
  4956. redraw?: ChartRedrawCallbackFunction;
  4957. /**
  4958. * (Highcharts, Highstock, Highmaps, Gantt) Fires after initial load of the
  4959. * chart (directly after the `load` event), and after each redraw (directly
  4960. * after the `redraw` event).
  4961. */
  4962. render?: ChartRenderCallbackFunction;
  4963. /**
  4964. * (Highcharts, Highstock, Highmaps, Gantt) Fires when an area of the chart
  4965. * has been selected. Selection is enabled by setting the chart's zoomType.
  4966. * One parameter, `event`, is passed to the function, containing common
  4967. * event information. The default action for the selection event is to zoom
  4968. * the chart to the selected area. It can be prevented by calling
  4969. * `event.preventDefault()` or return false.
  4970. *
  4971. * Information on the selected area can be found through `event.xAxis` and
  4972. * `event.yAxis`, which are arrays containing the axes of each dimension and
  4973. * each axis' min and max values. The primary axes are `event.xAxis[0]` and
  4974. * `event.yAxis[0]`. Remember the unit of a datetime axis is milliseconds
  4975. * since 1970-01-01 00:00:00. (see online documentation for example)
  4976. */
  4977. selection?: ChartSelectionCallbackFunction;
  4978. }
  4979. /**
  4980. * (Highcharts, Highstock, Highmaps, Gantt) General options for the chart.
  4981. */
  4982. export interface ChartOptions {
  4983. /**
  4984. * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
  4985. * or more opposite axes will automatically be aligned by adding ticks to
  4986. * the axis or axes with the least ticks, as if `tickAmount` were specified.
  4987. *
  4988. * This can be prevented by setting `alignTicks` to false. If the grid lines
  4989. * look messy, it's a good idea to hide them for the secondary axis by
  4990. * setting `gridLineWidth` to 0.
  4991. *
  4992. * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
  4993. * the `alignTicks ` will be disabled for the Axis.
  4994. *
  4995. * Disabled for logarithmic axes.
  4996. */
  4997. alignTicks?: boolean;
  4998. /**
  4999. * (Highcharts, Highstock, Highmaps, Gantt) Set the overall animation for
  5000. * all chart updating. Animation can be disabled throughout the chart by
  5001. * setting it to false here. It can be overridden for each individual API
  5002. * method as a function parameter. The only animation not affected by this
  5003. * option is the initial series animation, see plotOptions.series.animation.
  5004. *
  5005. * The animation can either be set as a boolean or a configuration object.
  5006. * If `true`, it will use the 'swing' jQuery easing and a duration of 500
  5007. * ms. If used as a configuration object, the following properties are
  5008. * supported:
  5009. *
  5010. * - `defer`: The animation delay time in milliseconds.
  5011. *
  5012. * - `duration`: The duration of the animation in milliseconds.
  5013. *
  5014. * - `easing`: A string reference to an easing function set on the `Math`
  5015. * object. See the easing demo.
  5016. *
  5017. * When zooming on a series with less than 100 points, the chart redraw will
  5018. * be done with animation, but in case of more data points, it is necessary
  5019. * to set this option to ensure animation on zoom.
  5020. */
  5021. animation?: (boolean|Partial<AnimationOptionsObject>);
  5022. /**
  5023. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  5024. * for the outer chart area.
  5025. */
  5026. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  5027. /**
  5028. * (Highcharts, Highstock, Highmaps, Gantt) The color of the outer chart
  5029. * border.
  5030. */
  5031. borderColor?: (ColorString|GradientColorObject|PatternObject);
  5032. /**
  5033. * (Highcharts, Highstock, Highmaps, Gantt) The corner radius of the outer
  5034. * chart border.
  5035. */
  5036. borderRadius?: number;
  5037. /**
  5038. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the outer
  5039. * chart border.
  5040. */
  5041. borderWidth?: number;
  5042. /**
  5043. * (Highcharts, Highstock, Highmaps, Gantt) A CSS class name to apply to the
  5044. * charts container `div`, allowing unique CSS styling for each chart.
  5045. */
  5046. className?: string;
  5047. /**
  5048. * (Highcharts, Highstock, Highmaps, Gantt) In styled mode, this sets how
  5049. * many colors the class names should rotate between. With ten colors,
  5050. * series (or points) are given class names like `highcharts-color-0`,
  5051. * `highcharts-color-0` [...] `highcharts-color-9`. The equivalent in
  5052. * non-styled mode is to set colors using the colors setting.
  5053. */
  5054. colorCount?: number;
  5055. /**
  5056. * (Highcharts, Highstock, Highmaps, Gantt) Whether to display errors on the
  5057. * chart. When `false`, the errors will be shown only in the console.
  5058. */
  5059. displayErrors?: boolean;
  5060. /**
  5061. * (Highcharts, Highstock, Highmaps, Gantt) Event listeners for the chart.
  5062. */
  5063. events?: ChartEventsOptions;
  5064. /**
  5065. * (Highcharts, Highstock, Highmaps, Gantt) An explicit height for the
  5066. * chart. If a _number_, the height is given in pixels. If given a
  5067. * _percentage string_ (for example `'56%'`), the height is given as the
  5068. * percentage of the actual chart width. This allows for preserving the
  5069. * aspect ratio across responsive sizes.
  5070. *
  5071. * By default (when `null`) the height is calculated from the offset height
  5072. * of the containing element, or 400 pixels if the containing element's
  5073. * height is 0.
  5074. */
  5075. height?: (number|string|null);
  5076. /**
  5077. * (Highcharts, Highstock, Gantt) If true, the axes will scale to the
  5078. * remaining visible series once one series is hidden. If false, hiding and
  5079. * showing a series will not affect the axes or the other series. For
  5080. * stacks, once one series within the stack is hidden, the rest of the stack
  5081. * will close in around it even if the axis is not affected.
  5082. */
  5083. ignoreHiddenSeries?: boolean;
  5084. /**
  5085. * (Highcharts, Highstock, Gantt) Whether to invert the axes so that the x
  5086. * axis is vertical and y axis is horizontal. When `true`, the x axis is
  5087. * reversed by default.
  5088. */
  5089. inverted?: boolean;
  5090. /**
  5091. * (Highmaps) Default `mapData` for all series. If set to a string, it
  5092. * functions as an index into the `Highcharts.maps` array. Otherwise it is
  5093. * interpreted as map data.
  5094. */
  5095. map?: (string|GeoJSON|Array<any>);
  5096. /**
  5097. * (Highmaps) Set lat/lon transformation definitions for the chart. If not
  5098. * defined, these are extracted from the map data.
  5099. */
  5100. mapTransforms?: any;
  5101. /**
  5102. * (Highcharts, Highstock, Highmaps, Gantt) The margin between the outer
  5103. * edge of the chart and the plot area. The numbers in the array designate
  5104. * top, right, bottom and left respectively. Use the options `marginTop`,
  5105. * `marginRight`, `marginBottom` and `marginLeft` for shorthand setting of
  5106. * one option.
  5107. *
  5108. * By default there is no margin. The actual space is dynamically calculated
  5109. * from the offset of axis labels, axis title, title, subtitle and legend in
  5110. * addition to the `spacingTop`, `spacingRight`, `spacingBottom` and
  5111. * `spacingLeft` options.
  5112. */
  5113. margin?: (number|Array<number>);
  5114. /**
  5115. * (Highcharts, Highstock, Highmaps, Gantt) The margin between the bottom
  5116. * outer edge of the chart and the plot area. Use this to set a fixed pixel
  5117. * value for the margin as opposed to the default dynamic margin. See also
  5118. * `spacingBottom`.
  5119. */
  5120. marginBottom?: number;
  5121. /**
  5122. * (Highcharts, Highstock, Highmaps, Gantt) The margin between the left
  5123. * outer edge of the chart and the plot area. Use this to set a fixed pixel
  5124. * value for the margin as opposed to the default dynamic margin. See also
  5125. * `spacingLeft`.
  5126. */
  5127. marginLeft?: number;
  5128. /**
  5129. * (Highcharts, Highstock, Highmaps, Gantt) The margin between the right
  5130. * outer edge of the chart and the plot area. Use this to set a fixed pixel
  5131. * value for the margin as opposed to the default dynamic margin. See also
  5132. * `spacingRight`.
  5133. */
  5134. marginRight?: number;
  5135. /**
  5136. * (Highcharts, Highstock, Highmaps, Gantt) The margin between the top outer
  5137. * edge of the chart and the plot area. Use this to set a fixed pixel value
  5138. * for the margin as opposed to the default dynamic margin. See also
  5139. * `spacingTop`.
  5140. */
  5141. marginTop?: number;
  5142. /**
  5143. * (Highcharts, Highstock, Highmaps, Gantt) Callback function to override
  5144. * the default function that formats all the numbers in the chart. Returns a
  5145. * string with the formatted number.
  5146. */
  5147. numberFormatter?: NumberFormatterCallbackFunction;
  5148. /**
  5149. * (Highcharts) Options to render charts in 3 dimensions. This feature
  5150. * requires `highcharts-3d.js`, found in the download package or online at
  5151. * code.highcharts.com/highcharts-3d.js.
  5152. */
  5153. options3d?: Chart3dOptions;
  5154. /**
  5155. * (Highcharts, Gantt) Allows setting a key to switch between zooming and
  5156. * panning. Can be one of `alt`, `ctrl`, `meta` (the command key on Mac and
  5157. * Windows key on Windows) or `shift`. The keys are mapped directly to the
  5158. * key properties of the click event argument (`event.altKey`,
  5159. * `event.ctrlKey`, `event.metaKey` and `event.shiftKey`).
  5160. */
  5161. panKey?: OptionsPanKeyValue;
  5162. /**
  5163. * (Highcharts, Highstock, Gantt) Allow panning in a chart. Best used with
  5164. * panKey to combine zooming and panning.
  5165. *
  5166. * On touch devices, when the tooltip.followTouchMove option is `true`
  5167. * (default), panning requires two fingers. To allow panning with one
  5168. * finger, set `followTouchMove` to `false`.
  5169. */
  5170. panning?: ChartPanningOptions;
  5171. /**
  5172. * (Highcharts) Common options for all yAxes rendered in a parallel
  5173. * coordinates plot. This feature requires
  5174. * `modules/parallel-coordinates.js`.
  5175. *
  5176. * The default options are: (see online documentation for example)
  5177. */
  5178. parallelAxes?: (ChartParallelAxesOptions|Array<ChartParallelAxesOptions>);
  5179. /**
  5180. * (Highcharts) Flag to render charts as a parallel coordinates plot. In a
  5181. * parallel coordinates plot (||-coords) by default all required yAxes are
  5182. * generated and the legend is disabled. This feature requires
  5183. * `modules/parallel-coordinates.js`.
  5184. */
  5185. parallelCoordinates?: boolean;
  5186. /**
  5187. * (Highcharts, Highstock, Gantt) Equivalent to zoomType, but for multitouch
  5188. * gestures only. By default, the `pinchType` is the same as the `zoomType`
  5189. * setting. However, pinching can be enabled separately in some cases, for
  5190. * example in stock charts where a mouse drag pans the chart, while pinching
  5191. * is enabled. When tooltip.followTouchMove is true, pinchType only applies
  5192. * to two-finger touches.
  5193. */
  5194. pinchType?: OptionsPinchTypeValue;
  5195. /**
  5196. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  5197. * for the plot area.
  5198. */
  5199. plotBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  5200. /**
  5201. * (Highcharts, Highstock, Highmaps, Gantt) The URL for an image to use as
  5202. * the plot background. To set an image as the background for the entire
  5203. * chart, set a CSS background image to the container element. Note that for
  5204. * the image to be applied to exported charts, its URL needs to be
  5205. * accessible by the export server.
  5206. */
  5207. plotBackgroundImage?: string;
  5208. /**
  5209. * (Highcharts, Highstock, Highmaps, Gantt) The color of the inner chart or
  5210. * plot area border.
  5211. */
  5212. plotBorderColor?: (ColorString|GradientColorObject|PatternObject);
  5213. /**
  5214. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the plot area
  5215. * border.
  5216. */
  5217. plotBorderWidth?: number;
  5218. /**
  5219. * (Highcharts, Highstock, Highmaps, Gantt) Whether to apply a drop shadow
  5220. * to the plot area. Requires that plotBackgroundColor be set. The shadow
  5221. * can be an object configuration containing `color`, `offsetX`, `offsetY`,
  5222. * `opacity` and `width`.
  5223. */
  5224. plotShadow?: (boolean|CSSObject);
  5225. /**
  5226. * (Highcharts) When true, cartesian charts like line, spline, area and
  5227. * column are transformed into the polar coordinate system. This produces
  5228. * _polar charts_, also known as _radar charts_.
  5229. */
  5230. polar?: boolean;
  5231. /**
  5232. * (Highmaps) Allows to manually load the proj4 library from Highcharts
  5233. * options instead of the `window`. In case of loading the library from a
  5234. * `script` tag, this option is not needed, it will be loaded from there by
  5235. * default.
  5236. */
  5237. proj4?: Function;
  5238. /**
  5239. * (Highcharts, Highstock, Highmaps, Gantt) Whether to reflow the chart to
  5240. * fit the width of the container div on resizing the window.
  5241. */
  5242. reflow?: boolean;
  5243. /**
  5244. * (Highcharts, Highstock, Highmaps, Gantt) The HTML element where the chart
  5245. * will be rendered. If it is a string, the element by that id is used. The
  5246. * HTML element can also be passed by direct reference, or as the first
  5247. * argument of the chart constructor, in which case the option is not
  5248. * needed.
  5249. */
  5250. renderTo?: (string|HTMLDOMElement);
  5251. /**
  5252. * (Highcharts, Highstock, Highmaps, Gantt) The button that appears after a
  5253. * selection zoom, allowing the user to reset zoom.
  5254. */
  5255. resetZoomButton?: ChartResetZoomButtonOptions;
  5256. /**
  5257. * (Highcharts, Gantt) Options for a scrollable plot area. This feature
  5258. * provides a minimum size for the plot area of the chart. If the size gets
  5259. * smaller than this, typically on mobile devices, a native browser
  5260. * scrollbar is presented. This scrollbar provides smooth scrolling for the
  5261. * contents of the plot area, whereas the title, legend and unaffected axes
  5262. * are fixed.
  5263. *
  5264. * Since v7.1.2, a scrollable plot area can be defined for either horizontal
  5265. * or vertical scrolling, depending on whether the `minWidth` or `minHeight`
  5266. * option is set.
  5267. */
  5268. scrollablePlotArea?: ChartScrollablePlotAreaOptions;
  5269. /**
  5270. * (Highcharts, Highstock, Highmaps, Gantt) The background color of the
  5271. * marker square when selecting (zooming in on) an area of the chart.
  5272. */
  5273. selectionMarkerFill?: (ColorString|GradientColorObject|PatternObject);
  5274. /**
  5275. * (Highcharts, Highstock, Highmaps, Gantt) Whether to apply a drop shadow
  5276. * to the outer chart area. Requires that backgroundColor be set. The shadow
  5277. * can be an object configuration containing `color`, `offsetX`, `offsetY`,
  5278. * `opacity` and `width`.
  5279. */
  5280. shadow?: (boolean|CSSObject);
  5281. /**
  5282. * (Highcharts, Gantt) Whether to show the axes initially. This only applies
  5283. * to empty charts where series are added dynamically, as axes are
  5284. * automatically added to cartesian series.
  5285. */
  5286. showAxes?: boolean;
  5287. /**
  5288. * (Highcharts, Highstock, Highmaps, Gantt) The distance between the outer
  5289. * edge of the chart and the content, like title or legend, or axis title
  5290. * and labels if present. The numbers in the array designate top, right,
  5291. * bottom and left respectively. Use the options spacingTop, spacingRight,
  5292. * spacingBottom and spacingLeft options for shorthand setting of one
  5293. * option.
  5294. */
  5295. spacing?: Array<number>;
  5296. /**
  5297. * (Highcharts, Highstock, Highmaps, Gantt) The space between the bottom
  5298. * edge of the chart and the content (plot area, axis title and labels,
  5299. * title, subtitle or legend in top position).
  5300. */
  5301. spacingBottom?: number;
  5302. /**
  5303. * (Highcharts, Highstock, Highmaps, Gantt) The space between the left edge
  5304. * of the chart and the content (plot area, axis title and labels, title,
  5305. * subtitle or legend in top position).
  5306. */
  5307. spacingLeft?: number;
  5308. /**
  5309. * (Highcharts, Highstock, Highmaps, Gantt) The space between the right edge
  5310. * of the chart and the content (plot area, axis title and labels, title,
  5311. * subtitle or legend in top position).
  5312. */
  5313. spacingRight?: number;
  5314. /**
  5315. * (Highcharts, Highstock, Highmaps, Gantt) The space between the top edge
  5316. * of the chart and the content (plot area, axis title and labels, title,
  5317. * subtitle or legend in top position).
  5318. */
  5319. spacingTop?: number;
  5320. /**
  5321. * (Highcharts, Highstock, Highmaps, Gantt) Additional CSS styles to apply
  5322. * inline to the container `div`. Note that since the default font styles
  5323. * are applied in the renderer, it is ignorant of the individual chart
  5324. * options and must be set globally.
  5325. */
  5326. style?: CSSObject;
  5327. /**
  5328. * (Highcharts, Highstock, Highmaps, Gantt) Whether to apply styled mode.
  5329. * When in styled mode, no presentational attributes or CSS are applied to
  5330. * the chart SVG. Instead, CSS rules are required to style the chart. The
  5331. * default style sheet is available from
  5332. * `https://code.highcharts.com/css/highcharts.css`.
  5333. */
  5334. styledMode?: boolean;
  5335. /**
  5336. * (Highcharts, Highstock, Highmaps, Gantt) The default series type for the
  5337. * chart. Can be any of the chart types listed under plotOptions and series
  5338. * or can be a series provided by an additional module.
  5339. *
  5340. * In TypeScript this option has no effect in sense of typing and instead
  5341. * the `type` option must always be set in the series.
  5342. */
  5343. type?: string;
  5344. /**
  5345. * (Highcharts, Highstock, Highmaps, Gantt) An explicit width for the chart.
  5346. * By default (when `null`) the width is calculated from the offset width of
  5347. * the containing element.
  5348. */
  5349. width?: (number|string|null);
  5350. /**
  5351. * (Highcharts, Highstock, Highmaps, Gantt) Set a key to hold when dragging
  5352. * to zoom the chart. This is useful to avoid zooming while moving points.
  5353. * Should be set different than chart.panKey.
  5354. */
  5355. zoomKey?: OptionsZoomKeyValue;
  5356. /**
  5357. * (Highcharts, Highstock, Gantt) Decides in what dimensions the user can
  5358. * zoom by dragging the mouse. Can be one of `x`, `y` or `xy`.
  5359. */
  5360. zoomType?: OptionsZoomTypeValue;
  5361. }
  5362. /**
  5363. * (Highcharts, Highstock, Gantt) Allow panning in a chart. Best used with
  5364. * panKey to combine zooming and panning.
  5365. *
  5366. * On touch devices, when the tooltip.followTouchMove option is `true`
  5367. * (default), panning requires two fingers. To allow panning with one finger,
  5368. * set `followTouchMove` to `false`.
  5369. */
  5370. export interface ChartPanningOptions {
  5371. /**
  5372. * (Highcharts, Highstock, Gantt) Enable or disable chart panning.
  5373. */
  5374. enabled?: boolean;
  5375. /**
  5376. * (Highcharts, Highstock, Gantt) Decides in what dimensions the user can
  5377. * pan the chart. Can be one of `x`, `y`, or `xy`.
  5378. */
  5379. type?: OptionsTypeValue;
  5380. }
  5381. /**
  5382. * (Highcharts) Event handlers for the axis.
  5383. */
  5384. export interface ChartParallelAxesEventsOptions {
  5385. /**
  5386. * (Highcharts, Gantt) An event fired after the breaks have rendered.
  5387. */
  5388. afterBreaks?: AxisEventCallbackFunction;
  5389. /**
  5390. * (Highcharts) As opposed to the `setExtremes` event, this event fires
  5391. * after the final min and max values are computed and corrected for
  5392. * `minRange`.
  5393. *
  5394. * Fires when the minimum and maximum is set for the axis, either by calling
  5395. * the `.setExtremes()` method or by selecting an area in the chart. One
  5396. * parameter, `event`, is passed to the function, containing common event
  5397. * information.
  5398. *
  5399. * The new user set minimum and maximum values can be found by `event.min`
  5400. * and `event.max`. These reflect the axis minimum and maximum in axis
  5401. * values. The actual data extremes are found in `event.dataMin` and
  5402. * `event.dataMax`.
  5403. */
  5404. afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
  5405. /**
  5406. * (Highcharts, Gantt) An event fired when a break from this axis occurs on
  5407. * a point.
  5408. */
  5409. pointBreak?: AxisPointBreakEventCallbackFunction;
  5410. /**
  5411. * (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
  5412. * break from this axis.
  5413. */
  5414. pointInBreak?: AxisPointBreakEventCallbackFunction;
  5415. /**
  5416. * (Highcharts) Fires when the minimum and maximum is set for the axis,
  5417. * either by calling the `.setExtremes()` method or by selecting an area in
  5418. * the chart. One parameter, `event`, is passed to the function, containing
  5419. * common event information.
  5420. *
  5421. * The new user set minimum and maximum values can be found by `event.min`
  5422. * and `event.max`. These reflect the axis minimum and maximum in data
  5423. * values. When an axis is zoomed all the way out from the "Reset zoom"
  5424. * button, `event.min` and `event.max` are null, and the new extremes are
  5425. * set based on `this.dataMin` and `this.dataMax`.
  5426. */
  5427. setExtremes?: AxisSetExtremesEventCallbackFunction;
  5428. }
  5429. /**
  5430. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  5431. */
  5432. export interface ChartParallelAxesGridOptions {
  5433. /**
  5434. * (Gantt) Set border color for the label grid lines.
  5435. */
  5436. borderColor?: ColorString;
  5437. /**
  5438. * (Gantt) Set border width of the label grid lines.
  5439. */
  5440. borderWidth?: number;
  5441. /**
  5442. * (Gantt) Set cell height for grid axis labels. By default this is
  5443. * calculated from font size. This option only applies to horizontal axes.
  5444. */
  5445. cellHeight?: number;
  5446. /**
  5447. * (Gantt) Set specific options for each column (or row for horizontal axes)
  5448. * in the grid. Each extra column/row is its own axis, and the axis options
  5449. * can be set here.
  5450. */
  5451. columns?: Array<XAxisOptions>;
  5452. /**
  5453. * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
  5454. * charts.
  5455. */
  5456. enabled?: boolean;
  5457. }
  5458. /**
  5459. * (Gantt) Set options on specific levels in a tree grid axis. Takes precedence
  5460. * over labels options.
  5461. */
  5462. export interface ChartParallelAxesLabelsLevelsOptions {
  5463. /**
  5464. * (Gantt) Specify the level which the options within this object applies
  5465. * to.
  5466. */
  5467. level?: number;
  5468. style?: CSSObject;
  5469. }
  5470. /**
  5471. * (Highcharts) The axis labels show the number or category for each tick.
  5472. *
  5473. * Since v8.0.0: Labels are animated in categorized x-axis with updating data if
  5474. * `tickInterval` and `step` is set to 1.
  5475. */
  5476. export interface ChartParallelAxesLabelsOptions {
  5477. /**
  5478. * (Highcharts) What part of the string the given position is anchored to.
  5479. * Can be one of `"left"`, `"center"` or `"right"`. The exact position also
  5480. * depends on the `labels.x` setting.
  5481. *
  5482. * Angular gauges and solid gauges defaults to `"center"`. Solid gauges with
  5483. * two labels have additional option `"auto"` for automatic horizontal and
  5484. * vertical alignment.
  5485. */
  5486. align?: string;
  5487. /**
  5488. * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
  5489. * of label rotation to prevent overlapping labels. If there is enough
  5490. * space, labels are not rotated. As the chart gets narrower, it will start
  5491. * rotating the labels -45 degrees, then remove every second label and try
  5492. * again with rotations 0 and -45 etc. Set it to `false` to disable
  5493. * rotation, which will cause the labels to word-wrap if possible.
  5494. */
  5495. autoRotation?: (false|Array<number>);
  5496. /**
  5497. * (Highcharts, Gantt) When each category width is more than this many
  5498. * pixels, we don't apply auto rotation. Instead, we lay out the axis label
  5499. * with word wrap. A lower limit makes sense when the label contains
  5500. * multiple short words that don't extend the available horizontal space for
  5501. * each label.
  5502. */
  5503. autoRotationLimit?: number;
  5504. /**
  5505. * (Highcharts) Angular gauges and solid gauges only. The label's pixel
  5506. * distance from the perimeter of the plot area.
  5507. *
  5508. * Since v7.1.2: If it's a percentage string, it is interpreted the same as
  5509. * series.radius, so label can be aligned under the gauge's shape.
  5510. */
  5511. distance?: (number|string);
  5512. /**
  5513. * (Highcharts) Enable or disable the axis labels.
  5514. */
  5515. enabled?: boolean;
  5516. /**
  5517. * (Highcharts) A format string for the axis label.
  5518. */
  5519. format?: string;
  5520. /**
  5521. * (Highcharts) Callback JavaScript function to format the label. The value
  5522. * is given by `this.value`. Additional properties for `this` are `axis`,
  5523. * `chart`, `isFirst` and `isLast`. The value of the default label formatter
  5524. * can be retrieved by calling `this.axis.defaultLabelFormatter.call(this)`
  5525. * within the function.
  5526. *
  5527. * Defaults to: (see online documentation for example)
  5528. */
  5529. formatter?: AxisLabelsFormatterCallbackFunction;
  5530. /**
  5531. * (Gantt) The number of pixels to indent the labels per level in a treegrid
  5532. * axis.
  5533. */
  5534. indentation?: number;
  5535. /**
  5536. * (Gantt) Set options on specific levels in a tree grid axis. Takes
  5537. * precedence over labels options.
  5538. */
  5539. levels?: Array<ChartParallelAxesLabelsLevelsOptions>;
  5540. /**
  5541. * (Highcharts) How to handle overflowing labels on horizontal axis. If set
  5542. * to `"allow"`, it will not be aligned at all. By default it `"justify"`
  5543. * labels inside the chart area. If there is room to move it, it will be
  5544. * aligned to the edge, else it will be removed.
  5545. */
  5546. overflow?: OptionsOverflowValue;
  5547. /**
  5548. * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
  5549. * space between them.
  5550. */
  5551. padding?: number;
  5552. /**
  5553. * (Highcharts) Defines how the labels are be repositioned according to the
  5554. * 3D chart orientation.
  5555. *
  5556. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  5557. * marks, despite the chart orientation. This is the backwards compatible
  5558. * behavior, and causes skewing of X and Z axes.
  5559. *
  5560. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  5561. * but hard to read if the text isn't forward-facing.
  5562. *
  5563. * - `'flap'`: Rotated text along the axis to compensate for the chart
  5564. * orientation. This tries to maintain text as legible as possible on all
  5565. * orientations.
  5566. *
  5567. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  5568. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  5569. * skewing the labels (X and Y scaling are still present).
  5570. */
  5571. position3d?: OptionsPosition3dValue;
  5572. /**
  5573. * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
  5574. * space is reserved for the labels in these cases:
  5575. *
  5576. * * On all horizontal axes.
  5577. *
  5578. * * On vertical axes if `label.align` is `right` on a left-side axis or
  5579. * `left` on a right-side axis.
  5580. *
  5581. * * On vertical axes if `label.align` is `center`.
  5582. *
  5583. * This can be turned off when for example the labels are rendered inside
  5584. * the plot area instead of outside.
  5585. */
  5586. reserveSpace?: boolean;
  5587. /**
  5588. * (Highcharts) Rotation of the labels in degrees.
  5589. */
  5590. rotation?: number;
  5591. /**
  5592. * (Highcharts) If enabled, the axis labels will skewed to follow the
  5593. * perspective.
  5594. *
  5595. * This will fix overlapping labels and titles, but texts become less
  5596. * legible due to the distortion.
  5597. *
  5598. * The final appearance depends heavily on `labels.position3d`.
  5599. */
  5600. skew3d?: boolean;
  5601. /**
  5602. * (Highcharts) Horizontal axes only. The number of lines to spread the
  5603. * labels over to make room or tighter labels.
  5604. */
  5605. staggerLines?: number;
  5606. /**
  5607. * (Highcharts) To show only every _n_'th label on the axis, set the step to
  5608. * _n_. Setting the step to 2 shows every other label.
  5609. *
  5610. * By default, the step is calculated automatically to avoid overlap. To
  5611. * prevent this, set it to 1\. This usually only happens on a category axis,
  5612. * and is often a sign that you have chosen the wrong axis type.
  5613. *
  5614. * Read more at Axis docs => What axis should I use?
  5615. */
  5616. step?: number;
  5617. /**
  5618. * (Highcharts) CSS styles for the label. Use `whiteSpace: 'nowrap'` to
  5619. * prevent wrapping of category labels. Use `textOverflow: 'none'` to
  5620. * prevent ellipsis (dots).
  5621. *
  5622. * In styled mode, the labels are styled with the `.highcharts-axis-labels`
  5623. * class.
  5624. */
  5625. style?: CSSObject;
  5626. /**
  5627. * (Gantt) The symbol for the collapse and expand icon in a treegrid.
  5628. */
  5629. symbol?: ChartParallelAxesLabelsSymbolOptions;
  5630. /**
  5631. * (Highcharts) Whether to use HTML to render the labels.
  5632. */
  5633. useHTML?: boolean;
  5634. /**
  5635. * (Highcharts) The x position offset of all labels relative to the tick
  5636. * positions on the axis. Defaults to -15 for left axis, 15 for right axis.
  5637. */
  5638. x?: number;
  5639. /**
  5640. * (Highcharts) The y position offset of all labels relative to the tick
  5641. * positions on the axis. For polar and radial axis consider the use of the
  5642. * distance option.
  5643. */
  5644. y?: number;
  5645. /**
  5646. * (Highcharts) The Z index for the axis labels.
  5647. */
  5648. zIndex?: number;
  5649. }
  5650. /**
  5651. * (Gantt) The symbol for the collapse and expand icon in a treegrid.
  5652. */
  5653. export interface ChartParallelAxesLabelsSymbolOptions {
  5654. height?: number;
  5655. padding?: number;
  5656. /**
  5657. * (Gantt) The symbol type. Points to a definition function in the
  5658. * `Highcharts.Renderer.symbols` collection.
  5659. */
  5660. type?: SymbolKeyValue;
  5661. width?: number;
  5662. x?: number;
  5663. y?: number;
  5664. }
  5665. /**
  5666. * (Highcharts) Common options for all yAxes rendered in a parallel coordinates
  5667. * plot. This feature requires `modules/parallel-coordinates.js`.
  5668. *
  5669. * The default options are: (see online documentation for example)
  5670. */
  5671. export interface ChartParallelAxesOptions {
  5672. /**
  5673. * (Highcharts) Accessibility options for an axis. Requires the
  5674. * accessibility module.
  5675. */
  5676. accessibility?: AxisAccessibilityOptionsObject;
  5677. /**
  5678. * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
  5679. * or more opposite axes will automatically be aligned by adding ticks to
  5680. * the axis or axes with the least ticks, as if `tickAmount` were specified.
  5681. *
  5682. * This can be prevented by setting `alignTicks` to false. If the grid lines
  5683. * look messy, it's a good idea to hide them for the secondary axis by
  5684. * setting `gridLineWidth` to 0.
  5685. *
  5686. * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
  5687. * the `alignTicks ` will be disabled for the Axis.
  5688. *
  5689. * Disabled for logarithmic axes.
  5690. */
  5691. alignTicks?: boolean;
  5692. /**
  5693. * (Highcharts) Whether to allow decimals in this axis' ticks. When counting
  5694. * integers, like persons or hits on a web page, decimals should be avoided
  5695. * in the labels.
  5696. */
  5697. allowDecimals?: boolean;
  5698. /**
  5699. * (Highcharts, Gantt) If categories are present for the xAxis, names are
  5700. * used instead of numbers for that axis.
  5701. *
  5702. * Since Highcharts 3.0, categories can also be extracted by giving each
  5703. * point a name and setting axis type to `category`. However, if you have
  5704. * multiple series, best practice remains defining the `categories` array.
  5705. *
  5706. * Example: `categories: ['Apples', 'Bananas', 'Oranges']`
  5707. */
  5708. categories?: Array<string>;
  5709. /**
  5710. * (Highcharts, Highstock, Gantt) The highest allowed value for
  5711. * automatically computed axis extremes.
  5712. */
  5713. ceiling?: number;
  5714. /**
  5715. * (Highcharts) A class name that opens for styling the axis by CSS,
  5716. * especially in Highcharts styled mode. The class name is applied to group
  5717. * elements for the grid, axis elements and labels.
  5718. */
  5719. className?: string;
  5720. /**
  5721. * (Highcharts) Configure a crosshair that follows either the mouse pointer
  5722. * or the hovered point.
  5723. *
  5724. * In styled mode, the crosshairs are styled in the `.highcharts-crosshair`,
  5725. * `.highcharts-crosshair-thin` or `.highcharts-xaxis-category` classes.
  5726. */
  5727. crosshair?: (boolean|AxisCrosshairOptions);
  5728. /**
  5729. * (Gantt) For a datetime axis, the scale will automatically adjust to the
  5730. * appropriate unit. This member gives the default string representations
  5731. * used for each unit. For intermediate values, different units may be used,
  5732. * for example the `day` unit can be used on midnight and `hour` unit be
  5733. * used for intermediate values on the same axis. For grid axes (like in
  5734. * Gantt charts), it is possible to declare as a list to provide different
  5735. * formats depending on available space. For an overview of the replacement
  5736. * codes, see dateFormat.
  5737. *
  5738. * Defaults to: (see online documentation for example)
  5739. */
  5740. dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
  5741. /**
  5742. * (Highcharts) Whether to force the axis to end on a tick. Use this option
  5743. * with the `maxPadding` option to control the axis end.
  5744. *
  5745. * This option is always disabled, when panning type is either `y` or `xy`.
  5746. */
  5747. endOnTick?: boolean;
  5748. /**
  5749. * (Highcharts) Event handlers for the axis.
  5750. */
  5751. events?: ChartParallelAxesEventsOptions;
  5752. /**
  5753. * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
  5754. * computed axis extremes.
  5755. */
  5756. floor?: number;
  5757. /**
  5758. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  5759. */
  5760. grid?: ChartParallelAxesGridOptions;
  5761. /**
  5762. * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
  5763. */
  5764. gridZIndex?: number;
  5765. /**
  5766. * (Highcharts, Highstock) The height of the Y axis. If it's a number, it is
  5767. * interpreted as pixels.
  5768. *
  5769. * Since Highcharts 2: If it's a percentage string, it is interpreted as
  5770. * percentages of the total plot height.
  5771. */
  5772. height?: (number|string);
  5773. /**
  5774. * (Highcharts) The axis labels show the number or category for each tick.
  5775. *
  5776. * Since v8.0.0: Labels are animated in categorized x-axis with updating
  5777. * data if `tickInterval` and `step` is set to 1.
  5778. */
  5779. labels?: ChartParallelAxesLabelsOptions;
  5780. /**
  5781. * (Highcharts, Highstock) The left position as the horizontal axis. If it's
  5782. * a number, it is interpreted as pixel position relative to the chart.
  5783. *
  5784. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  5785. * as percentages of the plot width, offset from plot area left.
  5786. */
  5787. left?: (number|string);
  5788. /**
  5789. * (Highcharts) The color of the line marking the axis itself.
  5790. *
  5791. * In styled mode, the line stroke is given in the `.highcharts-axis-line`
  5792. * or `.highcharts-xaxis-line` class.
  5793. */
  5794. lineColor?: ColorType;
  5795. /**
  5796. * (Highcharts) The width of the line marking the axis itself.
  5797. *
  5798. * In styled mode, the stroke width is given in the `.highcharts-axis-line`
  5799. * or `.highcharts-xaxis-line` class.
  5800. */
  5801. lineWidth?: number;
  5802. /**
  5803. * (Highcharts, Highstock, Gantt) Index of another axis that this axis is
  5804. * linked to. When an axis is linked to a master axis, it will take the same
  5805. * extremes as the master, but as assigned by min or max or by setExtremes.
  5806. * It can be used to show additional info, or to ease reading the chart by
  5807. * duplicating the scales.
  5808. */
  5809. linkedTo?: number;
  5810. /**
  5811. * (Highcharts) If there are multiple axes on the same side of the chart,
  5812. * the pixel margin between the axes. Defaults to 0 on vertical axes, 15 on
  5813. * horizontal axes.
  5814. */
  5815. margin?: number;
  5816. /**
  5817. * (Highcharts) The maximum value of the axis. If `null`, the max value is
  5818. * automatically calculated.
  5819. *
  5820. * If the endOnTick option is true, the `max` value might be rounded up.
  5821. *
  5822. * If a tickAmount is set, the axis may be extended beyond the set max in
  5823. * order to reach the given number of ticks. The same may happen in a chart
  5824. * with multiple axes, determined by chart. alignTicks, where a `tickAmount`
  5825. * is applied internally.
  5826. */
  5827. max?: (number|null);
  5828. /**
  5829. * (Highstock) Maximal size of a resizable axis. Could be set as a percent
  5830. * of plot area or pixel size.
  5831. */
  5832. maxLength?: (number|string);
  5833. /**
  5834. * (Highcharts, Highstock, Gantt) Padding of the max value relative to the
  5835. * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
  5836. * This is useful when you don't want the highest data value to appear on
  5837. * the edge of the plot area. When the axis' `max` option is set or a max
  5838. * extreme is set using `axis.setExtremes()`, the maxPadding will be
  5839. * ignored.
  5840. *
  5841. * Also the `softThreshold` option takes precedence over `maxPadding`, so if
  5842. * the data is tangent to the threshold, `maxPadding` may not apply unless
  5843. * `softThreshold` is set to false.
  5844. */
  5845. maxPadding?: number;
  5846. /**
  5847. * (Highstock, Gantt) Maximum range which can be set using the navigator's
  5848. * handles. Opposite of xAxis.minRange.
  5849. */
  5850. maxRange?: number;
  5851. /**
  5852. * (Highcharts) The minimum value of the axis. If `null` the min value is
  5853. * automatically calculated.
  5854. *
  5855. * If the startOnTick option is true (default), the `min` value might be
  5856. * rounded down.
  5857. *
  5858. * The automatically calculated minimum value is also affected by floor,
  5859. * softMin, minPadding, minRange as well as series.threshold and
  5860. * series.softThreshold.
  5861. */
  5862. min?: (number|null);
  5863. /**
  5864. * (Highstock) Minimal size of a resizable axis. Could be set as a percent
  5865. * of plot area or pixel size.
  5866. */
  5867. minLength?: (number|string);
  5868. /**
  5869. * (Highcharts) Color for the minor tick marks.
  5870. */
  5871. minorTickColor?: ColorType;
  5872. /**
  5873. * (Highcharts) Specific tick interval in axis units for the minor ticks. On
  5874. * a linear axis, if `"auto"`, the minor tick interval is calculated as a
  5875. * fifth of the tickInterval. If `null` or `undefined`, minor ticks are not
  5876. * shown.
  5877. *
  5878. * On logarithmic axes, the unit is the power of the value. For example,
  5879. * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
  5880. * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
  5881. * and 10, 10 and 100 etc.
  5882. *
  5883. * If user settings dictate minor ticks to become too dense, they don't make
  5884. * sense, and will be ignored to prevent performance problems.
  5885. */
  5886. minorTickInterval?: (number|string|null);
  5887. /**
  5888. * (Highcharts) The pixel length of the minor tick marks.
  5889. */
  5890. minorTickLength?: number;
  5891. /**
  5892. * (Highcharts) The position of the minor tick marks relative to the axis
  5893. * line. Can be one of `inside` and `outside`.
  5894. */
  5895. minorTickPosition?: OptionsMinorTickPositionValue;
  5896. /**
  5897. * (Highcharts) Enable or disable minor ticks. Unless minorTickInterval is
  5898. * set, the tick interval is calculated as a fifth of the `tickInterval`.
  5899. *
  5900. * On a logarithmic axis, minor ticks are laid out based on a best guess,
  5901. * attempting to enter approximately 5 minor ticks between each major tick.
  5902. *
  5903. * Prior to v6.0.0, ticks were unabled in auto layout by setting
  5904. * `minorTickInterval` to `"auto"`.
  5905. */
  5906. minorTicks?: boolean;
  5907. /**
  5908. * (Highcharts) The pixel width of the minor tick mark.
  5909. */
  5910. minorTickWidth?: number;
  5911. /**
  5912. * (Highcharts, Highstock, Gantt) Padding of the min value relative to the
  5913. * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
  5914. * This is useful when you don't want the lowest data value to appear on the
  5915. * edge of the plot area. When the axis' `min` option is set or a max
  5916. * extreme is set using `axis.setExtremes()`, the maxPadding will be
  5917. * ignored.
  5918. *
  5919. * Also the `softThreshold` option takes precedence over `minPadding`, so if
  5920. * the data is tangent to the threshold, `minPadding` may not apply unless
  5921. * `softThreshold` is set to false.
  5922. */
  5923. minPadding?: number;
  5924. /**
  5925. * (Highcharts) The minimum range to display on this axis. The entire axis
  5926. * will not be allowed to span over a smaller interval than this. For
  5927. * example, for a datetime axis the main unit is milliseconds. If minRange
  5928. * is set to 3600000, you can't zoom in more than to one hour.
  5929. *
  5930. * The default minRange for the x axis is five times the smallest interval
  5931. * between any of the data points.
  5932. *
  5933. * On a logarithmic axis, the unit for the minimum range is the power. So a
  5934. * minRange of 1 means that the axis can be zoomed to 10-100, 100-1000,
  5935. * 1000-10000 etc.
  5936. *
  5937. * **Note**: The `minPadding`, `maxPadding`, `startOnTick` and `endOnTick`
  5938. * settings also affect how the extremes of the axis are computed.
  5939. */
  5940. minRange?: number;
  5941. /**
  5942. * (Highcharts) The minimum tick interval allowed in axis values. For
  5943. * example on zooming in on an axis with daily data, this can be used to
  5944. * prevent the axis from showing hours. Defaults to the closest distance
  5945. * between two points on the axis.
  5946. */
  5947. minTickInterval?: number;
  5948. /**
  5949. * (Highcharts) The distance in pixels from the plot area to the axis line.
  5950. * A positive offset moves the axis with it's line, labels and ticks away
  5951. * from the plot area. This is typically used when two or more axes are
  5952. * displayed on the same side of the plot. With multiple axes the offset is
  5953. * dynamically adjusted to avoid collision, this can be overridden by
  5954. * setting offset explicitly.
  5955. */
  5956. offset?: number;
  5957. /**
  5958. * (Highstock, Highcharts, Gantt) Whether to display the axis on the
  5959. * opposite side of the normal. The normal is on the left side for vertical
  5960. * axes and bottom for horizontal, so the opposite sides will be right and
  5961. * top respectively. This is typically used with dual or multiple axes.
  5962. */
  5963. opposite?: boolean;
  5964. /**
  5965. * (Highcharts) Refers to the index in the panes array. Used for circular
  5966. * gauges and polar charts. When the option is not set then first pane will
  5967. * be used.
  5968. */
  5969. pane?: number;
  5970. /**
  5971. * (Highstock) The zoomed range to display when only defining one or none of
  5972. * `min` or `max`. For example, to show the latest month, a range of one
  5973. * month can be set.
  5974. */
  5975. range?: number;
  5976. /**
  5977. * (Highstock) Options for axis resizing. It adds a thick line between panes
  5978. * which the user can drag in order to resize the panes.
  5979. */
  5980. resize?: ChartParallelAxesResizeOptions;
  5981. /**
  5982. * (Highcharts) Whether to reverse the axis so that the highest number is
  5983. * closest to the origin.
  5984. */
  5985. reversed?: boolean;
  5986. /**
  5987. * (Highcharts, Highstock) If `true`, the first series in a stack will be
  5988. * drawn on top in a positive, non-reversed Y axis. If `false`, the first
  5989. * series is in the base of the stack.
  5990. */
  5991. reversedStacks?: boolean;
  5992. /**
  5993. * (Highcharts) Whether to show the axis line and title when the axis has no
  5994. * data.
  5995. */
  5996. showEmpty?: boolean;
  5997. /**
  5998. * (Highcharts) Whether to show the first tick label.
  5999. */
  6000. showFirstLabel?: boolean;
  6001. /**
  6002. * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
  6003. * Defaults to `true` on cartesian charts, and `false` on polar charts.
  6004. */
  6005. showLastLabel?: boolean;
  6006. /**
  6007. * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
  6008. * data maximum is less than this, the axis will stay at this maximum, but
  6009. * if the series data maximum is higher, the axis will flex to show all
  6010. * data.
  6011. *
  6012. * **Note**: The series.softThreshold option takes precedence over this
  6013. * option.
  6014. */
  6015. softMax?: number;
  6016. /**
  6017. * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
  6018. * data minimum is greater than this, the axis will stay at this minimum,
  6019. * but if the series data minimum is lower, the axis will flex to show all
  6020. * data.
  6021. *
  6022. * **Note**: The series.softThreshold option takes precedence over this
  6023. * option.
  6024. */
  6025. softMin?: number;
  6026. /**
  6027. * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
  6028. * put the tick between weeks. 0 = Sunday, 1 = Monday.
  6029. */
  6030. startOfWeek?: number;
  6031. /**
  6032. * (Highcharts, Highstock, Gantt) Whether to force the axis to start on a
  6033. * tick. Use this option with the `maxPadding` option to control the axis
  6034. * start.
  6035. *
  6036. * This option is always disabled, when panning type is either `y` or `xy`.
  6037. */
  6038. startOnTick?: boolean;
  6039. /**
  6040. * (Gantt) For vertical axes only. Setting the static scale ensures that
  6041. * each tick unit is translated into a fixed pixel height. For example,
  6042. * setting the static scale to 24 results in each Y axis category taking up
  6043. * 24 pixels, and the height of the chart adjusts. Adding or removing items
  6044. * will make the chart resize.
  6045. */
  6046. staticScale?: number;
  6047. /**
  6048. * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
  6049. * This opens up for aligning the ticks of multiple charts or panes within a
  6050. * chart. This option overrides the `tickPixelInterval` option.
  6051. *
  6052. * This option only has an effect on linear axes. Datetime, logarithmic or
  6053. * category axes are not affected.
  6054. */
  6055. tickAmount?: number;
  6056. /**
  6057. * (Highcharts) Color for the main tick marks.
  6058. *
  6059. * In styled mode, the stroke is given in the `.highcharts-tick` class.
  6060. */
  6061. tickColor?: ColorType;
  6062. /**
  6063. * (Highcharts) The interval of the tick marks in axis units. When
  6064. * `undefined`, the tick interval is computed to approximately follow the
  6065. * tickPixelInterval on linear and datetime axes. On categorized axes, a
  6066. * `undefined` tickInterval will default to 1, one category. Note that
  6067. * datetime axes are based on milliseconds, so for example an interval of
  6068. * one day is expressed as `24 * 3600 * 1000`.
  6069. *
  6070. * On logarithmic axes, the tickInterval is based on powers, so a
  6071. * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
  6072. * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
  6073. * 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
  6074. * etc.
  6075. *
  6076. * If the tickInterval is too dense for labels to be drawn, Highcharts may
  6077. * remove ticks.
  6078. *
  6079. * If the chart has multiple axes, the alignTicks option may interfere with
  6080. * the `tickInterval` setting.
  6081. */
  6082. tickInterval?: number;
  6083. /**
  6084. * (Highcharts) The pixel length of the main tick marks.
  6085. */
  6086. tickLength?: number;
  6087. /**
  6088. * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
  6089. * placed in the center of the category, if `between` the tick mark is
  6090. * placed between categories. The default is `between` if the `tickInterval`
  6091. * is 1, else `on`.
  6092. */
  6093. tickmarkPlacement?: OptionsTickmarkPlacementValue;
  6094. /**
  6095. * (Highcharts) If tickInterval is `null` this option sets the approximate
  6096. * pixel interval of the tick marks. Not applicable to categorized axis.
  6097. *
  6098. * The tick interval is also influenced by the minTickInterval option, that,
  6099. * by default prevents ticks from being denser than the data points.
  6100. */
  6101. tickPixelInterval?: number;
  6102. /**
  6103. * (Highcharts) The position of the major tick marks relative to the axis
  6104. * line. Can be one of `inside` and `outside`.
  6105. */
  6106. tickPosition?: OptionsTickPositionValue;
  6107. /**
  6108. * (Highcharts) A callback function returning array defining where the ticks
  6109. * are laid out on the axis. This overrides the default behaviour of
  6110. * tickPixelInterval and tickInterval. The automatic tick positions are
  6111. * accessible through `this.tickPositions` and can be modified by the
  6112. * callback.
  6113. */
  6114. tickPositioner?: AxisTickPositionerCallbackFunction;
  6115. /**
  6116. * (Highcharts) An array defining where the ticks are laid out on the axis.
  6117. * This overrides the default behaviour of tickPixelInterval and
  6118. * tickInterval.
  6119. */
  6120. tickPositions?: Array<number>;
  6121. /**
  6122. * (Highcharts, Highstock, Gantt) The pixel width of the major tick marks.
  6123. */
  6124. tickWidth?: number;
  6125. /**
  6126. * (Highcharts) Titles for yAxes are taken from xAxis.categories. All
  6127. * options for `xAxis.labels` applies to parallel coordinates titles. For
  6128. * example, to style categories, use xAxis.labels.style.
  6129. */
  6130. title?: ChartParallelAxesTitleOptions;
  6131. /**
  6132. * (Highcharts) Parallel coordinates only. Format that will be used for
  6133. * point.y and available in tooltip.pointFormat as `{point.formattedValue}`.
  6134. * If not set, `{point.formattedValue}` will use other options, in this
  6135. * order:
  6136. *
  6137. * 1. yAxis.labels.format will be used if set
  6138. *
  6139. * 2. If yAxis is a category, then category name will be displayed
  6140. *
  6141. * 3. If yAxis is a datetime, then value will use the same format as yAxis
  6142. * labels
  6143. *
  6144. * 4. If yAxis is linear/logarithmic type, then simple value will be used
  6145. */
  6146. tooltipValueFormat?: string;
  6147. /**
  6148. * (Highcharts, Highstock) The top position of the Y axis. If it's a number,
  6149. * it is interpreted as pixel position relative to the chart.
  6150. *
  6151. * Since Highcharts 2: If it's a percentage string, it is interpreted as
  6152. * percentages of the plot height, offset from plot area top.
  6153. */
  6154. top?: (number|string);
  6155. /**
  6156. * (Highcharts, Gantt) The type of axis. Can be one of `linear`,
  6157. * `logarithmic`, `datetime`, `category` or `treegrid`. Defaults to
  6158. * `treegrid` for Gantt charts, `linear` for other chart types.
  6159. *
  6160. * In a datetime axis, the numbers are given in milliseconds, and tick marks
  6161. * are placed on appropriate values, like full hours or days. In a category
  6162. * or treegrid axis, the point names of the chart's series are used for
  6163. * categories, if a categories array is not defined.
  6164. */
  6165. type?: AxisTypeValue;
  6166. /**
  6167. * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
  6168. * `uniqueNames` is true, points are placed on the X axis according to their
  6169. * names. If the same point name is repeated in the same or another series,
  6170. * the point is placed on the same X position as other points of the same
  6171. * name. When `uniqueNames` is false, the points are laid out in increasing
  6172. * X positions regardless of their names, and the X axis category will take
  6173. * the name of the last point in each position.
  6174. */
  6175. uniqueNames?: boolean;
  6176. /**
  6177. * (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
  6178. * what time intervals the ticks are allowed to fall on. Each array item is
  6179. * an array where the first value is the time unit and the second value
  6180. * another array of allowed multiples.
  6181. *
  6182. * Defaults to: (see online documentation for example)
  6183. */
  6184. units?: Array<[string, (Array<number>|null)]>;
  6185. /**
  6186. * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
  6187. * ticks and labels, should be visible.
  6188. */
  6189. visible?: boolean;
  6190. /**
  6191. * (Highcharts, Highstock) The width as the horizontal axis. If it's a
  6192. * number, it is interpreted as pixels.
  6193. *
  6194. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  6195. * as percentages of the total plot width.
  6196. */
  6197. width?: (number|string);
  6198. /**
  6199. * (Highcharts) Whether to zoom axis. If `chart.zoomType` is set, the option
  6200. * allows to disable zooming on an individual axis.
  6201. */
  6202. zoomEnabled?: boolean;
  6203. }
  6204. /**
  6205. * (Highstock) Contains two arrays of axes that are controlled by control line
  6206. * of the axis.
  6207. */
  6208. export interface ChartParallelAxesResizeControlledAxisOptions {
  6209. /**
  6210. * (Highstock) Array of axes that should move out of the way of resizing
  6211. * being done for the current axis. If not set, the next axis will be used.
  6212. */
  6213. next?: Array<(number|string)>;
  6214. /**
  6215. * (Highstock) Array of axes that should move with the current axis while
  6216. * resizing.
  6217. */
  6218. prev?: Array<(number|string)>;
  6219. }
  6220. /**
  6221. * (Highstock) Options for axis resizing. It adds a thick line between panes
  6222. * which the user can drag in order to resize the panes.
  6223. */
  6224. export interface ChartParallelAxesResizeOptions {
  6225. /**
  6226. * (Highstock) Contains two arrays of axes that are controlled by control
  6227. * line of the axis.
  6228. */
  6229. controlledAxis?: ChartParallelAxesResizeControlledAxisOptions;
  6230. /**
  6231. * (Highstock) Cursor style for the control line.
  6232. *
  6233. * In styled mode use class `highcharts-axis-resizer` instead.
  6234. */
  6235. cursor?: string;
  6236. /**
  6237. * (Highstock) Enable or disable resize by drag for the axis.
  6238. */
  6239. enabled?: boolean;
  6240. /**
  6241. * (Highstock) Color of the control line.
  6242. *
  6243. * In styled mode use class `highcharts-axis-resizer` instead.
  6244. */
  6245. lineColor?: ColorString;
  6246. /**
  6247. * (Highstock) Dash style of the control line.
  6248. *
  6249. * In styled mode use class `highcharts-axis-resizer` instead.
  6250. */
  6251. lineDashStyle?: string;
  6252. /**
  6253. * (Highstock) Width of the control line.
  6254. *
  6255. * In styled mode use class `highcharts-axis-resizer` instead.
  6256. */
  6257. lineWidth?: number;
  6258. /**
  6259. * (Highstock) Horizontal offset of the control line.
  6260. */
  6261. x?: number;
  6262. /**
  6263. * (Highstock) Vertical offset of the control line.
  6264. */
  6265. y?: number;
  6266. }
  6267. /**
  6268. * (Highcharts) Titles for yAxes are taken from xAxis.categories. All options
  6269. * for `xAxis.labels` applies to parallel coordinates titles. For example, to
  6270. * style categories, use xAxis.labels.style.
  6271. */
  6272. export interface ChartParallelAxesTitleOptions {
  6273. reserveSpace?: boolean;
  6274. text?: string;
  6275. /**
  6276. * (Highcharts) Alignment of the text, can be `"left"`, `"right"` or
  6277. * `"center"`. Default alignment depends on the title.align:
  6278. *
  6279. * Horizontal axes:
  6280. *
  6281. * - for `align` = `"low"`, `textAlign` is set to `left`
  6282. *
  6283. * - for `align` = `"middle"`, `textAlign` is set to `center`
  6284. *
  6285. * - for `align` = `"high"`, `textAlign` is set to `right`
  6286. *
  6287. * Vertical axes:
  6288. *
  6289. * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
  6290. * `right`
  6291. *
  6292. * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
  6293. * `left`
  6294. *
  6295. * - for `align` = `"middle"`, `textAlign` is set to `center`
  6296. *
  6297. * - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
  6298. * `left`
  6299. *
  6300. * - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
  6301. * `right`
  6302. */
  6303. textAlign?: AlignValue;
  6304. }
  6305. /**
  6306. * (Highcharts, Highstock, Highmaps, Gantt) The button that appears after a
  6307. * selection zoom, allowing the user to reset zoom.
  6308. */
  6309. export interface ChartResetZoomButtonOptions {
  6310. /**
  6311. * (Highcharts, Highstock, Highmaps, Gantt) The position of the button.
  6312. */
  6313. position?: (AlignObject|ChartResetZoomButtonPositionOptions);
  6314. /**
  6315. * (Highcharts, Highstock, Highmaps, Gantt) What frame the button placement
  6316. * should be related to. Can be either `plotBox` or `spacingBox`.
  6317. */
  6318. relativeTo?: ButtonRelativeToValue;
  6319. /**
  6320. * (Highcharts, Highstock, Highmaps, Gantt) A collection of attributes for
  6321. * the button. The object takes SVG attributes like `fill`, `stroke`,
  6322. * `stroke-width` or `r`, the border radius. The theme also supports
  6323. * `style`, a collection of CSS properties for the text. Equivalent
  6324. * attributes for the hover state are given in `theme.states.hover`.
  6325. */
  6326. theme?: SVGAttributes;
  6327. }
  6328. /**
  6329. * (Highcharts, Highstock, Highmaps, Gantt) The position of the button.
  6330. */
  6331. export interface ChartResetZoomButtonPositionOptions {
  6332. /**
  6333. * (Highcharts, Highstock, Highmaps, Gantt) The horizontal alignment of the
  6334. * button.
  6335. */
  6336. align?: string;
  6337. /**
  6338. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  6339. * button.
  6340. */
  6341. verticalAlign?: VerticalAlignValue;
  6342. /**
  6343. * (Highcharts, Highstock, Highmaps, Gantt) The horizontal offset of the
  6344. * button.
  6345. */
  6346. x?: number;
  6347. /**
  6348. * (Highcharts, Highstock, Highmaps, Gantt) The vertical offset of the
  6349. * button.
  6350. */
  6351. y?: number;
  6352. }
  6353. /**
  6354. * (Highcharts, Gantt) Options for a scrollable plot area. This feature provides
  6355. * a minimum size for the plot area of the chart. If the size gets smaller than
  6356. * this, typically on mobile devices, a native browser scrollbar is presented.
  6357. * This scrollbar provides smooth scrolling for the contents of the plot area,
  6358. * whereas the title, legend and unaffected axes are fixed.
  6359. *
  6360. * Since v7.1.2, a scrollable plot area can be defined for either horizontal or
  6361. * vertical scrolling, depending on whether the `minWidth` or `minHeight` option
  6362. * is set.
  6363. */
  6364. export interface ChartScrollablePlotAreaOptions {
  6365. /**
  6366. * (Highcharts, Gantt) The minimum height for the plot area. If it gets
  6367. * smaller than this, the plot area will become scrollable.
  6368. */
  6369. minHeight?: number;
  6370. /**
  6371. * (Highcharts, Gantt) The minimum width for the plot area. If it gets
  6372. * smaller than this, the plot area will become scrollable.
  6373. */
  6374. minWidth?: number;
  6375. /**
  6376. * (Highcharts, Gantt) The opacity of mask applied on one of the sides of
  6377. * the plot area.
  6378. */
  6379. opacity?: number;
  6380. /**
  6381. * (Highcharts, Gantt) The initial scrolling position of the scrollable plot
  6382. * area. Ranges from 0 to 1, where 0 aligns the plot area to the left and 1
  6383. * aligns it to the right. Typically we would use 1 if the chart has right
  6384. * aligned Y axes.
  6385. */
  6386. scrollPositionX?: number;
  6387. /**
  6388. * (Highcharts, Gantt) The initial scrolling position of the scrollable plot
  6389. * area. Ranges from 0 to 1, where 0 aligns the plot area to the top and 1
  6390. * aligns it to the bottom.
  6391. */
  6392. scrollPositionY?: number;
  6393. }
  6394. /**
  6395. * Axis context of the selection.
  6396. */
  6397. export interface ChartSelectionAxisContextObject {
  6398. /**
  6399. * The selected Axis.
  6400. */
  6401. axis: Axis;
  6402. /**
  6403. * The maximum axis value, either automatic or set manually.
  6404. */
  6405. max: number;
  6406. /**
  6407. * The minimum axis value, either automatic or set manually.
  6408. */
  6409. min: number;
  6410. }
  6411. /**
  6412. * The primary axes are `xAxis[0]` and `yAxis[0]`. Remember the unit of a
  6413. * datetime axis is milliseconds since 1970-01-01 00:00:00.
  6414. */
  6415. export interface ChartSelectionContextObject extends Event {
  6416. /**
  6417. * Arrays containing the axes of each dimension and each axis' min and max
  6418. * values.
  6419. */
  6420. xAxis: Array<ChartSelectionAxisContextObject>;
  6421. /**
  6422. * Arrays containing the axes of each dimension and each axis' min and max
  6423. * values.
  6424. */
  6425. yAxis: Array<ChartSelectionAxisContextObject>;
  6426. }
  6427. /**
  6428. * Interface description for a class.
  6429. */
  6430. export interface Class<T> extends Function {
  6431. /**
  6432. * Class costructor.
  6433. *
  6434. * @param args
  6435. * Constructor arguments.
  6436. *
  6437. * @return Class instance.
  6438. */
  6439. new(...args: Array<any>): T;
  6440. }
  6441. /**
  6442. * (Gantt) An object defining mouse events for the plot line. Supported
  6443. * properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  6444. */
  6445. export interface ColorAxisCurrentDateIndicatorEventsOptions {
  6446. /**
  6447. * (Gantt) Click event on a plot band.
  6448. */
  6449. click?: EventCallbackFunction<PlotLineOrBand>;
  6450. /**
  6451. * (Gantt) Mouse move event on a plot band.
  6452. */
  6453. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  6454. /**
  6455. * (Gantt) Mouse out event on the corner of a plot band.
  6456. */
  6457. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  6458. /**
  6459. * (Gantt) Mouse over event on a plot band.
  6460. */
  6461. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  6462. }
  6463. /**
  6464. * (Gantt) Text labels for the plot bands
  6465. */
  6466. export interface ColorAxisCurrentDateIndicatorLabelOptions {
  6467. /**
  6468. * (Gantt) Horizontal alignment of the label. Can be one of "left", "center"
  6469. * or "right".
  6470. */
  6471. align?: AlignValue;
  6472. /**
  6473. * (Gantt) Format of the label. This options is passed as the fist argument
  6474. * to dateFormat function.
  6475. */
  6476. format?: string;
  6477. /**
  6478. * (Gantt) Callback JavaScript function to format the label. Useful
  6479. * properties like the value of plot line or the range of plot band (`from`
  6480. * & `to` properties) can be found in `this.options` object.
  6481. */
  6482. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  6483. /**
  6484. * (Gantt) Rotation of the text label in degrees. Defaults to 0 for
  6485. * horizontal plot lines and 90 for vertical lines.
  6486. */
  6487. rotation?: number;
  6488. /**
  6489. * (Gantt) CSS styles for the text label.
  6490. *
  6491. * In styled mode, the labels are styled by the
  6492. * `.highcharts-plot-line-label` class.
  6493. */
  6494. style?: CSSObject;
  6495. /**
  6496. * (Gantt) The text itself. A subset of HTML is supported.
  6497. */
  6498. text?: string;
  6499. /**
  6500. * (Gantt) The text alignment for the label. While `align` determines where
  6501. * the texts anchor point is placed within the plot band, `textAlign`
  6502. * determines how the text is aligned against its anchor point. Possible
  6503. * values are "left", "center" and "right". Defaults to the same as the
  6504. * `align` option.
  6505. */
  6506. textAlign?: AlignValue;
  6507. /**
  6508. * (Gantt) Whether to use HTML to render the labels.
  6509. */
  6510. useHTML?: boolean;
  6511. /**
  6512. * (Gantt) Vertical alignment of the label relative to the plot line. Can be
  6513. * one of "top", "middle" or "bottom".
  6514. */
  6515. verticalAlign?: VerticalAlignValue;
  6516. /**
  6517. * (Gantt) Horizontal position relative the alignment. Default varies by
  6518. * orientation.
  6519. */
  6520. x?: number;
  6521. /**
  6522. * (Gantt) Vertical position of the text baseline relative to the alignment.
  6523. * Default varies by orientation.
  6524. */
  6525. y?: number;
  6526. }
  6527. /**
  6528. * (Highcharts, Highstock, Highmaps) An array of data classes or ranges for the
  6529. * choropleth map. If none given, the color axis is scalar and values are
  6530. * distributed as a gradient between the minimum and maximum colors.
  6531. */
  6532. export interface ColorAxisDataClassesOptions {
  6533. /**
  6534. * (Highcharts, Highstock, Highmaps) The color of each data class. If not
  6535. * set, the color is pulled from the global or chart-specific colors array.
  6536. * In styled mode, this option is ignored. Instead, use colors defined in
  6537. * CSS.
  6538. */
  6539. color?: (ColorString|GradientColorObject|PatternObject);
  6540. /**
  6541. * (Highcharts, Highstock, Highmaps) The start of the value range that the
  6542. * data class represents, relating to the point value.
  6543. *
  6544. * The range of each `dataClass` is closed in both ends, but can be
  6545. * overridden by the next `dataClass`.
  6546. */
  6547. from?: number;
  6548. /**
  6549. * (Highcharts, Highstock, Highmaps) The name of the data class as it
  6550. * appears in the legend. If no name is given, it is automatically created
  6551. * based on the `from` and `to` values. For full programmatic control,
  6552. * legend.labelFormatter can be used. In the formatter, `this.from` and
  6553. * `this.to` can be accessed.
  6554. */
  6555. name?: string;
  6556. /**
  6557. * (Highcharts, Highstock, Highmaps) The end of the value range that the
  6558. * data class represents, relating to the point value.
  6559. *
  6560. * The range of each `dataClass` is closed in both ends, but can be
  6561. * overridden by the next `dataClass`.
  6562. */
  6563. to?: number;
  6564. }
  6565. /**
  6566. * (Highcharts, Highstock, Highmaps) Event handlers for the axis.
  6567. */
  6568. export interface ColorAxisEventsOptions {
  6569. /**
  6570. * (Highcharts, Highstock, Highmaps) As opposed to the `setExtremes` event,
  6571. * this event fires after the final min and max values are computed and
  6572. * corrected for `minRange`.
  6573. *
  6574. * Fires when the minimum and maximum is set for the axis, either by calling
  6575. * the `.setExtremes()` method or by selecting an area in the chart. One
  6576. * parameter, `event`, is passed to the function, containing common event
  6577. * information.
  6578. *
  6579. * The new user set minimum and maximum values can be found by `event.min`
  6580. * and `event.max`. These reflect the axis minimum and maximum in axis
  6581. * values. The actual data extremes are found in `event.dataMin` and
  6582. * `event.dataMax`.
  6583. */
  6584. afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
  6585. /**
  6586. * (Highcharts, Highstock, Highmaps) Fires when the legend item belonging to
  6587. * the colorAxis is clicked. One parameter, `event`, is passed to the
  6588. * function.
  6589. */
  6590. legendItemClick?: Function;
  6591. /**
  6592. * (Highcharts, Highstock, Highmaps) Fires when the minimum and maximum is
  6593. * set for the axis, either by calling the `.setExtremes()` method or by
  6594. * selecting an area in the chart. One parameter, `event`, is passed to the
  6595. * function, containing common event information.
  6596. *
  6597. * The new user set minimum and maximum values can be found by `event.min`
  6598. * and `event.max`. These reflect the axis minimum and maximum in data
  6599. * values. When an axis is zoomed all the way out from the "Reset zoom"
  6600. * button, `event.min` and `event.max` are null, and the new extremes are
  6601. * set based on `this.dataMin` and `this.dataMax`.
  6602. */
  6603. setExtremes?: AxisSetExtremesEventCallbackFunction;
  6604. }
  6605. /**
  6606. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  6607. */
  6608. export interface ColorAxisGridOptions {
  6609. /**
  6610. * (Gantt) Set border color for the label grid lines.
  6611. */
  6612. borderColor?: ColorString;
  6613. /**
  6614. * (Gantt) Set border width of the label grid lines.
  6615. */
  6616. borderWidth?: number;
  6617. /**
  6618. * (Gantt) Set cell height for grid axis labels. By default this is
  6619. * calculated from font size. This option only applies to horizontal axes.
  6620. */
  6621. cellHeight?: number;
  6622. /**
  6623. * (Gantt) Set specific options for each column (or row for horizontal axes)
  6624. * in the grid. Each extra column/row is its own axis, and the axis options
  6625. * can be set here.
  6626. */
  6627. columns?: Array<XAxisOptions>;
  6628. /**
  6629. * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
  6630. * charts.
  6631. */
  6632. enabled?: boolean;
  6633. }
  6634. /**
  6635. * (Highcharts, Highstock, Highmaps) The axis labels show the number for each
  6636. * tick.
  6637. *
  6638. * For more live examples on label options, see xAxis.labels in the Highcharts
  6639. * API.
  6640. */
  6641. export interface ColorAxisLabelsOptions {
  6642. /**
  6643. * (Highcharts, Highstock, Highmaps) What part of the string the given
  6644. * position is anchored to. If `left`, the left side of the string is at the
  6645. * axis position. Can be one of `"left"`, `"center"` or `"right"`. Defaults
  6646. * to an intelligent guess based on which side of the chart the axis is on
  6647. * and the rotation of the label.
  6648. */
  6649. align?: AlignValue;
  6650. /**
  6651. * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
  6652. * of label rotation to prevent overlapping labels. If there is enough
  6653. * space, labels are not rotated. As the chart gets narrower, it will start
  6654. * rotating the labels -45 degrees, then remove every second label and try
  6655. * again with rotations 0 and -45 etc. Set it to `false` to disable
  6656. * rotation, which will cause the labels to word-wrap if possible.
  6657. */
  6658. autoRotation?: (false|Array<number>);
  6659. /**
  6660. * (Highcharts, Gantt) When each category width is more than this many
  6661. * pixels, we don't apply auto rotation. Instead, we lay out the axis label
  6662. * with word wrap. A lower limit makes sense when the label contains
  6663. * multiple short words that don't extend the available horizontal space for
  6664. * each label.
  6665. */
  6666. autoRotationLimit?: number;
  6667. /**
  6668. * (Highcharts, Gantt) Polar charts only. The label's pixel distance from
  6669. * the perimeter of the plot area.
  6670. */
  6671. distance?: number;
  6672. /**
  6673. * (Highcharts, Highstock, Highmaps) Enable or disable the axis labels.
  6674. */
  6675. enabled?: boolean;
  6676. /**
  6677. * (Highcharts, Highstock, Highmaps) A format string for the axis label.
  6678. */
  6679. format?: string;
  6680. /**
  6681. * (Highcharts, Highstock, Highmaps) Callback JavaScript function to format
  6682. * the label. The value is given by `this.value`. Additional properties for
  6683. * `this` are `axis`, `chart`, `isFirst` and `isLast`. The value of the
  6684. * default label formatter can be retrieved by calling
  6685. * `this.axis.defaultLabelFormatter.call(this)` within the function.
  6686. *
  6687. * Defaults to: (see online documentation for example)
  6688. */
  6689. formatter?: AxisLabelsFormatterCallbackFunction;
  6690. /**
  6691. * (Gantt) The number of pixels to indent the labels per level in a treegrid
  6692. * axis.
  6693. */
  6694. indentation?: number;
  6695. /**
  6696. * (Highcharts, Highstock, Highmaps) How to handle overflowing labels on
  6697. * horizontal color axis. If set to `"allow"`, it will not be aligned at
  6698. * all. By default it `"justify"` labels inside the chart area. If there is
  6699. * room to move it, it will be aligned to the edge, else it will be removed.
  6700. */
  6701. overflow?: OptionsOverflowValue;
  6702. /**
  6703. * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
  6704. * space between them.
  6705. */
  6706. padding?: number;
  6707. /**
  6708. * (Highcharts) Defines how the labels are be repositioned according to the
  6709. * 3D chart orientation.
  6710. *
  6711. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  6712. * marks, despite the chart orientation. This is the backwards compatible
  6713. * behavior, and causes skewing of X and Z axes.
  6714. *
  6715. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  6716. * but hard to read if the text isn't forward-facing.
  6717. *
  6718. * - `'flap'`: Rotated text along the axis to compensate for the chart
  6719. * orientation. This tries to maintain text as legible as possible on all
  6720. * orientations.
  6721. *
  6722. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  6723. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  6724. * skewing the labels (X and Y scaling are still present).
  6725. */
  6726. position3d?: OptionsPosition3dValue;
  6727. /**
  6728. * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
  6729. * space is reserved for the labels in these cases:
  6730. *
  6731. * * On all horizontal axes.
  6732. *
  6733. * * On vertical axes if `label.align` is `right` on a left-side axis or
  6734. * `left` on a right-side axis.
  6735. *
  6736. * * On vertical axes if `label.align` is `center`.
  6737. *
  6738. * This can be turned off when for example the labels are rendered inside
  6739. * the plot area instead of outside.
  6740. */
  6741. reserveSpace?: boolean;
  6742. /**
  6743. * (Highcharts, Highstock, Highmaps) Rotation of the labels in degrees.
  6744. */
  6745. rotation?: number;
  6746. /**
  6747. * (Highcharts) If enabled, the axis labels will skewed to follow the
  6748. * perspective.
  6749. *
  6750. * This will fix overlapping labels and titles, but texts become less
  6751. * legible due to the distortion.
  6752. *
  6753. * The final appearance depends heavily on `labels.position3d`.
  6754. */
  6755. skew3d?: boolean;
  6756. /**
  6757. * (Highcharts, Highstock, Highmaps) Horizontal axes only. The number of
  6758. * lines to spread the labels over to make room or tighter labels.
  6759. */
  6760. staggerLines?: number;
  6761. /**
  6762. * (Highcharts, Highstock, Highmaps) To show only every _n_'th label on the
  6763. * axis, set the step to _n_. Setting the step to 2 shows every other label.
  6764. *
  6765. * By default, the step is calculated automatically to avoid overlap. To
  6766. * prevent this, set it to 1\. This usually only happens on a category axis,
  6767. * and is often a sign that you have chosen the wrong axis type.
  6768. *
  6769. * Read more at Axis docs => What axis should I use?
  6770. */
  6771. step?: number;
  6772. /**
  6773. * (Highcharts, Highstock, Highmaps) CSS styles for the label. Use
  6774. * `whiteSpace: 'nowrap'` to prevent wrapping of category labels. Use
  6775. * `textOverflow: 'none'` to prevent ellipsis (dots).
  6776. *
  6777. * In styled mode, the labels are styled with the `.highcharts-axis-labels`
  6778. * class.
  6779. */
  6780. style?: CSSObject;
  6781. /**
  6782. * (Highcharts, Highstock, Highmaps) Whether to use HTML to render the
  6783. * labels.
  6784. */
  6785. useHTML?: boolean;
  6786. /**
  6787. * (Highcharts, Highstock, Highmaps) The x position offset of all labels
  6788. * relative to the tick positions on the axis.
  6789. */
  6790. x?: number;
  6791. /**
  6792. * (Highcharts, Highstock, Highmaps) The y position offset of all labels
  6793. * relative to the tick positions on the axis. The default makes it adapt to
  6794. * the font size of the bottom axis.
  6795. */
  6796. y?: number;
  6797. /**
  6798. * (Highcharts, Highstock, Highmaps) The Z index for the axis labels.
  6799. */
  6800. zIndex?: number;
  6801. }
  6802. /**
  6803. * (Highcharts, Highstock, Highmaps) A color axis for series. Visually, the
  6804. * color axis will appear as a gradient or as separate items inside the legend,
  6805. * depending on whether the axis is scalar or based on data classes.
  6806. *
  6807. * For supported color formats, see the docs article about colors.
  6808. *
  6809. * A scalar color axis is represented by a gradient. The colors either range
  6810. * between the minColor and the maxColor, or for more fine grained control the
  6811. * colors can be defined in stops. Often times, the color axis needs to be
  6812. * adjusted to get the right color spread for the data. In addition to stops,
  6813. * consider using a logarithmic axis type, or setting min and max to avoid the
  6814. * colors being determined by outliers.
  6815. *
  6816. * When dataClasses are used, the ranges are subdivided into separate classes
  6817. * like categories based on their values. This can be used for ranges between
  6818. * two values, but also for a true category. However, when your data is
  6819. * categorized, it may be as convenient to add each category to a separate
  6820. * series.
  6821. *
  6822. * Color axis does not work with: `sankey`, `sunburst`, `dependencywheel`,
  6823. * `networkgraph`, `wordcloud`, `venn`, `gauge` and `solidgauge` series types.
  6824. *
  6825. * Since v7.2.0 `colorAxis` can also be an array of options objects.
  6826. *
  6827. * See the Axis object for programmatic access to the axis.
  6828. */
  6829. export interface ColorAxisOptions {
  6830. /**
  6831. * (Highcharts, Highstock, Highmaps) Accessibility options for an axis.
  6832. * Requires the accessibility module.
  6833. */
  6834. accessibility?: AxisAccessibilityOptionsObject;
  6835. /**
  6836. * (Highcharts, Highstock, Highmaps) Whether to allow decimals on the color
  6837. * axis.
  6838. */
  6839. allowDecimals?: boolean;
  6840. /**
  6841. * (Highcharts) In a polar chart, this is the angle of the Y axis in
  6842. * degrees, where 0 is up and 90 is right. The angle determines the position
  6843. * of the axis line and the labels, though the coordinate system is
  6844. * unaffected. Since v8.0.0 this option is also applicable for X axis
  6845. * (inverted polar).
  6846. */
  6847. angle?: number;
  6848. /**
  6849. * (Highcharts, Highstock, Gantt) The highest allowed value for
  6850. * automatically computed axis extremes.
  6851. */
  6852. ceiling?: number;
  6853. /**
  6854. * (Highcharts, Highstock, Highmaps) A class name that opens for styling the
  6855. * axis by CSS, especially in Highcharts styled mode. The class name is
  6856. * applied to group elements for the grid, axis elements and labels.
  6857. */
  6858. className?: string;
  6859. /**
  6860. * (Gantt) Show an indicator on the axis for the current date and time. Can
  6861. * be a boolean or a configuration object similar to xAxis.plotLines.
  6862. */
  6863. currentDateIndicator?: (boolean|AxisCurrentDateIndicatorOptions);
  6864. /**
  6865. * (Highcharts, Highstock, Highmaps) Determines how to set each data class'
  6866. * color if no individual color is set. The default value, `tween`, computes
  6867. * intermediate colors between `minColor` and `maxColor`. The other possible
  6868. * value, `category`, pulls colors from the global or chart specific colors
  6869. * array.
  6870. */
  6871. dataClassColor?: OptionsDataClassColorValue;
  6872. /**
  6873. * (Highcharts, Highstock, Highmaps) An array of data classes or ranges for
  6874. * the choropleth map. If none given, the color axis is scalar and values
  6875. * are distributed as a gradient between the minimum and maximum colors.
  6876. */
  6877. dataClasses?: Array<ColorAxisDataClassesOptions>;
  6878. /**
  6879. * (Highcharts, Highstock, Highmaps) Whether to force the axis to end on a
  6880. * tick. Use this option with the maxPadding option to control the axis end.
  6881. */
  6882. endOnTick?: boolean;
  6883. /**
  6884. * (Highcharts, Highstock, Highmaps) Event handlers for the axis.
  6885. */
  6886. events?: ColorAxisEventsOptions;
  6887. /**
  6888. * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
  6889. * computed axis extremes.
  6890. */
  6891. floor?: number;
  6892. /**
  6893. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  6894. */
  6895. grid?: ColorAxisGridOptions;
  6896. /**
  6897. * (Highcharts, Highstock, Highmaps) Color of the grid lines extending from
  6898. * the axis across the gradient.
  6899. */
  6900. gridLineColor?: (ColorString|GradientColorObject|PatternObject);
  6901. /**
  6902. * (Highcharts, Highstock, Highmaps) The dash or dot style of the grid
  6903. * lines. For possible values, see this demonstration.
  6904. */
  6905. gridLineDashStyle?: DashStyleValue;
  6906. /**
  6907. * (Highcharts) Polar charts only. Whether the grid lines should draw as a
  6908. * polygon with straight lines between categories, or as circles. Can be
  6909. * either `circle` or `polygon`. Since v8.0.0 this option is also applicable
  6910. * for X axis (inverted polar).
  6911. */
  6912. gridLineInterpolation?: OptionsGridLineInterpolationValue;
  6913. /**
  6914. * (Highcharts, Highstock, Highmaps) The width of the grid lines extending
  6915. * from the axis across the gradient of a scalar color axis.
  6916. */
  6917. gridLineWidth?: number;
  6918. /**
  6919. * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
  6920. */
  6921. gridZIndex?: number;
  6922. /**
  6923. * (Highcharts, Highstock, Highmaps) An id for the axis. This can be used
  6924. * after render time to get a pointer to the axis object through
  6925. * `chart.get()`.
  6926. */
  6927. id?: string;
  6928. /**
  6929. * (Highcharts, Highstock, Highmaps) The axis labels show the number for
  6930. * each tick.
  6931. *
  6932. * For more live examples on label options, see xAxis.labels in the
  6933. * Highcharts API.
  6934. */
  6935. labels?: ColorAxisLabelsOptions;
  6936. /**
  6937. * (Highcharts, Highstock, Highmaps) The layout of the color axis. Can be
  6938. * `'horizontal'` or `'vertical'`. If none given, the color axis has the
  6939. * same layout as the legend.
  6940. */
  6941. layout?: (string|undefined);
  6942. /**
  6943. * (Highcharts, Highstock, Highmaps) The color of the line marking the axis
  6944. * itself.
  6945. *
  6946. * In styled mode, the line stroke is given in the `.highcharts-axis-line`
  6947. * or `.highcharts-xaxis-line` class.
  6948. */
  6949. lineColor?: ColorType;
  6950. /**
  6951. * (Highcharts, Highstock, Highmaps) If there are multiple axes on the same
  6952. * side of the chart, the pixel margin between the axes. Defaults to 0 on
  6953. * vertical axes, 15 on horizontal axes.
  6954. */
  6955. margin?: number;
  6956. /**
  6957. * (Highcharts, Highstock, Highmaps) The triangular marker on a scalar color
  6958. * axis that points to the value of the hovered area. To disable the marker,
  6959. * set `marker: null`.
  6960. */
  6961. marker?: PointMarkerOptionsObject;
  6962. /**
  6963. * (Highcharts, Highstock, Highmaps) The maximum value of the axis in terms
  6964. * of map point values. If `null`, the max value is automatically
  6965. * calculated. If the `endOnTick` option is true, the max value might be
  6966. * rounded up.
  6967. */
  6968. max?: number;
  6969. /**
  6970. * (Highcharts, Highstock, Highmaps) The color to represent the maximum of
  6971. * the color axis. Unless dataClasses or stops are set, the gradient ends at
  6972. * this value.
  6973. *
  6974. * If dataClasses are set, the color is based on minColor and maxColor
  6975. * unless a color is set for each data class, or the dataClassColor is set.
  6976. */
  6977. maxColor?: (ColorString|GradientColorObject|PatternObject);
  6978. /**
  6979. * (Highcharts, Highstock, Highmaps) Padding of the max value relative to
  6980. * the length of the axis. A padding of 0.05 will make a 100px axis 5px
  6981. * longer.
  6982. */
  6983. maxPadding?: number;
  6984. /**
  6985. * (Highstock, Gantt) Maximum range which can be set using the navigator's
  6986. * handles. Opposite of xAxis.minRange.
  6987. */
  6988. maxRange?: number;
  6989. /**
  6990. * (Highcharts, Highstock, Highmaps) The minimum value of the axis in terms
  6991. * of map point values. If `null`, the min value is automatically
  6992. * calculated. If the `startOnTick` option is true, the min value might be
  6993. * rounded down.
  6994. */
  6995. min?: number;
  6996. /**
  6997. * (Highcharts, Highstock, Highmaps) The color to represent the minimum of
  6998. * the color axis. Unless dataClasses or stops are set, the gradient starts
  6999. * at this value.
  7000. *
  7001. * If dataClasses are set, the color is based on minColor and maxColor
  7002. * unless a color is set for each data class, or the dataClassColor is set.
  7003. */
  7004. minColor?: (ColorString|GradientColorObject|PatternObject);
  7005. /**
  7006. * (Highcharts, Highstock, Highmaps) Color of the minor, secondary grid
  7007. * lines.
  7008. *
  7009. * In styled mode, the stroke width is given in the
  7010. * `.highcharts-minor-grid-line` class.
  7011. */
  7012. minorGridLineColor?: ColorType;
  7013. /**
  7014. * (Highcharts, Highstock, Highmaps) The dash or dot style of the minor grid
  7015. * lines. For possible values, see this demonstration.
  7016. */
  7017. minorGridLineDashStyle?: DashStyleValue;
  7018. /**
  7019. * (Highcharts, Highstock, Highmaps) Width of the minor, secondary grid
  7020. * lines.
  7021. *
  7022. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  7023. * class.
  7024. */
  7025. minorGridLineWidth?: number;
  7026. /**
  7027. * (Highcharts, Highstock, Highmaps) Color for the minor tick marks.
  7028. */
  7029. minorTickColor?: ColorType;
  7030. /**
  7031. * (Highcharts, Highstock, Highmaps) Specific tick interval in axis units
  7032. * for the minor ticks. On a linear axis, if `"auto"`, the minor tick
  7033. * interval is calculated as a fifth of the tickInterval. If `null` or
  7034. * `undefined`, minor ticks are not shown.
  7035. *
  7036. * On logarithmic axes, the unit is the power of the value. For example,
  7037. * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
  7038. * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
  7039. * and 10, 10 and 100 etc.
  7040. *
  7041. * If user settings dictate minor ticks to become too dense, they don't make
  7042. * sense, and will be ignored to prevent performance problems.
  7043. */
  7044. minorTickInterval?: (number|string|null);
  7045. /**
  7046. * (Highcharts, Highstock, Highmaps) The pixel length of the minor tick
  7047. * marks.
  7048. */
  7049. minorTickLength?: number;
  7050. /**
  7051. * (Highcharts, Highstock, Highmaps) The position of the minor tick marks
  7052. * relative to the axis line. Can be one of `inside` and `outside`.
  7053. */
  7054. minorTickPosition?: OptionsMinorTickPositionValue;
  7055. /**
  7056. * (Highcharts, Highstock, Highmaps) Enable or disable minor ticks. Unless
  7057. * minorTickInterval is set, the tick interval is calculated as a fifth of
  7058. * the `tickInterval`.
  7059. *
  7060. * On a logarithmic axis, minor ticks are laid out based on a best guess,
  7061. * attempting to enter approximately 5 minor ticks between each major tick.
  7062. *
  7063. * Prior to v6.0.0, ticks were unabled in auto layout by setting
  7064. * `minorTickInterval` to `"auto"`.
  7065. */
  7066. minorTicks?: boolean;
  7067. /**
  7068. * (Highcharts, Highstock, Highmaps) The pixel width of the minor tick mark.
  7069. */
  7070. minorTickWidth?: number;
  7071. /**
  7072. * (Highcharts, Highstock, Highmaps) Padding of the min value relative to
  7073. * the length of the axis. A padding of 0.05 will make a 100px axis 5px
  7074. * longer.
  7075. */
  7076. minPadding?: number;
  7077. /**
  7078. * (Highstock) In an ordinal axis, the points are equally spaced in the
  7079. * chart regardless of the actual time or x distance between them. This
  7080. * means that missing data periods (e.g. nights or weekends for a stock
  7081. * chart) will not take up space in the chart. Having `ordinal: false` will
  7082. * show any gaps created by the `gapSize` setting proportionate to their
  7083. * duration.
  7084. *
  7085. * In stock charts the X axis is ordinal by default, unless the boost module
  7086. * is used and at least one of the series' data length exceeds the
  7087. * boostThreshold.
  7088. */
  7089. ordinal?: boolean;
  7090. /**
  7091. * (Highstock) Additional range on the right side of the xAxis. Works
  7092. * similar to `xAxis.maxPadding`, but value is set in milliseconds. Can be
  7093. * set for both main `xAxis` and the navigator's `xAxis`.
  7094. */
  7095. overscroll?: number;
  7096. /**
  7097. * (Highstock) The zoomed range to display when only defining one or none of
  7098. * `min` or `max`. For example, to show the latest month, a range of one
  7099. * month can be set.
  7100. */
  7101. range?: number;
  7102. /**
  7103. * (Highcharts, Highstock, Highmaps) Whether to reverse the axis so that the
  7104. * highest number is closest to the origin. Defaults to `false` in a
  7105. * horizontal legend and `true` in a vertical legend, where the smallest
  7106. * value starts on top.
  7107. */
  7108. reversed?: boolean;
  7109. /**
  7110. * (Highstock) An optional scrollbar to display on the X axis in response to
  7111. * limiting the minimum and maximum of the axis values.
  7112. *
  7113. * In styled mode, all the presentational options for the scrollbar are
  7114. * replaced by the classes `.highcharts-scrollbar-thumb`,
  7115. * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
  7116. * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
  7117. */
  7118. scrollbar?: ColorAxisScrollbarOptions;
  7119. /**
  7120. * (Highcharts, Highstock, Highmaps) Whether to show the first tick label.
  7121. */
  7122. showFirstLabel?: boolean;
  7123. /**
  7124. * (Highcharts, Highstock, Highmaps) Whether to display the colorAxis in the
  7125. * legend.
  7126. */
  7127. showInLegend?: boolean;
  7128. /**
  7129. * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
  7130. * Defaults to `true` on cartesian charts, and `false` on polar charts.
  7131. */
  7132. showLastLabel?: boolean;
  7133. /**
  7134. * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
  7135. * data maximum is less than this, the axis will stay at this maximum, but
  7136. * if the series data maximum is higher, the axis will flex to show all
  7137. * data.
  7138. */
  7139. softMax?: number;
  7140. /**
  7141. * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
  7142. * data minimum is greater than this, the axis will stay at this minimum,
  7143. * but if the series data minimum is lower, the axis will flex to show all
  7144. * data.
  7145. */
  7146. softMin?: number;
  7147. /**
  7148. * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
  7149. * put the tick between weeks. 0 = Sunday, 1 = Monday.
  7150. */
  7151. startOfWeek?: number;
  7152. /**
  7153. * (Highcharts, Highstock, Highmaps) Whether to force the axis to start on a
  7154. * tick. Use this option with the `maxPadding` option to control the axis
  7155. * start.
  7156. */
  7157. startOnTick?: boolean;
  7158. /**
  7159. * (Highcharts, Highstock, Highmaps) Color stops for the gradient of a
  7160. * scalar color axis. Use this in cases where a linear gradient between a
  7161. * `minColor` and `maxColor` is not sufficient. The stops is an array of
  7162. * tuples, where the first item is a float between 0 and 1 assigning the
  7163. * relative position in the gradient, and the second item is the color.
  7164. */
  7165. stops?: Array<[number, ColorString]>;
  7166. /**
  7167. * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
  7168. * This opens up for aligning the ticks of multiple charts or panes within a
  7169. * chart. This option overrides the `tickPixelInterval` option.
  7170. *
  7171. * This option only has an effect on linear axes. Datetime, logarithmic or
  7172. * category axes are not affected.
  7173. */
  7174. tickAmount?: number;
  7175. /**
  7176. * (Highcharts, Highstock, Highmaps) Color for the main tick marks.
  7177. *
  7178. * In styled mode, the stroke is given in the `.highcharts-tick` class.
  7179. */
  7180. tickColor?: ColorType;
  7181. /**
  7182. * (Highcharts, Highstock, Highmaps) The interval of the tick marks in axis
  7183. * units. When `null`, the tick interval is computed to approximately follow
  7184. * the `tickPixelInterval`.
  7185. */
  7186. tickInterval?: number;
  7187. /**
  7188. * (Highcharts, Highstock, Highmaps) The pixel length of the main tick marks
  7189. * on the color axis.
  7190. */
  7191. tickLength?: number;
  7192. /**
  7193. * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
  7194. * placed in the center of the category, if `between` the tick mark is
  7195. * placed between categories. The default is `between` if the `tickInterval`
  7196. * is 1, else `on`.
  7197. */
  7198. tickmarkPlacement?: OptionsTickmarkPlacementValue;
  7199. /**
  7200. * (Highcharts, Highstock, Highmaps) If tickInterval is `null` this option
  7201. * sets the approximate pixel interval of the tick marks.
  7202. */
  7203. tickPixelInterval?: number;
  7204. /**
  7205. * (Highcharts, Highstock, Highmaps) The position of the major tick marks
  7206. * relative to the axis line. Can be one of `inside` and `outside`.
  7207. */
  7208. tickPosition?: OptionsTickPositionValue;
  7209. /**
  7210. * (Highcharts, Highstock, Highmaps) A callback function returning array
  7211. * defining where the ticks are laid out on the axis. This overrides the
  7212. * default behaviour of tickPixelInterval and tickInterval. The automatic
  7213. * tick positions are accessible through `this.tickPositions` and can be
  7214. * modified by the callback.
  7215. */
  7216. tickPositioner?: AxisTickPositionerCallbackFunction;
  7217. /**
  7218. * (Highcharts, Highstock, Highmaps) An array defining where the ticks are
  7219. * laid out on the axis. This overrides the default behaviour of
  7220. * tickPixelInterval and tickInterval.
  7221. */
  7222. tickPositions?: Array<number>;
  7223. /**
  7224. * (Highcharts, Highstock, Highmaps) The pixel width of the major tick
  7225. * marks. Defaults to 0 on category axes, otherwise 1.
  7226. *
  7227. * In styled mode, the stroke width is given in the `.highcharts-tick`
  7228. * class, but in order for the element to be generated on category axes, the
  7229. * option must be explicitly set to 1.
  7230. */
  7231. tickWidth?: (number|undefined);
  7232. /**
  7233. * (Highcharts, Highstock, Highmaps) The type of interpolation to use for
  7234. * the color axis. Can be `linear` or `logarithmic`.
  7235. */
  7236. type?: ColorAxisTypeValue;
  7237. /**
  7238. * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
  7239. * `uniqueNames` is true, points are placed on the X axis according to their
  7240. * names. If the same point name is repeated in the same or another series,
  7241. * the point is placed on the same X position as other points of the same
  7242. * name. When `uniqueNames` is false, the points are laid out in increasing
  7243. * X positions regardless of their names, and the X axis category will take
  7244. * the name of the last point in each position.
  7245. */
  7246. uniqueNames?: boolean;
  7247. /**
  7248. * (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
  7249. * what time intervals the ticks are allowed to fall on. Each array item is
  7250. * an array where the first value is the time unit and the second value
  7251. * another array of allowed multiples.
  7252. *
  7253. * Defaults to: (see online documentation for example)
  7254. */
  7255. units?: Array<[string, (Array<number>|null)]>;
  7256. /**
  7257. * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
  7258. * ticks and labels, should be visible.
  7259. */
  7260. visible?: boolean;
  7261. }
  7262. /**
  7263. * (Highstock) An optional scrollbar to display on the X axis in response to
  7264. * limiting the minimum and maximum of the axis values.
  7265. *
  7266. * In styled mode, all the presentational options for the scrollbar are replaced
  7267. * by the classes `.highcharts-scrollbar-thumb`, `.highcharts-scrollbar-arrow`,
  7268. * `.highcharts-scrollbar-button`, `.highcharts-scrollbar-rifles` and
  7269. * `.highcharts-scrollbar-track`.
  7270. */
  7271. export interface ColorAxisScrollbarOptions {
  7272. /**
  7273. * (Highstock) The background color of the scrollbar itself.
  7274. */
  7275. barBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  7276. /**
  7277. * (Highstock) The color of the scrollbar's border.
  7278. */
  7279. barBorderColor?: (ColorString|GradientColorObject|PatternObject);
  7280. /**
  7281. * (Highstock) The border rounding radius of the bar.
  7282. */
  7283. barBorderRadius?: number;
  7284. /**
  7285. * (Highstock) The width of the bar's border.
  7286. */
  7287. barBorderWidth?: number;
  7288. /**
  7289. * (Highstock) The color of the small arrow inside the scrollbar buttons.
  7290. */
  7291. buttonArrowColor?: (ColorString|GradientColorObject|PatternObject);
  7292. /**
  7293. * (Highstock) The color of scrollbar buttons.
  7294. */
  7295. buttonBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  7296. /**
  7297. * (Highstock) The color of the border of the scrollbar buttons.
  7298. */
  7299. buttonBorderColor?: (ColorString|GradientColorObject|PatternObject);
  7300. /**
  7301. * (Highstock) The corner radius of the scrollbar buttons.
  7302. */
  7303. buttonBorderRadius?: number;
  7304. /**
  7305. * (Highstock) The border width of the scrollbar buttons.
  7306. */
  7307. buttonBorderWidth?: number;
  7308. /**
  7309. * (Highstock) Enable or disable the scrollbar.
  7310. */
  7311. enabled?: boolean;
  7312. /**
  7313. * (Highstock) The height of the scrollbar. The height also applies to the
  7314. * width of the scroll arrows so that they are always squares. Defaults to
  7315. * 20 for touch devices and 14 for mouse devices.
  7316. */
  7317. height?: number;
  7318. /**
  7319. * (Highstock) Whether to redraw the main chart as the scrollbar or the
  7320. * navigator zoomed window is moved. Defaults to `true` for modern browsers
  7321. * and `false` for legacy IE browsers as well as mobile devices.
  7322. */
  7323. liveRedraw?: boolean;
  7324. /**
  7325. * (Highstock) The margin between the scrollbar and its axis when the
  7326. * scrollbar is applied directly to an axis.
  7327. */
  7328. margin?: number;
  7329. /**
  7330. * (Highstock) The minimum width of the scrollbar.
  7331. */
  7332. minWidth?: number;
  7333. /**
  7334. * (Highstock) The color of the small rifles in the middle of the scrollbar.
  7335. */
  7336. rifleColor?: (ColorString|GradientColorObject|PatternObject);
  7337. /**
  7338. * (Highstock) Whether to show or hide the scrollbar when the scrolled
  7339. * content is zoomed out to it full extent.
  7340. */
  7341. showFull?: boolean;
  7342. step?: number;
  7343. /**
  7344. * (Highstock) The color of the track background.
  7345. */
  7346. trackBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  7347. /**
  7348. * (Highstock) The color of the border of the scrollbar track.
  7349. */
  7350. trackBorderColor?: (ColorString|GradientColorObject|PatternObject);
  7351. /**
  7352. * (Highstock) The corner radius of the border of the scrollbar track.
  7353. */
  7354. trackBorderRadius?: number;
  7355. /**
  7356. * (Highstock) The width of the border of the scrollbar track.
  7357. */
  7358. trackBorderWidth?: number;
  7359. /**
  7360. * (Highstock) The z index of the scrollbar group.
  7361. */
  7362. zIndex?: number;
  7363. }
  7364. export interface ConnectorsAnimationOptionsObject {
  7365. reversed?: boolean;
  7366. }
  7367. /**
  7368. * (Gantt) Marker options specific to the end markers for this chart's
  7369. * Pathfinder connectors. Overrides the generic marker options.
  7370. */
  7371. export interface ConnectorsEndMarkerOptions {
  7372. /**
  7373. * (Gantt) Horizontal alignment of the markers relative to the points.
  7374. */
  7375. align?: (string|AlignValue);
  7376. /**
  7377. * (Gantt) Set the color of the connector markers. By default this is the
  7378. * same as the connector color.
  7379. */
  7380. color?: (ColorString|GradientColorObject|PatternObject);
  7381. /**
  7382. * (Gantt) Enable markers for the connectors.
  7383. */
  7384. enabled?: boolean;
  7385. /**
  7386. * (Gantt) Set the height of the connector markers. If not supplied, this is
  7387. * inferred from the marker radius.
  7388. */
  7389. height?: number;
  7390. /**
  7391. * (Gantt) Whether or not to draw the markers inside the points.
  7392. */
  7393. inside?: boolean;
  7394. /**
  7395. * (Gantt) Set the line/border color of the connector markers. By default
  7396. * this is the same as the marker color.
  7397. */
  7398. lineColor?: ColorString;
  7399. /**
  7400. * (Gantt) Set the line/border width of the pathfinder markers.
  7401. */
  7402. lineWidth?: number;
  7403. /**
  7404. * (Gantt) Set the radius of the connector markers. The default is
  7405. * automatically computed based on the algorithmMargin setting.
  7406. *
  7407. * Setting marker.width and marker.height will override this setting.
  7408. */
  7409. radius?: number;
  7410. /**
  7411. * (Gantt) Set the symbol of the connector end markers.
  7412. */
  7413. symbol?: string;
  7414. /**
  7415. * (Gantt) Vertical alignment of the markers relative to the points.
  7416. */
  7417. verticalAlign?: VerticalAlignValue;
  7418. /**
  7419. * (Gantt) Set the width of the connector markers. If not supplied, this is
  7420. * inferred from the marker radius.
  7421. */
  7422. width?: number;
  7423. }
  7424. /**
  7425. * (Gantt) Marker options for this chart's Pathfinder connectors. Note that this
  7426. * option is overridden by the `startMarker` and `endMarker` options.
  7427. */
  7428. export interface ConnectorsMarkerOptions {
  7429. /**
  7430. * (Gantt) Horizontal alignment of the markers relative to the points.
  7431. */
  7432. align?: AlignValue;
  7433. /**
  7434. * (Gantt) Set the color of the connector markers. By default this is the
  7435. * same as the connector color.
  7436. */
  7437. color?: (ColorString|GradientColorObject|PatternObject);
  7438. /**
  7439. * (Gantt) Enable markers for the connectors.
  7440. */
  7441. enabled?: boolean;
  7442. /**
  7443. * (Gantt) Set the height of the connector markers. If not supplied, this is
  7444. * inferred from the marker radius.
  7445. */
  7446. height?: number;
  7447. /**
  7448. * (Gantt) Whether or not to draw the markers inside the points.
  7449. */
  7450. inside?: boolean;
  7451. /**
  7452. * (Gantt) Set the line/border color of the connector markers. By default
  7453. * this is the same as the marker color.
  7454. */
  7455. lineColor?: ColorString;
  7456. /**
  7457. * (Gantt) Set the line/border width of the pathfinder markers.
  7458. */
  7459. lineWidth?: number;
  7460. /**
  7461. * (Gantt) Set the radius of the connector markers. The default is
  7462. * automatically computed based on the algorithmMargin setting.
  7463. *
  7464. * Setting marker.width and marker.height will override this setting.
  7465. */
  7466. radius?: number;
  7467. /**
  7468. * (Gantt) Vertical alignment of the markers relative to the points.
  7469. */
  7470. verticalAlign?: VerticalAlignValue;
  7471. /**
  7472. * (Gantt) Set the width of the connector markers. If not supplied, this is
  7473. * inferred from the marker radius.
  7474. */
  7475. width?: number;
  7476. }
  7477. /**
  7478. * (Gantt) The Pathfinder module allows you to define connections between any
  7479. * two points, represented as lines - optionally with markers for the start
  7480. * and/or end points. Multiple algorithms are available for calculating how the
  7481. * connecting lines are drawn.
  7482. *
  7483. * Connector functionality requires Highcharts Gantt to be loaded. In Gantt
  7484. * charts, the connectors are used to draw dependencies between tasks.
  7485. */
  7486. export interface ConnectorsOptions {
  7487. /**
  7488. * (Gantt) Set the default pathfinder margin to use, in pixels. Some
  7489. * Pathfinder algorithms attempt to avoid obstacles, such as other points in
  7490. * the chart. These algorithms use this margin to determine how close lines
  7491. * can be to an obstacle. The default is to compute this automatically from
  7492. * the size of the obstacles in the chart.
  7493. *
  7494. * To draw connecting lines close to existing points, set this to a low
  7495. * number. For more space around existing points, set this number higher.
  7496. */
  7497. algorithmMargin?: number;
  7498. /**
  7499. * (Gantt) Set the default dash style for this chart's connecting lines.
  7500. */
  7501. dashStyle?: string;
  7502. /**
  7503. * (Gantt) Enable connectors for this chart. Requires Highcharts Gantt.
  7504. */
  7505. enabled?: boolean;
  7506. /**
  7507. * (Gantt) Marker options specific to the end markers for this chart's
  7508. * Pathfinder connectors. Overrides the generic marker options.
  7509. */
  7510. endMarker?: ConnectorsEndMarkerOptions;
  7511. /**
  7512. * (Gantt) Set the default color for this chart's Pathfinder connecting
  7513. * lines. Defaults to the color of the point being connected.
  7514. */
  7515. lineColor?: ColorString;
  7516. /**
  7517. * (Gantt) Set the default pixel width for this chart's Pathfinder
  7518. * connecting lines.
  7519. */
  7520. lineWidth?: number;
  7521. /**
  7522. * (Gantt) Marker options for this chart's Pathfinder connectors. Note that
  7523. * this option is overridden by the `startMarker` and `endMarker` options.
  7524. */
  7525. marker?: ConnectorsMarkerOptions;
  7526. /**
  7527. * (Gantt) Marker options specific to the start markers for this chart's
  7528. * Pathfinder connectors. Overrides the generic marker options.
  7529. */
  7530. startMarker?: ConnectorsStartMarkerOptions;
  7531. /**
  7532. * (Gantt) Set the default pathfinder algorithm to use for this chart. It is
  7533. * possible to define your own algorithms by adding them to the
  7534. * Highcharts.Pathfinder.prototype.algorithms object before the chart has
  7535. * been created.
  7536. *
  7537. * The default algorithms are as follows:
  7538. *
  7539. * `straight`: Draws a straight line between the connecting points. Does not
  7540. * avoid other points when drawing.
  7541. *
  7542. * `simpleConnect`: Finds a path between the points using right angles only.
  7543. * Takes only starting/ending points into account, and will not avoid other
  7544. * points.
  7545. *
  7546. * `fastAvoid`: Finds a path between the points using right angles only.
  7547. * Will attempt to avoid other points, but its focus is performance over
  7548. * accuracy. Works well with less dense datasets.
  7549. *
  7550. * Default value: `straight` is used as default for most series types, while
  7551. * `simpleConnect` is used as default for Gantt series, to show dependencies
  7552. * between points.
  7553. */
  7554. type?: PathfinderTypeValue;
  7555. }
  7556. /**
  7557. * (Gantt) Marker options specific to the start markers for this chart's
  7558. * Pathfinder connectors. Overrides the generic marker options.
  7559. */
  7560. export interface ConnectorsStartMarkerOptions {
  7561. /**
  7562. * (Gantt) Horizontal alignment of the markers relative to the points.
  7563. */
  7564. align?: (string|AlignValue);
  7565. /**
  7566. * (Gantt) Set the color of the connector markers. By default this is the
  7567. * same as the connector color.
  7568. */
  7569. color?: (ColorString|GradientColorObject|PatternObject);
  7570. /**
  7571. * (Gantt) Enable markers for the connectors.
  7572. */
  7573. enabled?: boolean;
  7574. fill?: string;
  7575. /**
  7576. * (Gantt) Set the height of the connector markers. If not supplied, this is
  7577. * inferred from the marker radius.
  7578. */
  7579. height?: number;
  7580. /**
  7581. * (Gantt) Whether or not to draw the markers inside the points.
  7582. */
  7583. inside?: boolean;
  7584. /**
  7585. * (Gantt) Set the line/border color of the connector markers. By default
  7586. * this is the same as the marker color.
  7587. */
  7588. lineColor?: ColorString;
  7589. /**
  7590. * (Gantt) Set the line/border width of the pathfinder markers.
  7591. */
  7592. lineWidth?: number;
  7593. /**
  7594. * (Gantt) Set the radius of the connector markers. The default is
  7595. * automatically computed based on the algorithmMargin setting.
  7596. *
  7597. * Setting marker.width and marker.height will override this setting.
  7598. */
  7599. radius?: number;
  7600. /**
  7601. * (Gantt) Set the symbol of the connector start markers.
  7602. */
  7603. symbol?: string;
  7604. /**
  7605. * (Gantt) Vertical alignment of the markers relative to the points.
  7606. */
  7607. verticalAlign?: VerticalAlignValue;
  7608. /**
  7609. * (Gantt) Set the width of the connector markers. If not supplied, this is
  7610. * inferred from the marker radius.
  7611. */
  7612. width?: number;
  7613. }
  7614. /**
  7615. * (Highcharts, Highstock, Highmaps, Gantt) Highchart by default puts a credits
  7616. * label in the lower right corner of the chart. This can be changed using these
  7617. * options.
  7618. */
  7619. export interface CreditsOptions {
  7620. /**
  7621. * (Highcharts, Highstock, Highmaps, Gantt) Whether to show the credits
  7622. * text.
  7623. */
  7624. enabled?: boolean;
  7625. /**
  7626. * (Highcharts, Highstock, Highmaps, Gantt) The URL for the credits label.
  7627. */
  7628. href?: string;
  7629. /**
  7630. * (Highmaps) Credits for map source to be concatenated with conventional
  7631. * credit text. By default this is a format string that collects copyright
  7632. * information from the map if available.
  7633. */
  7634. mapText?: string;
  7635. /**
  7636. * (Highmaps) Detailed credits for map source to be displayed on hover of
  7637. * credits text. By default this is a format string that collects copyright
  7638. * information from the map if available.
  7639. */
  7640. mapTextFull?: string;
  7641. /**
  7642. * (Highcharts, Highstock, Highmaps, Gantt) Position configuration for the
  7643. * credits label.
  7644. */
  7645. position?: AlignObject;
  7646. /**
  7647. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the credits
  7648. * label.
  7649. */
  7650. style?: CSSObject;
  7651. /**
  7652. * (Highcharts, Highstock, Highmaps, Gantt) The text for the credits label.
  7653. */
  7654. text?: string;
  7655. }
  7656. /**
  7657. * A style object with camel case property names to define visual appearance of
  7658. * a SVG element or HTML element. The properties can be whatever styles are
  7659. * supported on the given SVG or HTML element.
  7660. */
  7661. export interface CSSObject {
  7662. [key: string]: (boolean|number|string|undefined);
  7663. /**
  7664. * Background style for the element.
  7665. */
  7666. background?: string;
  7667. /**
  7668. * Background color of the element.
  7669. */
  7670. backgroundColor?: ColorString;
  7671. /**
  7672. * Border style for the element.
  7673. */
  7674. border?: string;
  7675. /**
  7676. * Radius of the element border.
  7677. */
  7678. borderRadius?: number;
  7679. /**
  7680. * Color used in the element. The 'contrast' option is a Highcharts custom
  7681. * property that results in black or white, depending on the background of
  7682. * the element.
  7683. */
  7684. color?: ('contrast'|ColorString);
  7685. /**
  7686. * Style of the mouse cursor when resting over the element.
  7687. */
  7688. cursor?: CursorValue;
  7689. /**
  7690. * Font family of the element text. Multiple values have to be in decreasing
  7691. * preference order and separated by comma.
  7692. */
  7693. fontFamily?: string;
  7694. /**
  7695. * Font size of the element text.
  7696. */
  7697. fontSize?: string;
  7698. /**
  7699. * Font weight of the element text.
  7700. */
  7701. fontWeight?: string;
  7702. /**
  7703. * Height of the element.
  7704. */
  7705. height?: number;
  7706. /**
  7707. * Width of the element border.
  7708. */
  7709. lineWidth?: number;
  7710. /**
  7711. * Opacity of the element.
  7712. */
  7713. opacity?: number;
  7714. /**
  7715. * Space around the element content.
  7716. */
  7717. padding?: string;
  7718. /**
  7719. * Behaviour of the element when the mouse cursor rests over it.
  7720. */
  7721. pointerEvents?: string;
  7722. /**
  7723. * Positioning of the element.
  7724. */
  7725. position?: string;
  7726. /**
  7727. * Alignment of the element text.
  7728. */
  7729. textAlign?: string;
  7730. /**
  7731. * Additional decoration of the element text.
  7732. */
  7733. textDecoration?: string;
  7734. /**
  7735. * Outline style of the element text.
  7736. */
  7737. textOutline?: string;
  7738. /**
  7739. * Line break style of the element text. Highcharts SVG elements support
  7740. * `ellipsis` when a `width` is set.
  7741. */
  7742. textOverflow?: string;
  7743. /**
  7744. * Top spacing of the element relative to the parent element.
  7745. */
  7746. top?: string;
  7747. /**
  7748. * Animated transition of selected element properties.
  7749. */
  7750. transition?: string;
  7751. /**
  7752. * Line break style of the element text.
  7753. */
  7754. whiteSpace?: string;
  7755. /**
  7756. * Width of the element.
  7757. */
  7758. width?: number;
  7759. }
  7760. export interface DataGroupingInfoObject {
  7761. length: number;
  7762. options?: SeriesOptionsType;
  7763. start: number;
  7764. }
  7765. /**
  7766. * (Highstock) A custom data grouping object for each button.
  7767. */
  7768. export interface DataGroupingOptionsObject {
  7769. /**
  7770. * (Highstock) The method of approximation inside a group. When for example
  7771. * 30 days are grouped into one month, this determines what value should
  7772. * represent the group. Possible values are "average", "averages", "open",
  7773. * "high", "low", "close" and "sum". For OHLC and candlestick series the
  7774. * approximation is "ohlc" by default, which finds the open, high, low and
  7775. * close values within all the grouped data. For ranges, the approximation
  7776. * is "range", which finds the low and high values. For multi-dimensional
  7777. * data, like ranges and OHLC, "averages" will compute the average for each
  7778. * dimension.
  7779. *
  7780. * Custom aggregate methods can be added by assigning a callback function as
  7781. * the approximation. This function takes a numeric array as the argument
  7782. * and should return a single numeric value or `null`. Note that the numeric
  7783. * array will never contain null values, only true numbers. Instead, if null
  7784. * values are present in the raw data, the numeric array will have an
  7785. * `.hasNulls` property set to `true`. For single-value data sets the data
  7786. * is available in the first argument of the callback function. For OHLC
  7787. * data sets, all the open values are in the first argument, all high values
  7788. * in the second etc.
  7789. *
  7790. * Since v4.2.7, grouping meta data is available in the approximation
  7791. * callback from `this.dataGroupInfo`. It can be used to extract information
  7792. * from the raw data.
  7793. *
  7794. * Defaults to `average` for line-type series, `sum` for columns, `range`
  7795. * for range series and `ohlc` for OHLC and candlestick.
  7796. */
  7797. approximation?: (string|DataGroupingApproximationValue|Function);
  7798. /**
  7799. * (Highstock) Datetime formats for the header of the tooltip in a stock
  7800. * chart. The format can vary within a chart depending on the currently
  7801. * selected time range and the current data grouping.
  7802. *
  7803. * The default formats are: (see online documentation for example)
  7804. *
  7805. * For each of these array definitions, the first item is the format used
  7806. * when the active time span is one unit. For instance, if the current data
  7807. * applies to one week, the first item of the week array is used. The second
  7808. * and third items are used when the active time span is more than two
  7809. * units. For instance, if the current data applies to two weeks, the second
  7810. * and third item of the week array are used, and applied to the start and
  7811. * end date of the time span.
  7812. */
  7813. dateTimeLabelFormats?: object;
  7814. /**
  7815. * (Highstock) Enable or disable data grouping.
  7816. */
  7817. enabled?: boolean;
  7818. /**
  7819. * (Highstock) When data grouping is forced, it runs no matter how small the
  7820. * intervals are. This can be handy for example when the sum should be
  7821. * calculated for values appearing at random times within each hour.
  7822. */
  7823. forced?: boolean;
  7824. /**
  7825. * (Highstock) By default only points within the visible range are grouped.
  7826. * Enabling this option will force data grouping to calculate all grouped
  7827. * points for a given dataset. That option prevents for example a column
  7828. * series from calculating a grouped point partially. The effect is similar
  7829. * to Series.getExtremesFromAll but does not affect yAxis extremes.
  7830. */
  7831. groupAll?: boolean;
  7832. /**
  7833. * (Highstock) The approximate pixel width of each group. If for example a
  7834. * series with 30 points is displayed over a 600 pixel wide plot area, no
  7835. * grouping is performed. If however the series contains so many points that
  7836. * the spacing is less than the groupPixelWidth, Highcharts will try to
  7837. * group it into appropriate groups so that each is more or less two pixels
  7838. * wide. If multiple series with different group pixel widths are drawn on
  7839. * the same x axis, all series will take the greatest width. For example,
  7840. * line series have 2px default group width, while column series have 10px.
  7841. * If combined, both the line and the column will have 10px by default.
  7842. */
  7843. groupPixelWidth?: number;
  7844. /**
  7845. * (Highstock) Normally, a group is indexed by the start of that group, so
  7846. * for example when 30 daily values are grouped into one month, that month's
  7847. * x value will be the 1st of the month. This apparently shifts the data to
  7848. * the left. When the smoothed option is true, this is compensated for. The
  7849. * data is shifted to the middle of the group, and min and max values are
  7850. * preserved. Internally, this is used in the Navigator series.
  7851. */
  7852. smoothed?: boolean;
  7853. /**
  7854. * (Highstock) An array determining what time intervals the data is allowed
  7855. * to be grouped to. Each array item is an array where the first value is
  7856. * the time unit and the second value another array of allowed multiples.
  7857. *
  7858. * Defaults to: (see online documentation for example)
  7859. */
  7860. units?: Array<[string, (Array<number>|null)]>;
  7861. }
  7862. /**
  7863. * (Highcharts, Highstock, Gantt) A declarative filter to control of which data
  7864. * labels to display. The declarative filter is designed for use when callback
  7865. * functions are not available, like when the chart options require a pure JSON
  7866. * structure or for use with graphical editors. For programmatic control, use
  7867. * the `formatter` instead, and return `undefined` to disable a single data
  7868. * label.
  7869. */
  7870. export interface DataLabelsFilterOptionsObject {
  7871. /**
  7872. * (Highcharts, Highstock, Gantt) The operator to compare by. Can be one of
  7873. * `>`, `<`, `>=`, `<=`, `==`, and `===`.
  7874. */
  7875. operator?: OptionsOperatorValue;
  7876. /**
  7877. * (Highcharts, Highstock, Gantt) The point property to filter by. Point
  7878. * options are passed directly to properties, additionally there are `y`
  7879. * value, `percentage` and others listed under Highcharts.Point members.
  7880. */
  7881. property?: string;
  7882. /**
  7883. * (Highcharts, Highstock, Gantt) The value to compare against.
  7884. */
  7885. value?: number;
  7886. }
  7887. /**
  7888. * (Highcharts, Highstock, Gantt) Individual data label for each point. The
  7889. * options are the same as the ones for plotOptions.series.dataLabels.
  7890. */
  7891. export interface DataLabelsOptions {
  7892. /**
  7893. * (Highcharts, Highstock, Gantt) The alignment of the data label compared
  7894. * to the point. If `right`, the right side of the label should be touching
  7895. * the point. For points with an extent, like columns, the alignments also
  7896. * dictates how to align it inside the box, as given with the inside option.
  7897. * Can be one of `left`, `center` or `right`.
  7898. */
  7899. align?: (AlignValue|null);
  7900. /**
  7901. * (Highcharts, Highstock, Gantt) Whether to allow data labels to overlap.
  7902. * To make the labels less sensitive for overlapping, the dataLabels.padding
  7903. * can be set to 0.
  7904. */
  7905. allowOverlap?: boolean;
  7906. /**
  7907. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation
  7908. * when a series is displayed for the `dataLabels`. The animation can also
  7909. * be set as a configuration object. Please note that this option only
  7910. * applies to the initial animation. For other animations, see
  7911. * chart.animation and the animation parameter under the API methods. The
  7912. * following properties are supported:
  7913. *
  7914. * - `defer`: The animation delay time in milliseconds.
  7915. */
  7916. animation?: (boolean|SeriesAreaDataDataLabelsAnimationOptions|SeriesArearangeDataDataLabelsAnimationOptions|SeriesAreasplineDataDataLabelsAnimationOptions|
  7917. SeriesAreasplinerangeDataDataLabelsAnimationOptions|SeriesBarDataDataLabelsAnimationOptions|SeriesBoxplotDataDataLabelsAnimationOptions|SeriesBubbleDataDataLabelsAnimationOptions|
  7918. SeriesBulletDataDataLabelsAnimationOptions|SeriesCandlestickDataDataLabelsAnimationOptions|SeriesColumnDataDataLabelsAnimationOptions|SeriesColumnpyramidDataDataLabelsAnimationOptions|
  7919. SeriesColumnrangeDataDataLabelsAnimationOptions|SeriesCylinderDataDataLabelsAnimationOptions|SeriesDumbbellDataDataLabelsAnimationOptions|SeriesFunnelDataDataLabelsAnimationOptions|
  7920. SeriesGaugeDataDataLabelsAnimationOptions|SeriesHeatmapDataDataLabelsAnimationOptions|SeriesItemDataDataLabelsAnimationOptions|SeriesLineDataDataLabelsAnimationOptions|
  7921. SeriesLollipopDataDataLabelsAnimationOptions|SeriesNetworkgraphDataDataLabelsAnimationOptions|SeriesOhlcDataDataLabelsAnimationOptions|SeriesOrganizationDataDataLabelsAnimationOptions|
  7922. SeriesPackedbubbleDataDataLabelsAnimationOptions|SeriesParetoDataDataLabelsAnimationOptions|SeriesPieDataDataLabelsAnimationOptions|SeriesPolygonDataDataLabelsAnimationOptions|
  7923. SeriesPyramidDataDataLabelsAnimationOptions|SeriesSankeyDataDataLabelsAnimationOptions|SeriesScatter3dDataDataLabelsAnimationOptions|SeriesScatterDataDataLabelsAnimationOptions|
  7924. SeriesSolidgaugeDataDataLabelsAnimationOptions|SeriesSplineDataDataLabelsAnimationOptions|SeriesStreamgraphDataDataLabelsAnimationOptions|SeriesSunburstDataDataLabelsAnimationOptions|
  7925. SeriesTilemapDataDataLabelsAnimationOptions|SeriesTimelineDataDataLabelsAnimationOptions|SeriesTreemapDataDataLabelsAnimationOptions|SeriesVariablepieDataDataLabelsAnimationOptions|
  7926. SeriesVariwideDataDataLabelsAnimationOptions|SeriesVectorDataDataLabelsAnimationOptions|SeriesVennDataDataLabelsAnimationOptions|SeriesWaterfallDataDataLabelsAnimationOptions|
  7927. SeriesWindbarbDataDataLabelsAnimationOptions|SeriesWordcloudDataDataLabelsAnimationOptions|SeriesXrangeDataDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  7928. /**
  7929. * (Highcharts, Highstock, Gantt) The background color or gradient for the
  7930. * data label.
  7931. */
  7932. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  7933. /**
  7934. * (Highcharts, Highstock, Gantt) The border color for the data label.
  7935. * Defaults to `undefined`.
  7936. */
  7937. borderColor?: (ColorString|GradientColorObject|PatternObject);
  7938. /**
  7939. * (Highcharts, Highstock, Gantt) The border radius in pixels for the data
  7940. * label.
  7941. */
  7942. borderRadius?: number;
  7943. /**
  7944. * (Highcharts, Highstock, Gantt) The border width in pixels for the data
  7945. * label.
  7946. */
  7947. borderWidth?: number;
  7948. /**
  7949. * (Highcharts, Highstock, Gantt) A class name for the data label.
  7950. * Particularly in styled mode, this can be used to give each series' or
  7951. * point's data label unique styling. In addition to this option, a default
  7952. * color class name is added so that we can give the labels a contrast text
  7953. * shadow.
  7954. */
  7955. className?: string;
  7956. /**
  7957. * (Highcharts, Highstock, Gantt) The text color for the data labels.
  7958. * Defaults to `undefined`. For certain series types, like column or map,
  7959. * the data labels can be drawn inside the points. In this case the data
  7960. * label will be drawn with maximum contrast by default. Additionally, it
  7961. * will be given a `text-outline` style with the opposite color, to further
  7962. * increase the contrast. This can be overridden by setting the
  7963. * `text-outline` style to `none` in the `dataLabels.style` option.
  7964. */
  7965. color?: (ColorString|GradientColorObject|PatternObject);
  7966. /**
  7967. * (Highcharts, Highstock, Gantt) Whether to hide data labels that are
  7968. * outside the plot area. By default, the data label is moved inside the
  7969. * plot area according to the overflow option.
  7970. */
  7971. crop?: boolean;
  7972. /**
  7973. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  7974. * labels until the initial series animation has finished. Setting to
  7975. * `false` renders the data label immediately. If set to `true` inherits the
  7976. * defer time set in plotOptions.series.animation.
  7977. */
  7978. defer?: boolean;
  7979. /**
  7980. * (Highcharts, Highstock, Gantt) Enable or disable the data labels.
  7981. */
  7982. enabled?: boolean;
  7983. /**
  7984. * (Highcharts, Highstock, Gantt) A declarative filter to control of which
  7985. * data labels to display. The declarative filter is designed for use when
  7986. * callback functions are not available, like when the chart options require
  7987. * a pure JSON structure or for use with graphical editors. For programmatic
  7988. * control, use the `formatter` instead, and return `undefined` to disable a
  7989. * single data label.
  7990. */
  7991. filter?: DataLabelsFilterOptionsObject;
  7992. /**
  7993. * (Highcharts, Highstock, Gantt) A format string for the data label.
  7994. * Available variables are the same as for `formatter`.
  7995. */
  7996. format?: string;
  7997. /**
  7998. * (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
  7999. * data label. Note that if a `format` is defined, the format takes
  8000. * precedence and the formatter is ignored.
  8001. */
  8002. formatter?: DataLabelsFormatterCallbackFunction;
  8003. /**
  8004. * (Highcharts, Highstock, Gantt) For points with an extent, like columns or
  8005. * map areas, whether to align the data label inside the box or to the
  8006. * actual value point. Defaults to `false` in most cases, `true` in stacked
  8007. * columns.
  8008. */
  8009. inside?: boolean;
  8010. /**
  8011. * (Highcharts, Highstock, Gantt) Format for points with the value of null.
  8012. * Works analogously to format. `nullFormat` can be applied only to series
  8013. * which support displaying null points.
  8014. */
  8015. nullFormat?: (boolean|string);
  8016. /**
  8017. * (Highcharts, Highstock, Gantt) Callback JavaScript function that defines
  8018. * formatting for points with the value of null. Works analogously to
  8019. * formatter. `nullPointFormatter` can be applied only to series which
  8020. * support displaying null points.
  8021. */
  8022. nullFormatter?: DataLabelsFormatterCallbackFunction;
  8023. /**
  8024. * (Highcharts, Highstock, Gantt) How to handle data labels that flow
  8025. * outside the plot area. The default is `"justify"`, which aligns them
  8026. * inside the plot area. For columns and bars, this means it will be moved
  8027. * inside the bar. To display data labels outside the plot area, set `crop`
  8028. * to `false` and `overflow` to `"allow"`.
  8029. */
  8030. overflow?: DataLabelsOverflowValue;
  8031. /**
  8032. * (Highcharts, Highstock, Gantt) When either the `borderWidth` or the
  8033. * `backgroundColor` is set, this is the padding within the box.
  8034. */
  8035. padding?: number;
  8036. /**
  8037. * (Highcharts, Highstock, Gantt) Aligns data labels relative to points. If
  8038. * `center` alignment is not possible, it defaults to `right`.
  8039. */
  8040. position?: AlignValue;
  8041. /**
  8042. * (Highcharts, Highstock, Gantt) Text rotation in degrees. Note that due to
  8043. * a more complex structure, backgrounds, borders and padding will be lost
  8044. * on a rotated data label.
  8045. */
  8046. rotation?: number;
  8047. /**
  8048. * (Highcharts, Highstock, Gantt) The shadow of the box. Works best with
  8049. * `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be an object
  8050. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  8051. * `width`.
  8052. */
  8053. shadow?: (boolean|ShadowOptionsObject);
  8054. /**
  8055. * (Highcharts, Highstock, Gantt) The name of a symbol to use for the border
  8056. * around the label. Symbols are predefined functions on the Renderer
  8057. * object.
  8058. */
  8059. shape?: string;
  8060. /**
  8061. * (Highcharts, Highstock, Gantt) Styles for the label. The default `color`
  8062. * setting is `"contrast"`, which is a pseudo color that Highcharts picks up
  8063. * and applies the maximum contrast to the underlying point item, for
  8064. * example the bar in a bar chart.
  8065. *
  8066. * The `textOutline` is a pseudo property that applies an outline of the
  8067. * given width with the given color, which by default is the maximum
  8068. * contrast to the text. So a bright text color will result in a black text
  8069. * outline for maximum readability on a mixed background. In some cases,
  8070. * especially with grayscale text, the text outline doesn't work well, in
  8071. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  8072. * is true, the `textOutline` will not be picked up. In this, case, the same
  8073. * effect can be acheived through the `text-shadow` CSS property.
  8074. *
  8075. * For some series types, where each point has an extent, like for example
  8076. * tree maps, the data label may overflow the point. There are two
  8077. * strategies for handling overflow. By default, the text will wrap to
  8078. * multiple lines. The other strategy is to set `style.textOverflow` to
  8079. * `ellipsis`, which will keep the text on one line plus it will break
  8080. * inside long words.
  8081. */
  8082. style?: CSSObject;
  8083. /**
  8084. * (Highcharts, Highstock, Gantt) Options for a label text which should
  8085. * follow marker's shape. Border and background are disabled for a label
  8086. * that follows a path.
  8087. *
  8088. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  8089. * to true will disable this option.
  8090. */
  8091. textPath?: DataLabelsTextPathOptionsObject;
  8092. /**
  8093. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  8094. */
  8095. useHTML?: boolean;
  8096. /**
  8097. * (Highcharts, Highstock, Gantt) The vertical alignment of a data label.
  8098. * Can be one of `top`, `middle` or `bottom`. The default value depends on
  8099. * the data, for instance in a column chart, the label is above positive
  8100. * values and below negative values.
  8101. */
  8102. verticalAlign?: (VerticalAlignValue|null);
  8103. /**
  8104. * (Highcharts, Highstock, Gantt) The x position offset of the label
  8105. * relative to the point in pixels.
  8106. */
  8107. x?: number;
  8108. /**
  8109. * (Highcharts, Highstock) X offset of the higher data labels relative to
  8110. * the point value.
  8111. */
  8112. xHigh?: number;
  8113. /**
  8114. * (Highcharts, Highstock) X offset of the lower data labels relative to the
  8115. * point value.
  8116. */
  8117. xLow?: number;
  8118. /**
  8119. * (Highcharts, Highstock, Gantt) The y position offset of the label
  8120. * relative to the point in pixels.
  8121. */
  8122. y?: number;
  8123. /**
  8124. * (Highcharts, Highstock) Y offset of the higher data labels relative to
  8125. * the point value.
  8126. */
  8127. yHigh?: number;
  8128. /**
  8129. * (Highcharts, Highstock) Y offset of the lower data labels relative to the
  8130. * point value.
  8131. */
  8132. yLow?: number;
  8133. /**
  8134. * (Highcharts, Highstock, Gantt) The Z index of the data labels. The
  8135. * default Z index puts it above the series. Use a Z index of 2 to display
  8136. * it behind the series.
  8137. */
  8138. z?: number;
  8139. }
  8140. /**
  8141. * (Highcharts, Highstock, Gantt) Options for a label text which should follow
  8142. * marker's shape. Border and background are disabled for a label that follows a
  8143. * path.
  8144. *
  8145. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML` to
  8146. * true will disable this option.
  8147. */
  8148. export interface DataLabelsTextPathOptionsObject {
  8149. /**
  8150. * (Highcharts, Highstock, Gantt) Presentation attributes for the text path.
  8151. */
  8152. attributes?: SVGAttributes;
  8153. /**
  8154. * (Highcharts, Highstock, Gantt) Enable or disable `textPath` option for
  8155. * link's or marker's data labels.
  8156. */
  8157. enabled?: boolean;
  8158. }
  8159. /**
  8160. * (Highcharts, Highstock, Highmaps, Gantt) The Data module provides a
  8161. * simplified interface for adding data to a chart from sources like CVS, HTML
  8162. * tables or grid views. See also the tutorial article on the Data module.
  8163. *
  8164. * It requires the `modules/data.js` file to be loaded.
  8165. *
  8166. * Please note that the default way of adding data in Highcharts, without the
  8167. * need of a module, is through the series._type_.data option.
  8168. */
  8169. export interface DataOptions {
  8170. /**
  8171. * (Highcharts, Highstock, Highmaps, Gantt) A callback function to modify
  8172. * the CSV before parsing it. Return the modified string.
  8173. */
  8174. beforeParse?: DataBeforeParseCallbackFunction;
  8175. /**
  8176. * (Highcharts, Highstock, Highmaps, Gantt) A two-dimensional array
  8177. * representing the input data on tabular form. This input can be used when
  8178. * the data is already parsed, for example from a grid view component. Each
  8179. * cell can be a string or number. If not switchRowsAndColumns is set, the
  8180. * columns are interpreted as series.
  8181. */
  8182. columns?: Array<Array<DataValueType>>;
  8183. /**
  8184. * (Highcharts, Highstock, Highmaps, Gantt) A URL to a remote JSON dataset,
  8185. * structured as a column array. Will be fetched when the chart is created
  8186. * using Ajax.
  8187. */
  8188. columnsURL?: string;
  8189. /**
  8190. * (Highcharts, Highstock, Highmaps, Gantt) The callback that is evaluated
  8191. * when the data is finished loading, optionally from an external source,
  8192. * and parsed. The first argument passed is a finished chart options object,
  8193. * containing the series. These options can be extended with additional
  8194. * options and passed directly to the chart constructor.
  8195. */
  8196. complete?: DataCompleteCallbackFunction;
  8197. /**
  8198. * (Highcharts, Highstock, Highmaps, Gantt) A comma delimited string to be
  8199. * parsed. Related options are startRow, endRow, startColumn and endColumn
  8200. * to delimit what part of the table is used. The lineDelimiter and
  8201. * itemDelimiter options define the CSV delimiter formats.
  8202. *
  8203. * The built-in CSV parser doesn't support all flavours of CSV, so in some
  8204. * cases it may be necessary to use an external CSV parser. See this example
  8205. * of parsing CSV through the MIT licensed Papa Parse library.
  8206. */
  8207. csv?: string;
  8208. /**
  8209. * (Highcharts, Highstock, Highmaps, Gantt) An URL to a remote CSV dataset.
  8210. * Will be fetched when the chart is created using Ajax.
  8211. */
  8212. csvURL?: string;
  8213. /**
  8214. * (Highcharts, Highstock, Highmaps, Gantt) Sets the refresh rate for data
  8215. * polling when importing remote dataset by setting data.csvURL,
  8216. * data.rowsURL, data.columnsURL, or data.googleSpreadsheetKey.
  8217. *
  8218. * Note that polling must be enabled by setting data.enablePolling to true.
  8219. *
  8220. * The value is the number of seconds between pollings. It cannot be set to
  8221. * less than 1 second.
  8222. */
  8223. dataRefreshRate?: number;
  8224. /**
  8225. * (Highcharts, Highstock, Highmaps, Gantt) Which of the predefined date
  8226. * formats in Date.prototype.dateFormats to use to parse date values.
  8227. * Defaults to a best guess based on what format gives valid and ordered
  8228. * dates. Valid options include: `YYYY/mm/dd`, `dd/mm/YYYY`, `mm/dd/YYYY`,
  8229. * `dd/mm/YY`, `mm/dd/YY`.
  8230. */
  8231. dateFormat?: OptionsDateFormatValue;
  8232. /**
  8233. * (Highcharts, Highstock, Highmaps, Gantt) The decimal point used for
  8234. * parsing numbers in the CSV.
  8235. *
  8236. * If both this and data.delimiter is set to `undefined`, the parser will
  8237. * attempt to deduce the decimal point automatically.
  8238. */
  8239. decimalPoint?: string;
  8240. /**
  8241. * (Highcharts, Highstock, Highmaps, Gantt) Enables automatic refetching of
  8242. * remote datasets every _n_ seconds (defined by setting
  8243. * data.dataRefreshRate).
  8244. *
  8245. * Only works when either data.csvURL, data.rowsURL, data.columnsURL, or
  8246. * data.googleSpreadsheetKey.
  8247. */
  8248. enablePolling?: boolean;
  8249. /**
  8250. * (Highcharts, Highstock, Highmaps, Gantt) In tabular input data, the last
  8251. * column (indexed by 0) to use. Defaults to the last column containing
  8252. * data.
  8253. */
  8254. endColumn?: number;
  8255. /**
  8256. * (Highcharts, Highstock, Highmaps, Gantt) In tabular input data, the last
  8257. * row (indexed by 0) to use. Defaults to the last row containing data.
  8258. */
  8259. endRow?: number;
  8260. /**
  8261. * (Highcharts, Highstock, Gantt) Whether to use the first row in the data
  8262. * set as series names.
  8263. */
  8264. firstRowAsNames?: boolean;
  8265. /**
  8266. * (Highcharts, Highstock, Highmaps, Gantt) The key for a Google Spreadsheet
  8267. * to load. See general information on GS.
  8268. */
  8269. googleSpreadsheetKey?: string;
  8270. /**
  8271. * (Highcharts, Highstock, Highmaps, Gantt) The Google Spreadsheet worksheet
  8272. * to use in combination with googleSpreadsheetKey. The available id's from
  8273. * your sheet can be read from
  8274. * `https://spreadsheets.google.com/feeds/worksheets/{key}/public/basic`.
  8275. */
  8276. googleSpreadsheetWorksheet?: string;
  8277. /**
  8278. * (Highcharts, Highstock, Highmaps, Gantt) Item or cell delimiter for
  8279. * parsing CSV. Defaults to the tab character `\t` if a tab character is
  8280. * found in the CSV string, if not it defaults to `,`.
  8281. *
  8282. * If this is set to false or undefined, the parser will attempt to deduce
  8283. * the delimiter automatically.
  8284. */
  8285. itemDelimiter?: string;
  8286. /**
  8287. * (Highcharts, Highstock, Highmaps, Gantt) Line delimiter for parsing CSV.
  8288. */
  8289. lineDelimiter?: string;
  8290. /**
  8291. * (Highcharts, Highstock, Highmaps, Gantt) A callback function to access
  8292. * the parsed columns, the two-dimentional input data array directly, before
  8293. * they are interpreted into series data and categories. Return `false` to
  8294. * stop completion, or call `this.complete()` to continue async.
  8295. */
  8296. parsed?: DataParsedCallbackFunction;
  8297. /**
  8298. * (Highcharts, Highstock, Highmaps, Gantt) A callback function to parse
  8299. * string representations of dates into JavaScript timestamps. Should return
  8300. * an integer timestamp on success.
  8301. */
  8302. parseDate?: DataParseDateCallbackFunction;
  8303. /**
  8304. * (Highcharts, Highstock, Highmaps, Gantt) The same as the columns input
  8305. * option, but defining rows intead of columns.
  8306. */
  8307. rows?: Array<Array<DataValueType>>;
  8308. /**
  8309. * (Highcharts, Highstock, Highmaps, Gantt) A URL to a remote JSON dataset,
  8310. * structured as a row array. Will be fetched when the chart is created
  8311. * using Ajax.
  8312. */
  8313. rowsURL?: string;
  8314. /**
  8315. * (Highcharts, Highstock, Highmaps, Gantt) An array containing dictionaries
  8316. * for each series. A dictionary exists of Point property names as the key
  8317. * and the CSV column index as the value.
  8318. */
  8319. seriesMapping?: Array<Dictionary<number>>;
  8320. /**
  8321. * (Highcharts, Highstock, Highmaps, Gantt) In tabular input data, the first
  8322. * column (indexed by 0) to use.
  8323. */
  8324. startColumn?: number;
  8325. /**
  8326. * (Highcharts, Highstock, Highmaps, Gantt) In tabular input data, the first
  8327. * row (indexed by 0) to use.
  8328. */
  8329. startRow?: number;
  8330. /**
  8331. * (Highcharts, Highstock, Highmaps, Gantt) Switch rows and columns of the
  8332. * input data, so that `this.columns` effectively becomes the rows of the
  8333. * data set, and the rows are interpreted as series.
  8334. */
  8335. switchRowsAndColumns?: boolean;
  8336. /**
  8337. * (Highcharts, Highstock, Highmaps, Gantt) An HTML table or the id of such
  8338. * to be parsed as input data. Related options are `startRow`, `endRow`,
  8339. * `startColumn` and `endColumn` to delimit what part of the table is used.
  8340. */
  8341. table?: (string|HTMLElement);
  8342. }
  8343. /**
  8344. * Options for `dataSorting`.
  8345. */
  8346. export interface DataSortingOptionsObject {
  8347. /**
  8348. * Enable or disable data sorting for the series.
  8349. */
  8350. enabled?: boolean;
  8351. /**
  8352. * Whether to allow matching points by name in an update.
  8353. */
  8354. matchByName?: boolean;
  8355. /**
  8356. * Determines what data value should be used to sort by.
  8357. */
  8358. sortKey?: string;
  8359. }
  8360. export interface DefsArrowOptions {
  8361. children?: Array<DefsOptions>;
  8362. id?: string;
  8363. markerHeight?: number;
  8364. markerWidth?: number;
  8365. refX?: number;
  8366. refY?: number;
  8367. render?: boolean;
  8368. tagName?: string;
  8369. }
  8370. /**
  8371. * (Highcharts, Highstock, Highmaps, Gantt) Options for configuring markers for
  8372. * annotations.
  8373. *
  8374. * An example of the arrow marker: (see online documentation for example)
  8375. */
  8376. export interface DefsOptions {
  8377. arrow?: (DefsArrowOptions|SVGDefinitionObject);
  8378. "reverse-arrow"?: (DefsReverseArrowOptions|SVGDefinitionObject);
  8379. }
  8380. export interface DefsReverseArrowOptions {
  8381. id?: string;
  8382. markerHeight?: number;
  8383. markerWidth?: number;
  8384. refX?: number;
  8385. refY?: number;
  8386. render?: boolean;
  8387. tagName?: string;
  8388. }
  8389. /**
  8390. * Generic dictionary in TypeScript notation. Use the native `Record<string,
  8391. * any>` instead.
  8392. */
  8393. export interface Dictionary<T> {
  8394. [key: string]: T;
  8395. }
  8396. /**
  8397. * (Highcharts, Highstock, Gantt) Style options for the guide box default state.
  8398. */
  8399. export interface DragDropGuideBoxOptionsObject {
  8400. /**
  8401. * (Highcharts, Highstock, Gantt) CSS class name of the guide box in this
  8402. * state. Defaults to `highcharts-drag-box-default`.
  8403. */
  8404. className?: string;
  8405. /**
  8406. * (Highcharts, Highstock, Gantt) Guide box fill color.
  8407. */
  8408. color?: (ColorString|GradientColorObject|PatternObject);
  8409. /**
  8410. * (Highcharts, Highstock, Gantt) Guide box cursor.
  8411. */
  8412. cursor?: string;
  8413. /**
  8414. * (Highcharts, Highstock, Gantt) Color of the border around the guide box.
  8415. */
  8416. lineColor?: ColorString;
  8417. /**
  8418. * (Highcharts, Highstock, Gantt) Width of the line around the guide box.
  8419. */
  8420. lineWidth?: number;
  8421. /**
  8422. * (Highcharts, Highstock, Gantt) Guide box zIndex.
  8423. */
  8424. zIndex?: number;
  8425. }
  8426. /**
  8427. * (Highcharts, Highstock, Gantt) Options for the drag handles.
  8428. */
  8429. export interface DragDropHandleOptionsObject {
  8430. /**
  8431. * (Highcharts, Highstock, Gantt) The class name of the drag handles.
  8432. * Defaults to `highcharts-drag-handle`.
  8433. */
  8434. className?: string;
  8435. /**
  8436. * (Highcharts, Highstock, Gantt) The fill color of the drag handles.
  8437. */
  8438. color?: (ColorString|GradientColorObject|PatternObject);
  8439. /**
  8440. * (Highcharts, Highstock, Gantt) The mouse cursor to use for the drag
  8441. * handles. By default this is intelligently switching between `ew-resize`
  8442. * and `ns-resize` depending on the direction the point is being dragged.
  8443. */
  8444. cursor?: string;
  8445. /**
  8446. * (Highcharts, Highstock, Gantt) The line color of the drag handles.
  8447. */
  8448. lineColor?: ColorString;
  8449. /**
  8450. * (Highcharts, Highstock, Gantt) The line width for the drag handles.
  8451. */
  8452. lineWidth?: number;
  8453. /**
  8454. * (Highcharts, Highstock, Gantt) Function to define the SVG path to use for
  8455. * the drag handles. Takes the point as argument. Should return an SVG path
  8456. * in array format. The SVG path is automatically positioned on the point.
  8457. */
  8458. pathFormatter?: Function;
  8459. /**
  8460. * (Highcharts, Highstock, Gantt) The z index for the drag handles.
  8461. */
  8462. zIndex?: number;
  8463. }
  8464. /**
  8465. * Current drag and drop position.
  8466. */
  8467. export interface DragDropPositionObject {
  8468. /**
  8469. * Chart x position
  8470. */
  8471. chartX: number;
  8472. /**
  8473. * Chart y position
  8474. */
  8475. chartY: number;
  8476. /**
  8477. * Drag and drop guide box.
  8478. */
  8479. guideBox?: BBoxObject;
  8480. /**
  8481. * Updated point data.
  8482. */
  8483. points: Dictionary<Dictionary<number>>;
  8484. /**
  8485. * Delta of previous x position.
  8486. */
  8487. prevdX?: number;
  8488. /**
  8489. * Delta of previous y position.
  8490. */
  8491. prevdY?: number;
  8492. }
  8493. /**
  8494. * (Highcharts, Highmaps) Additional styles to apply to the data label of a
  8495. * point that has drilldown data. By default it is underlined and blue to invite
  8496. * to interaction.
  8497. *
  8498. * In styled mode, active data label styles can be applied with the
  8499. * `.highcharts-drilldown-data-label` class.
  8500. */
  8501. export interface DrilldownActiveDataLabelStyleOptions {
  8502. color?: string;
  8503. cursor?: string;
  8504. fontWeight?: string;
  8505. textDecoration?: string;
  8506. }
  8507. /**
  8508. * (Highcharts, Highmaps) Options for the drill up button that appears when
  8509. * drilling down on a series. The text for the button is defined in
  8510. * lang.drillUpText.
  8511. */
  8512. export interface DrilldownDrillUpButtonOptions {
  8513. /**
  8514. * (Highcharts, Highmaps) Positioning options for the button within the
  8515. * `relativeTo` box. Available properties are `x`, `y`, `align` and
  8516. * `verticalAlign`.
  8517. */
  8518. position?: (AlignObject|DrilldownDrillUpButtonPositionOptions);
  8519. /**
  8520. * (Highcharts, Highmaps) What box to align the button to. Can be either
  8521. * `plotBox` or `spacingBox`.
  8522. */
  8523. relativeTo?: ButtonRelativeToValue;
  8524. /**
  8525. * (Highcharts, Highmaps) A collection of attributes for the button. The
  8526. * object takes SVG attributes like `fill`, `stroke`, `stroke-width` or `r`,
  8527. * the border radius. The theme also supports `style`, a collection of CSS
  8528. * properties for the text. Equivalent attributes for the hover state are
  8529. * given in `theme.states.hover`.
  8530. *
  8531. * In styled mode, drill-up button styles can be applied with the
  8532. * `.highcharts-drillup-button` class.
  8533. */
  8534. theme?: object;
  8535. }
  8536. /**
  8537. * (Highcharts, Highmaps) Positioning options for the button within the
  8538. * `relativeTo` box. Available properties are `x`, `y`, `align` and
  8539. * `verticalAlign`.
  8540. */
  8541. export interface DrilldownDrillUpButtonPositionOptions {
  8542. /**
  8543. * (Highcharts, Highmaps) Horizontal alignment.
  8544. */
  8545. align?: AlignValue;
  8546. /**
  8547. * (Highcharts, Highmaps) Vertical alignment of the button.
  8548. */
  8549. verticalAlign?: VerticalAlignValue;
  8550. /**
  8551. * (Highcharts, Highmaps) The X offset of the button.
  8552. */
  8553. x?: number;
  8554. /**
  8555. * (Highcharts, Highmaps) The Y offset of the button.
  8556. */
  8557. y?: number;
  8558. }
  8559. /**
  8560. * The event arguments when a drilldown point is clicked.
  8561. */
  8562. export interface DrilldownEventObject {
  8563. /**
  8564. * If a category label was clicked, which index.
  8565. */
  8566. category?: number;
  8567. /**
  8568. * The original browser event (usually click) that triggered the drilldown.
  8569. */
  8570. originalEvent?: Event;
  8571. /**
  8572. * The originating point.
  8573. */
  8574. point: Point;
  8575. /**
  8576. * If a category label was clicked, this array holds all points
  8577. * corresponding to the category. Otherwise it is set to false.
  8578. */
  8579. points?: (boolean|Array<Point>);
  8580. /**
  8581. * Prevents the default behaviour of the event.
  8582. */
  8583. preventDefault: Function;
  8584. /**
  8585. * Options for the new series. If the event is utilized for async drilldown,
  8586. * the seriesOptions are not added, but rather loaded async.
  8587. */
  8588. seriesOptions?: SeriesOptionsType;
  8589. /**
  8590. * The event target.
  8591. */
  8592. target: Chart;
  8593. /**
  8594. * The event type.
  8595. */
  8596. type: "drilldown";
  8597. }
  8598. /**
  8599. * (Highcharts, Highmaps) Options for drill down, the concept of inspecting
  8600. * increasingly high resolution data through clicking on chart items like
  8601. * columns or pie slices.
  8602. *
  8603. * The drilldown feature requires the drilldown.js file to be loaded, found in
  8604. * the modules directory of the download package, or online at
  8605. * code.highcharts.com/modules/drilldown.js.
  8606. */
  8607. export interface DrilldownOptions {
  8608. /**
  8609. * (Highcharts, Highmaps) Additional styles to apply to the X axis label for
  8610. * a point that has drilldown data. By default it is underlined and blue to
  8611. * invite to interaction.
  8612. *
  8613. * In styled mode, active label styles can be set with the
  8614. * `.highcharts-drilldown-axis-label` class.
  8615. */
  8616. activeAxisLabelStyle?: CSSObject;
  8617. /**
  8618. * (Highcharts, Highmaps) Additional styles to apply to the data label of a
  8619. * point that has drilldown data. By default it is underlined and blue to
  8620. * invite to interaction.
  8621. *
  8622. * In styled mode, active data label styles can be applied with the
  8623. * `.highcharts-drilldown-data-label` class.
  8624. */
  8625. activeDataLabelStyle?: (CSSObject|DrilldownActiveDataLabelStyleOptions);
  8626. /**
  8627. * (Highcharts) When this option is false, clicking a single point will
  8628. * drill down all points in the same category, equivalent to clicking the X
  8629. * axis label.
  8630. */
  8631. allowPointDrilldown?: boolean;
  8632. /**
  8633. * (Highcharts, Highmaps) Set the animation for all drilldown animations.
  8634. * Animation of a drilldown occurs when drilling between a column point and
  8635. * a column series, or a pie slice and a full pie series. Drilldown can
  8636. * still be used between series and points of different types, but animation
  8637. * will not occur.
  8638. *
  8639. * The animation can either be set as a boolean or a configuration object.
  8640. * If `true`, it will use the 'swing' jQuery easing and a duration of 500
  8641. * ms. If used as a configuration object, the following properties are
  8642. * supported:
  8643. *
  8644. * - `duration`: The duration of the animation in milliseconds.
  8645. *
  8646. * - `easing`: A string reference to an easing function set on the `Math`
  8647. * object. See the easing demo.
  8648. */
  8649. animation?: (boolean|Partial<AnimationOptionsObject>);
  8650. /**
  8651. * (Highcharts, Highmaps) Options for the drill up button that appears when
  8652. * drilling down on a series. The text for the button is defined in
  8653. * lang.drillUpText.
  8654. */
  8655. drillUpButton?: DrilldownDrillUpButtonOptions;
  8656. /**
  8657. * (Highcharts, Highmaps) An array of series configurations for the drill
  8658. * down. Each series configuration uses the same syntax as the series option
  8659. * set. These drilldown series are hidden by default. The drilldown series
  8660. * is linked to the parent series' point by its `id`.
  8661. */
  8662. series?: Array<SeriesOptionsType>;
  8663. }
  8664. /**
  8665. * The event arguments when all the series have been drilled up.
  8666. */
  8667. export interface DrillupAllEventObject {
  8668. /**
  8669. * Prevents the default behaviour of the event.
  8670. */
  8671. preventDefault: Function;
  8672. /**
  8673. * The event target.
  8674. */
  8675. target: Chart;
  8676. /**
  8677. * The event type.
  8678. */
  8679. type: "drillupall";
  8680. }
  8681. /**
  8682. * The event arguments when drilling up from a drilldown series.
  8683. */
  8684. export interface DrillupEventObject {
  8685. /**
  8686. * Prevents the default behaviour of the event.
  8687. */
  8688. preventDefault: Function;
  8689. /**
  8690. * Options for the new series.
  8691. */
  8692. seriesOptions?: SeriesOptionsType;
  8693. /**
  8694. * The event target.
  8695. */
  8696. target: Chart;
  8697. /**
  8698. * The event type.
  8699. */
  8700. type: "drillup";
  8701. }
  8702. /**
  8703. * The event options for adding function callback.
  8704. */
  8705. export interface EventOptionsObject {
  8706. /**
  8707. * The order the event handler should be called. This opens for having one
  8708. * handler be called before another, independent of in which order they were
  8709. * added.
  8710. */
  8711. order: number;
  8712. }
  8713. /**
  8714. * Contains information about the export data event.
  8715. */
  8716. export interface ExportDataEventObject {
  8717. /**
  8718. * Contains the data rows for the current export task and can be modified.
  8719. */
  8720. dataRows: Array<Array<string>>;
  8721. }
  8722. /**
  8723. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the
  8724. * exporting menu. Requires the Accessibility module.
  8725. */
  8726. export interface ExportingAccessibilityOptions {
  8727. /**
  8728. * (Highcharts, Highstock, Highmaps, Gantt) Enable accessibility support for
  8729. * the export menu.
  8730. */
  8731. enabled?: boolean;
  8732. }
  8733. /**
  8734. * (Highcharts, Highstock, Highmaps, Gantt) A configuration object for the
  8735. * button theme. The object accepts SVG properties like `stroke-width`, `stroke`
  8736. * and `fill`. Tri-state button styles are supported by the `states.hover` and
  8737. * `states.select` objects.
  8738. */
  8739. export interface ExportingButtonsContextButtonThemeOptions {
  8740. /**
  8741. * (Highcharts, Highstock, Highmaps, Gantt) The default fill exists only to
  8742. * capture hover events.
  8743. */
  8744. fill?: (ColorString|GradientColorObject|PatternObject);
  8745. /**
  8746. * (Highcharts, Highstock, Highmaps, Gantt) Padding for the button.
  8747. */
  8748. padding?: number;
  8749. /**
  8750. * (Highcharts, Highstock, Highmaps, Gantt) Default stroke for the buttons.
  8751. */
  8752. stroke?: ColorString;
  8753. }
  8754. /**
  8755. * (Highcharts, Highstock, Highmaps, Gantt) Options for the export related
  8756. * buttons, print and export. In addition to the default buttons listed here,
  8757. * custom buttons can be added. See navigation.buttonOptions for general
  8758. * options.
  8759. */
  8760. export interface ExportingButtonsOptions {
  8761. /**
  8762. * (Highcharts, Highstock, Highmaps, Gantt) Options for the export button.
  8763. *
  8764. * In styled mode, export button styles can be applied with the
  8765. * `.highcharts-contextbutton` class.
  8766. */
  8767. contextButton?: ExportingButtonsOptionsObject;
  8768. }
  8769. /**
  8770. * (Highcharts, Highstock, Highmaps, Gantt) Options for the export button.
  8771. *
  8772. * In styled mode, export button styles can be applied with the
  8773. * `.highcharts-contextbutton` class.
  8774. */
  8775. export interface ExportingButtonsOptionsObject {
  8776. /**
  8777. * (Highcharts, Highstock, Highmaps, Gantt) Alignment for the buttons.
  8778. */
  8779. align?: AlignValue;
  8780. /**
  8781. * (Highcharts, Highstock, Highmaps, Gantt) The pixel spacing between
  8782. * buttons.
  8783. */
  8784. buttonSpacing?: number;
  8785. /**
  8786. * (Highcharts, Highstock, Highmaps, Gantt) The class name of the context
  8787. * button.
  8788. */
  8789. className?: string;
  8790. /**
  8791. * (Highcharts, Highstock, Highmaps, Gantt) Whether to enable buttons.
  8792. */
  8793. enabled?: boolean;
  8794. /**
  8795. * (Highcharts, Highstock, Highmaps, Gantt) Pixel height of the buttons.
  8796. */
  8797. height?: number;
  8798. /**
  8799. * (Highcharts, Highstock, Highmaps, Gantt) The class name of the menu
  8800. * appearing from the button.
  8801. */
  8802. menuClassName?: string;
  8803. /**
  8804. * (Highcharts, Highstock, Highmaps, Gantt) A collection of strings pointing
  8805. * to config options for the menu items. The config options are defined in
  8806. * the `menuItemDefinitions` option.
  8807. *
  8808. * By default, there is the "View in full screen" and "Print" menu items,
  8809. * plus one menu item for each of the available export types.
  8810. */
  8811. menuItems?: Array<string>;
  8812. /**
  8813. * (Highcharts, Highstock, Highmaps, Gantt) A click handler callback to use
  8814. * on the button directly instead of the popup menu.
  8815. */
  8816. onclick?: Function;
  8817. /**
  8818. * (Highcharts, Highstock, Highmaps, Gantt) The symbol for the button.
  8819. * Points to a definition function in the `Highcharts.Renderer.symbols`
  8820. * collection. The default `exportIcon` function is part of the exporting
  8821. * module. Possible values are "circle", "square", "diamond", "triangle",
  8822. * "triangle-down", "menu", "menuball" or custom shape.
  8823. */
  8824. symbol?: ("menu"|"menuball"|"exportIcon"|string|SymbolKeyValue);
  8825. /**
  8826. * (Highcharts, Highstock, Highmaps, Gantt) See
  8827. * navigation.buttonOptions.symbolFill.
  8828. */
  8829. symbolFill?: ColorString;
  8830. /**
  8831. * (Highcharts, Highstock, Highmaps, Gantt) The pixel size of the symbol on
  8832. * the button.
  8833. */
  8834. symbolSize?: number;
  8835. /**
  8836. * (Highcharts, Highstock, Highmaps, Gantt) The color of the symbol's stroke
  8837. * or line.
  8838. */
  8839. symbolStroke?: ColorString;
  8840. /**
  8841. * (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
  8842. * symbol on the button.
  8843. */
  8844. symbolStrokeWidth?: number;
  8845. /**
  8846. * (Highcharts, Highstock, Highmaps, Gantt) The x position of the center of
  8847. * the symbol inside the button.
  8848. */
  8849. symbolX?: number;
  8850. /**
  8851. * (Highcharts, Highstock, Highmaps, Gantt) The y position of the center of
  8852. * the symbol inside the button.
  8853. */
  8854. symbolY?: number;
  8855. /**
  8856. * (Highcharts, Highstock, Highmaps, Gantt) A text string to add to the
  8857. * individual button.
  8858. */
  8859. text?: string;
  8860. /**
  8861. * (Highcharts, Highstock, Highmaps, Gantt) A configuration object for the
  8862. * button theme. The object accepts SVG properties like `stroke-width`,
  8863. * `stroke` and `fill`. Tri-state button styles are supported by the
  8864. * `states.hover` and `states.select` objects.
  8865. */
  8866. theme?: ExportingButtonsContextButtonThemeOptions;
  8867. /**
  8868. * (Highcharts, Highstock, Highmaps, Gantt) The key to a lang option setting
  8869. * that is used for the button's title tooltip. When the key is
  8870. * `contextButtonTitle`, it refers to lang.contextButtonTitle that defaults
  8871. * to "Chart context menu".
  8872. */
  8873. titleKey?: string;
  8874. /**
  8875. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  8876. * buttons. Can be one of `"top"`, `"middle"` or `"bottom"`.
  8877. */
  8878. verticalAlign?: VerticalAlignValue;
  8879. /**
  8880. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the button.
  8881. */
  8882. width?: number;
  8883. /**
  8884. * (Highcharts, Highstock, Highmaps, Gantt) The horizontal position of the
  8885. * button relative to the `align` option.
  8886. */
  8887. x?: number;
  8888. /**
  8889. * (Highcharts, Highstock, Highmaps, Gantt) The vertical offset of the
  8890. * button's position relative to its `verticalAlign`.
  8891. */
  8892. y?: number;
  8893. }
  8894. /**
  8895. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotations in the
  8896. * export-data table.
  8897. */
  8898. export interface ExportingCsvAnnotationsOptions {
  8899. /**
  8900. * (Highcharts, Highstock, Highmaps, Gantt) The way to mark the separator
  8901. * for annotations combined in one export-data table cell.
  8902. */
  8903. itemDelimiter?: string;
  8904. /**
  8905. * (Highcharts, Highstock, Highmaps, Gantt) When several labels are assigned
  8906. * to a specific point, they will be displayed in one field in the table.
  8907. */
  8908. join?: boolean;
  8909. }
  8910. /**
  8911. * (Highcharts, Highstock, Highmaps, Gantt) Options for exporting data to CSV or
  8912. * ExCel, or displaying the data in a HTML table or a JavaScript structure.
  8913. *
  8914. * This module adds data export options to the export menu and provides
  8915. * functions like `Chart.getCSV`, `Chart.getTable`, `Chart.getDataRows` and
  8916. * `Chart.viewData`.
  8917. *
  8918. * The XLS converter is limited and only creates a HTML string that is passed
  8919. * for download, which works but creates a warning before opening. The
  8920. * workaround for this is to use a third party XLSX converter, as demonstrated
  8921. * in the sample below.
  8922. */
  8923. export interface ExportingCsvOptions {
  8924. /**
  8925. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotations in the
  8926. * export-data table.
  8927. */
  8928. annotations?: ExportingCsvAnnotationsOptions;
  8929. /**
  8930. * (Highcharts, Highstock, Highmaps, Gantt) Formatter callback for the
  8931. * column headers. Parameters are:
  8932. *
  8933. * - `item` - The series or axis object)
  8934. *
  8935. * - `key` - The point key, for example y or z
  8936. *
  8937. * - `keyLength` - The amount of value keys for this item, for example a
  8938. * range series has the keys `low` and `high` so the key length is 2.
  8939. *
  8940. * If useMultiLevelHeaders is true, columnHeaderFormatter by default returns
  8941. * an object with columnTitle and topLevelColumnTitle for each key. Columns
  8942. * with the same topLevelColumnTitle have their titles merged into a single
  8943. * cell with colspan for table/Excel export.
  8944. *
  8945. * If `useMultiLevelHeaders` is false, or for CSV export, it returns the
  8946. * series name, followed by the key if there is more than one key.
  8947. *
  8948. * For the axis it returns the axis title or "Category" or "DateTime" by
  8949. * default.
  8950. *
  8951. * Return `false` to use Highcharts' proposed header.
  8952. */
  8953. columnHeaderFormatter?: (Function|null);
  8954. /**
  8955. * (Highcharts, Highstock, Highmaps, Gantt) Which date format to use for
  8956. * exported dates on a datetime X axis. See `Highcharts.dateFormat`.
  8957. */
  8958. dateFormat?: string;
  8959. /**
  8960. * (Highcharts, Highstock, Highmaps, Gantt) Which decimal point to use for
  8961. * exported CSV. Defaults to the same as the browser locale, typically `.`
  8962. * (English) or `,` (German, French etc).
  8963. */
  8964. decimalPoint?: (string|null);
  8965. /**
  8966. * (Highcharts, Highstock, Highmaps, Gantt) The item delimiter in the
  8967. * exported data. Use `;` for direct exporting to Excel. Defaults to a best
  8968. * guess based on the browser locale. If the locale _decimal point_ is `,`,
  8969. * the `itemDelimiter` defaults to `;`, otherwise the `itemDelimiter`
  8970. * defaults to `,`.
  8971. */
  8972. itemDelimiter?: (string|null);
  8973. /**
  8974. * (Highcharts, Highstock, Highmaps, Gantt) The line delimiter in the
  8975. * exported data, defaults to a newline.
  8976. */
  8977. lineDelimiter?: string;
  8978. }
  8979. /**
  8980. * Definition for a menu item in the context menu.
  8981. */
  8982. export interface ExportingMenuObject {
  8983. /**
  8984. * The click handler for the menu item.
  8985. */
  8986. onclick?: EventCallbackFunction<Chart>;
  8987. /**
  8988. * Indicates a separator line instead of an item.
  8989. */
  8990. separator?: boolean;
  8991. /**
  8992. * The text for the menu item.
  8993. */
  8994. text?: string;
  8995. /**
  8996. * If internationalization is required, the key to a language string.
  8997. */
  8998. textKey?: string;
  8999. }
  9000. /**
  9001. * (Highcharts, Highstock, Highmaps, Gantt) Options for the exporting module.
  9002. * For an overview on the matter, see the docs.
  9003. */
  9004. export interface ExportingOptions {
  9005. /**
  9006. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the
  9007. * exporting menu. Requires the Accessibility module.
  9008. */
  9009. accessibility?: ExportingAccessibilityOptions;
  9010. /**
  9011. * (Highcharts, Highstock, Highmaps, Gantt) Experimental setting to allow
  9012. * HTML inside the chart (added through the `useHTML` options), directly in
  9013. * the exported image. This allows you to preserve complicated HTML
  9014. * structures like tables or bi-directional text in exported charts.
  9015. *
  9016. * Disclaimer: The HTML is rendered in a `foreignObject` tag in the
  9017. * generated SVG. The official export server is based on PhantomJS, which
  9018. * supports this, but other SVG clients, like Batik, does not support it.
  9019. * This also applies to downloaded SVG that you want to open in a desktop
  9020. * client.
  9021. */
  9022. allowHTML?: boolean;
  9023. /**
  9024. * (Highcharts, Highstock, Highmaps, Gantt) Options for the export related
  9025. * buttons, print and export. In addition to the default buttons listed
  9026. * here, custom buttons can be added. See navigation.buttonOptions for
  9027. * general options.
  9028. */
  9029. buttons?: (ExportingButtonsOptions|Dictionary<ExportingButtonsOptionsObject>);
  9030. /**
  9031. * (Highcharts, Highstock, Highmaps, Gantt) Additional chart options to be
  9032. * merged into the chart before exporting to an image format. This does not
  9033. * apply to printing the chart via the export menu.
  9034. *
  9035. * For example, a common use case is to add data labels to improve
  9036. * readability of the exported chart, or to add a printer-friendly color
  9037. * scheme to exported PDFs.
  9038. */
  9039. chartOptions?: Options;
  9040. /**
  9041. * (Highcharts, Highstock, Highmaps, Gantt) Options for exporting data to
  9042. * CSV or ExCel, or displaying the data in a HTML table or a JavaScript
  9043. * structure.
  9044. *
  9045. * This module adds data export options to the export menu and provides
  9046. * functions like `Chart.getCSV`, `Chart.getTable`, `Chart.getDataRows` and
  9047. * `Chart.viewData`.
  9048. *
  9049. * The XLS converter is limited and only creates a HTML string that is
  9050. * passed for download, which works but creates a warning before opening.
  9051. * The workaround for this is to use a third party XLSX converter, as
  9052. * demonstrated in the sample below.
  9053. */
  9054. csv?: ExportingCsvOptions;
  9055. /**
  9056. * (Highcharts, Highstock, Highmaps, Gantt) Whether to enable the exporting
  9057. * module. Disabling the module will hide the context button, but API
  9058. * methods will still be available.
  9059. */
  9060. enabled?: boolean;
  9061. /**
  9062. * (Highcharts, Highstock, Highmaps, Gantt) Function to call if the
  9063. * offline-exporting module fails to export a chart on the client side, and
  9064. * fallbackToExportServer is disabled. If left undefined, an exception is
  9065. * thrown instead. Receives two parameters, the exporting options, and the
  9066. * error from the module.
  9067. */
  9068. error?: ExportingErrorCallbackFunction;
  9069. /**
  9070. * (Highcharts, Highstock, Highmaps, Gantt) Whether or not to fall back to
  9071. * the export server if the offline-exporting module is unable to export the
  9072. * chart on the client side. This happens for certain browsers, and certain
  9073. * features (e.g. allowHTML), depending on the image type exporting to. For
  9074. * very complex charts, it is possible that export can fail in browsers that
  9075. * don't support Blob objects, due to data URL length limits. It is
  9076. * recommended to define the exporting.error handler if disabling fallback,
  9077. * in order to notify users in case export fails.
  9078. */
  9079. fallbackToExportServer?: boolean;
  9080. /**
  9081. * (Highcharts, Highstock, Highmaps, Gantt) The filename, without extension,
  9082. * to use for the exported chart.
  9083. */
  9084. filename?: string;
  9085. /**
  9086. * (Highcharts, Highstock, Highmaps, Gantt) An object containing additional
  9087. * key value data for the POST form that sends the SVG to the export server.
  9088. * For example, a `target` can be set to make sure the generated image is
  9089. * received in another frame, or a custom `enctype` or `encoding` can be
  9090. * set.
  9091. */
  9092. formAttributes?: HTMLAttributes;
  9093. /**
  9094. * (Highcharts, Highstock, Highmaps, Gantt) Path where Highcharts will look
  9095. * for export module dependencies to load on demand if they don't already
  9096. * exist on `window`. Should currently point to location of CanVG library,
  9097. * RGBColor.js, jsPDF and svg2pdf.js, required for client side export in
  9098. * certain browsers.
  9099. */
  9100. libURL?: string;
  9101. /**
  9102. * (Highcharts, Highstock, Highmaps, Gantt) An object consisting of
  9103. * definitions for the menu items in the context menu. Each key value pair
  9104. * has a `key` that is referenced in the menuItems setting, and a `value`,
  9105. * which is an object with the following properties:
  9106. *
  9107. * - **onclick:** The click handler for the menu item
  9108. *
  9109. * - **text:** The text for the menu item
  9110. *
  9111. * - **textKey:** If internationalization is required, the key to a language
  9112. * string
  9113. *
  9114. * Custom text for the "exitFullScreen" can be set only in lang options (it
  9115. * is not a separate button).
  9116. */
  9117. menuItemDefinitions?: Dictionary<ExportingMenuObject>;
  9118. /**
  9119. * (Highcharts, Highstock, Highmaps, Gantt) When printing the chart from the
  9120. * menu item in the burger menu, if the on-screen chart exceeds this width,
  9121. * it is resized. After printing or cancelled, it is restored. The default
  9122. * width makes the chart fit into typical paper format. Note that this does
  9123. * not affect the chart when printing the web page as a whole.
  9124. */
  9125. printMaxWidth?: number;
  9126. /**
  9127. * (Highcharts, Highstock, Highmaps, Gantt) Defines the scale or zoom factor
  9128. * for the exported image compared to the on-screen display. While for
  9129. * instance a 600px wide chart may look good on a website, it will look bad
  9130. * in print. The default scale of 2 makes this chart export to a 1200px PNG
  9131. * or JPG.
  9132. */
  9133. scale?: number;
  9134. /**
  9135. * (Highcharts, Highstock, Highmaps, Gantt) Show a HTML table below the
  9136. * chart with the chart's current data.
  9137. */
  9138. showTable?: boolean;
  9139. /**
  9140. * (Highcharts, Highstock, Highmaps, Gantt) Analogous to sourceWidth.
  9141. */
  9142. sourceHeight?: number;
  9143. /**
  9144. * (Highcharts, Highstock, Highmaps, Gantt) The width of the original chart
  9145. * when exported, unless an explicit chart.width is set, or a pixel width is
  9146. * set on the container. The width exported raster image is then multiplied
  9147. * by scale.
  9148. */
  9149. sourceWidth?: number;
  9150. /**
  9151. * (Highcharts, Highstock, Highmaps, Gantt) Caption for the data table. Same
  9152. * as chart title by default. Set to `false` to disable.
  9153. */
  9154. tableCaption?: (boolean|string);
  9155. /**
  9156. * (Highcharts, Highstock, Highmaps, Gantt) Default MIME type for exporting
  9157. * if `chart.exportChart()` is called without specifying a `type` option.
  9158. * Possible values are `image/png`, `image/jpeg`, `application/pdf` and
  9159. * `image/svg+xml`.
  9160. */
  9161. type?: ExportingMimeTypeValue;
  9162. /**
  9163. * (Highcharts, Highstock, Highmaps, Gantt) The URL for the server module
  9164. * converting the SVG string to an image format. By default this points to
  9165. * Highchart's free web service.
  9166. */
  9167. url?: string;
  9168. /**
  9169. * (Highcharts, Highstock, Highmaps, Gantt) Use multi level headers in data
  9170. * table. If csv.columnHeaderFormatter is defined, it has to return objects
  9171. * in order for multi level headers to work.
  9172. */
  9173. useMultiLevelHeaders?: boolean;
  9174. /**
  9175. * (Highcharts, Highstock, Highmaps, Gantt) If using multi level table
  9176. * headers, use rowspans for headers that have only one level.
  9177. */
  9178. useRowspanHeaders?: boolean;
  9179. /**
  9180. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of charts
  9181. * exported to PNG or JPG. As of Highcharts 3.0, the default pixel width is
  9182. * a function of the chart.width or exporting.sourceWidth and the
  9183. * exporting.scale.
  9184. */
  9185. width?: number;
  9186. }
  9187. /**
  9188. * The returned object literal from the Highcharts.Axis#getExtremes function.
  9189. */
  9190. export interface ExtremesObject {
  9191. /**
  9192. * The maximum value of the axis' associated series.
  9193. */
  9194. dataMax: number;
  9195. /**
  9196. * The minimum value of the axis' associated series.
  9197. */
  9198. dataMin: number;
  9199. /**
  9200. * The maximum axis value, either automatic or set manually. If the `max`
  9201. * option is not set, `maxPadding` is 0 and `endOnTick` is false, this value
  9202. * will be the same as `dataMax`.
  9203. */
  9204. max: number;
  9205. /**
  9206. * The minimum axis value, either automatic or set manually. If the `min`
  9207. * option is not set, `minPadding` is 0 and `startOnTick` is false, this
  9208. * value will be the same as `dataMin`.
  9209. */
  9210. min: number;
  9211. /**
  9212. * The user defined maximum, either from the `max` option or from a zoom or
  9213. * `setExtremes` action.
  9214. */
  9215. userMax: number;
  9216. /**
  9217. * The user defined minimum, either from the `min` option or from a zoom or
  9218. * `setExtremes` action.
  9219. */
  9220. userMin: number;
  9221. }
  9222. /**
  9223. * The font metrics.
  9224. */
  9225. export interface FontMetricsObject {
  9226. /**
  9227. * The baseline relative to the top of the box.
  9228. */
  9229. b: number;
  9230. /**
  9231. * The font size.
  9232. */
  9233. f: number;
  9234. /**
  9235. * The line height.
  9236. */
  9237. h: number;
  9238. }
  9239. /**
  9240. * (Gantt) Data for a Gantt series.
  9241. */
  9242. export interface GanttPointOptionsObject {
  9243. /**
  9244. * (Gantt) Accessibility options for a data point.
  9245. */
  9246. accessibility?: PointAccessibilityOptionsObject;
  9247. /**
  9248. * (Gantt) Whether the grid node belonging to this point should start as
  9249. * collapsed. Used in axes of type treegrid.
  9250. */
  9251. collapsed?: boolean;
  9252. /**
  9253. * (Gantt) Progress indicator, how much of the task completed. If it is a
  9254. * number, the `fill` will be applied automatically.
  9255. */
  9256. completed?: (number|XrangePointPartialFillOptionsObject);
  9257. /**
  9258. * (Gantt) A reserved subspace to store options and values for customized
  9259. * functionality. Here you can add additional data for your own event
  9260. * callbacks and formatter callbacks.
  9261. */
  9262. custom?: Dictionary<any>;
  9263. /**
  9264. * (Gantt) The ID of the point (task) that this point depends on in Gantt
  9265. * charts. Aliases connect. Can also be an object, specifying further
  9266. * connecting options between the points. Multiple connections can be
  9267. * specified by providing an array.
  9268. */
  9269. dependency?: (string|XrangePointConnectorsOptionsObject|Array<(string|XrangePointConnectorsOptionsObject)>);
  9270. /**
  9271. * (Gantt) A description of the point to add to the screen reader
  9272. * information about the point.
  9273. */
  9274. description?: string;
  9275. /**
  9276. * (Gantt) Point specific options for the draggable-points module. Overrides
  9277. * options on `series.dragDrop`.
  9278. */
  9279. dragDrop?: SeriesLineDataDragDropOptions;
  9280. /**
  9281. * (Highcharts) The `id` of a series in the drilldown.series array to use
  9282. * for a drilldown for this point.
  9283. */
  9284. drilldown?: string;
  9285. /**
  9286. * (Gantt) The end time of a task.
  9287. */
  9288. end?: number;
  9289. /**
  9290. * (Highcharts, Highstock, Gantt) An id for the point. This can be used
  9291. * after render time to get a pointer to the point object through
  9292. * `chart.get()`.
  9293. */
  9294. id?: string;
  9295. /**
  9296. * (Gantt) The rank for this point's data label in case of collision. If two
  9297. * data labels are about to overlap, only the one with the highest
  9298. * `labelrank` will be drawn.
  9299. */
  9300. labelrank?: number;
  9301. /**
  9302. * (Highcharts, Highstock) Options for the point markers of line-like
  9303. * series.
  9304. */
  9305. marker?: PointMarkerOptionsObject;
  9306. /**
  9307. * (Gantt) Whether this point is a milestone. If so, only the `start` option
  9308. * is handled, while `end` is ignored.
  9309. */
  9310. milestone?: boolean;
  9311. /**
  9312. * (Gantt) The name of a task. If a `treegrid` y-axis is used (default in
  9313. * Gantt charts), this will be picked up automatically, and used to
  9314. * calculate the y-value.
  9315. */
  9316. name?: string;
  9317. /**
  9318. * (Gantt) The ID of the parent point (task) of this point in Gantt charts.
  9319. */
  9320. parent?: string;
  9321. /**
  9322. * (Gantt) The start time of a task.
  9323. */
  9324. start?: number;
  9325. /**
  9326. * (Gantt) The Y value of a task.
  9327. */
  9328. y?: number;
  9329. }
  9330. /**
  9331. * Represents the loose structure of a geographic JSON file.
  9332. */
  9333. export interface GeoJSON {
  9334. /**
  9335. * Full copyright note of the geographic data.
  9336. */
  9337. copyright?: string;
  9338. /**
  9339. * Short copyright note of the geographic data suitable for watermarks.
  9340. */
  9341. copyrightShort?: string;
  9342. /**
  9343. * Additional meta information based on the coordinate reference system.
  9344. */
  9345. crs?: Dictionary<any>;
  9346. /**
  9347. * Data sets of geographic features.
  9348. */
  9349. features: Array<GeoJSONFeature>;
  9350. /**
  9351. * Map projections and transformations to be used when calculating between
  9352. * lat/lon and chart values. Required for lat/lon support on maps. Allows
  9353. * resizing, rotating, and moving portions of a map within its projected
  9354. * coordinate system while still retaining lat/lon support. If using lat/lon
  9355. * on a portion of the map that does not match a `hitZone`, the definition
  9356. * with the key `default` is used.
  9357. */
  9358. "hc-transform"?: Dictionary<GeoJSONTranslation>;
  9359. /**
  9360. * Title of the geographic data.
  9361. */
  9362. title?: string;
  9363. /**
  9364. * Type of the geographic data. Type of an optimized map collection is
  9365. * `FeatureCollection`.
  9366. */
  9367. type?: string;
  9368. /**
  9369. * Version of the geographic data.
  9370. */
  9371. version?: string;
  9372. }
  9373. /**
  9374. * Data set of a geographic feature.
  9375. */
  9376. export interface GeoJSONFeature extends Dictionary<any> {
  9377. /**
  9378. * Data type of the geographic feature.
  9379. */
  9380. type: string;
  9381. }
  9382. /**
  9383. * Describes the map projection and transformations applied to a portion of a
  9384. * map.
  9385. */
  9386. export interface GeoJSONTranslation {
  9387. /**
  9388. * The coordinate reference system used to generate this portion of the map.
  9389. */
  9390. crs: string;
  9391. /**
  9392. * Define the portion of the map that this defintion applies to. Defined as
  9393. * a GeoJSON polygon feature object, with `type` and `coordinates`
  9394. * properties.
  9395. */
  9396. hitZone?: Dictionary<any>;
  9397. /**
  9398. * Property for internal use for maps generated by Highsoft.
  9399. */
  9400. jsonmarginX?: number;
  9401. /**
  9402. * Property for internal use for maps generated by Highsoft.
  9403. */
  9404. jsonmarginY?: number;
  9405. /**
  9406. * Property for internal use for maps generated by Highsoft.
  9407. */
  9408. jsonres?: number;
  9409. /**
  9410. * Specifies clockwise rotation of the coordinates after the projection, but
  9411. * before scaling and panning. Defined in radians, relative to the
  9412. * coordinate system origin.
  9413. */
  9414. rotation?: number;
  9415. /**
  9416. * The scaling factor applied to the projected coordinates.
  9417. */
  9418. scale?: number;
  9419. /**
  9420. * Property for internal use for maps generated by Highsoft.
  9421. */
  9422. xoffset?: number;
  9423. /**
  9424. * X offset of projected coordinates after scaling.
  9425. */
  9426. xpan?: number;
  9427. /**
  9428. * Property for internal use for maps generated by Highsoft.
  9429. */
  9430. yoffset?: number;
  9431. /**
  9432. * Y offset of projected coordinates after scaling.
  9433. */
  9434. ypan?: number;
  9435. }
  9436. export interface GlobalOptions {
  9437. /**
  9438. * (Highcharts, Highstock, Highmaps, Gantt) Path to the pattern image
  9439. * required by VML browsers in order to draw radial gradients.
  9440. */
  9441. VMLRadialGradientURL?: string;
  9442. }
  9443. /**
  9444. * Gradient options instead of a solid color.
  9445. */
  9446. export interface GradientColorObject {
  9447. /**
  9448. * Holds an object that defines the start position and the end position
  9449. * relative to the shape.
  9450. */
  9451. linearGradient?: LinearGradientColorObject;
  9452. /**
  9453. * Holds an object that defines the center position and the radius.
  9454. */
  9455. radialGradient?: RadialGradientColorObject;
  9456. /**
  9457. * The first item in each tuple is the position in the gradient, where 0 is
  9458. * the start of the gradient and 1 is the end of the gradient. Multiple
  9459. * stops can be applied. The second item is the color for each stop. This
  9460. * color can also be given in the rgba format.
  9461. */
  9462. stops: Array<GradientColorStopObject>;
  9463. }
  9464. /**
  9465. * Color stop tuple.
  9466. */
  9467. export interface GradientColorStopObject {
  9468. 0: number;
  9469. 1: ColorString;
  9470. color?: Color;
  9471. }
  9472. /**
  9473. * (Highcharts, Highstock, Highmaps, Gantt) Options for the focus border drawn
  9474. * around elements while navigating through them.
  9475. */
  9476. export interface KeyboardNavigationFocusBorderOptionsObject {
  9477. /**
  9478. * (Highcharts, Highstock, Highmaps, Gantt) Enable/disable focus border for
  9479. * chart.
  9480. */
  9481. enabled?: boolean;
  9482. /**
  9483. * (Highcharts, Highstock, Highmaps, Gantt) Hide the browser's default focus
  9484. * indicator.
  9485. */
  9486. hideBrowserFocusOutline?: boolean;
  9487. /**
  9488. * (Highcharts, Highstock, Highmaps, Gantt) Focus border margin around the
  9489. * elements.
  9490. */
  9491. margin?: number;
  9492. /**
  9493. * (Highcharts, Highstock, Highmaps, Gantt) Style options for the focus
  9494. * border drawn around elements while navigating through them. Note that
  9495. * some browsers in addition draw their own borders for focused elements.
  9496. * These automatic borders can not be styled by Highcharts.
  9497. *
  9498. * In styled mode, the border is given the `.highcharts-focus-border` class.
  9499. */
  9500. style?: CSSObject;
  9501. }
  9502. /**
  9503. * (Highcharts, Highstock, Highmaps, Gantt) Options for keyboard navigation.
  9504. */
  9505. export interface KeyboardNavigationOptionsObject {
  9506. /**
  9507. * (Highcharts, Highstock, Highmaps, Gantt) Enable keyboard navigation for
  9508. * the chart.
  9509. */
  9510. enabled?: boolean;
  9511. /**
  9512. * (Highcharts, Highstock, Highmaps, Gantt) Options for the focus border
  9513. * drawn around elements while navigating through them.
  9514. */
  9515. focusBorder?: KeyboardNavigationFocusBorderOptionsObject;
  9516. /**
  9517. * (Highcharts, Highstock, Highmaps, Gantt) Order of tab navigation in the
  9518. * chart. Determines which elements are tabbed to first. Available elements
  9519. * are: `series`, `zoom`, `rangeSelector`, `chartMenu`, `legend`. In
  9520. * addition, any custom components can be added here.
  9521. */
  9522. order?: Array<string>;
  9523. /**
  9524. * (Highcharts, Highstock, Highmaps, Gantt) Options for the keyboard
  9525. * navigation of data points and series.
  9526. */
  9527. seriesNavigation?: KeyboardNavigationSeriesNavigationOptionsObject;
  9528. /**
  9529. * (Highcharts, Highstock, Highmaps, Gantt) Whether or not to wrap around
  9530. * when reaching the end of arrow-key navigation for an element in the
  9531. * chart.
  9532. */
  9533. wrapAround?: boolean;
  9534. }
  9535. /**
  9536. * (Highcharts, Highstock, Highmaps, Gantt) Options for the keyboard navigation
  9537. * of data points and series.
  9538. */
  9539. export interface KeyboardNavigationSeriesNavigationOptionsObject {
  9540. /**
  9541. * (Highcharts, Highstock, Highmaps, Gantt) Set the keyboard navigation mode
  9542. * for the chart. Can be "normal" or "serialize". In normal mode, left/right
  9543. * arrow keys move between points in a series, while up/down arrow keys move
  9544. * between series. Up/down navigation acts intelligently to figure out which
  9545. * series makes sense to move to from any given point.
  9546. *
  9547. * In "serialize" mode, points are instead navigated as a single list.
  9548. * Left/right behaves as in "normal" mode. Up/down arrow keys will behave
  9549. * like left/right. This can be useful for unifying navigation behavior
  9550. * with/without screen readers enabled.
  9551. */
  9552. mode?: OptionsModeValue;
  9553. /**
  9554. * (Highcharts, Highstock, Highmaps, Gantt) When a series contains more
  9555. * points than this, we no longer allow keyboard navigation for it.
  9556. *
  9557. * Set to `false` to disable.
  9558. */
  9559. pointNavigationEnabledThreshold?: (boolean|number);
  9560. /**
  9561. * (Highcharts, Highstock, Highmaps, Gantt) Skip null points when navigating
  9562. * through points with the keyboard.
  9563. */
  9564. skipNullPoints?: boolean;
  9565. }
  9566. /**
  9567. * Containing the position of a box that should be avoided by labels.
  9568. */
  9569. export interface LabelIntersectBoxObject {
  9570. bottom: number;
  9571. left: number;
  9572. right: number;
  9573. top: number;
  9574. }
  9575. /**
  9576. * (Highcharts, Highstock, Highmaps, Gantt) Default announcement for new data in
  9577. * charts. If addPoint or addSeries is used, and only one series/point is added,
  9578. * the `newPointAnnounce` and `newSeriesAnnounce` strings are used. The
  9579. * `...Single` versions will be used if there is only one chart on the page, and
  9580. * the `...Multiple` versions will be used if there are multiple charts on the
  9581. * page. For all other new data events, the `newDataAnnounce` string will be
  9582. * used.
  9583. */
  9584. export interface LangAccessibilityAnnounceNewDataOptions {
  9585. newDataAnnounce?: string;
  9586. newPointAnnounceMultiple?: string;
  9587. newPointAnnounceSingle?: string;
  9588. newSeriesAnnounceMultiple?: string;
  9589. newSeriesAnnounceSingle?: string;
  9590. }
  9591. /**
  9592. * (Highcharts, Highstock, Highmaps, Gantt) Axis description format strings.
  9593. */
  9594. export interface LangAccessibilityAxisOptions {
  9595. rangeCategories?: string;
  9596. rangeFromTo?: string;
  9597. timeRangeDays?: string;
  9598. timeRangeHours?: string;
  9599. timeRangeMinutes?: string;
  9600. timeRangeSeconds?: string;
  9601. xAxisDescriptionPlural?: string;
  9602. xAxisDescriptionSingular?: string;
  9603. yAxisDescriptionPlural?: string;
  9604. yAxisDescriptionSingular?: string;
  9605. }
  9606. /**
  9607. * (Highcharts, Highstock, Highmaps, Gantt) Chart type description strings. This
  9608. * is added to the chart information region.
  9609. *
  9610. * If there is only a single series type used in the chart, we use the format
  9611. * string for the series type, or default if missing. There is one format string
  9612. * for cases where there is only a single series in the chart, and one for
  9613. * multiple series of the same type.
  9614. */
  9615. export interface LangAccessibilityChartTypesOptions {
  9616. barMultiple?: string;
  9617. barSingle?: string;
  9618. boxplotMultiple?: string;
  9619. boxplotSingle?: string;
  9620. bubbleMultiple?: string;
  9621. bubbleSingle?: string;
  9622. columnMultiple?: string;
  9623. columnSingle?: string;
  9624. combinationChart?: string;
  9625. defaultMultiple?: string;
  9626. defaultSingle?: string;
  9627. emptyChart?: string;
  9628. lineMultiple?: string;
  9629. lineSingle?: string;
  9630. mapTypeDescription?: string;
  9631. pieMultiple?: string;
  9632. pieSingle?: string;
  9633. scatterMultiple?: string;
  9634. scatterSingle?: string;
  9635. splineMultiple?: string;
  9636. splineSingle?: string;
  9637. unknownMap?: string;
  9638. }
  9639. /**
  9640. * (Highcharts, Highstock, Highmaps, Gantt) Exporting menu format strings for
  9641. * accessibility module.
  9642. */
  9643. export interface LangAccessibilityExportingOptions {
  9644. chartMenuLabel?: string;
  9645. exportRegionLabel?: string;
  9646. menuButtonLabel?: string;
  9647. }
  9648. /**
  9649. * (Highcharts, Highstock, Highmaps, Gantt) Language options for accessibility
  9650. * of the legend.
  9651. */
  9652. export interface LangAccessibilityLegendOptions {
  9653. legendItem?: string;
  9654. legendLabel?: string;
  9655. }
  9656. /**
  9657. * (Highcharts, Highstock, Highmaps, Gantt) Configure the accessibility strings
  9658. * in the chart. Requires the accessibility module to be loaded. For a
  9659. * description of the module and information on its features, see Highcharts
  9660. * Accessibility.
  9661. *
  9662. * For more dynamic control over the accessibility functionality, see
  9663. * accessibility.pointDescriptionFormatter,
  9664. * accessibility.seriesDescriptionFormatter, and
  9665. * accessibility.screenReaderSectionFormatter.
  9666. */
  9667. export interface LangAccessibilityOptions {
  9668. /**
  9669. * (Highcharts, Highstock, Highmaps, Gantt) Default announcement for new
  9670. * data in charts. If addPoint or addSeries is used, and only one
  9671. * series/point is added, the `newPointAnnounce` and `newSeriesAnnounce`
  9672. * strings are used. The `...Single` versions will be used if there is only
  9673. * one chart on the page, and the `...Multiple` versions will be used if
  9674. * there are multiple charts on the page. For all other new data events, the
  9675. * `newDataAnnounce` string will be used.
  9676. */
  9677. announceNewData?: LangAccessibilityAnnounceNewDataOptions;
  9678. /**
  9679. * (Highcharts, Highstock, Highmaps, Gantt) Axis description format strings.
  9680. */
  9681. axis?: LangAccessibilityAxisOptions;
  9682. chartContainerLabel?: string;
  9683. /**
  9684. * (Highcharts, Highstock, Highmaps, Gantt) Chart type description strings.
  9685. * This is added to the chart information region.
  9686. *
  9687. * If there is only a single series type used in the chart, we use the
  9688. * format string for the series type, or default if missing. There is one
  9689. * format string for cases where there is only a single series in the chart,
  9690. * and one for multiple series of the same type.
  9691. */
  9692. chartTypes?: LangAccessibilityChartTypesOptions;
  9693. credits?: string;
  9694. defaultChartTitle?: string;
  9695. drillUpButton?: string;
  9696. /**
  9697. * (Highcharts, Highstock, Highmaps, Gantt) Exporting menu format strings
  9698. * for accessibility module.
  9699. */
  9700. exporting?: LangAccessibilityExportingOptions;
  9701. /**
  9702. * (Highcharts, Highstock, Highmaps, Gantt) Set a label on the container
  9703. * wrapping the SVG.
  9704. */
  9705. graphicContainerLabel?: string;
  9706. /**
  9707. * (Highcharts, Highstock, Highmaps, Gantt) Language options for
  9708. * accessibility of the legend.
  9709. */
  9710. legend?: LangAccessibilityLegendOptions;
  9711. /**
  9712. * (Highcharts, Highstock, Highmaps, Gantt) Range selector language options
  9713. * for accessibility.
  9714. */
  9715. rangeSelector?: LangAccessibilityRangeSelectorOptions;
  9716. /**
  9717. * (Highcharts, Highstock, Highmaps, Gantt) Language options for the screen
  9718. * reader information sections added before and after the charts.
  9719. */
  9720. screenReaderSection?: LangAccessibilityScreenReaderSectionOptions;
  9721. /**
  9722. * (Highcharts, Highstock, Highmaps, Gantt) Lang configuration for different
  9723. * series types. For more dynamic control over the series element
  9724. * descriptions, see accessibility.seriesDescriptionFormatter.
  9725. */
  9726. series?: LangAccessibilitySeriesOptions;
  9727. /**
  9728. * (Highcharts, Highstock, Highmaps, Gantt) Descriptions of lesser known
  9729. * series types. The relevant description is added to the screen reader
  9730. * information region when these series types are used.
  9731. */
  9732. seriesTypeDescriptions?: LangAccessibilitySeriesTypeDescriptionsOptions;
  9733. /**
  9734. * (Highcharts, Highstock, Highmaps, Gantt) Language options for
  9735. * sonification.
  9736. */
  9737. sonification?: LangAccessibilitySonificationOptions;
  9738. svgContainerLabel?: string;
  9739. /**
  9740. * (Highcharts, Highstock, Highmaps, Gantt) Title element text for the chart
  9741. * SVG element. Leave this empty to disable adding the title element.
  9742. * Browsers will display this content when hovering over elements in the
  9743. * chart. Assistive technology may use this element to label the chart.
  9744. */
  9745. svgContainerTitle?: string;
  9746. /**
  9747. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility language options
  9748. * for the data table.
  9749. */
  9750. table?: LangAccessibilityTableOptions;
  9751. /**
  9752. * (Highcharts, Highstock, Highmaps, Gantt) Thousands separator to use when
  9753. * formatting numbers for screen readers. Note that many screen readers will
  9754. * not handle space as a thousands separator, and will consider "11 700" as
  9755. * two numbers.
  9756. *
  9757. * Set to `null` to use the separator defined in lang.thousandsSep.
  9758. */
  9759. thousandsSep?: string;
  9760. /**
  9761. * (Highcharts, Highstock, Highmaps, Gantt) Chart and map zoom accessibility
  9762. * language options.
  9763. */
  9764. zoom?: LangAccessibilityZoomOptions;
  9765. }
  9766. /**
  9767. * (Highcharts, Highstock, Highmaps, Gantt) Range selector language options for
  9768. * accessibility.
  9769. */
  9770. export interface LangAccessibilityRangeSelectorOptions {
  9771. buttonText?: string;
  9772. maxInputLabel?: string;
  9773. minInputLabel?: string;
  9774. }
  9775. /**
  9776. * (Highcharts, Highstock, Highmaps, Gantt) Language options for annotation
  9777. * descriptions.
  9778. */
  9779. export interface LangAccessibilityScreenReaderSectionAnnotationsOptions {
  9780. descriptionMultiplePoints?: string;
  9781. descriptionNoPoints?: string;
  9782. descriptionSinglePoint?: string;
  9783. heading?: string;
  9784. }
  9785. /**
  9786. * (Highcharts, Highstock, Highmaps, Gantt) Language options for the screen
  9787. * reader information sections added before and after the charts.
  9788. */
  9789. export interface LangAccessibilityScreenReaderSectionOptions {
  9790. afterRegionLabel?: string;
  9791. /**
  9792. * (Highcharts, Highstock, Highmaps, Gantt) Language options for annotation
  9793. * descriptions.
  9794. */
  9795. annotations?: LangAccessibilityScreenReaderSectionAnnotationsOptions;
  9796. beforeRegionLabel?: string;
  9797. /**
  9798. * (Highcharts, Highstock, Highmaps, Gantt) Label for the end of the chart.
  9799. * Announced by screen readers.
  9800. */
  9801. endOfChartMarker?: string;
  9802. }
  9803. /**
  9804. * (Highcharts, Highstock, Highmaps, Gantt) Lang configuration for different
  9805. * series types. For more dynamic control over the series element descriptions,
  9806. * see accessibility.seriesDescriptionFormatter.
  9807. */
  9808. export interface LangAccessibilitySeriesOptions {
  9809. /**
  9810. * (Highcharts, Highstock, Highmaps, Gantt) User supplied description text.
  9811. * This is added in the point comment description by default if present.
  9812. */
  9813. description?: string;
  9814. /**
  9815. * (Highcharts, Highstock, Highmaps, Gantt) Description for the value of
  9816. * null points.
  9817. */
  9818. nullPointValue?: string;
  9819. /**
  9820. * (Highcharts, Highstock, Highmaps, Gantt) Description for annotations on a
  9821. * point, as it is made available to assistive technology.
  9822. */
  9823. pointAnnotationsDescription?: string;
  9824. /**
  9825. * (Highcharts, Highstock, Highmaps, Gantt) Lang configuration for the
  9826. * series main summary. Each series type has two modes:
  9827. *
  9828. * 1. This series type is the only series type used in the chart
  9829. *
  9830. * 2. This is a combination chart with multiple series types
  9831. *
  9832. * If a definition does not exist for the specific series type and mode, the
  9833. * 'default' lang definitions are used.
  9834. */
  9835. summary?: LangAccessibilitySeriesSummaryOptions;
  9836. /**
  9837. * (Highcharts, Highstock, Highmaps, Gantt) xAxis description for series if
  9838. * there are multiple xAxes in the chart.
  9839. */
  9840. xAxisDescription?: string;
  9841. /**
  9842. * (Highcharts, Highstock, Highmaps, Gantt) yAxis description for series if
  9843. * there are multiple yAxes in the chart.
  9844. */
  9845. yAxisDescription?: string;
  9846. }
  9847. /**
  9848. * (Highcharts, Highstock, Highmaps, Gantt) Lang configuration for the series
  9849. * main summary. Each series type has two modes:
  9850. *
  9851. * 1. This series type is the only series type used in the chart
  9852. *
  9853. * 2. This is a combination chart with multiple series types
  9854. *
  9855. * If a definition does not exist for the specific series type and mode, the
  9856. * 'default' lang definitions are used.
  9857. */
  9858. export interface LangAccessibilitySeriesSummaryOptions {
  9859. bar?: string;
  9860. barCombination?: string;
  9861. boxplot?: string;
  9862. boxplotCombination?: string;
  9863. bubble?: string;
  9864. bubbleCombination?: string;
  9865. column?: string;
  9866. columnCombination?: string;
  9867. default?: string;
  9868. defaultCombination?: string;
  9869. line?: string;
  9870. lineCombination?: string;
  9871. map?: string;
  9872. mapbubble?: string;
  9873. mapbubbleCombination?: string;
  9874. mapCombination?: string;
  9875. mapline?: string;
  9876. maplineCombination?: string;
  9877. pie?: string;
  9878. pieCombination?: string;
  9879. scatter?: string;
  9880. scatterCombination?: string;
  9881. spline?: string;
  9882. splineCombination?: string;
  9883. }
  9884. /**
  9885. * (Highcharts, Highstock, Highmaps, Gantt) Descriptions of lesser known series
  9886. * types. The relevant description is added to the screen reader information
  9887. * region when these series types are used.
  9888. */
  9889. export interface LangAccessibilitySeriesTypeDescriptionsOptions {
  9890. arearange?: string;
  9891. areasplinerange?: string;
  9892. boxplot?: string;
  9893. bubble?: string;
  9894. columnrange?: string;
  9895. errorbar?: string;
  9896. funnel?: string;
  9897. pyramid?: string;
  9898. waterfall?: string;
  9899. }
  9900. /**
  9901. * (Highcharts, Highstock, Highmaps, Gantt) Language options for sonification.
  9902. */
  9903. export interface LangAccessibilitySonificationOptions {
  9904. playAsSoundButtonText?: string;
  9905. playAsSoundClickAnnouncement?: string;
  9906. }
  9907. /**
  9908. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility language options for
  9909. * the data table.
  9910. */
  9911. export interface LangAccessibilityTableOptions {
  9912. tableSummary?: string;
  9913. viewAsDataTableButtonText?: string;
  9914. }
  9915. /**
  9916. * (Highcharts, Highstock, Highmaps, Gantt) Chart and map zoom accessibility
  9917. * language options.
  9918. */
  9919. export interface LangAccessibilityZoomOptions {
  9920. mapZoomIn?: string;
  9921. mapZoomOut?: string;
  9922. resetZoomButton?: string;
  9923. }
  9924. /**
  9925. * (Highcharts, Highstock, Highmaps, Gantt) The text for exported table.
  9926. */
  9927. export interface LangExportDataOptions {
  9928. /**
  9929. * (Highcharts, Highstock, Highmaps, Gantt) The annotation column title.
  9930. */
  9931. annotationHeader?: string;
  9932. /**
  9933. * (Highcharts, Highstock, Highmaps, Gantt) The category column title when
  9934. * axis type set to "datetime".
  9935. */
  9936. categoryDatetimeHeader?: string;
  9937. /**
  9938. * (Highcharts, Highstock, Highmaps, Gantt) The category column title.
  9939. */
  9940. categoryHeader?: string;
  9941. }
  9942. /**
  9943. * (Highcharts, Highstock) Configure the Popup strings in the chart. Requires
  9944. * the `annotations.js` or `annotations-advanced.src.js` module to be loaded.
  9945. */
  9946. export interface LangNavigationOptions {
  9947. /**
  9948. * (Highcharts, Highstock) Translations for all field names used in popup.
  9949. */
  9950. popup?: LangNavigationPopupOptions;
  9951. }
  9952. /**
  9953. * (Highcharts, Highstock) Translations for all field names used in popup.
  9954. */
  9955. export interface LangNavigationPopupOptions {
  9956. addButton?: string;
  9957. arrowLine?: string;
  9958. arrowRay?: string;
  9959. arrowSegment?: string;
  9960. background?: string;
  9961. backgroundColor?: string;
  9962. backgroundColors?: string;
  9963. borderColor?: string;
  9964. borderRadius?: string;
  9965. borderWidth?: string;
  9966. circle?: string;
  9967. color?: string;
  9968. connector?: string;
  9969. crooked3?: string;
  9970. crooked5?: string;
  9971. crosshairX?: string;
  9972. crosshairY?: string;
  9973. editButton?: string;
  9974. elliott3?: string;
  9975. elliott5?: string;
  9976. fibonacci?: string;
  9977. fill?: string;
  9978. flags?: string;
  9979. fontSize?: string;
  9980. format?: string;
  9981. height?: string;
  9982. horizontalLine?: string;
  9983. infinityLine?: string;
  9984. innerBackground?: string;
  9985. label?: string;
  9986. labelOptions?: string;
  9987. labels?: string;
  9988. line?: string;
  9989. lines?: string;
  9990. measure?: string;
  9991. measureX?: string;
  9992. measureXY?: string;
  9993. measureY?: string;
  9994. name?: string;
  9995. outerBackground?: string;
  9996. padding?: string;
  9997. parallelChannel?: string;
  9998. pitchfork?: string;
  9999. ray?: string;
  10000. rectangle?: string;
  10001. removeButton?: string;
  10002. saveButton?: string;
  10003. segment?: string;
  10004. series?: string;
  10005. shapeOptions?: string;
  10006. shapes?: string;
  10007. simpleShapes?: string;
  10008. stroke?: string;
  10009. strokeWidth?: string;
  10010. style?: string;
  10011. title?: string;
  10012. tunnel?: string;
  10013. typeOptions?: string;
  10014. verticalArrow?: string;
  10015. verticalCounter?: string;
  10016. verticalLabel?: string;
  10017. verticalLine?: string;
  10018. volume?: string;
  10019. }
  10020. /**
  10021. * (Highcharts, Highstock, Highmaps, Gantt) Language object. The language object
  10022. * is global and it can't be set on each chart initialization. Instead, use
  10023. * `Highcharts.setOptions` to set it before any chart is initialized. (see
  10024. * online documentation for example)
  10025. */
  10026. export interface LangOptions {
  10027. /**
  10028. * (Highcharts, Highstock, Highmaps, Gantt) Configure the accessibility
  10029. * strings in the chart. Requires the accessibility module to be loaded. For
  10030. * a description of the module and information on its features, see
  10031. * Highcharts Accessibility.
  10032. *
  10033. * For more dynamic control over the accessibility functionality, see
  10034. * accessibility.pointDescriptionFormatter,
  10035. * accessibility.seriesDescriptionFormatter, and
  10036. * accessibility.screenReaderSectionFormatter.
  10037. */
  10038. accessibility?: LangAccessibilityOptions;
  10039. /**
  10040. * (Highcharts, Highstock, Highmaps, Gantt) Exporting module menu. The
  10041. * tooltip title for the context menu holding print and export menu items.
  10042. */
  10043. contextButtonTitle?: string;
  10044. /**
  10045. * (Highcharts, Highstock, Highmaps, Gantt) The default decimal point used
  10046. * in the `Highcharts.numberFormat` method unless otherwise specified in the
  10047. * function arguments.
  10048. */
  10049. decimalPoint?: string;
  10050. /**
  10051. * (Highcharts, Highstock, Highmaps, Gantt) The text for the menu item.
  10052. */
  10053. downloadCSV?: string;
  10054. /**
  10055. * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
  10056. * for the JPEG download menu item.
  10057. */
  10058. downloadJPEG?: string;
  10059. /**
  10060. * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
  10061. * for the PDF download menu item.
  10062. */
  10063. downloadPDF?: string;
  10064. /**
  10065. * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
  10066. * for the PNG download menu item.
  10067. */
  10068. downloadPNG?: string;
  10069. /**
  10070. * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
  10071. * for the SVG download menu item.
  10072. */
  10073. downloadSVG?: string;
  10074. /**
  10075. * (Highcharts, Highstock, Highmaps, Gantt) The text for the menu item.
  10076. */
  10077. downloadXLS?: string;
  10078. /**
  10079. * (Highcharts, Highmaps) The text for the button that appears when drilling
  10080. * down, linking back to the parent series. The parent series' name is
  10081. * inserted for `{series.name}`.
  10082. */
  10083. drillUpText?: string;
  10084. /**
  10085. * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
  10086. * for the menu item to exit the chart from full screen.
  10087. */
  10088. exitFullscreen?: string;
  10089. /**
  10090. * (Highcharts, Highstock, Highmaps, Gantt) The text for exported table.
  10091. */
  10092. exportData?: LangExportDataOptions;
  10093. /**
  10094. * (Highcharts, Highstock, Highmaps, Gantt) The text for the menu item.
  10095. */
  10096. hideData?: string;
  10097. /**
  10098. * (Highcharts, Highstock) What to show in a date field for invalid dates.
  10099. * Defaults to an empty string.
  10100. */
  10101. invalidDate?: string;
  10102. /**
  10103. * (Highcharts, Highstock, Highmaps, Gantt) The loading text that appears
  10104. * when the chart is set into the loading state following a call to
  10105. * `chart.showLoading`.
  10106. */
  10107. loading?: string;
  10108. /**
  10109. * (Highcharts, Highstock, Highmaps, Gantt) An array containing the months
  10110. * names. Corresponds to the `%B` format in `Highcharts.dateFormat()`.
  10111. */
  10112. months?: Array<string>;
  10113. /**
  10114. * (Highcharts, Highstock) Configure the Popup strings in the chart.
  10115. * Requires the `annotations.js` or `annotations-advanced.src.js` module to
  10116. * be loaded.
  10117. */
  10118. navigation?: LangNavigationOptions;
  10119. /**
  10120. * (Highcharts, Highstock) The text to display when the chart contains no
  10121. * data.
  10122. */
  10123. noData?: string;
  10124. /**
  10125. * (Highcharts, Highstock, Highmaps, Gantt) The magnitude of numericSymbols
  10126. * replacements. Use 10000 for Japanese, Korean and various Chinese locales,
  10127. * which use symbols for 10^4, 10^8 and 10^12.
  10128. */
  10129. numericSymbolMagnitude?: number;
  10130. /**
  10131. * (Highcharts, Highstock, Highmaps, Gantt) Metric prefixes used to shorten
  10132. * high numbers in axis labels. Replacing any of the positions with `null`
  10133. * causes the full number to be written. Setting `numericSymbols` to `null`
  10134. * disables shortening altogether.
  10135. */
  10136. numericSymbols?: Array<string>;
  10137. /**
  10138. * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
  10139. * for the menu item to print the chart.
  10140. */
  10141. printChart?: string;
  10142. /**
  10143. * (Highstock, Gantt) The text for the label for the "from" input box in the
  10144. * range selector.
  10145. */
  10146. rangeSelectorFrom?: string;
  10147. /**
  10148. * (Highstock, Gantt) The text for the label for the "to" input box in the
  10149. * range selector.
  10150. */
  10151. rangeSelectorTo?: string;
  10152. /**
  10153. * (Highstock, Gantt) The text for the label for the range selector buttons.
  10154. */
  10155. rangeSelectorZoom?: string;
  10156. /**
  10157. * (Highcharts, Highstock, Highmaps, Gantt) The text for the label appearing
  10158. * when a chart is zoomed.
  10159. */
  10160. resetZoom?: string;
  10161. /**
  10162. * (Highcharts, Highstock, Highmaps, Gantt) The tooltip title for the label
  10163. * appearing when a chart is zoomed.
  10164. */
  10165. resetZoomTitle?: string;
  10166. /**
  10167. * (Highcharts, Highstock, Highmaps, Gantt) An array containing the months
  10168. * names in abbreviated form. Corresponds to the `%b` format in
  10169. * `Highcharts.dateFormat()`.
  10170. */
  10171. shortMonths?: Array<string>;
  10172. /**
  10173. * (Highcharts, Highstock, Highmaps, Gantt) Short week days, starting
  10174. * Sunday. If not specified, Highcharts uses the first three letters of the
  10175. * `lang.weekdays` option.
  10176. */
  10177. shortWeekdays?: Array<string>;
  10178. /**
  10179. * (Highstock) Configure the stockTools GUI titles(hints) in the chart.
  10180. * Requires the `stock-tools.js` module to be loaded.
  10181. */
  10182. stockTools?: LangStockToolsOptions;
  10183. /**
  10184. * (Highcharts, Highstock, Highmaps, Gantt) The default thousands separator
  10185. * used in the `Highcharts.numberFormat` method unless otherwise specified
  10186. * in the function arguments. Defaults to a single space character, which is
  10187. * recommended in ISO 31-0 and works across Anglo-American and continental
  10188. * European languages.
  10189. */
  10190. thousandsSep?: string;
  10191. /**
  10192. * (Highcharts, Highstock, Highmaps, Gantt) The text for the menu item.
  10193. */
  10194. viewData?: string;
  10195. /**
  10196. * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
  10197. * for the menu item to view the chart in full screen.
  10198. */
  10199. viewFullscreen?: string;
  10200. /**
  10201. * (Highcharts, Highstock, Highmaps, Gantt) An array containing the weekday
  10202. * names.
  10203. */
  10204. weekdays?: Array<string>;
  10205. /**
  10206. * (Highmaps) The title appearing on hovering the zoom in button. The text
  10207. * itself defaults to "+" and can be changed in the button options.
  10208. */
  10209. zoomIn?: string;
  10210. /**
  10211. * (Highmaps) The title appearing on hovering the zoom out button. The text
  10212. * itself defaults to "-" and can be changed in the button options.
  10213. */
  10214. zoomOut?: string;
  10215. }
  10216. export interface LangStockToolsGuiOptions {
  10217. advanced?: string;
  10218. arrowLine?: string;
  10219. arrowRay?: string;
  10220. arrowSegment?: string;
  10221. circle?: string;
  10222. crooked3?: string;
  10223. crooked5?: string;
  10224. crookedLines?: string;
  10225. currentPriceIndicator?: string;
  10226. elliott3?: string;
  10227. elliott5?: string;
  10228. fibonacci?: string;
  10229. flagCirclepin?: string;
  10230. flagDiamondpin?: string;
  10231. flags?: string;
  10232. flagSimplepin?: string;
  10233. flagSquarepin?: string;
  10234. fullScreen?: string;
  10235. horizontalLine?: string;
  10236. indicators?: string;
  10237. infinityLine?: string;
  10238. label?: string;
  10239. line?: string;
  10240. lines?: string;
  10241. measure?: string;
  10242. measureX?: string;
  10243. measureXY?: string;
  10244. measureY?: string;
  10245. parallelChannel?: string;
  10246. pitchfork?: string;
  10247. ray?: string;
  10248. rectangle?: string;
  10249. saveChart?: string;
  10250. segment?: string;
  10251. simpleShapes?: string;
  10252. toggleAnnotations?: string;
  10253. typeCandlestick?: string;
  10254. typeChange?: string;
  10255. typeLine?: string;
  10256. typeOHLC?: string;
  10257. verticalArrow?: string;
  10258. verticalCounter?: string;
  10259. verticalLabel?: string;
  10260. verticalLabels?: string;
  10261. verticalLine?: string;
  10262. zoomChange?: string;
  10263. zoomX?: string;
  10264. zoomXY?: string;
  10265. zoomY?: string;
  10266. }
  10267. /**
  10268. * (Highstock) Configure the stockTools GUI titles(hints) in the chart. Requires
  10269. * the `stock-tools.js` module to be loaded.
  10270. */
  10271. export interface LangStockToolsOptions {
  10272. gui?: LangStockToolsGuiOptions;
  10273. }
  10274. /**
  10275. * (Highcharts, Highstock, Highmaps, Gantt) Options for keyboard navigation for
  10276. * the legend.
  10277. */
  10278. export interface LegendAccessibilityKeyboardNavigationOptions {
  10279. /**
  10280. * (Highcharts, Highstock, Highmaps, Gantt) Enable keyboard navigation for
  10281. * the legend.
  10282. */
  10283. enabled?: boolean;
  10284. }
  10285. /**
  10286. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the
  10287. * legend. Requires the Accessibility module.
  10288. */
  10289. export interface LegendAccessibilityOptions {
  10290. /**
  10291. * (Highcharts, Highstock, Highmaps, Gantt) Enable accessibility support for
  10292. * the legend.
  10293. */
  10294. enabled?: boolean;
  10295. /**
  10296. * (Highcharts, Highstock, Highmaps, Gantt) Options for keyboard navigation
  10297. * for the legend.
  10298. */
  10299. keyboardNavigation?: LegendAccessibilityKeyboardNavigationOptions;
  10300. }
  10301. /**
  10302. * (Highcharts, Highstock, Highmaps) Options for the bubble legend labels.
  10303. */
  10304. export interface LegendBubbleLegendLabelsOptions {
  10305. /**
  10306. * (Highcharts, Highstock, Highmaps) The alignment of the labels compared to
  10307. * the bubble legend. Can be one of `left`, `center` or `right`.
  10308. */
  10309. align?: AlignValue;
  10310. /**
  10311. * (Highcharts, Highstock, Highmaps) Whether to allow data labels to
  10312. * overlap.
  10313. */
  10314. allowOverlap?: boolean;
  10315. /**
  10316. * (Highcharts, Highstock, Highmaps) An additional class name to apply to
  10317. * the bubble legend label graphical elements. This option does not replace
  10318. * default class names of the graphical element.
  10319. */
  10320. className?: string;
  10321. /**
  10322. * (Highcharts, Highstock, Highmaps) A format string for the bubble legend
  10323. * labels. Available variables are the same as for `formatter`.
  10324. */
  10325. format?: string;
  10326. /**
  10327. * (Highcharts, Highstock, Highmaps) Available `this` properties are:
  10328. *
  10329. * - `this.value`: The bubble value.
  10330. *
  10331. * - `this.radius`: The radius of the bubble range.
  10332. *
  10333. * - `this.center`: The center y position of the range.
  10334. */
  10335. formatter?: FormatterCallbackFunction<BubbleLegendFormatterContextObject>;
  10336. /**
  10337. * (Highcharts, Highstock, Highmaps) CSS styles for the labels.
  10338. */
  10339. style?: CSSObject;
  10340. /**
  10341. * (Highcharts, Highstock, Highmaps) The x position offset of the label
  10342. * relative to the connector.
  10343. */
  10344. x?: number;
  10345. /**
  10346. * (Highcharts, Highstock, Highmaps) The y position offset of the label
  10347. * relative to the connector.
  10348. */
  10349. y?: number;
  10350. }
  10351. /**
  10352. * (Highcharts, Highstock, Highmaps) The bubble legend is an additional element
  10353. * in legend which presents the scale of the bubble series. Individual bubble
  10354. * ranges can be defined by user or calculated from series. In the case of
  10355. * automatically calculated ranges, a 1px margin of error is permitted.
  10356. */
  10357. export interface LegendBubbleLegendOptions {
  10358. /**
  10359. * (Highcharts, Highstock, Highmaps) The color of the ranges borders, can be
  10360. * also defined for an individual range.
  10361. */
  10362. borderColor?: (ColorString|GradientColorObject|PatternObject);
  10363. /**
  10364. * (Highcharts, Highstock, Highmaps) The width of the ranges borders in
  10365. * pixels, can be also defined for an individual range.
  10366. */
  10367. borderWidth?: number;
  10368. /**
  10369. * (Highcharts, Highstock, Highmaps) An additional class name to apply to
  10370. * the bubble legend' circle graphical elements. This option does not
  10371. * replace default class names of the graphical element.
  10372. */
  10373. className?: string;
  10374. /**
  10375. * (Highcharts, Highstock, Highmaps) The main color of the bubble legend.
  10376. * Applies to ranges, if individual color is not defined.
  10377. */
  10378. color?: (ColorString|GradientColorObject|PatternObject);
  10379. /**
  10380. * (Highcharts, Highstock, Highmaps) An additional class name to apply to
  10381. * the bubble legend's connector graphical elements. This option does not
  10382. * replace default class names of the graphical element.
  10383. */
  10384. connectorClassName?: string;
  10385. /**
  10386. * (Highcharts, Highstock, Highmaps) The color of the connector, can be also
  10387. * defined for an individual range.
  10388. */
  10389. connectorColor?: (ColorString|GradientColorObject|PatternObject);
  10390. /**
  10391. * (Highcharts, Highstock, Highmaps) The length of the connectors in pixels.
  10392. * If labels are centered, the distance is reduced to 0.
  10393. */
  10394. connectorDistance?: number;
  10395. /**
  10396. * (Highcharts, Highstock, Highmaps) The width of the connectors in pixels.
  10397. */
  10398. connectorWidth?: number;
  10399. /**
  10400. * (Highcharts, Highstock, Highmaps) Enable or disable the bubble legend.
  10401. */
  10402. enabled?: boolean;
  10403. /**
  10404. * (Highcharts, Highstock, Highmaps) Options for the bubble legend labels.
  10405. */
  10406. labels?: LegendBubbleLegendLabelsOptions;
  10407. /**
  10408. * (Highcharts, Highstock, Highmaps) The position of the bubble legend in
  10409. * the legend.
  10410. */
  10411. legendIndex?: number;
  10412. /**
  10413. * (Highcharts, Highstock, Highmaps) Miximum bubble legend range size. If
  10414. * values for ranges are not specified, the `minSize` and the `maxSize` are
  10415. * calculated from bubble series.
  10416. */
  10417. maxSize?: number;
  10418. /**
  10419. * (Highcharts, Highstock, Highmaps) Minimum bubble legend range size. If
  10420. * values for ranges are not specified, the `minSize` and the `maxSize` are
  10421. * calculated from bubble series.
  10422. */
  10423. minSize?: number;
  10424. /**
  10425. * (Highcharts, Highstock, Highmaps) Options for specific range. One range
  10426. * consists of bubble, label and connector.
  10427. */
  10428. ranges?: Array<LegendBubbleLegendRangesOptions>;
  10429. /**
  10430. * (Highcharts, Highstock, Highmaps) Whether the bubble legend range value
  10431. * should be represented by the area or the width of the bubble. The
  10432. * default, area, corresponds best to the human perception of the size of
  10433. * each bubble.
  10434. */
  10435. sizeBy?: BubbleSizeByValue;
  10436. /**
  10437. * (Highcharts, Highstock, Highmaps) When this is true, the absolute value
  10438. * of z determines the size of the bubble. This means that with the default
  10439. * zThreshold of 0, a bubble of value -1 will have the same size as a bubble
  10440. * of value 1, while a bubble of value 0 will have a smaller size according
  10441. * to minSize.
  10442. */
  10443. sizeByAbsoluteValue?: boolean;
  10444. /**
  10445. * (Highcharts, Highstock, Highmaps) Define the visual z index of the bubble
  10446. * legend.
  10447. */
  10448. zIndex?: number;
  10449. /**
  10450. * (Highcharts, Highstock, Highmaps) Ranges with with lower value than
  10451. * zThreshold, are skipped.
  10452. */
  10453. zThreshold?: number;
  10454. }
  10455. /**
  10456. * (Highcharts, Highstock, Highmaps) Options for specific range. One range
  10457. * consists of bubble, label and connector.
  10458. */
  10459. export interface LegendBubbleLegendRangesOptions {
  10460. /**
  10461. * (Highcharts, Highstock, Highmaps) The color of the border for individual
  10462. * range.
  10463. */
  10464. borderColor?: (ColorString|GradientColorObject|PatternObject);
  10465. /**
  10466. * (Highcharts, Highstock, Highmaps) The color of the bubble for individual
  10467. * range.
  10468. */
  10469. color?: (ColorString|GradientColorObject|PatternObject);
  10470. /**
  10471. * (Highcharts, Highstock, Highmaps) The color of the connector for
  10472. * individual range.
  10473. */
  10474. connectorColor?: (ColorString|GradientColorObject|PatternObject);
  10475. /**
  10476. * (Highcharts, Highstock, Highmaps) Range size value, similar to bubble Z
  10477. * data.
  10478. */
  10479. value?: number;
  10480. }
  10481. /**
  10482. * (Highcharts, Highstock, Highmaps, Gantt) Options for the paging or navigation
  10483. * appearing when the legend is overflown. Navigation works well on screen, but
  10484. * not in static exported images. One way of working around that is to increase
  10485. * the chart height in export.
  10486. */
  10487. export interface LegendNavigationOptions {
  10488. /**
  10489. * (Highcharts, Highstock, Highmaps, Gantt) The color for the active up or
  10490. * down arrow in the legend page navigation.
  10491. */
  10492. activeColor?: (ColorString|GradientColorObject|PatternObject);
  10493. /**
  10494. * (Highcharts, Highstock, Highmaps, Gantt) How to animate the pages when
  10495. * navigating up or down. A value of `true` applies the default navigation
  10496. * given in the `chart.animation` option. Additional options can be given as
  10497. * an object containing values for easing and duration.
  10498. */
  10499. animation?: (boolean|Partial<AnimationOptionsObject>);
  10500. /**
  10501. * (Highcharts, Highstock, Highmaps, Gantt) The pixel size of the up and
  10502. * down arrows in the legend paging navigation.
  10503. */
  10504. arrowSize?: number;
  10505. /**
  10506. * (Highcharts, Highstock, Highmaps, Gantt) Whether to enable the legend
  10507. * navigation. In most cases, disabling the navigation results in an
  10508. * unwanted overflow.
  10509. *
  10510. * See also the adapt chart to legend plugin for a solution to extend the
  10511. * chart height to make room for the legend, optionally in exported charts
  10512. * only.
  10513. */
  10514. enabled?: boolean;
  10515. /**
  10516. * (Highcharts, Highstock, Highmaps, Gantt) The color of the inactive up or
  10517. * down arrow in the legend page navigation. .
  10518. */
  10519. inactiveColor?: (ColorString|GradientColorObject|PatternObject);
  10520. /**
  10521. * (Highcharts, Highstock, Highmaps, Gantt) Text styles for the legend page
  10522. * navigation.
  10523. */
  10524. style?: CSSObject;
  10525. }
  10526. /**
  10527. * (Highcharts, Highstock, Highmaps, Gantt) The legend is a box containing a
  10528. * symbol and name for each series item or point item in the chart. Each series
  10529. * (or points in case of pie charts) is represented by a symbol and its name in
  10530. * the legend.
  10531. *
  10532. * It is possible to override the symbol creator function and create custom
  10533. * legend symbols.
  10534. */
  10535. export interface LegendOptions {
  10536. /**
  10537. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the
  10538. * legend. Requires the Accessibility module.
  10539. */
  10540. accessibility?: LegendAccessibilityOptions;
  10541. /**
  10542. * (Highcharts, Highstock, Highmaps, Gantt) The horizontal alignment of the
  10543. * legend box within the chart area. Valid values are `left`, `center` and
  10544. * `right`.
  10545. *
  10546. * In the case that the legend is aligned in a corner position, the `layout`
  10547. * option will determine whether to place it above/below or on the side of
  10548. * the plot area.
  10549. */
  10550. align?: AlignValue;
  10551. /**
  10552. * (Highcharts, Highstock, Highmaps, Gantt) If the layout is `horizontal`
  10553. * and the legend items span over two lines or more, whether to align the
  10554. * items into vertical columns. Setting this to `false` makes room for more
  10555. * items, but will look more messy.
  10556. */
  10557. alignColumns?: boolean;
  10558. /**
  10559. * (Highcharts, Highstock, Highmaps, Gantt) The background color of the
  10560. * legend.
  10561. */
  10562. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  10563. /**
  10564. * (Highcharts, Highstock, Highmaps, Gantt) The color of the drawn border
  10565. * around the legend.
  10566. */
  10567. borderColor?: (ColorString|GradientColorObject|PatternObject);
  10568. /**
  10569. * (Highcharts, Highstock, Highmaps, Gantt) The border corner radius of the
  10570. * legend.
  10571. */
  10572. borderRadius?: number;
  10573. /**
  10574. * (Highcharts, Highstock, Highmaps, Gantt) The width of the drawn border
  10575. * around the legend.
  10576. */
  10577. borderWidth?: number;
  10578. /**
  10579. * (Highcharts, Highstock, Highmaps) The bubble legend is an additional
  10580. * element in legend which presents the scale of the bubble series.
  10581. * Individual bubble ranges can be defined by user or calculated from
  10582. * series. In the case of automatically calculated ranges, a 1px margin of
  10583. * error is permitted.
  10584. */
  10585. bubbleLegend?: LegendBubbleLegendOptions;
  10586. /**
  10587. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the legend.
  10588. * There is also a series-specific option, showInLegend, that can hide the
  10589. * series from the legend. In some series types this is `false` by default,
  10590. * so it must set to `true` in order to show the legend for the series.
  10591. */
  10592. enabled?: boolean;
  10593. /**
  10594. * (Highcharts, Highstock, Highmaps, Gantt) When the legend is floating, the
  10595. * plot area ignores it and is allowed to be placed below it.
  10596. */
  10597. floating?: boolean;
  10598. /**
  10599. * (Highcharts, Highstock, Highmaps, Gantt) Default styling for the checkbox
  10600. * next to a legend item when `showCheckbox` is true.
  10601. */
  10602. itemCheckboxStyle?: CSSObject;
  10603. /**
  10604. * (Highcharts, Highstock, Highmaps, Gantt) In a legend with horizontal
  10605. * layout, the itemDistance defines the pixel distance between each item.
  10606. */
  10607. itemDistance?: number;
  10608. /**
  10609. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for each legend item
  10610. * when the corresponding series or point is hidden. Only a subset of CSS is
  10611. * supported, notably those options related to text. Properties are
  10612. * inherited from `style` unless overridden here.
  10613. */
  10614. itemHiddenStyle?: CSSObject;
  10615. /**
  10616. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for each legend item
  10617. * in hover mode. Only a subset of CSS is supported, notably those options
  10618. * related to text. Properties are inherited from `style` unless overridden
  10619. * here.
  10620. */
  10621. itemHoverStyle?: CSSObject;
  10622. /**
  10623. * (Highcharts, Highstock, Highmaps, Gantt) The pixel bottom margin for each
  10624. * legend item.
  10625. */
  10626. itemMarginBottom?: number;
  10627. /**
  10628. * (Highcharts, Highstock, Highmaps, Gantt) The pixel top margin for each
  10629. * legend item.
  10630. */
  10631. itemMarginTop?: number;
  10632. /**
  10633. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for each legend item.
  10634. * Only a subset of CSS is supported, notably those options related to text.
  10635. * The default `textOverflow` property makes long texts truncate. Set it to
  10636. * `undefined` to wrap text instead. A `width` property can be added to
  10637. * control the text width.
  10638. */
  10639. itemStyle?: CSSObject;
  10640. /**
  10641. * (Highcharts, Highstock, Highmaps, Gantt) The width for each legend item.
  10642. * By default the items are laid out successively. In a horizontal layout,
  10643. * if the items are laid out across two rows or more, they will be
  10644. * vertically aligned depending on the legend.alignColumns option.
  10645. */
  10646. itemWidth?: number;
  10647. /**
  10648. * (Highcharts, Highstock, Highmaps, Gantt) A format string for each legend
  10649. * label. Available variables relates to properties on the series, or the
  10650. * point in case of pies.
  10651. */
  10652. labelFormat?: string;
  10653. /**
  10654. * (Highcharts, Highstock, Highmaps, Gantt) Callback function to format each
  10655. * of the series' labels. The `this` keyword refers to the series object, or
  10656. * the point object in case of pie charts. By default the series or point
  10657. * name is printed.
  10658. */
  10659. labelFormatter?: FormatterCallbackFunction<(Point|Series)>;
  10660. /**
  10661. * (Highcharts, Highstock, Highmaps, Gantt) The layout of the legend items.
  10662. * Can be one of `horizontal` or `vertical` or `proximate`. When
  10663. * `proximate`, the legend items will be placed as close as possible to the
  10664. * graphs they're representing, except in inverted charts or when the legend
  10665. * position doesn't allow it.
  10666. */
  10667. layout?: OptionsLayoutValue;
  10668. /**
  10669. * (Highcharts, Highstock, Highmaps, Gantt) If the plot area sized is
  10670. * calculated automatically and the legend is not floating, the legend
  10671. * margin is the space between the legend and the axis labels or plot area.
  10672. */
  10673. margin?: number;
  10674. /**
  10675. * (Highcharts, Highstock, Highmaps, Gantt) Maximum pixel height for the
  10676. * legend. When the maximum height is extended, navigation will show.
  10677. */
  10678. maxHeight?: number;
  10679. /**
  10680. * (Highcharts, Highstock, Highmaps, Gantt) Options for the paging or
  10681. * navigation appearing when the legend is overflown. Navigation works well
  10682. * on screen, but not in static exported images. One way of working around
  10683. * that is to increase the chart height in export.
  10684. */
  10685. navigation?: LegendNavigationOptions;
  10686. /**
  10687. * (Highcharts, Highstock, Highmaps, Gantt) The inner padding of the legend
  10688. * box.
  10689. */
  10690. padding?: number;
  10691. /**
  10692. * (Highcharts, Highstock, Highmaps, Gantt) Whether to reverse the order of
  10693. * the legend items compared to the order of the series or points as defined
  10694. * in the configuration object.
  10695. */
  10696. reversed?: boolean;
  10697. /**
  10698. * (Highcharts, Highstock, Highmaps, Gantt) Whether to show the symbol on
  10699. * the right side of the text rather than the left side. This is common in
  10700. * Arabic and Hebraic.
  10701. */
  10702. rtl?: boolean;
  10703. /**
  10704. * (Highcharts, Highstock, Highmaps, Gantt) Whether to apply a drop shadow
  10705. * to the legend. A `backgroundColor` also needs to be applied for this to
  10706. * take effect. The shadow can be an object configuration containing
  10707. * `color`, `offsetX`, `offsetY`, `opacity` and `width`.
  10708. */
  10709. shadow?: (boolean|CSSObject);
  10710. /**
  10711. * (Highcharts, Highstock, Highmaps, Gantt) When this is true, the legend
  10712. * symbol width will be the same as the symbol height, which in turn
  10713. * defaults to the font size of the legend items.
  10714. */
  10715. squareSymbol?: boolean;
  10716. /**
  10717. * (Highcharts, Highstock, Highmaps, Gantt) The pixel height of the symbol
  10718. * for series types that use a rectangle in the legend. Defaults to the font
  10719. * size of legend items.
  10720. */
  10721. symbolHeight?: number;
  10722. /**
  10723. * (Highcharts, Highstock, Highmaps, Gantt) The pixel padding between the
  10724. * legend item symbol and the legend item text.
  10725. */
  10726. symbolPadding?: number;
  10727. /**
  10728. * (Highcharts, Highstock, Highmaps, Gantt) The border radius of the symbol
  10729. * for series types that use a rectangle in the legend. Defaults to half the
  10730. * `symbolHeight`.
  10731. */
  10732. symbolRadius?: number;
  10733. /**
  10734. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the legend
  10735. * item symbol. When the `squareSymbol` option is set, this defaults to the
  10736. * `symbolHeight`, otherwise 16.
  10737. */
  10738. symbolWidth?: number;
  10739. /**
  10740. * (Highcharts, Highstock, Highmaps, Gantt) A title to be added on top of
  10741. * the legend.
  10742. */
  10743. title?: LegendTitleOptions;
  10744. /**
  10745. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  10746. * the legend item texts.
  10747. *
  10748. * Prior to 4.1.7, when using HTML, legend.navigation was disabled.
  10749. */
  10750. useHTML?: boolean;
  10751. /**
  10752. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  10753. * legend box. Can be one of `top`, `middle` or `bottom`. Vertical position
  10754. * can be further determined by the `y` option.
  10755. *
  10756. * In the case that the legend is aligned in a corner position, the `layout`
  10757. * option will determine whether to place it above/below or on the side of
  10758. * the plot area.
  10759. *
  10760. * When the layout option is `proximate`, the `verticalAlign` option doesn't
  10761. * apply.
  10762. */
  10763. verticalAlign?: VerticalAlignValue;
  10764. /**
  10765. * (Highcharts, Highstock, Highmaps, Gantt) The width of the legend box. If
  10766. * a number is set, it translates to pixels. Since v7.0.2 it allows setting
  10767. * a percent string of the full chart width, for example `40%`.
  10768. *
  10769. * Defaults to the full chart width for legends below or above the chart,
  10770. * half the chart width for legends to the left and right.
  10771. */
  10772. width?: (number|string);
  10773. /**
  10774. * (Highcharts, Highstock, Highmaps, Gantt) The x offset of the legend
  10775. * relative to its horizontal alignment `align` within chart.spacingLeft and
  10776. * chart.spacingRight. Negative x moves it to the left, positive x moves it
  10777. * to the right.
  10778. */
  10779. x?: number;
  10780. /**
  10781. * (Highcharts, Highstock, Highmaps, Gantt) The vertical offset of the
  10782. * legend relative to it's vertical alignment `verticalAlign` within
  10783. * chart.spacingTop and chart.spacingBottom. Negative y moves it up,
  10784. * positive y moves it down.
  10785. */
  10786. y?: number;
  10787. }
  10788. /**
  10789. * (Highcharts, Highstock, Highmaps, Gantt) A title to be added on top of the
  10790. * legend.
  10791. */
  10792. export interface LegendTitleOptions {
  10793. /**
  10794. * (Highcharts, Highstock, Highmaps, Gantt) Generic CSS styles for the
  10795. * legend title.
  10796. */
  10797. style?: CSSObject;
  10798. /**
  10799. * (Highcharts, Highstock, Highmaps, Gantt) A text or HTML string for the
  10800. * title.
  10801. */
  10802. text?: string;
  10803. }
  10804. /**
  10805. * Defines the start position and the end position for a gradient relative to
  10806. * the shape. Start position (x1, y1) and end position (x2, y2) are relative to
  10807. * the shape, where 0 means top/left and 1 is bottom/right.
  10808. */
  10809. export interface LinearGradientColorObject {
  10810. /**
  10811. * Start horizontal position of the gradient. Float ranges 0-1.
  10812. */
  10813. x1: number;
  10814. /**
  10815. * End horizontal position of the gradient. Float ranges 0-1.
  10816. */
  10817. x2: number;
  10818. /**
  10819. * Start vertical position of the gradient. Float ranges 0-1.
  10820. */
  10821. y1: number;
  10822. /**
  10823. * End vertical position of the gradient. Float ranges 0-1.
  10824. */
  10825. y2: number;
  10826. }
  10827. /**
  10828. * (Highcharts, Highstock, Highmaps, Gantt) The loading options control the
  10829. * appearance of the loading screen that covers the plot area on chart
  10830. * operations. This screen only appears after an explicit call to
  10831. * `chart.showLoading()`. It is a utility for developers to communicate to the
  10832. * end user that something is going on, for example while retrieving new data
  10833. * via an XHR connection. The "Loading..." text itself is not part of this
  10834. * configuration object, but part of the `lang` object.
  10835. */
  10836. export interface LoadingOptions {
  10837. /**
  10838. * (Highcharts, Highstock, Highmaps, Gantt) The duration in milliseconds of
  10839. * the fade out effect.
  10840. */
  10841. hideDuration?: number;
  10842. /**
  10843. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the loading label
  10844. * `span`.
  10845. */
  10846. labelStyle?: CSSObject;
  10847. /**
  10848. * (Highcharts, Highstock, Highmaps, Gantt) The duration in milliseconds of
  10849. * the fade in effect.
  10850. */
  10851. showDuration?: number;
  10852. /**
  10853. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the loading
  10854. * screen that covers the plot area.
  10855. *
  10856. * In styled mode, the loading label is styled with the
  10857. * `.highcharts-loading` class.
  10858. */
  10859. style?: CSSObject;
  10860. }
  10861. /**
  10862. * (Highmaps) General options for the map navigation buttons. Individual options
  10863. * can be given from the mapNavigation.buttons option set.
  10864. */
  10865. export interface MapNavigationButtonOptions {
  10866. /**
  10867. * (Highmaps) The alignment of the navigation buttons.
  10868. */
  10869. align?: AlignValue;
  10870. /**
  10871. * (Highmaps) What box to align the buttons to. Possible values are
  10872. * `plotBox` and `spacingBox`.
  10873. */
  10874. alignTo?: ButtonRelativeToValue;
  10875. /**
  10876. * (Highmaps) The pixel height of the map navigation buttons.
  10877. */
  10878. height?: number;
  10879. /**
  10880. * (Highmaps) Padding for the navigation buttons.
  10881. */
  10882. padding?: number;
  10883. /**
  10884. * (Highmaps) Text styles for the map navigation buttons.
  10885. */
  10886. style?: CSSObject;
  10887. /**
  10888. * (Highmaps) A configuration object for the button theme. The object
  10889. * accepts SVG properties like `stroke-width`, `stroke` and `fill`.
  10890. * Tri-state button styles are supported by the `states.hover` and
  10891. * `states.select` objects.
  10892. */
  10893. theme?: SVGAttributes;
  10894. /**
  10895. * (Highmaps) The vertical alignment of the buttons. Individual alignment
  10896. * can be adjusted by each button's `y` offset.
  10897. */
  10898. verticalAlign?: VerticalAlignValue;
  10899. /**
  10900. * (Highmaps) The width of the map navigation buttons.
  10901. */
  10902. width?: number;
  10903. /**
  10904. * (Highmaps) The X offset of the buttons relative to its `align` setting.
  10905. */
  10906. x?: number;
  10907. }
  10908. /**
  10909. * (Highmaps) The individual buttons for the map navigation. This usually
  10910. * includes the zoom in and zoom out buttons. Properties for each button is
  10911. * inherited from mapNavigation.buttonOptions, while individual options can be
  10912. * overridden. But default, the `onclick`, `text` and `y` options are
  10913. * individual.
  10914. */
  10915. export interface MapNavigationButtonsOptions {
  10916. /**
  10917. * (Highmaps) Options for the zoom in button. Properties for the zoom in and
  10918. * zoom out buttons are inherited from mapNavigation.buttonOptions, while
  10919. * individual options can be overridden. By default, the `onclick`, `text`
  10920. * and `y` options are individual.
  10921. */
  10922. zoomIn?: MapNavigationButtonsZoomInOptions;
  10923. /**
  10924. * (Highmaps) Options for the zoom out button. Properties for the zoom in
  10925. * and zoom out buttons are inherited from mapNavigation.buttonOptions,
  10926. * while individual options can be overridden. By default, the `onclick`,
  10927. * `text` and `y` options are individual.
  10928. */
  10929. zoomOut?: MapNavigationButtonsZoomOutOptions;
  10930. }
  10931. /**
  10932. * (Highmaps) Options for the zoom in button. Properties for the zoom in and
  10933. * zoom out buttons are inherited from mapNavigation.buttonOptions, while
  10934. * individual options can be overridden. By default, the `onclick`, `text` and
  10935. * `y` options are individual.
  10936. */
  10937. export interface MapNavigationButtonsZoomInOptions {
  10938. /**
  10939. * (Highmaps) The alignment of the navigation buttons.
  10940. */
  10941. align?: AlignValue;
  10942. /**
  10943. * (Highmaps) What box to align the buttons to. Possible values are
  10944. * `plotBox` and `spacingBox`.
  10945. */
  10946. alignTo?: ButtonRelativeToValue;
  10947. /**
  10948. * (Highmaps) The pixel height of the map navigation buttons.
  10949. */
  10950. height?: number;
  10951. /**
  10952. * (Highmaps) Click handler for the button.
  10953. */
  10954. onclick?: Function;
  10955. /**
  10956. * (Highmaps) Padding for the navigation buttons.
  10957. */
  10958. padding?: number;
  10959. /**
  10960. * (Highmaps) Text styles for the map navigation buttons.
  10961. */
  10962. style?: CSSObject;
  10963. /**
  10964. * (Highmaps) The text for the button. The tooltip (title) is a language
  10965. * option given by lang.zoomIn.
  10966. */
  10967. text?: string;
  10968. /**
  10969. * (Highmaps) A configuration object for the button theme. The object
  10970. * accepts SVG properties like `stroke-width`, `stroke` and `fill`.
  10971. * Tri-state button styles are supported by the `states.hover` and
  10972. * `states.select` objects.
  10973. */
  10974. theme?: SVGAttributes;
  10975. /**
  10976. * (Highmaps) The vertical alignment of the buttons. Individual alignment
  10977. * can be adjusted by each button's `y` offset.
  10978. */
  10979. verticalAlign?: VerticalAlignValue;
  10980. /**
  10981. * (Highmaps) The width of the map navigation buttons.
  10982. */
  10983. width?: number;
  10984. /**
  10985. * (Highmaps) The X offset of the buttons relative to its `align` setting.
  10986. */
  10987. x?: number;
  10988. /**
  10989. * (Highmaps) The position of the zoomIn button relative to the vertical
  10990. * alignment.
  10991. */
  10992. y?: number;
  10993. }
  10994. /**
  10995. * (Highmaps) Options for the zoom out button. Properties for the zoom in and
  10996. * zoom out buttons are inherited from mapNavigation.buttonOptions, while
  10997. * individual options can be overridden. By default, the `onclick`, `text` and
  10998. * `y` options are individual.
  10999. */
  11000. export interface MapNavigationButtonsZoomOutOptions {
  11001. /**
  11002. * (Highmaps) The alignment of the navigation buttons.
  11003. */
  11004. align?: AlignValue;
  11005. /**
  11006. * (Highmaps) What box to align the buttons to. Possible values are
  11007. * `plotBox` and `spacingBox`.
  11008. */
  11009. alignTo?: ButtonRelativeToValue;
  11010. /**
  11011. * (Highmaps) The pixel height of the map navigation buttons.
  11012. */
  11013. height?: number;
  11014. /**
  11015. * (Highmaps) Click handler for the button.
  11016. */
  11017. onclick?: Function;
  11018. /**
  11019. * (Highmaps) Padding for the navigation buttons.
  11020. */
  11021. padding?: number;
  11022. /**
  11023. * (Highmaps) Text styles for the map navigation buttons.
  11024. */
  11025. style?: CSSObject;
  11026. /**
  11027. * (Highmaps) The text for the button. The tooltip (title) is a language
  11028. * option given by lang.zoomOut.
  11029. */
  11030. text?: string;
  11031. /**
  11032. * (Highmaps) A configuration object for the button theme. The object
  11033. * accepts SVG properties like `stroke-width`, `stroke` and `fill`.
  11034. * Tri-state button styles are supported by the `states.hover` and
  11035. * `states.select` objects.
  11036. */
  11037. theme?: SVGAttributes;
  11038. /**
  11039. * (Highmaps) The vertical alignment of the buttons. Individual alignment
  11040. * can be adjusted by each button's `y` offset.
  11041. */
  11042. verticalAlign?: VerticalAlignValue;
  11043. /**
  11044. * (Highmaps) The width of the map navigation buttons.
  11045. */
  11046. width?: number;
  11047. /**
  11048. * (Highmaps) The X offset of the buttons relative to its `align` setting.
  11049. */
  11050. x?: number;
  11051. /**
  11052. * (Highmaps) The position of the zoomOut button relative to the vertical
  11053. * alignment.
  11054. */
  11055. y?: number;
  11056. }
  11057. export interface MapNavigationOptions {
  11058. /**
  11059. * (Highmaps) General options for the map navigation buttons. Individual
  11060. * options can be given from the mapNavigation.buttons option set.
  11061. */
  11062. buttonOptions?: MapNavigationButtonOptions;
  11063. /**
  11064. * (Highmaps) The individual buttons for the map navigation. This usually
  11065. * includes the zoom in and zoom out buttons. Properties for each button is
  11066. * inherited from mapNavigation.buttonOptions, while individual options can
  11067. * be overridden. But default, the `onclick`, `text` and `y` options are
  11068. * individual.
  11069. */
  11070. buttons?: MapNavigationButtonsOptions;
  11071. /**
  11072. * (Highmaps) Whether to enable navigation buttons. By default it inherits
  11073. * the enabled setting.
  11074. */
  11075. enableButtons?: boolean;
  11076. /**
  11077. * (Highmaps) Whether to enable map navigation. The default is not to enable
  11078. * navigation, as many choropleth maps are simple and don't need it.
  11079. * Additionally, when touch zoom and mousewheel zoom is enabled, it breaks
  11080. * the default behaviour of these interactions in the website, and the
  11081. * implementer should be aware of this.
  11082. *
  11083. * Individual interactions can be enabled separately, namely buttons,
  11084. * multitouch zoom, double click zoom, double click zoom to element and
  11085. * mousewheel zoom.
  11086. */
  11087. enabled?: boolean;
  11088. /**
  11089. * (Highmaps) Enables zooming in on an area on double clicking in the map.
  11090. * By default it inherits the enabled setting.
  11091. */
  11092. enableDoubleClickZoom?: boolean;
  11093. /**
  11094. * (Highmaps) Whether to zoom in on an area when that area is double
  11095. * clicked.
  11096. */
  11097. enableDoubleClickZoomTo?: boolean;
  11098. /**
  11099. * (Highmaps) Enables zooming by mouse wheel. By default it inherits the
  11100. * enabled setting.
  11101. */
  11102. enableMouseWheelZoom?: boolean;
  11103. /**
  11104. * (Highmaps) Whether to enable multitouch zooming. Note that if the chart
  11105. * covers the viewport, this prevents the user from using multitouch and
  11106. * touchdrag on the web page, so you should make sure the user is not
  11107. * trapped inside the chart. By default it inherits the enabled setting.
  11108. */
  11109. enableTouchZoom?: boolean;
  11110. /**
  11111. * (Highmaps) Sensitivity of mouse wheel or trackpad scrolling. 1 is no
  11112. * sensitivity, while with 2, one mousewheel delta will zoom in 50%.
  11113. */
  11114. mouseWheelSensitivity?: number;
  11115. }
  11116. /**
  11117. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  11118. * animation when a series is displayed for the `annotation`. The animation can
  11119. * also be set as a configuration object. Please note that this option only
  11120. * applies to the initial animation. For other animations, see chart.animation
  11121. * and the animation parameter under the API methods. The following properties
  11122. * are supported:
  11123. *
  11124. * - `defer`: The animation delay time in milliseconds.
  11125. */
  11126. export interface NavigationAnnotationsAnimationOptions {
  11127. /**
  11128. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  11129. * milliseconds. Set to `0` renders annotation immediately. As `undefined`
  11130. * inherits defer time from the series.animation.defer.
  11131. */
  11132. defer?: number;
  11133. }
  11134. export interface NavigationAnnotationsControlPointStyleOptions {
  11135. fill?: string;
  11136. stroke?: string;
  11137. "stroke-width"?: number;
  11138. }
  11139. /**
  11140. * (Highcharts, Highstock, Highmaps, Gantt) Events available in annotations.
  11141. */
  11142. export interface NavigationAnnotationsEventsOptions {
  11143. /**
  11144. * (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
  11145. * is added to the chart.
  11146. */
  11147. add?: EventCallbackFunction<Annotation>;
  11148. /**
  11149. * (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
  11150. * is updated (e.g. drag and droppped or resized by control points).
  11151. */
  11152. afterUpdate?: EventCallbackFunction<Annotation>;
  11153. /**
  11154. * (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
  11155. * is removed from the chart.
  11156. */
  11157. remove?: EventCallbackFunction<Annotation>;
  11158. }
  11159. /**
  11160. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's labels.
  11161. * Each label inherits options from the labelOptions object. An option from the
  11162. * labelOptions can be overwritten by config for a specific label.
  11163. */
  11164. export interface NavigationAnnotationsLabelOptions {
  11165. /**
  11166. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
  11167. * annotation label.
  11168. */
  11169. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  11170. /**
  11171. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the
  11172. * annotation's label. If right, the right side of the label should be
  11173. * touching the point.
  11174. */
  11175. align?: AlignValue;
  11176. /**
  11177. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the
  11178. * annotation's labels to overlap. To make the labels less sensitive for
  11179. * overlapping, the can be set to 0.
  11180. */
  11181. allowOverlap?: boolean;
  11182. /**
  11183. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  11184. * for the annotation's label.
  11185. */
  11186. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  11187. /**
  11188. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the
  11189. * annotation's label.
  11190. */
  11191. borderColor?: ColorString;
  11192. /**
  11193. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  11194. * the annotaiton's label.
  11195. */
  11196. borderRadius?: number;
  11197. /**
  11198. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  11199. * the annotation's label
  11200. */
  11201. borderWidth?: number;
  11202. /**
  11203. * (Highcharts, Highstock, Highmaps, Gantt) A class name for styling by CSS.
  11204. */
  11205. className?: string;
  11206. /**
  11207. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide the annotation's
  11208. * label that is outside the plot area.
  11209. */
  11210. crop?: boolean;
  11211. /**
  11212. * (Highcharts, Highstock, Highmaps, Gantt) The label's pixel distance from
  11213. * the point.
  11214. */
  11215. distance?: number;
  11216. /**
  11217. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  11218. * label.
  11219. */
  11220. format?: string;
  11221. /**
  11222. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  11223. * format the annotation's label. Note that if a `format` or `text` are
  11224. * defined, the format or text take precedence and the formatter is ignored.
  11225. * `This` refers to a point object.
  11226. */
  11227. formatter?: FormatterCallbackFunction<Point>;
  11228. /**
  11229. * (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
  11230. * visible in the exported data table.
  11231. */
  11232. includeInDataExport?: boolean;
  11233. /**
  11234. * (Highcharts, Highstock, Highmaps, Gantt) How to handle the annotation's
  11235. * label that flow outside the plot area. The justify option aligns the
  11236. * label inside the plot area.
  11237. */
  11238. overflow?: OptionsOverflowValue;
  11239. /**
  11240. * (Highcharts, Highstock, Highmaps, Gantt) When either the borderWidth or
  11241. * the backgroundColor is set, this is the padding within the box.
  11242. */
  11243. padding?: number;
  11244. /**
  11245. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. The
  11246. * shadow can be an object configuration containing `color`, `offsetX`,
  11247. * `offsetY`, `opacity` and `width`.
  11248. */
  11249. shadow?: (boolean|ShadowOptionsObject);
  11250. /**
  11251. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  11252. * the border around the label. Symbols are predefined functions on the
  11253. * Renderer object.
  11254. */
  11255. shape?: string;
  11256. /**
  11257. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the annotation's
  11258. * label.
  11259. */
  11260. style?: CSSObject;
  11261. /**
  11262. * (Highcharts, Highstock, Highmaps, Gantt) Alias for the format option.
  11263. */
  11264. text?: string;
  11265. /**
  11266. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  11267. * the annotation's label.
  11268. */
  11269. useHTML?: boolean;
  11270. /**
  11271. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  11272. * annotation's label.
  11273. */
  11274. verticalAlign?: VerticalAlignValue;
  11275. /**
  11276. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  11277. * label relative to the point. Note that if a `distance` is defined, the
  11278. * distance takes precedence over `x` and `y` options.
  11279. */
  11280. x?: number;
  11281. /**
  11282. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  11283. * label relative to the point. Note that if a `distance` is defined, the
  11284. * distance takes precedence over `x` and `y` options.
  11285. */
  11286. y?: number;
  11287. }
  11288. /**
  11289. * (Highcharts, Highstock, Highmaps, Gantt) An array of labels for the
  11290. * annotation. For options that apply to multiple labels, they can be added to
  11291. * the labelOptions.
  11292. */
  11293. export interface NavigationAnnotationsLabelsOptions {
  11294. /**
  11295. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
  11296. * annotation label.
  11297. */
  11298. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  11299. /**
  11300. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the
  11301. * annotation's label. If right, the right side of the label should be
  11302. * touching the point.
  11303. */
  11304. align?: AlignValue;
  11305. /**
  11306. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the
  11307. * annotation's labels to overlap. To make the labels less sensitive for
  11308. * overlapping, the can be set to 0.
  11309. */
  11310. allowOverlap?: boolean;
  11311. /**
  11312. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  11313. * for the annotation's label.
  11314. */
  11315. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  11316. /**
  11317. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the
  11318. * annotation's label.
  11319. */
  11320. borderColor?: ColorString;
  11321. /**
  11322. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  11323. * the annotaiton's label.
  11324. */
  11325. borderRadius?: number;
  11326. /**
  11327. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  11328. * the annotation's label
  11329. */
  11330. borderWidth?: number;
  11331. /**
  11332. * (Highcharts, Highstock, Highmaps, Gantt) A class name for styling by CSS.
  11333. */
  11334. className?: string;
  11335. /**
  11336. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide the annotation's
  11337. * label that is outside the plot area.
  11338. */
  11339. crop?: boolean;
  11340. /**
  11341. * (Highcharts, Highstock, Highmaps, Gantt) The label's pixel distance from
  11342. * the point.
  11343. */
  11344. distance?: number;
  11345. /**
  11346. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  11347. * label.
  11348. */
  11349. format?: string;
  11350. /**
  11351. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  11352. * format the annotation's label. Note that if a `format` or `text` are
  11353. * defined, the format or text take precedence and the formatter is ignored.
  11354. * `This` refers to a point object.
  11355. */
  11356. formatter?: FormatterCallbackFunction<Point>;
  11357. /**
  11358. * (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
  11359. * visible in the exported data table.
  11360. */
  11361. includeInDataExport?: boolean;
  11362. /**
  11363. * (Highcharts, Highstock, Highmaps, Gantt) How to handle the annotation's
  11364. * label that flow outside the plot area. The justify option aligns the
  11365. * label inside the plot area.
  11366. */
  11367. overflow?: OptionsOverflowValue;
  11368. /**
  11369. * (Highcharts, Highstock, Highmaps, Gantt) When either the borderWidth or
  11370. * the backgroundColor is set, this is the padding within the box.
  11371. */
  11372. padding?: number;
  11373. /**
  11374. * (Highcharts, Highstock, Highmaps, Gantt) This option defines the point to
  11375. * which the label will be connected. It can be either the point which
  11376. * exists in the series - it is referenced by the point's id - or a new
  11377. * point with defined x, y properties and optionally axes.
  11378. */
  11379. point?: (string|AnnotationMockPointOptionsObject);
  11380. /**
  11381. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. The
  11382. * shadow can be an object configuration containing `color`, `offsetX`,
  11383. * `offsetY`, `opacity` and `width`.
  11384. */
  11385. shadow?: (boolean|ShadowOptionsObject);
  11386. /**
  11387. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  11388. * the border around the label. Symbols are predefined functions on the
  11389. * Renderer object.
  11390. */
  11391. shape?: string;
  11392. /**
  11393. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the annotation's
  11394. * label.
  11395. */
  11396. style?: CSSObject;
  11397. /**
  11398. * (Highcharts, Highstock, Highmaps, Gantt) Alias for the format option.
  11399. */
  11400. text?: string;
  11401. /**
  11402. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  11403. * the annotation's label.
  11404. */
  11405. useHTML?: boolean;
  11406. /**
  11407. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  11408. * annotation's label.
  11409. */
  11410. verticalAlign?: VerticalAlignValue;
  11411. /**
  11412. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  11413. * label relative to the point. Note that if a `distance` is defined, the
  11414. * distance takes precedence over `x` and `y` options.
  11415. */
  11416. x?: number;
  11417. /**
  11418. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  11419. * label relative to the point. Note that if a `distance` is defined, the
  11420. * distance takes precedence over `x` and `y` options.
  11421. */
  11422. y?: number;
  11423. }
  11424. /**
  11425. * (Highcharts, Highstock, Highmaps, Gantt) Additional options to be merged into
  11426. * all annotations.
  11427. */
  11428. export interface NavigationAnnotationsOptions {
  11429. /**
  11430. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  11431. * animation when a series is displayed for the `annotation`. The animation
  11432. * can also be set as a configuration object. Please note that this option
  11433. * only applies to the initial animation. For other animations, see
  11434. * chart.animation and the animation parameter under the API methods. The
  11435. * following properties are supported:
  11436. *
  11437. * - `defer`: The animation delay time in milliseconds.
  11438. */
  11439. animation?: (boolean|NavigationAnnotationsAnimationOptions|Partial<AnimationOptionsObject>);
  11440. /**
  11441. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's control
  11442. * points. Each control point inherits options from controlPointOptions
  11443. * object. Options from the controlPointOptions can be overwritten by
  11444. * options in a specific control point.
  11445. */
  11446. controlPointOptions?: AnnotationControlPointOptionsObject;
  11447. /**
  11448. * (Highcharts, Highstock, Highmaps, Gantt) Allow an annotation to be
  11449. * draggable by a user. Possible values are `'x'`, `'xy'`, `'y'` and `''`
  11450. * (disabled).
  11451. */
  11452. draggable?: AnnotationDraggableValue;
  11453. /**
  11454. * (Highcharts, Highstock, Highmaps, Gantt) Events available in annotations.
  11455. */
  11456. events?: NavigationAnnotationsEventsOptions;
  11457. /**
  11458. * (Highcharts, Highstock, Highmaps, Gantt) Sets an ID for an annotation.
  11459. * Can be user later when removing an annotation in
  11460. * Chart.removeAnnotation(id) method.
  11461. */
  11462. id?: (number|string);
  11463. /**
  11464. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's labels.
  11465. * Each label inherits options from the labelOptions object. An option from
  11466. * the labelOptions can be overwritten by config for a specific label.
  11467. */
  11468. labelOptions?: NavigationAnnotationsLabelOptions;
  11469. /**
  11470. * (Highcharts, Highstock, Highmaps, Gantt) An array of labels for the
  11471. * annotation. For options that apply to multiple labels, they can be added
  11472. * to the labelOptions.
  11473. */
  11474. labels?: Array<NavigationAnnotationsLabelsOptions>;
  11475. /**
  11476. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's shapes.
  11477. * Each shape inherits options from the shapeOptions object. An option from
  11478. * the shapeOptions can be overwritten by config for a specific shape.
  11479. */
  11480. shapeOptions?: NavigationAnnotationsShapeOptions;
  11481. /**
  11482. * (Highcharts, Highstock, Highmaps, Gantt) An array of shapes for the
  11483. * annotation. For options that apply to multiple shapes, then can be added
  11484. * to the shapeOptions.
  11485. */
  11486. shapes?: Array<NavigationAnnotationsShapesOptions>;
  11487. /**
  11488. * (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
  11489. * visible.
  11490. */
  11491. visible?: boolean;
  11492. /**
  11493. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the annotation.
  11494. */
  11495. zIndex?: number;
  11496. }
  11497. /**
  11498. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's shapes.
  11499. * Each shape inherits options from the shapeOptions object. An option from the
  11500. * shapeOptions can be overwritten by config for a specific shape.
  11501. */
  11502. export interface NavigationAnnotationsShapeOptions {
  11503. /**
  11504. * (Highcharts, Highstock, Highmaps, Gantt) Name of the dash style to use
  11505. * for the shape's stroke.
  11506. */
  11507. dashStyle?: DashStyleValue;
  11508. /**
  11509. * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's fill.
  11510. */
  11511. fill?: (ColorString|GradientColorObject|PatternObject);
  11512. /**
  11513. * (Highcharts, Highstock, Highmaps, Gantt) The height of the shape.
  11514. */
  11515. height?: number;
  11516. /**
  11517. * (Highcharts, Highstock, Highmaps, Gantt) The radius of the shape.
  11518. */
  11519. r?: number;
  11520. /**
  11521. * (Highcharts, Highstock, Highmaps, Gantt) Defines additional snapping area
  11522. * around an annotation making this annotation to focus. Defined in pixels.
  11523. */
  11524. snap?: number;
  11525. /**
  11526. * (Highcharts, Highstock, Highmaps, Gantt) The URL for an image to use as
  11527. * the annotation shape. Note, type has to be set to `'image'`.
  11528. */
  11529. src?: string;
  11530. /**
  11531. * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's stroke.
  11532. */
  11533. stroke?: ColorString;
  11534. /**
  11535. * (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
  11536. * shape.
  11537. */
  11538. strokeWidth?: number;
  11539. /**
  11540. * (Highcharts, Highstock, Highmaps, Gantt) The type of the shape, e.g.
  11541. * circle or rectangle.
  11542. */
  11543. type?: string;
  11544. /**
  11545. * (Highcharts, Highstock, Highmaps, Gantt) The width of the shape.
  11546. */
  11547. width?: number;
  11548. }
  11549. /**
  11550. * (Highcharts, Highstock, Highmaps, Gantt) An array of shapes for the
  11551. * annotation. For options that apply to multiple shapes, then can be added to
  11552. * the shapeOptions.
  11553. */
  11554. export interface NavigationAnnotationsShapesOptions {
  11555. /**
  11556. * (Highcharts, Highstock, Highmaps, Gantt) Name of the dash style to use
  11557. * for the shape's stroke.
  11558. */
  11559. dashStyle?: DashStyleValue;
  11560. /**
  11561. * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's fill.
  11562. */
  11563. fill?: (ColorString|GradientColorObject|PatternObject);
  11564. /**
  11565. * (Highcharts, Highstock, Highmaps, Gantt) The height of the shape.
  11566. */
  11567. height?: number;
  11568. /**
  11569. * (Highcharts, Highstock, Highmaps, Gantt) Id of the marker which will be
  11570. * drawn at the final vertex of the path. Custom markers can be defined in
  11571. * defs property.
  11572. */
  11573. markerEnd?: string;
  11574. /**
  11575. * (Highcharts, Highstock, Highmaps, Gantt) Id of the marker which will be
  11576. * drawn at the first vertex of the path. Custom markers can be defined in
  11577. * defs property.
  11578. */
  11579. markerStart?: string;
  11580. /**
  11581. * (Highcharts, Highstock, Highmaps, Gantt) This option defines the point to
  11582. * which the shape will be connected. It can be either the point which
  11583. * exists in the series - it is referenced by the point's id - or a new
  11584. * point with defined x, y properties and optionally axes.
  11585. */
  11586. point?: (string|AnnotationMockPointOptionsObject);
  11587. /**
  11588. * (Highcharts, Highstock, Highmaps, Gantt) An array of points for the
  11589. * shape. This option is available for shapes which can use multiple points
  11590. * such as path. A point can be either a point object or a point's id.
  11591. */
  11592. points?: Array<(string|AnnotationMockPointOptionsObject)>;
  11593. /**
  11594. * (Highcharts, Highstock, Highmaps, Gantt) The radius of the shape.
  11595. */
  11596. r?: number;
  11597. /**
  11598. * (Highcharts, Highstock, Highmaps, Gantt) Defines additional snapping area
  11599. * around an annotation making this annotation to focus. Defined in pixels.
  11600. */
  11601. snap?: number;
  11602. /**
  11603. * (Highcharts, Highstock, Highmaps, Gantt) The URL for an image to use as
  11604. * the annotation shape. Note, type has to be set to `'image'`.
  11605. */
  11606. src?: string;
  11607. /**
  11608. * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's stroke.
  11609. */
  11610. stroke?: ColorString;
  11611. /**
  11612. * (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
  11613. * shape.
  11614. */
  11615. strokeWidth?: number;
  11616. /**
  11617. * (Highcharts, Highstock, Highmaps, Gantt) The type of the shape, e.g.
  11618. * circle or rectangle.
  11619. */
  11620. type?: string;
  11621. /**
  11622. * (Highcharts, Highstock, Highmaps, Gantt) The width of the shape.
  11623. */
  11624. width?: number;
  11625. }
  11626. /**
  11627. * (Highcharts, Highstock) Bindings definitions for custom HTML buttons. Each
  11628. * binding implements simple event-driven interface:
  11629. *
  11630. * - `className`: classname used to bind event to
  11631. *
  11632. * - `init`: initial event, fired on button click
  11633. *
  11634. * - `start`: fired on first click on a chart
  11635. *
  11636. * - `steps`: array of sequential events fired one after another on each of
  11637. * users clicks
  11638. *
  11639. * - `end`: last event to be called after last step event
  11640. */
  11641. export interface NavigationBindingsOptions {
  11642. /**
  11643. * (Highstock) A line with arrow annotation. Includes `start` and one event
  11644. * in `steps` array.
  11645. */
  11646. arrowInfinityLine?: NavigationBindingsOptionsObject;
  11647. /**
  11648. * (Highstock) A ray with an arrow annotation bindings. Includes `start` and
  11649. * one event in `steps` array.
  11650. */
  11651. arrowRay?: NavigationBindingsOptionsObject;
  11652. /**
  11653. * (Highstock) A segment with an arrow annotation bindings. Includes `start`
  11654. * and one event in `steps` array.
  11655. */
  11656. arrowSegment?: NavigationBindingsOptionsObject;
  11657. /**
  11658. * (Highcharts, Highstock) A circle annotation bindings. Includes `start`
  11659. * and one event in `steps` array.
  11660. */
  11661. circleAnnotation?: NavigationBindingsOptionsObject;
  11662. /**
  11663. * (Highstock) Crooked line (three points) annotation bindings. Includes
  11664. * `start` and two events in `steps` (for second and third points in crooked
  11665. * line) array.
  11666. */
  11667. crooked3?: NavigationBindingsOptionsObject;
  11668. /**
  11669. * (Highstock) Crooked line (five points) annotation bindings. Includes
  11670. * `start` and four events in `steps` (for all consequent points in crooked
  11671. * line) array.
  11672. */
  11673. crooked5?: NavigationBindingsOptionsObject;
  11674. /**
  11675. * (Highstock) Hides/shows two price indicators:
  11676. *
  11677. * - last price in the dataset
  11678. *
  11679. * - last price in the selected range
  11680. */
  11681. currentPriceIndicator?: NavigationBindingsOptionsObject;
  11682. /**
  11683. * (Highstock) Elliott wave (three points) annotation bindings. Includes
  11684. * `start` and two events in `steps` (for second and third points) array.
  11685. */
  11686. elliott3?: NavigationBindingsOptionsObject;
  11687. /**
  11688. * (Highstock) Elliott wave (five points) annotation bindings. Includes
  11689. * `start` and four event in `steps` (for all consequent points in Elliott
  11690. * wave) array.
  11691. */
  11692. elliott5?: NavigationBindingsOptionsObject;
  11693. /**
  11694. * (Highstock) A fibonacci annotation bindings. Includes `start` and two
  11695. * events in `steps` array (updates second point, then height).
  11696. */
  11697. fibonacci?: NavigationBindingsOptionsObject;
  11698. /**
  11699. * (Highstock) A flag series bindings. Includes `start` event. On click,
  11700. * finds the closest point and marks it with a flag with `'circlepin'`
  11701. * shape.
  11702. */
  11703. flagCirclepin?: NavigationBindingsOptionsObject;
  11704. /**
  11705. * (Highstock) A flag series bindings. Includes `start` event. On click,
  11706. * finds the closest point and marks it with a flag with `'diamondpin'`
  11707. * shape.
  11708. */
  11709. flagDiamondpin?: NavigationBindingsOptionsObject;
  11710. /**
  11711. * (Highstock) A flag series bindings. Includes `start` event. On click,
  11712. * finds the closest point and marks it with a flag without pin shape.
  11713. */
  11714. flagSimplepin?: NavigationBindingsOptionsObject;
  11715. /**
  11716. * (Highstock) A flag series bindings. Includes `start` event. On click,
  11717. * finds the closest point and marks it with a flag with `'squarepin'`
  11718. * shape.
  11719. */
  11720. flagSquarepin?: NavigationBindingsOptionsObject;
  11721. /**
  11722. * (Highstock) Displays chart in fullscreen.
  11723. *
  11724. * **Note**: Fullscreen is not supported on iPhone due to iOS limitations.
  11725. */
  11726. fullScreen?: NavigationBindingsOptionsObject;
  11727. /**
  11728. * (Highstock) A horizontal line annotation. Includes `start` event.
  11729. */
  11730. horizontalLine?: NavigationBindingsOptionsObject;
  11731. /**
  11732. * (Highstock) Indicators bindings. Includes `init` event to show a popup.
  11733. *
  11734. * Note: In order to show base series from the chart in the popup's dropdown
  11735. * each series requires series.id to be defined.
  11736. */
  11737. indicators?: NavigationBindingsOptionsObject;
  11738. /**
  11739. * (Highstock) A line annotation. Includes `start` and one event in `steps`
  11740. * array.
  11741. */
  11742. infinityLine?: NavigationBindingsOptionsObject;
  11743. /**
  11744. * (Highcharts, Highstock) A label annotation bindings. Includes `start`
  11745. * event only.
  11746. */
  11747. labelAnnotation?: NavigationBindingsOptionsObject;
  11748. /**
  11749. * (Highstock) A measure (x-dimension) annotation bindings. Includes `start`
  11750. * and one event in `steps` array.
  11751. */
  11752. measureX?: NavigationBindingsOptionsObject;
  11753. /**
  11754. * (Highstock) A measure (xy-dimension) annotation bindings. Includes
  11755. * `start` and one event in `steps` array.
  11756. */
  11757. measureXY?: NavigationBindingsOptionsObject;
  11758. /**
  11759. * (Highstock) A measure (y-dimension) annotation bindings. Includes `start`
  11760. * and one event in `steps` array.
  11761. */
  11762. measureY?: NavigationBindingsOptionsObject;
  11763. /**
  11764. * (Highstock) A parallel channel (tunnel) annotation bindings. Includes
  11765. * `start` and two events in `steps` array (updates second point, then
  11766. * height).
  11767. */
  11768. parallelChannel?: NavigationBindingsOptionsObject;
  11769. /**
  11770. * (Highstock) An Andrew's pitchfork annotation bindings. Includes `start`
  11771. * and two events in `steps` array (sets second and third control points).
  11772. */
  11773. pitchfork?: NavigationBindingsOptionsObject;
  11774. /**
  11775. * (Highstock) A ray annotation bindings. Includes `start` and one event in
  11776. * `steps` array.
  11777. */
  11778. ray?: NavigationBindingsOptionsObject;
  11779. /**
  11780. * (Highcharts, Highstock) A rectangle annotation bindings. Includes `start`
  11781. * and one event in `steps` array.
  11782. */
  11783. rectangleAnnotation?: NavigationBindingsOptionsObject;
  11784. /**
  11785. * (Highstock) Save a chart in localStorage under `highcharts-chart` key.
  11786. * Stored items:
  11787. *
  11788. * - annotations
  11789. *
  11790. * - indicators (with yAxes)
  11791. *
  11792. * - flags
  11793. */
  11794. saveChart?: NavigationBindingsOptionsObject;
  11795. /**
  11796. * (Highstock) A segment annotation bindings. Includes `start` and one event
  11797. * in `steps` array.
  11798. */
  11799. segment?: NavigationBindingsOptionsObject;
  11800. /**
  11801. * (Highstock) Changes main series to `'candlestick'` type.
  11802. */
  11803. seriesTypeCandlestick?: NavigationBindingsOptionsObject;
  11804. /**
  11805. * (Highstock) Changes main series to `'line'` type.
  11806. */
  11807. seriesTypeLine?: NavigationBindingsOptionsObject;
  11808. /**
  11809. * (Highstock) Changes main series to `'ohlc'` type.
  11810. */
  11811. seriesTypeOhlc?: NavigationBindingsOptionsObject;
  11812. /**
  11813. * (Highstock) Hides/shows all annotations on a chart.
  11814. */
  11815. toggleAnnotations?: NavigationBindingsOptionsObject;
  11816. /**
  11817. * (Highstock) A vertical arrow annotation bindings. Includes `start` event.
  11818. * On click, finds the closest point and marks it with an arrow. Green arrow
  11819. * when pointing from above, red when pointing from below the point.
  11820. */
  11821. verticalArrow?: NavigationBindingsOptionsObject;
  11822. /**
  11823. * (Highstock) A vertical counter annotation bindings. Includes `start`
  11824. * event. On click, finds the closest point and marks it with a numeric
  11825. * annotation - incrementing counter on each add.
  11826. */
  11827. verticalCounter?: NavigationBindingsOptionsObject;
  11828. /**
  11829. * (Highstock) A vertical arrow annotation bindings. Includes `start` event.
  11830. * On click, finds the closest point and marks it with an arrow and a label
  11831. * with value.
  11832. */
  11833. verticalLabel?: NavigationBindingsOptionsObject;
  11834. /**
  11835. * (Highstock) A vertical line annotation. Includes `start` event.
  11836. */
  11837. verticalLine?: NavigationBindingsOptionsObject;
  11838. /**
  11839. * (Highstock) Enables zooming in xAxis on a chart. Includes `start` event
  11840. * which changes chart.zoomType.
  11841. */
  11842. zoomX?: NavigationBindingsOptionsObject;
  11843. /**
  11844. * (Highstock) Enables zooming in xAxis and yAxis on a chart. Includes
  11845. * `start` event which changes chart.zoomType.
  11846. */
  11847. zoomXY?: NavigationBindingsOptionsObject;
  11848. /**
  11849. * (Highstock) Enables zooming in yAxis on a chart. Includes `start` event
  11850. * which changes chart.zoomType.
  11851. */
  11852. zoomY?: NavigationBindingsOptionsObject;
  11853. }
  11854. /**
  11855. * A config object for navigation bindings in annotations.
  11856. */
  11857. export interface NavigationBindingsOptionsObject {
  11858. /**
  11859. * ClassName of the element for a binding.
  11860. */
  11861. className?: string;
  11862. /**
  11863. * Last event to be fired after last step event.
  11864. */
  11865. end?: Function;
  11866. /**
  11867. * Initial event, fired on a button click.
  11868. */
  11869. init?: Function;
  11870. /**
  11871. * Event fired on first click on a chart.
  11872. */
  11873. start?: Function;
  11874. /**
  11875. * Last event to be fired after last step event. Array of step events to be
  11876. * called sequentially after each user click.
  11877. */
  11878. steps?: Array<Function>;
  11879. }
  11880. /**
  11881. * (Highcharts, Highstock, Highmaps, Gantt) A collection of options for buttons
  11882. * appearing in the exporting module.
  11883. *
  11884. * In styled mode, the buttons are styled with the `.highcharts-contextbutton`
  11885. * and `.highcharts-button-symbol` classes.
  11886. */
  11887. export interface NavigationButtonOptions {
  11888. /**
  11889. * (Highcharts, Highstock, Highmaps, Gantt) Alignment for the buttons.
  11890. */
  11891. align?: AlignValue;
  11892. /**
  11893. * (Highcharts, Highstock, Highmaps, Gantt) The pixel spacing between
  11894. * buttons.
  11895. */
  11896. buttonSpacing?: number;
  11897. /**
  11898. * (Highcharts, Highstock, Highmaps, Gantt) Whether to enable buttons.
  11899. */
  11900. enabled?: boolean;
  11901. /**
  11902. * (Highcharts, Highstock, Highmaps, Gantt) Pixel height of the buttons.
  11903. */
  11904. height?: number;
  11905. /**
  11906. * (Highcharts, Highstock, Highmaps, Gantt) Fill color for the symbol within
  11907. * the button.
  11908. */
  11909. symbolFill?: (ColorString|GradientColorObject|PatternObject);
  11910. /**
  11911. * (Highcharts, Highstock, Highmaps, Gantt) The pixel size of the symbol on
  11912. * the button.
  11913. */
  11914. symbolSize?: number;
  11915. /**
  11916. * (Highcharts, Highstock, Highmaps, Gantt) The color of the symbol's stroke
  11917. * or line.
  11918. */
  11919. symbolStroke?: ColorString;
  11920. /**
  11921. * (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
  11922. * symbol on the button.
  11923. */
  11924. symbolStrokeWidth?: number;
  11925. /**
  11926. * (Highcharts, Highstock, Highmaps, Gantt) The x position of the center of
  11927. * the symbol inside the button.
  11928. */
  11929. symbolX?: number;
  11930. /**
  11931. * (Highcharts, Highstock, Highmaps, Gantt) The y position of the center of
  11932. * the symbol inside the button.
  11933. */
  11934. symbolY?: number;
  11935. /**
  11936. * (Highcharts, Highstock, Highmaps, Gantt) A text string to add to the
  11937. * individual button.
  11938. */
  11939. text?: string;
  11940. /**
  11941. * (Highcharts, Highstock, Highmaps, Gantt) A configuration object for the
  11942. * button theme. The object accepts SVG properties like `stroke-width`,
  11943. * `stroke` and `fill`. Tri-state button styles are supported by the
  11944. * `states.hover` and `states.select` objects.
  11945. */
  11946. theme?: NavigationButtonThemeOptions;
  11947. /**
  11948. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  11949. * buttons. Can be one of `"top"`, `"middle"` or `"bottom"`.
  11950. */
  11951. verticalAlign?: VerticalAlignValue;
  11952. /**
  11953. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the button.
  11954. */
  11955. width?: number;
  11956. /**
  11957. * (Highcharts, Highstock, Highmaps, Gantt) The vertical offset of the
  11958. * button's position relative to its `verticalAlign`.
  11959. */
  11960. y?: number;
  11961. }
  11962. /**
  11963. * (Highcharts, Highstock, Highmaps, Gantt) A configuration object for the
  11964. * button theme. The object accepts SVG properties like `stroke-width`, `stroke`
  11965. * and `fill`. Tri-state button styles are supported by the `states.hover` and
  11966. * `states.select` objects.
  11967. */
  11968. export interface NavigationButtonThemeOptions {
  11969. /**
  11970. * (Highcharts, Highstock, Highmaps, Gantt) The default fill exists only to
  11971. * capture hover events.
  11972. */
  11973. fill?: (ColorString|GradientColorObject|PatternObject);
  11974. /**
  11975. * (Highcharts, Highstock, Highmaps, Gantt) Padding for the button.
  11976. */
  11977. padding?: number;
  11978. /**
  11979. * (Highcharts, Highstock, Highmaps, Gantt) Default stroke for the buttons.
  11980. */
  11981. stroke?: ColorString;
  11982. }
  11983. /**
  11984. * (Highcharts, Highstock) Events to communicate between Stock Tools and custom
  11985. * GUI.
  11986. */
  11987. export interface NavigationEventsOptions {
  11988. /**
  11989. * (Highcharts, Highstock) A `closePopup` event. Fired when Popup should be
  11990. * hidden, for example when clicking on an annotation again.
  11991. */
  11992. closePopup?: Function;
  11993. /**
  11994. * (Highcharts, Highstock) Event fired when button state should change, for
  11995. * example after adding an annotation.
  11996. */
  11997. deselectButton?: Function;
  11998. /**
  11999. * (Highcharts, Highstock) Event fired on a button click.
  12000. */
  12001. selectButton?: Function;
  12002. /**
  12003. * (Highcharts, Highstock) A `showPopup` event. Fired when selecting for
  12004. * example an annotation.
  12005. */
  12006. showPopup?: Function;
  12007. }
  12008. /**
  12009. * (Highcharts, Highstock, Highmaps, Gantt) A collection of options for buttons
  12010. * and menus appearing in the exporting module.
  12011. */
  12012. export interface NavigationOptions {
  12013. /**
  12014. * (Highcharts, Highstock, Highmaps, Gantt) Additional options to be merged
  12015. * into all annotations.
  12016. */
  12017. annotationsOptions?: (AnnotationsOptions|NavigationAnnotationsOptions);
  12018. /**
  12019. * (Highcharts, Highstock) Bindings definitions for custom HTML buttons.
  12020. * Each binding implements simple event-driven interface:
  12021. *
  12022. * - `className`: classname used to bind event to
  12023. *
  12024. * - `init`: initial event, fired on button click
  12025. *
  12026. * - `start`: fired on first click on a chart
  12027. *
  12028. * - `steps`: array of sequential events fired one after another on each of
  12029. * users clicks
  12030. *
  12031. * - `end`: last event to be called after last step event
  12032. */
  12033. bindings?: (NavigationBindingsOptions|Dictionary<NavigationBindingsOptionsObject>);
  12034. /**
  12035. * (Highcharts, Highstock, Highmaps, Gantt) A CSS class name where all
  12036. * bindings will be attached to. Multiple charts on the same page should
  12037. * have separate class names to prevent duplicating events.
  12038. *
  12039. * Default value of versions < 7.0.4 `highcharts-bindings-wrapper`
  12040. */
  12041. bindingsClassName?: string;
  12042. /**
  12043. * (Highcharts, Highstock, Highmaps, Gantt) A collection of options for
  12044. * buttons appearing in the exporting module.
  12045. *
  12046. * In styled mode, the buttons are styled with the
  12047. * `.highcharts-contextbutton` and `.highcharts-button-symbol` classes.
  12048. */
  12049. buttonOptions?: NavigationButtonOptions;
  12050. /**
  12051. * (Highcharts, Highstock) Events to communicate between Stock Tools and
  12052. * custom GUI.
  12053. */
  12054. events?: NavigationEventsOptions;
  12055. /**
  12056. * (Highcharts, Highstock, Highmaps, Gantt) Path where Highcharts will look
  12057. * for icons. Change this to use icons from a different server.
  12058. */
  12059. iconsURL?: string;
  12060. /**
  12061. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the hover state
  12062. * of the individual items within the popup menu appearing by default when
  12063. * the export icon is clicked. The menu items are rendered in HTML.
  12064. */
  12065. menuItemHoverStyle?: CSSObject;
  12066. /**
  12067. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the individual
  12068. * items within the popup menu appearing by default when the export icon is
  12069. * clicked. The menu items are rendered in HTML. Font size defaults to
  12070. * `11px` on desktop and `14px` on touch devices.
  12071. */
  12072. menuItemStyle?: CSSObject;
  12073. /**
  12074. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the popup menu
  12075. * appearing by default when the export icon is clicked. This menu is
  12076. * rendered in HTML.
  12077. */
  12078. menuStyle?: CSSObject;
  12079. }
  12080. /**
  12081. * (Highstock, Gantt) Options for the handles for dragging the zoomed area.
  12082. */
  12083. export interface NavigatorHandlesOptions {
  12084. /**
  12085. * (Highstock, Gantt) The fill for the handle.
  12086. */
  12087. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  12088. /**
  12089. * (Highstock, Gantt) The stroke for the handle border and the stripes
  12090. * inside.
  12091. */
  12092. borderColor?: (ColorString|GradientColorObject|PatternObject);
  12093. /**
  12094. * (Highstock, Gantt) Allows to enable/disable handles.
  12095. */
  12096. enabled?: boolean;
  12097. /**
  12098. * (Highstock, Gantt) Height for handles.
  12099. */
  12100. height?: number;
  12101. /**
  12102. * (Highstock, Gantt) The width for the handle border and the stripes
  12103. * inside.
  12104. */
  12105. lineWidth?: number;
  12106. /**
  12107. * (Highstock, Gantt) Array to define shapes of handles. 0-index for left,
  12108. * 1-index for right.
  12109. *
  12110. * Additionally, the URL to a graphic can be given on this form:
  12111. * `url(graphic.png)`. Note that for the image to be applied to exported
  12112. * charts, its URL needs to be accessible by the export server.
  12113. *
  12114. * Custom callbacks for symbol path generation can also be added to
  12115. * `Highcharts.SVGRenderer.prototype.symbols`. The callback is then used by
  12116. * its method name, as shown in the demo.
  12117. */
  12118. symbols?: Array<string>;
  12119. /**
  12120. * (Highstock, Gantt) Width for handles.
  12121. */
  12122. width?: number;
  12123. }
  12124. /**
  12125. * (Highstock, Gantt) The navigator is a small series below the main series,
  12126. * displaying a view of the entire data set. It provides tools to zoom in and
  12127. * out on parts of the data as well as panning across the dataset.
  12128. */
  12129. export interface NavigatorOptions {
  12130. /**
  12131. * (Highstock, Gantt) Whether the navigator and scrollbar should adapt to
  12132. * updated data in the base X axis. When loading data async, as in the demo
  12133. * below, this should be `false`. Otherwise new data will trigger navigator
  12134. * redraw, which will cause unwanted looping. In the demo below, the data in
  12135. * the navigator is set only once. On navigating, only the main chart
  12136. * content is updated.
  12137. */
  12138. adaptToUpdatedData?: boolean;
  12139. /**
  12140. * (Highstock, Gantt) Enable or disable the navigator.
  12141. */
  12142. enabled?: boolean;
  12143. /**
  12144. * (Highstock, Gantt) Options for the handles for dragging the zoomed area.
  12145. */
  12146. handles?: NavigatorHandlesOptions;
  12147. /**
  12148. * (Highstock, Gantt) The height of the navigator.
  12149. */
  12150. height?: number;
  12151. /**
  12152. * (Highstock, Gantt) The distance from the nearest element, the X axis or X
  12153. * axis labels.
  12154. */
  12155. margin?: number;
  12156. /**
  12157. * (Highstock, Gantt) The color of the mask covering the areas of the
  12158. * navigator series that are currently not visible in the main series. The
  12159. * default color is bluish with an opacity of 0.3 to see the series below.
  12160. */
  12161. maskFill?: (ColorString|GradientColorObject|PatternObject);
  12162. /**
  12163. * (Highstock, Gantt) Whether the mask should be inside the range marking
  12164. * the zoomed range, or outside. In Highstock 1.x it was always `false`.
  12165. */
  12166. maskInside?: boolean;
  12167. /**
  12168. * (Highstock, Gantt) When the chart is inverted, whether to draw the
  12169. * navigator on the opposite side.
  12170. */
  12171. opposite?: boolean;
  12172. /**
  12173. * (Highstock, Gantt) The color of the line marking the currently zoomed
  12174. * area in the navigator.
  12175. */
  12176. outlineColor?: (ColorString|GradientColorObject|PatternObject);
  12177. /**
  12178. * (Highstock, Gantt) The width of the line marking the currently zoomed
  12179. * area in the navigator.
  12180. */
  12181. outlineWidth?: number;
  12182. /**
  12183. * (Highstock, Gantt) Options for the navigator series. Available options
  12184. * are the same as any series, documented at plotOptions and series.
  12185. *
  12186. * Unless data is explicitly defined on navigator.series, the data is
  12187. * borrowed from the first series in the chart.
  12188. *
  12189. * Default series options for the navigator series are: (see online
  12190. * documentation for example)
  12191. */
  12192. series?: (NavigatorSeriesOptions|SeriesOptionsType|Array<NavigatorSeriesOptions>|Array<SeriesOptionsType>);
  12193. /**
  12194. * (Highstock, Gantt) Options for the navigator X axis. Default series
  12195. * options for the navigator xAxis are: (see online documentation for
  12196. * example)
  12197. */
  12198. xAxis?: (NavigatorXAxisOptions|Array<NavigatorXAxisOptions>);
  12199. /**
  12200. * (Highstock, Gantt) Options for the navigator Y axis. Default series
  12201. * options for the navigator yAxis are: (see online documentation for
  12202. * example)
  12203. */
  12204. yAxis?: (NavigatorYAxisOptions|Array<NavigatorYAxisOptions>);
  12205. }
  12206. /**
  12207. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  12208. * animation when a series is displayed for the `dataLabels`. The animation can
  12209. * also be set as a configuration object. Please note that this option only
  12210. * applies to the initial animation. For other animations, see chart.animation
  12211. * and the animation parameter under the API methods. The following properties
  12212. * are supported:
  12213. *
  12214. * - `defer`: The animation delay time in milliseconds.
  12215. */
  12216. export interface NavigatorSeriesDataLabelsAnimationOptions {
  12217. /**
  12218. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  12219. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  12220. * inherits defer time from the series.animation.defer.
  12221. */
  12222. defer?: number;
  12223. }
  12224. /**
  12225. * (Highcharts, Highstock, Highmaps, Gantt) Data label options for the navigator
  12226. * series. Data labels are disabled by default on the navigator series.
  12227. */
  12228. export interface NavigatorSeriesDataLabelsOptions {
  12229. /**
  12230. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  12231. * compared to the point. If `right`, the right side of the label should be
  12232. * touching the point. For points with an extent, like columns, the
  12233. * alignments also dictates how to align it inside the box, as given with
  12234. * the inside option. Can be one of `left`, `center` or `right`.
  12235. */
  12236. align?: (AlignValue|null);
  12237. /**
  12238. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  12239. * overlap. To make the labels less sensitive for overlapping, the
  12240. * dataLabels.padding can be set to 0.
  12241. */
  12242. allowOverlap?: boolean;
  12243. /**
  12244. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  12245. * animation when a series is displayed for the `dataLabels`. The animation
  12246. * can also be set as a configuration object. Please note that this option
  12247. * only applies to the initial animation. For other animations, see
  12248. * chart.animation and the animation parameter under the API methods. The
  12249. * following properties are supported:
  12250. *
  12251. * - `defer`: The animation delay time in milliseconds.
  12252. */
  12253. animation?: (boolean|NavigatorSeriesDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  12254. /**
  12255. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  12256. * for the data label.
  12257. */
  12258. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  12259. /**
  12260. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  12261. * label. Defaults to `undefined`.
  12262. */
  12263. borderColor?: (ColorString|GradientColorObject|PatternObject);
  12264. /**
  12265. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  12266. * the data label.
  12267. */
  12268. borderRadius?: number;
  12269. /**
  12270. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  12271. * the data label.
  12272. */
  12273. borderWidth?: number;
  12274. /**
  12275. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  12276. * Particularly in styled mode, this can be used to give each series' or
  12277. * point's data label unique styling. In addition to this option, a default
  12278. * color class name is added so that we can give the labels a contrast text
  12279. * shadow.
  12280. */
  12281. className?: string;
  12282. /**
  12283. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  12284. * labels. Defaults to `undefined`. For certain series types, like column or
  12285. * map, the data labels can be drawn inside the points. In this case the
  12286. * data label will be drawn with maximum contrast by default. Additionally,
  12287. * it will be given a `text-outline` style with the opposite color, to
  12288. * further increase the contrast. This can be overridden by setting the
  12289. * `text-outline` style to `none` in the `dataLabels.style` option.
  12290. */
  12291. color?: (ColorString|GradientColorObject|PatternObject);
  12292. /**
  12293. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  12294. * are outside the plot area. By default, the data label is moved inside the
  12295. * plot area according to the overflow option.
  12296. */
  12297. crop?: boolean;
  12298. /**
  12299. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  12300. * labels until the initial series animation has finished. Setting to
  12301. * `false` renders the data label immediately. If set to `true` inherits the
  12302. * defer time set in plotOptions.series.animation.
  12303. */
  12304. defer?: boolean;
  12305. /**
  12306. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  12307. * labels.
  12308. */
  12309. enabled?: boolean;
  12310. /**
  12311. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  12312. * of which data labels to display. The declarative filter is designed for
  12313. * use when callback functions are not available, like when the chart
  12314. * options require a pure JSON structure or for use with graphical editors.
  12315. * For programmatic control, use the `formatter` instead, and return
  12316. * `undefined` to disable a single data label.
  12317. */
  12318. filter?: DataLabelsFilterOptionsObject;
  12319. /**
  12320. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  12321. * label. Available variables are the same as for `formatter`.
  12322. */
  12323. format?: string;
  12324. /**
  12325. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  12326. * format the data label. Note that if a `format` is defined, the format
  12327. * takes precedence and the formatter is ignored.
  12328. */
  12329. formatter?: DataLabelsFormatterCallbackFunction;
  12330. /**
  12331. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  12332. * columns or map areas, whether to align the data label inside the box or
  12333. * to the actual value point. Defaults to `false` in most cases, `true` in
  12334. * stacked columns.
  12335. */
  12336. inside?: boolean;
  12337. /**
  12338. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  12339. * of null. Works analogously to format. `nullFormat` can be applied only to
  12340. * series which support displaying null points.
  12341. */
  12342. nullFormat?: (boolean|string);
  12343. /**
  12344. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  12345. * that defines formatting for points with the value of null. Works
  12346. * analogously to formatter. `nullPointFormatter` can be applied only to
  12347. * series which support displaying null points.
  12348. */
  12349. nullFormatter?: DataLabelsFormatterCallbackFunction;
  12350. /**
  12351. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  12352. * flow outside the plot area. The default is `"justify"`, which aligns them
  12353. * inside the plot area. For columns and bars, this means it will be moved
  12354. * inside the bar. To display data labels outside the plot area, set `crop`
  12355. * to `false` and `overflow` to `"allow"`.
  12356. */
  12357. overflow?: DataLabelsOverflowValue;
  12358. /**
  12359. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  12360. * the `backgroundColor` is set, this is the padding within the box.
  12361. */
  12362. padding?: number;
  12363. /**
  12364. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  12365. * points. If `center` alignment is not possible, it defaults to `right`.
  12366. */
  12367. position?: AlignValue;
  12368. /**
  12369. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  12370. * that due to a more complex structure, backgrounds, borders and padding
  12371. * will be lost on a rotated data label.
  12372. */
  12373. rotation?: number;
  12374. /**
  12375. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  12376. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  12377. * an object configuration containing `color`, `offsetX`, `offsetY`,
  12378. * `opacity` and `width`.
  12379. */
  12380. shadow?: (boolean|ShadowOptionsObject);
  12381. /**
  12382. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  12383. * the border around the label. Symbols are predefined functions on the
  12384. * Renderer object.
  12385. */
  12386. shape?: string;
  12387. /**
  12388. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  12389. * default `color` setting is `"contrast"`, which is a pseudo color that
  12390. * Highcharts picks up and applies the maximum contrast to the underlying
  12391. * point item, for example the bar in a bar chart.
  12392. *
  12393. * The `textOutline` is a pseudo property that applies an outline of the
  12394. * given width with the given color, which by default is the maximum
  12395. * contrast to the text. So a bright text color will result in a black text
  12396. * outline for maximum readability on a mixed background. In some cases,
  12397. * especially with grayscale text, the text outline doesn't work well, in
  12398. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  12399. * is true, the `textOutline` will not be picked up. In this, case, the same
  12400. * effect can be acheived through the `text-shadow` CSS property.
  12401. *
  12402. * For some series types, where each point has an extent, like for example
  12403. * tree maps, the data label may overflow the point. There are two
  12404. * strategies for handling overflow. By default, the text will wrap to
  12405. * multiple lines. The other strategy is to set `style.textOverflow` to
  12406. * `ellipsis`, which will keep the text on one line plus it will break
  12407. * inside long words.
  12408. */
  12409. style?: CSSObject;
  12410. /**
  12411. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  12412. * should follow marker's shape. Border and background are disabled for a
  12413. * label that follows a path.
  12414. *
  12415. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  12416. * to true will disable this option.
  12417. */
  12418. textPath?: DataLabelsTextPathOptionsObject;
  12419. /**
  12420. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  12421. * the labels.
  12422. */
  12423. useHTML?: boolean;
  12424. /**
  12425. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  12426. * label. Can be one of `top`, `middle` or `bottom`. The default value
  12427. * depends on the data, for instance in a column chart, the label is above
  12428. * positive values and below negative values.
  12429. */
  12430. verticalAlign?: (VerticalAlignValue|null);
  12431. /**
  12432. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  12433. * label relative to the point in pixels.
  12434. */
  12435. x?: number;
  12436. /**
  12437. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  12438. * label relative to the point in pixels.
  12439. */
  12440. y?: number;
  12441. /**
  12442. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  12443. * The default Z index puts it above the series. Use a Z index of 2 to
  12444. * display it behind the series.
  12445. */
  12446. z?: number;
  12447. zIndex?: number;
  12448. }
  12449. export interface NavigatorSeriesMarkerOptions {
  12450. enabled?: boolean;
  12451. }
  12452. /**
  12453. * (Highstock, Gantt) Options for the navigator series. Available options are
  12454. * the same as any series, documented at plotOptions and series.
  12455. *
  12456. * Unless data is explicitly defined on navigator.series, the data is borrowed
  12457. * from the first series in the chart.
  12458. *
  12459. * Default series options for the navigator series are: (see online
  12460. * documentation for example)
  12461. */
  12462. export interface NavigatorSeriesOptions {
  12463. className?: string;
  12464. /**
  12465. * (Highstock, Gantt) Sets the fill color of the navigator series.
  12466. */
  12467. color?: (ColorString|GradientColorObject|PatternObject);
  12468. /**
  12469. * (Highstock) Unless data is explicitly defined, the data is borrowed from
  12470. * the first series in the chart.
  12471. */
  12472. data?: Array<(number|Array<(number|string|null)>|object|null)>;
  12473. /**
  12474. * (Highstock) Data grouping options for the navigator series.
  12475. */
  12476. dataGrouping?: DataGroupingOptionsObject;
  12477. /**
  12478. * (Highcharts, Highstock, Highmaps, Gantt) Data label options for the
  12479. * navigator series. Data labels are disabled by default on the navigator
  12480. * series.
  12481. */
  12482. dataLabels?: (NavigatorSeriesDataLabelsOptions|Array<NavigatorSeriesDataLabelsOptions>);
  12483. /**
  12484. * (Highstock, Gantt) The fill opacity of the navigator series.
  12485. */
  12486. fillOpacity?: number;
  12487. id?: string;
  12488. /**
  12489. * (Highstock, Gantt) Line color for the navigator series. Allows setting
  12490. * the color while disallowing the default candlestick setting.
  12491. */
  12492. lineColor?: (ColorString|null);
  12493. /**
  12494. * (Highstock, Gantt) The pixel line width of the navigator series.
  12495. */
  12496. lineWidth?: number;
  12497. marker?: NavigatorSeriesMarkerOptions;
  12498. /**
  12499. * (Highstock) Since Highstock v8, default value is the same as default
  12500. * `pointRange` defined for a specific type (e.g. `null` for column type).
  12501. *
  12502. * In Highstock version < 8, defaults to 0.
  12503. */
  12504. pointRange?: (number|null);
  12505. /**
  12506. * (Highstock, Gantt) The threshold option. Setting it to 0 will make the
  12507. * default navigator area series draw its area from the 0 value and up.
  12508. */
  12509. threshold?: (number|null);
  12510. /**
  12511. * (Highstock, Gantt) The type of the navigator series.
  12512. *
  12513. * Heads up: In column-type navigator, zooming is limited to at least one
  12514. * point with its `pointRange`.
  12515. */
  12516. type?: string;
  12517. }
  12518. /**
  12519. * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
  12520. * sections defined will be left out and all the points shifted closer to each
  12521. * other.
  12522. */
  12523. export interface NavigatorXAxisBreaksOptions {
  12524. /**
  12525. * (Highcharts, Highstock, Gantt) A number indicating how much space should
  12526. * be left between the start and the end of the break. The break size is
  12527. * given in axis units, so for instance on a `datetime` axis, a break size
  12528. * of 3600000 would indicate the equivalent of an hour.
  12529. */
  12530. breakSize?: number;
  12531. /**
  12532. * (Highcharts, Highstock, Gantt) The point where the break starts.
  12533. */
  12534. from?: number;
  12535. /**
  12536. * (Highcharts, Highstock, Gantt) Defines an interval after which the break
  12537. * appears again. By default the breaks do not repeat.
  12538. */
  12539. repeat?: number;
  12540. /**
  12541. * (Highcharts, Highstock, Gantt) The point where the break ends.
  12542. */
  12543. to?: number;
  12544. }
  12545. /**
  12546. * (Gantt) An object defining mouse events for the plot line. Supported
  12547. * properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  12548. */
  12549. export interface NavigatorXAxisCurrentDateIndicatorEventsOptions {
  12550. /**
  12551. * (Gantt) Click event on a plot band.
  12552. */
  12553. click?: EventCallbackFunction<PlotLineOrBand>;
  12554. /**
  12555. * (Gantt) Mouse move event on a plot band.
  12556. */
  12557. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  12558. /**
  12559. * (Gantt) Mouse out event on the corner of a plot band.
  12560. */
  12561. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  12562. /**
  12563. * (Gantt) Mouse over event on a plot band.
  12564. */
  12565. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  12566. }
  12567. /**
  12568. * (Gantt) Text labels for the plot bands
  12569. */
  12570. export interface NavigatorXAxisCurrentDateIndicatorLabelOptions {
  12571. /**
  12572. * (Gantt) Horizontal alignment of the label. Can be one of "left", "center"
  12573. * or "right".
  12574. */
  12575. align?: AlignValue;
  12576. /**
  12577. * (Gantt) Format of the label. This options is passed as the fist argument
  12578. * to dateFormat function.
  12579. */
  12580. format?: string;
  12581. /**
  12582. * (Gantt) Callback JavaScript function to format the label. Useful
  12583. * properties like the value of plot line or the range of plot band (`from`
  12584. * & `to` properties) can be found in `this.options` object.
  12585. */
  12586. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  12587. /**
  12588. * (Gantt) Rotation of the text label in degrees. Defaults to 0 for
  12589. * horizontal plot lines and 90 for vertical lines.
  12590. */
  12591. rotation?: number;
  12592. /**
  12593. * (Gantt) CSS styles for the text label.
  12594. *
  12595. * In styled mode, the labels are styled by the
  12596. * `.highcharts-plot-line-label` class.
  12597. */
  12598. style?: CSSObject;
  12599. /**
  12600. * (Gantt) The text itself. A subset of HTML is supported.
  12601. */
  12602. text?: string;
  12603. /**
  12604. * (Gantt) The text alignment for the label. While `align` determines where
  12605. * the texts anchor point is placed within the plot band, `textAlign`
  12606. * determines how the text is aligned against its anchor point. Possible
  12607. * values are "left", "center" and "right". Defaults to the same as the
  12608. * `align` option.
  12609. */
  12610. textAlign?: AlignValue;
  12611. /**
  12612. * (Gantt) Whether to use HTML to render the labels.
  12613. */
  12614. useHTML?: boolean;
  12615. /**
  12616. * (Gantt) Vertical alignment of the label relative to the plot line. Can be
  12617. * one of "top", "middle" or "bottom".
  12618. */
  12619. verticalAlign?: VerticalAlignValue;
  12620. /**
  12621. * (Gantt) Horizontal position relative the alignment. Default varies by
  12622. * orientation.
  12623. */
  12624. x?: number;
  12625. /**
  12626. * (Gantt) Vertical position of the text baseline relative to the alignment.
  12627. * Default varies by orientation.
  12628. */
  12629. y?: number;
  12630. }
  12631. /**
  12632. * (Highstock, Gantt) Event handlers for the axis.
  12633. */
  12634. export interface NavigatorXAxisEventsOptions {
  12635. /**
  12636. * (Highcharts, Gantt) An event fired after the breaks have rendered.
  12637. */
  12638. afterBreaks?: AxisEventCallbackFunction;
  12639. /**
  12640. * (Highstock, Gantt) As opposed to the `setExtremes` event, this event
  12641. * fires after the final min and max values are computed and corrected for
  12642. * `minRange`.
  12643. *
  12644. * Fires when the minimum and maximum is set for the axis, either by calling
  12645. * the `.setExtremes()` method or by selecting an area in the chart. One
  12646. * parameter, `event`, is passed to the function, containing common event
  12647. * information.
  12648. *
  12649. * The new user set minimum and maximum values can be found by `event.min`
  12650. * and `event.max`. These reflect the axis minimum and maximum in axis
  12651. * values. The actual data extremes are found in `event.dataMin` and
  12652. * `event.dataMax`.
  12653. */
  12654. afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
  12655. /**
  12656. * (Highcharts, Gantt) An event fired when a break from this axis occurs on
  12657. * a point.
  12658. */
  12659. pointBreak?: AxisPointBreakEventCallbackFunction;
  12660. /**
  12661. * (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
  12662. * break from this axis.
  12663. */
  12664. pointInBreak?: AxisPointBreakEventCallbackFunction;
  12665. /**
  12666. * (Highstock, Gantt) Fires when the minimum and maximum is set for the
  12667. * axis, either by calling the `.setExtremes()` method or by selecting an
  12668. * area in the chart. One parameter, `event`, is passed to the function,
  12669. * containing common event information.
  12670. *
  12671. * The new user set minimum and maximum values can be found by `event.min`
  12672. * and `event.max`. These reflect the axis minimum and maximum in data
  12673. * values. When an axis is zoomed all the way out from the "Reset zoom"
  12674. * button, `event.min` and `event.max` are null, and the new extremes are
  12675. * set based on `this.dataMin` and `this.dataMax`.
  12676. */
  12677. setExtremes?: AxisSetExtremesEventCallbackFunction;
  12678. }
  12679. /**
  12680. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  12681. */
  12682. export interface NavigatorXAxisGridOptions {
  12683. /**
  12684. * (Gantt) Set border color for the label grid lines.
  12685. */
  12686. borderColor?: ColorString;
  12687. /**
  12688. * (Gantt) Set border width of the label grid lines.
  12689. */
  12690. borderWidth?: number;
  12691. /**
  12692. * (Gantt) Set cell height for grid axis labels. By default this is
  12693. * calculated from font size. This option only applies to horizontal axes.
  12694. */
  12695. cellHeight?: number;
  12696. /**
  12697. * (Gantt) Set specific options for each column (or row for horizontal axes)
  12698. * in the grid. Each extra column/row is its own axis, and the axis options
  12699. * can be set here.
  12700. */
  12701. columns?: Array<XAxisOptions>;
  12702. /**
  12703. * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
  12704. * charts.
  12705. */
  12706. enabled?: boolean;
  12707. }
  12708. /**
  12709. * (Highstock, Gantt) The axis labels show the number or category for each tick.
  12710. *
  12711. * Since v8.0.0: Labels are animated in categorized x-axis with updating data if
  12712. * `tickInterval` and `step` is set to 1.
  12713. */
  12714. export interface NavigatorXAxisLabelsOptions {
  12715. /**
  12716. * (Highstock, Gantt) What part of the string the given position is anchored
  12717. * to. If `left`, the left side of the string is at the axis position. Can
  12718. * be one of `"left"`, `"center"` or `"right"`. Defaults to an intelligent
  12719. * guess based on which side of the chart the axis is on and the rotation of
  12720. * the label.
  12721. */
  12722. align?: string;
  12723. /**
  12724. * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
  12725. * of label rotation to prevent overlapping labels. If there is enough
  12726. * space, labels are not rotated. As the chart gets narrower, it will start
  12727. * rotating the labels -45 degrees, then remove every second label and try
  12728. * again with rotations 0 and -45 etc. Set it to `false` to disable
  12729. * rotation, which will cause the labels to word-wrap if possible.
  12730. */
  12731. autoRotation?: (false|Array<number>);
  12732. /**
  12733. * (Highcharts, Gantt) When each category width is more than this many
  12734. * pixels, we don't apply auto rotation. Instead, we lay out the axis label
  12735. * with word wrap. A lower limit makes sense when the label contains
  12736. * multiple short words that don't extend the available horizontal space for
  12737. * each label.
  12738. */
  12739. autoRotationLimit?: number;
  12740. /**
  12741. * (Highcharts, Gantt) Polar charts only. The label's pixel distance from
  12742. * the perimeter of the plot area.
  12743. */
  12744. distance?: number;
  12745. /**
  12746. * (Highstock, Gantt) Enable or disable the axis labels.
  12747. */
  12748. enabled?: boolean;
  12749. /**
  12750. * (Highstock, Gantt) A format string for the axis label.
  12751. */
  12752. format?: string;
  12753. /**
  12754. * (Highstock, Gantt) Callback JavaScript function to format the label. The
  12755. * value is given by `this.value`. Additional properties for `this` are
  12756. * `axis`, `chart`, `isFirst` and `isLast`. The value of the default label
  12757. * formatter can be retrieved by calling
  12758. * `this.axis.defaultLabelFormatter.call(this)` within the function.
  12759. *
  12760. * Defaults to: (see online documentation for example)
  12761. */
  12762. formatter?: AxisLabelsFormatterCallbackFunction;
  12763. /**
  12764. * (Gantt) The number of pixels to indent the labels per level in a treegrid
  12765. * axis.
  12766. */
  12767. indentation?: number;
  12768. /**
  12769. * (Highstock, Gantt) How to handle overflowing labels on horizontal axis.
  12770. * If set to `"allow"`, it will not be aligned at all. By default it
  12771. * `"justify"` labels inside the chart area. If there is room to move it, it
  12772. * will be aligned to the edge, else it will be removed.
  12773. */
  12774. overflow?: OptionsOverflowValue;
  12775. /**
  12776. * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
  12777. * space between them.
  12778. */
  12779. padding?: number;
  12780. /**
  12781. * (Highcharts) Defines how the labels are be repositioned according to the
  12782. * 3D chart orientation.
  12783. *
  12784. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  12785. * marks, despite the chart orientation. This is the backwards compatible
  12786. * behavior, and causes skewing of X and Z axes.
  12787. *
  12788. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  12789. * but hard to read if the text isn't forward-facing.
  12790. *
  12791. * - `'flap'`: Rotated text along the axis to compensate for the chart
  12792. * orientation. This tries to maintain text as legible as possible on all
  12793. * orientations.
  12794. *
  12795. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  12796. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  12797. * skewing the labels (X and Y scaling are still present).
  12798. */
  12799. position3d?: OptionsPosition3dValue;
  12800. /**
  12801. * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
  12802. * space is reserved for the labels in these cases:
  12803. *
  12804. * * On all horizontal axes.
  12805. *
  12806. * * On vertical axes if `label.align` is `right` on a left-side axis or
  12807. * `left` on a right-side axis.
  12808. *
  12809. * * On vertical axes if `label.align` is `center`.
  12810. *
  12811. * This can be turned off when for example the labels are rendered inside
  12812. * the plot area instead of outside.
  12813. */
  12814. reserveSpace?: boolean;
  12815. /**
  12816. * (Highstock, Gantt) Rotation of the labels in degrees.
  12817. */
  12818. rotation?: number;
  12819. /**
  12820. * (Highcharts) If enabled, the axis labels will skewed to follow the
  12821. * perspective.
  12822. *
  12823. * This will fix overlapping labels and titles, but texts become less
  12824. * legible due to the distortion.
  12825. *
  12826. * The final appearance depends heavily on `labels.position3d`.
  12827. */
  12828. skew3d?: boolean;
  12829. /**
  12830. * (Highstock, Gantt) Horizontal axes only. The number of lines to spread
  12831. * the labels over to make room or tighter labels.
  12832. */
  12833. staggerLines?: number;
  12834. /**
  12835. * (Highstock, Gantt) To show only every _n_'th label on the axis, set the
  12836. * step to _n_. Setting the step to 2 shows every other label.
  12837. *
  12838. * By default, the step is calculated automatically to avoid overlap. To
  12839. * prevent this, set it to 1\. This usually only happens on a category axis,
  12840. * and is often a sign that you have chosen the wrong axis type.
  12841. *
  12842. * Read more at Axis docs => What axis should I use?
  12843. */
  12844. step?: number;
  12845. /**
  12846. * (Highstock, Gantt) CSS styles for the label. Use `whiteSpace: 'nowrap'`
  12847. * to prevent wrapping of category labels. Use `textOverflow: 'none'` to
  12848. * prevent ellipsis (dots).
  12849. *
  12850. * In styled mode, the labels are styled with the `.highcharts-axis-labels`
  12851. * class.
  12852. */
  12853. style?: CSSObject;
  12854. /**
  12855. * (Highstock, Gantt) Whether to use HTML to render the labels.
  12856. */
  12857. useHTML?: boolean;
  12858. /**
  12859. * (Highstock, Gantt) The x position offset of all labels relative to the
  12860. * tick positions on the axis.
  12861. */
  12862. x?: number;
  12863. /**
  12864. * (Highstock, Gantt) The y position offset of all labels relative to the
  12865. * tick positions on the axis. The default makes it adapt to the font size
  12866. * of the bottom axis.
  12867. */
  12868. y?: number;
  12869. /**
  12870. * (Highstock, Gantt) The Z index for the axis labels.
  12871. */
  12872. zIndex?: number;
  12873. }
  12874. /**
  12875. * (Highstock, Gantt) Options for the navigator X axis. Default series options
  12876. * for the navigator xAxis are: (see online documentation for example)
  12877. */
  12878. export interface NavigatorXAxisOptions {
  12879. /**
  12880. * (Highstock, Gantt) Accessibility options for an axis. Requires the
  12881. * accessibility module.
  12882. */
  12883. accessibility?: AxisAccessibilityOptionsObject;
  12884. /**
  12885. * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
  12886. * or more opposite axes will automatically be aligned by adding ticks to
  12887. * the axis or axes with the least ticks, as if `tickAmount` were specified.
  12888. *
  12889. * This can be prevented by setting `alignTicks` to false. If the grid lines
  12890. * look messy, it's a good idea to hide them for the secondary axis by
  12891. * setting `gridLineWidth` to 0.
  12892. *
  12893. * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
  12894. * the `alignTicks ` will be disabled for the Axis.
  12895. *
  12896. * Disabled for logarithmic axes.
  12897. */
  12898. alignTicks?: boolean;
  12899. /**
  12900. * (Highstock, Gantt) Whether to allow decimals in this axis' ticks. When
  12901. * counting integers, like persons or hits on a web page, decimals should be
  12902. * avoided in the labels.
  12903. */
  12904. allowDecimals?: boolean;
  12905. /**
  12906. * (Highstock, Gantt) When using an alternate grid color, a band is painted
  12907. * across the plot area between every other grid line.
  12908. */
  12909. alternateGridColor?: ColorType;
  12910. /**
  12911. * (Highcharts) In a polar chart, this is the angle of the Y axis in
  12912. * degrees, where 0 is up and 90 is right. The angle determines the position
  12913. * of the axis line and the labels, though the coordinate system is
  12914. * unaffected. Since v8.0.0 this option is also applicable for X axis
  12915. * (inverted polar).
  12916. */
  12917. angle?: number;
  12918. /**
  12919. * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
  12920. * sections defined will be left out and all the points shifted closer to
  12921. * each other.
  12922. */
  12923. breaks?: Array<NavigatorXAxisBreaksOptions>;
  12924. /**
  12925. * (Highcharts, Gantt) If categories are present for the xAxis, names are
  12926. * used instead of numbers for that axis.
  12927. *
  12928. * Since Highcharts 3.0, categories can also be extracted by giving each
  12929. * point a name and setting axis type to `category`. However, if you have
  12930. * multiple series, best practice remains defining the `categories` array.
  12931. *
  12932. * Example: `categories: ['Apples', 'Bananas', 'Oranges']`
  12933. */
  12934. categories?: Array<string>;
  12935. /**
  12936. * (Highcharts, Highstock, Gantt) The highest allowed value for
  12937. * automatically computed axis extremes.
  12938. */
  12939. ceiling?: number;
  12940. /**
  12941. * (Highstock, Gantt) A class name that opens for styling the axis by CSS,
  12942. * especially in Highcharts styled mode. The class name is applied to group
  12943. * elements for the grid, axis elements and labels.
  12944. */
  12945. className?: string;
  12946. /**
  12947. * (Highstock, Gantt) Configure a crosshair that follows either the mouse
  12948. * pointer or the hovered point.
  12949. *
  12950. * In styled mode, the crosshairs are styled in the `.highcharts-crosshair`,
  12951. * `.highcharts-crosshair-thin` or `.highcharts-xaxis-category` classes.
  12952. */
  12953. crosshair?: (boolean|AxisCrosshairOptions);
  12954. /**
  12955. * (Gantt) Show an indicator on the axis for the current date and time. Can
  12956. * be a boolean or a configuration object similar to xAxis.plotLines.
  12957. */
  12958. currentDateIndicator?: (boolean|AxisCurrentDateIndicatorOptions);
  12959. /**
  12960. * (Gantt) For a datetime axis, the scale will automatically adjust to the
  12961. * appropriate unit. This member gives the default string representations
  12962. * used for each unit. For intermediate values, different units may be used,
  12963. * for example the `day` unit can be used on midnight and `hour` unit be
  12964. * used for intermediate values on the same axis. For grid axes (like in
  12965. * Gantt charts), it is possible to declare as a list to provide different
  12966. * formats depending on available space. For an overview of the replacement
  12967. * codes, see dateFormat.
  12968. *
  12969. * Defaults to: (see online documentation for example)
  12970. */
  12971. dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
  12972. /**
  12973. * (Highstock, Gantt) Whether to force the axis to end on a tick. Use this
  12974. * option with the `maxPadding` option to control the axis end.
  12975. */
  12976. endOnTick?: boolean;
  12977. /**
  12978. * (Highstock, Gantt) Event handlers for the axis.
  12979. */
  12980. events?: NavigatorXAxisEventsOptions;
  12981. /**
  12982. * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
  12983. * computed axis extremes.
  12984. */
  12985. floor?: number;
  12986. /**
  12987. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  12988. */
  12989. grid?: NavigatorXAxisGridOptions;
  12990. /**
  12991. * (Highstock, Gantt) Color of the grid lines extending the ticks across the
  12992. * plot area.
  12993. *
  12994. * In styled mode, the stroke is given in the `.highcharts-grid-line` class.
  12995. */
  12996. gridLineColor?: string;
  12997. /**
  12998. * (Highstock, Gantt) The dash or dot style of the grid lines. For possible
  12999. * values, see this demonstration.
  13000. */
  13001. gridLineDashStyle?: DashStyleValue;
  13002. /**
  13003. * (Highcharts) Polar charts only. Whether the grid lines should draw as a
  13004. * polygon with straight lines between categories, or as circles. Can be
  13005. * either `circle` or `polygon`. Since v8.0.0 this option is also applicable
  13006. * for X axis (inverted polar).
  13007. */
  13008. gridLineInterpolation?: OptionsGridLineInterpolationValue;
  13009. /**
  13010. * (Highstock, Gantt) The width of the grid lines extending the ticks across
  13011. * the plot area.
  13012. *
  13013. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  13014. * class.
  13015. */
  13016. gridLineWidth?: number;
  13017. /**
  13018. * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
  13019. */
  13020. gridZIndex?: number;
  13021. /**
  13022. * (Highcharts, Highstock) The height as the vertical axis. If it's a
  13023. * number, it is interpreted as pixels.
  13024. *
  13025. * Since Highcharts 2: If it's a percentage string, it is interpreted as
  13026. * percentages of the total plot height.
  13027. */
  13028. height?: (number|string);
  13029. /**
  13030. * (Highstock, Gantt) An id for the axis. This can be used after render time
  13031. * to get a pointer to the axis object through `chart.get()`.
  13032. */
  13033. id?: string;
  13034. /**
  13035. * (Highstock, Gantt) The axis labels show the number or category for each
  13036. * tick.
  13037. *
  13038. * Since v8.0.0: Labels are animated in categorized x-axis with updating
  13039. * data if `tickInterval` and `step` is set to 1.
  13040. */
  13041. labels?: NavigatorXAxisLabelsOptions;
  13042. /**
  13043. * (Highcharts, Highstock) The left position as the horizontal axis. If it's
  13044. * a number, it is interpreted as pixel position relative to the chart.
  13045. *
  13046. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  13047. * as percentages of the plot width, offset from plot area left.
  13048. */
  13049. left?: (number|string);
  13050. /**
  13051. * (Highstock, Gantt) The color of the line marking the axis itself.
  13052. *
  13053. * In styled mode, the line stroke is given in the `.highcharts-axis-line`
  13054. * or `.highcharts-xaxis-line` class.
  13055. */
  13056. lineColor?: ColorType;
  13057. /**
  13058. * (Highstock, Gantt) The width of the line marking the axis itself.
  13059. *
  13060. * In styled mode, the stroke width is given in the `.highcharts-axis-line`
  13061. * or `.highcharts-xaxis-line` class.
  13062. */
  13063. lineWidth?: number;
  13064. /**
  13065. * (Highstock, Gantt) If there are multiple axes on the same side of the
  13066. * chart, the pixel margin between the axes. Defaults to 0 on vertical axes,
  13067. * 15 on horizontal axes.
  13068. */
  13069. margin?: number;
  13070. /**
  13071. * (Highstock, Gantt) The maximum value of the axis. If `null`, the max
  13072. * value is automatically calculated.
  13073. *
  13074. * If the endOnTick option is true, the `max` value might be rounded up.
  13075. *
  13076. * If a tickAmount is set, the axis may be extended beyond the set max in
  13077. * order to reach the given number of ticks. The same may happen in a chart
  13078. * with multiple axes, determined by chart. alignTicks, where a `tickAmount`
  13079. * is applied internally.
  13080. */
  13081. max?: (number|null);
  13082. /**
  13083. * (Highstock, Gantt) Padding of the max value relative to the length of the
  13084. * axis. A padding of 0.05 will make a 100px axis 5px longer. This is useful
  13085. * when you don't want the highest data value to appear on the edge of the
  13086. * plot area. When the axis' `max` option is set or a max extreme is set
  13087. * using `axis.setExtremes()`, the maxPadding will be ignored.
  13088. */
  13089. maxPadding?: number;
  13090. /**
  13091. * (Highstock, Gantt) The minimum value of the axis. If `null` the min value
  13092. * is automatically calculated.
  13093. *
  13094. * If the startOnTick option is true (default), the `min` value might be
  13095. * rounded down.
  13096. *
  13097. * The automatically calculated minimum value is also affected by floor,
  13098. * softMin, minPadding, minRange as well as series.threshold and
  13099. * series.softThreshold.
  13100. */
  13101. min?: (number|null);
  13102. /**
  13103. * (Highstock, Gantt) Color of the minor, secondary grid lines.
  13104. *
  13105. * In styled mode, the stroke width is given in the
  13106. * `.highcharts-minor-grid-line` class.
  13107. */
  13108. minorGridLineColor?: ColorType;
  13109. /**
  13110. * (Highstock, Gantt) The dash or dot style of the minor grid lines. For
  13111. * possible values, see this demonstration.
  13112. */
  13113. minorGridLineDashStyle?: DashStyleValue;
  13114. /**
  13115. * (Highstock, Gantt) Width of the minor, secondary grid lines.
  13116. *
  13117. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  13118. * class.
  13119. */
  13120. minorGridLineWidth?: number;
  13121. /**
  13122. * (Highstock, Gantt) Color for the minor tick marks.
  13123. */
  13124. minorTickColor?: ColorType;
  13125. /**
  13126. * (Highstock, Gantt) Specific tick interval in axis units for the minor
  13127. * ticks. On a linear axis, if `"auto"`, the minor tick interval is
  13128. * calculated as a fifth of the tickInterval. If `null` or `undefined`,
  13129. * minor ticks are not shown.
  13130. *
  13131. * On logarithmic axes, the unit is the power of the value. For example,
  13132. * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
  13133. * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
  13134. * and 10, 10 and 100 etc.
  13135. *
  13136. * If user settings dictate minor ticks to become too dense, they don't make
  13137. * sense, and will be ignored to prevent performance problems.
  13138. */
  13139. minorTickInterval?: (number|string|null);
  13140. /**
  13141. * (Highstock, Gantt) The pixel length of the minor tick marks.
  13142. */
  13143. minorTickLength?: number;
  13144. /**
  13145. * (Highstock, Gantt) The position of the minor tick marks relative to the
  13146. * axis line. Can be one of `inside` and `outside`.
  13147. */
  13148. minorTickPosition?: OptionsMinorTickPositionValue;
  13149. /**
  13150. * (Highstock, Gantt) Enable or disable minor ticks. Unless
  13151. * minorTickInterval is set, the tick interval is calculated as a fifth of
  13152. * the `tickInterval`.
  13153. *
  13154. * On a logarithmic axis, minor ticks are laid out based on a best guess,
  13155. * attempting to enter approximately 5 minor ticks between each major tick.
  13156. *
  13157. * Prior to v6.0.0, ticks were unabled in auto layout by setting
  13158. * `minorTickInterval` to `"auto"`.
  13159. */
  13160. minorTicks?: boolean;
  13161. /**
  13162. * (Highstock, Gantt) The pixel width of the minor tick mark.
  13163. */
  13164. minorTickWidth?: number;
  13165. /**
  13166. * (Highcharts, Highstock, Gantt) Padding of the min value relative to the
  13167. * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
  13168. * This is useful when you don't want the lowest data value to appear on the
  13169. * edge of the plot area. When the axis' `min` option is set or a min
  13170. * extreme is set using `axis.setExtremes()`, the minPadding will be
  13171. * ignored.
  13172. */
  13173. minPadding?: number;
  13174. /**
  13175. * (Highstock, Gantt) The minimum tick interval allowed in axis values. For
  13176. * example on zooming in on an axis with daily data, this can be used to
  13177. * prevent the axis from showing hours. Defaults to the closest distance
  13178. * between two points on the axis.
  13179. */
  13180. minTickInterval?: number;
  13181. /**
  13182. * (Highstock, Gantt) The distance in pixels from the plot area to the axis
  13183. * line. A positive offset moves the axis with it's line, labels and ticks
  13184. * away from the plot area. This is typically used when two or more axes are
  13185. * displayed on the same side of the plot. With multiple axes the offset is
  13186. * dynamically adjusted to avoid collision, this can be overridden by
  13187. * setting offset explicitly.
  13188. */
  13189. offset?: number;
  13190. /**
  13191. * (Highstock) In an ordinal axis, the points are equally spaced in the
  13192. * chart regardless of the actual time or x distance between them. This
  13193. * means that missing data periods (e.g. nights or weekends for a stock
  13194. * chart) will not take up space in the chart. Having `ordinal: false` will
  13195. * show any gaps created by the `gapSize` setting proportionate to their
  13196. * duration.
  13197. *
  13198. * In stock charts the X axis is ordinal by default, unless the boost module
  13199. * is used and at least one of the series' data length exceeds the
  13200. * boostThreshold.
  13201. */
  13202. ordinal?: boolean;
  13203. /**
  13204. * (Highstock) Additional range on the right side of the xAxis. Works
  13205. * similar to xAxis.maxPadding, but value is set in milliseconds. Can be set
  13206. * for both, main xAxis and navigator's xAxis.
  13207. */
  13208. overscroll?: number;
  13209. /**
  13210. * (Highcharts) Refers to the index in the panes array. Used for circular
  13211. * gauges and polar charts. When the option is not set then first pane will
  13212. * be used.
  13213. */
  13214. pane?: number;
  13215. /**
  13216. * (Highcharts, Highstock, Gantt) An array of colored bands stretching
  13217. * across the plot area marking an interval on the axis.
  13218. *
  13219. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  13220. * class in addition to the `className` option.
  13221. */
  13222. plotBands?: Array<NavigatorXAxisPlotBandsOptions>;
  13223. /**
  13224. * (Highcharts, Highstock, Gantt) An array of lines stretching across the
  13225. * plot area, marking a specific value on one of the axes.
  13226. *
  13227. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  13228. * class in addition to the `className` option.
  13229. */
  13230. plotLines?: Array<NavigatorXAxisPlotLinesOptions>;
  13231. /**
  13232. * (Highstock, Gantt) Whether to reverse the axis so that the highest number
  13233. * is closest to the origin. If the chart is inverted, the x axis is
  13234. * reversed by default.
  13235. */
  13236. reversed?: boolean;
  13237. /**
  13238. * (Highcharts, Highstock) This option determines how stacks should be
  13239. * ordered within a group. For example reversed xAxis also reverses stacks,
  13240. * so first series comes last in a group. To keep order like for
  13241. * non-reversed xAxis enable this option.
  13242. */
  13243. reversedStacks?: boolean;
  13244. /**
  13245. * (Highstock, Gantt) Whether to show the first tick label.
  13246. */
  13247. showFirstLabel?: boolean;
  13248. /**
  13249. * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
  13250. * Defaults to `true` on cartesian charts, and `false` on polar charts.
  13251. */
  13252. showLastLabel?: boolean;
  13253. /**
  13254. * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
  13255. * data maximum is less than this, the axis will stay at this maximum, but
  13256. * if the series data maximum is higher, the axis will flex to show all
  13257. * data.
  13258. */
  13259. softMax?: number;
  13260. /**
  13261. * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
  13262. * data minimum is greater than this, the axis will stay at this minimum,
  13263. * but if the series data minimum is lower, the axis will flex to show all
  13264. * data.
  13265. */
  13266. softMin?: number;
  13267. /**
  13268. * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
  13269. * put the tick between weeks. 0 = Sunday, 1 = Monday.
  13270. */
  13271. startOfWeek?: number;
  13272. /**
  13273. * (Highstock, Gantt) Whether to force the axis to start on a tick. Use this
  13274. * option with the `minPadding` option to control the axis start.
  13275. */
  13276. startOnTick?: boolean;
  13277. /**
  13278. * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
  13279. * This opens up for aligning the ticks of multiple charts or panes within a
  13280. * chart. This option overrides the `tickPixelInterval` option.
  13281. *
  13282. * This option only has an effect on linear axes. Datetime, logarithmic or
  13283. * category axes are not affected.
  13284. */
  13285. tickAmount?: number;
  13286. /**
  13287. * (Highstock, Gantt) Color for the main tick marks.
  13288. *
  13289. * In styled mode, the stroke is given in the `.highcharts-tick` class.
  13290. */
  13291. tickColor?: ColorType;
  13292. /**
  13293. * (Highstock, Gantt) The interval of the tick marks in axis units. When
  13294. * `undefined`, the tick interval is computed to approximately follow the
  13295. * tickPixelInterval on linear and datetime axes. On categorized axes, a
  13296. * `undefined` tickInterval will default to 1, one category. Note that
  13297. * datetime axes are based on milliseconds, so for example an interval of
  13298. * one day is expressed as `24 * 3600 * 1000`.
  13299. *
  13300. * On logarithmic axes, the tickInterval is based on powers, so a
  13301. * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
  13302. * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
  13303. * 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
  13304. * etc.
  13305. *
  13306. * If the tickInterval is too dense for labels to be drawn, Highcharts may
  13307. * remove ticks.
  13308. *
  13309. * If the chart has multiple axes, the alignTicks option may interfere with
  13310. * the `tickInterval` setting.
  13311. */
  13312. tickInterval?: number;
  13313. /**
  13314. * (Highstock, Gantt) The pixel length of the main tick marks.
  13315. */
  13316. tickLength?: number;
  13317. /**
  13318. * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
  13319. * placed in the center of the category, if `between` the tick mark is
  13320. * placed between categories. The default is `between` if the `tickInterval`
  13321. * is 1, else `on`.
  13322. */
  13323. tickmarkPlacement?: OptionsTickmarkPlacementValue;
  13324. /**
  13325. * (Highstock, Gantt) If tickInterval is `null` this option sets the
  13326. * approximate pixel interval of the tick marks. Not applicable to
  13327. * categorized axis.
  13328. *
  13329. * The tick interval is also influenced by the minTickInterval option, that,
  13330. * by default prevents ticks from being denser than the data points.
  13331. */
  13332. tickPixelInterval?: number;
  13333. /**
  13334. * (Highstock, Gantt) The position of the major tick marks relative to the
  13335. * axis line. Can be one of `inside` and `outside`.
  13336. */
  13337. tickPosition?: OptionsTickPositionValue;
  13338. /**
  13339. * (Highstock, Gantt) A callback function returning array defining where the
  13340. * ticks are laid out on the axis. This overrides the default behaviour of
  13341. * tickPixelInterval and tickInterval. The automatic tick positions are
  13342. * accessible through `this.tickPositions` and can be modified by the
  13343. * callback.
  13344. */
  13345. tickPositioner?: AxisTickPositionerCallbackFunction;
  13346. /**
  13347. * (Highstock, Gantt) An array defining where the ticks are laid out on the
  13348. * axis. This overrides the default behaviour of tickPixelInterval and
  13349. * tickInterval.
  13350. */
  13351. tickPositions?: Array<number>;
  13352. /**
  13353. * (Highstock, Gantt) The pixel width of the major tick marks. Defaults to 0
  13354. * on category axes, otherwise 1.
  13355. *
  13356. * In styled mode, the stroke width is given in the `.highcharts-tick`
  13357. * class, but in order for the element to be generated on category axes, the
  13358. * option must be explicitly set to 1.
  13359. */
  13360. tickWidth?: (number|undefined);
  13361. /**
  13362. * (Highstock, Gantt) The axis title, showing next to the axis line.
  13363. */
  13364. title?: NavigatorXAxisTitleOptions;
  13365. /**
  13366. * (Highcharts, Highstock) The top position as the vertical axis. If it's a
  13367. * number, it is interpreted as pixel position relative to the chart.
  13368. *
  13369. * Since Highcharts 2: If it's a percentage string, it is interpreted as
  13370. * percentages of the plot height, offset from plot area top.
  13371. */
  13372. top?: (number|string);
  13373. /**
  13374. * (Highcharts, Gantt) The type of axis. Can be one of `linear`,
  13375. * `logarithmic`, `datetime` or `category`. In a datetime axis, the numbers
  13376. * are given in milliseconds, and tick marks are placed on appropriate
  13377. * values like full hours or days. In a category axis, the point names of
  13378. * the chart's series are used for categories, if not a categories array is
  13379. * defined.
  13380. */
  13381. type?: AxisTypeValue;
  13382. /**
  13383. * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
  13384. * `uniqueNames` is true, points are placed on the X axis according to their
  13385. * names. If the same point name is repeated in the same or another series,
  13386. * the point is placed on the same X position as other points of the same
  13387. * name. When `uniqueNames` is false, the points are laid out in increasing
  13388. * X positions regardless of their names, and the X axis category will take
  13389. * the name of the last point in each position.
  13390. */
  13391. uniqueNames?: boolean;
  13392. /**
  13393. * (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
  13394. * what time intervals the ticks are allowed to fall on. Each array item is
  13395. * an array where the first value is the time unit and the second value
  13396. * another array of allowed multiples.
  13397. *
  13398. * Defaults to: (see online documentation for example)
  13399. */
  13400. units?: Array<[string, (Array<number>|null)]>;
  13401. /**
  13402. * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
  13403. * ticks and labels, should be visible.
  13404. */
  13405. visible?: boolean;
  13406. /**
  13407. * (Highcharts, Highstock) The width as the horizontal axis. If it's a
  13408. * number, it is interpreted as pixels.
  13409. *
  13410. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  13411. * as percentages of the total plot width.
  13412. */
  13413. width?: (number|string);
  13414. /**
  13415. * (Highstock, Gantt) Whether to zoom axis. If `chart.zoomType` is set, the
  13416. * option allows to disable zooming on an individual axis.
  13417. */
  13418. zoomEnabled?: boolean;
  13419. }
  13420. /**
  13421. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  13422. * band. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  13423. */
  13424. export interface NavigatorXAxisPlotBandsEventsOptions {
  13425. /**
  13426. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  13427. */
  13428. click?: EventCallbackFunction<PlotLineOrBand>;
  13429. /**
  13430. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  13431. */
  13432. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  13433. /**
  13434. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  13435. * band.
  13436. */
  13437. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  13438. /**
  13439. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  13440. */
  13441. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  13442. }
  13443. /**
  13444. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  13445. */
  13446. export interface NavigatorXAxisPlotBandsLabelOptions {
  13447. /**
  13448. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  13449. * one of "left", "center" or "right".
  13450. */
  13451. align?: AlignValue;
  13452. /**
  13453. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees .
  13454. */
  13455. rotation?: number;
  13456. /**
  13457. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  13458. *
  13459. * In styled mode, the labels are styled by the
  13460. * `.highcharts-plot-band-label` class.
  13461. */
  13462. style?: CSSObject;
  13463. /**
  13464. * (Highcharts, Highstock, Gantt) The string text itself. A subset of HTML
  13465. * is supported.
  13466. */
  13467. text?: string;
  13468. /**
  13469. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  13470. * `align` determines where the texts anchor point is placed within the plot
  13471. * band, `textAlign` determines how the text is aligned against its anchor
  13472. * point. Possible values are "left", "center" and "right". Defaults to the
  13473. * same as the `align` option.
  13474. */
  13475. textAlign?: AlignValue;
  13476. /**
  13477. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  13478. */
  13479. useHTML?: boolean;
  13480. /**
  13481. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  13482. * to the plot band. Can be one of "top", "middle" or "bottom".
  13483. */
  13484. verticalAlign?: VerticalAlignValue;
  13485. /**
  13486. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  13487. * alignment. Default varies by orientation.
  13488. */
  13489. x?: number;
  13490. /**
  13491. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  13492. * relative to the alignment. Default varies by orientation.
  13493. */
  13494. y?: number;
  13495. }
  13496. /**
  13497. * (Highcharts, Highstock, Gantt) An array of colored bands stretching across
  13498. * the plot area marking an interval on the axis.
  13499. *
  13500. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  13501. * class in addition to the `className` option.
  13502. */
  13503. export interface NavigatorXAxisPlotBandsOptions {
  13504. /**
  13505. * (Highstock) Flag to decide if plotBand should be rendered across all
  13506. * panes.
  13507. */
  13508. acrossPanes?: boolean;
  13509. /**
  13510. * (Highcharts, Highstock, Gantt) Border color for the plot band. Also
  13511. * requires `borderWidth` to be set.
  13512. */
  13513. borderColor?: ColorString;
  13514. /**
  13515. * (Highcharts, Highstock, Gantt) Border width for the plot band. Also
  13516. * requires `borderColor` to be set.
  13517. */
  13518. borderWidth?: number;
  13519. /**
  13520. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  13521. * default `highcharts-plot-band`, to apply to each individual band.
  13522. */
  13523. className?: string;
  13524. /**
  13525. * (Highcharts, Highstock, Gantt) The color of the plot band.
  13526. */
  13527. color?: (ColorString|GradientColorObject|PatternObject);
  13528. /**
  13529. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  13530. * plot band. Supported properties are `click`, `mouseover`, `mouseout`,
  13531. * `mousemove`.
  13532. */
  13533. events?: NavigatorXAxisPlotBandsEventsOptions;
  13534. /**
  13535. * (Highcharts, Highstock, Gantt) The start position of the plot band in
  13536. * axis units.
  13537. */
  13538. from?: number;
  13539. /**
  13540. * (Highcharts, Highstock, Gantt) An id used for identifying the plot band
  13541. * in Axis.removePlotBand.
  13542. */
  13543. id?: string;
  13544. /**
  13545. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  13546. */
  13547. label?: NavigatorXAxisPlotBandsLabelOptions;
  13548. /**
  13549. * (Highcharts, Highstock, Gantt) The end position of the plot band in axis
  13550. * units.
  13551. */
  13552. to?: number;
  13553. /**
  13554. * (Highcharts, Highstock, Gantt) The z index of the plot band within the
  13555. * chart, relative to other elements. Using the same z index as another
  13556. * element may give unpredictable results, as the last rendered element will
  13557. * be on top. Values from 0 to 20 make sense.
  13558. */
  13559. zIndex?: number;
  13560. }
  13561. /**
  13562. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  13563. * line. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  13564. */
  13565. export interface NavigatorXAxisPlotLinesEventsOptions {
  13566. /**
  13567. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  13568. */
  13569. click?: EventCallbackFunction<PlotLineOrBand>;
  13570. /**
  13571. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  13572. */
  13573. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  13574. /**
  13575. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  13576. * band.
  13577. */
  13578. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  13579. /**
  13580. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  13581. */
  13582. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  13583. }
  13584. /**
  13585. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  13586. */
  13587. export interface NavigatorXAxisPlotLinesLabelOptions {
  13588. /**
  13589. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  13590. * one of "left", "center" or "right".
  13591. */
  13592. align?: AlignValue;
  13593. /**
  13594. * (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
  13595. * label. Useful properties like the value of plot line or the range of plot
  13596. * band (`from` & `to` properties) can be found in `this.options` object.
  13597. */
  13598. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  13599. /**
  13600. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees.
  13601. * Defaults to 0 for horizontal plot lines and 90 for vertical lines.
  13602. */
  13603. rotation?: number;
  13604. /**
  13605. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  13606. *
  13607. * In styled mode, the labels are styled by the
  13608. * `.highcharts-plot-line-label` class.
  13609. */
  13610. style?: CSSObject;
  13611. /**
  13612. * (Highcharts, Highstock, Gantt) The text itself. A subset of HTML is
  13613. * supported.
  13614. */
  13615. text?: string;
  13616. /**
  13617. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  13618. * `align` determines where the texts anchor point is placed within the plot
  13619. * band, `textAlign` determines how the text is aligned against its anchor
  13620. * point. Possible values are "left", "center" and "right". Defaults to the
  13621. * same as the `align` option.
  13622. */
  13623. textAlign?: AlignValue;
  13624. /**
  13625. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  13626. */
  13627. useHTML?: boolean;
  13628. /**
  13629. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  13630. * to the plot line. Can be one of "top", "middle" or "bottom".
  13631. */
  13632. verticalAlign?: VerticalAlignValue;
  13633. /**
  13634. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  13635. * alignment. Default varies by orientation.
  13636. */
  13637. x?: number;
  13638. /**
  13639. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  13640. * relative to the alignment. Default varies by orientation.
  13641. */
  13642. y?: number;
  13643. }
  13644. /**
  13645. * (Highcharts, Highstock, Gantt) An array of lines stretching across the plot
  13646. * area, marking a specific value on one of the axes.
  13647. *
  13648. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  13649. * class in addition to the `className` option.
  13650. */
  13651. export interface NavigatorXAxisPlotLinesOptions {
  13652. /**
  13653. * (Highstock) Flag to decide if plotLine should be rendered across all
  13654. * panes.
  13655. */
  13656. acrossPanes?: boolean;
  13657. /**
  13658. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  13659. * default `highcharts-plot-line`, to apply to each individual line.
  13660. */
  13661. className?: string;
  13662. /**
  13663. * (Highcharts, Highstock, Gantt) The color of the line.
  13664. */
  13665. color?: ColorString;
  13666. /**
  13667. * (Highcharts, Highstock, Gantt) The dashing or dot style for the plot
  13668. * line. For possible values see this overview.
  13669. */
  13670. dashStyle?: DashStyleValue;
  13671. /**
  13672. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  13673. * plot line. Supported properties are `click`, `mouseover`, `mouseout`,
  13674. * `mousemove`.
  13675. */
  13676. events?: NavigatorXAxisPlotLinesEventsOptions;
  13677. /**
  13678. * (Highcharts, Highstock, Gantt) An id used for identifying the plot line
  13679. * in Axis.removePlotLine.
  13680. */
  13681. id?: string;
  13682. /**
  13683. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  13684. */
  13685. label?: NavigatorXAxisPlotLinesLabelOptions;
  13686. /**
  13687. * (Highcharts, Highstock, Gantt) The position of the line in axis units.
  13688. */
  13689. value?: number;
  13690. /**
  13691. * (Highcharts, Highstock, Gantt) The width or thickness of the plot line.
  13692. */
  13693. width?: number;
  13694. /**
  13695. * (Highcharts, Highstock, Gantt) The z index of the plot line within the
  13696. * chart.
  13697. */
  13698. zIndex?: number;
  13699. }
  13700. /**
  13701. * (Highstock, Gantt) The axis title, showing next to the axis line.
  13702. */
  13703. export interface NavigatorXAxisTitleOptions {
  13704. /**
  13705. * (Highstock, Gantt) Alignment of the title relative to the axis values.
  13706. * Possible values are "low", "middle" or "high".
  13707. */
  13708. align?: AxisTitleAlignValue;
  13709. /**
  13710. * (Highstock, Gantt) The pixel distance between the axis labels or line and
  13711. * the title. Defaults to 0 for horizontal axes, 10 for vertical
  13712. */
  13713. margin?: number;
  13714. /**
  13715. * (Highstock, Gantt) The distance of the axis title from the axis line. By
  13716. * default, this distance is computed from the offset width of the labels,
  13717. * the labels' distance from the axis and the title's margin. However when
  13718. * the offset option is set, it overrides all this.
  13719. */
  13720. offset?: number;
  13721. /**
  13722. * (Highcharts) Defines how the title is repositioned according to the 3D
  13723. * chart orientation.
  13724. *
  13725. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  13726. * marks, despite the chart orientation. This is the backwards compatible
  13727. * behavior, and causes skewing of X and Z axes.
  13728. *
  13729. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  13730. * but hard to read if the text isn't forward-facing.
  13731. *
  13732. * - `'flap'`: Rotated text along the axis to compensate for the chart
  13733. * orientation. This tries to maintain text as legible as possible on all
  13734. * orientations.
  13735. *
  13736. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  13737. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  13738. * skewing the labels (X and Y scaling are still present).
  13739. *
  13740. * - `undefined`: Will use the config from `labels.position3d`
  13741. */
  13742. position3d?: ("chart"|"flap"|"offset"|"ortho"|null);
  13743. /**
  13744. * (Highcharts, Highstock, Gantt) Whether to reserve space for the title
  13745. * when laying out the axis.
  13746. */
  13747. reserveSpace?: boolean;
  13748. /**
  13749. * (Highstock, Gantt) The rotation of the text in degrees. 0 is horizontal,
  13750. * 270 is vertical reading from bottom to top.
  13751. */
  13752. rotation?: number;
  13753. /**
  13754. * (Highcharts) If enabled, the axis title will skewed to follow the
  13755. * perspective.
  13756. *
  13757. * This will fix overlapping labels and titles, but texts become less
  13758. * legible due to the distortion.
  13759. *
  13760. * The final appearance depends heavily on `title.position3d`.
  13761. *
  13762. * A `null` value will use the config from `labels.skew3d`.
  13763. */
  13764. skew3d?: (boolean|null);
  13765. /**
  13766. * (Highstock, Gantt) CSS styles for the title. If the title text is longer
  13767. * than the axis length, it will wrap to multiple lines by default. This can
  13768. * be customized by setting `textOverflow: 'ellipsis'`, by setting a
  13769. * specific `width` or by setting `whiteSpace: 'nowrap'`.
  13770. *
  13771. * In styled mode, the stroke width is given in the `.highcharts-axis-title`
  13772. * class.
  13773. */
  13774. style?: CSSObject;
  13775. /**
  13776. * (Highstock, Gantt) The actual text of the axis title. It can contain
  13777. * basic HTML tags like `b`, `i` and `span` with style.
  13778. */
  13779. text?: (string|null);
  13780. /**
  13781. * (Highstock, Gantt) Alignment of the text, can be `"left"`, `"right"` or
  13782. * `"center"`. Default alignment depends on the title.align:
  13783. *
  13784. * Horizontal axes:
  13785. *
  13786. * - for `align` = `"low"`, `textAlign` is set to `left`
  13787. *
  13788. * - for `align` = `"middle"`, `textAlign` is set to `center`
  13789. *
  13790. * - for `align` = `"high"`, `textAlign` is set to `right`
  13791. *
  13792. * Vertical axes:
  13793. *
  13794. * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
  13795. * `right`
  13796. *
  13797. * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
  13798. * `left`
  13799. *
  13800. * - for `align` = `"middle"`, `textAlign` is set to `center`
  13801. *
  13802. * - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
  13803. * `left`
  13804. *
  13805. * - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
  13806. * `right`
  13807. */
  13808. textAlign?: AlignValue;
  13809. /**
  13810. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the axis
  13811. * title.
  13812. */
  13813. useHTML?: boolean;
  13814. /**
  13815. * (Highcharts, Highstock, Gantt) Horizontal pixel offset of the title
  13816. * position.
  13817. */
  13818. x?: number;
  13819. /**
  13820. * (Highcharts, Highstock, Gantt) Vertical pixel offset of the title
  13821. * position.
  13822. */
  13823. y?: number;
  13824. }
  13825. /**
  13826. * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
  13827. * sections defined will be left out and all the points shifted closer to each
  13828. * other.
  13829. */
  13830. export interface NavigatorYAxisBreaksOptions {
  13831. /**
  13832. * (Highcharts, Highstock, Gantt) A number indicating how much space should
  13833. * be left between the start and the end of the break. The break size is
  13834. * given in axis units, so for instance on a `datetime` axis, a break size
  13835. * of 3600000 would indicate the equivalent of an hour.
  13836. */
  13837. breakSize?: number;
  13838. /**
  13839. * (Highcharts, Highstock, Gantt) The point where the break starts.
  13840. */
  13841. from?: number;
  13842. /**
  13843. * (Highcharts, Highstock, Gantt) Defines an interval after which the break
  13844. * appears again. By default the breaks do not repeat.
  13845. */
  13846. repeat?: number;
  13847. /**
  13848. * (Highcharts, Highstock, Gantt) The point where the break ends.
  13849. */
  13850. to?: number;
  13851. }
  13852. /**
  13853. * (Highstock, Gantt) Event handlers for the axis.
  13854. */
  13855. export interface NavigatorYAxisEventsOptions {
  13856. /**
  13857. * (Highcharts, Gantt) An event fired after the breaks have rendered.
  13858. */
  13859. afterBreaks?: AxisEventCallbackFunction;
  13860. /**
  13861. * (Highstock, Gantt) As opposed to the `setExtremes` event, this event
  13862. * fires after the final min and max values are computed and corrected for
  13863. * `minRange`.
  13864. *
  13865. * Fires when the minimum and maximum is set for the axis, either by calling
  13866. * the `.setExtremes()` method or by selecting an area in the chart. One
  13867. * parameter, `event`, is passed to the function, containing common event
  13868. * information.
  13869. *
  13870. * The new user set minimum and maximum values can be found by `event.min`
  13871. * and `event.max`. These reflect the axis minimum and maximum in axis
  13872. * values. The actual data extremes are found in `event.dataMin` and
  13873. * `event.dataMax`.
  13874. */
  13875. afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
  13876. /**
  13877. * (Highcharts, Gantt) An event fired when a break from this axis occurs on
  13878. * a point.
  13879. */
  13880. pointBreak?: AxisPointBreakEventCallbackFunction;
  13881. /**
  13882. * (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
  13883. * break from this axis.
  13884. */
  13885. pointInBreak?: AxisPointBreakEventCallbackFunction;
  13886. /**
  13887. * (Highstock, Gantt) Fires when the minimum and maximum is set for the
  13888. * axis, either by calling the `.setExtremes()` method or by selecting an
  13889. * area in the chart. One parameter, `event`, is passed to the function,
  13890. * containing common event information.
  13891. *
  13892. * The new user set minimum and maximum values can be found by `event.min`
  13893. * and `event.max`. These reflect the axis minimum and maximum in data
  13894. * values. When an axis is zoomed all the way out from the "Reset zoom"
  13895. * button, `event.min` and `event.max` are null, and the new extremes are
  13896. * set based on `this.dataMin` and `this.dataMax`.
  13897. */
  13898. setExtremes?: AxisSetExtremesEventCallbackFunction;
  13899. }
  13900. /**
  13901. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  13902. */
  13903. export interface NavigatorYAxisGridOptions {
  13904. /**
  13905. * (Gantt) Set border color for the label grid lines.
  13906. */
  13907. borderColor?: ColorString;
  13908. /**
  13909. * (Gantt) Set border width of the label grid lines.
  13910. */
  13911. borderWidth?: number;
  13912. /**
  13913. * (Gantt) Set cell height for grid axis labels. By default this is
  13914. * calculated from font size. This option only applies to horizontal axes.
  13915. */
  13916. cellHeight?: number;
  13917. /**
  13918. * (Gantt) Set specific options for each column (or row for horizontal axes)
  13919. * in the grid. Each extra column/row is its own axis, and the axis options
  13920. * can be set here.
  13921. */
  13922. columns?: Array<XAxisOptions>;
  13923. /**
  13924. * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
  13925. * charts.
  13926. */
  13927. enabled?: boolean;
  13928. }
  13929. /**
  13930. * (Gantt) Set options on specific levels in a tree grid axis. Takes precedence
  13931. * over labels options.
  13932. */
  13933. export interface NavigatorYAxisLabelsLevelsOptions {
  13934. /**
  13935. * (Gantt) Specify the level which the options within this object applies
  13936. * to.
  13937. */
  13938. level?: number;
  13939. style?: CSSObject;
  13940. }
  13941. /**
  13942. * (Highstock, Gantt) The axis labels show the number or category for each tick.
  13943. *
  13944. * Since v8.0.0: Labels are animated in categorized x-axis with updating data if
  13945. * `tickInterval` and `step` is set to 1.
  13946. */
  13947. export interface NavigatorYAxisLabelsOptions {
  13948. /**
  13949. * (Highstock, Gantt) What part of the string the given position is anchored
  13950. * to. Can be one of `"left"`, `"center"` or `"right"`. The exact position
  13951. * also depends on the `labels.x` setting.
  13952. *
  13953. * Angular gauges and solid gauges defaults to `"center"`. Solid gauges with
  13954. * two labels have additional option `"auto"` for automatic horizontal and
  13955. * vertical alignment.
  13956. */
  13957. align?: AlignValue;
  13958. /**
  13959. * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
  13960. * of label rotation to prevent overlapping labels. If there is enough
  13961. * space, labels are not rotated. As the chart gets narrower, it will start
  13962. * rotating the labels -45 degrees, then remove every second label and try
  13963. * again with rotations 0 and -45 etc. Set it to `false` to disable
  13964. * rotation, which will cause the labels to word-wrap if possible.
  13965. */
  13966. autoRotation?: (false|Array<number>);
  13967. /**
  13968. * (Highcharts, Gantt) When each category width is more than this many
  13969. * pixels, we don't apply auto rotation. Instead, we lay out the axis label
  13970. * with word wrap. A lower limit makes sense when the label contains
  13971. * multiple short words that don't extend the available horizontal space for
  13972. * each label.
  13973. */
  13974. autoRotationLimit?: number;
  13975. /**
  13976. * (Highcharts) Angular gauges and solid gauges only. The label's pixel
  13977. * distance from the perimeter of the plot area.
  13978. *
  13979. * Since v7.1.2: If it's a percentage string, it is interpreted the same as
  13980. * series.radius, so label can be aligned under the gauge's shape.
  13981. */
  13982. distance?: (number|string);
  13983. /**
  13984. * (Highstock, Gantt) Enable or disable the axis labels.
  13985. */
  13986. enabled?: boolean;
  13987. /**
  13988. * (Highstock, Gantt) A format string for the axis label.
  13989. */
  13990. format?: string;
  13991. /**
  13992. * (Highstock, Gantt) Callback JavaScript function to format the label. The
  13993. * value is given by `this.value`. Additional properties for `this` are
  13994. * `axis`, `chart`, `isFirst` and `isLast`. The value of the default label
  13995. * formatter can be retrieved by calling
  13996. * `this.axis.defaultLabelFormatter.call(this)` within the function.
  13997. *
  13998. * Defaults to: (see online documentation for example)
  13999. */
  14000. formatter?: AxisLabelsFormatterCallbackFunction;
  14001. /**
  14002. * (Gantt) The number of pixels to indent the labels per level in a treegrid
  14003. * axis.
  14004. */
  14005. indentation?: number;
  14006. /**
  14007. * (Gantt) Set options on specific levels in a tree grid axis. Takes
  14008. * precedence over labels options.
  14009. */
  14010. levels?: Array<NavigatorYAxisLabelsLevelsOptions>;
  14011. /**
  14012. * (Highstock, Gantt) How to handle overflowing labels on horizontal axis.
  14013. * If set to `"allow"`, it will not be aligned at all. By default it
  14014. * `"justify"` labels inside the chart area. If there is room to move it, it
  14015. * will be aligned to the edge, else it will be removed.
  14016. */
  14017. overflow?: OptionsOverflowValue;
  14018. /**
  14019. * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
  14020. * space between them.
  14021. */
  14022. padding?: number;
  14023. /**
  14024. * (Highcharts) Defines how the labels are be repositioned according to the
  14025. * 3D chart orientation.
  14026. *
  14027. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  14028. * marks, despite the chart orientation. This is the backwards compatible
  14029. * behavior, and causes skewing of X and Z axes.
  14030. *
  14031. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  14032. * but hard to read if the text isn't forward-facing.
  14033. *
  14034. * - `'flap'`: Rotated text along the axis to compensate for the chart
  14035. * orientation. This tries to maintain text as legible as possible on all
  14036. * orientations.
  14037. *
  14038. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  14039. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  14040. * skewing the labels (X and Y scaling are still present).
  14041. */
  14042. position3d?: OptionsPosition3dValue;
  14043. /**
  14044. * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
  14045. * space is reserved for the labels in these cases:
  14046. *
  14047. * * On all horizontal axes.
  14048. *
  14049. * * On vertical axes if `label.align` is `right` on a left-side axis or
  14050. * `left` on a right-side axis.
  14051. *
  14052. * * On vertical axes if `label.align` is `center`.
  14053. *
  14054. * This can be turned off when for example the labels are rendered inside
  14055. * the plot area instead of outside.
  14056. */
  14057. reserveSpace?: boolean;
  14058. /**
  14059. * (Highstock, Gantt) Rotation of the labels in degrees.
  14060. */
  14061. rotation?: number;
  14062. /**
  14063. * (Highcharts) If enabled, the axis labels will skewed to follow the
  14064. * perspective.
  14065. *
  14066. * This will fix overlapping labels and titles, but texts become less
  14067. * legible due to the distortion.
  14068. *
  14069. * The final appearance depends heavily on `labels.position3d`.
  14070. */
  14071. skew3d?: boolean;
  14072. /**
  14073. * (Highstock, Gantt) Horizontal axes only. The number of lines to spread
  14074. * the labels over to make room or tighter labels.
  14075. */
  14076. staggerLines?: number;
  14077. /**
  14078. * (Highstock, Gantt) To show only every _n_'th label on the axis, set the
  14079. * step to _n_. Setting the step to 2 shows every other label.
  14080. *
  14081. * By default, the step is calculated automatically to avoid overlap. To
  14082. * prevent this, set it to 1\. This usually only happens on a category axis,
  14083. * and is often a sign that you have chosen the wrong axis type.
  14084. *
  14085. * Read more at Axis docs => What axis should I use?
  14086. */
  14087. step?: number;
  14088. /**
  14089. * (Highstock, Gantt) CSS styles for the label. Use `whiteSpace: 'nowrap'`
  14090. * to prevent wrapping of category labels. Use `textOverflow: 'none'` to
  14091. * prevent ellipsis (dots).
  14092. *
  14093. * In styled mode, the labels are styled with the `.highcharts-axis-labels`
  14094. * class.
  14095. */
  14096. style?: CSSObject;
  14097. /**
  14098. * (Gantt) The symbol for the collapse and expand icon in a treegrid.
  14099. */
  14100. symbol?: NavigatorYAxisLabelsSymbolOptions;
  14101. /**
  14102. * (Highstock, Gantt) Whether to use HTML to render the labels.
  14103. */
  14104. useHTML?: boolean;
  14105. /**
  14106. * (Highstock, Gantt) The x position offset of all labels relative to the
  14107. * tick positions on the axis. Defaults to -15 for left axis, 15 for right
  14108. * axis.
  14109. */
  14110. x?: number;
  14111. /**
  14112. * (Highstock, Gantt) The y position offset of all labels relative to the
  14113. * tick positions on the axis. For polar and radial axis consider the use of
  14114. * the distance option.
  14115. */
  14116. y?: number;
  14117. /**
  14118. * (Highstock, Gantt) The Z index for the axis labels.
  14119. */
  14120. zIndex?: number;
  14121. }
  14122. /**
  14123. * (Gantt) The symbol for the collapse and expand icon in a treegrid.
  14124. */
  14125. export interface NavigatorYAxisLabelsSymbolOptions {
  14126. height?: number;
  14127. padding?: number;
  14128. /**
  14129. * (Gantt) The symbol type. Points to a definition function in the
  14130. * `Highcharts.Renderer.symbols` collection.
  14131. */
  14132. type?: SymbolKeyValue;
  14133. width?: number;
  14134. x?: number;
  14135. y?: number;
  14136. }
  14137. /**
  14138. * (Highstock, Gantt) Options for the navigator Y axis. Default series options
  14139. * for the navigator yAxis are: (see online documentation for example)
  14140. */
  14141. export interface NavigatorYAxisOptions {
  14142. /**
  14143. * (Highstock, Gantt) Accessibility options for an axis. Requires the
  14144. * accessibility module.
  14145. */
  14146. accessibility?: AxisAccessibilityOptionsObject;
  14147. /**
  14148. * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
  14149. * or more opposite axes will automatically be aligned by adding ticks to
  14150. * the axis or axes with the least ticks, as if `tickAmount` were specified.
  14151. *
  14152. * This can be prevented by setting `alignTicks` to false. If the grid lines
  14153. * look messy, it's a good idea to hide them for the secondary axis by
  14154. * setting `gridLineWidth` to 0.
  14155. *
  14156. * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
  14157. * the `alignTicks ` will be disabled for the Axis.
  14158. *
  14159. * Disabled for logarithmic axes.
  14160. */
  14161. alignTicks?: boolean;
  14162. /**
  14163. * (Highstock, Gantt) Whether to allow decimals in this axis' ticks. When
  14164. * counting integers, like persons or hits on a web page, decimals should be
  14165. * avoided in the labels.
  14166. */
  14167. allowDecimals?: boolean;
  14168. /**
  14169. * (Highstock, Gantt) When using an alternate grid color, a band is painted
  14170. * across the plot area between every other grid line.
  14171. */
  14172. alternateGridColor?: ColorType;
  14173. /**
  14174. * (Highcharts) In a polar chart, this is the angle of the Y axis in
  14175. * degrees, where 0 is up and 90 is right. The angle determines the position
  14176. * of the axis line and the labels, though the coordinate system is
  14177. * unaffected. Since v8.0.0 this option is also applicable for X axis
  14178. * (inverted polar).
  14179. */
  14180. angle?: number;
  14181. /**
  14182. * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
  14183. * sections defined will be left out and all the points shifted closer to
  14184. * each other.
  14185. */
  14186. breaks?: Array<NavigatorYAxisBreaksOptions>;
  14187. /**
  14188. * (Highcharts, Gantt) If categories are present for the xAxis, names are
  14189. * used instead of numbers for that axis.
  14190. *
  14191. * Since Highcharts 3.0, categories can also be extracted by giving each
  14192. * point a name and setting axis type to `category`. However, if you have
  14193. * multiple series, best practice remains defining the `categories` array.
  14194. *
  14195. * Example: `categories: ['Apples', 'Bananas', 'Oranges']`
  14196. */
  14197. categories?: Array<string>;
  14198. /**
  14199. * (Highcharts, Highstock, Gantt) The highest allowed value for
  14200. * automatically computed axis extremes.
  14201. */
  14202. ceiling?: number;
  14203. /**
  14204. * (Highstock, Gantt) A class name that opens for styling the axis by CSS,
  14205. * especially in Highcharts styled mode. The class name is applied to group
  14206. * elements for the grid, axis elements and labels.
  14207. */
  14208. className?: string;
  14209. /**
  14210. * (Highstock, Gantt) Configure a crosshair that follows either the mouse
  14211. * pointer or the hovered point.
  14212. *
  14213. * In styled mode, the crosshairs are styled in the `.highcharts-crosshair`,
  14214. * `.highcharts-crosshair-thin` or `.highcharts-xaxis-category` classes.
  14215. */
  14216. crosshair?: (boolean|AxisCrosshairOptions);
  14217. /**
  14218. * (Gantt) For a datetime axis, the scale will automatically adjust to the
  14219. * appropriate unit. This member gives the default string representations
  14220. * used for each unit. For intermediate values, different units may be used,
  14221. * for example the `day` unit can be used on midnight and `hour` unit be
  14222. * used for intermediate values on the same axis. For grid axes (like in
  14223. * Gantt charts), it is possible to declare as a list to provide different
  14224. * formats depending on available space. For an overview of the replacement
  14225. * codes, see dateFormat.
  14226. *
  14227. * Defaults to: (see online documentation for example)
  14228. */
  14229. dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
  14230. /**
  14231. * (Highstock, Gantt) Whether to force the axis to end on a tick. Use this
  14232. * option with the `maxPadding` option to control the axis end.
  14233. *
  14234. * This option is always disabled, when panning type is either `y` or `xy`.
  14235. */
  14236. endOnTick?: boolean;
  14237. /**
  14238. * (Highstock, Gantt) Event handlers for the axis.
  14239. */
  14240. events?: NavigatorYAxisEventsOptions;
  14241. /**
  14242. * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
  14243. * computed axis extremes.
  14244. */
  14245. floor?: number;
  14246. /**
  14247. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  14248. */
  14249. grid?: NavigatorYAxisGridOptions;
  14250. /**
  14251. * (Highstock, Gantt) Color of the grid lines extending the ticks across the
  14252. * plot area.
  14253. *
  14254. * In styled mode, the stroke is given in the `.highcharts-grid-line` class.
  14255. */
  14256. gridLineColor?: ColorType;
  14257. /**
  14258. * (Highstock, Gantt) The dash or dot style of the grid lines. For possible
  14259. * values, see this demonstration.
  14260. */
  14261. gridLineDashStyle?: DashStyleValue;
  14262. /**
  14263. * (Highcharts) Polar charts only. Whether the grid lines should draw as a
  14264. * polygon with straight lines between categories, or as circles. Can be
  14265. * either `circle` or `polygon`. Since v8.0.0 this option is also applicable
  14266. * for X axis (inverted polar).
  14267. */
  14268. gridLineInterpolation?: OptionsGridLineInterpolationValue;
  14269. /**
  14270. * (Highstock, Gantt) The width of the grid lines extending the ticks across
  14271. * the plot area.
  14272. *
  14273. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  14274. * class.
  14275. */
  14276. gridLineWidth?: number;
  14277. /**
  14278. * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
  14279. */
  14280. gridZIndex?: number;
  14281. /**
  14282. * (Highstock, Gantt) An id for the axis. This can be used after render time
  14283. * to get a pointer to the axis object through `chart.get()`.
  14284. */
  14285. id?: string;
  14286. /**
  14287. * (Highstock, Gantt) The axis labels show the number or category for each
  14288. * tick.
  14289. *
  14290. * Since v8.0.0: Labels are animated in categorized x-axis with updating
  14291. * data if `tickInterval` and `step` is set to 1.
  14292. */
  14293. labels?: NavigatorYAxisLabelsOptions;
  14294. /**
  14295. * (Highcharts, Highstock) The left position as the horizontal axis. If it's
  14296. * a number, it is interpreted as pixel position relative to the chart.
  14297. *
  14298. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  14299. * as percentages of the plot width, offset from plot area left.
  14300. */
  14301. left?: (number|string);
  14302. /**
  14303. * (Highstock, Gantt) The color of the line marking the axis itself.
  14304. *
  14305. * In styled mode, the line stroke is given in the `.highcharts-axis-line`
  14306. * or `.highcharts-xaxis-line` class.
  14307. */
  14308. lineColor?: ColorType;
  14309. /**
  14310. * (Highstock, Gantt) The width of the line marking the axis itself.
  14311. *
  14312. * In styled mode, the stroke width is given in the `.highcharts-axis-line`
  14313. * or `.highcharts-xaxis-line` class.
  14314. */
  14315. lineWidth?: number;
  14316. /**
  14317. * (Highstock, Gantt) If there are multiple axes on the same side of the
  14318. * chart, the pixel margin between the axes. Defaults to 0 on vertical axes,
  14319. * 15 on horizontal axes.
  14320. */
  14321. margin?: number;
  14322. /**
  14323. * (Highstock, Gantt) The maximum value of the axis. If `null`, the max
  14324. * value is automatically calculated.
  14325. *
  14326. * If the endOnTick option is true, the `max` value might be rounded up.
  14327. *
  14328. * If a tickAmount is set, the axis may be extended beyond the set max in
  14329. * order to reach the given number of ticks. The same may happen in a chart
  14330. * with multiple axes, determined by chart. alignTicks, where a `tickAmount`
  14331. * is applied internally.
  14332. */
  14333. max?: (number|null);
  14334. /**
  14335. * (Highcharts) Solid gauge only. Unless stops are set, the color to
  14336. * represent the maximum value of the Y axis.
  14337. */
  14338. maxColor?: ColorType;
  14339. /**
  14340. * (Highcharts, Highstock, Gantt) Padding of the max value relative to the
  14341. * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
  14342. * This is useful when you don't want the highest data value to appear on
  14343. * the edge of the plot area. When the axis' `max` option is set or a max
  14344. * extreme is set using `axis.setExtremes()`, the maxPadding will be
  14345. * ignored.
  14346. *
  14347. * Also the `softThreshold` option takes precedence over `maxPadding`, so if
  14348. * the data is tangent to the threshold, `maxPadding` may not apply unless
  14349. * `softThreshold` is set to false.
  14350. */
  14351. maxPadding?: number;
  14352. /**
  14353. * (Highstock, Gantt) The minimum value of the axis. If `null` the min value
  14354. * is automatically calculated.
  14355. *
  14356. * If the startOnTick option is true (default), the `min` value might be
  14357. * rounded down.
  14358. *
  14359. * The automatically calculated minimum value is also affected by floor,
  14360. * softMin, minPadding, minRange as well as series.threshold and
  14361. * series.softThreshold.
  14362. */
  14363. min?: (number|null);
  14364. /**
  14365. * (Highcharts) Solid gauge only. Unless stops are set, the color to
  14366. * represent the minimum value of the Y axis.
  14367. */
  14368. minColor?: ColorType;
  14369. /**
  14370. * (Highstock, Gantt) Color of the minor, secondary grid lines.
  14371. *
  14372. * In styled mode, the stroke width is given in the
  14373. * `.highcharts-minor-grid-line` class.
  14374. */
  14375. minorGridLineColor?: ColorType;
  14376. /**
  14377. * (Highstock, Gantt) The dash or dot style of the minor grid lines. For
  14378. * possible values, see this demonstration.
  14379. */
  14380. minorGridLineDashStyle?: DashStyleValue;
  14381. /**
  14382. * (Highstock, Gantt) Width of the minor, secondary grid lines.
  14383. *
  14384. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  14385. * class.
  14386. */
  14387. minorGridLineWidth?: number;
  14388. /**
  14389. * (Highstock, Gantt) Color for the minor tick marks.
  14390. */
  14391. minorTickColor?: ColorType;
  14392. /**
  14393. * (Highstock, Gantt) Specific tick interval in axis units for the minor
  14394. * ticks. On a linear axis, if `"auto"`, the minor tick interval is
  14395. * calculated as a fifth of the tickInterval. If `null` or `undefined`,
  14396. * minor ticks are not shown.
  14397. *
  14398. * On logarithmic axes, the unit is the power of the value. For example,
  14399. * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
  14400. * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
  14401. * and 10, 10 and 100 etc.
  14402. *
  14403. * If user settings dictate minor ticks to become too dense, they don't make
  14404. * sense, and will be ignored to prevent performance problems.
  14405. */
  14406. minorTickInterval?: (number|string|null);
  14407. /**
  14408. * (Highstock, Gantt) The pixel length of the minor tick marks.
  14409. */
  14410. minorTickLength?: number;
  14411. /**
  14412. * (Highstock, Gantt) The position of the minor tick marks relative to the
  14413. * axis line. Can be one of `inside` and `outside`.
  14414. */
  14415. minorTickPosition?: OptionsMinorTickPositionValue;
  14416. /**
  14417. * (Highstock, Gantt) Enable or disable minor ticks. Unless
  14418. * minorTickInterval is set, the tick interval is calculated as a fifth of
  14419. * the `tickInterval`.
  14420. *
  14421. * On a logarithmic axis, minor ticks are laid out based on a best guess,
  14422. * attempting to enter approximately 5 minor ticks between each major tick.
  14423. *
  14424. * Prior to v6.0.0, ticks were unabled in auto layout by setting
  14425. * `minorTickInterval` to `"auto"`.
  14426. */
  14427. minorTicks?: boolean;
  14428. /**
  14429. * (Highstock, Gantt) The pixel width of the minor tick mark.
  14430. */
  14431. minorTickWidth?: number;
  14432. /**
  14433. * (Highcharts, Highstock, Gantt) Padding of the min value relative to the
  14434. * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
  14435. * This is useful when you don't want the lowest data value to appear on the
  14436. * edge of the plot area. When the axis' `min` option is set or a max
  14437. * extreme is set using `axis.setExtremes()`, the maxPadding will be
  14438. * ignored.
  14439. *
  14440. * Also the `softThreshold` option takes precedence over `minPadding`, so if
  14441. * the data is tangent to the threshold, `minPadding` may not apply unless
  14442. * `softThreshold` is set to false.
  14443. */
  14444. minPadding?: number;
  14445. /**
  14446. * (Highstock, Gantt) The minimum tick interval allowed in axis values. For
  14447. * example on zooming in on an axis with daily data, this can be used to
  14448. * prevent the axis from showing hours. Defaults to the closest distance
  14449. * between two points on the axis.
  14450. */
  14451. minTickInterval?: number;
  14452. /**
  14453. * (Highstock, Gantt) The distance in pixels from the plot area to the axis
  14454. * line. A positive offset moves the axis with it's line, labels and ticks
  14455. * away from the plot area. This is typically used when two or more axes are
  14456. * displayed on the same side of the plot. With multiple axes the offset is
  14457. * dynamically adjusted to avoid collision, this can be overridden by
  14458. * setting offset explicitly.
  14459. */
  14460. offset?: number;
  14461. /**
  14462. * (Highstock, Highcharts, Gantt) Whether to display the axis on the
  14463. * opposite side of the normal. The normal is on the left side for vertical
  14464. * axes and bottom for horizontal, so the opposite sides will be right and
  14465. * top respectively. This is typically used with dual or multiple axes.
  14466. */
  14467. opposite?: boolean;
  14468. /**
  14469. * (Highcharts) Refers to the index in the panes array. Used for circular
  14470. * gauges and polar charts. When the option is not set then first pane will
  14471. * be used.
  14472. */
  14473. pane?: number;
  14474. /**
  14475. * (Highcharts, Highstock, Gantt) An array of colored bands stretching
  14476. * across the plot area marking an interval on the axis.
  14477. *
  14478. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  14479. * class in addition to the `className` option.
  14480. */
  14481. plotBands?: Array<NavigatorYAxisPlotBandsOptions>;
  14482. /**
  14483. * (Highcharts, Highstock, Gantt) An array of lines stretching across the
  14484. * plot area, marking a specific value on one of the axes.
  14485. *
  14486. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  14487. * class in addition to the `className` option.
  14488. */
  14489. plotLines?: Array<NavigatorYAxisPlotLinesOptions>;
  14490. /**
  14491. * (Highstock, Gantt) Whether to reverse the axis so that the highest number
  14492. * is closest to the origin.
  14493. */
  14494. reversed?: boolean;
  14495. /**
  14496. * (Highcharts, Highstock) If `true`, the first series in a stack will be
  14497. * drawn on top in a positive, non-reversed Y axis. If `false`, the first
  14498. * series is in the base of the stack.
  14499. */
  14500. reversedStacks?: boolean;
  14501. /**
  14502. * (Highstock, Gantt) Whether to show the first tick label.
  14503. */
  14504. showFirstLabel?: boolean;
  14505. /**
  14506. * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
  14507. * Defaults to `true` on cartesian charts, and `false` on polar charts.
  14508. */
  14509. showLastLabel?: boolean;
  14510. /**
  14511. * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
  14512. * data maximum is less than this, the axis will stay at this maximum, but
  14513. * if the series data maximum is higher, the axis will flex to show all
  14514. * data.
  14515. *
  14516. * **Note**: The series.softThreshold option takes precedence over this
  14517. * option.
  14518. */
  14519. softMax?: number;
  14520. /**
  14521. * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
  14522. * data minimum is greater than this, the axis will stay at this minimum,
  14523. * but if the series data minimum is lower, the axis will flex to show all
  14524. * data.
  14525. *
  14526. * **Note**: The series.softThreshold option takes precedence over this
  14527. * option.
  14528. */
  14529. softMin?: number;
  14530. /**
  14531. * (Highcharts) The stack labels show the total value for each bar in a
  14532. * stacked column or bar chart. The label will be placed on top of positive
  14533. * columns and below negative columns. In case of an inverted column chart
  14534. * or a bar chart the label is placed to the right of positive bars and to
  14535. * the left of negative bars.
  14536. */
  14537. stackLabels?: NavigatorYAxisStackLabelsOptions;
  14538. /**
  14539. * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
  14540. * put the tick between weeks. 0 = Sunday, 1 = Monday.
  14541. */
  14542. startOfWeek?: number;
  14543. /**
  14544. * (Highcharts, Highstock, Gantt) Whether to force the axis to start on a
  14545. * tick. Use this option with the `maxPadding` option to control the axis
  14546. * start.
  14547. *
  14548. * This option is always disabled, when panning type is either `y` or `xy`.
  14549. */
  14550. startOnTick?: boolean;
  14551. /**
  14552. * (Gantt) For vertical axes only. Setting the static scale ensures that
  14553. * each tick unit is translated into a fixed pixel height. For example,
  14554. * setting the static scale to 24 results in each Y axis category taking up
  14555. * 24 pixels, and the height of the chart adjusts. Adding or removing items
  14556. * will make the chart resize.
  14557. */
  14558. staticScale?: number;
  14559. /**
  14560. * (Highcharts) Solid gauge series only. Color stops for the solid gauge.
  14561. * Use this in cases where a linear gradient between a `minColor` and
  14562. * `maxColor` is not sufficient. The stops is an array of tuples, where the
  14563. * first item is a float between 0 and 1 assigning the relative position in
  14564. * the gradient, and the second item is the color.
  14565. *
  14566. * For solid gauges, the Y axis also inherits the concept of data classes
  14567. * from the Highmaps color axis.
  14568. */
  14569. stops?: Array<[number, ColorType]>;
  14570. /**
  14571. * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
  14572. * This opens up for aligning the ticks of multiple charts or panes within a
  14573. * chart. This option overrides the `tickPixelInterval` option.
  14574. *
  14575. * This option only has an effect on linear axes. Datetime, logarithmic or
  14576. * category axes are not affected.
  14577. */
  14578. tickAmount?: number;
  14579. /**
  14580. * (Highstock, Gantt) Color for the main tick marks.
  14581. *
  14582. * In styled mode, the stroke is given in the `.highcharts-tick` class.
  14583. */
  14584. tickColor?: ColorType;
  14585. /**
  14586. * (Highstock, Gantt) The interval of the tick marks in axis units. When
  14587. * `undefined`, the tick interval is computed to approximately follow the
  14588. * tickPixelInterval on linear and datetime axes. On categorized axes, a
  14589. * `undefined` tickInterval will default to 1, one category. Note that
  14590. * datetime axes are based on milliseconds, so for example an interval of
  14591. * one day is expressed as `24 * 3600 * 1000`.
  14592. *
  14593. * On logarithmic axes, the tickInterval is based on powers, so a
  14594. * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
  14595. * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
  14596. * 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
  14597. * etc.
  14598. *
  14599. * If the tickInterval is too dense for labels to be drawn, Highcharts may
  14600. * remove ticks.
  14601. *
  14602. * If the chart has multiple axes, the alignTicks option may interfere with
  14603. * the `tickInterval` setting.
  14604. */
  14605. tickInterval?: number;
  14606. /**
  14607. * (Highstock, Gantt) The pixel length of the main tick marks.
  14608. */
  14609. tickLength?: number;
  14610. /**
  14611. * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
  14612. * placed in the center of the category, if `between` the tick mark is
  14613. * placed between categories. The default is `between` if the `tickInterval`
  14614. * is 1, else `on`.
  14615. */
  14616. tickmarkPlacement?: OptionsTickmarkPlacementValue;
  14617. /**
  14618. * (Highstock, Gantt) If tickInterval is `null` this option sets the
  14619. * approximate pixel interval of the tick marks. Not applicable to
  14620. * categorized axis.
  14621. *
  14622. * The tick interval is also influenced by the minTickInterval option, that,
  14623. * by default prevents ticks from being denser than the data points.
  14624. */
  14625. tickPixelInterval?: number;
  14626. /**
  14627. * (Highstock, Gantt) The position of the major tick marks relative to the
  14628. * axis line. Can be one of `inside` and `outside`.
  14629. */
  14630. tickPosition?: OptionsTickPositionValue;
  14631. /**
  14632. * (Highstock, Gantt) A callback function returning array defining where the
  14633. * ticks are laid out on the axis. This overrides the default behaviour of
  14634. * tickPixelInterval and tickInterval. The automatic tick positions are
  14635. * accessible through `this.tickPositions` and can be modified by the
  14636. * callback.
  14637. */
  14638. tickPositioner?: AxisTickPositionerCallbackFunction;
  14639. /**
  14640. * (Highstock, Gantt) An array defining where the ticks are laid out on the
  14641. * axis. This overrides the default behaviour of tickPixelInterval and
  14642. * tickInterval.
  14643. */
  14644. tickPositions?: Array<number>;
  14645. /**
  14646. * (Highcharts, Highstock, Gantt) The pixel width of the major tick marks.
  14647. */
  14648. tickWidth?: number;
  14649. /**
  14650. * (Highstock, Gantt) The axis title, showing next to the axis line.
  14651. */
  14652. title?: NavigatorYAxisTitleOptions;
  14653. /**
  14654. * (Highcharts) Parallel coordinates only. Format that will be used for
  14655. * point.y and available in tooltip.pointFormat as `{point.formattedValue}`.
  14656. * If not set, `{point.formattedValue}` will use other options, in this
  14657. * order:
  14658. *
  14659. * 1. yAxis.labels.format will be used if set
  14660. *
  14661. * 2. If yAxis is a category, then category name will be displayed
  14662. *
  14663. * 3. If yAxis is a datetime, then value will use the same format as yAxis
  14664. * labels
  14665. *
  14666. * 4. If yAxis is linear/logarithmic type, then simple value will be used
  14667. */
  14668. tooltipValueFormat?: string;
  14669. /**
  14670. * (Highcharts, Gantt) The type of axis. Can be one of `linear`,
  14671. * `logarithmic`, `datetime`, `category` or `treegrid`. Defaults to
  14672. * `treegrid` for Gantt charts, `linear` for other chart types.
  14673. *
  14674. * In a datetime axis, the numbers are given in milliseconds, and tick marks
  14675. * are placed on appropriate values, like full hours or days. In a category
  14676. * or treegrid axis, the point names of the chart's series are used for
  14677. * categories, if a categories array is not defined.
  14678. */
  14679. type?: AxisTypeValue;
  14680. /**
  14681. * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
  14682. * `uniqueNames` is true, points are placed on the X axis according to their
  14683. * names. If the same point name is repeated in the same or another series,
  14684. * the point is placed on the same X position as other points of the same
  14685. * name. When `uniqueNames` is false, the points are laid out in increasing
  14686. * X positions regardless of their names, and the X axis category will take
  14687. * the name of the last point in each position.
  14688. */
  14689. uniqueNames?: boolean;
  14690. /**
  14691. * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
  14692. * ticks and labels, should be visible.
  14693. */
  14694. visible?: boolean;
  14695. /**
  14696. * (Highcharts, Highstock) The width as the horizontal axis. If it's a
  14697. * number, it is interpreted as pixels.
  14698. *
  14699. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  14700. * as percentages of the total plot width.
  14701. */
  14702. width?: (number|string);
  14703. /**
  14704. * (Highstock, Gantt) Whether to zoom axis. If `chart.zoomType` is set, the
  14705. * option allows to disable zooming on an individual axis.
  14706. */
  14707. zoomEnabled?: boolean;
  14708. }
  14709. /**
  14710. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  14711. * band. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  14712. */
  14713. export interface NavigatorYAxisPlotBandsEventsOptions {
  14714. /**
  14715. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  14716. */
  14717. click?: EventCallbackFunction<PlotLineOrBand>;
  14718. /**
  14719. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  14720. */
  14721. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  14722. /**
  14723. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  14724. * band.
  14725. */
  14726. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  14727. /**
  14728. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  14729. */
  14730. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  14731. }
  14732. /**
  14733. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  14734. */
  14735. export interface NavigatorYAxisPlotBandsLabelOptions {
  14736. /**
  14737. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  14738. * one of "left", "center" or "right".
  14739. */
  14740. align?: AlignValue;
  14741. /**
  14742. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees .
  14743. */
  14744. rotation?: number;
  14745. /**
  14746. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  14747. *
  14748. * In styled mode, the labels are styled by the
  14749. * `.highcharts-plot-band-label` class.
  14750. */
  14751. style?: CSSObject;
  14752. /**
  14753. * (Highcharts, Highstock, Gantt) The string text itself. A subset of HTML
  14754. * is supported.
  14755. */
  14756. text?: string;
  14757. /**
  14758. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  14759. * `align` determines where the texts anchor point is placed within the plot
  14760. * band, `textAlign` determines how the text is aligned against its anchor
  14761. * point. Possible values are "left", "center" and "right". Defaults to the
  14762. * same as the `align` option.
  14763. */
  14764. textAlign?: AlignValue;
  14765. /**
  14766. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  14767. */
  14768. useHTML?: boolean;
  14769. /**
  14770. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  14771. * to the plot band. Can be one of "top", "middle" or "bottom".
  14772. */
  14773. verticalAlign?: VerticalAlignValue;
  14774. /**
  14775. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  14776. * alignment. Default varies by orientation.
  14777. */
  14778. x?: number;
  14779. /**
  14780. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  14781. * relative to the alignment. Default varies by orientation.
  14782. */
  14783. y?: number;
  14784. }
  14785. /**
  14786. * (Highcharts, Highstock, Gantt) An array of colored bands stretching across
  14787. * the plot area marking an interval on the axis.
  14788. *
  14789. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  14790. * class in addition to the `className` option.
  14791. */
  14792. export interface NavigatorYAxisPlotBandsOptions {
  14793. /**
  14794. * (Highstock) Flag to decide if plotBand should be rendered across all
  14795. * panes.
  14796. */
  14797. acrossPanes?: boolean;
  14798. /**
  14799. * (Highcharts, Highstock, Gantt) Border color for the plot band. Also
  14800. * requires `borderWidth` to be set.
  14801. */
  14802. borderColor?: ColorString;
  14803. /**
  14804. * (Highcharts, Highstock, Gantt) Border width for the plot band. Also
  14805. * requires `borderColor` to be set.
  14806. */
  14807. borderWidth?: number;
  14808. /**
  14809. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  14810. * default `highcharts-plot-band`, to apply to each individual band.
  14811. */
  14812. className?: string;
  14813. /**
  14814. * (Highcharts, Highstock, Gantt) The color of the plot band.
  14815. */
  14816. color?: (ColorString|GradientColorObject|PatternObject);
  14817. /**
  14818. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  14819. * plot band. Supported properties are `click`, `mouseover`, `mouseout`,
  14820. * `mousemove`.
  14821. */
  14822. events?: NavigatorYAxisPlotBandsEventsOptions;
  14823. /**
  14824. * (Highcharts, Highstock, Gantt) The start position of the plot band in
  14825. * axis units.
  14826. */
  14827. from?: number;
  14828. /**
  14829. * (Highcharts, Highstock, Gantt) An id used for identifying the plot band
  14830. * in Axis.removePlotBand.
  14831. */
  14832. id?: string;
  14833. /**
  14834. * (Highcharts) In a gauge chart, this option determines the inner radius of
  14835. * the plot band that stretches along the perimeter. It can be given as a
  14836. * percentage string, like `"100%"`, or as a pixel number, like `100`. By
  14837. * default, the inner radius is controlled by the thickness option.
  14838. */
  14839. innerRadius?: (number|string);
  14840. /**
  14841. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  14842. */
  14843. label?: NavigatorYAxisPlotBandsLabelOptions;
  14844. /**
  14845. * (Highcharts) In a gauge chart, this option determines the outer radius of
  14846. * the plot band that stretches along the perimeter. It can be given as a
  14847. * percentage string, like `"100%"`, or as a pixel number, like `100`.
  14848. */
  14849. outerRadius?: (number|string);
  14850. /**
  14851. * (Highcharts) In a gauge chart, this option sets the width of the plot
  14852. * band stretching along the perimeter. It can be given as a percentage
  14853. * string, like `"10%"`, or as a pixel number, like `10`. The default value
  14854. * 10 is the same as the default tickLength, thus making the plot band act
  14855. * as a background for the tick markers.
  14856. */
  14857. thickness?: (number|string);
  14858. /**
  14859. * (Highcharts, Highstock, Gantt) The end position of the plot band in axis
  14860. * units.
  14861. */
  14862. to?: number;
  14863. /**
  14864. * (Highcharts, Highstock, Gantt) The z index of the plot band within the
  14865. * chart, relative to other elements. Using the same z index as another
  14866. * element may give unpredictable results, as the last rendered element will
  14867. * be on top. Values from 0 to 20 make sense.
  14868. */
  14869. zIndex?: number;
  14870. }
  14871. /**
  14872. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  14873. * line. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  14874. */
  14875. export interface NavigatorYAxisPlotLinesEventsOptions {
  14876. /**
  14877. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  14878. */
  14879. click?: EventCallbackFunction<PlotLineOrBand>;
  14880. /**
  14881. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  14882. */
  14883. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  14884. /**
  14885. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  14886. * band.
  14887. */
  14888. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  14889. /**
  14890. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  14891. */
  14892. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  14893. }
  14894. /**
  14895. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  14896. */
  14897. export interface NavigatorYAxisPlotLinesLabelOptions {
  14898. /**
  14899. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  14900. * one of "left", "center" or "right".
  14901. */
  14902. align?: AlignValue;
  14903. /**
  14904. * (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
  14905. * label. Useful properties like the value of plot line or the range of plot
  14906. * band (`from` & `to` properties) can be found in `this.options` object.
  14907. */
  14908. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  14909. /**
  14910. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees.
  14911. * Defaults to 0 for horizontal plot lines and 90 for vertical lines.
  14912. */
  14913. rotation?: number;
  14914. /**
  14915. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  14916. *
  14917. * In styled mode, the labels are styled by the
  14918. * `.highcharts-plot-line-label` class.
  14919. */
  14920. style?: CSSObject;
  14921. /**
  14922. * (Highcharts, Highstock, Gantt) The text itself. A subset of HTML is
  14923. * supported.
  14924. */
  14925. text?: string;
  14926. /**
  14927. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  14928. * `align` determines where the texts anchor point is placed within the plot
  14929. * band, `textAlign` determines how the text is aligned against its anchor
  14930. * point. Possible values are "left", "center" and "right". Defaults to the
  14931. * same as the `align` option.
  14932. */
  14933. textAlign?: AlignValue;
  14934. /**
  14935. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  14936. */
  14937. useHTML?: boolean;
  14938. /**
  14939. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  14940. * to the plot line. Can be one of "top", "middle" or "bottom".
  14941. */
  14942. verticalAlign?: VerticalAlignValue;
  14943. /**
  14944. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  14945. * alignment. Default varies by orientation.
  14946. */
  14947. x?: number;
  14948. /**
  14949. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  14950. * relative to the alignment. Default varies by orientation.
  14951. */
  14952. y?: number;
  14953. }
  14954. /**
  14955. * (Highcharts, Highstock, Gantt) An array of lines stretching across the plot
  14956. * area, marking a specific value on one of the axes.
  14957. *
  14958. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  14959. * class in addition to the `className` option.
  14960. */
  14961. export interface NavigatorYAxisPlotLinesOptions {
  14962. /**
  14963. * (Highstock) Flag to decide if plotLine should be rendered across all
  14964. * panes.
  14965. */
  14966. acrossPanes?: boolean;
  14967. /**
  14968. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  14969. * default `highcharts-plot-line`, to apply to each individual line.
  14970. */
  14971. className?: string;
  14972. /**
  14973. * (Highcharts, Highstock, Gantt) The color of the line.
  14974. */
  14975. color?: ColorString;
  14976. /**
  14977. * (Highcharts, Highstock, Gantt) The dashing or dot style for the plot
  14978. * line. For possible values see this overview.
  14979. */
  14980. dashStyle?: DashStyleValue;
  14981. /**
  14982. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  14983. * plot line. Supported properties are `click`, `mouseover`, `mouseout`,
  14984. * `mousemove`.
  14985. */
  14986. events?: NavigatorYAxisPlotLinesEventsOptions;
  14987. /**
  14988. * (Highcharts, Highstock, Gantt) An id used for identifying the plot line
  14989. * in Axis.removePlotLine.
  14990. */
  14991. id?: string;
  14992. /**
  14993. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  14994. */
  14995. label?: NavigatorYAxisPlotLinesLabelOptions;
  14996. /**
  14997. * (Highcharts, Highstock, Gantt) The position of the line in axis units.
  14998. */
  14999. value?: number;
  15000. /**
  15001. * (Highcharts, Highstock, Gantt) The width or thickness of the plot line.
  15002. */
  15003. width?: number;
  15004. /**
  15005. * (Highcharts, Highstock, Gantt) The z index of the plot line within the
  15006. * chart.
  15007. */
  15008. zIndex?: number;
  15009. }
  15010. /**
  15011. * (Highcharts) Enable or disable the initial animation when a series is
  15012. * displayed for the `stackLabels`. The animation can also be set as a
  15013. * configuration object. Please note that this option only applies to the
  15014. * initial animation. For other animations, see chart.animation and the
  15015. * animation parameter under the API methods. The following properties are
  15016. * supported:
  15017. *
  15018. * - `defer`: The animation delay time in milliseconds.
  15019. */
  15020. export interface NavigatorYAxisStackLabelsAnimationOptions {
  15021. /**
  15022. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  15023. * stackLabel immediately. As `undefined` inherits defer time from the
  15024. * series.animation.defer.
  15025. */
  15026. defer?: number;
  15027. }
  15028. /**
  15029. * (Highcharts) The stack labels show the total value for each bar in a stacked
  15030. * column or bar chart. The label will be placed on top of positive columns and
  15031. * below negative columns. In case of an inverted column chart or a bar chart
  15032. * the label is placed to the right of positive bars and to the left of negative
  15033. * bars.
  15034. */
  15035. export interface NavigatorYAxisStackLabelsOptions {
  15036. /**
  15037. * (Highcharts) Defines the horizontal alignment of the stack total label.
  15038. * Can be one of `"left"`, `"center"` or `"right"`. The default value is
  15039. * calculated at runtime and depends on orientation and whether the stack is
  15040. * positive or negative.
  15041. */
  15042. align?: AlignValue;
  15043. /**
  15044. * (Highcharts) Allow the stack labels to overlap.
  15045. */
  15046. allowOverlap?: boolean;
  15047. /**
  15048. * (Highcharts) Enable or disable the initial animation when a series is
  15049. * displayed for the `stackLabels`. The animation can also be set as a
  15050. * configuration object. Please note that this option only applies to the
  15051. * initial animation. For other animations, see chart.animation and the
  15052. * animation parameter under the API methods. The following properties are
  15053. * supported:
  15054. *
  15055. * - `defer`: The animation delay time in milliseconds.
  15056. */
  15057. animation?: (boolean|NavigatorYAxisStackLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  15058. /**
  15059. * (Highcharts) The background color or gradient for the stack label.
  15060. */
  15061. backgroundColor?: ColorType;
  15062. /**
  15063. * (Highcharts) The border color for the stack label. Defaults to
  15064. * `undefined`.
  15065. */
  15066. borderColor?: ColorType;
  15067. /**
  15068. * (Highcharts) The border radius in pixels for the stack label.
  15069. */
  15070. borderRadius?: number;
  15071. /**
  15072. * (Highcharts) The border width in pixels for the stack label.
  15073. */
  15074. borderWidth?: number;
  15075. /**
  15076. * (Highcharts) Whether to hide stack labels that are outside the plot area.
  15077. * By default, the stack label is moved inside the plot area according to
  15078. * the overflow option.
  15079. */
  15080. crop?: boolean;
  15081. /**
  15082. * (Highcharts) Enable or disable the stack total labels.
  15083. */
  15084. enabled?: boolean;
  15085. /**
  15086. * (Highcharts, Highstock) A format string for the data label. Available
  15087. * variables are the same as for `formatter`.
  15088. */
  15089. format?: string;
  15090. /**
  15091. * (Highcharts) Callback JavaScript function to format the label. The value
  15092. * is given by `this.total`.
  15093. */
  15094. formatter?: FormatterCallbackFunction<StackItemObject>;
  15095. /**
  15096. * (Highcharts) How to handle stack total labels that flow outside the plot
  15097. * area. The default is set to `"justify"`, which aligns them inside the
  15098. * plot area. For columns and bars, this means it will be moved inside the
  15099. * bar. To display stack labels outside the plot area, set `crop` to `false`
  15100. * and `overflow` to `"allow"`.
  15101. */
  15102. overflow?: DataLabelsOverflowValue;
  15103. /**
  15104. * (Highcharts) Rotation of the labels in degrees.
  15105. */
  15106. rotation?: number;
  15107. /**
  15108. * (Highcharts) CSS styles for the label.
  15109. *
  15110. * In styled mode, the styles are set in the `.highcharts-stack-label`
  15111. * class.
  15112. */
  15113. style?: CSSObject;
  15114. /**
  15115. * (Highcharts) The text alignment for the label. While `align` determines
  15116. * where the texts anchor point is placed with regards to the stack,
  15117. * `textAlign` determines how the text is aligned against its anchor point.
  15118. * Possible values are `"left"`, `"center"` and `"right"`. The default value
  15119. * is calculated at runtime and depends on orientation and whether the stack
  15120. * is positive or negative.
  15121. */
  15122. textAlign?: AlignValue;
  15123. /**
  15124. * (Highcharts, Highstock) Whether to use HTML to render the labels.
  15125. */
  15126. useHTML?: boolean;
  15127. /**
  15128. * (Highcharts) Defines the vertical alignment of the stack total label. Can
  15129. * be one of `"top"`, `"middle"` or `"bottom"`. The default value is
  15130. * calculated at runtime and depends on orientation and whether the stack is
  15131. * positive or negative.
  15132. */
  15133. verticalAlign?: VerticalAlignValue;
  15134. /**
  15135. * (Highcharts) The x position offset of the label relative to the left of
  15136. * the stacked bar. The default value is calculated at runtime and depends
  15137. * on orientation and whether the stack is positive or negative.
  15138. */
  15139. x?: number;
  15140. /**
  15141. * (Highcharts) The y position offset of the label relative to the tick
  15142. * position on the axis. The default value is calculated at runtime and
  15143. * depends on orientation and whether the stack is positive or negative.
  15144. */
  15145. y?: number;
  15146. }
  15147. /**
  15148. * (Highstock, Gantt) The axis title, showing next to the axis line.
  15149. */
  15150. export interface NavigatorYAxisTitleOptions {
  15151. /**
  15152. * (Highstock, Gantt) Alignment of the title relative to the axis values.
  15153. * Possible values are "low", "middle" or "high".
  15154. */
  15155. align?: AxisTitleAlignValue;
  15156. /**
  15157. * (Highstock, Gantt) The pixel distance between the axis labels and the
  15158. * title. Positive values are outside the axis line, negative are inside.
  15159. */
  15160. margin?: number;
  15161. /**
  15162. * (Highstock, Gantt) The distance of the axis title from the axis line. By
  15163. * default, this distance is computed from the offset width of the labels,
  15164. * the labels' distance from the axis and the title's margin. However when
  15165. * the offset option is set, it overrides all this.
  15166. */
  15167. offset?: number;
  15168. /**
  15169. * (Highcharts) Defines how the title is repositioned according to the 3D
  15170. * chart orientation.
  15171. *
  15172. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  15173. * marks, despite the chart orientation. This is the backwards compatible
  15174. * behavior, and causes skewing of X and Z axes.
  15175. *
  15176. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  15177. * but hard to read if the text isn't forward-facing.
  15178. *
  15179. * - `'flap'`: Rotated text along the axis to compensate for the chart
  15180. * orientation. This tries to maintain text as legible as possible on all
  15181. * orientations.
  15182. *
  15183. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  15184. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  15185. * skewing the labels (X and Y scaling are still present).
  15186. *
  15187. * - `undefined`: Will use the config from `labels.position3d`
  15188. */
  15189. position3d?: ("chart"|"flap"|"offset"|"ortho"|null);
  15190. /**
  15191. * (Highcharts, Highstock, Gantt) Whether to reserve space for the title
  15192. * when laying out the axis.
  15193. */
  15194. reserveSpace?: boolean;
  15195. /**
  15196. * (Highstock, Gantt) The rotation of the text in degrees. 0 is horizontal,
  15197. * 270 is vertical reading from bottom to top.
  15198. */
  15199. rotation?: number;
  15200. /**
  15201. * (Highcharts) If enabled, the axis title will skewed to follow the
  15202. * perspective.
  15203. *
  15204. * This will fix overlapping labels and titles, but texts become less
  15205. * legible due to the distortion.
  15206. *
  15207. * The final appearance depends heavily on `title.position3d`.
  15208. *
  15209. * A `null` value will use the config from `labels.skew3d`.
  15210. */
  15211. skew3d?: (boolean|null);
  15212. /**
  15213. * (Highstock, Gantt) CSS styles for the title. If the title text is longer
  15214. * than the axis length, it will wrap to multiple lines by default. This can
  15215. * be customized by setting `textOverflow: 'ellipsis'`, by setting a
  15216. * specific `width` or by setting `whiteSpace: 'nowrap'`.
  15217. *
  15218. * In styled mode, the stroke width is given in the `.highcharts-axis-title`
  15219. * class.
  15220. */
  15221. style?: CSSObject;
  15222. /**
  15223. * (Highcharts, Highstock, Gantt) The actual text of the axis title.
  15224. * Horizontal texts can contain HTML, but rotated texts are painted using
  15225. * vector techniques and must be clean text. The Y axis title is disabled by
  15226. * setting the `text` option to `undefined`.
  15227. */
  15228. text?: (string|null);
  15229. /**
  15230. * (Highstock, Gantt) Alignment of the text, can be `"left"`, `"right"` or
  15231. * `"center"`. Default alignment depends on the title.align:
  15232. *
  15233. * Horizontal axes:
  15234. *
  15235. * - for `align` = `"low"`, `textAlign` is set to `left`
  15236. *
  15237. * - for `align` = `"middle"`, `textAlign` is set to `center`
  15238. *
  15239. * - for `align` = `"high"`, `textAlign` is set to `right`
  15240. *
  15241. * Vertical axes:
  15242. *
  15243. * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
  15244. * `right`
  15245. *
  15246. * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
  15247. * `left`
  15248. *
  15249. * - for `align` = `"middle"`, `textAlign` is set to `center`
  15250. *
  15251. * - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
  15252. * `left`
  15253. *
  15254. * - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
  15255. * `right`
  15256. */
  15257. textAlign?: AlignValue;
  15258. /**
  15259. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the axis
  15260. * title.
  15261. */
  15262. useHTML?: boolean;
  15263. /**
  15264. * (Highcharts, Highstock, Gantt) Horizontal pixel offset of the title
  15265. * position.
  15266. */
  15267. x?: number;
  15268. /**
  15269. * (Highcharts, Highstock, Gantt) Vertical pixel offset of the title
  15270. * position.
  15271. */
  15272. y?: number;
  15273. }
  15274. /**
  15275. * (Highcharts, Highstock, Gantt) An object of additional SVG attributes for the
  15276. * no-data label.
  15277. */
  15278. export interface NoDataAttrOptions {
  15279. zIndex?: number;
  15280. }
  15281. /**
  15282. * (Highcharts, Highstock, Gantt) Options for displaying a message like "No data
  15283. * to display". This feature requires the file no-data-to-display.js to be
  15284. * loaded in the page. The actual text to display is set in the lang.noData
  15285. * option.
  15286. */
  15287. export interface NoDataOptions {
  15288. /**
  15289. * (Highcharts, Highstock, Gantt) An object of additional SVG attributes for
  15290. * the no-data label.
  15291. */
  15292. attr?: (NoDataAttrOptions|SVGAttributes);
  15293. /**
  15294. * (Highcharts, Highstock, Gantt) The position of the no-data label,
  15295. * relative to the plot area.
  15296. */
  15297. position?: (AlignObject|NoDataPositionOptions);
  15298. /**
  15299. * (Highcharts, Highstock, Gantt) CSS styles for the no-data label.
  15300. */
  15301. style?: CSSObject;
  15302. /**
  15303. * (Highcharts, Highstock, Gantt) Whether to insert the label as HTML, or as
  15304. * pseudo-HTML rendered with SVG.
  15305. */
  15306. useHTML?: boolean;
  15307. }
  15308. /**
  15309. * (Highcharts, Highstock, Gantt) The position of the no-data label, relative to
  15310. * the plot area.
  15311. */
  15312. export interface NoDataPositionOptions {
  15313. /**
  15314. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label.
  15315. */
  15316. align?: AlignValue;
  15317. /**
  15318. * (Highcharts, Highstock, Gantt) Vertical alignment of the label.
  15319. */
  15320. verticalAlign?: VerticalAlignValue;
  15321. /**
  15322. * (Highcharts, Highstock, Gantt) Horizontal offset of the label, in pixels.
  15323. */
  15324. x?: number;
  15325. /**
  15326. * (Highcharts, Highstock, Gantt) Vertical offset of the label, in pixels.
  15327. */
  15328. y?: number;
  15329. }
  15330. /**
  15331. * An object containing `left` and `top` properties for the position in the
  15332. * page.
  15333. */
  15334. export interface OffsetObject {
  15335. /**
  15336. * Left distance to the page border.
  15337. */
  15338. left: number;
  15339. /**
  15340. * Top distance to the page border.
  15341. */
  15342. top: number;
  15343. }
  15344. export interface Options {
  15345. /**
  15346. * (Highcharts, Highstock, Highmaps, Gantt) Options for configuring
  15347. * accessibility for the chart. Requires the accessibility module to be
  15348. * loaded. For a description of the module and information on its features,
  15349. * see Highcharts Accessibility.
  15350. */
  15351. accessibility?: AccessibilityOptions;
  15352. /**
  15353. * (Highcharts, Highstock, Highmaps, Gantt) A basic type of an annotation.
  15354. * It allows to add custom labels or shapes. The items can be tied to
  15355. * points, axis coordinates or chart pixel coordinates.
  15356. */
  15357. annotations?: Array<AnnotationsOptions>;
  15358. boost?: BoostOptions;
  15359. /**
  15360. * (Highcharts, Highstock, Highmaps, Gantt) The chart's caption, which will
  15361. * render below the chart and will be part of exported charts. The caption
  15362. * can be updated after chart initialization through the `Chart.update` or
  15363. * `Chart.caption.update` methods.
  15364. */
  15365. caption?: CaptionOptions;
  15366. /**
  15367. * (Highcharts, Highstock, Highmaps, Gantt) General options for the chart.
  15368. */
  15369. chart?: ChartOptions;
  15370. /**
  15371. * (Highcharts, Highstock, Highmaps) A color axis for series. Visually, the
  15372. * color axis will appear as a gradient or as separate items inside the
  15373. * legend, depending on whether the axis is scalar or based on data classes.
  15374. *
  15375. * For supported color formats, see the docs article about colors.
  15376. *
  15377. * A scalar color axis is represented by a gradient. The colors either range
  15378. * between the minColor and the maxColor, or for more fine grained control
  15379. * the colors can be defined in stops. Often times, the color axis needs to
  15380. * be adjusted to get the right color spread for the data. In addition to
  15381. * stops, consider using a logarithmic axis type, or setting min and max to
  15382. * avoid the colors being determined by outliers.
  15383. *
  15384. * When dataClasses are used, the ranges are subdivided into separate
  15385. * classes like categories based on their values. This can be used for
  15386. * ranges between two values, but also for a true category. However, when
  15387. * your data is categorized, it may be as convenient to add each category to
  15388. * a separate series.
  15389. *
  15390. * Color axis does not work with: `sankey`, `sunburst`, `dependencywheel`,
  15391. * `networkgraph`, `wordcloud`, `venn`, `gauge` and `solidgauge` series
  15392. * types.
  15393. *
  15394. * Since v7.2.0 `colorAxis` can also be an array of options objects.
  15395. *
  15396. * See the Axis object for programmatic access to the axis.
  15397. */
  15398. colorAxis?: (ColorAxisOptions|Array<ColorAxisOptions>);
  15399. /**
  15400. * (Highcharts, Highstock, Highmaps, Gantt) An array containing the default
  15401. * colors for the chart's series. When all colors are used, new colors are
  15402. * pulled from the start again.
  15403. *
  15404. * Default colors can also be set on a series or series.type basis, see
  15405. * column.colors, pie.colors.
  15406. *
  15407. * In styled mode, the colors option doesn't exist. Instead, colors are
  15408. * defined in CSS and applied either through series or point class names, or
  15409. * through the chart.colorCount option.
  15410. *
  15411. * ### Legacy
  15412. *
  15413. * In Highcharts 3.x, the default colors were: (see online documentation for
  15414. * example)
  15415. *
  15416. * In Highcharts 2.x, the default colors were: (see online documentation for
  15417. * example)
  15418. */
  15419. colors?: Array<ColorString>;
  15420. /**
  15421. * (Gantt) The Pathfinder module allows you to define connections between
  15422. * any two points, represented as lines - optionally with markers for the
  15423. * start and/or end points. Multiple algorithms are available for
  15424. * calculating how the connecting lines are drawn.
  15425. *
  15426. * Connector functionality requires Highcharts Gantt to be loaded. In Gantt
  15427. * charts, the connectors are used to draw dependencies between tasks.
  15428. */
  15429. connectors?: ConnectorsOptions;
  15430. /**
  15431. * (Highcharts, Highstock, Highmaps, Gantt) Highchart by default puts a
  15432. * credits label in the lower right corner of the chart. This can be changed
  15433. * using these options.
  15434. */
  15435. credits?: CreditsOptions;
  15436. /**
  15437. * (Highcharts, Highstock, Highmaps, Gantt) The Data module provides a
  15438. * simplified interface for adding data to a chart from sources like CVS,
  15439. * HTML tables or grid views. See also the tutorial article on the Data
  15440. * module.
  15441. *
  15442. * It requires the `modules/data.js` file to be loaded.
  15443. *
  15444. * Please note that the default way of adding data in Highcharts, without
  15445. * the need of a module, is through the series._type_.data option.
  15446. */
  15447. data?: DataOptions;
  15448. /**
  15449. * (Highcharts, Highstock, Highmaps, Gantt) Options for configuring markers
  15450. * for annotations.
  15451. *
  15452. * An example of the arrow marker: (see online documentation for example)
  15453. */
  15454. defs?: (DefsOptions|Dictionary<SVGDefinitionObject>);
  15455. /**
  15456. * (Highcharts, Highmaps) Options for drill down, the concept of inspecting
  15457. * increasingly high resolution data through clicking on chart items like
  15458. * columns or pie slices.
  15459. *
  15460. * The drilldown feature requires the drilldown.js file to be loaded, found
  15461. * in the modules directory of the download package, or online at
  15462. * code.highcharts.com/modules/drilldown.js.
  15463. */
  15464. drilldown?: DrilldownOptions;
  15465. /**
  15466. * (Highcharts, Highstock, Highmaps, Gantt) Options for the exporting
  15467. * module. For an overview on the matter, see the docs.
  15468. */
  15469. exporting?: ExportingOptions;
  15470. global?: GlobalOptions;
  15471. /**
  15472. * (Highcharts, Highstock, Highmaps, Gantt) Language object. The language
  15473. * object is global and it can't be set on each chart initialization.
  15474. * Instead, use `Highcharts.setOptions` to set it before any chart is
  15475. * initialized. (see online documentation for example)
  15476. */
  15477. lang?: LangOptions;
  15478. /**
  15479. * (Highcharts, Highstock, Highmaps, Gantt) The legend is a box containing a
  15480. * symbol and name for each series item or point item in the chart. Each
  15481. * series (or points in case of pie charts) is represented by a symbol and
  15482. * its name in the legend.
  15483. *
  15484. * It is possible to override the symbol creator function and create custom
  15485. * legend symbols.
  15486. */
  15487. legend?: LegendOptions;
  15488. /**
  15489. * (Highcharts, Highstock, Highmaps, Gantt) The loading options control the
  15490. * appearance of the loading screen that covers the plot area on chart
  15491. * operations. This screen only appears after an explicit call to
  15492. * `chart.showLoading()`. It is a utility for developers to communicate to
  15493. * the end user that something is going on, for example while retrieving new
  15494. * data via an XHR connection. The "Loading..." text itself is not part of
  15495. * this configuration object, but part of the `lang` object.
  15496. */
  15497. loading?: LoadingOptions;
  15498. mapNavigation?: MapNavigationOptions;
  15499. /**
  15500. * (Highcharts, Highstock, Highmaps, Gantt) A collection of options for
  15501. * buttons and menus appearing in the exporting module.
  15502. */
  15503. navigation?: NavigationOptions;
  15504. /**
  15505. * (Highstock, Gantt) The navigator is a small series below the main series,
  15506. * displaying a view of the entire data set. It provides tools to zoom in
  15507. * and out on parts of the data as well as panning across the dataset.
  15508. */
  15509. navigator?: NavigatorOptions;
  15510. /**
  15511. * (Highcharts, Highstock, Gantt) Options for displaying a message like "No
  15512. * data to display". This feature requires the file no-data-to-display.js to
  15513. * be loaded in the page. The actual text to display is set in the
  15514. * lang.noData option.
  15515. */
  15516. noData?: NoDataOptions;
  15517. /**
  15518. * (Highcharts) The pane serves as a container for axes and backgrounds for
  15519. * circular gauges and polar charts.
  15520. */
  15521. pane?: PaneOptions;
  15522. /**
  15523. * (Highcharts, Highstock, Highmaps, Gantt) The plotOptions is a wrapper
  15524. * object for config objects for each series type. The config objects for
  15525. * each series can also be overridden for each series item as given in the
  15526. * series array.
  15527. *
  15528. * Configuration options for the series are given in three levels. Options
  15529. * for all series in a chart are given in the plotOptions.series object.
  15530. * Then options for all series of a specific type are given in the
  15531. * plotOptions of that type, for example `plotOptions.line`. Next, options
  15532. * for one single series are given in the series array.
  15533. */
  15534. plotOptions?: PlotOptions;
  15535. /**
  15536. * (Highstock, Gantt) The range selector is a tool for selecting ranges to
  15537. * display within the chart. It provides buttons to select preconfigured
  15538. * ranges in the chart, like 1 day, 1 week, 1 month etc. It also provides
  15539. * input boxes where min and max dates can be manually input.
  15540. */
  15541. rangeSelector?: RangeSelectorOptions;
  15542. /**
  15543. * (Highcharts, Highstock, Highmaps, Gantt) Allows setting a set of rules to
  15544. * apply for different screen or chart sizes. Each rule specifies additional
  15545. * chart options.
  15546. */
  15547. responsive?: ResponsiveOptions;
  15548. /**
  15549. * (Highstock, Gantt) The scrollbar is a means of panning over the X axis of
  15550. * a stock chart. Scrollbars can also be applied to other types of axes.
  15551. *
  15552. * Another approach to scrollable charts is the chart.scrollablePlotArea
  15553. * option that is especially suitable for simpler cartesian charts on
  15554. * mobile.
  15555. *
  15556. * In styled mode, all the presentational options for the scrollbar are
  15557. * replaced by the classes `.highcharts-scrollbar-thumb`,
  15558. * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
  15559. * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
  15560. */
  15561. scrollbar?: ScrollbarOptions;
  15562. /**
  15563. * (Highcharts, Highstock, Highmaps, Gantt) Series options for specific data
  15564. * and the data itself. In TypeScript you have to cast the series options to
  15565. * specific series types, to get all possible options for a series.
  15566. */
  15567. series?: Array<SeriesOptionsType>;
  15568. /**
  15569. * (Highstock) Configure the stockTools gui strings in the chart. Requires
  15570. * the [stockTools module]() to be loaded. For a description of the module
  15571. * and information on its features, see [Highcharts StockTools]().
  15572. */
  15573. stockTools?: StockToolsOptions;
  15574. /**
  15575. * (Highcharts, Highstock, Highmaps, Gantt) The chart's subtitle. This can
  15576. * be used both to display a subtitle below the main title, and to display
  15577. * random text anywhere in the chart. The subtitle can be updated after
  15578. * chart initialization through the `Chart.setTitle` method.
  15579. */
  15580. subtitle?: SubtitleOptions;
  15581. /**
  15582. * (Highcharts, Highstock, Highmaps, Gantt) Time options that can apply
  15583. * globally or to individual charts. These settings affect how `datetime`
  15584. * axes are laid out, how tooltips are formatted, how series
  15585. * pointIntervalUnit works and how the Highstock range selector handles
  15586. * time.
  15587. *
  15588. * The common use case is that all charts in the same Highcharts object
  15589. * share the same time settings, in which case the global settings are set
  15590. * using `setOptions`. (see online documentation for example)
  15591. *
  15592. * Since v6.0.5, the time options were moved from the `global` obect to the
  15593. * `time` object, and time options can be set on each individual chart.
  15594. */
  15595. time?: TimeOptions;
  15596. /**
  15597. * (Highcharts, Highstock, Highmaps, Gantt) The chart's main title.
  15598. */
  15599. title?: TitleOptions;
  15600. /**
  15601. * (Highcharts, Highstock, Highmaps, Gantt) Options for the tooltip that
  15602. * appears when the user hovers over a series or point.
  15603. */
  15604. tooltip?: TooltipOptions;
  15605. /**
  15606. * (Highcharts, Highstock, Highmaps, Gantt) The X axis or category axis.
  15607. * Normally this is the horizontal axis, though if the chart is inverted
  15608. * this is the vertical axis. In case of multiple axes, the xAxis node is an
  15609. * array of configuration objects.
  15610. *
  15611. * See the Axis class for programmatic access to the axis.
  15612. */
  15613. xAxis?: (XAxisOptions|Array<XAxisOptions>);
  15614. /**
  15615. * (Highcharts, Highstock, Highmaps, Gantt) The Y axis or value axis.
  15616. * Normally this is the vertical axis, though if the chart is inverted this
  15617. * is the horizontal axis. In case of multiple axes, the yAxis node is an
  15618. * array of configuration objects.
  15619. *
  15620. * See the Axis object for programmatic access to the axis.
  15621. */
  15622. yAxis?: (YAxisOptions|Array<YAxisOptions>);
  15623. /**
  15624. * (Highcharts) The Z axis or depth axis for 3D plots.
  15625. *
  15626. * See the Axis class for programmatic access to the axis.
  15627. */
  15628. zAxis?: (ZAxisOptions|Array<ZAxisOptions>);
  15629. }
  15630. /**
  15631. * (Highcharts) An array of background items for the pane.
  15632. */
  15633. export interface PaneBackgroundOptions {
  15634. /**
  15635. * (Highcharts) The background color or gradient for the pane.
  15636. */
  15637. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  15638. /**
  15639. * (Highcharts) The pane background border color.
  15640. */
  15641. borderColor?: (ColorString|GradientColorObject|PatternObject);
  15642. /**
  15643. * (Highcharts) The pixel border width of the pane background.
  15644. */
  15645. borderWidth?: number;
  15646. /**
  15647. * (Highcharts) The class name for this background.
  15648. */
  15649. className?: string;
  15650. /**
  15651. * (Highcharts) The inner radius of the pane background. Can be either
  15652. * numeric (pixels) or a percentage string.
  15653. */
  15654. innerRadius?: (number|string);
  15655. /**
  15656. * (Highcharts) The outer radius of the circular pane background. Can be
  15657. * either numeric (pixels) or a percentage string.
  15658. */
  15659. outerRadius?: (number|string);
  15660. /**
  15661. * (Highcharts) The shape of the pane background. When `solid`, the
  15662. * background is circular. When `arc`, the background extends only from the
  15663. * min to the max of the value axis.
  15664. */
  15665. shape?: PaneBackgroundShapeValue;
  15666. }
  15667. /**
  15668. * (Highcharts) The pane serves as a container for axes and backgrounds for
  15669. * circular gauges and polar charts.
  15670. */
  15671. export interface PaneOptions {
  15672. /**
  15673. * (Highcharts) An array of background items for the pane.
  15674. */
  15675. background?: Array<PaneBackgroundOptions>;
  15676. /**
  15677. * (Highcharts) The center of a polar chart or angular gauge, given as an
  15678. * array of [x, y] positions. Positions can be given as integers that
  15679. * transform to pixels, or as percentages of the plot area size.
  15680. */
  15681. center?: Array<(string|number)>;
  15682. /**
  15683. * (Highcharts) The end angle of the polar X axis or gauge value axis, given
  15684. * in degrees where 0 is north. Defaults to startAngle
  15685. *
  15686. * + 360.
  15687. */
  15688. endAngle?: number;
  15689. /**
  15690. * (Highcharts) The inner size of the pane, either as a number defining
  15691. * pixels, or a percentage defining a percentage of the pane's size.
  15692. */
  15693. innerSize?: (number|string);
  15694. /**
  15695. * (Highcharts) The size of the pane, either as a number defining pixels, or
  15696. * a percentage defining a percentage of the available plot area (the
  15697. * smallest of the plot height or plot width).
  15698. */
  15699. size?: (number|string);
  15700. /**
  15701. * (Highcharts) The start angle of the polar X axis or gauge axis, given in
  15702. * degrees where 0 is north. Defaults to 0.
  15703. */
  15704. startAngle?: number;
  15705. }
  15706. /**
  15707. * Holds a pattern definition.
  15708. */
  15709. export interface PatternObject {
  15710. /**
  15711. * Animation options for the image pattern loading.
  15712. */
  15713. animation?: (boolean|Partial<AnimationOptionsObject>);
  15714. /**
  15715. * Pattern options
  15716. */
  15717. pattern: PatternOptionsObject;
  15718. /**
  15719. * Optionally an index referencing which pattern to use. Highcharts adds 10
  15720. * default patterns to the `Highcharts.patterns` array. Additional pattern
  15721. * definitions can be pushed to this array if desired. This option is an
  15722. * index into this array.
  15723. */
  15724. patternIndex?: number;
  15725. }
  15726. /**
  15727. * Pattern options
  15728. */
  15729. export interface PatternOptionsObject {
  15730. /**
  15731. * For automatically calculated width and height on images, it is possible
  15732. * to set an aspect ratio. The image will be zoomed to fill the bounding
  15733. * box, maintaining the aspect ratio defined.
  15734. */
  15735. aspectRatio: number;
  15736. /**
  15737. * Background color for the pattern if a `path` is set (not images).
  15738. */
  15739. backgroundColor: ColorString;
  15740. /**
  15741. * Pattern color, used as default path stroke.
  15742. */
  15743. color: ColorString;
  15744. /**
  15745. * Analogous to pattern.width.
  15746. */
  15747. height: number;
  15748. /**
  15749. * ID to assign to the pattern. This is automatically computed if not added,
  15750. * and identical patterns are reused. To refer to an existing pattern for a
  15751. * Highcharts color, use `color: "url(#pattern-id)"`.
  15752. */
  15753. id?: string;
  15754. /**
  15755. * URL to an image to use as the pattern.
  15756. */
  15757. image: string;
  15758. /**
  15759. * Opacity of the pattern as a float value from 0 to 1.
  15760. */
  15761. opacity: number;
  15762. /**
  15763. * Either an SVG path as string, or an object. As an object, supply the path
  15764. * string in the `path.d` property. Other supported properties are standard
  15765. * SVG attributes like `path.stroke` and `path.fill`. If a path is supplied
  15766. * for the pattern, the `image` property is ignored.
  15767. */
  15768. path: (string|SVGAttributes);
  15769. /**
  15770. * SVG `patternTransform` to apply to the entire pattern.
  15771. */
  15772. patternTransform: string;
  15773. /**
  15774. * Width of the pattern. For images this is automatically set to the width
  15775. * of the element bounding box if not supplied. For non-image patterns the
  15776. * default is 32px. Note that automatic resizing of image patterns to fill a
  15777. * bounding box dynamically is only supported for patterns with an
  15778. * automatically calculated ID.
  15779. */
  15780. width: number;
  15781. /**
  15782. * Horizontal offset of the pattern. Defaults to 0.
  15783. */
  15784. x?: number;
  15785. /**
  15786. * Vertical offset of the pattern. Defaults to 0.
  15787. */
  15788. y?: number;
  15789. }
  15790. /**
  15791. * (Highstock) Enable or disable the initial animation when a series is
  15792. * displayed. The animation can also be set as a configuration object. Please
  15793. * note that this option only applies to the initial animation of the series
  15794. * itself. For other animations, see chart.animation and the animation parameter
  15795. * under the API methods. The following properties are supported:
  15796. *
  15797. * - `defer`: The animation delay time in milliseconds.
  15798. *
  15799. * - `duration`: The duration of the animation in milliseconds.
  15800. *
  15801. * - `easing`: Can be a string reference to an easing function set on the `Math`
  15802. * object or a function. See the _Custom easing function_ demo below.
  15803. *
  15804. * Due to poor performance, animation is disabled in old IE browsers for several
  15805. * chart types.
  15806. */
  15807. export interface PlotAbandsAnimationOptions {
  15808. defer?: number;
  15809. }
  15810. export interface PlotAbandsBottomLineOptions {
  15811. styles?: PlotAbandsBottomLineStylesOptions;
  15812. }
  15813. export interface PlotAbandsBottomLineStylesOptions {
  15814. /**
  15815. * (Highstock) Pixel width of the line.
  15816. */
  15817. lineWidth?: number;
  15818. }
  15819. /**
  15820. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  15821. * animation when a series is displayed for the `dataLabels`. The animation can
  15822. * also be set as a configuration object. Please note that this option only
  15823. * applies to the initial animation. For other animations, see chart.animation
  15824. * and the animation parameter under the API methods. The following properties
  15825. * are supported:
  15826. *
  15827. * - `defer`: The animation delay time in milliseconds.
  15828. */
  15829. export interface PlotAbandsDataLabelsAnimationOptions {
  15830. /**
  15831. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  15832. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  15833. * inherits defer time from the series.animation.defer.
  15834. */
  15835. defer?: number;
  15836. }
  15837. /**
  15838. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  15839. * appearing next to each data point.
  15840. *
  15841. * Since v6.2.0, multiple data labels can be applied to each single point by
  15842. * defining them as an array of configs.
  15843. *
  15844. * In styled mode, the data labels can be styled with the
  15845. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  15846. * example).
  15847. */
  15848. export interface PlotAbandsDataLabelsOptions {
  15849. /**
  15850. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  15851. * compared to the point. If `right`, the right side of the label should be
  15852. * touching the point. For points with an extent, like columns, the
  15853. * alignments also dictates how to align it inside the box, as given with
  15854. * the inside option. Can be one of `left`, `center` or `right`.
  15855. */
  15856. align?: (AlignValue|null);
  15857. /**
  15858. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  15859. * overlap. To make the labels less sensitive for overlapping, the
  15860. * dataLabels.padding can be set to 0.
  15861. */
  15862. allowOverlap?: boolean;
  15863. /**
  15864. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  15865. * animation when a series is displayed for the `dataLabels`. The animation
  15866. * can also be set as a configuration object. Please note that this option
  15867. * only applies to the initial animation. For other animations, see
  15868. * chart.animation and the animation parameter under the API methods. The
  15869. * following properties are supported:
  15870. *
  15871. * - `defer`: The animation delay time in milliseconds.
  15872. */
  15873. animation?: (boolean|PlotAbandsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  15874. /**
  15875. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  15876. * for the data label.
  15877. */
  15878. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  15879. /**
  15880. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  15881. * label. Defaults to `undefined`.
  15882. */
  15883. borderColor?: (ColorString|GradientColorObject|PatternObject);
  15884. /**
  15885. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  15886. * the data label.
  15887. */
  15888. borderRadius?: number;
  15889. /**
  15890. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  15891. * the data label.
  15892. */
  15893. borderWidth?: number;
  15894. /**
  15895. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  15896. * Particularly in styled mode, this can be used to give each series' or
  15897. * point's data label unique styling. In addition to this option, a default
  15898. * color class name is added so that we can give the labels a contrast text
  15899. * shadow.
  15900. */
  15901. className?: string;
  15902. /**
  15903. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  15904. * labels. Defaults to `undefined`. For certain series types, like column or
  15905. * map, the data labels can be drawn inside the points. In this case the
  15906. * data label will be drawn with maximum contrast by default. Additionally,
  15907. * it will be given a `text-outline` style with the opposite color, to
  15908. * further increase the contrast. This can be overridden by setting the
  15909. * `text-outline` style to `none` in the `dataLabels.style` option.
  15910. */
  15911. color?: (ColorString|GradientColorObject|PatternObject);
  15912. /**
  15913. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  15914. * are outside the plot area. By default, the data label is moved inside the
  15915. * plot area according to the overflow option.
  15916. */
  15917. crop?: boolean;
  15918. /**
  15919. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  15920. * labels until the initial series animation has finished. Setting to
  15921. * `false` renders the data label immediately. If set to `true` inherits the
  15922. * defer time set in plotOptions.series.animation.
  15923. */
  15924. defer?: boolean;
  15925. /**
  15926. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  15927. * labels.
  15928. */
  15929. enabled?: boolean;
  15930. /**
  15931. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  15932. * of which data labels to display. The declarative filter is designed for
  15933. * use when callback functions are not available, like when the chart
  15934. * options require a pure JSON structure or for use with graphical editors.
  15935. * For programmatic control, use the `formatter` instead, and return
  15936. * `undefined` to disable a single data label.
  15937. */
  15938. filter?: DataLabelsFilterOptionsObject;
  15939. /**
  15940. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  15941. * label. Available variables are the same as for `formatter`.
  15942. */
  15943. format?: string;
  15944. /**
  15945. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  15946. * format the data label. Note that if a `format` is defined, the format
  15947. * takes precedence and the formatter is ignored.
  15948. */
  15949. formatter?: DataLabelsFormatterCallbackFunction;
  15950. /**
  15951. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  15952. * columns or map areas, whether to align the data label inside the box or
  15953. * to the actual value point. Defaults to `false` in most cases, `true` in
  15954. * stacked columns.
  15955. */
  15956. inside?: boolean;
  15957. /**
  15958. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  15959. * of null. Works analogously to format. `nullFormat` can be applied only to
  15960. * series which support displaying null points.
  15961. */
  15962. nullFormat?: (boolean|string);
  15963. /**
  15964. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  15965. * that defines formatting for points with the value of null. Works
  15966. * analogously to formatter. `nullPointFormatter` can be applied only to
  15967. * series which support displaying null points.
  15968. */
  15969. nullFormatter?: DataLabelsFormatterCallbackFunction;
  15970. /**
  15971. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  15972. * flow outside the plot area. The default is `"justify"`, which aligns them
  15973. * inside the plot area. For columns and bars, this means it will be moved
  15974. * inside the bar. To display data labels outside the plot area, set `crop`
  15975. * to `false` and `overflow` to `"allow"`.
  15976. */
  15977. overflow?: DataLabelsOverflowValue;
  15978. /**
  15979. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  15980. * the `backgroundColor` is set, this is the padding within the box.
  15981. */
  15982. padding?: number;
  15983. /**
  15984. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  15985. * points. If `center` alignment is not possible, it defaults to `right`.
  15986. */
  15987. position?: AlignValue;
  15988. /**
  15989. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  15990. * that due to a more complex structure, backgrounds, borders and padding
  15991. * will be lost on a rotated data label.
  15992. */
  15993. rotation?: number;
  15994. /**
  15995. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  15996. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  15997. * an object configuration containing `color`, `offsetX`, `offsetY`,
  15998. * `opacity` and `width`.
  15999. */
  16000. shadow?: (boolean|ShadowOptionsObject);
  16001. /**
  16002. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  16003. * the border around the label. Symbols are predefined functions on the
  16004. * Renderer object.
  16005. */
  16006. shape?: string;
  16007. /**
  16008. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  16009. * default `color` setting is `"contrast"`, which is a pseudo color that
  16010. * Highcharts picks up and applies the maximum contrast to the underlying
  16011. * point item, for example the bar in a bar chart.
  16012. *
  16013. * The `textOutline` is a pseudo property that applies an outline of the
  16014. * given width with the given color, which by default is the maximum
  16015. * contrast to the text. So a bright text color will result in a black text
  16016. * outline for maximum readability on a mixed background. In some cases,
  16017. * especially with grayscale text, the text outline doesn't work well, in
  16018. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  16019. * is true, the `textOutline` will not be picked up. In this, case, the same
  16020. * effect can be acheived through the `text-shadow` CSS property.
  16021. *
  16022. * For some series types, where each point has an extent, like for example
  16023. * tree maps, the data label may overflow the point. There are two
  16024. * strategies for handling overflow. By default, the text will wrap to
  16025. * multiple lines. The other strategy is to set `style.textOverflow` to
  16026. * `ellipsis`, which will keep the text on one line plus it will break
  16027. * inside long words.
  16028. */
  16029. style?: CSSObject;
  16030. /**
  16031. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  16032. * should follow marker's shape. Border and background are disabled for a
  16033. * label that follows a path.
  16034. *
  16035. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  16036. * to true will disable this option.
  16037. */
  16038. textPath?: DataLabelsTextPathOptionsObject;
  16039. /**
  16040. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  16041. * the labels.
  16042. */
  16043. useHTML?: boolean;
  16044. /**
  16045. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  16046. * label. Can be one of `top`, `middle` or `bottom`. The default value
  16047. * depends on the data, for instance in a column chart, the label is above
  16048. * positive values and below negative values.
  16049. */
  16050. verticalAlign?: (VerticalAlignValue|null);
  16051. /**
  16052. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  16053. * label relative to the point in pixels.
  16054. */
  16055. x?: number;
  16056. /**
  16057. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  16058. * label relative to the point in pixels.
  16059. */
  16060. y?: number;
  16061. /**
  16062. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  16063. * The default Z index puts it above the series. Use a Z index of 2 to
  16064. * display it behind the series.
  16065. */
  16066. z?: number;
  16067. }
  16068. /**
  16069. * (Highcharts, Highstock) Options for the series data sorting.
  16070. */
  16071. export interface PlotAbandsDataSortingOptions {
  16072. /**
  16073. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  16074. * Use xAxis.reversed to change the sorting order.
  16075. */
  16076. enabled?: boolean;
  16077. /**
  16078. * (Highcharts, Highstock) Whether to allow matching points by name in an
  16079. * update. If this option is disabled, points will be matched by order.
  16080. */
  16081. matchByName?: boolean;
  16082. /**
  16083. * (Highcharts, Highstock) Determines what data value should be used to sort
  16084. * by.
  16085. */
  16086. sortKey?: string;
  16087. }
  16088. /**
  16089. * (Highstock) Acceleration bands (ABANDS). This series requires the `linkedTo`
  16090. * option to be set and should be loaded after the
  16091. * `stock/indicators/indicators.js`.
  16092. *
  16093. * In TypeScript the type option must always be set.
  16094. *
  16095. * Configuration options for the series are given in three levels:
  16096. *
  16097. * 1. Options for all series in a chart are defined in the plotOptions.series
  16098. * object.
  16099. *
  16100. * 2. Options for all `abands` series are defined in plotOptions.abands.
  16101. *
  16102. * 3. Options for one single series are given in the series instance array. (see
  16103. * online documentation for example)
  16104. */
  16105. export interface PlotAbandsOptions {
  16106. /**
  16107. * (Highstock) Accessibility options for a series.
  16108. */
  16109. accessibility?: SeriesAccessibilityOptionsObject;
  16110. /**
  16111. * (Highstock) Allow this series' points to be selected by clicking on the
  16112. * graphic (columns, point markers, pie slices, map areas etc).
  16113. *
  16114. * The selected points can be handled by point select and unselect events,
  16115. * or collectively by the getSelectedPoints function.
  16116. *
  16117. * And alternative way of selecting points is through dragging.
  16118. */
  16119. allowPointSelect?: boolean;
  16120. /**
  16121. * (Highstock) Enable or disable the initial animation when a series is
  16122. * displayed. The animation can also be set as a configuration object.
  16123. * Please note that this option only applies to the initial animation of the
  16124. * series itself. For other animations, see chart.animation and the
  16125. * animation parameter under the API methods. The following properties are
  16126. * supported:
  16127. *
  16128. * - `defer`: The animation delay time in milliseconds.
  16129. *
  16130. * - `duration`: The duration of the animation in milliseconds.
  16131. *
  16132. * - `easing`: Can be a string reference to an easing function set on the
  16133. * `Math` object or a function. See the _Custom easing function_ demo below.
  16134. *
  16135. * Due to poor performance, animation is disabled in old IE browsers for
  16136. * several chart types.
  16137. */
  16138. animation?: (boolean|PlotAbandsAnimationOptions|Partial<AnimationOptionsObject>);
  16139. /**
  16140. * (Highstock) For some series, there is a limit that shuts down initial
  16141. * animation by default when the total number of points in the chart is too
  16142. * high. For example, for a column chart and its derivatives, animation does
  16143. * not run if there is more than 250 points totally. To disable this cap,
  16144. * set `animationLimit` to `Infinity`.
  16145. */
  16146. animationLimit?: number;
  16147. /**
  16148. * (Highstock) Sets the color blending in the boost module.
  16149. */
  16150. boostBlending?: OptionsBoostBlendingValue;
  16151. /**
  16152. * (Highstock) Set the point threshold for when a series should enter boost
  16153. * mode.
  16154. *
  16155. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  16156. * there are 2000 or more points in the series.
  16157. *
  16158. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  16159. * it to 1 will force boosting.
  16160. *
  16161. * Note that the cropThreshold also affects this setting. When zooming in on
  16162. * a series that has fewer points than the `cropThreshold`, all points are
  16163. * rendered although outside the visible plot area, and the `boostThreshold`
  16164. * won't take effect.
  16165. */
  16166. boostThreshold?: number;
  16167. /**
  16168. * (Highmaps) The border color of the map areas.
  16169. *
  16170. * In styled mode, the border stroke is given in the `.highcharts-point`
  16171. * class.
  16172. */
  16173. borderColor?: (ColorString|GradientColorObject|PatternObject);
  16174. /**
  16175. * (Highmaps) The border width of each map area.
  16176. *
  16177. * In styled mode, the border stroke width is given in the
  16178. * `.highcharts-point` class.
  16179. */
  16180. borderWidth?: number;
  16181. bottomLine?: PlotAbandsBottomLineOptions;
  16182. /**
  16183. * (Highstock) An additional class name to apply to the series' graphical
  16184. * elements. This option does not replace default class names of the
  16185. * graphical element.
  16186. */
  16187. className?: string;
  16188. /**
  16189. * (Highstock) Disable this option to allow series rendering in the whole
  16190. * plotting area.
  16191. *
  16192. * **Note:** Clipping should be always enabled when chart.zoomType is set
  16193. */
  16194. clip?: boolean;
  16195. /**
  16196. * (Highstock) The main color of the series. In line type series it applies
  16197. * to the line and the point markers unless otherwise specified. In bar type
  16198. * series it applies to the bars unless a color is specified per point. The
  16199. * default value is pulled from the `options.colors` array.
  16200. *
  16201. * In styled mode, the color can be defined by the colorIndex option. Also,
  16202. * the series color can be set with the `.highcharts-series`,
  16203. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  16204. * `.highcharts-series-{n}` class, or individual classes given by the
  16205. * `className` option.
  16206. */
  16207. color?: (ColorString|GradientColorObject|PatternObject);
  16208. /**
  16209. * (Highstock) Styled mode only. A specific color index to use for the
  16210. * series, so its graphic representations are given the class name
  16211. * `highcharts-color-{n}`.
  16212. */
  16213. colorIndex?: number;
  16214. /**
  16215. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  16216. * used to calculate point color if `colorAxis` is used. Requires to set
  16217. * `min` and `max` if some custom point property is used or if approximation
  16218. * for data grouping is set to `'sum'`.
  16219. */
  16220. colorKey?: string;
  16221. /**
  16222. * (Highstock) Defines if comparison should start from the first point
  16223. * within the visible range or should start from the first point **before**
  16224. * the range.
  16225. *
  16226. * In other words, this flag determines if first point within the visible
  16227. * range will have 0% (`compareStart=true`) or should have been already
  16228. * calculated according to the previous point (`compareStart=false`).
  16229. */
  16230. compareStart?: boolean;
  16231. /**
  16232. * (Highstock) Whether to compare indicator to the main series values or
  16233. * indicator values.
  16234. */
  16235. compareToMain?: boolean;
  16236. /**
  16237. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  16238. * series plot across the extremes.
  16239. */
  16240. connectEnds?: boolean;
  16241. /**
  16242. * (Highcharts, Highstock) Whether to connect a graph line across null
  16243. * points, or render a gap between the two points on either side of the
  16244. * null.
  16245. */
  16246. connectNulls?: boolean;
  16247. /**
  16248. * (Gantt) Override Pathfinder connector options for a series. Requires
  16249. * Highcharts Gantt to be loaded.
  16250. */
  16251. connectors?: SeriesConnectorsOptionsObject;
  16252. /**
  16253. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  16254. * rounded to its nearest pixel in order to render sharp on screen. In some
  16255. * cases, when there are a lot of densely packed columns, this leads to
  16256. * visible difference in column widths or distance between columns. In these
  16257. * cases, setting `crisp` to `false` may look better, even though each
  16258. * column is rendered blurry.
  16259. */
  16260. crisp?: boolean;
  16261. /**
  16262. * (Highcharts, Highstock) When the series contains less points than the
  16263. * crop threshold, all points are drawn, even if the points fall outside the
  16264. * visible plot area at the current zoom. The advantage of drawing all
  16265. * points (including markers and columns), is that animation is performed on
  16266. * updates. On the other hand, when the series contains more points than the
  16267. * crop threshold, the series data is cropped to only contain points that
  16268. * fall within the plot area. The advantage of cropping away invisible
  16269. * points is to increase performance on large series.
  16270. */
  16271. cropThreshold?: number;
  16272. /**
  16273. * (Highstock) You can set the cursor to "pointer" if you have click events
  16274. * attached to the series, to signal to the user that the points and lines
  16275. * can be clicked.
  16276. *
  16277. * In styled mode, the series cursor can be set with the same classes as
  16278. * listed under series.color.
  16279. */
  16280. cursor?: (string|CursorValue);
  16281. /**
  16282. * (Highstock) A reserved subspace to store options and values for
  16283. * customized functionality. Here you can add additional data for your own
  16284. * event callbacks and formatter callbacks.
  16285. */
  16286. custom?: Dictionary<any>;
  16287. /**
  16288. * (Highstock) Name of the dash style to use for the graph, or for some
  16289. * series types the outline of each shape.
  16290. *
  16291. * In styled mode, the stroke dash-array can be set with the same classes as
  16292. * listed under series.color.
  16293. */
  16294. dashStyle?: DashStyleValue;
  16295. /**
  16296. * (Highstock) Data grouping is the concept of sampling the data values into
  16297. * larger blocks in order to ease readability and increase performance of
  16298. * the JavaScript charts. Highstock by default applies data grouping when
  16299. * the points become closer than a certain pixel value, determined by the
  16300. * `groupPixelWidth` option.
  16301. *
  16302. * If data grouping is applied, the grouping information of grouped points
  16303. * can be read from the Point.dataGroup. If point options other than the
  16304. * data itself are set, for example `name` or `color` or custom properties,
  16305. * the grouping logic doesn't know how to group it. In this case the options
  16306. * of the first point instance are copied over to the group point. This can
  16307. * be altered through a custom `approximation` callback function.
  16308. */
  16309. dataGrouping?: DataGroupingOptionsObject;
  16310. /**
  16311. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  16312. * labels, appearing next to each data point.
  16313. *
  16314. * Since v6.2.0, multiple data labels can be applied to each single point by
  16315. * defining them as an array of configs.
  16316. *
  16317. * In styled mode, the data labels can be styled with the
  16318. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  16319. * (see example).
  16320. */
  16321. dataLabels?: (PlotAbandsDataLabelsOptions|Array<PlotAbandsDataLabelsOptions>);
  16322. /**
  16323. * (Highcharts, Highstock) Options for the series data sorting.
  16324. */
  16325. dataSorting?: (DataSortingOptionsObject|PlotAbandsDataSortingOptions);
  16326. /**
  16327. * (Highstock) A description of the series to add to the screen reader
  16328. * information about the series.
  16329. */
  16330. description?: string;
  16331. /**
  16332. * (Highstock) Enable or disable the mouse tracking for a specific series.
  16333. * This includes point tooltips and click events on graphs and points. For
  16334. * large datasets it improves performance.
  16335. */
  16336. enableMouseTracking?: boolean;
  16337. /**
  16338. * (Highstock) General event handlers for the series items. These event
  16339. * hooks can also be attached to the series at run time using the
  16340. * `Highcharts.addEvent` function.
  16341. */
  16342. events?: SeriesEventsOptionsObject;
  16343. /**
  16344. * (Highstock) Determines whether the series should look for the nearest
  16345. * point in both dimensions or just the x-dimension when hovering the
  16346. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  16347. * series. If the data has duplicate x-values, it is recommended to set this
  16348. * to `'xy'` to allow hovering over all points.
  16349. *
  16350. * Applies only to series types using nearest neighbor search (not direct
  16351. * hover) for tooltip.
  16352. */
  16353. findNearestPointBy?: OptionsFindNearestPointByValue;
  16354. /**
  16355. * (Highstock) Defines when to display a gap in the graph, together with the
  16356. * gapUnit option.
  16357. *
  16358. * In case when `dataGrouping` is enabled, points can be grouped into a
  16359. * larger time span. This can make the grouped points to have a greater
  16360. * distance than the absolute value of `gapSize` property, which will result
  16361. * in disappearing graph completely. To prevent this situation the mentioned
  16362. * distance between grouped points is used instead of previously defined
  16363. * `gapSize`.
  16364. *
  16365. * In practice, this option is most often used to visualize gaps in time
  16366. * series. In a stock chart, intraday data is available for daytime hours,
  16367. * while gaps will appear in nights and weekends.
  16368. */
  16369. gapSize?: number;
  16370. /**
  16371. * (Highstock) Together with gapSize, this option defines where to draw gaps
  16372. * in the graph.
  16373. *
  16374. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  16375. * if the distance between two points is greater than 5 times that of the
  16376. * two closest points, the graph will be broken.
  16377. *
  16378. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  16379. * values, which on a datetime axis is milliseconds. This also applies to
  16380. * the navigator series that inherits gap options from the base series.
  16381. */
  16382. gapUnit?: OptionsGapUnitValue;
  16383. /**
  16384. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  16385. * chart width or only the zoomed area when zooming in on parts of the X
  16386. * axis. By default, the Y axis adjusts to the min and max of the visible
  16387. * data. Cartesian series only.
  16388. */
  16389. getExtremesFromAll?: boolean;
  16390. /**
  16391. * (Highstock) When set to `false` will prevent the series data from being
  16392. * included in any form of data export.
  16393. *
  16394. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  16395. * `includeInCSVExport`.
  16396. */
  16397. includeInDataExport?: boolean;
  16398. /**
  16399. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  16400. * series as possible in a natural way, seeking to avoid other series. The
  16401. * goal of this feature is to make the chart more easily readable, like if a
  16402. * human designer placed the labels in the optimal position.
  16403. *
  16404. * The series labels currently work with series types having a `graph` or an
  16405. * `area`.
  16406. */
  16407. label?: SeriesLabelOptionsObject;
  16408. /**
  16409. * (Highstock) The line marks the last price from all points.
  16410. */
  16411. lastPrice?: SeriesLastPriceOptionsObject;
  16412. /**
  16413. * (Highstock) The line marks the last price from visible range of points.
  16414. */
  16415. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  16416. /**
  16417. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  16418. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  16419. * the ends and bends.
  16420. */
  16421. linecap?: SeriesLinecapValue;
  16422. /**
  16423. * (Highcharts, Highstock) Pixel width of the graph line.
  16424. */
  16425. lineWidth?: number;
  16426. /**
  16427. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  16428. * based on. Required for this indicator.
  16429. */
  16430. linkedTo?: string;
  16431. /**
  16432. * (Highstock) Options for the point markers of line-like series. Properties
  16433. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  16434. * appearance of the markers. Other series types, like column series, don't
  16435. * have markers, but have visual options on the series level instead.
  16436. *
  16437. * In styled mode, the markers can be styled with the `.highcharts-point`,
  16438. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  16439. */
  16440. marker?: PointMarkerOptionsObject;
  16441. /**
  16442. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  16443. * If not set, it will be based on a technical indicator type and default
  16444. * params.
  16445. */
  16446. name?: string;
  16447. /**
  16448. * (Highstock) The color for the parts of the graph or points that are below
  16449. * the threshold. Note that `zones` takes precedence over the negative
  16450. * color. Using `negativeColor` is equivalent to applying a zone with value
  16451. * of 0.
  16452. */
  16453. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  16454. /**
  16455. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  16456. * dataLabels.
  16457. */
  16458. opacity?: number;
  16459. /**
  16460. * (Highstock) Paramters used in calculation of regression series' points.
  16461. */
  16462. params?: PlotAbandsParamsOptions;
  16463. /**
  16464. * (Highstock) Properties for each single point.
  16465. */
  16466. point?: PlotSeriesPointOptions;
  16467. /**
  16468. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  16469. * individual series. Overrides the chart wide configuration.
  16470. */
  16471. pointDescriptionFormatter?: Function;
  16472. /**
  16473. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  16474. * true, the checkbox next to the series name in the legend will be checked
  16475. * for a selected series.
  16476. */
  16477. selected?: boolean;
  16478. /**
  16479. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  16480. * the shadow can be an object configuration containing `color`, `offsetX`,
  16481. * `offsetY`, `opacity` and `width`.
  16482. */
  16483. shadow?: (boolean|ShadowOptionsObject);
  16484. /**
  16485. * (Highstock) If true, a checkbox is displayed next to the legend item to
  16486. * allow selecting the series. The state of the checkbox is determined by
  16487. * the `selected` option.
  16488. */
  16489. showCheckbox?: boolean;
  16490. /**
  16491. * (Highstock) Whether to display this particular series or series type in
  16492. * the legend. Standalone series are shown in legend by default, and linked
  16493. * series are not. Since v7.2.0 it is possible to show series that use
  16494. * colorAxis by setting this option to `true`.
  16495. */
  16496. showInLegend?: boolean;
  16497. /**
  16498. * (Highstock) If set to `true`, the accessibility module will skip past the
  16499. * points in this series for keyboard navigation.
  16500. */
  16501. skipKeyboardNavigation?: boolean;
  16502. /**
  16503. * (Highcharts, Highstock) When this is true, the series will not cause the
  16504. * Y axis to cross the zero plane (or threshold option) unless the data
  16505. * actually crosses the plane.
  16506. *
  16507. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  16508. * make the Y axis show negative values according to the `minPadding`
  16509. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  16510. */
  16511. softThreshold?: boolean;
  16512. states?: SeriesStatesOptionsObject;
  16513. /**
  16514. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  16515. * values are `left`, `center` and `right`.
  16516. */
  16517. step?: OptionsStepValue;
  16518. /**
  16519. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  16520. * event on a series isn't triggered until the mouse moves over another
  16521. * series, or out of the plot area. When false, the `mouseOut` event on a
  16522. * series is triggered when the mouse leaves the area around the series'
  16523. * graph or markers. This also implies the tooltip when not shared. When
  16524. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  16525. * be hidden when moving the mouse between series. Defaults to true for line
  16526. * and area type series, but to false for columns, pies etc.
  16527. *
  16528. * **Note:** The boost module will force this option because of technical
  16529. * limitations.
  16530. */
  16531. stickyTracking?: boolean;
  16532. /**
  16533. * (Highcharts, Highstock) The threshold, also called zero level or base
  16534. * level. For line type series this is only used in conjunction with
  16535. * negativeColor.
  16536. */
  16537. threshold?: number;
  16538. /**
  16539. * (Highstock) A configuration object for the tooltip rendering of each
  16540. * single series. Properties are inherited from tooltip, but only the
  16541. * following properties can be defined on a series level.
  16542. */
  16543. tooltip?: SeriesTooltipOptionsObject;
  16544. topLine?: PlotAbandsTopLineOptions;
  16545. /**
  16546. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  16547. * is longer than this, only one dimensional arrays of numbers, or two
  16548. * dimensional arrays with x and y values are allowed. Also, only the first
  16549. * point is tested, and the rest are assumed to be the same format. This
  16550. * saves expensive data checking and indexing in long series. Set it to `0`
  16551. * disable.
  16552. *
  16553. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  16554. * two dimensional arrays are allowed.
  16555. */
  16556. turboThreshold?: number;
  16557. /**
  16558. * (Highstock) Set the initial visibility of the series.
  16559. */
  16560. visible?: boolean;
  16561. /**
  16562. * (Highmaps) Define the z index of the series.
  16563. */
  16564. zIndex?: number;
  16565. /**
  16566. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  16567. */
  16568. zoneAxis?: string;
  16569. /**
  16570. * (Highcharts, Highstock) An array defining zones within a series. Zones
  16571. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  16572. * the `zoneAxis` option. The zone definitions have to be in ascending order
  16573. * regarding to the value.
  16574. *
  16575. * In styled mode, the color zones are styled with the
  16576. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  16577. * option (view live demo).
  16578. */
  16579. zones?: Array<SeriesZonesOptionsObject>;
  16580. }
  16581. /**
  16582. * (Highstock) Paramters used in calculation of regression series' points.
  16583. */
  16584. export interface PlotAbandsParamsOptions {
  16585. /**
  16586. * (Highstock) The algorithms factor value used to calculate bands.
  16587. */
  16588. factor?: number;
  16589. /**
  16590. * (Highstock) The point index which indicator calculations will base. For
  16591. * example using OHLC data, index=2 means the indicator will be calculated
  16592. * using Low values.
  16593. */
  16594. index?: number;
  16595. /**
  16596. * (Highstock) The base period for indicator calculations. This is the
  16597. * number of data points which are taken into account for the indicator
  16598. * calculations.
  16599. */
  16600. period?: number;
  16601. }
  16602. export interface PlotAbandsTopLineOptions {
  16603. styles?: PlotAbandsTopLineStylesOptions;
  16604. }
  16605. export interface PlotAbandsTopLineStylesOptions {
  16606. /**
  16607. * (Highstock) Pixel width of the line.
  16608. */
  16609. lineWidth?: number;
  16610. }
  16611. /**
  16612. * (Highstock) Enable or disable the initial animation when a series is
  16613. * displayed. The animation can also be set as a configuration object. Please
  16614. * note that this option only applies to the initial animation of the series
  16615. * itself. For other animations, see chart.animation and the animation parameter
  16616. * under the API methods. The following properties are supported:
  16617. *
  16618. * - `defer`: The animation delay time in milliseconds.
  16619. *
  16620. * - `duration`: The duration of the animation in milliseconds.
  16621. *
  16622. * - `easing`: Can be a string reference to an easing function set on the `Math`
  16623. * object or a function. See the _Custom easing function_ demo below.
  16624. *
  16625. * Due to poor performance, animation is disabled in old IE browsers for several
  16626. * chart types.
  16627. */
  16628. export interface PlotAdAnimationOptions {
  16629. defer?: number;
  16630. }
  16631. /**
  16632. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  16633. * animation when a series is displayed for the `dataLabels`. The animation can
  16634. * also be set as a configuration object. Please note that this option only
  16635. * applies to the initial animation. For other animations, see chart.animation
  16636. * and the animation parameter under the API methods. The following properties
  16637. * are supported:
  16638. *
  16639. * - `defer`: The animation delay time in milliseconds.
  16640. */
  16641. export interface PlotAdDataLabelsAnimationOptions {
  16642. /**
  16643. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  16644. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  16645. * inherits defer time from the series.animation.defer.
  16646. */
  16647. defer?: number;
  16648. }
  16649. /**
  16650. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  16651. * appearing next to each data point.
  16652. *
  16653. * Since v6.2.0, multiple data labels can be applied to each single point by
  16654. * defining them as an array of configs.
  16655. *
  16656. * In styled mode, the data labels can be styled with the
  16657. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  16658. * example).
  16659. */
  16660. export interface PlotAdDataLabelsOptions {
  16661. /**
  16662. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  16663. * compared to the point. If `right`, the right side of the label should be
  16664. * touching the point. For points with an extent, like columns, the
  16665. * alignments also dictates how to align it inside the box, as given with
  16666. * the inside option. Can be one of `left`, `center` or `right`.
  16667. */
  16668. align?: (AlignValue|null);
  16669. /**
  16670. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  16671. * overlap. To make the labels less sensitive for overlapping, the
  16672. * dataLabels.padding can be set to 0.
  16673. */
  16674. allowOverlap?: boolean;
  16675. /**
  16676. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  16677. * animation when a series is displayed for the `dataLabels`. The animation
  16678. * can also be set as a configuration object. Please note that this option
  16679. * only applies to the initial animation. For other animations, see
  16680. * chart.animation and the animation parameter under the API methods. The
  16681. * following properties are supported:
  16682. *
  16683. * - `defer`: The animation delay time in milliseconds.
  16684. */
  16685. animation?: (boolean|PlotAdDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  16686. /**
  16687. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  16688. * for the data label.
  16689. */
  16690. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  16691. /**
  16692. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  16693. * label. Defaults to `undefined`.
  16694. */
  16695. borderColor?: (ColorString|GradientColorObject|PatternObject);
  16696. /**
  16697. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  16698. * the data label.
  16699. */
  16700. borderRadius?: number;
  16701. /**
  16702. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  16703. * the data label.
  16704. */
  16705. borderWidth?: number;
  16706. /**
  16707. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  16708. * Particularly in styled mode, this can be used to give each series' or
  16709. * point's data label unique styling. In addition to this option, a default
  16710. * color class name is added so that we can give the labels a contrast text
  16711. * shadow.
  16712. */
  16713. className?: string;
  16714. /**
  16715. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  16716. * labels. Defaults to `undefined`. For certain series types, like column or
  16717. * map, the data labels can be drawn inside the points. In this case the
  16718. * data label will be drawn with maximum contrast by default. Additionally,
  16719. * it will be given a `text-outline` style with the opposite color, to
  16720. * further increase the contrast. This can be overridden by setting the
  16721. * `text-outline` style to `none` in the `dataLabels.style` option.
  16722. */
  16723. color?: (ColorString|GradientColorObject|PatternObject);
  16724. /**
  16725. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  16726. * are outside the plot area. By default, the data label is moved inside the
  16727. * plot area according to the overflow option.
  16728. */
  16729. crop?: boolean;
  16730. /**
  16731. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  16732. * labels until the initial series animation has finished. Setting to
  16733. * `false` renders the data label immediately. If set to `true` inherits the
  16734. * defer time set in plotOptions.series.animation.
  16735. */
  16736. defer?: boolean;
  16737. /**
  16738. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  16739. * labels.
  16740. */
  16741. enabled?: boolean;
  16742. /**
  16743. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  16744. * of which data labels to display. The declarative filter is designed for
  16745. * use when callback functions are not available, like when the chart
  16746. * options require a pure JSON structure or for use with graphical editors.
  16747. * For programmatic control, use the `formatter` instead, and return
  16748. * `undefined` to disable a single data label.
  16749. */
  16750. filter?: DataLabelsFilterOptionsObject;
  16751. /**
  16752. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  16753. * label. Available variables are the same as for `formatter`.
  16754. */
  16755. format?: string;
  16756. /**
  16757. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  16758. * format the data label. Note that if a `format` is defined, the format
  16759. * takes precedence and the formatter is ignored.
  16760. */
  16761. formatter?: DataLabelsFormatterCallbackFunction;
  16762. /**
  16763. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  16764. * columns or map areas, whether to align the data label inside the box or
  16765. * to the actual value point. Defaults to `false` in most cases, `true` in
  16766. * stacked columns.
  16767. */
  16768. inside?: boolean;
  16769. /**
  16770. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  16771. * of null. Works analogously to format. `nullFormat` can be applied only to
  16772. * series which support displaying null points.
  16773. */
  16774. nullFormat?: (boolean|string);
  16775. /**
  16776. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  16777. * that defines formatting for points with the value of null. Works
  16778. * analogously to formatter. `nullPointFormatter` can be applied only to
  16779. * series which support displaying null points.
  16780. */
  16781. nullFormatter?: DataLabelsFormatterCallbackFunction;
  16782. /**
  16783. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  16784. * flow outside the plot area. The default is `"justify"`, which aligns them
  16785. * inside the plot area. For columns and bars, this means it will be moved
  16786. * inside the bar. To display data labels outside the plot area, set `crop`
  16787. * to `false` and `overflow` to `"allow"`.
  16788. */
  16789. overflow?: DataLabelsOverflowValue;
  16790. /**
  16791. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  16792. * the `backgroundColor` is set, this is the padding within the box.
  16793. */
  16794. padding?: number;
  16795. /**
  16796. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  16797. * points. If `center` alignment is not possible, it defaults to `right`.
  16798. */
  16799. position?: AlignValue;
  16800. /**
  16801. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  16802. * that due to a more complex structure, backgrounds, borders and padding
  16803. * will be lost on a rotated data label.
  16804. */
  16805. rotation?: number;
  16806. /**
  16807. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  16808. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  16809. * an object configuration containing `color`, `offsetX`, `offsetY`,
  16810. * `opacity` and `width`.
  16811. */
  16812. shadow?: (boolean|ShadowOptionsObject);
  16813. /**
  16814. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  16815. * the border around the label. Symbols are predefined functions on the
  16816. * Renderer object.
  16817. */
  16818. shape?: string;
  16819. /**
  16820. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  16821. * default `color` setting is `"contrast"`, which is a pseudo color that
  16822. * Highcharts picks up and applies the maximum contrast to the underlying
  16823. * point item, for example the bar in a bar chart.
  16824. *
  16825. * The `textOutline` is a pseudo property that applies an outline of the
  16826. * given width with the given color, which by default is the maximum
  16827. * contrast to the text. So a bright text color will result in a black text
  16828. * outline for maximum readability on a mixed background. In some cases,
  16829. * especially with grayscale text, the text outline doesn't work well, in
  16830. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  16831. * is true, the `textOutline` will not be picked up. In this, case, the same
  16832. * effect can be acheived through the `text-shadow` CSS property.
  16833. *
  16834. * For some series types, where each point has an extent, like for example
  16835. * tree maps, the data label may overflow the point. There are two
  16836. * strategies for handling overflow. By default, the text will wrap to
  16837. * multiple lines. The other strategy is to set `style.textOverflow` to
  16838. * `ellipsis`, which will keep the text on one line plus it will break
  16839. * inside long words.
  16840. */
  16841. style?: CSSObject;
  16842. /**
  16843. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  16844. * should follow marker's shape. Border and background are disabled for a
  16845. * label that follows a path.
  16846. *
  16847. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  16848. * to true will disable this option.
  16849. */
  16850. textPath?: DataLabelsTextPathOptionsObject;
  16851. /**
  16852. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  16853. * the labels.
  16854. */
  16855. useHTML?: boolean;
  16856. /**
  16857. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  16858. * label. Can be one of `top`, `middle` or `bottom`. The default value
  16859. * depends on the data, for instance in a column chart, the label is above
  16860. * positive values and below negative values.
  16861. */
  16862. verticalAlign?: (VerticalAlignValue|null);
  16863. /**
  16864. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  16865. * label relative to the point in pixels.
  16866. */
  16867. x?: number;
  16868. /**
  16869. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  16870. * label relative to the point in pixels.
  16871. */
  16872. y?: number;
  16873. /**
  16874. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  16875. * The default Z index puts it above the series. Use a Z index of 2 to
  16876. * display it behind the series.
  16877. */
  16878. z?: number;
  16879. }
  16880. /**
  16881. * (Highcharts, Highstock) Options for the series data sorting.
  16882. */
  16883. export interface PlotAdDataSortingOptions {
  16884. /**
  16885. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  16886. * Use xAxis.reversed to change the sorting order.
  16887. */
  16888. enabled?: boolean;
  16889. /**
  16890. * (Highcharts, Highstock) Whether to allow matching points by name in an
  16891. * update. If this option is disabled, points will be matched by order.
  16892. */
  16893. matchByName?: boolean;
  16894. /**
  16895. * (Highcharts, Highstock) Determines what data value should be used to sort
  16896. * by.
  16897. */
  16898. sortKey?: string;
  16899. }
  16900. /**
  16901. * (Highstock) Accumulation Distribution (AD). This series requires `linkedTo`
  16902. * option to be set.
  16903. *
  16904. * In TypeScript the type option must always be set.
  16905. *
  16906. * Configuration options for the series are given in three levels:
  16907. *
  16908. * 1. Options for all series in a chart are defined in the plotOptions.series
  16909. * object.
  16910. *
  16911. * 2. Options for all `ad` series are defined in plotOptions.ad.
  16912. *
  16913. * 3. Options for one single series are given in the series instance array. (see
  16914. * online documentation for example)
  16915. */
  16916. export interface PlotAdOptions {
  16917. /**
  16918. * (Highstock) Accessibility options for a series.
  16919. */
  16920. accessibility?: SeriesAccessibilityOptionsObject;
  16921. /**
  16922. * (Highstock) Allow this series' points to be selected by clicking on the
  16923. * graphic (columns, point markers, pie slices, map areas etc).
  16924. *
  16925. * The selected points can be handled by point select and unselect events,
  16926. * or collectively by the getSelectedPoints function.
  16927. *
  16928. * And alternative way of selecting points is through dragging.
  16929. */
  16930. allowPointSelect?: boolean;
  16931. /**
  16932. * (Highstock) Enable or disable the initial animation when a series is
  16933. * displayed. The animation can also be set as a configuration object.
  16934. * Please note that this option only applies to the initial animation of the
  16935. * series itself. For other animations, see chart.animation and the
  16936. * animation parameter under the API methods. The following properties are
  16937. * supported:
  16938. *
  16939. * - `defer`: The animation delay time in milliseconds.
  16940. *
  16941. * - `duration`: The duration of the animation in milliseconds.
  16942. *
  16943. * - `easing`: Can be a string reference to an easing function set on the
  16944. * `Math` object or a function. See the _Custom easing function_ demo below.
  16945. *
  16946. * Due to poor performance, animation is disabled in old IE browsers for
  16947. * several chart types.
  16948. */
  16949. animation?: (boolean|PlotAdAnimationOptions|Partial<AnimationOptionsObject>);
  16950. /**
  16951. * (Highstock) For some series, there is a limit that shuts down initial
  16952. * animation by default when the total number of points in the chart is too
  16953. * high. For example, for a column chart and its derivatives, animation does
  16954. * not run if there is more than 250 points totally. To disable this cap,
  16955. * set `animationLimit` to `Infinity`.
  16956. */
  16957. animationLimit?: number;
  16958. /**
  16959. * (Highstock) Sets the color blending in the boost module.
  16960. */
  16961. boostBlending?: OptionsBoostBlendingValue;
  16962. /**
  16963. * (Highstock) Set the point threshold for when a series should enter boost
  16964. * mode.
  16965. *
  16966. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  16967. * there are 2000 or more points in the series.
  16968. *
  16969. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  16970. * it to 1 will force boosting.
  16971. *
  16972. * Note that the cropThreshold also affects this setting. When zooming in on
  16973. * a series that has fewer points than the `cropThreshold`, all points are
  16974. * rendered although outside the visible plot area, and the `boostThreshold`
  16975. * won't take effect.
  16976. */
  16977. boostThreshold?: number;
  16978. /**
  16979. * (Highmaps) The border color of the map areas.
  16980. *
  16981. * In styled mode, the border stroke is given in the `.highcharts-point`
  16982. * class.
  16983. */
  16984. borderColor?: (ColorString|GradientColorObject|PatternObject);
  16985. /**
  16986. * (Highmaps) The border width of each map area.
  16987. *
  16988. * In styled mode, the border stroke width is given in the
  16989. * `.highcharts-point` class.
  16990. */
  16991. borderWidth?: number;
  16992. /**
  16993. * (Highstock) An additional class name to apply to the series' graphical
  16994. * elements. This option does not replace default class names of the
  16995. * graphical element.
  16996. */
  16997. className?: string;
  16998. /**
  16999. * (Highstock) Disable this option to allow series rendering in the whole
  17000. * plotting area.
  17001. *
  17002. * **Note:** Clipping should be always enabled when chart.zoomType is set
  17003. */
  17004. clip?: boolean;
  17005. /**
  17006. * (Highstock) The main color of the series. In line type series it applies
  17007. * to the line and the point markers unless otherwise specified. In bar type
  17008. * series it applies to the bars unless a color is specified per point. The
  17009. * default value is pulled from the `options.colors` array.
  17010. *
  17011. * In styled mode, the color can be defined by the colorIndex option. Also,
  17012. * the series color can be set with the `.highcharts-series`,
  17013. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  17014. * `.highcharts-series-{n}` class, or individual classes given by the
  17015. * `className` option.
  17016. */
  17017. color?: (ColorString|GradientColorObject|PatternObject);
  17018. /**
  17019. * (Highstock) Styled mode only. A specific color index to use for the
  17020. * series, so its graphic representations are given the class name
  17021. * `highcharts-color-{n}`.
  17022. */
  17023. colorIndex?: number;
  17024. /**
  17025. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  17026. * used to calculate point color if `colorAxis` is used. Requires to set
  17027. * `min` and `max` if some custom point property is used or if approximation
  17028. * for data grouping is set to `'sum'`.
  17029. */
  17030. colorKey?: string;
  17031. /**
  17032. * (Highstock) Compare the values of the series against the first non-null,
  17033. * non- zero value in the visible range. The y axis will show percentage or
  17034. * absolute change depending on whether `compare` is set to `"percent"` or
  17035. * `"value"`. When this is applied to multiple series, it allows comparing
  17036. * the development of the series against each other. Adds a `change` field
  17037. * to every point object.
  17038. */
  17039. compare?: string;
  17040. /**
  17041. * (Highstock) When compare is `percent`, this option dictates whether to
  17042. * use 0 or 100 as the base of comparison.
  17043. */
  17044. compareBase?: (0|100);
  17045. /**
  17046. * (Highstock) Defines if comparison should start from the first point
  17047. * within the visible range or should start from the first point **before**
  17048. * the range.
  17049. *
  17050. * In other words, this flag determines if first point within the visible
  17051. * range will have 0% (`compareStart=true`) or should have been already
  17052. * calculated according to the previous point (`compareStart=false`).
  17053. */
  17054. compareStart?: boolean;
  17055. /**
  17056. * (Highstock) Whether to compare indicator to the main series values or
  17057. * indicator values.
  17058. */
  17059. compareToMain?: boolean;
  17060. /**
  17061. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  17062. * series plot across the extremes.
  17063. */
  17064. connectEnds?: boolean;
  17065. /**
  17066. * (Highcharts, Highstock) Whether to connect a graph line across null
  17067. * points, or render a gap between the two points on either side of the
  17068. * null.
  17069. */
  17070. connectNulls?: boolean;
  17071. /**
  17072. * (Gantt) Override Pathfinder connector options for a series. Requires
  17073. * Highcharts Gantt to be loaded.
  17074. */
  17075. connectors?: SeriesConnectorsOptionsObject;
  17076. /**
  17077. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  17078. * rounded to its nearest pixel in order to render sharp on screen. In some
  17079. * cases, when there are a lot of densely packed columns, this leads to
  17080. * visible difference in column widths or distance between columns. In these
  17081. * cases, setting `crisp` to `false` may look better, even though each
  17082. * column is rendered blurry.
  17083. */
  17084. crisp?: boolean;
  17085. /**
  17086. * (Highcharts, Highstock) When the series contains less points than the
  17087. * crop threshold, all points are drawn, even if the points fall outside the
  17088. * visible plot area at the current zoom. The advantage of drawing all
  17089. * points (including markers and columns), is that animation is performed on
  17090. * updates. On the other hand, when the series contains more points than the
  17091. * crop threshold, the series data is cropped to only contain points that
  17092. * fall within the plot area. The advantage of cropping away invisible
  17093. * points is to increase performance on large series.
  17094. */
  17095. cropThreshold?: number;
  17096. /**
  17097. * (Highstock) You can set the cursor to "pointer" if you have click events
  17098. * attached to the series, to signal to the user that the points and lines
  17099. * can be clicked.
  17100. *
  17101. * In styled mode, the series cursor can be set with the same classes as
  17102. * listed under series.color.
  17103. */
  17104. cursor?: (string|CursorValue);
  17105. /**
  17106. * (Highstock) A reserved subspace to store options and values for
  17107. * customized functionality. Here you can add additional data for your own
  17108. * event callbacks and formatter callbacks.
  17109. */
  17110. custom?: Dictionary<any>;
  17111. /**
  17112. * (Highstock) Name of the dash style to use for the graph, or for some
  17113. * series types the outline of each shape.
  17114. *
  17115. * In styled mode, the stroke dash-array can be set with the same classes as
  17116. * listed under series.color.
  17117. */
  17118. dashStyle?: DashStyleValue;
  17119. /**
  17120. * (Highstock) Data grouping is the concept of sampling the data values into
  17121. * larger blocks in order to ease readability and increase performance of
  17122. * the JavaScript charts. Highstock by default applies data grouping when
  17123. * the points become closer than a certain pixel value, determined by the
  17124. * `groupPixelWidth` option.
  17125. *
  17126. * If data grouping is applied, the grouping information of grouped points
  17127. * can be read from the Point.dataGroup. If point options other than the
  17128. * data itself are set, for example `name` or `color` or custom properties,
  17129. * the grouping logic doesn't know how to group it. In this case the options
  17130. * of the first point instance are copied over to the group point. This can
  17131. * be altered through a custom `approximation` callback function.
  17132. */
  17133. dataGrouping?: DataGroupingOptionsObject;
  17134. /**
  17135. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  17136. * labels, appearing next to each data point.
  17137. *
  17138. * Since v6.2.0, multiple data labels can be applied to each single point by
  17139. * defining them as an array of configs.
  17140. *
  17141. * In styled mode, the data labels can be styled with the
  17142. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  17143. * (see example).
  17144. */
  17145. dataLabels?: (PlotAdDataLabelsOptions|Array<PlotAdDataLabelsOptions>);
  17146. /**
  17147. * (Highcharts, Highstock) Options for the series data sorting.
  17148. */
  17149. dataSorting?: (DataSortingOptionsObject|PlotAdDataSortingOptions);
  17150. /**
  17151. * (Highstock) A description of the series to add to the screen reader
  17152. * information about the series.
  17153. */
  17154. description?: string;
  17155. /**
  17156. * (Highstock) Enable or disable the mouse tracking for a specific series.
  17157. * This includes point tooltips and click events on graphs and points. For
  17158. * large datasets it improves performance.
  17159. */
  17160. enableMouseTracking?: boolean;
  17161. /**
  17162. * (Highstock) General event handlers for the series items. These event
  17163. * hooks can also be attached to the series at run time using the
  17164. * `Highcharts.addEvent` function.
  17165. */
  17166. events?: SeriesEventsOptionsObject;
  17167. /**
  17168. * (Highstock) Determines whether the series should look for the nearest
  17169. * point in both dimensions or just the x-dimension when hovering the
  17170. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  17171. * series. If the data has duplicate x-values, it is recommended to set this
  17172. * to `'xy'` to allow hovering over all points.
  17173. *
  17174. * Applies only to series types using nearest neighbor search (not direct
  17175. * hover) for tooltip.
  17176. */
  17177. findNearestPointBy?: OptionsFindNearestPointByValue;
  17178. /**
  17179. * (Highstock) Defines when to display a gap in the graph, together with the
  17180. * gapUnit option.
  17181. *
  17182. * In case when `dataGrouping` is enabled, points can be grouped into a
  17183. * larger time span. This can make the grouped points to have a greater
  17184. * distance than the absolute value of `gapSize` property, which will result
  17185. * in disappearing graph completely. To prevent this situation the mentioned
  17186. * distance between grouped points is used instead of previously defined
  17187. * `gapSize`.
  17188. *
  17189. * In practice, this option is most often used to visualize gaps in time
  17190. * series. In a stock chart, intraday data is available for daytime hours,
  17191. * while gaps will appear in nights and weekends.
  17192. */
  17193. gapSize?: number;
  17194. /**
  17195. * (Highstock) Together with gapSize, this option defines where to draw gaps
  17196. * in the graph.
  17197. *
  17198. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  17199. * if the distance between two points is greater than 5 times that of the
  17200. * two closest points, the graph will be broken.
  17201. *
  17202. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  17203. * values, which on a datetime axis is milliseconds. This also applies to
  17204. * the navigator series that inherits gap options from the base series.
  17205. */
  17206. gapUnit?: OptionsGapUnitValue;
  17207. /**
  17208. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  17209. * chart width or only the zoomed area when zooming in on parts of the X
  17210. * axis. By default, the Y axis adjusts to the min and max of the visible
  17211. * data. Cartesian series only.
  17212. */
  17213. getExtremesFromAll?: boolean;
  17214. /**
  17215. * (Highstock) When set to `false` will prevent the series data from being
  17216. * included in any form of data export.
  17217. *
  17218. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  17219. * `includeInCSVExport`.
  17220. */
  17221. includeInDataExport?: boolean;
  17222. /**
  17223. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  17224. * series as possible in a natural way, seeking to avoid other series. The
  17225. * goal of this feature is to make the chart more easily readable, like if a
  17226. * human designer placed the labels in the optimal position.
  17227. *
  17228. * The series labels currently work with series types having a `graph` or an
  17229. * `area`.
  17230. */
  17231. label?: SeriesLabelOptionsObject;
  17232. /**
  17233. * (Highstock) The line marks the last price from all points.
  17234. */
  17235. lastPrice?: SeriesLastPriceOptionsObject;
  17236. /**
  17237. * (Highstock) The line marks the last price from visible range of points.
  17238. */
  17239. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  17240. /**
  17241. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  17242. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  17243. * the ends and bends.
  17244. */
  17245. linecap?: SeriesLinecapValue;
  17246. /**
  17247. * (Highcharts, Highstock) Pixel width of the graph line.
  17248. */
  17249. lineWidth?: number;
  17250. /**
  17251. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  17252. * based on. Required for this indicator.
  17253. */
  17254. linkedTo?: string;
  17255. /**
  17256. * (Highstock) Options for the point markers of line-like series. Properties
  17257. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  17258. * appearance of the markers. Other series types, like column series, don't
  17259. * have markers, but have visual options on the series level instead.
  17260. *
  17261. * In styled mode, the markers can be styled with the `.highcharts-point`,
  17262. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  17263. */
  17264. marker?: PointMarkerOptionsObject;
  17265. /**
  17266. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  17267. * If not set, it will be based on a technical indicator type and default
  17268. * params.
  17269. */
  17270. name?: string;
  17271. /**
  17272. * (Highstock) The color for the parts of the graph or points that are below
  17273. * the threshold. Note that `zones` takes precedence over the negative
  17274. * color. Using `negativeColor` is equivalent to applying a zone with value
  17275. * of 0.
  17276. */
  17277. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  17278. /**
  17279. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  17280. * dataLabels.
  17281. */
  17282. opacity?: number;
  17283. /**
  17284. * (Highstock) Paramters used in calculation of regression series' points.
  17285. */
  17286. params?: PlotAdParamsOptions;
  17287. /**
  17288. * (Highstock) Properties for each single point.
  17289. */
  17290. point?: PlotSeriesPointOptions;
  17291. /**
  17292. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  17293. * individual series. Overrides the chart wide configuration.
  17294. */
  17295. pointDescriptionFormatter?: Function;
  17296. /**
  17297. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  17298. * true, the checkbox next to the series name in the legend will be checked
  17299. * for a selected series.
  17300. */
  17301. selected?: boolean;
  17302. /**
  17303. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  17304. * the shadow can be an object configuration containing `color`, `offsetX`,
  17305. * `offsetY`, `opacity` and `width`.
  17306. */
  17307. shadow?: (boolean|ShadowOptionsObject);
  17308. /**
  17309. * (Highstock) If true, a checkbox is displayed next to the legend item to
  17310. * allow selecting the series. The state of the checkbox is determined by
  17311. * the `selected` option.
  17312. */
  17313. showCheckbox?: boolean;
  17314. /**
  17315. * (Highstock) Whether to display this particular series or series type in
  17316. * the legend. Standalone series are shown in legend by default, and linked
  17317. * series are not. Since v7.2.0 it is possible to show series that use
  17318. * colorAxis by setting this option to `true`.
  17319. */
  17320. showInLegend?: boolean;
  17321. /**
  17322. * (Highstock) If set to `true`, the accessibility module will skip past the
  17323. * points in this series for keyboard navigation.
  17324. */
  17325. skipKeyboardNavigation?: boolean;
  17326. /**
  17327. * (Highcharts, Highstock) When this is true, the series will not cause the
  17328. * Y axis to cross the zero plane (or threshold option) unless the data
  17329. * actually crosses the plane.
  17330. *
  17331. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  17332. * make the Y axis show negative values according to the `minPadding`
  17333. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  17334. */
  17335. softThreshold?: boolean;
  17336. states?: SeriesStatesOptionsObject;
  17337. /**
  17338. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  17339. * values are `left`, `center` and `right`.
  17340. */
  17341. step?: OptionsStepValue;
  17342. /**
  17343. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  17344. * event on a series isn't triggered until the mouse moves over another
  17345. * series, or out of the plot area. When false, the `mouseOut` event on a
  17346. * series is triggered when the mouse leaves the area around the series'
  17347. * graph or markers. This also implies the tooltip when not shared. When
  17348. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  17349. * be hidden when moving the mouse between series. Defaults to true for line
  17350. * and area type series, but to false for columns, pies etc.
  17351. *
  17352. * **Note:** The boost module will force this option because of technical
  17353. * limitations.
  17354. */
  17355. stickyTracking?: boolean;
  17356. /**
  17357. * (Highcharts, Highstock) The threshold, also called zero level or base
  17358. * level. For line type series this is only used in conjunction with
  17359. * negativeColor.
  17360. */
  17361. threshold?: number;
  17362. /**
  17363. * (Highstock) A configuration object for the tooltip rendering of each
  17364. * single series. Properties are inherited from tooltip, but only the
  17365. * following properties can be defined on a series level.
  17366. */
  17367. tooltip?: SeriesTooltipOptionsObject;
  17368. /**
  17369. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  17370. * is longer than this, only one dimensional arrays of numbers, or two
  17371. * dimensional arrays with x and y values are allowed. Also, only the first
  17372. * point is tested, and the rest are assumed to be the same format. This
  17373. * saves expensive data checking and indexing in long series. Set it to `0`
  17374. * disable.
  17375. *
  17376. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  17377. * two dimensional arrays are allowed.
  17378. */
  17379. turboThreshold?: number;
  17380. /**
  17381. * (Highstock) Set the initial visibility of the series.
  17382. */
  17383. visible?: boolean;
  17384. /**
  17385. * (Highmaps) Define the z index of the series.
  17386. */
  17387. zIndex?: number;
  17388. /**
  17389. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  17390. */
  17391. zoneAxis?: string;
  17392. /**
  17393. * (Highcharts, Highstock) An array defining zones within a series. Zones
  17394. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  17395. * the `zoneAxis` option. The zone definitions have to be in ascending order
  17396. * regarding to the value.
  17397. *
  17398. * In styled mode, the color zones are styled with the
  17399. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  17400. * option (view live demo).
  17401. */
  17402. zones?: Array<SeriesZonesOptionsObject>;
  17403. }
  17404. /**
  17405. * (Highstock) Paramters used in calculation of regression series' points.
  17406. */
  17407. export interface PlotAdParamsOptions {
  17408. /**
  17409. * (Highstock) The point index which indicator calculations will base. For
  17410. * example using OHLC data, index=2 means the indicator will be calculated
  17411. * using Low values.
  17412. */
  17413. index?: number;
  17414. /**
  17415. * (Highstock) The base period for indicator calculations. This is the
  17416. * number of data points which are taken into account for the indicator
  17417. * calculations.
  17418. */
  17419. period?: number;
  17420. /**
  17421. * (Highstock) The id of volume series which is mandatory. For example using
  17422. * OHLC data, volumeSeriesID='volume' means the indicator will be calculated
  17423. * using OHLC and volume values.
  17424. */
  17425. volumeSeriesID?: string;
  17426. }
  17427. /**
  17428. * (Highstock) Enable or disable the initial animation when a series is
  17429. * displayed. The animation can also be set as a configuration object. Please
  17430. * note that this option only applies to the initial animation of the series
  17431. * itself. For other animations, see chart.animation and the animation parameter
  17432. * under the API methods. The following properties are supported:
  17433. *
  17434. * - `defer`: The animation delay time in milliseconds.
  17435. *
  17436. * - `duration`: The duration of the animation in milliseconds.
  17437. *
  17438. * - `easing`: Can be a string reference to an easing function set on the `Math`
  17439. * object or a function. See the _Custom easing function_ demo below.
  17440. *
  17441. * Due to poor performance, animation is disabled in old IE browsers for several
  17442. * chart types.
  17443. */
  17444. export interface PlotAoAnimationOptions {
  17445. defer?: number;
  17446. }
  17447. /**
  17448. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  17449. * animation when a series is displayed for the `dataLabels`. The animation can
  17450. * also be set as a configuration object. Please note that this option only
  17451. * applies to the initial animation. For other animations, see chart.animation
  17452. * and the animation parameter under the API methods. The following properties
  17453. * are supported:
  17454. *
  17455. * - `defer`: The animation delay time in milliseconds.
  17456. */
  17457. export interface PlotAoDataLabelsAnimationOptions {
  17458. /**
  17459. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  17460. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  17461. * inherits defer time from the series.animation.defer.
  17462. */
  17463. defer?: number;
  17464. }
  17465. /**
  17466. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  17467. * appearing next to each data point.
  17468. *
  17469. * Since v6.2.0, multiple data labels can be applied to each single point by
  17470. * defining them as an array of configs.
  17471. *
  17472. * In styled mode, the data labels can be styled with the
  17473. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  17474. * example).
  17475. */
  17476. export interface PlotAoDataLabelsOptions {
  17477. /**
  17478. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  17479. * compared to the point. If `right`, the right side of the label should be
  17480. * touching the point. For points with an extent, like columns, the
  17481. * alignments also dictates how to align it inside the box, as given with
  17482. * the inside option. Can be one of `left`, `center` or `right`.
  17483. */
  17484. align?: (AlignValue|null);
  17485. /**
  17486. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  17487. * overlap. To make the labels less sensitive for overlapping, the
  17488. * dataLabels.padding can be set to 0.
  17489. */
  17490. allowOverlap?: boolean;
  17491. /**
  17492. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  17493. * animation when a series is displayed for the `dataLabels`. The animation
  17494. * can also be set as a configuration object. Please note that this option
  17495. * only applies to the initial animation. For other animations, see
  17496. * chart.animation and the animation parameter under the API methods. The
  17497. * following properties are supported:
  17498. *
  17499. * - `defer`: The animation delay time in milliseconds.
  17500. */
  17501. animation?: (boolean|PlotAoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  17502. /**
  17503. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  17504. * for the data label.
  17505. */
  17506. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  17507. /**
  17508. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  17509. * label. Defaults to `undefined`.
  17510. */
  17511. borderColor?: (ColorString|GradientColorObject|PatternObject);
  17512. /**
  17513. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  17514. * the data label.
  17515. */
  17516. borderRadius?: number;
  17517. /**
  17518. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  17519. * the data label.
  17520. */
  17521. borderWidth?: number;
  17522. /**
  17523. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  17524. * Particularly in styled mode, this can be used to give each series' or
  17525. * point's data label unique styling. In addition to this option, a default
  17526. * color class name is added so that we can give the labels a contrast text
  17527. * shadow.
  17528. */
  17529. className?: string;
  17530. /**
  17531. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  17532. * labels. Defaults to `undefined`. For certain series types, like column or
  17533. * map, the data labels can be drawn inside the points. In this case the
  17534. * data label will be drawn with maximum contrast by default. Additionally,
  17535. * it will be given a `text-outline` style with the opposite color, to
  17536. * further increase the contrast. This can be overridden by setting the
  17537. * `text-outline` style to `none` in the `dataLabels.style` option.
  17538. */
  17539. color?: (ColorString|GradientColorObject|PatternObject);
  17540. /**
  17541. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  17542. * are outside the plot area. By default, the data label is moved inside the
  17543. * plot area according to the overflow option.
  17544. */
  17545. crop?: boolean;
  17546. /**
  17547. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  17548. * labels until the initial series animation has finished. Setting to
  17549. * `false` renders the data label immediately. If set to `true` inherits the
  17550. * defer time set in plotOptions.series.animation.
  17551. */
  17552. defer?: boolean;
  17553. /**
  17554. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  17555. * labels.
  17556. */
  17557. enabled?: boolean;
  17558. /**
  17559. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  17560. * of which data labels to display. The declarative filter is designed for
  17561. * use when callback functions are not available, like when the chart
  17562. * options require a pure JSON structure or for use with graphical editors.
  17563. * For programmatic control, use the `formatter` instead, and return
  17564. * `undefined` to disable a single data label.
  17565. */
  17566. filter?: DataLabelsFilterOptionsObject;
  17567. /**
  17568. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  17569. * label. Available variables are the same as for `formatter`.
  17570. */
  17571. format?: string;
  17572. /**
  17573. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  17574. * format the data label. Note that if a `format` is defined, the format
  17575. * takes precedence and the formatter is ignored.
  17576. */
  17577. formatter?: DataLabelsFormatterCallbackFunction;
  17578. /**
  17579. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  17580. * columns or map areas, whether to align the data label inside the box or
  17581. * to the actual value point. Defaults to `false` in most cases, `true` in
  17582. * stacked columns.
  17583. */
  17584. inside?: boolean;
  17585. /**
  17586. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  17587. * of null. Works analogously to format. `nullFormat` can be applied only to
  17588. * series which support displaying null points.
  17589. */
  17590. nullFormat?: (boolean|string);
  17591. /**
  17592. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  17593. * that defines formatting for points with the value of null. Works
  17594. * analogously to formatter. `nullPointFormatter` can be applied only to
  17595. * series which support displaying null points.
  17596. */
  17597. nullFormatter?: DataLabelsFormatterCallbackFunction;
  17598. /**
  17599. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  17600. * flow outside the plot area. The default is `"justify"`, which aligns them
  17601. * inside the plot area. For columns and bars, this means it will be moved
  17602. * inside the bar. To display data labels outside the plot area, set `crop`
  17603. * to `false` and `overflow` to `"allow"`.
  17604. */
  17605. overflow?: DataLabelsOverflowValue;
  17606. /**
  17607. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  17608. * the `backgroundColor` is set, this is the padding within the box.
  17609. */
  17610. padding?: number;
  17611. /**
  17612. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  17613. * points. If `center` alignment is not possible, it defaults to `right`.
  17614. */
  17615. position?: AlignValue;
  17616. /**
  17617. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  17618. * that due to a more complex structure, backgrounds, borders and padding
  17619. * will be lost on a rotated data label.
  17620. */
  17621. rotation?: number;
  17622. /**
  17623. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  17624. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  17625. * an object configuration containing `color`, `offsetX`, `offsetY`,
  17626. * `opacity` and `width`.
  17627. */
  17628. shadow?: (boolean|ShadowOptionsObject);
  17629. /**
  17630. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  17631. * the border around the label. Symbols are predefined functions on the
  17632. * Renderer object.
  17633. */
  17634. shape?: string;
  17635. /**
  17636. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  17637. * default `color` setting is `"contrast"`, which is a pseudo color that
  17638. * Highcharts picks up and applies the maximum contrast to the underlying
  17639. * point item, for example the bar in a bar chart.
  17640. *
  17641. * The `textOutline` is a pseudo property that applies an outline of the
  17642. * given width with the given color, which by default is the maximum
  17643. * contrast to the text. So a bright text color will result in a black text
  17644. * outline for maximum readability on a mixed background. In some cases,
  17645. * especially with grayscale text, the text outline doesn't work well, in
  17646. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  17647. * is true, the `textOutline` will not be picked up. In this, case, the same
  17648. * effect can be acheived through the `text-shadow` CSS property.
  17649. *
  17650. * For some series types, where each point has an extent, like for example
  17651. * tree maps, the data label may overflow the point. There are two
  17652. * strategies for handling overflow. By default, the text will wrap to
  17653. * multiple lines. The other strategy is to set `style.textOverflow` to
  17654. * `ellipsis`, which will keep the text on one line plus it will break
  17655. * inside long words.
  17656. */
  17657. style?: CSSObject;
  17658. /**
  17659. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  17660. * should follow marker's shape. Border and background are disabled for a
  17661. * label that follows a path.
  17662. *
  17663. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  17664. * to true will disable this option.
  17665. */
  17666. textPath?: DataLabelsTextPathOptionsObject;
  17667. /**
  17668. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  17669. * the labels.
  17670. */
  17671. useHTML?: boolean;
  17672. /**
  17673. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  17674. * label. Can be one of `top`, `middle` or `bottom`. The default value
  17675. * depends on the data, for instance in a column chart, the label is above
  17676. * positive values and below negative values.
  17677. */
  17678. verticalAlign?: (VerticalAlignValue|null);
  17679. /**
  17680. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  17681. * label relative to the point in pixels.
  17682. */
  17683. x?: number;
  17684. /**
  17685. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  17686. * label relative to the point in pixels.
  17687. */
  17688. y?: number;
  17689. /**
  17690. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  17691. * The default Z index puts it above the series. Use a Z index of 2 to
  17692. * display it behind the series.
  17693. */
  17694. z?: number;
  17695. }
  17696. /**
  17697. * (Highcharts, Highstock) Options for the series data sorting.
  17698. */
  17699. export interface PlotAoDataSortingOptions {
  17700. /**
  17701. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  17702. * Use xAxis.reversed to change the sorting order.
  17703. */
  17704. enabled?: boolean;
  17705. /**
  17706. * (Highcharts, Highstock) Whether to allow matching points by name in an
  17707. * update. If this option is disabled, points will be matched by order.
  17708. */
  17709. matchByName?: boolean;
  17710. /**
  17711. * (Highcharts, Highstock) Determines what data value should be used to sort
  17712. * by.
  17713. */
  17714. sortKey?: string;
  17715. }
  17716. /**
  17717. * (Highstock) Awesome Oscillator. This series requires the `linkedTo` option to
  17718. * be set and should be loaded after the `stock/indicators/indicators.js`
  17719. *
  17720. * In TypeScript the type option must always be set.
  17721. *
  17722. * Configuration options for the series are given in three levels:
  17723. *
  17724. * 1. Options for all series in a chart are defined in the plotOptions.series
  17725. * object.
  17726. *
  17727. * 2. Options for all `ao` series are defined in plotOptions.ao.
  17728. *
  17729. * 3. Options for one single series are given in the series instance array. (see
  17730. * online documentation for example)
  17731. */
  17732. export interface PlotAoOptions {
  17733. /**
  17734. * (Highstock) Accessibility options for a series.
  17735. */
  17736. accessibility?: SeriesAccessibilityOptionsObject;
  17737. /**
  17738. * (Highstock) Allow this series' points to be selected by clicking on the
  17739. * graphic (columns, point markers, pie slices, map areas etc).
  17740. *
  17741. * The selected points can be handled by point select and unselect events,
  17742. * or collectively by the getSelectedPoints function.
  17743. *
  17744. * And alternative way of selecting points is through dragging.
  17745. */
  17746. allowPointSelect?: boolean;
  17747. /**
  17748. * (Highstock) Enable or disable the initial animation when a series is
  17749. * displayed. The animation can also be set as a configuration object.
  17750. * Please note that this option only applies to the initial animation of the
  17751. * series itself. For other animations, see chart.animation and the
  17752. * animation parameter under the API methods. The following properties are
  17753. * supported:
  17754. *
  17755. * - `defer`: The animation delay time in milliseconds.
  17756. *
  17757. * - `duration`: The duration of the animation in milliseconds.
  17758. *
  17759. * - `easing`: Can be a string reference to an easing function set on the
  17760. * `Math` object or a function. See the _Custom easing function_ demo below.
  17761. *
  17762. * Due to poor performance, animation is disabled in old IE browsers for
  17763. * several chart types.
  17764. */
  17765. animation?: (boolean|PlotAoAnimationOptions|Partial<AnimationOptionsObject>);
  17766. /**
  17767. * (Highstock) For some series, there is a limit that shuts down initial
  17768. * animation by default when the total number of points in the chart is too
  17769. * high. For example, for a column chart and its derivatives, animation does
  17770. * not run if there is more than 250 points totally. To disable this cap,
  17771. * set `animationLimit` to `Infinity`.
  17772. */
  17773. animationLimit?: number;
  17774. /**
  17775. * (Highstock) Sets the color blending in the boost module.
  17776. */
  17777. boostBlending?: OptionsBoostBlendingValue;
  17778. /**
  17779. * (Highstock) Set the point threshold for when a series should enter boost
  17780. * mode.
  17781. *
  17782. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  17783. * there are 2000 or more points in the series.
  17784. *
  17785. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  17786. * it to 1 will force boosting.
  17787. *
  17788. * Note that the cropThreshold also affects this setting. When zooming in on
  17789. * a series that has fewer points than the `cropThreshold`, all points are
  17790. * rendered although outside the visible plot area, and the `boostThreshold`
  17791. * won't take effect.
  17792. */
  17793. boostThreshold?: number;
  17794. /**
  17795. * (Highmaps) The border color of the map areas.
  17796. *
  17797. * In styled mode, the border stroke is given in the `.highcharts-point`
  17798. * class.
  17799. */
  17800. borderColor?: (ColorString|GradientColorObject|PatternObject);
  17801. /**
  17802. * (Highmaps) The border width of each map area.
  17803. *
  17804. * In styled mode, the border stroke width is given in the
  17805. * `.highcharts-point` class.
  17806. */
  17807. borderWidth?: number;
  17808. /**
  17809. * (Highstock) An additional class name to apply to the series' graphical
  17810. * elements. This option does not replace default class names of the
  17811. * graphical element.
  17812. */
  17813. className?: string;
  17814. /**
  17815. * (Highstock) Disable this option to allow series rendering in the whole
  17816. * plotting area.
  17817. *
  17818. * **Note:** Clipping should be always enabled when chart.zoomType is set
  17819. */
  17820. clip?: boolean;
  17821. /**
  17822. * (Highstock) The main color of the series. In line type series it applies
  17823. * to the line and the point markers unless otherwise specified. In bar type
  17824. * series it applies to the bars unless a color is specified per point. The
  17825. * default value is pulled from the `options.colors` array.
  17826. *
  17827. * In styled mode, the color can be defined by the colorIndex option. Also,
  17828. * the series color can be set with the `.highcharts-series`,
  17829. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  17830. * `.highcharts-series-{n}` class, or individual classes given by the
  17831. * `className` option.
  17832. */
  17833. color?: (ColorString|GradientColorObject|PatternObject);
  17834. /**
  17835. * (Highstock) Styled mode only. A specific color index to use for the
  17836. * series, so its graphic representations are given the class name
  17837. * `highcharts-color-{n}`.
  17838. */
  17839. colorIndex?: number;
  17840. /**
  17841. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  17842. * used to calculate point color if `colorAxis` is used. Requires to set
  17843. * `min` and `max` if some custom point property is used or if approximation
  17844. * for data grouping is set to `'sum'`.
  17845. */
  17846. colorKey?: string;
  17847. /**
  17848. * (Highstock) Compare the values of the series against the first non-null,
  17849. * non- zero value in the visible range. The y axis will show percentage or
  17850. * absolute change depending on whether `compare` is set to `"percent"` or
  17851. * `"value"`. When this is applied to multiple series, it allows comparing
  17852. * the development of the series against each other. Adds a `change` field
  17853. * to every point object.
  17854. */
  17855. compare?: string;
  17856. /**
  17857. * (Highstock) When compare is `percent`, this option dictates whether to
  17858. * use 0 or 100 as the base of comparison.
  17859. */
  17860. compareBase?: (0|100);
  17861. /**
  17862. * (Highstock) Defines if comparison should start from the first point
  17863. * within the visible range or should start from the first point **before**
  17864. * the range.
  17865. *
  17866. * In other words, this flag determines if first point within the visible
  17867. * range will have 0% (`compareStart=true`) or should have been already
  17868. * calculated according to the previous point (`compareStart=false`).
  17869. */
  17870. compareStart?: boolean;
  17871. /**
  17872. * (Highstock) Whether to compare indicator to the main series values or
  17873. * indicator values.
  17874. */
  17875. compareToMain?: boolean;
  17876. /**
  17877. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  17878. * series plot across the extremes.
  17879. */
  17880. connectEnds?: boolean;
  17881. /**
  17882. * (Highcharts, Highstock) Whether to connect a graph line across null
  17883. * points, or render a gap between the two points on either side of the
  17884. * null.
  17885. */
  17886. connectNulls?: boolean;
  17887. /**
  17888. * (Gantt) Override Pathfinder connector options for a series. Requires
  17889. * Highcharts Gantt to be loaded.
  17890. */
  17891. connectors?: SeriesConnectorsOptionsObject;
  17892. /**
  17893. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  17894. * rounded to its nearest pixel in order to render sharp on screen. In some
  17895. * cases, when there are a lot of densely packed columns, this leads to
  17896. * visible difference in column widths or distance between columns. In these
  17897. * cases, setting `crisp` to `false` may look better, even though each
  17898. * column is rendered blurry.
  17899. */
  17900. crisp?: boolean;
  17901. /**
  17902. * (Highcharts, Highstock) When the series contains less points than the
  17903. * crop threshold, all points are drawn, even if the points fall outside the
  17904. * visible plot area at the current zoom. The advantage of drawing all
  17905. * points (including markers and columns), is that animation is performed on
  17906. * updates. On the other hand, when the series contains more points than the
  17907. * crop threshold, the series data is cropped to only contain points that
  17908. * fall within the plot area. The advantage of cropping away invisible
  17909. * points is to increase performance on large series.
  17910. */
  17911. cropThreshold?: number;
  17912. /**
  17913. * (Highstock) You can set the cursor to "pointer" if you have click events
  17914. * attached to the series, to signal to the user that the points and lines
  17915. * can be clicked.
  17916. *
  17917. * In styled mode, the series cursor can be set with the same classes as
  17918. * listed under series.color.
  17919. */
  17920. cursor?: (string|CursorValue);
  17921. /**
  17922. * (Highstock) A reserved subspace to store options and values for
  17923. * customized functionality. Here you can add additional data for your own
  17924. * event callbacks and formatter callbacks.
  17925. */
  17926. custom?: Dictionary<any>;
  17927. /**
  17928. * (Highstock) Name of the dash style to use for the graph, or for some
  17929. * series types the outline of each shape.
  17930. *
  17931. * In styled mode, the stroke dash-array can be set with the same classes as
  17932. * listed under series.color.
  17933. */
  17934. dashStyle?: DashStyleValue;
  17935. /**
  17936. * (Highstock) Data grouping is the concept of sampling the data values into
  17937. * larger blocks in order to ease readability and increase performance of
  17938. * the JavaScript charts. Highstock by default applies data grouping when
  17939. * the points become closer than a certain pixel value, determined by the
  17940. * `groupPixelWidth` option.
  17941. *
  17942. * If data grouping is applied, the grouping information of grouped points
  17943. * can be read from the Point.dataGroup. If point options other than the
  17944. * data itself are set, for example `name` or `color` or custom properties,
  17945. * the grouping logic doesn't know how to group it. In this case the options
  17946. * of the first point instance are copied over to the group point. This can
  17947. * be altered through a custom `approximation` callback function.
  17948. */
  17949. dataGrouping?: DataGroupingOptionsObject;
  17950. /**
  17951. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  17952. * labels, appearing next to each data point.
  17953. *
  17954. * Since v6.2.0, multiple data labels can be applied to each single point by
  17955. * defining them as an array of configs.
  17956. *
  17957. * In styled mode, the data labels can be styled with the
  17958. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  17959. * (see example).
  17960. */
  17961. dataLabels?: (PlotAoDataLabelsOptions|Array<PlotAoDataLabelsOptions>);
  17962. /**
  17963. * (Highcharts, Highstock) Options for the series data sorting.
  17964. */
  17965. dataSorting?: (DataSortingOptionsObject|PlotAoDataSortingOptions);
  17966. /**
  17967. * (Highstock) A description of the series to add to the screen reader
  17968. * information about the series.
  17969. */
  17970. description?: string;
  17971. /**
  17972. * (Highstock) Enable or disable the mouse tracking for a specific series.
  17973. * This includes point tooltips and click events on graphs and points. For
  17974. * large datasets it improves performance.
  17975. */
  17976. enableMouseTracking?: boolean;
  17977. /**
  17978. * (Highstock) General event handlers for the series items. These event
  17979. * hooks can also be attached to the series at run time using the
  17980. * `Highcharts.addEvent` function.
  17981. */
  17982. events?: SeriesEventsOptionsObject;
  17983. /**
  17984. * (Highstock) Determines whether the series should look for the nearest
  17985. * point in both dimensions or just the x-dimension when hovering the
  17986. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  17987. * series. If the data has duplicate x-values, it is recommended to set this
  17988. * to `'xy'` to allow hovering over all points.
  17989. *
  17990. * Applies only to series types using nearest neighbor search (not direct
  17991. * hover) for tooltip.
  17992. */
  17993. findNearestPointBy?: OptionsFindNearestPointByValue;
  17994. /**
  17995. * (Highstock) Defines when to display a gap in the graph, together with the
  17996. * gapUnit option.
  17997. *
  17998. * In case when `dataGrouping` is enabled, points can be grouped into a
  17999. * larger time span. This can make the grouped points to have a greater
  18000. * distance than the absolute value of `gapSize` property, which will result
  18001. * in disappearing graph completely. To prevent this situation the mentioned
  18002. * distance between grouped points is used instead of previously defined
  18003. * `gapSize`.
  18004. *
  18005. * In practice, this option is most often used to visualize gaps in time
  18006. * series. In a stock chart, intraday data is available for daytime hours,
  18007. * while gaps will appear in nights and weekends.
  18008. */
  18009. gapSize?: number;
  18010. /**
  18011. * (Highstock) Together with gapSize, this option defines where to draw gaps
  18012. * in the graph.
  18013. *
  18014. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  18015. * if the distance between two points is greater than 5 times that of the
  18016. * two closest points, the graph will be broken.
  18017. *
  18018. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  18019. * values, which on a datetime axis is milliseconds. This also applies to
  18020. * the navigator series that inherits gap options from the base series.
  18021. */
  18022. gapUnit?: OptionsGapUnitValue;
  18023. /**
  18024. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  18025. * chart width or only the zoomed area when zooming in on parts of the X
  18026. * axis. By default, the Y axis adjusts to the min and max of the visible
  18027. * data. Cartesian series only.
  18028. */
  18029. getExtremesFromAll?: boolean;
  18030. /**
  18031. * (Highstock) Color of the Awesome oscillator series bar that is greater
  18032. * than the previous one. Note that if a `color` is defined, the `color`
  18033. * takes precedence and the `greaterBarColor` is ignored.
  18034. */
  18035. greaterBarColor?: (ColorString|GradientColorObject|PatternObject);
  18036. groupPadding?: number;
  18037. /**
  18038. * (Highstock) When set to `false` will prevent the series data from being
  18039. * included in any form of data export.
  18040. *
  18041. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  18042. * `includeInCSVExport`.
  18043. */
  18044. includeInDataExport?: boolean;
  18045. /**
  18046. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  18047. * series as possible in a natural way, seeking to avoid other series. The
  18048. * goal of this feature is to make the chart more easily readable, like if a
  18049. * human designer placed the labels in the optimal position.
  18050. *
  18051. * The series labels currently work with series types having a `graph` or an
  18052. * `area`.
  18053. */
  18054. label?: SeriesLabelOptionsObject;
  18055. /**
  18056. * (Highstock) The line marks the last price from all points.
  18057. */
  18058. lastPrice?: SeriesLastPriceOptionsObject;
  18059. /**
  18060. * (Highstock) The line marks the last price from visible range of points.
  18061. */
  18062. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  18063. /**
  18064. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  18065. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  18066. * the ends and bends.
  18067. */
  18068. linecap?: SeriesLinecapValue;
  18069. /**
  18070. * (Highcharts, Highstock) Pixel width of the graph line.
  18071. */
  18072. lineWidth?: number;
  18073. /**
  18074. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  18075. * based on. Required for this indicator.
  18076. */
  18077. linkedTo?: string;
  18078. /**
  18079. * (Highstock) Color of the Awesome oscillator series bar that is lower than
  18080. * the previous one. Note that if a `color` is defined, the `color` takes
  18081. * precedence and the `lowerBarColor` is ignored.
  18082. */
  18083. lowerBarColor?: (ColorString|GradientColorObject|PatternObject);
  18084. /**
  18085. * (Highstock) Options for the point markers of line-like series. Properties
  18086. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  18087. * appearance of the markers. Other series types, like column series, don't
  18088. * have markers, but have visual options on the series level instead.
  18089. *
  18090. * In styled mode, the markers can be styled with the `.highcharts-point`,
  18091. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  18092. */
  18093. marker?: PointMarkerOptionsObject;
  18094. /**
  18095. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  18096. * If not set, it will be based on a technical indicator type and default
  18097. * params.
  18098. */
  18099. name?: string;
  18100. /**
  18101. * (Highstock) The color for the parts of the graph or points that are below
  18102. * the threshold. Note that `zones` takes precedence over the negative
  18103. * color. Using `negativeColor` is equivalent to applying a zone with value
  18104. * of 0.
  18105. */
  18106. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  18107. /**
  18108. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  18109. * dataLabels.
  18110. */
  18111. opacity?: number;
  18112. /**
  18113. * (Highstock) Properties for each single point.
  18114. */
  18115. point?: PlotSeriesPointOptions;
  18116. /**
  18117. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  18118. * individual series. Overrides the chart wide configuration.
  18119. */
  18120. pointDescriptionFormatter?: Function;
  18121. pointPadding?: number;
  18122. /**
  18123. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  18124. * true, the checkbox next to the series name in the legend will be checked
  18125. * for a selected series.
  18126. */
  18127. selected?: boolean;
  18128. /**
  18129. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  18130. * the shadow can be an object configuration containing `color`, `offsetX`,
  18131. * `offsetY`, `opacity` and `width`.
  18132. */
  18133. shadow?: (boolean|ShadowOptionsObject);
  18134. /**
  18135. * (Highstock) If true, a checkbox is displayed next to the legend item to
  18136. * allow selecting the series. The state of the checkbox is determined by
  18137. * the `selected` option.
  18138. */
  18139. showCheckbox?: boolean;
  18140. /**
  18141. * (Highstock) Whether to display this particular series or series type in
  18142. * the legend. Standalone series are shown in legend by default, and linked
  18143. * series are not. Since v7.2.0 it is possible to show series that use
  18144. * colorAxis by setting this option to `true`.
  18145. */
  18146. showInLegend?: boolean;
  18147. /**
  18148. * (Highstock) If set to `true`, the accessibility module will skip past the
  18149. * points in this series for keyboard navigation.
  18150. */
  18151. skipKeyboardNavigation?: boolean;
  18152. /**
  18153. * (Highcharts, Highstock) When this is true, the series will not cause the
  18154. * Y axis to cross the zero plane (or threshold option) unless the data
  18155. * actually crosses the plane.
  18156. *
  18157. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  18158. * make the Y axis show negative values according to the `minPadding`
  18159. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  18160. */
  18161. softThreshold?: boolean;
  18162. states?: SeriesStatesOptionsObject;
  18163. /**
  18164. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  18165. * values are `left`, `center` and `right`.
  18166. */
  18167. step?: OptionsStepValue;
  18168. /**
  18169. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  18170. * event on a series isn't triggered until the mouse moves over another
  18171. * series, or out of the plot area. When false, the `mouseOut` event on a
  18172. * series is triggered when the mouse leaves the area around the series'
  18173. * graph or markers. This also implies the tooltip when not shared. When
  18174. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  18175. * be hidden when moving the mouse between series. Defaults to true for line
  18176. * and area type series, but to false for columns, pies etc.
  18177. *
  18178. * **Note:** The boost module will force this option because of technical
  18179. * limitations.
  18180. */
  18181. stickyTracking?: boolean;
  18182. /**
  18183. * (Highcharts, Highstock) The threshold, also called zero level or base
  18184. * level. For line type series this is only used in conjunction with
  18185. * negativeColor.
  18186. */
  18187. threshold?: number;
  18188. /**
  18189. * (Highstock) A configuration object for the tooltip rendering of each
  18190. * single series. Properties are inherited from tooltip, but only the
  18191. * following properties can be defined on a series level.
  18192. */
  18193. tooltip?: SeriesTooltipOptionsObject;
  18194. /**
  18195. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  18196. * is longer than this, only one dimensional arrays of numbers, or two
  18197. * dimensional arrays with x and y values are allowed. Also, only the first
  18198. * point is tested, and the rest are assumed to be the same format. This
  18199. * saves expensive data checking and indexing in long series. Set it to `0`
  18200. * disable.
  18201. *
  18202. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  18203. * two dimensional arrays are allowed.
  18204. */
  18205. turboThreshold?: number;
  18206. /**
  18207. * (Highstock) Set the initial visibility of the series.
  18208. */
  18209. visible?: boolean;
  18210. /**
  18211. * (Highmaps) Define the z index of the series.
  18212. */
  18213. zIndex?: number;
  18214. /**
  18215. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  18216. */
  18217. zoneAxis?: string;
  18218. /**
  18219. * (Highcharts, Highstock) An array defining zones within a series. Zones
  18220. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  18221. * the `zoneAxis` option. The zone definitions have to be in ascending order
  18222. * regarding to the value.
  18223. *
  18224. * In styled mode, the color zones are styled with the
  18225. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  18226. * option (view live demo).
  18227. */
  18228. zones?: Array<SeriesZonesOptionsObject>;
  18229. }
  18230. /**
  18231. * (Highstock) Enable or disable the initial animation when a series is
  18232. * displayed. The animation can also be set as a configuration object. Please
  18233. * note that this option only applies to the initial animation of the series
  18234. * itself. For other animations, see chart.animation and the animation parameter
  18235. * under the API methods. The following properties are supported:
  18236. *
  18237. * - `defer`: The animation delay time in milliseconds.
  18238. *
  18239. * - `duration`: The duration of the animation in milliseconds.
  18240. *
  18241. * - `easing`: Can be a string reference to an easing function set on the `Math`
  18242. * object or a function. See the _Custom easing function_ demo below.
  18243. *
  18244. * Due to poor performance, animation is disabled in old IE browsers for several
  18245. * chart types.
  18246. */
  18247. export interface PlotApoAnimationOptions {
  18248. defer?: number;
  18249. }
  18250. /**
  18251. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  18252. * animation when a series is displayed for the `dataLabels`. The animation can
  18253. * also be set as a configuration object. Please note that this option only
  18254. * applies to the initial animation. For other animations, see chart.animation
  18255. * and the animation parameter under the API methods. The following properties
  18256. * are supported:
  18257. *
  18258. * - `defer`: The animation delay time in milliseconds.
  18259. */
  18260. export interface PlotApoDataLabelsAnimationOptions {
  18261. /**
  18262. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  18263. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  18264. * inherits defer time from the series.animation.defer.
  18265. */
  18266. defer?: number;
  18267. }
  18268. /**
  18269. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  18270. * appearing next to each data point.
  18271. *
  18272. * Since v6.2.0, multiple data labels can be applied to each single point by
  18273. * defining them as an array of configs.
  18274. *
  18275. * In styled mode, the data labels can be styled with the
  18276. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  18277. * example).
  18278. */
  18279. export interface PlotApoDataLabelsOptions {
  18280. /**
  18281. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  18282. * compared to the point. If `right`, the right side of the label should be
  18283. * touching the point. For points with an extent, like columns, the
  18284. * alignments also dictates how to align it inside the box, as given with
  18285. * the inside option. Can be one of `left`, `center` or `right`.
  18286. */
  18287. align?: (AlignValue|null);
  18288. /**
  18289. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  18290. * overlap. To make the labels less sensitive for overlapping, the
  18291. * dataLabels.padding can be set to 0.
  18292. */
  18293. allowOverlap?: boolean;
  18294. /**
  18295. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  18296. * animation when a series is displayed for the `dataLabels`. The animation
  18297. * can also be set as a configuration object. Please note that this option
  18298. * only applies to the initial animation. For other animations, see
  18299. * chart.animation and the animation parameter under the API methods. The
  18300. * following properties are supported:
  18301. *
  18302. * - `defer`: The animation delay time in milliseconds.
  18303. */
  18304. animation?: (boolean|PlotApoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  18305. /**
  18306. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  18307. * for the data label.
  18308. */
  18309. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  18310. /**
  18311. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  18312. * label. Defaults to `undefined`.
  18313. */
  18314. borderColor?: (ColorString|GradientColorObject|PatternObject);
  18315. /**
  18316. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  18317. * the data label.
  18318. */
  18319. borderRadius?: number;
  18320. /**
  18321. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  18322. * the data label.
  18323. */
  18324. borderWidth?: number;
  18325. /**
  18326. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  18327. * Particularly in styled mode, this can be used to give each series' or
  18328. * point's data label unique styling. In addition to this option, a default
  18329. * color class name is added so that we can give the labels a contrast text
  18330. * shadow.
  18331. */
  18332. className?: string;
  18333. /**
  18334. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  18335. * labels. Defaults to `undefined`. For certain series types, like column or
  18336. * map, the data labels can be drawn inside the points. In this case the
  18337. * data label will be drawn with maximum contrast by default. Additionally,
  18338. * it will be given a `text-outline` style with the opposite color, to
  18339. * further increase the contrast. This can be overridden by setting the
  18340. * `text-outline` style to `none` in the `dataLabels.style` option.
  18341. */
  18342. color?: (ColorString|GradientColorObject|PatternObject);
  18343. /**
  18344. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  18345. * are outside the plot area. By default, the data label is moved inside the
  18346. * plot area according to the overflow option.
  18347. */
  18348. crop?: boolean;
  18349. /**
  18350. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  18351. * labels until the initial series animation has finished. Setting to
  18352. * `false` renders the data label immediately. If set to `true` inherits the
  18353. * defer time set in plotOptions.series.animation.
  18354. */
  18355. defer?: boolean;
  18356. /**
  18357. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  18358. * labels.
  18359. */
  18360. enabled?: boolean;
  18361. /**
  18362. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  18363. * of which data labels to display. The declarative filter is designed for
  18364. * use when callback functions are not available, like when the chart
  18365. * options require a pure JSON structure or for use with graphical editors.
  18366. * For programmatic control, use the `formatter` instead, and return
  18367. * `undefined` to disable a single data label.
  18368. */
  18369. filter?: DataLabelsFilterOptionsObject;
  18370. /**
  18371. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  18372. * label. Available variables are the same as for `formatter`.
  18373. */
  18374. format?: string;
  18375. /**
  18376. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  18377. * format the data label. Note that if a `format` is defined, the format
  18378. * takes precedence and the formatter is ignored.
  18379. */
  18380. formatter?: DataLabelsFormatterCallbackFunction;
  18381. /**
  18382. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  18383. * columns or map areas, whether to align the data label inside the box or
  18384. * to the actual value point. Defaults to `false` in most cases, `true` in
  18385. * stacked columns.
  18386. */
  18387. inside?: boolean;
  18388. /**
  18389. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  18390. * of null. Works analogously to format. `nullFormat` can be applied only to
  18391. * series which support displaying null points.
  18392. */
  18393. nullFormat?: (boolean|string);
  18394. /**
  18395. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  18396. * that defines formatting for points with the value of null. Works
  18397. * analogously to formatter. `nullPointFormatter` can be applied only to
  18398. * series which support displaying null points.
  18399. */
  18400. nullFormatter?: DataLabelsFormatterCallbackFunction;
  18401. /**
  18402. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  18403. * flow outside the plot area. The default is `"justify"`, which aligns them
  18404. * inside the plot area. For columns and bars, this means it will be moved
  18405. * inside the bar. To display data labels outside the plot area, set `crop`
  18406. * to `false` and `overflow` to `"allow"`.
  18407. */
  18408. overflow?: DataLabelsOverflowValue;
  18409. /**
  18410. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  18411. * the `backgroundColor` is set, this is the padding within the box.
  18412. */
  18413. padding?: number;
  18414. /**
  18415. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  18416. * points. If `center` alignment is not possible, it defaults to `right`.
  18417. */
  18418. position?: AlignValue;
  18419. /**
  18420. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  18421. * that due to a more complex structure, backgrounds, borders and padding
  18422. * will be lost on a rotated data label.
  18423. */
  18424. rotation?: number;
  18425. /**
  18426. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  18427. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  18428. * an object configuration containing `color`, `offsetX`, `offsetY`,
  18429. * `opacity` and `width`.
  18430. */
  18431. shadow?: (boolean|ShadowOptionsObject);
  18432. /**
  18433. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  18434. * the border around the label. Symbols are predefined functions on the
  18435. * Renderer object.
  18436. */
  18437. shape?: string;
  18438. /**
  18439. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  18440. * default `color` setting is `"contrast"`, which is a pseudo color that
  18441. * Highcharts picks up and applies the maximum contrast to the underlying
  18442. * point item, for example the bar in a bar chart.
  18443. *
  18444. * The `textOutline` is a pseudo property that applies an outline of the
  18445. * given width with the given color, which by default is the maximum
  18446. * contrast to the text. So a bright text color will result in a black text
  18447. * outline for maximum readability on a mixed background. In some cases,
  18448. * especially with grayscale text, the text outline doesn't work well, in
  18449. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  18450. * is true, the `textOutline` will not be picked up. In this, case, the same
  18451. * effect can be acheived through the `text-shadow` CSS property.
  18452. *
  18453. * For some series types, where each point has an extent, like for example
  18454. * tree maps, the data label may overflow the point. There are two
  18455. * strategies for handling overflow. By default, the text will wrap to
  18456. * multiple lines. The other strategy is to set `style.textOverflow` to
  18457. * `ellipsis`, which will keep the text on one line plus it will break
  18458. * inside long words.
  18459. */
  18460. style?: CSSObject;
  18461. /**
  18462. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  18463. * should follow marker's shape. Border and background are disabled for a
  18464. * label that follows a path.
  18465. *
  18466. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  18467. * to true will disable this option.
  18468. */
  18469. textPath?: DataLabelsTextPathOptionsObject;
  18470. /**
  18471. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  18472. * the labels.
  18473. */
  18474. useHTML?: boolean;
  18475. /**
  18476. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  18477. * label. Can be one of `top`, `middle` or `bottom`. The default value
  18478. * depends on the data, for instance in a column chart, the label is above
  18479. * positive values and below negative values.
  18480. */
  18481. verticalAlign?: (VerticalAlignValue|null);
  18482. /**
  18483. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  18484. * label relative to the point in pixels.
  18485. */
  18486. x?: number;
  18487. /**
  18488. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  18489. * label relative to the point in pixels.
  18490. */
  18491. y?: number;
  18492. /**
  18493. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  18494. * The default Z index puts it above the series. Use a Z index of 2 to
  18495. * display it behind the series.
  18496. */
  18497. z?: number;
  18498. }
  18499. /**
  18500. * (Highcharts, Highstock) Options for the series data sorting.
  18501. */
  18502. export interface PlotApoDataSortingOptions {
  18503. /**
  18504. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  18505. * Use xAxis.reversed to change the sorting order.
  18506. */
  18507. enabled?: boolean;
  18508. /**
  18509. * (Highcharts, Highstock) Whether to allow matching points by name in an
  18510. * update. If this option is disabled, points will be matched by order.
  18511. */
  18512. matchByName?: boolean;
  18513. /**
  18514. * (Highcharts, Highstock) Determines what data value should be used to sort
  18515. * by.
  18516. */
  18517. sortKey?: string;
  18518. }
  18519. /**
  18520. * (Highstock) Absolute Price Oscillator. This series requires the `linkedTo`
  18521. * option to be set and should be loaded after the
  18522. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  18523. *
  18524. * In TypeScript the type option must always be set.
  18525. *
  18526. * Configuration options for the series are given in three levels:
  18527. *
  18528. * 1. Options for all series in a chart are defined in the plotOptions.series
  18529. * object.
  18530. *
  18531. * 2. Options for all `apo` series are defined in plotOptions.apo.
  18532. *
  18533. * 3. Options for one single series are given in the series instance array. (see
  18534. * online documentation for example)
  18535. */
  18536. export interface PlotApoOptions {
  18537. /**
  18538. * (Highstock) Accessibility options for a series.
  18539. */
  18540. accessibility?: SeriesAccessibilityOptionsObject;
  18541. /**
  18542. * (Highstock) Allow this series' points to be selected by clicking on the
  18543. * graphic (columns, point markers, pie slices, map areas etc).
  18544. *
  18545. * The selected points can be handled by point select and unselect events,
  18546. * or collectively by the getSelectedPoints function.
  18547. *
  18548. * And alternative way of selecting points is through dragging.
  18549. */
  18550. allowPointSelect?: boolean;
  18551. /**
  18552. * (Highstock) Enable or disable the initial animation when a series is
  18553. * displayed. The animation can also be set as a configuration object.
  18554. * Please note that this option only applies to the initial animation of the
  18555. * series itself. For other animations, see chart.animation and the
  18556. * animation parameter under the API methods. The following properties are
  18557. * supported:
  18558. *
  18559. * - `defer`: The animation delay time in milliseconds.
  18560. *
  18561. * - `duration`: The duration of the animation in milliseconds.
  18562. *
  18563. * - `easing`: Can be a string reference to an easing function set on the
  18564. * `Math` object or a function. See the _Custom easing function_ demo below.
  18565. *
  18566. * Due to poor performance, animation is disabled in old IE browsers for
  18567. * several chart types.
  18568. */
  18569. animation?: (boolean|PlotApoAnimationOptions|Partial<AnimationOptionsObject>);
  18570. /**
  18571. * (Highstock) For some series, there is a limit that shuts down initial
  18572. * animation by default when the total number of points in the chart is too
  18573. * high. For example, for a column chart and its derivatives, animation does
  18574. * not run if there is more than 250 points totally. To disable this cap,
  18575. * set `animationLimit` to `Infinity`.
  18576. */
  18577. animationLimit?: number;
  18578. /**
  18579. * (Highstock) Sets the color blending in the boost module.
  18580. */
  18581. boostBlending?: OptionsBoostBlendingValue;
  18582. /**
  18583. * (Highstock) Set the point threshold for when a series should enter boost
  18584. * mode.
  18585. *
  18586. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  18587. * there are 2000 or more points in the series.
  18588. *
  18589. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  18590. * it to 1 will force boosting.
  18591. *
  18592. * Note that the cropThreshold also affects this setting. When zooming in on
  18593. * a series that has fewer points than the `cropThreshold`, all points are
  18594. * rendered although outside the visible plot area, and the `boostThreshold`
  18595. * won't take effect.
  18596. */
  18597. boostThreshold?: number;
  18598. /**
  18599. * (Highmaps) The border color of the map areas.
  18600. *
  18601. * In styled mode, the border stroke is given in the `.highcharts-point`
  18602. * class.
  18603. */
  18604. borderColor?: (ColorString|GradientColorObject|PatternObject);
  18605. /**
  18606. * (Highmaps) The border width of each map area.
  18607. *
  18608. * In styled mode, the border stroke width is given in the
  18609. * `.highcharts-point` class.
  18610. */
  18611. borderWidth?: number;
  18612. /**
  18613. * (Highstock) An additional class name to apply to the series' graphical
  18614. * elements. This option does not replace default class names of the
  18615. * graphical element.
  18616. */
  18617. className?: string;
  18618. /**
  18619. * (Highstock) Disable this option to allow series rendering in the whole
  18620. * plotting area.
  18621. *
  18622. * **Note:** Clipping should be always enabled when chart.zoomType is set
  18623. */
  18624. clip?: boolean;
  18625. /**
  18626. * (Highstock) The main color of the series. In line type series it applies
  18627. * to the line and the point markers unless otherwise specified. In bar type
  18628. * series it applies to the bars unless a color is specified per point. The
  18629. * default value is pulled from the `options.colors` array.
  18630. *
  18631. * In styled mode, the color can be defined by the colorIndex option. Also,
  18632. * the series color can be set with the `.highcharts-series`,
  18633. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  18634. * `.highcharts-series-{n}` class, or individual classes given by the
  18635. * `className` option.
  18636. */
  18637. color?: (ColorString|GradientColorObject|PatternObject);
  18638. /**
  18639. * (Highstock) Styled mode only. A specific color index to use for the
  18640. * series, so its graphic representations are given the class name
  18641. * `highcharts-color-{n}`.
  18642. */
  18643. colorIndex?: number;
  18644. /**
  18645. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  18646. * used to calculate point color if `colorAxis` is used. Requires to set
  18647. * `min` and `max` if some custom point property is used or if approximation
  18648. * for data grouping is set to `'sum'`.
  18649. */
  18650. colorKey?: string;
  18651. /**
  18652. * (Highstock) Compare the values of the series against the first non-null,
  18653. * non- zero value in the visible range. The y axis will show percentage or
  18654. * absolute change depending on whether `compare` is set to `"percent"` or
  18655. * `"value"`. When this is applied to multiple series, it allows comparing
  18656. * the development of the series against each other. Adds a `change` field
  18657. * to every point object.
  18658. */
  18659. compare?: string;
  18660. /**
  18661. * (Highstock) When compare is `percent`, this option dictates whether to
  18662. * use 0 or 100 as the base of comparison.
  18663. */
  18664. compareBase?: (0|100);
  18665. /**
  18666. * (Highstock) Defines if comparison should start from the first point
  18667. * within the visible range or should start from the first point **before**
  18668. * the range.
  18669. *
  18670. * In other words, this flag determines if first point within the visible
  18671. * range will have 0% (`compareStart=true`) or should have been already
  18672. * calculated according to the previous point (`compareStart=false`).
  18673. */
  18674. compareStart?: boolean;
  18675. /**
  18676. * (Highstock) Whether to compare indicator to the main series values or
  18677. * indicator values.
  18678. */
  18679. compareToMain?: boolean;
  18680. /**
  18681. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  18682. * series plot across the extremes.
  18683. */
  18684. connectEnds?: boolean;
  18685. /**
  18686. * (Highcharts, Highstock) Whether to connect a graph line across null
  18687. * points, or render a gap between the two points on either side of the
  18688. * null.
  18689. */
  18690. connectNulls?: boolean;
  18691. /**
  18692. * (Gantt) Override Pathfinder connector options for a series. Requires
  18693. * Highcharts Gantt to be loaded.
  18694. */
  18695. connectors?: SeriesConnectorsOptionsObject;
  18696. /**
  18697. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  18698. * rounded to its nearest pixel in order to render sharp on screen. In some
  18699. * cases, when there are a lot of densely packed columns, this leads to
  18700. * visible difference in column widths or distance between columns. In these
  18701. * cases, setting `crisp` to `false` may look better, even though each
  18702. * column is rendered blurry.
  18703. */
  18704. crisp?: boolean;
  18705. /**
  18706. * (Highcharts, Highstock) When the series contains less points than the
  18707. * crop threshold, all points are drawn, even if the points fall outside the
  18708. * visible plot area at the current zoom. The advantage of drawing all
  18709. * points (including markers and columns), is that animation is performed on
  18710. * updates. On the other hand, when the series contains more points than the
  18711. * crop threshold, the series data is cropped to only contain points that
  18712. * fall within the plot area. The advantage of cropping away invisible
  18713. * points is to increase performance on large series.
  18714. */
  18715. cropThreshold?: number;
  18716. /**
  18717. * (Highstock) You can set the cursor to "pointer" if you have click events
  18718. * attached to the series, to signal to the user that the points and lines
  18719. * can be clicked.
  18720. *
  18721. * In styled mode, the series cursor can be set with the same classes as
  18722. * listed under series.color.
  18723. */
  18724. cursor?: (string|CursorValue);
  18725. /**
  18726. * (Highstock) A reserved subspace to store options and values for
  18727. * customized functionality. Here you can add additional data for your own
  18728. * event callbacks and formatter callbacks.
  18729. */
  18730. custom?: Dictionary<any>;
  18731. /**
  18732. * (Highstock) Name of the dash style to use for the graph, or for some
  18733. * series types the outline of each shape.
  18734. *
  18735. * In styled mode, the stroke dash-array can be set with the same classes as
  18736. * listed under series.color.
  18737. */
  18738. dashStyle?: DashStyleValue;
  18739. /**
  18740. * (Highstock) Data grouping is the concept of sampling the data values into
  18741. * larger blocks in order to ease readability and increase performance of
  18742. * the JavaScript charts. Highstock by default applies data grouping when
  18743. * the points become closer than a certain pixel value, determined by the
  18744. * `groupPixelWidth` option.
  18745. *
  18746. * If data grouping is applied, the grouping information of grouped points
  18747. * can be read from the Point.dataGroup. If point options other than the
  18748. * data itself are set, for example `name` or `color` or custom properties,
  18749. * the grouping logic doesn't know how to group it. In this case the options
  18750. * of the first point instance are copied over to the group point. This can
  18751. * be altered through a custom `approximation` callback function.
  18752. */
  18753. dataGrouping?: DataGroupingOptionsObject;
  18754. /**
  18755. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  18756. * labels, appearing next to each data point.
  18757. *
  18758. * Since v6.2.0, multiple data labels can be applied to each single point by
  18759. * defining them as an array of configs.
  18760. *
  18761. * In styled mode, the data labels can be styled with the
  18762. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  18763. * (see example).
  18764. */
  18765. dataLabels?: (PlotApoDataLabelsOptions|Array<PlotApoDataLabelsOptions>);
  18766. /**
  18767. * (Highcharts, Highstock) Options for the series data sorting.
  18768. */
  18769. dataSorting?: (DataSortingOptionsObject|PlotApoDataSortingOptions);
  18770. /**
  18771. * (Highstock) A description of the series to add to the screen reader
  18772. * information about the series.
  18773. */
  18774. description?: string;
  18775. /**
  18776. * (Highstock) Enable or disable the mouse tracking for a specific series.
  18777. * This includes point tooltips and click events on graphs and points. For
  18778. * large datasets it improves performance.
  18779. */
  18780. enableMouseTracking?: boolean;
  18781. /**
  18782. * (Highstock) General event handlers for the series items. These event
  18783. * hooks can also be attached to the series at run time using the
  18784. * `Highcharts.addEvent` function.
  18785. */
  18786. events?: SeriesEventsOptionsObject;
  18787. /**
  18788. * (Highstock) Determines whether the series should look for the nearest
  18789. * point in both dimensions or just the x-dimension when hovering the
  18790. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  18791. * series. If the data has duplicate x-values, it is recommended to set this
  18792. * to `'xy'` to allow hovering over all points.
  18793. *
  18794. * Applies only to series types using nearest neighbor search (not direct
  18795. * hover) for tooltip.
  18796. */
  18797. findNearestPointBy?: OptionsFindNearestPointByValue;
  18798. /**
  18799. * (Highstock) Defines when to display a gap in the graph, together with the
  18800. * gapUnit option.
  18801. *
  18802. * In case when `dataGrouping` is enabled, points can be grouped into a
  18803. * larger time span. This can make the grouped points to have a greater
  18804. * distance than the absolute value of `gapSize` property, which will result
  18805. * in disappearing graph completely. To prevent this situation the mentioned
  18806. * distance between grouped points is used instead of previously defined
  18807. * `gapSize`.
  18808. *
  18809. * In practice, this option is most often used to visualize gaps in time
  18810. * series. In a stock chart, intraday data is available for daytime hours,
  18811. * while gaps will appear in nights and weekends.
  18812. */
  18813. gapSize?: number;
  18814. /**
  18815. * (Highstock) Together with gapSize, this option defines where to draw gaps
  18816. * in the graph.
  18817. *
  18818. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  18819. * if the distance between two points is greater than 5 times that of the
  18820. * two closest points, the graph will be broken.
  18821. *
  18822. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  18823. * values, which on a datetime axis is milliseconds. This also applies to
  18824. * the navigator series that inherits gap options from the base series.
  18825. */
  18826. gapUnit?: OptionsGapUnitValue;
  18827. /**
  18828. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  18829. * chart width or only the zoomed area when zooming in on parts of the X
  18830. * axis. By default, the Y axis adjusts to the min and max of the visible
  18831. * data. Cartesian series only.
  18832. */
  18833. getExtremesFromAll?: boolean;
  18834. /**
  18835. * (Highstock) When set to `false` will prevent the series data from being
  18836. * included in any form of data export.
  18837. *
  18838. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  18839. * `includeInCSVExport`.
  18840. */
  18841. includeInDataExport?: boolean;
  18842. /**
  18843. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  18844. * series as possible in a natural way, seeking to avoid other series. The
  18845. * goal of this feature is to make the chart more easily readable, like if a
  18846. * human designer placed the labels in the optimal position.
  18847. *
  18848. * The series labels currently work with series types having a `graph` or an
  18849. * `area`.
  18850. */
  18851. label?: SeriesLabelOptionsObject;
  18852. /**
  18853. * (Highstock) The line marks the last price from all points.
  18854. */
  18855. lastPrice?: SeriesLastPriceOptionsObject;
  18856. /**
  18857. * (Highstock) The line marks the last price from visible range of points.
  18858. */
  18859. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  18860. /**
  18861. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  18862. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  18863. * the ends and bends.
  18864. */
  18865. linecap?: SeriesLinecapValue;
  18866. /**
  18867. * (Highcharts, Highstock) Pixel width of the graph line.
  18868. */
  18869. lineWidth?: number;
  18870. /**
  18871. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  18872. * based on. Required for this indicator.
  18873. */
  18874. linkedTo?: string;
  18875. /**
  18876. * (Highstock) Options for the point markers of line-like series. Properties
  18877. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  18878. * appearance of the markers. Other series types, like column series, don't
  18879. * have markers, but have visual options on the series level instead.
  18880. *
  18881. * In styled mode, the markers can be styled with the `.highcharts-point`,
  18882. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  18883. */
  18884. marker?: PointMarkerOptionsObject;
  18885. /**
  18886. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  18887. * If not set, it will be based on a technical indicator type and default
  18888. * params.
  18889. */
  18890. name?: string;
  18891. /**
  18892. * (Highstock) The color for the parts of the graph or points that are below
  18893. * the threshold. Note that `zones` takes precedence over the negative
  18894. * color. Using `negativeColor` is equivalent to applying a zone with value
  18895. * of 0.
  18896. */
  18897. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  18898. /**
  18899. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  18900. * dataLabels.
  18901. */
  18902. opacity?: number;
  18903. /**
  18904. * (Highstock) Paramters used in calculation of Absolute Price Oscillator
  18905. * series points.
  18906. */
  18907. params?: PlotApoParamsOptions;
  18908. /**
  18909. * (Highstock) Properties for each single point.
  18910. */
  18911. point?: PlotSeriesPointOptions;
  18912. /**
  18913. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  18914. * individual series. Overrides the chart wide configuration.
  18915. */
  18916. pointDescriptionFormatter?: Function;
  18917. /**
  18918. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  18919. * true, the checkbox next to the series name in the legend will be checked
  18920. * for a selected series.
  18921. */
  18922. selected?: boolean;
  18923. /**
  18924. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  18925. * the shadow can be an object configuration containing `color`, `offsetX`,
  18926. * `offsetY`, `opacity` and `width`.
  18927. */
  18928. shadow?: (boolean|ShadowOptionsObject);
  18929. /**
  18930. * (Highstock) If true, a checkbox is displayed next to the legend item to
  18931. * allow selecting the series. The state of the checkbox is determined by
  18932. * the `selected` option.
  18933. */
  18934. showCheckbox?: boolean;
  18935. /**
  18936. * (Highstock) Whether to display this particular series or series type in
  18937. * the legend. Standalone series are shown in legend by default, and linked
  18938. * series are not. Since v7.2.0 it is possible to show series that use
  18939. * colorAxis by setting this option to `true`.
  18940. */
  18941. showInLegend?: boolean;
  18942. /**
  18943. * (Highstock) If set to `true`, the accessibility module will skip past the
  18944. * points in this series for keyboard navigation.
  18945. */
  18946. skipKeyboardNavigation?: boolean;
  18947. /**
  18948. * (Highcharts, Highstock) When this is true, the series will not cause the
  18949. * Y axis to cross the zero plane (or threshold option) unless the data
  18950. * actually crosses the plane.
  18951. *
  18952. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  18953. * make the Y axis show negative values according to the `minPadding`
  18954. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  18955. */
  18956. softThreshold?: boolean;
  18957. states?: SeriesStatesOptionsObject;
  18958. /**
  18959. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  18960. * values are `left`, `center` and `right`.
  18961. */
  18962. step?: OptionsStepValue;
  18963. /**
  18964. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  18965. * event on a series isn't triggered until the mouse moves over another
  18966. * series, or out of the plot area. When false, the `mouseOut` event on a
  18967. * series is triggered when the mouse leaves the area around the series'
  18968. * graph or markers. This also implies the tooltip when not shared. When
  18969. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  18970. * be hidden when moving the mouse between series. Defaults to true for line
  18971. * and area type series, but to false for columns, pies etc.
  18972. *
  18973. * **Note:** The boost module will force this option because of technical
  18974. * limitations.
  18975. */
  18976. stickyTracking?: boolean;
  18977. /**
  18978. * (Highcharts, Highstock) The threshold, also called zero level or base
  18979. * level. For line type series this is only used in conjunction with
  18980. * negativeColor.
  18981. */
  18982. threshold?: number;
  18983. /**
  18984. * (Highstock) A configuration object for the tooltip rendering of each
  18985. * single series. Properties are inherited from tooltip, but only the
  18986. * following properties can be defined on a series level.
  18987. */
  18988. tooltip?: SeriesTooltipOptionsObject;
  18989. /**
  18990. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  18991. * is longer than this, only one dimensional arrays of numbers, or two
  18992. * dimensional arrays with x and y values are allowed. Also, only the first
  18993. * point is tested, and the rest are assumed to be the same format. This
  18994. * saves expensive data checking and indexing in long series. Set it to `0`
  18995. * disable.
  18996. *
  18997. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  18998. * two dimensional arrays are allowed.
  18999. */
  19000. turboThreshold?: number;
  19001. /**
  19002. * (Highstock) Set the initial visibility of the series.
  19003. */
  19004. visible?: boolean;
  19005. /**
  19006. * (Highmaps) Define the z index of the series.
  19007. */
  19008. zIndex?: number;
  19009. /**
  19010. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  19011. */
  19012. zoneAxis?: string;
  19013. /**
  19014. * (Highcharts, Highstock) An array defining zones within a series. Zones
  19015. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  19016. * the `zoneAxis` option. The zone definitions have to be in ascending order
  19017. * regarding to the value.
  19018. *
  19019. * In styled mode, the color zones are styled with the
  19020. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  19021. * option (view live demo).
  19022. */
  19023. zones?: Array<SeriesZonesOptionsObject>;
  19024. }
  19025. /**
  19026. * (Highstock) Paramters used in calculation of Absolute Price Oscillator series
  19027. * points.
  19028. */
  19029. export interface PlotApoParamsOptions {
  19030. /**
  19031. * (Highstock) The point index which indicator calculations will base. For
  19032. * example using OHLC data, index=2 means the indicator will be calculated
  19033. * using Low values.
  19034. *
  19035. * By default index value used to be set to 0. Since Highstock 7 by default
  19036. * index is set to 3 which means that the ema indicator will be calculated
  19037. * using Close values.
  19038. */
  19039. index?: number;
  19040. /**
  19041. * (Highstock) Periods for Absolute Price Oscillator calculations.
  19042. */
  19043. periods?: Array<number>;
  19044. }
  19045. /**
  19046. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  19047. * is displayed. The animation can also be set as a configuration object. Please
  19048. * note that this option only applies to the initial animation of the series
  19049. * itself. For other animations, see chart.animation and the animation parameter
  19050. * under the API methods. The following properties are supported:
  19051. *
  19052. * - `defer`: The animation delay time in milliseconds.
  19053. *
  19054. * - `duration`: The duration of the animation in milliseconds.
  19055. *
  19056. * - `easing`: Can be a string reference to an easing function set on the `Math`
  19057. * object or a function. See the _Custom easing function_ demo below.
  19058. *
  19059. * Due to poor performance, animation is disabled in old IE browsers for several
  19060. * chart types.
  19061. */
  19062. export interface PlotAreaAnimationOptions {
  19063. defer?: number;
  19064. }
  19065. /**
  19066. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  19067. * animation when a series is displayed for the `dataLabels`. The animation can
  19068. * also be set as a configuration object. Please note that this option only
  19069. * applies to the initial animation. For other animations, see chart.animation
  19070. * and the animation parameter under the API methods. The following properties
  19071. * are supported:
  19072. *
  19073. * - `defer`: The animation delay time in milliseconds.
  19074. */
  19075. export interface PlotAreaDataLabelsAnimationOptions {
  19076. /**
  19077. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  19078. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  19079. * inherits defer time from the series.animation.defer.
  19080. */
  19081. defer?: number;
  19082. }
  19083. /**
  19084. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  19085. * appearing next to each data point.
  19086. *
  19087. * Since v6.2.0, multiple data labels can be applied to each single point by
  19088. * defining them as an array of configs.
  19089. *
  19090. * In styled mode, the data labels can be styled with the
  19091. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  19092. * example).
  19093. */
  19094. export interface PlotAreaDataLabelsOptions {
  19095. /**
  19096. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  19097. * compared to the point. If `right`, the right side of the label should be
  19098. * touching the point. For points with an extent, like columns, the
  19099. * alignments also dictates how to align it inside the box, as given with
  19100. * the inside option. Can be one of `left`, `center` or `right`.
  19101. */
  19102. align?: (AlignValue|null);
  19103. /**
  19104. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  19105. * overlap. To make the labels less sensitive for overlapping, the
  19106. * dataLabels.padding can be set to 0.
  19107. */
  19108. allowOverlap?: boolean;
  19109. /**
  19110. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  19111. * animation when a series is displayed for the `dataLabels`. The animation
  19112. * can also be set as a configuration object. Please note that this option
  19113. * only applies to the initial animation. For other animations, see
  19114. * chart.animation and the animation parameter under the API methods. The
  19115. * following properties are supported:
  19116. *
  19117. * - `defer`: The animation delay time in milliseconds.
  19118. */
  19119. animation?: (boolean|PlotAreaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  19120. /**
  19121. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  19122. * for the data label.
  19123. */
  19124. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  19125. /**
  19126. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  19127. * label. Defaults to `undefined`.
  19128. */
  19129. borderColor?: (ColorString|GradientColorObject|PatternObject);
  19130. /**
  19131. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  19132. * the data label.
  19133. */
  19134. borderRadius?: number;
  19135. /**
  19136. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  19137. * the data label.
  19138. */
  19139. borderWidth?: number;
  19140. /**
  19141. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  19142. * Particularly in styled mode, this can be used to give each series' or
  19143. * point's data label unique styling. In addition to this option, a default
  19144. * color class name is added so that we can give the labels a contrast text
  19145. * shadow.
  19146. */
  19147. className?: string;
  19148. /**
  19149. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  19150. * labels. Defaults to `undefined`. For certain series types, like column or
  19151. * map, the data labels can be drawn inside the points. In this case the
  19152. * data label will be drawn with maximum contrast by default. Additionally,
  19153. * it will be given a `text-outline` style with the opposite color, to
  19154. * further increase the contrast. This can be overridden by setting the
  19155. * `text-outline` style to `none` in the `dataLabels.style` option.
  19156. */
  19157. color?: (ColorString|GradientColorObject|PatternObject);
  19158. /**
  19159. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  19160. * are outside the plot area. By default, the data label is moved inside the
  19161. * plot area according to the overflow option.
  19162. */
  19163. crop?: boolean;
  19164. /**
  19165. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  19166. * labels until the initial series animation has finished. Setting to
  19167. * `false` renders the data label immediately. If set to `true` inherits the
  19168. * defer time set in plotOptions.series.animation.
  19169. */
  19170. defer?: boolean;
  19171. /**
  19172. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  19173. * labels.
  19174. */
  19175. enabled?: boolean;
  19176. /**
  19177. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  19178. * of which data labels to display. The declarative filter is designed for
  19179. * use when callback functions are not available, like when the chart
  19180. * options require a pure JSON structure or for use with graphical editors.
  19181. * For programmatic control, use the `formatter` instead, and return
  19182. * `undefined` to disable a single data label.
  19183. */
  19184. filter?: DataLabelsFilterOptionsObject;
  19185. /**
  19186. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  19187. * label. Available variables are the same as for `formatter`.
  19188. */
  19189. format?: string;
  19190. /**
  19191. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  19192. * format the data label. Note that if a `format` is defined, the format
  19193. * takes precedence and the formatter is ignored.
  19194. */
  19195. formatter?: DataLabelsFormatterCallbackFunction;
  19196. /**
  19197. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  19198. * columns or map areas, whether to align the data label inside the box or
  19199. * to the actual value point. Defaults to `false` in most cases, `true` in
  19200. * stacked columns.
  19201. */
  19202. inside?: boolean;
  19203. /**
  19204. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  19205. * of null. Works analogously to format. `nullFormat` can be applied only to
  19206. * series which support displaying null points.
  19207. */
  19208. nullFormat?: (boolean|string);
  19209. /**
  19210. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  19211. * that defines formatting for points with the value of null. Works
  19212. * analogously to formatter. `nullPointFormatter` can be applied only to
  19213. * series which support displaying null points.
  19214. */
  19215. nullFormatter?: DataLabelsFormatterCallbackFunction;
  19216. /**
  19217. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  19218. * flow outside the plot area. The default is `"justify"`, which aligns them
  19219. * inside the plot area. For columns and bars, this means it will be moved
  19220. * inside the bar. To display data labels outside the plot area, set `crop`
  19221. * to `false` and `overflow` to `"allow"`.
  19222. */
  19223. overflow?: DataLabelsOverflowValue;
  19224. /**
  19225. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  19226. * the `backgroundColor` is set, this is the padding within the box.
  19227. */
  19228. padding?: number;
  19229. /**
  19230. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  19231. * points. If `center` alignment is not possible, it defaults to `right`.
  19232. */
  19233. position?: AlignValue;
  19234. /**
  19235. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  19236. * that due to a more complex structure, backgrounds, borders and padding
  19237. * will be lost on a rotated data label.
  19238. */
  19239. rotation?: number;
  19240. /**
  19241. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  19242. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  19243. * an object configuration containing `color`, `offsetX`, `offsetY`,
  19244. * `opacity` and `width`.
  19245. */
  19246. shadow?: (boolean|ShadowOptionsObject);
  19247. /**
  19248. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  19249. * the border around the label. Symbols are predefined functions on the
  19250. * Renderer object.
  19251. */
  19252. shape?: string;
  19253. /**
  19254. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  19255. * default `color` setting is `"contrast"`, which is a pseudo color that
  19256. * Highcharts picks up and applies the maximum contrast to the underlying
  19257. * point item, for example the bar in a bar chart.
  19258. *
  19259. * The `textOutline` is a pseudo property that applies an outline of the
  19260. * given width with the given color, which by default is the maximum
  19261. * contrast to the text. So a bright text color will result in a black text
  19262. * outline for maximum readability on a mixed background. In some cases,
  19263. * especially with grayscale text, the text outline doesn't work well, in
  19264. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  19265. * is true, the `textOutline` will not be picked up. In this, case, the same
  19266. * effect can be acheived through the `text-shadow` CSS property.
  19267. *
  19268. * For some series types, where each point has an extent, like for example
  19269. * tree maps, the data label may overflow the point. There are two
  19270. * strategies for handling overflow. By default, the text will wrap to
  19271. * multiple lines. The other strategy is to set `style.textOverflow` to
  19272. * `ellipsis`, which will keep the text on one line plus it will break
  19273. * inside long words.
  19274. */
  19275. style?: CSSObject;
  19276. /**
  19277. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  19278. * should follow marker's shape. Border and background are disabled for a
  19279. * label that follows a path.
  19280. *
  19281. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  19282. * to true will disable this option.
  19283. */
  19284. textPath?: DataLabelsTextPathOptionsObject;
  19285. /**
  19286. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  19287. * the labels.
  19288. */
  19289. useHTML?: boolean;
  19290. /**
  19291. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  19292. * label. Can be one of `top`, `middle` or `bottom`. The default value
  19293. * depends on the data, for instance in a column chart, the label is above
  19294. * positive values and below negative values.
  19295. */
  19296. verticalAlign?: (VerticalAlignValue|null);
  19297. /**
  19298. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  19299. * label relative to the point in pixels.
  19300. */
  19301. x?: number;
  19302. /**
  19303. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  19304. * label relative to the point in pixels.
  19305. */
  19306. y?: number;
  19307. /**
  19308. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  19309. * The default Z index puts it above the series. Use a Z index of 2 to
  19310. * display it behind the series.
  19311. */
  19312. z?: number;
  19313. }
  19314. /**
  19315. * (Highcharts, Highstock) Options for the series data sorting.
  19316. */
  19317. export interface PlotAreaDataSortingOptions {
  19318. /**
  19319. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  19320. * Use xAxis.reversed to change the sorting order.
  19321. */
  19322. enabled?: boolean;
  19323. /**
  19324. * (Highcharts, Highstock) Whether to allow matching points by name in an
  19325. * update. If this option is disabled, points will be matched by order.
  19326. */
  19327. matchByName?: boolean;
  19328. /**
  19329. * (Highcharts, Highstock) Determines what data value should be used to sort
  19330. * by.
  19331. */
  19332. sortKey?: string;
  19333. }
  19334. /**
  19335. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  19336. * one state by default, the `default` state.
  19337. */
  19338. export interface PlotAreaDragDropGuideBoxOptions {
  19339. /**
  19340. * (Highcharts, Highstock) Style options for the guide box default state.
  19341. */
  19342. default?: DragDropGuideBoxOptionsObject;
  19343. }
  19344. /**
  19345. * (Highcharts, Highstock) The area series type.
  19346. *
  19347. * In TypeScript the type option must always be set.
  19348. *
  19349. * Configuration options for the series are given in three levels:
  19350. *
  19351. * 1. Options for all series in a chart are defined in the plotOptions.series
  19352. * object.
  19353. *
  19354. * 2. Options for all `area` series are defined in plotOptions.area.
  19355. *
  19356. * 3. Options for one single series are given in the series instance array. (see
  19357. * online documentation for example)
  19358. */
  19359. export interface PlotAreaOptions {
  19360. /**
  19361. * (Highcharts, Highstock) Accessibility options for a series.
  19362. */
  19363. accessibility?: SeriesAccessibilityOptionsObject;
  19364. /**
  19365. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  19366. * rendered. If `true`, areas which don't correspond to a data point, are
  19367. * rendered as `null` points. If `false`, those areas are skipped.
  19368. */
  19369. allAreas?: boolean;
  19370. /**
  19371. * (Highcharts, Highstock) Allow this series' points to be selected by
  19372. * clicking on the graphic (columns, point markers, pie slices, map areas
  19373. * etc).
  19374. *
  19375. * The selected points can be handled by point select and unselect events,
  19376. * or collectively by the getSelectedPoints function.
  19377. *
  19378. * And alternative way of selecting points is through dragging.
  19379. */
  19380. allowPointSelect?: boolean;
  19381. /**
  19382. * (Highcharts, Highstock) Enable or disable the initial animation when a
  19383. * series is displayed. The animation can also be set as a configuration
  19384. * object. Please note that this option only applies to the initial
  19385. * animation of the series itself. For other animations, see chart.animation
  19386. * and the animation parameter under the API methods. The following
  19387. * properties are supported:
  19388. *
  19389. * - `defer`: The animation delay time in milliseconds.
  19390. *
  19391. * - `duration`: The duration of the animation in milliseconds.
  19392. *
  19393. * - `easing`: Can be a string reference to an easing function set on the
  19394. * `Math` object or a function. See the _Custom easing function_ demo below.
  19395. *
  19396. * Due to poor performance, animation is disabled in old IE browsers for
  19397. * several chart types.
  19398. */
  19399. animation?: (boolean|PlotAreaAnimationOptions|Partial<AnimationOptionsObject>);
  19400. /**
  19401. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  19402. * initial animation by default when the total number of points in the chart
  19403. * is too high. For example, for a column chart and its derivatives,
  19404. * animation does not run if there is more than 250 points totally. To
  19405. * disable this cap, set `animationLimit` to `Infinity`.
  19406. */
  19407. animationLimit?: number;
  19408. /**
  19409. * (Highcharts, Highstock) Sets the color blending in the boost module.
  19410. */
  19411. boostBlending?: OptionsBoostBlendingValue;
  19412. /**
  19413. * (Highcharts, Highstock) Set the point threshold for when a series should
  19414. * enter boost mode.
  19415. *
  19416. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  19417. * there are 2000 or more points in the series.
  19418. *
  19419. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  19420. * it to 1 will force boosting.
  19421. *
  19422. * Note that the cropThreshold also affects this setting. When zooming in on
  19423. * a series that has fewer points than the `cropThreshold`, all points are
  19424. * rendered although outside the visible plot area, and the `boostThreshold`
  19425. * won't take effect.
  19426. */
  19427. boostThreshold?: number;
  19428. /**
  19429. * (Highmaps) The border color of the map areas.
  19430. *
  19431. * In styled mode, the border stroke is given in the `.highcharts-point`
  19432. * class.
  19433. */
  19434. borderColor?: (ColorString|GradientColorObject|PatternObject);
  19435. /**
  19436. * (Highmaps) The border width of each map area.
  19437. *
  19438. * In styled mode, the border stroke width is given in the
  19439. * `.highcharts-point` class.
  19440. */
  19441. borderWidth?: number;
  19442. /**
  19443. * (Highcharts, Highstock) An additional class name to apply to the series'
  19444. * graphical elements. This option does not replace default class names of
  19445. * the graphical element.
  19446. */
  19447. className?: string;
  19448. /**
  19449. * (Highcharts, Highstock) Disable this option to allow series rendering in
  19450. * the whole plotting area.
  19451. *
  19452. * **Note:** Clipping should be always enabled when chart.zoomType is set
  19453. */
  19454. clip?: boolean;
  19455. /**
  19456. * (Highcharts, Highstock) The main color of the series. In line type series
  19457. * it applies to the line and the point markers unless otherwise specified.
  19458. * In bar type series it applies to the bars unless a color is specified per
  19459. * point. The default value is pulled from the `options.colors` array.
  19460. *
  19461. * In styled mode, the color can be defined by the colorIndex option. Also,
  19462. * the series color can be set with the `.highcharts-series`,
  19463. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  19464. * `.highcharts-series-{n}` class, or individual classes given by the
  19465. * `className` option.
  19466. */
  19467. color?: (ColorString|GradientColorObject|PatternObject);
  19468. /**
  19469. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  19470. * this number defines which colorAxis the particular series is connected
  19471. * to. It refers to either the axis id or the index of the axis in the
  19472. * colorAxis array, with 0 being the first. Set this option to false to
  19473. * prevent a series from connecting to the default color axis.
  19474. *
  19475. * Since v7.2.0 the option can also be an axis id or an axis index instead
  19476. * of a boolean flag.
  19477. */
  19478. colorAxis?: (boolean|number|string);
  19479. /**
  19480. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  19481. * for the series, so its graphic representations are given the class name
  19482. * `highcharts-color-{n}`.
  19483. */
  19484. colorIndex?: number;
  19485. /**
  19486. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  19487. * used to calculate point color if `colorAxis` is used. Requires to set
  19488. * `min` and `max` if some custom point property is used or if approximation
  19489. * for data grouping is set to `'sum'`.
  19490. */
  19491. colorKey?: string;
  19492. /**
  19493. * (Highstock) Compare the values of the series against the first non-null,
  19494. * non- zero value in the visible range. The y axis will show percentage or
  19495. * absolute change depending on whether `compare` is set to `"percent"` or
  19496. * `"value"`. When this is applied to multiple series, it allows comparing
  19497. * the development of the series against each other. Adds a `change` field
  19498. * to every point object.
  19499. */
  19500. compare?: string;
  19501. /**
  19502. * (Highstock) When compare is `percent`, this option dictates whether to
  19503. * use 0 or 100 as the base of comparison.
  19504. */
  19505. compareBase?: (0|100);
  19506. /**
  19507. * (Highstock) Defines if comparison should start from the first point
  19508. * within the visible range or should start from the first point **before**
  19509. * the range.
  19510. *
  19511. * In other words, this flag determines if first point within the visible
  19512. * range will have 0% (`compareStart=true`) or should have been already
  19513. * calculated according to the previous point (`compareStart=false`).
  19514. */
  19515. compareStart?: boolean;
  19516. /**
  19517. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  19518. * series plot across the extremes.
  19519. */
  19520. connectEnds?: boolean;
  19521. /**
  19522. * (Highcharts, Highstock) Whether to connect a graph line across null
  19523. * points, or render a gap between the two points on either side of the
  19524. * null.
  19525. */
  19526. connectNulls?: boolean;
  19527. /**
  19528. * (Gantt) Override Pathfinder connector options for a series. Requires
  19529. * Highcharts Gantt to be loaded.
  19530. */
  19531. connectors?: SeriesConnectorsOptionsObject;
  19532. /**
  19533. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  19534. * rounded to its nearest pixel in order to render sharp on screen. In some
  19535. * cases, when there are a lot of densely packed columns, this leads to
  19536. * visible difference in column widths or distance between columns. In these
  19537. * cases, setting `crisp` to `false` may look better, even though each
  19538. * column is rendered blurry.
  19539. */
  19540. crisp?: boolean;
  19541. /**
  19542. * (Highcharts, Highstock) When the series contains less points than the
  19543. * crop threshold, all points are drawn, even if the points fall outside the
  19544. * visible plot area at the current zoom. The advantage of drawing all
  19545. * points (including markers and columns), is that animation is performed on
  19546. * updates. On the other hand, when the series contains more points than the
  19547. * crop threshold, the series data is cropped to only contain points that
  19548. * fall within the plot area. The advantage of cropping away invisible
  19549. * points is to increase performance on large series.
  19550. */
  19551. cropThreshold?: number;
  19552. /**
  19553. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  19554. * click events attached to the series, to signal to the user that the
  19555. * points and lines can be clicked.
  19556. *
  19557. * In styled mode, the series cursor can be set with the same classes as
  19558. * listed under series.color.
  19559. */
  19560. cursor?: (string|CursorValue);
  19561. /**
  19562. * (Highcharts, Highstock) A reserved subspace to store options and values
  19563. * for customized functionality. Here you can add additional data for your
  19564. * own event callbacks and formatter callbacks.
  19565. */
  19566. custom?: Dictionary<any>;
  19567. /**
  19568. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  19569. * for some series types the outline of each shape.
  19570. *
  19571. * In styled mode, the stroke dash-array can be set with the same classes as
  19572. * listed under series.color.
  19573. */
  19574. dashStyle?: DashStyleValue;
  19575. /**
  19576. * (Highstock) Data grouping is the concept of sampling the data values into
  19577. * larger blocks in order to ease readability and increase performance of
  19578. * the JavaScript charts. Highstock by default applies data grouping when
  19579. * the points become closer than a certain pixel value, determined by the
  19580. * `groupPixelWidth` option.
  19581. *
  19582. * If data grouping is applied, the grouping information of grouped points
  19583. * can be read from the Point.dataGroup. If point options other than the
  19584. * data itself are set, for example `name` or `color` or custom properties,
  19585. * the grouping logic doesn't know how to group it. In this case the options
  19586. * of the first point instance are copied over to the group point. This can
  19587. * be altered through a custom `approximation` callback function.
  19588. */
  19589. dataGrouping?: DataGroupingOptionsObject;
  19590. /**
  19591. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  19592. * labels, appearing next to each data point.
  19593. *
  19594. * Since v6.2.0, multiple data labels can be applied to each single point by
  19595. * defining them as an array of configs.
  19596. *
  19597. * In styled mode, the data labels can be styled with the
  19598. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  19599. * (see example).
  19600. */
  19601. dataLabels?: (PlotAreaDataLabelsOptions|Array<PlotAreaDataLabelsOptions>);
  19602. /**
  19603. * (Highcharts, Highstock) Options for the series data sorting.
  19604. */
  19605. dataSorting?: (DataSortingOptionsObject|PlotAreaDataSortingOptions);
  19606. /**
  19607. * (Highcharts, Highstock) A description of the series to add to the screen
  19608. * reader information about the series.
  19609. */
  19610. description?: string;
  19611. /**
  19612. * (Highcharts, Highstock) The draggable-points module allows points to be
  19613. * moved around or modified in the chart. In addition to the options
  19614. * mentioned under the `dragDrop` API structure, the module fires three
  19615. * events, point.dragStart, point.drag and point.drop.
  19616. */
  19617. dragDrop?: SeriesDragDropOptionsObject;
  19618. /**
  19619. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  19620. * specific series. This includes point tooltips and click events on graphs
  19621. * and points. For large datasets it improves performance.
  19622. */
  19623. enableMouseTracking?: boolean;
  19624. /**
  19625. * (Highcharts, Highstock) General event handlers for the series items.
  19626. * These event hooks can also be attached to the series at run time using
  19627. * the `Highcharts.addEvent` function.
  19628. */
  19629. events?: SeriesEventsOptionsObject;
  19630. /**
  19631. * (Highcharts, Highstock) Fill color or gradient for the area. When `null`,
  19632. * the series' `color` is used with the series' `fillOpacity`.
  19633. *
  19634. * In styled mode, the fill color can be set with the `.highcharts-area`
  19635. * class name.
  19636. */
  19637. fillColor?: (ColorString|GradientColorObject|PatternObject);
  19638. /**
  19639. * (Highcharts, Highstock) Fill opacity for the area. When you set an
  19640. * explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
  19641. * should define the opacity in the `fillColor` with an rgba color
  19642. * definition. The `fillOpacity` setting, also the default setting,
  19643. * overrides the alpha component of the `color` setting.
  19644. *
  19645. * In styled mode, the fill opacity can be set with the `.highcharts-area`
  19646. * class name.
  19647. */
  19648. fillOpacity?: number;
  19649. /**
  19650. * (Highcharts, Highstock) Determines whether the series should look for the
  19651. * nearest point in both dimensions or just the x-dimension when hovering
  19652. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  19653. * other series. If the data has duplicate x-values, it is recommended to
  19654. * set this to `'xy'` to allow hovering over all points.
  19655. *
  19656. * Applies only to series types using nearest neighbor search (not direct
  19657. * hover) for tooltip.
  19658. */
  19659. findNearestPointBy?: OptionsFindNearestPointByValue;
  19660. /**
  19661. * (Highstock) Defines when to display a gap in the graph, together with the
  19662. * gapUnit option.
  19663. *
  19664. * In case when `dataGrouping` is enabled, points can be grouped into a
  19665. * larger time span. This can make the grouped points to have a greater
  19666. * distance than the absolute value of `gapSize` property, which will result
  19667. * in disappearing graph completely. To prevent this situation the mentioned
  19668. * distance between grouped points is used instead of previously defined
  19669. * `gapSize`.
  19670. *
  19671. * In practice, this option is most often used to visualize gaps in time
  19672. * series. In a stock chart, intraday data is available for daytime hours,
  19673. * while gaps will appear in nights and weekends.
  19674. */
  19675. gapSize?: number;
  19676. /**
  19677. * (Highstock) Together with gapSize, this option defines where to draw gaps
  19678. * in the graph.
  19679. *
  19680. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  19681. * if the distance between two points is greater than 5 times that of the
  19682. * two closest points, the graph will be broken.
  19683. *
  19684. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  19685. * values, which on a datetime axis is milliseconds. This also applies to
  19686. * the navigator series that inherits gap options from the base series.
  19687. */
  19688. gapUnit?: OptionsGapUnitValue;
  19689. /**
  19690. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  19691. * chart width or only the zoomed area when zooming in on parts of the X
  19692. * axis. By default, the Y axis adjusts to the min and max of the visible
  19693. * data. Cartesian series only.
  19694. */
  19695. getExtremesFromAll?: boolean;
  19696. /**
  19697. * (Highcharts, Highstock) When set to `false` will prevent the series data
  19698. * from being included in any form of data export.
  19699. *
  19700. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  19701. * `includeInCSVExport`.
  19702. */
  19703. includeInDataExport?: boolean;
  19704. /**
  19705. * (Highmaps) What property to join the `mapData` to the value data. For
  19706. * example, if joinBy is "code", the mapData items with a specific code is
  19707. * merged into the data with the same code. For maps loaded from GeoJSON,
  19708. * the keys may be held in each point's `properties` object.
  19709. *
  19710. * The joinBy option can also be an array of two values, where the first
  19711. * points to a key in the `mapData`, and the second points to another key in
  19712. * the `data`.
  19713. *
  19714. * When joinBy is `null`, the map items are joined by their position in the
  19715. * array, which performs much better in maps with many data points. This is
  19716. * the recommended option if you are printing more than a thousand data
  19717. * points and have a backend that can preprocess the data into a parallel
  19718. * array of the mapData.
  19719. */
  19720. joinBy?: (string|Array<string>);
  19721. /**
  19722. * (Highcharts, Highstock) An array specifying which option maps to which
  19723. * key in the data point array. This makes it convenient to work with
  19724. * unstructured data arrays from different sources.
  19725. */
  19726. keys?: Array<string>;
  19727. /**
  19728. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  19729. * series as possible in a natural way, seeking to avoid other series. The
  19730. * goal of this feature is to make the chart more easily readable, like if a
  19731. * human designer placed the labels in the optimal position.
  19732. *
  19733. * The series labels currently work with series types having a `graph` or an
  19734. * `area`.
  19735. */
  19736. label?: SeriesLabelOptionsObject;
  19737. /**
  19738. * (Highstock) The line marks the last price from all points.
  19739. */
  19740. lastPrice?: SeriesLastPriceOptionsObject;
  19741. /**
  19742. * (Highstock) The line marks the last price from visible range of points.
  19743. */
  19744. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  19745. /**
  19746. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  19747. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  19748. * the ends and bends.
  19749. */
  19750. linecap?: SeriesLinecapValue;
  19751. /**
  19752. * (Highcharts, Highstock) A separate color for the graph line. By default
  19753. * the line takes the `color` of the series, but the lineColor setting
  19754. * allows setting a separate color for the line without altering the
  19755. * `fillColor`.
  19756. *
  19757. * In styled mode, the line stroke can be set with the `.highcharts-graph`
  19758. * class name.
  19759. */
  19760. lineColor?: (ColorString|GradientColorObject|PatternObject);
  19761. /**
  19762. * (Highcharts, Highstock) Pixel width of the graph line.
  19763. */
  19764. lineWidth?: number;
  19765. /**
  19766. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  19767. * Additionally, the value can be ":previous" to link to the previous
  19768. * series. When two series are linked, only the first one appears in the
  19769. * legend. Toggling the visibility of this also toggles the linked series.
  19770. *
  19771. * If master series uses data sorting and linked series does not have its
  19772. * own sorting definition, the linked series will be sorted in the same
  19773. * order as the master one.
  19774. */
  19775. linkedTo?: string;
  19776. /**
  19777. * (Highcharts, Highstock) Options for the point markers of line-like
  19778. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  19779. * the visual appearance of the markers. Other series types, like column
  19780. * series, don't have markers, but have visual options on the series level
  19781. * instead.
  19782. *
  19783. * In styled mode, the markers can be styled with the `.highcharts-point`,
  19784. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  19785. */
  19786. marker?: PointMarkerOptionsObject;
  19787. /**
  19788. * (Highstock) Options for the corresponding navigator series if
  19789. * `showInNavigator` is `true` for this series. Available options are the
  19790. * same as any series, documented at plotOptions and series.
  19791. *
  19792. * These options are merged with options in navigator.series, and will take
  19793. * precedence if the same option is defined both places.
  19794. */
  19795. navigatorOptions?: PlotSeriesOptions;
  19796. /**
  19797. * (Highcharts, Highstock) The color for the parts of the graph or points
  19798. * that are below the threshold. Note that `zones` takes precedence over the
  19799. * negative color. Using `negativeColor` is equivalent to applying a zone
  19800. * with value of 0.
  19801. */
  19802. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  19803. /**
  19804. * (Highcharts) A separate color for the negative part of the area.
  19805. *
  19806. * In styled mode, a negative color is set with the `.highcharts-negative`
  19807. * class name.
  19808. */
  19809. negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
  19810. /**
  19811. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  19812. * and dataLabels.
  19813. */
  19814. opacity?: number;
  19815. /**
  19816. * (Highcharts, Highstock) Properties for each single point.
  19817. */
  19818. point?: PlotSeriesPointOptions;
  19819. /**
  19820. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  19821. * but for an individual series. Overrides the chart wide configuration.
  19822. */
  19823. pointDescriptionFormatter?: Function;
  19824. /**
  19825. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  19826. * a series, `pointInterval` defines the interval of the x values. For
  19827. * example, if a series contains one value every decade starting from year
  19828. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  19829. * `pointInterval` is set in milliseconds.
  19830. *
  19831. * It can be also be combined with `pointIntervalUnit` to draw irregular
  19832. * time intervals.
  19833. *
  19834. * Please note that this options applies to the _series data_, not the
  19835. * interval of the axis ticks, which is independent.
  19836. */
  19837. pointInterval?: number;
  19838. /**
  19839. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  19840. * setting the pointInterval to irregular time units, `day`, `month` and
  19841. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  19842. * also takes the DST crossover into consideration when dealing with local
  19843. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  19844. * months, 10 years etc.
  19845. *
  19846. * Please note that this options applies to the _series data_, not the
  19847. * interval of the axis ticks, which is independent.
  19848. */
  19849. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  19850. /**
  19851. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  19852. * `number`.
  19853. *
  19854. * In a column chart, when pointPlacement is `"on"`, the point will not
  19855. * create any padding of the X axis. In a polar column chart this means that
  19856. * the first column points directly north. If the pointPlacement is
  19857. * `"between"`, the columns will be laid out between ticks. This is useful
  19858. * for example for visualising an amount between two points in time or in a
  19859. * certain sector of a polar chart.
  19860. *
  19861. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  19862. * is on the axis value, -0.5 is between this value and the previous, and
  19863. * 0.5 is between this value and the next. Unlike the textual options,
  19864. * numeric point placement options won't affect axis padding.
  19865. *
  19866. * Note that pointPlacement needs a pointRange to work. For column series
  19867. * this is computed, but for line-type series it needs to be set.
  19868. *
  19869. * For the `xrange` series type and gantt charts, if the Y axis is a
  19870. * category axis, the `pointPlacement` applies to the Y axis rather than the
  19871. * (typically datetime) X axis.
  19872. *
  19873. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  19874. */
  19875. pointPlacement?: (number|string);
  19876. /**
  19877. * (Highstock) The width of each point on the x axis. For example in a
  19878. * column chart with one value each day, the pointRange would be 1 day (= 24
  19879. * * 3600
  19880. *
  19881. * * 1000 milliseconds). This is normally computed automatically, but this
  19882. * option can be used to override the automatic value.
  19883. */
  19884. pointRange?: number;
  19885. /**
  19886. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  19887. * a series, pointStart defines on what value to start. For example, if a
  19888. * series contains one yearly value starting from 1945, set pointStart to
  19889. * 1945.
  19890. */
  19891. pointStart?: number;
  19892. /**
  19893. * (Highcharts, Highstock) Whether to select the series initially. If
  19894. * `showCheckbox` is true, the checkbox next to the series name in the
  19895. * legend will be checked for a selected series.
  19896. */
  19897. selected?: boolean;
  19898. /**
  19899. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  19900. * Since 2.3 the shadow can be an object configuration containing `color`,
  19901. * `offsetX`, `offsetY`, `opacity` and `width`.
  19902. */
  19903. shadow?: (boolean|ShadowOptionsObject);
  19904. /**
  19905. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  19906. * legend item to allow selecting the series. The state of the checkbox is
  19907. * determined by the `selected` option.
  19908. */
  19909. showCheckbox?: boolean;
  19910. /**
  19911. * (Highcharts, Highstock) Whether to display this particular series or
  19912. * series type in the legend. Standalone series are shown in legend by
  19913. * default, and linked series are not. Since v7.2.0 it is possible to show
  19914. * series that use colorAxis by setting this option to `true`.
  19915. */
  19916. showInLegend?: boolean;
  19917. /**
  19918. * (Highstock) Whether or not to show the series in the navigator. Takes
  19919. * precedence over navigator.baseSeries if defined.
  19920. */
  19921. showInNavigator?: boolean;
  19922. /**
  19923. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  19924. * skip past the points in this series for keyboard navigation.
  19925. */
  19926. skipKeyboardNavigation?: boolean;
  19927. /**
  19928. * (Highcharts, Highstock) When this is true, the series will not cause the
  19929. * Y axis to cross the zero plane (or threshold option) unless the data
  19930. * actually crosses the plane.
  19931. *
  19932. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  19933. * make the Y axis show negative values according to the `minPadding`
  19934. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  19935. */
  19936. softThreshold?: boolean;
  19937. /**
  19938. * (Highcharts, Highstock) Whether to stack the values of each series on top
  19939. * of each other. Possible values are `undefined` to disable, `"normal"` to
  19940. * stack by value or `"percent"`.
  19941. *
  19942. * When stacking is enabled, data must be sorted in ascending X order.
  19943. *
  19944. * Some stacking options are related to specific series types. In the
  19945. * streamgraph series type, the stacking option is set to `"stream"`. The
  19946. * second one is `"overlap"`, which only applies to waterfall series.
  19947. */
  19948. stacking?: OptionsStackingValue;
  19949. states?: SeriesStatesOptionsObject;
  19950. /**
  19951. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  19952. * values are `left`, `center` and `right`.
  19953. */
  19954. step?: OptionsStepValue;
  19955. /**
  19956. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  19957. * `mouseOut` event on a series isn't triggered until the mouse moves over
  19958. * another series, or out of the plot area. When false, the `mouseOut` event
  19959. * on a series is triggered when the mouse leaves the area around the
  19960. * series' graph or markers. This also implies the tooltip when not shared.
  19961. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  19962. * will be hidden when moving the mouse between series. Defaults to true for
  19963. * line and area type series, but to false for columns, pies etc.
  19964. *
  19965. * **Note:** The boost module will force this option because of technical
  19966. * limitations.
  19967. */
  19968. stickyTracking?: boolean;
  19969. /**
  19970. * (Highcharts, Highstock) The Y axis value to serve as the base for the
  19971. * area, for distinguishing between values above and below a threshold. The
  19972. * area between the graph and the threshold is filled.
  19973. *
  19974. * * If a number is given, the Y axis will scale to the threshold.
  19975. *
  19976. * * If `null`, the scaling behaves like a line series with fill between the
  19977. * graph and the Y axis minimum.
  19978. *
  19979. * * If `Infinity` or `-Infinity`, the area between the graph and the
  19980. * corresponding Y axis extreme is filled (since v6.1.0).
  19981. */
  19982. threshold?: (number|null);
  19983. /**
  19984. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  19985. * of each single series. Properties are inherited from tooltip, but only
  19986. * the following properties can be defined on a series level.
  19987. */
  19988. tooltip?: SeriesTooltipOptionsObject;
  19989. /**
  19990. * (Highcharts, Highstock) Whether the whole area or just the line should
  19991. * respond to mouseover tooltips and other mouse or touch events.
  19992. */
  19993. trackByArea?: boolean;
  19994. /**
  19995. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  19996. * is longer than this, only one dimensional arrays of numbers, or two
  19997. * dimensional arrays with x and y values are allowed. Also, only the first
  19998. * point is tested, and the rest are assumed to be the same format. This
  19999. * saves expensive data checking and indexing in long series. Set it to `0`
  20000. * disable.
  20001. *
  20002. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  20003. * two dimensional arrays are allowed.
  20004. */
  20005. turboThreshold?: number;
  20006. /**
  20007. * (Highcharts, Highstock) Set the initial visibility of the series.
  20008. */
  20009. visible?: boolean;
  20010. /**
  20011. * (Highmaps) Define the z index of the series.
  20012. */
  20013. zIndex?: number;
  20014. /**
  20015. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  20016. */
  20017. zoneAxis?: string;
  20018. /**
  20019. * (Highcharts, Highstock) An array defining zones within a series. Zones
  20020. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  20021. * the `zoneAxis` option. The zone definitions have to be in ascending order
  20022. * regarding to the value.
  20023. *
  20024. * In styled mode, the color zones are styled with the
  20025. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  20026. * option (view live demo).
  20027. */
  20028. zones?: Array<SeriesZonesOptionsObject>;
  20029. }
  20030. /**
  20031. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  20032. * is displayed. The animation can also be set as a configuration object. Please
  20033. * note that this option only applies to the initial animation of the series
  20034. * itself. For other animations, see chart.animation and the animation parameter
  20035. * under the API methods. The following properties are supported:
  20036. *
  20037. * - `defer`: The animation delay time in milliseconds.
  20038. *
  20039. * - `duration`: The duration of the animation in milliseconds.
  20040. *
  20041. * - `easing`: Can be a string reference to an easing function set on the `Math`
  20042. * object or a function. See the _Custom easing function_ demo below.
  20043. *
  20044. * Due to poor performance, animation is disabled in old IE browsers for several
  20045. * chart types.
  20046. */
  20047. export interface PlotArearangeAnimationOptions {
  20048. defer?: number;
  20049. }
  20050. /**
  20051. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  20052. * is displayed for the `dataLabels`. The animation can also be set as a
  20053. * configuration object. Please note that this option only applies to the
  20054. * initial animation. For other animations, see chart.animation and the
  20055. * animation parameter under the API methods. The following properties are
  20056. * supported:
  20057. *
  20058. * - `defer`: The animation delay time in milliseconds.
  20059. */
  20060. export interface PlotArearangeDataLabelsAnimationOptions {
  20061. /**
  20062. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  20063. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  20064. * from the series.animation.defer.
  20065. */
  20066. defer?: number;
  20067. }
  20068. /**
  20069. * (Highcharts, Highstock) Options for the series data sorting.
  20070. */
  20071. export interface PlotArearangeDataSortingOptions {
  20072. /**
  20073. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  20074. * Use xAxis.reversed to change the sorting order.
  20075. */
  20076. enabled?: boolean;
  20077. /**
  20078. * (Highcharts, Highstock) Whether to allow matching points by name in an
  20079. * update. If this option is disabled, points will be matched by order.
  20080. */
  20081. matchByName?: boolean;
  20082. /**
  20083. * (Highcharts, Highstock) Determines what data value should be used to sort
  20084. * by.
  20085. */
  20086. sortKey?: string;
  20087. }
  20088. /**
  20089. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  20090. * one state by default, the `default` state.
  20091. */
  20092. export interface PlotArearangeDragDropGuideBoxOptions {
  20093. /**
  20094. * (Highcharts, Highstock) Style options for the guide box default state.
  20095. */
  20096. default?: DragDropGuideBoxOptionsObject;
  20097. }
  20098. /**
  20099. * (Highcharts, Highstock) The area range series is a carteseian series with
  20100. * higher and lower values for each point along an X axis, where the area
  20101. * between the values is shaded.
  20102. *
  20103. * In TypeScript the type option must always be set.
  20104. *
  20105. * Configuration options for the series are given in three levels:
  20106. *
  20107. * 1. Options for all series in a chart are defined in the plotOptions.series
  20108. * object.
  20109. *
  20110. * 2. Options for all `arearange` series are defined in plotOptions.arearange.
  20111. *
  20112. * 3. Options for one single series are given in the series instance array. (see
  20113. * online documentation for example)
  20114. */
  20115. export interface PlotArearangeOptions {
  20116. /**
  20117. * (Highcharts, Highstock) Accessibility options for a series.
  20118. */
  20119. accessibility?: SeriesAccessibilityOptionsObject;
  20120. /**
  20121. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  20122. * rendered. If `true`, areas which don't correspond to a data point, are
  20123. * rendered as `null` points. If `false`, those areas are skipped.
  20124. */
  20125. allAreas?: boolean;
  20126. /**
  20127. * (Highcharts, Highstock) Allow this series' points to be selected by
  20128. * clicking on the graphic (columns, point markers, pie slices, map areas
  20129. * etc).
  20130. *
  20131. * The selected points can be handled by point select and unselect events,
  20132. * or collectively by the getSelectedPoints function.
  20133. *
  20134. * And alternative way of selecting points is through dragging.
  20135. */
  20136. allowPointSelect?: boolean;
  20137. /**
  20138. * (Highcharts, Highstock) Enable or disable the initial animation when a
  20139. * series is displayed. The animation can also be set as a configuration
  20140. * object. Please note that this option only applies to the initial
  20141. * animation of the series itself. For other animations, see chart.animation
  20142. * and the animation parameter under the API methods. The following
  20143. * properties are supported:
  20144. *
  20145. * - `defer`: The animation delay time in milliseconds.
  20146. *
  20147. * - `duration`: The duration of the animation in milliseconds.
  20148. *
  20149. * - `easing`: Can be a string reference to an easing function set on the
  20150. * `Math` object or a function. See the _Custom easing function_ demo below.
  20151. *
  20152. * Due to poor performance, animation is disabled in old IE browsers for
  20153. * several chart types.
  20154. */
  20155. animation?: (boolean|PlotArearangeAnimationOptions|Partial<AnimationOptionsObject>);
  20156. /**
  20157. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  20158. * initial animation by default when the total number of points in the chart
  20159. * is too high. For example, for a column chart and its derivatives,
  20160. * animation does not run if there is more than 250 points totally. To
  20161. * disable this cap, set `animationLimit` to `Infinity`.
  20162. */
  20163. animationLimit?: number;
  20164. /**
  20165. * (Highcharts, Highstock) Sets the color blending in the boost module.
  20166. */
  20167. boostBlending?: OptionsBoostBlendingValue;
  20168. /**
  20169. * (Highcharts, Highstock) Set the point threshold for when a series should
  20170. * enter boost mode.
  20171. *
  20172. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  20173. * there are 2000 or more points in the series.
  20174. *
  20175. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  20176. * it to 1 will force boosting.
  20177. *
  20178. * Note that the cropThreshold also affects this setting. When zooming in on
  20179. * a series that has fewer points than the `cropThreshold`, all points are
  20180. * rendered although outside the visible plot area, and the `boostThreshold`
  20181. * won't take effect.
  20182. */
  20183. boostThreshold?: number;
  20184. /**
  20185. * (Highmaps) The border color of the map areas.
  20186. *
  20187. * In styled mode, the border stroke is given in the `.highcharts-point`
  20188. * class.
  20189. */
  20190. borderColor?: (ColorString|GradientColorObject|PatternObject);
  20191. /**
  20192. * (Highmaps) The border width of each map area.
  20193. *
  20194. * In styled mode, the border stroke width is given in the
  20195. * `.highcharts-point` class.
  20196. */
  20197. borderWidth?: number;
  20198. /**
  20199. * (Highcharts, Highstock) An additional class name to apply to the series'
  20200. * graphical elements. This option does not replace default class names of
  20201. * the graphical element.
  20202. */
  20203. className?: string;
  20204. /**
  20205. * (Highcharts, Highstock) Disable this option to allow series rendering in
  20206. * the whole plotting area.
  20207. *
  20208. * **Note:** Clipping should be always enabled when chart.zoomType is set
  20209. */
  20210. clip?: boolean;
  20211. /**
  20212. * (Highcharts, Highstock) The main color of the series. In line type series
  20213. * it applies to the line and the point markers unless otherwise specified.
  20214. * In bar type series it applies to the bars unless a color is specified per
  20215. * point. The default value is pulled from the `options.colors` array.
  20216. *
  20217. * In styled mode, the color can be defined by the colorIndex option. Also,
  20218. * the series color can be set with the `.highcharts-series`,
  20219. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  20220. * `.highcharts-series-{n}` class, or individual classes given by the
  20221. * `className` option.
  20222. */
  20223. color?: (ColorString|GradientColorObject|PatternObject);
  20224. /**
  20225. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  20226. * this number defines which colorAxis the particular series is connected
  20227. * to. It refers to either the axis id or the index of the axis in the
  20228. * colorAxis array, with 0 being the first. Set this option to false to
  20229. * prevent a series from connecting to the default color axis.
  20230. *
  20231. * Since v7.2.0 the option can also be an axis id or an axis index instead
  20232. * of a boolean flag.
  20233. */
  20234. colorAxis?: (boolean|number|string);
  20235. /**
  20236. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  20237. * for the series, so its graphic representations are given the class name
  20238. * `highcharts-color-{n}`.
  20239. */
  20240. colorIndex?: number;
  20241. /**
  20242. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  20243. * used to calculate point color if `colorAxis` is used. Requires to set
  20244. * `min` and `max` if some custom point property is used or if approximation
  20245. * for data grouping is set to `'sum'`.
  20246. */
  20247. colorKey?: string;
  20248. /**
  20249. * (Highstock) Compare the values of the series against the first non-null,
  20250. * non- zero value in the visible range. The y axis will show percentage or
  20251. * absolute change depending on whether `compare` is set to `"percent"` or
  20252. * `"value"`. When this is applied to multiple series, it allows comparing
  20253. * the development of the series against each other. Adds a `change` field
  20254. * to every point object.
  20255. */
  20256. compare?: string;
  20257. /**
  20258. * (Highstock) When compare is `percent`, this option dictates whether to
  20259. * use 0 or 100 as the base of comparison.
  20260. */
  20261. compareBase?: (0|100);
  20262. /**
  20263. * (Highstock) Defines if comparison should start from the first point
  20264. * within the visible range or should start from the first point **before**
  20265. * the range.
  20266. *
  20267. * In other words, this flag determines if first point within the visible
  20268. * range will have 0% (`compareStart=true`) or should have been already
  20269. * calculated according to the previous point (`compareStart=false`).
  20270. */
  20271. compareStart?: boolean;
  20272. /**
  20273. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  20274. * series plot across the extremes.
  20275. */
  20276. connectEnds?: boolean;
  20277. /**
  20278. * (Highcharts, Highstock) Whether to connect a graph line across null
  20279. * points, or render a gap between the two points on either side of the
  20280. * null.
  20281. */
  20282. connectNulls?: boolean;
  20283. /**
  20284. * (Gantt) Override Pathfinder connector options for a series. Requires
  20285. * Highcharts Gantt to be loaded.
  20286. */
  20287. connectors?: SeriesConnectorsOptionsObject;
  20288. /**
  20289. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  20290. * rounded to its nearest pixel in order to render sharp on screen. In some
  20291. * cases, when there are a lot of densely packed columns, this leads to
  20292. * visible difference in column widths or distance between columns. In these
  20293. * cases, setting `crisp` to `false` may look better, even though each
  20294. * column is rendered blurry.
  20295. */
  20296. crisp?: boolean;
  20297. /**
  20298. * (Highcharts, Highstock) When the series contains less points than the
  20299. * crop threshold, all points are drawn, even if the points fall outside the
  20300. * visible plot area at the current zoom. The advantage of drawing all
  20301. * points (including markers and columns), is that animation is performed on
  20302. * updates. On the other hand, when the series contains more points than the
  20303. * crop threshold, the series data is cropped to only contain points that
  20304. * fall within the plot area. The advantage of cropping away invisible
  20305. * points is to increase performance on large series.
  20306. */
  20307. cropThreshold?: number;
  20308. /**
  20309. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  20310. * click events attached to the series, to signal to the user that the
  20311. * points and lines can be clicked.
  20312. *
  20313. * In styled mode, the series cursor can be set with the same classes as
  20314. * listed under series.color.
  20315. */
  20316. cursor?: (string|CursorValue);
  20317. /**
  20318. * (Highcharts, Highstock) A reserved subspace to store options and values
  20319. * for customized functionality. Here you can add additional data for your
  20320. * own event callbacks and formatter callbacks.
  20321. */
  20322. custom?: Dictionary<any>;
  20323. /**
  20324. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  20325. * for some series types the outline of each shape.
  20326. *
  20327. * In styled mode, the stroke dash-array can be set with the same classes as
  20328. * listed under series.color.
  20329. */
  20330. dashStyle?: DashStyleValue;
  20331. /**
  20332. * (Highstock) Data grouping is the concept of sampling the data values into
  20333. * larger blocks in order to ease readability and increase performance of
  20334. * the JavaScript charts. Highstock by default applies data grouping when
  20335. * the points become closer than a certain pixel value, determined by the
  20336. * `groupPixelWidth` option.
  20337. *
  20338. * If data grouping is applied, the grouping information of grouped points
  20339. * can be read from the Point.dataGroup. If point options other than the
  20340. * data itself are set, for example `name` or `color` or custom properties,
  20341. * the grouping logic doesn't know how to group it. In this case the options
  20342. * of the first point instance are copied over to the group point. This can
  20343. * be altered through a custom `approximation` callback function.
  20344. */
  20345. dataGrouping?: DataGroupingOptionsObject;
  20346. /**
  20347. * (Highcharts, Highstock) Extended data labels for range series types.
  20348. * Range series data labels use no `x` and `y` options. Instead, they have
  20349. * `xLow`, `xHigh`, `yLow` and `yHigh` options to allow the higher and lower
  20350. * data label sets individually.
  20351. */
  20352. dataLabels?: (SeriesAreaRangeDataLabelsOptionsObject|Array<SeriesAreaRangeDataLabelsOptionsObject>);
  20353. /**
  20354. * (Highcharts, Highstock) Options for the series data sorting.
  20355. */
  20356. dataSorting?: (DataSortingOptionsObject|PlotArearangeDataSortingOptions);
  20357. /**
  20358. * (Highcharts, Highstock) A description of the series to add to the screen
  20359. * reader information about the series.
  20360. */
  20361. description?: string;
  20362. /**
  20363. * (Highcharts, Highstock) The draggable-points module allows points to be
  20364. * moved around or modified in the chart. In addition to the options
  20365. * mentioned under the `dragDrop` API structure, the module fires three
  20366. * events, point.dragStart, point.drag and point.drop.
  20367. */
  20368. dragDrop?: SeriesDragDropOptionsObject;
  20369. /**
  20370. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  20371. * specific series. This includes point tooltips and click events on graphs
  20372. * and points. For large datasets it improves performance.
  20373. */
  20374. enableMouseTracking?: boolean;
  20375. /**
  20376. * (Highcharts, Highstock) General event handlers for the series items.
  20377. * These event hooks can also be attached to the series at run time using
  20378. * the `Highcharts.addEvent` function.
  20379. */
  20380. events?: SeriesEventsOptionsObject;
  20381. /**
  20382. * (Highcharts, Highstock) Fill color or gradient for the area. When `null`,
  20383. * the series' `color` is used with the series' `fillOpacity`.
  20384. *
  20385. * In styled mode, the fill color can be set with the `.highcharts-area`
  20386. * class name.
  20387. */
  20388. fillColor?: (ColorString|GradientColorObject|PatternObject);
  20389. /**
  20390. * (Highcharts, Highstock) Fill opacity for the area. When you set an
  20391. * explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
  20392. * should define the opacity in the `fillColor` with an rgba color
  20393. * definition. The `fillOpacity` setting, also the default setting,
  20394. * overrides the alpha component of the `color` setting.
  20395. *
  20396. * In styled mode, the fill opacity can be set with the `.highcharts-area`
  20397. * class name.
  20398. */
  20399. fillOpacity?: number;
  20400. /**
  20401. * (Highcharts, Highstock) Determines whether the series should look for the
  20402. * nearest point in both dimensions or just the x-dimension when hovering
  20403. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  20404. * other series. If the data has duplicate x-values, it is recommended to
  20405. * set this to `'xy'` to allow hovering over all points.
  20406. *
  20407. * Applies only to series types using nearest neighbor search (not direct
  20408. * hover) for tooltip.
  20409. */
  20410. findNearestPointBy?: OptionsFindNearestPointByValue;
  20411. /**
  20412. * (Highstock) Defines when to display a gap in the graph, together with the
  20413. * gapUnit option.
  20414. *
  20415. * In case when `dataGrouping` is enabled, points can be grouped into a
  20416. * larger time span. This can make the grouped points to have a greater
  20417. * distance than the absolute value of `gapSize` property, which will result
  20418. * in disappearing graph completely. To prevent this situation the mentioned
  20419. * distance between grouped points is used instead of previously defined
  20420. * `gapSize`.
  20421. *
  20422. * In practice, this option is most often used to visualize gaps in time
  20423. * series. In a stock chart, intraday data is available for daytime hours,
  20424. * while gaps will appear in nights and weekends.
  20425. */
  20426. gapSize?: number;
  20427. /**
  20428. * (Highstock) Together with gapSize, this option defines where to draw gaps
  20429. * in the graph.
  20430. *
  20431. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  20432. * if the distance between two points is greater than 5 times that of the
  20433. * two closest points, the graph will be broken.
  20434. *
  20435. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  20436. * values, which on a datetime axis is milliseconds. This also applies to
  20437. * the navigator series that inherits gap options from the base series.
  20438. */
  20439. gapUnit?: OptionsGapUnitValue;
  20440. /**
  20441. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  20442. * chart width or only the zoomed area when zooming in on parts of the X
  20443. * axis. By default, the Y axis adjusts to the min and max of the visible
  20444. * data. Cartesian series only.
  20445. */
  20446. getExtremesFromAll?: boolean;
  20447. /**
  20448. * (Highcharts, Highstock) When set to `false` will prevent the series data
  20449. * from being included in any form of data export.
  20450. *
  20451. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  20452. * `includeInCSVExport`.
  20453. */
  20454. includeInDataExport?: boolean;
  20455. /**
  20456. * (Highmaps) What property to join the `mapData` to the value data. For
  20457. * example, if joinBy is "code", the mapData items with a specific code is
  20458. * merged into the data with the same code. For maps loaded from GeoJSON,
  20459. * the keys may be held in each point's `properties` object.
  20460. *
  20461. * The joinBy option can also be an array of two values, where the first
  20462. * points to a key in the `mapData`, and the second points to another key in
  20463. * the `data`.
  20464. *
  20465. * When joinBy is `null`, the map items are joined by their position in the
  20466. * array, which performs much better in maps with many data points. This is
  20467. * the recommended option if you are printing more than a thousand data
  20468. * points and have a backend that can preprocess the data into a parallel
  20469. * array of the mapData.
  20470. */
  20471. joinBy?: (string|Array<string>);
  20472. /**
  20473. * (Highcharts, Highstock) An array specifying which option maps to which
  20474. * key in the data point array. This makes it convenient to work with
  20475. * unstructured data arrays from different sources.
  20476. */
  20477. keys?: Array<string>;
  20478. /**
  20479. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  20480. * series as possible in a natural way, seeking to avoid other series. The
  20481. * goal of this feature is to make the chart more easily readable, like if a
  20482. * human designer placed the labels in the optimal position.
  20483. *
  20484. * The series labels currently work with series types having a `graph` or an
  20485. * `area`.
  20486. */
  20487. label?: SeriesLabelOptionsObject;
  20488. /**
  20489. * (Highstock) The line marks the last price from all points.
  20490. */
  20491. lastPrice?: SeriesLastPriceOptionsObject;
  20492. /**
  20493. * (Highstock) The line marks the last price from visible range of points.
  20494. */
  20495. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  20496. /**
  20497. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  20498. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  20499. * the ends and bends.
  20500. */
  20501. linecap?: SeriesLinecapValue;
  20502. /**
  20503. * (Highcharts, Highstock) A separate color for the graph line. By default
  20504. * the line takes the `color` of the series, but the lineColor setting
  20505. * allows setting a separate color for the line without altering the
  20506. * `fillColor`.
  20507. *
  20508. * In styled mode, the line stroke can be set with the `.highcharts-graph`
  20509. * class name.
  20510. */
  20511. lineColor?: (ColorString|GradientColorObject|PatternObject);
  20512. /**
  20513. * (Highcharts, Highstock) Pixel width of the arearange graph line.
  20514. */
  20515. lineWidth?: number;
  20516. /**
  20517. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  20518. * Additionally, the value can be ":previous" to link to the previous
  20519. * series. When two series are linked, only the first one appears in the
  20520. * legend. Toggling the visibility of this also toggles the linked series.
  20521. *
  20522. * If master series uses data sorting and linked series does not have its
  20523. * own sorting definition, the linked series will be sorted in the same
  20524. * order as the master one.
  20525. */
  20526. linkedTo?: string;
  20527. /**
  20528. * (Highcharts, Highstock) Options for the point markers of line-like
  20529. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  20530. * the visual appearance of the markers. Other series types, like column
  20531. * series, don't have markers, but have visual options on the series level
  20532. * instead.
  20533. *
  20534. * In styled mode, the markers can be styled with the `.highcharts-point`,
  20535. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  20536. */
  20537. marker?: PointMarkerOptionsObject;
  20538. /**
  20539. * (Highstock) Options for the corresponding navigator series if
  20540. * `showInNavigator` is `true` for this series. Available options are the
  20541. * same as any series, documented at plotOptions and series.
  20542. *
  20543. * These options are merged with options in navigator.series, and will take
  20544. * precedence if the same option is defined both places.
  20545. */
  20546. navigatorOptions?: PlotSeriesOptions;
  20547. /**
  20548. * (Highcharts, Highstock) The color for the parts of the graph or points
  20549. * that are below the threshold. Note that `zones` takes precedence over the
  20550. * negative color. Using `negativeColor` is equivalent to applying a zone
  20551. * with value of 0.
  20552. */
  20553. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  20554. /**
  20555. * (Highcharts) A separate color for the negative part of the area.
  20556. *
  20557. * In styled mode, a negative color is set with the `.highcharts-negative`
  20558. * class name.
  20559. */
  20560. negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
  20561. /**
  20562. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  20563. * and dataLabels.
  20564. */
  20565. opacity?: number;
  20566. /**
  20567. * (Highcharts, Highstock) Properties for each single point.
  20568. */
  20569. point?: PlotSeriesPointOptions;
  20570. /**
  20571. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  20572. * but for an individual series. Overrides the chart wide configuration.
  20573. */
  20574. pointDescriptionFormatter?: Function;
  20575. /**
  20576. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  20577. * a series, `pointInterval` defines the interval of the x values. For
  20578. * example, if a series contains one value every decade starting from year
  20579. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  20580. * `pointInterval` is set in milliseconds.
  20581. *
  20582. * It can be also be combined with `pointIntervalUnit` to draw irregular
  20583. * time intervals.
  20584. *
  20585. * Please note that this options applies to the _series data_, not the
  20586. * interval of the axis ticks, which is independent.
  20587. */
  20588. pointInterval?: number;
  20589. /**
  20590. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  20591. * setting the pointInterval to irregular time units, `day`, `month` and
  20592. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  20593. * also takes the DST crossover into consideration when dealing with local
  20594. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  20595. * months, 10 years etc.
  20596. *
  20597. * Please note that this options applies to the _series data_, not the
  20598. * interval of the axis ticks, which is independent.
  20599. */
  20600. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  20601. /**
  20602. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  20603. * `number`.
  20604. *
  20605. * In a column chart, when pointPlacement is `"on"`, the point will not
  20606. * create any padding of the X axis. In a polar column chart this means that
  20607. * the first column points directly north. If the pointPlacement is
  20608. * `"between"`, the columns will be laid out between ticks. This is useful
  20609. * for example for visualising an amount between two points in time or in a
  20610. * certain sector of a polar chart.
  20611. *
  20612. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  20613. * is on the axis value, -0.5 is between this value and the previous, and
  20614. * 0.5 is between this value and the next. Unlike the textual options,
  20615. * numeric point placement options won't affect axis padding.
  20616. *
  20617. * Note that pointPlacement needs a pointRange to work. For column series
  20618. * this is computed, but for line-type series it needs to be set.
  20619. *
  20620. * For the `xrange` series type and gantt charts, if the Y axis is a
  20621. * category axis, the `pointPlacement` applies to the Y axis rather than the
  20622. * (typically datetime) X axis.
  20623. *
  20624. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  20625. */
  20626. pointPlacement?: (number|string);
  20627. /**
  20628. * (Highstock) The width of each point on the x axis. For example in a
  20629. * column chart with one value each day, the pointRange would be 1 day (= 24
  20630. * * 3600
  20631. *
  20632. * * 1000 milliseconds). This is normally computed automatically, but this
  20633. * option can be used to override the automatic value.
  20634. */
  20635. pointRange?: number;
  20636. /**
  20637. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  20638. * a series, pointStart defines on what value to start. For example, if a
  20639. * series contains one yearly value starting from 1945, set pointStart to
  20640. * 1945.
  20641. */
  20642. pointStart?: number;
  20643. /**
  20644. * (Highcharts, Highstock) Whether to select the series initially. If
  20645. * `showCheckbox` is true, the checkbox next to the series name in the
  20646. * legend will be checked for a selected series.
  20647. */
  20648. selected?: boolean;
  20649. /**
  20650. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  20651. * the shadow can be an object configuration containing `color`, `offsetX`,
  20652. * `offsetY`, `opacity` and `width`.
  20653. */
  20654. shadow?: (boolean|ShadowOptionsObject);
  20655. /**
  20656. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  20657. * legend item to allow selecting the series. The state of the checkbox is
  20658. * determined by the `selected` option.
  20659. */
  20660. showCheckbox?: boolean;
  20661. /**
  20662. * (Highcharts, Highstock) Whether to display this particular series or
  20663. * series type in the legend. Standalone series are shown in legend by
  20664. * default, and linked series are not. Since v7.2.0 it is possible to show
  20665. * series that use colorAxis by setting this option to `true`.
  20666. */
  20667. showInLegend?: boolean;
  20668. /**
  20669. * (Highstock) Whether or not to show the series in the navigator. Takes
  20670. * precedence over navigator.baseSeries if defined.
  20671. */
  20672. showInNavigator?: boolean;
  20673. /**
  20674. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  20675. * skip past the points in this series for keyboard navigation.
  20676. */
  20677. skipKeyboardNavigation?: boolean;
  20678. /**
  20679. * (Highcharts, Highstock) When this is true, the series will not cause the
  20680. * Y axis to cross the zero plane (or threshold option) unless the data
  20681. * actually crosses the plane.
  20682. *
  20683. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  20684. * make the Y axis show negative values according to the `minPadding`
  20685. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  20686. */
  20687. softThreshold?: boolean;
  20688. states?: SeriesStatesOptionsObject;
  20689. /**
  20690. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  20691. * values are `left`, `center` and `right`.
  20692. */
  20693. step?: OptionsStepValue;
  20694. /**
  20695. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  20696. * `mouseOut` event on a series isn't triggered until the mouse moves over
  20697. * another series, or out of the plot area. When false, the `mouseOut` event
  20698. * on a series is triggered when the mouse leaves the area around the
  20699. * series' graph or markers. This also implies the tooltip when not shared.
  20700. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  20701. * will be hidden when moving the mouse between series. Defaults to true for
  20702. * line and area type series, but to false for columns, pies etc.
  20703. *
  20704. * **Note:** The boost module will force this option because of technical
  20705. * limitations.
  20706. */
  20707. stickyTracking?: boolean;
  20708. /**
  20709. * (Highcharts, Highstock) The Y axis value to serve as the base for the
  20710. * area, for distinguishing between values above and below a threshold. The
  20711. * area between the graph and the threshold is filled.
  20712. *
  20713. * * If a number is given, the Y axis will scale to the threshold.
  20714. *
  20715. * * If `null`, the scaling behaves like a line series with fill between the
  20716. * graph and the Y axis minimum.
  20717. *
  20718. * * If `Infinity` or `-Infinity`, the area between the graph and the
  20719. * corresponding Y axis extreme is filled (since v6.1.0).
  20720. */
  20721. threshold?: (number|null);
  20722. /**
  20723. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  20724. * of each single series. Properties are inherited from tooltip, but only
  20725. * the following properties can be defined on a series level.
  20726. */
  20727. tooltip?: SeriesTooltipOptionsObject;
  20728. /**
  20729. * (Highcharts, Highstock) Whether the whole area or just the line should
  20730. * respond to mouseover tooltips and other mouse or touch events.
  20731. */
  20732. trackByArea?: boolean;
  20733. /**
  20734. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  20735. * is longer than this, only one dimensional arrays of numbers, or two
  20736. * dimensional arrays with x and y values are allowed. Also, only the first
  20737. * point is tested, and the rest are assumed to be the same format. This
  20738. * saves expensive data checking and indexing in long series. Set it to `0`
  20739. * disable.
  20740. *
  20741. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  20742. * two dimensional arrays are allowed.
  20743. */
  20744. turboThreshold?: number;
  20745. /**
  20746. * (Highcharts, Highstock) Set the initial visibility of the series.
  20747. */
  20748. visible?: boolean;
  20749. /**
  20750. * (Highmaps) Define the z index of the series.
  20751. */
  20752. zIndex?: number;
  20753. /**
  20754. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  20755. */
  20756. zoneAxis?: string;
  20757. /**
  20758. * (Highcharts, Highstock) An array defining zones within a series. Zones
  20759. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  20760. * the `zoneAxis` option. The zone definitions have to be in ascending order
  20761. * regarding to the value.
  20762. *
  20763. * In styled mode, the color zones are styled with the
  20764. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  20765. * option (view live demo).
  20766. */
  20767. zones?: Array<SeriesZonesOptionsObject>;
  20768. }
  20769. /**
  20770. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  20771. * is displayed. The animation can also be set as a configuration object. Please
  20772. * note that this option only applies to the initial animation of the series
  20773. * itself. For other animations, see chart.animation and the animation parameter
  20774. * under the API methods. The following properties are supported:
  20775. *
  20776. * - `defer`: The animation delay time in milliseconds.
  20777. *
  20778. * - `duration`: The duration of the animation in milliseconds.
  20779. *
  20780. * - `easing`: Can be a string reference to an easing function set on the `Math`
  20781. * object or a function. See the _Custom easing function_ demo below.
  20782. *
  20783. * Due to poor performance, animation is disabled in old IE browsers for several
  20784. * chart types.
  20785. */
  20786. export interface PlotAreasplineAnimationOptions {
  20787. defer?: number;
  20788. }
  20789. /**
  20790. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  20791. * animation when a series is displayed for the `dataLabels`. The animation can
  20792. * also be set as a configuration object. Please note that this option only
  20793. * applies to the initial animation. For other animations, see chart.animation
  20794. * and the animation parameter under the API methods. The following properties
  20795. * are supported:
  20796. *
  20797. * - `defer`: The animation delay time in milliseconds.
  20798. */
  20799. export interface PlotAreasplineDataLabelsAnimationOptions {
  20800. /**
  20801. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  20802. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  20803. * inherits defer time from the series.animation.defer.
  20804. */
  20805. defer?: number;
  20806. }
  20807. /**
  20808. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  20809. * appearing next to each data point.
  20810. *
  20811. * Since v6.2.0, multiple data labels can be applied to each single point by
  20812. * defining them as an array of configs.
  20813. *
  20814. * In styled mode, the data labels can be styled with the
  20815. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  20816. * example).
  20817. */
  20818. export interface PlotAreasplineDataLabelsOptions {
  20819. /**
  20820. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  20821. * compared to the point. If `right`, the right side of the label should be
  20822. * touching the point. For points with an extent, like columns, the
  20823. * alignments also dictates how to align it inside the box, as given with
  20824. * the inside option. Can be one of `left`, `center` or `right`.
  20825. */
  20826. align?: (AlignValue|null);
  20827. /**
  20828. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  20829. * overlap. To make the labels less sensitive for overlapping, the
  20830. * dataLabels.padding can be set to 0.
  20831. */
  20832. allowOverlap?: boolean;
  20833. /**
  20834. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  20835. * animation when a series is displayed for the `dataLabels`. The animation
  20836. * can also be set as a configuration object. Please note that this option
  20837. * only applies to the initial animation. For other animations, see
  20838. * chart.animation and the animation parameter under the API methods. The
  20839. * following properties are supported:
  20840. *
  20841. * - `defer`: The animation delay time in milliseconds.
  20842. */
  20843. animation?: (boolean|PlotAreasplineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  20844. /**
  20845. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  20846. * for the data label.
  20847. */
  20848. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  20849. /**
  20850. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  20851. * label. Defaults to `undefined`.
  20852. */
  20853. borderColor?: (ColorString|GradientColorObject|PatternObject);
  20854. /**
  20855. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  20856. * the data label.
  20857. */
  20858. borderRadius?: number;
  20859. /**
  20860. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  20861. * the data label.
  20862. */
  20863. borderWidth?: number;
  20864. /**
  20865. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  20866. * Particularly in styled mode, this can be used to give each series' or
  20867. * point's data label unique styling. In addition to this option, a default
  20868. * color class name is added so that we can give the labels a contrast text
  20869. * shadow.
  20870. */
  20871. className?: string;
  20872. /**
  20873. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  20874. * labels. Defaults to `undefined`. For certain series types, like column or
  20875. * map, the data labels can be drawn inside the points. In this case the
  20876. * data label will be drawn with maximum contrast by default. Additionally,
  20877. * it will be given a `text-outline` style with the opposite color, to
  20878. * further increase the contrast. This can be overridden by setting the
  20879. * `text-outline` style to `none` in the `dataLabels.style` option.
  20880. */
  20881. color?: (ColorString|GradientColorObject|PatternObject);
  20882. /**
  20883. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  20884. * are outside the plot area. By default, the data label is moved inside the
  20885. * plot area according to the overflow option.
  20886. */
  20887. crop?: boolean;
  20888. /**
  20889. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  20890. * labels until the initial series animation has finished. Setting to
  20891. * `false` renders the data label immediately. If set to `true` inherits the
  20892. * defer time set in plotOptions.series.animation.
  20893. */
  20894. defer?: boolean;
  20895. /**
  20896. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  20897. * labels.
  20898. */
  20899. enabled?: boolean;
  20900. /**
  20901. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  20902. * of which data labels to display. The declarative filter is designed for
  20903. * use when callback functions are not available, like when the chart
  20904. * options require a pure JSON structure or for use with graphical editors.
  20905. * For programmatic control, use the `formatter` instead, and return
  20906. * `undefined` to disable a single data label.
  20907. */
  20908. filter?: DataLabelsFilterOptionsObject;
  20909. /**
  20910. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  20911. * label. Available variables are the same as for `formatter`.
  20912. */
  20913. format?: string;
  20914. /**
  20915. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  20916. * format the data label. Note that if a `format` is defined, the format
  20917. * takes precedence and the formatter is ignored.
  20918. */
  20919. formatter?: DataLabelsFormatterCallbackFunction;
  20920. /**
  20921. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  20922. * columns or map areas, whether to align the data label inside the box or
  20923. * to the actual value point. Defaults to `false` in most cases, `true` in
  20924. * stacked columns.
  20925. */
  20926. inside?: boolean;
  20927. /**
  20928. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  20929. * of null. Works analogously to format. `nullFormat` can be applied only to
  20930. * series which support displaying null points.
  20931. */
  20932. nullFormat?: (boolean|string);
  20933. /**
  20934. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  20935. * that defines formatting for points with the value of null. Works
  20936. * analogously to formatter. `nullPointFormatter` can be applied only to
  20937. * series which support displaying null points.
  20938. */
  20939. nullFormatter?: DataLabelsFormatterCallbackFunction;
  20940. /**
  20941. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  20942. * flow outside the plot area. The default is `"justify"`, which aligns them
  20943. * inside the plot area. For columns and bars, this means it will be moved
  20944. * inside the bar. To display data labels outside the plot area, set `crop`
  20945. * to `false` and `overflow` to `"allow"`.
  20946. */
  20947. overflow?: DataLabelsOverflowValue;
  20948. /**
  20949. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  20950. * the `backgroundColor` is set, this is the padding within the box.
  20951. */
  20952. padding?: number;
  20953. /**
  20954. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  20955. * points. If `center` alignment is not possible, it defaults to `right`.
  20956. */
  20957. position?: AlignValue;
  20958. /**
  20959. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  20960. * that due to a more complex structure, backgrounds, borders and padding
  20961. * will be lost on a rotated data label.
  20962. */
  20963. rotation?: number;
  20964. /**
  20965. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  20966. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  20967. * an object configuration containing `color`, `offsetX`, `offsetY`,
  20968. * `opacity` and `width`.
  20969. */
  20970. shadow?: (boolean|ShadowOptionsObject);
  20971. /**
  20972. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  20973. * the border around the label. Symbols are predefined functions on the
  20974. * Renderer object.
  20975. */
  20976. shape?: string;
  20977. /**
  20978. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  20979. * default `color` setting is `"contrast"`, which is a pseudo color that
  20980. * Highcharts picks up and applies the maximum contrast to the underlying
  20981. * point item, for example the bar in a bar chart.
  20982. *
  20983. * The `textOutline` is a pseudo property that applies an outline of the
  20984. * given width with the given color, which by default is the maximum
  20985. * contrast to the text. So a bright text color will result in a black text
  20986. * outline for maximum readability on a mixed background. In some cases,
  20987. * especially with grayscale text, the text outline doesn't work well, in
  20988. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  20989. * is true, the `textOutline` will not be picked up. In this, case, the same
  20990. * effect can be acheived through the `text-shadow` CSS property.
  20991. *
  20992. * For some series types, where each point has an extent, like for example
  20993. * tree maps, the data label may overflow the point. There are two
  20994. * strategies for handling overflow. By default, the text will wrap to
  20995. * multiple lines. The other strategy is to set `style.textOverflow` to
  20996. * `ellipsis`, which will keep the text on one line plus it will break
  20997. * inside long words.
  20998. */
  20999. style?: CSSObject;
  21000. /**
  21001. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  21002. * should follow marker's shape. Border and background are disabled for a
  21003. * label that follows a path.
  21004. *
  21005. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  21006. * to true will disable this option.
  21007. */
  21008. textPath?: DataLabelsTextPathOptionsObject;
  21009. /**
  21010. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  21011. * the labels.
  21012. */
  21013. useHTML?: boolean;
  21014. /**
  21015. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  21016. * label. Can be one of `top`, `middle` or `bottom`. The default value
  21017. * depends on the data, for instance in a column chart, the label is above
  21018. * positive values and below negative values.
  21019. */
  21020. verticalAlign?: (VerticalAlignValue|null);
  21021. /**
  21022. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  21023. * label relative to the point in pixels.
  21024. */
  21025. x?: number;
  21026. /**
  21027. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  21028. * label relative to the point in pixels.
  21029. */
  21030. y?: number;
  21031. /**
  21032. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  21033. * The default Z index puts it above the series. Use a Z index of 2 to
  21034. * display it behind the series.
  21035. */
  21036. z?: number;
  21037. }
  21038. /**
  21039. * (Highcharts, Highstock) Options for the series data sorting.
  21040. */
  21041. export interface PlotAreasplineDataSortingOptions {
  21042. /**
  21043. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  21044. * Use xAxis.reversed to change the sorting order.
  21045. */
  21046. enabled?: boolean;
  21047. /**
  21048. * (Highcharts, Highstock) Whether to allow matching points by name in an
  21049. * update. If this option is disabled, points will be matched by order.
  21050. */
  21051. matchByName?: boolean;
  21052. /**
  21053. * (Highcharts, Highstock) Determines what data value should be used to sort
  21054. * by.
  21055. */
  21056. sortKey?: string;
  21057. }
  21058. /**
  21059. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  21060. * one state by default, the `default` state.
  21061. */
  21062. export interface PlotAreasplineDragDropGuideBoxOptions {
  21063. /**
  21064. * (Highcharts, Highstock) Style options for the guide box default state.
  21065. */
  21066. default?: DragDropGuideBoxOptionsObject;
  21067. }
  21068. /**
  21069. * (Highcharts, Highstock) The area spline series is an area series where the
  21070. * graph between the points is smoothed into a spline.
  21071. *
  21072. * In TypeScript the type option must always be set.
  21073. *
  21074. * Configuration options for the series are given in three levels:
  21075. *
  21076. * 1. Options for all series in a chart are defined in the plotOptions.series
  21077. * object.
  21078. *
  21079. * 2. Options for all `areaspline` series are defined in plotOptions.areaspline.
  21080. *
  21081. * 3. Options for one single series are given in the series instance array. (see
  21082. * online documentation for example)
  21083. */
  21084. export interface PlotAreasplineOptions {
  21085. /**
  21086. * (Highcharts, Highstock) Accessibility options for a series.
  21087. */
  21088. accessibility?: SeriesAccessibilityOptionsObject;
  21089. /**
  21090. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  21091. * rendered. If `true`, areas which don't correspond to a data point, are
  21092. * rendered as `null` points. If `false`, those areas are skipped.
  21093. */
  21094. allAreas?: boolean;
  21095. /**
  21096. * (Highcharts, Highstock) Allow this series' points to be selected by
  21097. * clicking on the graphic (columns, point markers, pie slices, map areas
  21098. * etc).
  21099. *
  21100. * The selected points can be handled by point select and unselect events,
  21101. * or collectively by the getSelectedPoints function.
  21102. *
  21103. * And alternative way of selecting points is through dragging.
  21104. */
  21105. allowPointSelect?: boolean;
  21106. /**
  21107. * (Highcharts, Highstock) Enable or disable the initial animation when a
  21108. * series is displayed. The animation can also be set as a configuration
  21109. * object. Please note that this option only applies to the initial
  21110. * animation of the series itself. For other animations, see chart.animation
  21111. * and the animation parameter under the API methods. The following
  21112. * properties are supported:
  21113. *
  21114. * - `defer`: The animation delay time in milliseconds.
  21115. *
  21116. * - `duration`: The duration of the animation in milliseconds.
  21117. *
  21118. * - `easing`: Can be a string reference to an easing function set on the
  21119. * `Math` object or a function. See the _Custom easing function_ demo below.
  21120. *
  21121. * Due to poor performance, animation is disabled in old IE browsers for
  21122. * several chart types.
  21123. */
  21124. animation?: (boolean|PlotAreasplineAnimationOptions|Partial<AnimationOptionsObject>);
  21125. /**
  21126. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  21127. * initial animation by default when the total number of points in the chart
  21128. * is too high. For example, for a column chart and its derivatives,
  21129. * animation does not run if there is more than 250 points totally. To
  21130. * disable this cap, set `animationLimit` to `Infinity`.
  21131. */
  21132. animationLimit?: number;
  21133. /**
  21134. * (Highmaps) The border color of the map areas.
  21135. *
  21136. * In styled mode, the border stroke is given in the `.highcharts-point`
  21137. * class.
  21138. */
  21139. borderColor?: (ColorString|GradientColorObject|PatternObject);
  21140. /**
  21141. * (Highmaps) The border width of each map area.
  21142. *
  21143. * In styled mode, the border stroke width is given in the
  21144. * `.highcharts-point` class.
  21145. */
  21146. borderWidth?: number;
  21147. /**
  21148. * (Highcharts, Highstock) An additional class name to apply to the series'
  21149. * graphical elements. This option does not replace default class names of
  21150. * the graphical element.
  21151. */
  21152. className?: string;
  21153. /**
  21154. * (Highcharts, Highstock) Disable this option to allow series rendering in
  21155. * the whole plotting area.
  21156. *
  21157. * **Note:** Clipping should be always enabled when chart.zoomType is set
  21158. */
  21159. clip?: boolean;
  21160. /**
  21161. * (Highcharts, Highstock) The main color of the series. In line type series
  21162. * it applies to the line and the point markers unless otherwise specified.
  21163. * In bar type series it applies to the bars unless a color is specified per
  21164. * point. The default value is pulled from the `options.colors` array.
  21165. *
  21166. * In styled mode, the color can be defined by the colorIndex option. Also,
  21167. * the series color can be set with the `.highcharts-series`,
  21168. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  21169. * `.highcharts-series-{n}` class, or individual classes given by the
  21170. * `className` option.
  21171. */
  21172. color?: (ColorString|GradientColorObject|PatternObject);
  21173. /**
  21174. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  21175. * this number defines which colorAxis the particular series is connected
  21176. * to. It refers to either the axis id or the index of the axis in the
  21177. * colorAxis array, with 0 being the first. Set this option to false to
  21178. * prevent a series from connecting to the default color axis.
  21179. *
  21180. * Since v7.2.0 the option can also be an axis id or an axis index instead
  21181. * of a boolean flag.
  21182. */
  21183. colorAxis?: (boolean|number|string);
  21184. /**
  21185. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  21186. * for the series, so its graphic representations are given the class name
  21187. * `highcharts-color-{n}`.
  21188. */
  21189. colorIndex?: number;
  21190. /**
  21191. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  21192. * used to calculate point color if `colorAxis` is used. Requires to set
  21193. * `min` and `max` if some custom point property is used or if approximation
  21194. * for data grouping is set to `'sum'`.
  21195. */
  21196. colorKey?: string;
  21197. /**
  21198. * (Highstock) Compare the values of the series against the first non-null,
  21199. * non- zero value in the visible range. The y axis will show percentage or
  21200. * absolute change depending on whether `compare` is set to `"percent"` or
  21201. * `"value"`. When this is applied to multiple series, it allows comparing
  21202. * the development of the series against each other. Adds a `change` field
  21203. * to every point object.
  21204. */
  21205. compare?: string;
  21206. /**
  21207. * (Highstock) When compare is `percent`, this option dictates whether to
  21208. * use 0 or 100 as the base of comparison.
  21209. */
  21210. compareBase?: (0|100);
  21211. /**
  21212. * (Highstock) Defines if comparison should start from the first point
  21213. * within the visible range or should start from the first point **before**
  21214. * the range.
  21215. *
  21216. * In other words, this flag determines if first point within the visible
  21217. * range will have 0% (`compareStart=true`) or should have been already
  21218. * calculated according to the previous point (`compareStart=false`).
  21219. */
  21220. compareStart?: boolean;
  21221. /**
  21222. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  21223. * series plot across the extremes.
  21224. */
  21225. connectEnds?: boolean;
  21226. /**
  21227. * (Highcharts, Highstock) Whether to connect a graph line across null
  21228. * points, or render a gap between the two points on either side of the
  21229. * null.
  21230. */
  21231. connectNulls?: boolean;
  21232. /**
  21233. * (Gantt) Override Pathfinder connector options for a series. Requires
  21234. * Highcharts Gantt to be loaded.
  21235. */
  21236. connectors?: SeriesConnectorsOptionsObject;
  21237. /**
  21238. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  21239. * rounded to its nearest pixel in order to render sharp on screen. In some
  21240. * cases, when there are a lot of densely packed columns, this leads to
  21241. * visible difference in column widths or distance between columns. In these
  21242. * cases, setting `crisp` to `false` may look better, even though each
  21243. * column is rendered blurry.
  21244. */
  21245. crisp?: boolean;
  21246. /**
  21247. * (Highcharts, Highstock) When the series contains less points than the
  21248. * crop threshold, all points are drawn, even if the points fall outside the
  21249. * visible plot area at the current zoom. The advantage of drawing all
  21250. * points (including markers and columns), is that animation is performed on
  21251. * updates. On the other hand, when the series contains more points than the
  21252. * crop threshold, the series data is cropped to only contain points that
  21253. * fall within the plot area. The advantage of cropping away invisible
  21254. * points is to increase performance on large series.
  21255. */
  21256. cropThreshold?: number;
  21257. /**
  21258. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  21259. * click events attached to the series, to signal to the user that the
  21260. * points and lines can be clicked.
  21261. *
  21262. * In styled mode, the series cursor can be set with the same classes as
  21263. * listed under series.color.
  21264. */
  21265. cursor?: (string|CursorValue);
  21266. /**
  21267. * (Highcharts, Highstock) A reserved subspace to store options and values
  21268. * for customized functionality. Here you can add additional data for your
  21269. * own event callbacks and formatter callbacks.
  21270. */
  21271. custom?: Dictionary<any>;
  21272. /**
  21273. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  21274. * for some series types the outline of each shape.
  21275. *
  21276. * In styled mode, the stroke dash-array can be set with the same classes as
  21277. * listed under series.color.
  21278. */
  21279. dashStyle?: DashStyleValue;
  21280. /**
  21281. * (Highstock) Data grouping is the concept of sampling the data values into
  21282. * larger blocks in order to ease readability and increase performance of
  21283. * the JavaScript charts. Highstock by default applies data grouping when
  21284. * the points become closer than a certain pixel value, determined by the
  21285. * `groupPixelWidth` option.
  21286. *
  21287. * If data grouping is applied, the grouping information of grouped points
  21288. * can be read from the Point.dataGroup. If point options other than the
  21289. * data itself are set, for example `name` or `color` or custom properties,
  21290. * the grouping logic doesn't know how to group it. In this case the options
  21291. * of the first point instance are copied over to the group point. This can
  21292. * be altered through a custom `approximation` callback function.
  21293. */
  21294. dataGrouping?: DataGroupingOptionsObject;
  21295. /**
  21296. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  21297. * labels, appearing next to each data point.
  21298. *
  21299. * Since v6.2.0, multiple data labels can be applied to each single point by
  21300. * defining them as an array of configs.
  21301. *
  21302. * In styled mode, the data labels can be styled with the
  21303. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  21304. * (see example).
  21305. */
  21306. dataLabels?: (PlotAreasplineDataLabelsOptions|Array<PlotAreasplineDataLabelsOptions>);
  21307. /**
  21308. * (Highcharts, Highstock) Options for the series data sorting.
  21309. */
  21310. dataSorting?: (DataSortingOptionsObject|PlotAreasplineDataSortingOptions);
  21311. /**
  21312. * (Highcharts, Highstock) A description of the series to add to the screen
  21313. * reader information about the series.
  21314. */
  21315. description?: string;
  21316. /**
  21317. * (Highcharts, Highstock) The draggable-points module allows points to be
  21318. * moved around or modified in the chart. In addition to the options
  21319. * mentioned under the `dragDrop` API structure, the module fires three
  21320. * events, point.dragStart, point.drag and point.drop.
  21321. */
  21322. dragDrop?: SeriesDragDropOptionsObject;
  21323. /**
  21324. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  21325. * specific series. This includes point tooltips and click events on graphs
  21326. * and points. For large datasets it improves performance.
  21327. */
  21328. enableMouseTracking?: boolean;
  21329. /**
  21330. * (Highcharts, Highstock) General event handlers for the series items.
  21331. * These event hooks can also be attached to the series at run time using
  21332. * the `Highcharts.addEvent` function.
  21333. */
  21334. events?: SeriesEventsOptionsObject;
  21335. /**
  21336. * (Highcharts, Highstock) Fill color or gradient for the area. When `null`,
  21337. * the series' `color` is used with the series' `fillOpacity`.
  21338. *
  21339. * In styled mode, the fill color can be set with the `.highcharts-area`
  21340. * class name.
  21341. */
  21342. fillColor?: (ColorString|GradientColorObject|PatternObject);
  21343. /**
  21344. * (Highcharts, Highstock) Fill opacity for the area. When you set an
  21345. * explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
  21346. * should define the opacity in the `fillColor` with an rgba color
  21347. * definition. The `fillOpacity` setting, also the default setting,
  21348. * overrides the alpha component of the `color` setting.
  21349. *
  21350. * In styled mode, the fill opacity can be set with the `.highcharts-area`
  21351. * class name.
  21352. */
  21353. fillOpacity?: number;
  21354. /**
  21355. * (Highcharts, Highstock) Determines whether the series should look for the
  21356. * nearest point in both dimensions or just the x-dimension when hovering
  21357. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  21358. * other series. If the data has duplicate x-values, it is recommended to
  21359. * set this to `'xy'` to allow hovering over all points.
  21360. *
  21361. * Applies only to series types using nearest neighbor search (not direct
  21362. * hover) for tooltip.
  21363. */
  21364. findNearestPointBy?: OptionsFindNearestPointByValue;
  21365. /**
  21366. * (Highstock) Defines when to display a gap in the graph, together with the
  21367. * gapUnit option.
  21368. *
  21369. * In case when `dataGrouping` is enabled, points can be grouped into a
  21370. * larger time span. This can make the grouped points to have a greater
  21371. * distance than the absolute value of `gapSize` property, which will result
  21372. * in disappearing graph completely. To prevent this situation the mentioned
  21373. * distance between grouped points is used instead of previously defined
  21374. * `gapSize`.
  21375. *
  21376. * In practice, this option is most often used to visualize gaps in time
  21377. * series. In a stock chart, intraday data is available for daytime hours,
  21378. * while gaps will appear in nights and weekends.
  21379. */
  21380. gapSize?: number;
  21381. /**
  21382. * (Highstock) Together with gapSize, this option defines where to draw gaps
  21383. * in the graph.
  21384. *
  21385. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  21386. * if the distance between two points is greater than 5 times that of the
  21387. * two closest points, the graph will be broken.
  21388. *
  21389. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  21390. * values, which on a datetime axis is milliseconds. This also applies to
  21391. * the navigator series that inherits gap options from the base series.
  21392. */
  21393. gapUnit?: OptionsGapUnitValue;
  21394. /**
  21395. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  21396. * chart width or only the zoomed area when zooming in on parts of the X
  21397. * axis. By default, the Y axis adjusts to the min and max of the visible
  21398. * data. Cartesian series only.
  21399. */
  21400. getExtremesFromAll?: boolean;
  21401. /**
  21402. * (Highcharts, Highstock) When set to `false` will prevent the series data
  21403. * from being included in any form of data export.
  21404. *
  21405. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  21406. * `includeInCSVExport`.
  21407. */
  21408. includeInDataExport?: boolean;
  21409. /**
  21410. * (Highmaps) What property to join the `mapData` to the value data. For
  21411. * example, if joinBy is "code", the mapData items with a specific code is
  21412. * merged into the data with the same code. For maps loaded from GeoJSON,
  21413. * the keys may be held in each point's `properties` object.
  21414. *
  21415. * The joinBy option can also be an array of two values, where the first
  21416. * points to a key in the `mapData`, and the second points to another key in
  21417. * the `data`.
  21418. *
  21419. * When joinBy is `null`, the map items are joined by their position in the
  21420. * array, which performs much better in maps with many data points. This is
  21421. * the recommended option if you are printing more than a thousand data
  21422. * points and have a backend that can preprocess the data into a parallel
  21423. * array of the mapData.
  21424. */
  21425. joinBy?: (string|Array<string>);
  21426. /**
  21427. * (Highcharts, Highstock) An array specifying which option maps to which
  21428. * key in the data point array. This makes it convenient to work with
  21429. * unstructured data arrays from different sources.
  21430. */
  21431. keys?: Array<string>;
  21432. /**
  21433. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  21434. * series as possible in a natural way, seeking to avoid other series. The
  21435. * goal of this feature is to make the chart more easily readable, like if a
  21436. * human designer placed the labels in the optimal position.
  21437. *
  21438. * The series labels currently work with series types having a `graph` or an
  21439. * `area`.
  21440. */
  21441. label?: SeriesLabelOptionsObject;
  21442. /**
  21443. * (Highstock) The line marks the last price from all points.
  21444. */
  21445. lastPrice?: SeriesLastPriceOptionsObject;
  21446. /**
  21447. * (Highstock) The line marks the last price from visible range of points.
  21448. */
  21449. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  21450. /**
  21451. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  21452. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  21453. * the ends and bends.
  21454. */
  21455. linecap?: SeriesLinecapValue;
  21456. /**
  21457. * (Highcharts, Highstock) A separate color for the graph line. By default
  21458. * the line takes the `color` of the series, but the lineColor setting
  21459. * allows setting a separate color for the line without altering the
  21460. * `fillColor`.
  21461. *
  21462. * In styled mode, the line stroke can be set with the `.highcharts-graph`
  21463. * class name.
  21464. */
  21465. lineColor?: (ColorString|GradientColorObject|PatternObject);
  21466. /**
  21467. * (Highcharts, Highstock) Pixel width of the graph line.
  21468. */
  21469. lineWidth?: number;
  21470. /**
  21471. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  21472. * Additionally, the value can be ":previous" to link to the previous
  21473. * series. When two series are linked, only the first one appears in the
  21474. * legend. Toggling the visibility of this also toggles the linked series.
  21475. *
  21476. * If master series uses data sorting and linked series does not have its
  21477. * own sorting definition, the linked series will be sorted in the same
  21478. * order as the master one.
  21479. */
  21480. linkedTo?: string;
  21481. /**
  21482. * (Highcharts, Highstock) Options for the point markers of line-like
  21483. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  21484. * the visual appearance of the markers. Other series types, like column
  21485. * series, don't have markers, but have visual options on the series level
  21486. * instead.
  21487. *
  21488. * In styled mode, the markers can be styled with the `.highcharts-point`,
  21489. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  21490. */
  21491. marker?: PointMarkerOptionsObject;
  21492. /**
  21493. * (Highstock) Options for the corresponding navigator series if
  21494. * `showInNavigator` is `true` for this series. Available options are the
  21495. * same as any series, documented at plotOptions and series.
  21496. *
  21497. * These options are merged with options in navigator.series, and will take
  21498. * precedence if the same option is defined both places.
  21499. */
  21500. navigatorOptions?: PlotSeriesOptions;
  21501. /**
  21502. * (Highcharts, Highstock) The color for the parts of the graph or points
  21503. * that are below the threshold. Note that `zones` takes precedence over the
  21504. * negative color. Using `negativeColor` is equivalent to applying a zone
  21505. * with value of 0.
  21506. */
  21507. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  21508. /**
  21509. * (Highcharts) A separate color for the negative part of the area.
  21510. *
  21511. * In styled mode, a negative color is set with the `.highcharts-negative`
  21512. * class name.
  21513. */
  21514. negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
  21515. /**
  21516. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  21517. * and dataLabels.
  21518. */
  21519. opacity?: number;
  21520. /**
  21521. * (Highcharts, Highstock) Properties for each single point.
  21522. */
  21523. point?: PlotSeriesPointOptions;
  21524. /**
  21525. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  21526. * but for an individual series. Overrides the chart wide configuration.
  21527. */
  21528. pointDescriptionFormatter?: Function;
  21529. /**
  21530. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  21531. * a series, `pointInterval` defines the interval of the x values. For
  21532. * example, if a series contains one value every decade starting from year
  21533. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  21534. * `pointInterval` is set in milliseconds.
  21535. *
  21536. * It can be also be combined with `pointIntervalUnit` to draw irregular
  21537. * time intervals.
  21538. *
  21539. * Please note that this options applies to the _series data_, not the
  21540. * interval of the axis ticks, which is independent.
  21541. */
  21542. pointInterval?: number;
  21543. /**
  21544. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  21545. * setting the pointInterval to irregular time units, `day`, `month` and
  21546. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  21547. * also takes the DST crossover into consideration when dealing with local
  21548. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  21549. * months, 10 years etc.
  21550. *
  21551. * Please note that this options applies to the _series data_, not the
  21552. * interval of the axis ticks, which is independent.
  21553. */
  21554. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  21555. /**
  21556. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  21557. * `number`.
  21558. *
  21559. * In a column chart, when pointPlacement is `"on"`, the point will not
  21560. * create any padding of the X axis. In a polar column chart this means that
  21561. * the first column points directly north. If the pointPlacement is
  21562. * `"between"`, the columns will be laid out between ticks. This is useful
  21563. * for example for visualising an amount between two points in time or in a
  21564. * certain sector of a polar chart.
  21565. *
  21566. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  21567. * is on the axis value, -0.5 is between this value and the previous, and
  21568. * 0.5 is between this value and the next. Unlike the textual options,
  21569. * numeric point placement options won't affect axis padding.
  21570. *
  21571. * Note that pointPlacement needs a pointRange to work. For column series
  21572. * this is computed, but for line-type series it needs to be set.
  21573. *
  21574. * For the `xrange` series type and gantt charts, if the Y axis is a
  21575. * category axis, the `pointPlacement` applies to the Y axis rather than the
  21576. * (typically datetime) X axis.
  21577. *
  21578. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  21579. */
  21580. pointPlacement?: (number|string);
  21581. /**
  21582. * (Highstock) The width of each point on the x axis. For example in a
  21583. * column chart with one value each day, the pointRange would be 1 day (= 24
  21584. * * 3600
  21585. *
  21586. * * 1000 milliseconds). This is normally computed automatically, but this
  21587. * option can be used to override the automatic value.
  21588. */
  21589. pointRange?: number;
  21590. /**
  21591. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  21592. * a series, pointStart defines on what value to start. For example, if a
  21593. * series contains one yearly value starting from 1945, set pointStart to
  21594. * 1945.
  21595. */
  21596. pointStart?: number;
  21597. /**
  21598. * (Highcharts, Highstock) Whether to select the series initially. If
  21599. * `showCheckbox` is true, the checkbox next to the series name in the
  21600. * legend will be checked for a selected series.
  21601. */
  21602. selected?: boolean;
  21603. /**
  21604. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  21605. * Since 2.3 the shadow can be an object configuration containing `color`,
  21606. * `offsetX`, `offsetY`, `opacity` and `width`.
  21607. */
  21608. shadow?: (boolean|ShadowOptionsObject);
  21609. /**
  21610. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  21611. * legend item to allow selecting the series. The state of the checkbox is
  21612. * determined by the `selected` option.
  21613. */
  21614. showCheckbox?: boolean;
  21615. /**
  21616. * (Highcharts, Highstock) Whether to display this particular series or
  21617. * series type in the legend. Standalone series are shown in legend by
  21618. * default, and linked series are not. Since v7.2.0 it is possible to show
  21619. * series that use colorAxis by setting this option to `true`.
  21620. */
  21621. showInLegend?: boolean;
  21622. /**
  21623. * (Highstock) Whether or not to show the series in the navigator. Takes
  21624. * precedence over navigator.baseSeries if defined.
  21625. */
  21626. showInNavigator?: boolean;
  21627. /**
  21628. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  21629. * skip past the points in this series for keyboard navigation.
  21630. */
  21631. skipKeyboardNavigation?: boolean;
  21632. /**
  21633. * (Highcharts, Highstock) When this is true, the series will not cause the
  21634. * Y axis to cross the zero plane (or threshold option) unless the data
  21635. * actually crosses the plane.
  21636. *
  21637. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  21638. * make the Y axis show negative values according to the `minPadding`
  21639. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  21640. */
  21641. softThreshold?: boolean;
  21642. /**
  21643. * (Highcharts, Highstock) Whether to stack the values of each series on top
  21644. * of each other. Possible values are `undefined` to disable, `"normal"` to
  21645. * stack by value or `"percent"`.
  21646. *
  21647. * When stacking is enabled, data must be sorted in ascending X order.
  21648. *
  21649. * Some stacking options are related to specific series types. In the
  21650. * streamgraph series type, the stacking option is set to `"stream"`. The
  21651. * second one is `"overlap"`, which only applies to waterfall series.
  21652. */
  21653. stacking?: OptionsStackingValue;
  21654. states?: SeriesStatesOptionsObject;
  21655. /**
  21656. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  21657. * `mouseOut` event on a series isn't triggered until the mouse moves over
  21658. * another series, or out of the plot area. When false, the `mouseOut` event
  21659. * on a series is triggered when the mouse leaves the area around the
  21660. * series' graph or markers. This also implies the tooltip when not shared.
  21661. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  21662. * will be hidden when moving the mouse between series. Defaults to true for
  21663. * line and area type series, but to false for columns, pies etc.
  21664. *
  21665. * **Note:** The boost module will force this option because of technical
  21666. * limitations.
  21667. */
  21668. stickyTracking?: boolean;
  21669. /**
  21670. * (Highcharts, Highstock) The Y axis value to serve as the base for the
  21671. * area, for distinguishing between values above and below a threshold. The
  21672. * area between the graph and the threshold is filled.
  21673. *
  21674. * * If a number is given, the Y axis will scale to the threshold.
  21675. *
  21676. * * If `null`, the scaling behaves like a line series with fill between the
  21677. * graph and the Y axis minimum.
  21678. *
  21679. * * If `Infinity` or `-Infinity`, the area between the graph and the
  21680. * corresponding Y axis extreme is filled (since v6.1.0).
  21681. */
  21682. threshold?: (number|null);
  21683. /**
  21684. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  21685. * of each single series. Properties are inherited from tooltip, but only
  21686. * the following properties can be defined on a series level.
  21687. */
  21688. tooltip?: SeriesTooltipOptionsObject;
  21689. /**
  21690. * (Highcharts, Highstock) Whether the whole area or just the line should
  21691. * respond to mouseover tooltips and other mouse or touch events.
  21692. */
  21693. trackByArea?: boolean;
  21694. /**
  21695. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  21696. * is longer than this, only one dimensional arrays of numbers, or two
  21697. * dimensional arrays with x and y values are allowed. Also, only the first
  21698. * point is tested, and the rest are assumed to be the same format. This
  21699. * saves expensive data checking and indexing in long series. Set it to `0`
  21700. * disable.
  21701. *
  21702. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  21703. * two dimensional arrays are allowed.
  21704. */
  21705. turboThreshold?: number;
  21706. /**
  21707. * (Highcharts, Highstock) Set the initial visibility of the series.
  21708. */
  21709. visible?: boolean;
  21710. /**
  21711. * (Highmaps) Define the z index of the series.
  21712. */
  21713. zIndex?: number;
  21714. /**
  21715. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  21716. */
  21717. zoneAxis?: string;
  21718. /**
  21719. * (Highcharts, Highstock) An array defining zones within a series. Zones
  21720. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  21721. * the `zoneAxis` option. The zone definitions have to be in ascending order
  21722. * regarding to the value.
  21723. *
  21724. * In styled mode, the color zones are styled with the
  21725. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  21726. * option (view live demo).
  21727. */
  21728. zones?: Array<SeriesZonesOptionsObject>;
  21729. }
  21730. /**
  21731. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  21732. * is displayed. The animation can also be set as a configuration object. Please
  21733. * note that this option only applies to the initial animation of the series
  21734. * itself. For other animations, see chart.animation and the animation parameter
  21735. * under the API methods. The following properties are supported:
  21736. *
  21737. * - `defer`: The animation delay time in milliseconds.
  21738. *
  21739. * - `duration`: The duration of the animation in milliseconds.
  21740. *
  21741. * - `easing`: Can be a string reference to an easing function set on the `Math`
  21742. * object or a function. See the _Custom easing function_ demo below.
  21743. *
  21744. * Due to poor performance, animation is disabled in old IE browsers for several
  21745. * chart types.
  21746. */
  21747. export interface PlotAreasplinerangeAnimationOptions {
  21748. defer?: number;
  21749. }
  21750. /**
  21751. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  21752. * is displayed for the `dataLabels`. The animation can also be set as a
  21753. * configuration object. Please note that this option only applies to the
  21754. * initial animation. For other animations, see chart.animation and the
  21755. * animation parameter under the API methods. The following properties are
  21756. * supported:
  21757. *
  21758. * - `defer`: The animation delay time in milliseconds.
  21759. */
  21760. export interface PlotAreasplinerangeDataLabelsAnimationOptions {
  21761. /**
  21762. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  21763. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  21764. * from the series.animation.defer.
  21765. */
  21766. defer?: number;
  21767. }
  21768. /**
  21769. * (Highcharts, Highstock) Options for the series data sorting.
  21770. */
  21771. export interface PlotAreasplinerangeDataSortingOptions {
  21772. /**
  21773. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  21774. * Use xAxis.reversed to change the sorting order.
  21775. */
  21776. enabled?: boolean;
  21777. /**
  21778. * (Highcharts, Highstock) Whether to allow matching points by name in an
  21779. * update. If this option is disabled, points will be matched by order.
  21780. */
  21781. matchByName?: boolean;
  21782. /**
  21783. * (Highcharts, Highstock) Determines what data value should be used to sort
  21784. * by.
  21785. */
  21786. sortKey?: string;
  21787. }
  21788. /**
  21789. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  21790. * one state by default, the `default` state.
  21791. */
  21792. export interface PlotAreasplinerangeDragDropGuideBoxOptions {
  21793. /**
  21794. * (Highcharts, Highstock) Style options for the guide box default state.
  21795. */
  21796. default?: DragDropGuideBoxOptionsObject;
  21797. }
  21798. /**
  21799. * (Highcharts, Highstock) The area spline range is a cartesian series type with
  21800. * higher and lower Y values along an X axis. The area inside the range is
  21801. * colored, and the graph outlining the area is a smoothed spline.
  21802. *
  21803. * In TypeScript the type option must always be set.
  21804. *
  21805. * Configuration options for the series are given in three levels:
  21806. *
  21807. * 1. Options for all series in a chart are defined in the plotOptions.series
  21808. * object.
  21809. *
  21810. * 2. Options for all `areasplinerange` series are defined in
  21811. * plotOptions.areasplinerange.
  21812. *
  21813. * 3. Options for one single series are given in the series instance array. (see
  21814. * online documentation for example)
  21815. */
  21816. export interface PlotAreasplinerangeOptions {
  21817. /**
  21818. * (Highcharts, Highstock) Accessibility options for a series.
  21819. */
  21820. accessibility?: SeriesAccessibilityOptionsObject;
  21821. /**
  21822. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  21823. * rendered. If `true`, areas which don't correspond to a data point, are
  21824. * rendered as `null` points. If `false`, those areas are skipped.
  21825. */
  21826. allAreas?: boolean;
  21827. /**
  21828. * (Highcharts, Highstock) Allow this series' points to be selected by
  21829. * clicking on the graphic (columns, point markers, pie slices, map areas
  21830. * etc).
  21831. *
  21832. * The selected points can be handled by point select and unselect events,
  21833. * or collectively by the getSelectedPoints function.
  21834. *
  21835. * And alternative way of selecting points is through dragging.
  21836. */
  21837. allowPointSelect?: boolean;
  21838. /**
  21839. * (Highcharts, Highstock) Enable or disable the initial animation when a
  21840. * series is displayed. The animation can also be set as a configuration
  21841. * object. Please note that this option only applies to the initial
  21842. * animation of the series itself. For other animations, see chart.animation
  21843. * and the animation parameter under the API methods. The following
  21844. * properties are supported:
  21845. *
  21846. * - `defer`: The animation delay time in milliseconds.
  21847. *
  21848. * - `duration`: The duration of the animation in milliseconds.
  21849. *
  21850. * - `easing`: Can be a string reference to an easing function set on the
  21851. * `Math` object or a function. See the _Custom easing function_ demo below.
  21852. *
  21853. * Due to poor performance, animation is disabled in old IE browsers for
  21854. * several chart types.
  21855. */
  21856. animation?: (boolean|PlotAreasplinerangeAnimationOptions|Partial<AnimationOptionsObject>);
  21857. /**
  21858. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  21859. * initial animation by default when the total number of points in the chart
  21860. * is too high. For example, for a column chart and its derivatives,
  21861. * animation does not run if there is more than 250 points totally. To
  21862. * disable this cap, set `animationLimit` to `Infinity`.
  21863. */
  21864. animationLimit?: number;
  21865. /**
  21866. * (Highmaps) The border color of the map areas.
  21867. *
  21868. * In styled mode, the border stroke is given in the `.highcharts-point`
  21869. * class.
  21870. */
  21871. borderColor?: (ColorString|GradientColorObject|PatternObject);
  21872. /**
  21873. * (Highmaps) The border width of each map area.
  21874. *
  21875. * In styled mode, the border stroke width is given in the
  21876. * `.highcharts-point` class.
  21877. */
  21878. borderWidth?: number;
  21879. /**
  21880. * (Highcharts, Highstock) An additional class name to apply to the series'
  21881. * graphical elements. This option does not replace default class names of
  21882. * the graphical element.
  21883. */
  21884. className?: string;
  21885. /**
  21886. * (Highcharts, Highstock) Disable this option to allow series rendering in
  21887. * the whole plotting area.
  21888. *
  21889. * **Note:** Clipping should be always enabled when chart.zoomType is set
  21890. */
  21891. clip?: boolean;
  21892. /**
  21893. * (Highcharts, Highstock) The main color of the series. In line type series
  21894. * it applies to the line and the point markers unless otherwise specified.
  21895. * In bar type series it applies to the bars unless a color is specified per
  21896. * point. The default value is pulled from the `options.colors` array.
  21897. *
  21898. * In styled mode, the color can be defined by the colorIndex option. Also,
  21899. * the series color can be set with the `.highcharts-series`,
  21900. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  21901. * `.highcharts-series-{n}` class, or individual classes given by the
  21902. * `className` option.
  21903. */
  21904. color?: (ColorString|GradientColorObject|PatternObject);
  21905. /**
  21906. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  21907. * this number defines which colorAxis the particular series is connected
  21908. * to. It refers to either the axis id or the index of the axis in the
  21909. * colorAxis array, with 0 being the first. Set this option to false to
  21910. * prevent a series from connecting to the default color axis.
  21911. *
  21912. * Since v7.2.0 the option can also be an axis id or an axis index instead
  21913. * of a boolean flag.
  21914. */
  21915. colorAxis?: (boolean|number|string);
  21916. /**
  21917. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  21918. * for the series, so its graphic representations are given the class name
  21919. * `highcharts-color-{n}`.
  21920. */
  21921. colorIndex?: number;
  21922. /**
  21923. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  21924. * used to calculate point color if `colorAxis` is used. Requires to set
  21925. * `min` and `max` if some custom point property is used or if approximation
  21926. * for data grouping is set to `'sum'`.
  21927. */
  21928. colorKey?: string;
  21929. /**
  21930. * (Highstock) Compare the values of the series against the first non-null,
  21931. * non- zero value in the visible range. The y axis will show percentage or
  21932. * absolute change depending on whether `compare` is set to `"percent"` or
  21933. * `"value"`. When this is applied to multiple series, it allows comparing
  21934. * the development of the series against each other. Adds a `change` field
  21935. * to every point object.
  21936. */
  21937. compare?: string;
  21938. /**
  21939. * (Highstock) When compare is `percent`, this option dictates whether to
  21940. * use 0 or 100 as the base of comparison.
  21941. */
  21942. compareBase?: (0|100);
  21943. /**
  21944. * (Highstock) Defines if comparison should start from the first point
  21945. * within the visible range or should start from the first point **before**
  21946. * the range.
  21947. *
  21948. * In other words, this flag determines if first point within the visible
  21949. * range will have 0% (`compareStart=true`) or should have been already
  21950. * calculated according to the previous point (`compareStart=false`).
  21951. */
  21952. compareStart?: boolean;
  21953. /**
  21954. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  21955. * series plot across the extremes.
  21956. */
  21957. connectEnds?: boolean;
  21958. /**
  21959. * (Highcharts, Highstock) Whether to connect a graph line across null
  21960. * points, or render a gap between the two points on either side of the
  21961. * null.
  21962. */
  21963. connectNulls?: boolean;
  21964. /**
  21965. * (Gantt) Override Pathfinder connector options for a series. Requires
  21966. * Highcharts Gantt to be loaded.
  21967. */
  21968. connectors?: SeriesConnectorsOptionsObject;
  21969. /**
  21970. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  21971. * rounded to its nearest pixel in order to render sharp on screen. In some
  21972. * cases, when there are a lot of densely packed columns, this leads to
  21973. * visible difference in column widths or distance between columns. In these
  21974. * cases, setting `crisp` to `false` may look better, even though each
  21975. * column is rendered blurry.
  21976. */
  21977. crisp?: boolean;
  21978. /**
  21979. * (Highcharts, Highstock) When the series contains less points than the
  21980. * crop threshold, all points are drawn, even if the points fall outside the
  21981. * visible plot area at the current zoom. The advantage of drawing all
  21982. * points (including markers and columns), is that animation is performed on
  21983. * updates. On the other hand, when the series contains more points than the
  21984. * crop threshold, the series data is cropped to only contain points that
  21985. * fall within the plot area. The advantage of cropping away invisible
  21986. * points is to increase performance on large series.
  21987. */
  21988. cropThreshold?: number;
  21989. /**
  21990. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  21991. * click events attached to the series, to signal to the user that the
  21992. * points and lines can be clicked.
  21993. *
  21994. * In styled mode, the series cursor can be set with the same classes as
  21995. * listed under series.color.
  21996. */
  21997. cursor?: (string|CursorValue);
  21998. /**
  21999. * (Highcharts, Highstock) A reserved subspace to store options and values
  22000. * for customized functionality. Here you can add additional data for your
  22001. * own event callbacks and formatter callbacks.
  22002. */
  22003. custom?: Dictionary<any>;
  22004. /**
  22005. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  22006. * for some series types the outline of each shape.
  22007. *
  22008. * In styled mode, the stroke dash-array can be set with the same classes as
  22009. * listed under series.color.
  22010. */
  22011. dashStyle?: DashStyleValue;
  22012. /**
  22013. * (Highstock) Data grouping is the concept of sampling the data values into
  22014. * larger blocks in order to ease readability and increase performance of
  22015. * the JavaScript charts. Highstock by default applies data grouping when
  22016. * the points become closer than a certain pixel value, determined by the
  22017. * `groupPixelWidth` option.
  22018. *
  22019. * If data grouping is applied, the grouping information of grouped points
  22020. * can be read from the Point.dataGroup. If point options other than the
  22021. * data itself are set, for example `name` or `color` or custom properties,
  22022. * the grouping logic doesn't know how to group it. In this case the options
  22023. * of the first point instance are copied over to the group point. This can
  22024. * be altered through a custom `approximation` callback function.
  22025. */
  22026. dataGrouping?: DataGroupingOptionsObject;
  22027. /**
  22028. * (Highcharts, Highstock) Extended data labels for range series types.
  22029. * Range series data labels use no `x` and `y` options. Instead, they have
  22030. * `xLow`, `xHigh`, `yLow` and `yHigh` options to allow the higher and lower
  22031. * data label sets individually.
  22032. */
  22033. dataLabels?: (SeriesAreaRangeDataLabelsOptionsObject|Array<SeriesAreaRangeDataLabelsOptionsObject>);
  22034. /**
  22035. * (Highcharts, Highstock) Options for the series data sorting.
  22036. */
  22037. dataSorting?: (DataSortingOptionsObject|PlotAreasplinerangeDataSortingOptions);
  22038. /**
  22039. * (Highcharts, Highstock) A description of the series to add to the screen
  22040. * reader information about the series.
  22041. */
  22042. description?: string;
  22043. /**
  22044. * (Highcharts, Highstock) The draggable-points module allows points to be
  22045. * moved around or modified in the chart. In addition to the options
  22046. * mentioned under the `dragDrop` API structure, the module fires three
  22047. * events, point.dragStart, point.drag and point.drop.
  22048. */
  22049. dragDrop?: SeriesDragDropOptionsObject;
  22050. /**
  22051. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  22052. * specific series. This includes point tooltips and click events on graphs
  22053. * and points. For large datasets it improves performance.
  22054. */
  22055. enableMouseTracking?: boolean;
  22056. /**
  22057. * (Highcharts, Highstock) General event handlers for the series items.
  22058. * These event hooks can also be attached to the series at run time using
  22059. * the `Highcharts.addEvent` function.
  22060. */
  22061. events?: SeriesEventsOptionsObject;
  22062. /**
  22063. * (Highcharts, Highstock) Fill color or gradient for the area. When `null`,
  22064. * the series' `color` is used with the series' `fillOpacity`.
  22065. *
  22066. * In styled mode, the fill color can be set with the `.highcharts-area`
  22067. * class name.
  22068. */
  22069. fillColor?: (ColorString|GradientColorObject|PatternObject);
  22070. /**
  22071. * (Highcharts, Highstock) Fill opacity for the area. When you set an
  22072. * explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
  22073. * should define the opacity in the `fillColor` with an rgba color
  22074. * definition. The `fillOpacity` setting, also the default setting,
  22075. * overrides the alpha component of the `color` setting.
  22076. *
  22077. * In styled mode, the fill opacity can be set with the `.highcharts-area`
  22078. * class name.
  22079. */
  22080. fillOpacity?: number;
  22081. /**
  22082. * (Highcharts, Highstock) Determines whether the series should look for the
  22083. * nearest point in both dimensions or just the x-dimension when hovering
  22084. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  22085. * other series. If the data has duplicate x-values, it is recommended to
  22086. * set this to `'xy'` to allow hovering over all points.
  22087. *
  22088. * Applies only to series types using nearest neighbor search (not direct
  22089. * hover) for tooltip.
  22090. */
  22091. findNearestPointBy?: OptionsFindNearestPointByValue;
  22092. /**
  22093. * (Highstock) Defines when to display a gap in the graph, together with the
  22094. * gapUnit option.
  22095. *
  22096. * In case when `dataGrouping` is enabled, points can be grouped into a
  22097. * larger time span. This can make the grouped points to have a greater
  22098. * distance than the absolute value of `gapSize` property, which will result
  22099. * in disappearing graph completely. To prevent this situation the mentioned
  22100. * distance between grouped points is used instead of previously defined
  22101. * `gapSize`.
  22102. *
  22103. * In practice, this option is most often used to visualize gaps in time
  22104. * series. In a stock chart, intraday data is available for daytime hours,
  22105. * while gaps will appear in nights and weekends.
  22106. */
  22107. gapSize?: number;
  22108. /**
  22109. * (Highstock) Together with gapSize, this option defines where to draw gaps
  22110. * in the graph.
  22111. *
  22112. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  22113. * if the distance between two points is greater than 5 times that of the
  22114. * two closest points, the graph will be broken.
  22115. *
  22116. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  22117. * values, which on a datetime axis is milliseconds. This also applies to
  22118. * the navigator series that inherits gap options from the base series.
  22119. */
  22120. gapUnit?: OptionsGapUnitValue;
  22121. /**
  22122. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  22123. * chart width or only the zoomed area when zooming in on parts of the X
  22124. * axis. By default, the Y axis adjusts to the min and max of the visible
  22125. * data. Cartesian series only.
  22126. */
  22127. getExtremesFromAll?: boolean;
  22128. /**
  22129. * (Highcharts, Highstock) When set to `false` will prevent the series data
  22130. * from being included in any form of data export.
  22131. *
  22132. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  22133. * `includeInCSVExport`.
  22134. */
  22135. includeInDataExport?: boolean;
  22136. /**
  22137. * (Highmaps) What property to join the `mapData` to the value data. For
  22138. * example, if joinBy is "code", the mapData items with a specific code is
  22139. * merged into the data with the same code. For maps loaded from GeoJSON,
  22140. * the keys may be held in each point's `properties` object.
  22141. *
  22142. * The joinBy option can also be an array of two values, where the first
  22143. * points to a key in the `mapData`, and the second points to another key in
  22144. * the `data`.
  22145. *
  22146. * When joinBy is `null`, the map items are joined by their position in the
  22147. * array, which performs much better in maps with many data points. This is
  22148. * the recommended option if you are printing more than a thousand data
  22149. * points and have a backend that can preprocess the data into a parallel
  22150. * array of the mapData.
  22151. */
  22152. joinBy?: (string|Array<string>);
  22153. /**
  22154. * (Highcharts, Highstock) An array specifying which option maps to which
  22155. * key in the data point array. This makes it convenient to work with
  22156. * unstructured data arrays from different sources.
  22157. */
  22158. keys?: Array<string>;
  22159. /**
  22160. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  22161. * series as possible in a natural way, seeking to avoid other series. The
  22162. * goal of this feature is to make the chart more easily readable, like if a
  22163. * human designer placed the labels in the optimal position.
  22164. *
  22165. * The series labels currently work with series types having a `graph` or an
  22166. * `area`.
  22167. */
  22168. label?: SeriesLabelOptionsObject;
  22169. /**
  22170. * (Highstock) The line marks the last price from all points.
  22171. */
  22172. lastPrice?: SeriesLastPriceOptionsObject;
  22173. /**
  22174. * (Highstock) The line marks the last price from visible range of points.
  22175. */
  22176. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  22177. /**
  22178. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  22179. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  22180. * the ends and bends.
  22181. */
  22182. linecap?: SeriesLinecapValue;
  22183. /**
  22184. * (Highcharts, Highstock) A separate color for the graph line. By default
  22185. * the line takes the `color` of the series, but the lineColor setting
  22186. * allows setting a separate color for the line without altering the
  22187. * `fillColor`.
  22188. *
  22189. * In styled mode, the line stroke can be set with the `.highcharts-graph`
  22190. * class name.
  22191. */
  22192. lineColor?: (ColorString|GradientColorObject|PatternObject);
  22193. /**
  22194. * (Highcharts, Highstock) Pixel width of the arearange graph line.
  22195. */
  22196. lineWidth?: number;
  22197. /**
  22198. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  22199. * Additionally, the value can be ":previous" to link to the previous
  22200. * series. When two series are linked, only the first one appears in the
  22201. * legend. Toggling the visibility of this also toggles the linked series.
  22202. *
  22203. * If master series uses data sorting and linked series does not have its
  22204. * own sorting definition, the linked series will be sorted in the same
  22205. * order as the master one.
  22206. */
  22207. linkedTo?: string;
  22208. /**
  22209. * (Highcharts, Highstock) Options for the point markers of line-like
  22210. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  22211. * the visual appearance of the markers. Other series types, like column
  22212. * series, don't have markers, but have visual options on the series level
  22213. * instead.
  22214. *
  22215. * In styled mode, the markers can be styled with the `.highcharts-point`,
  22216. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  22217. */
  22218. marker?: PointMarkerOptionsObject;
  22219. /**
  22220. * (Highstock) Options for the corresponding navigator series if
  22221. * `showInNavigator` is `true` for this series. Available options are the
  22222. * same as any series, documented at plotOptions and series.
  22223. *
  22224. * These options are merged with options in navigator.series, and will take
  22225. * precedence if the same option is defined both places.
  22226. */
  22227. navigatorOptions?: PlotSeriesOptions;
  22228. /**
  22229. * (Highcharts, Highstock) The color for the parts of the graph or points
  22230. * that are below the threshold. Note that `zones` takes precedence over the
  22231. * negative color. Using `negativeColor` is equivalent to applying a zone
  22232. * with value of 0.
  22233. */
  22234. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  22235. /**
  22236. * (Highcharts) A separate color for the negative part of the area.
  22237. *
  22238. * In styled mode, a negative color is set with the `.highcharts-negative`
  22239. * class name.
  22240. */
  22241. negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
  22242. /**
  22243. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  22244. * and dataLabels.
  22245. */
  22246. opacity?: number;
  22247. /**
  22248. * (Highcharts, Highstock) Properties for each single point.
  22249. */
  22250. point?: PlotSeriesPointOptions;
  22251. /**
  22252. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  22253. * but for an individual series. Overrides the chart wide configuration.
  22254. */
  22255. pointDescriptionFormatter?: Function;
  22256. /**
  22257. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  22258. * a series, `pointInterval` defines the interval of the x values. For
  22259. * example, if a series contains one value every decade starting from year
  22260. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  22261. * `pointInterval` is set in milliseconds.
  22262. *
  22263. * It can be also be combined with `pointIntervalUnit` to draw irregular
  22264. * time intervals.
  22265. *
  22266. * Please note that this options applies to the _series data_, not the
  22267. * interval of the axis ticks, which is independent.
  22268. */
  22269. pointInterval?: number;
  22270. /**
  22271. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  22272. * setting the pointInterval to irregular time units, `day`, `month` and
  22273. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  22274. * also takes the DST crossover into consideration when dealing with local
  22275. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  22276. * months, 10 years etc.
  22277. *
  22278. * Please note that this options applies to the _series data_, not the
  22279. * interval of the axis ticks, which is independent.
  22280. */
  22281. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  22282. /**
  22283. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  22284. * `number`.
  22285. *
  22286. * In a column chart, when pointPlacement is `"on"`, the point will not
  22287. * create any padding of the X axis. In a polar column chart this means that
  22288. * the first column points directly north. If the pointPlacement is
  22289. * `"between"`, the columns will be laid out between ticks. This is useful
  22290. * for example for visualising an amount between two points in time or in a
  22291. * certain sector of a polar chart.
  22292. *
  22293. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  22294. * is on the axis value, -0.5 is between this value and the previous, and
  22295. * 0.5 is between this value and the next. Unlike the textual options,
  22296. * numeric point placement options won't affect axis padding.
  22297. *
  22298. * Note that pointPlacement needs a pointRange to work. For column series
  22299. * this is computed, but for line-type series it needs to be set.
  22300. *
  22301. * For the `xrange` series type and gantt charts, if the Y axis is a
  22302. * category axis, the `pointPlacement` applies to the Y axis rather than the
  22303. * (typically datetime) X axis.
  22304. *
  22305. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  22306. */
  22307. pointPlacement?: (number|string);
  22308. /**
  22309. * (Highstock) The width of each point on the x axis. For example in a
  22310. * column chart with one value each day, the pointRange would be 1 day (= 24
  22311. * * 3600
  22312. *
  22313. * * 1000 milliseconds). This is normally computed automatically, but this
  22314. * option can be used to override the automatic value.
  22315. */
  22316. pointRange?: number;
  22317. /**
  22318. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  22319. * a series, pointStart defines on what value to start. For example, if a
  22320. * series contains one yearly value starting from 1945, set pointStart to
  22321. * 1945.
  22322. */
  22323. pointStart?: number;
  22324. /**
  22325. * (Highcharts, Highstock) Whether to select the series initially. If
  22326. * `showCheckbox` is true, the checkbox next to the series name in the
  22327. * legend will be checked for a selected series.
  22328. */
  22329. selected?: boolean;
  22330. /**
  22331. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  22332. * the shadow can be an object configuration containing `color`, `offsetX`,
  22333. * `offsetY`, `opacity` and `width`.
  22334. */
  22335. shadow?: (boolean|ShadowOptionsObject);
  22336. /**
  22337. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  22338. * legend item to allow selecting the series. The state of the checkbox is
  22339. * determined by the `selected` option.
  22340. */
  22341. showCheckbox?: boolean;
  22342. /**
  22343. * (Highcharts, Highstock) Whether to display this particular series or
  22344. * series type in the legend. Standalone series are shown in legend by
  22345. * default, and linked series are not. Since v7.2.0 it is possible to show
  22346. * series that use colorAxis by setting this option to `true`.
  22347. */
  22348. showInLegend?: boolean;
  22349. /**
  22350. * (Highstock) Whether or not to show the series in the navigator. Takes
  22351. * precedence over navigator.baseSeries if defined.
  22352. */
  22353. showInNavigator?: boolean;
  22354. /**
  22355. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  22356. * skip past the points in this series for keyboard navigation.
  22357. */
  22358. skipKeyboardNavigation?: boolean;
  22359. /**
  22360. * (Highcharts, Highstock) When this is true, the series will not cause the
  22361. * Y axis to cross the zero plane (or threshold option) unless the data
  22362. * actually crosses the plane.
  22363. *
  22364. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  22365. * make the Y axis show negative values according to the `minPadding`
  22366. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  22367. */
  22368. softThreshold?: boolean;
  22369. states?: SeriesStatesOptionsObject;
  22370. /**
  22371. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  22372. * `mouseOut` event on a series isn't triggered until the mouse moves over
  22373. * another series, or out of the plot area. When false, the `mouseOut` event
  22374. * on a series is triggered when the mouse leaves the area around the
  22375. * series' graph or markers. This also implies the tooltip when not shared.
  22376. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  22377. * will be hidden when moving the mouse between series. Defaults to true for
  22378. * line and area type series, but to false for columns, pies etc.
  22379. *
  22380. * **Note:** The boost module will force this option because of technical
  22381. * limitations.
  22382. */
  22383. stickyTracking?: boolean;
  22384. /**
  22385. * (Highcharts, Highstock) The Y axis value to serve as the base for the
  22386. * area, for distinguishing between values above and below a threshold. The
  22387. * area between the graph and the threshold is filled.
  22388. *
  22389. * * If a number is given, the Y axis will scale to the threshold.
  22390. *
  22391. * * If `null`, the scaling behaves like a line series with fill between the
  22392. * graph and the Y axis minimum.
  22393. *
  22394. * * If `Infinity` or `-Infinity`, the area between the graph and the
  22395. * corresponding Y axis extreme is filled (since v6.1.0).
  22396. */
  22397. threshold?: (number|null);
  22398. /**
  22399. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  22400. * of each single series. Properties are inherited from tooltip, but only
  22401. * the following properties can be defined on a series level.
  22402. */
  22403. tooltip?: SeriesTooltipOptionsObject;
  22404. /**
  22405. * (Highcharts, Highstock) Whether the whole area or just the line should
  22406. * respond to mouseover tooltips and other mouse or touch events.
  22407. */
  22408. trackByArea?: boolean;
  22409. /**
  22410. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  22411. * is longer than this, only one dimensional arrays of numbers, or two
  22412. * dimensional arrays with x and y values are allowed. Also, only the first
  22413. * point is tested, and the rest are assumed to be the same format. This
  22414. * saves expensive data checking and indexing in long series. Set it to `0`
  22415. * disable.
  22416. *
  22417. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  22418. * two dimensional arrays are allowed.
  22419. */
  22420. turboThreshold?: number;
  22421. /**
  22422. * (Highcharts, Highstock) Set the initial visibility of the series.
  22423. */
  22424. visible?: boolean;
  22425. /**
  22426. * (Highmaps) Define the z index of the series.
  22427. */
  22428. zIndex?: number;
  22429. /**
  22430. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  22431. */
  22432. zoneAxis?: string;
  22433. /**
  22434. * (Highcharts, Highstock) An array defining zones within a series. Zones
  22435. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  22436. * the `zoneAxis` option. The zone definitions have to be in ascending order
  22437. * regarding to the value.
  22438. *
  22439. * In styled mode, the color zones are styled with the
  22440. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  22441. * option (view live demo).
  22442. */
  22443. zones?: Array<SeriesZonesOptionsObject>;
  22444. }
  22445. /**
  22446. * (Highstock) Enable or disable the initial animation when a series is
  22447. * displayed. The animation can also be set as a configuration object. Please
  22448. * note that this option only applies to the initial animation of the series
  22449. * itself. For other animations, see chart.animation and the animation parameter
  22450. * under the API methods. The following properties are supported:
  22451. *
  22452. * - `defer`: The animation delay time in milliseconds.
  22453. *
  22454. * - `duration`: The duration of the animation in milliseconds.
  22455. *
  22456. * - `easing`: Can be a string reference to an easing function set on the `Math`
  22457. * object or a function. See the _Custom easing function_ demo below.
  22458. *
  22459. * Due to poor performance, animation is disabled in old IE browsers for several
  22460. * chart types.
  22461. */
  22462. export interface PlotAroonAnimationOptions {
  22463. defer?: number;
  22464. }
  22465. /**
  22466. * (Highstock) aroonDown line options.
  22467. */
  22468. export interface PlotAroonAroonDownOptions {
  22469. /**
  22470. * (Highstock) Styles for an aroonDown line.
  22471. */
  22472. styles?: PlotAroonAroonDownStylesOptions;
  22473. }
  22474. /**
  22475. * (Highstock) Styles for an aroonDown line.
  22476. */
  22477. export interface PlotAroonAroonDownStylesOptions {
  22478. /**
  22479. * (Highstock) Color of the line. If not set, it's inherited from
  22480. * plotOptions.aroon.color.
  22481. */
  22482. lineColor?: ColorString;
  22483. /**
  22484. * (Highstock) Pixel width of the line.
  22485. */
  22486. lineWidth?: number;
  22487. }
  22488. /**
  22489. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  22490. * animation when a series is displayed for the `dataLabels`. The animation can
  22491. * also be set as a configuration object. Please note that this option only
  22492. * applies to the initial animation. For other animations, see chart.animation
  22493. * and the animation parameter under the API methods. The following properties
  22494. * are supported:
  22495. *
  22496. * - `defer`: The animation delay time in milliseconds.
  22497. */
  22498. export interface PlotAroonDataLabelsAnimationOptions {
  22499. /**
  22500. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  22501. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  22502. * inherits defer time from the series.animation.defer.
  22503. */
  22504. defer?: number;
  22505. }
  22506. /**
  22507. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  22508. * appearing next to each data point.
  22509. *
  22510. * Since v6.2.0, multiple data labels can be applied to each single point by
  22511. * defining them as an array of configs.
  22512. *
  22513. * In styled mode, the data labels can be styled with the
  22514. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  22515. * example).
  22516. */
  22517. export interface PlotAroonDataLabelsOptions {
  22518. /**
  22519. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  22520. * compared to the point. If `right`, the right side of the label should be
  22521. * touching the point. For points with an extent, like columns, the
  22522. * alignments also dictates how to align it inside the box, as given with
  22523. * the inside option. Can be one of `left`, `center` or `right`.
  22524. */
  22525. align?: (AlignValue|null);
  22526. /**
  22527. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  22528. * overlap. To make the labels less sensitive for overlapping, the
  22529. * dataLabels.padding can be set to 0.
  22530. */
  22531. allowOverlap?: boolean;
  22532. /**
  22533. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  22534. * animation when a series is displayed for the `dataLabels`. The animation
  22535. * can also be set as a configuration object. Please note that this option
  22536. * only applies to the initial animation. For other animations, see
  22537. * chart.animation and the animation parameter under the API methods. The
  22538. * following properties are supported:
  22539. *
  22540. * - `defer`: The animation delay time in milliseconds.
  22541. */
  22542. animation?: (boolean|PlotAroonDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  22543. /**
  22544. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  22545. * for the data label.
  22546. */
  22547. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  22548. /**
  22549. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  22550. * label. Defaults to `undefined`.
  22551. */
  22552. borderColor?: (ColorString|GradientColorObject|PatternObject);
  22553. /**
  22554. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  22555. * the data label.
  22556. */
  22557. borderRadius?: number;
  22558. /**
  22559. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  22560. * the data label.
  22561. */
  22562. borderWidth?: number;
  22563. /**
  22564. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  22565. * Particularly in styled mode, this can be used to give each series' or
  22566. * point's data label unique styling. In addition to this option, a default
  22567. * color class name is added so that we can give the labels a contrast text
  22568. * shadow.
  22569. */
  22570. className?: string;
  22571. /**
  22572. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  22573. * labels. Defaults to `undefined`. For certain series types, like column or
  22574. * map, the data labels can be drawn inside the points. In this case the
  22575. * data label will be drawn with maximum contrast by default. Additionally,
  22576. * it will be given a `text-outline` style with the opposite color, to
  22577. * further increase the contrast. This can be overridden by setting the
  22578. * `text-outline` style to `none` in the `dataLabels.style` option.
  22579. */
  22580. color?: (ColorString|GradientColorObject|PatternObject);
  22581. /**
  22582. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  22583. * are outside the plot area. By default, the data label is moved inside the
  22584. * plot area according to the overflow option.
  22585. */
  22586. crop?: boolean;
  22587. /**
  22588. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  22589. * labels until the initial series animation has finished. Setting to
  22590. * `false` renders the data label immediately. If set to `true` inherits the
  22591. * defer time set in plotOptions.series.animation.
  22592. */
  22593. defer?: boolean;
  22594. /**
  22595. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  22596. * labels.
  22597. */
  22598. enabled?: boolean;
  22599. /**
  22600. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  22601. * of which data labels to display. The declarative filter is designed for
  22602. * use when callback functions are not available, like when the chart
  22603. * options require a pure JSON structure or for use with graphical editors.
  22604. * For programmatic control, use the `formatter` instead, and return
  22605. * `undefined` to disable a single data label.
  22606. */
  22607. filter?: DataLabelsFilterOptionsObject;
  22608. /**
  22609. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  22610. * label. Available variables are the same as for `formatter`.
  22611. */
  22612. format?: string;
  22613. /**
  22614. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  22615. * format the data label. Note that if a `format` is defined, the format
  22616. * takes precedence and the formatter is ignored.
  22617. */
  22618. formatter?: DataLabelsFormatterCallbackFunction;
  22619. /**
  22620. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  22621. * columns or map areas, whether to align the data label inside the box or
  22622. * to the actual value point. Defaults to `false` in most cases, `true` in
  22623. * stacked columns.
  22624. */
  22625. inside?: boolean;
  22626. /**
  22627. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  22628. * of null. Works analogously to format. `nullFormat` can be applied only to
  22629. * series which support displaying null points.
  22630. */
  22631. nullFormat?: (boolean|string);
  22632. /**
  22633. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  22634. * that defines formatting for points with the value of null. Works
  22635. * analogously to formatter. `nullPointFormatter` can be applied only to
  22636. * series which support displaying null points.
  22637. */
  22638. nullFormatter?: DataLabelsFormatterCallbackFunction;
  22639. /**
  22640. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  22641. * flow outside the plot area. The default is `"justify"`, which aligns them
  22642. * inside the plot area. For columns and bars, this means it will be moved
  22643. * inside the bar. To display data labels outside the plot area, set `crop`
  22644. * to `false` and `overflow` to `"allow"`.
  22645. */
  22646. overflow?: DataLabelsOverflowValue;
  22647. /**
  22648. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  22649. * the `backgroundColor` is set, this is the padding within the box.
  22650. */
  22651. padding?: number;
  22652. /**
  22653. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  22654. * points. If `center` alignment is not possible, it defaults to `right`.
  22655. */
  22656. position?: AlignValue;
  22657. /**
  22658. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  22659. * that due to a more complex structure, backgrounds, borders and padding
  22660. * will be lost on a rotated data label.
  22661. */
  22662. rotation?: number;
  22663. /**
  22664. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  22665. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  22666. * an object configuration containing `color`, `offsetX`, `offsetY`,
  22667. * `opacity` and `width`.
  22668. */
  22669. shadow?: (boolean|ShadowOptionsObject);
  22670. /**
  22671. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  22672. * the border around the label. Symbols are predefined functions on the
  22673. * Renderer object.
  22674. */
  22675. shape?: string;
  22676. /**
  22677. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  22678. * default `color` setting is `"contrast"`, which is a pseudo color that
  22679. * Highcharts picks up and applies the maximum contrast to the underlying
  22680. * point item, for example the bar in a bar chart.
  22681. *
  22682. * The `textOutline` is a pseudo property that applies an outline of the
  22683. * given width with the given color, which by default is the maximum
  22684. * contrast to the text. So a bright text color will result in a black text
  22685. * outline for maximum readability on a mixed background. In some cases,
  22686. * especially with grayscale text, the text outline doesn't work well, in
  22687. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  22688. * is true, the `textOutline` will not be picked up. In this, case, the same
  22689. * effect can be acheived through the `text-shadow` CSS property.
  22690. *
  22691. * For some series types, where each point has an extent, like for example
  22692. * tree maps, the data label may overflow the point. There are two
  22693. * strategies for handling overflow. By default, the text will wrap to
  22694. * multiple lines. The other strategy is to set `style.textOverflow` to
  22695. * `ellipsis`, which will keep the text on one line plus it will break
  22696. * inside long words.
  22697. */
  22698. style?: CSSObject;
  22699. /**
  22700. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  22701. * should follow marker's shape. Border and background are disabled for a
  22702. * label that follows a path.
  22703. *
  22704. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  22705. * to true will disable this option.
  22706. */
  22707. textPath?: DataLabelsTextPathOptionsObject;
  22708. /**
  22709. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  22710. * the labels.
  22711. */
  22712. useHTML?: boolean;
  22713. /**
  22714. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  22715. * label. Can be one of `top`, `middle` or `bottom`. The default value
  22716. * depends on the data, for instance in a column chart, the label is above
  22717. * positive values and below negative values.
  22718. */
  22719. verticalAlign?: (VerticalAlignValue|null);
  22720. /**
  22721. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  22722. * label relative to the point in pixels.
  22723. */
  22724. x?: number;
  22725. /**
  22726. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  22727. * label relative to the point in pixels.
  22728. */
  22729. y?: number;
  22730. /**
  22731. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  22732. * The default Z index puts it above the series. Use a Z index of 2 to
  22733. * display it behind the series.
  22734. */
  22735. z?: number;
  22736. }
  22737. /**
  22738. * (Highcharts, Highstock) Options for the series data sorting.
  22739. */
  22740. export interface PlotAroonDataSortingOptions {
  22741. /**
  22742. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  22743. * Use xAxis.reversed to change the sorting order.
  22744. */
  22745. enabled?: boolean;
  22746. /**
  22747. * (Highcharts, Highstock) Whether to allow matching points by name in an
  22748. * update. If this option is disabled, points will be matched by order.
  22749. */
  22750. matchByName?: boolean;
  22751. /**
  22752. * (Highcharts, Highstock) Determines what data value should be used to sort
  22753. * by.
  22754. */
  22755. sortKey?: string;
  22756. }
  22757. /**
  22758. * (Highstock) Aroon. This series requires the `linkedTo` option to be set and
  22759. * should be loaded after the `stock/indicators/indicators.js`.
  22760. *
  22761. * In TypeScript the type option must always be set.
  22762. *
  22763. * Configuration options for the series are given in three levels:
  22764. *
  22765. * 1. Options for all series in a chart are defined in the plotOptions.series
  22766. * object.
  22767. *
  22768. * 2. Options for all `aroon` series are defined in plotOptions.aroon.
  22769. *
  22770. * 3. Options for one single series are given in the series instance array. (see
  22771. * online documentation for example)
  22772. */
  22773. export interface PlotAroonOptions {
  22774. /**
  22775. * (Highstock) Accessibility options for a series.
  22776. */
  22777. accessibility?: SeriesAccessibilityOptionsObject;
  22778. /**
  22779. * (Highstock) Allow this series' points to be selected by clicking on the
  22780. * graphic (columns, point markers, pie slices, map areas etc).
  22781. *
  22782. * The selected points can be handled by point select and unselect events,
  22783. * or collectively by the getSelectedPoints function.
  22784. *
  22785. * And alternative way of selecting points is through dragging.
  22786. */
  22787. allowPointSelect?: boolean;
  22788. /**
  22789. * (Highstock) Enable or disable the initial animation when a series is
  22790. * displayed. The animation can also be set as a configuration object.
  22791. * Please note that this option only applies to the initial animation of the
  22792. * series itself. For other animations, see chart.animation and the
  22793. * animation parameter under the API methods. The following properties are
  22794. * supported:
  22795. *
  22796. * - `defer`: The animation delay time in milliseconds.
  22797. *
  22798. * - `duration`: The duration of the animation in milliseconds.
  22799. *
  22800. * - `easing`: Can be a string reference to an easing function set on the
  22801. * `Math` object or a function. See the _Custom easing function_ demo below.
  22802. *
  22803. * Due to poor performance, animation is disabled in old IE browsers for
  22804. * several chart types.
  22805. */
  22806. animation?: (boolean|PlotAroonAnimationOptions|Partial<AnimationOptionsObject>);
  22807. /**
  22808. * (Highstock) For some series, there is a limit that shuts down initial
  22809. * animation by default when the total number of points in the chart is too
  22810. * high. For example, for a column chart and its derivatives, animation does
  22811. * not run if there is more than 250 points totally. To disable this cap,
  22812. * set `animationLimit` to `Infinity`.
  22813. */
  22814. animationLimit?: number;
  22815. /**
  22816. * (Highstock) aroonDown line options.
  22817. */
  22818. aroonDown?: PlotAroonAroonDownOptions;
  22819. /**
  22820. * (Highstock) Sets the color blending in the boost module.
  22821. */
  22822. boostBlending?: OptionsBoostBlendingValue;
  22823. /**
  22824. * (Highstock) Set the point threshold for when a series should enter boost
  22825. * mode.
  22826. *
  22827. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  22828. * there are 2000 or more points in the series.
  22829. *
  22830. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  22831. * it to 1 will force boosting.
  22832. *
  22833. * Note that the cropThreshold also affects this setting. When zooming in on
  22834. * a series that has fewer points than the `cropThreshold`, all points are
  22835. * rendered although outside the visible plot area, and the `boostThreshold`
  22836. * won't take effect.
  22837. */
  22838. boostThreshold?: number;
  22839. /**
  22840. * (Highmaps) The border color of the map areas.
  22841. *
  22842. * In styled mode, the border stroke is given in the `.highcharts-point`
  22843. * class.
  22844. */
  22845. borderColor?: (ColorString|GradientColorObject|PatternObject);
  22846. /**
  22847. * (Highmaps) The border width of each map area.
  22848. *
  22849. * In styled mode, the border stroke width is given in the
  22850. * `.highcharts-point` class.
  22851. */
  22852. borderWidth?: number;
  22853. /**
  22854. * (Highstock) An additional class name to apply to the series' graphical
  22855. * elements. This option does not replace default class names of the
  22856. * graphical element.
  22857. */
  22858. className?: string;
  22859. /**
  22860. * (Highstock) Disable this option to allow series rendering in the whole
  22861. * plotting area.
  22862. *
  22863. * **Note:** Clipping should be always enabled when chart.zoomType is set
  22864. */
  22865. clip?: boolean;
  22866. /**
  22867. * (Highstock) The main color of the series. In line type series it applies
  22868. * to the line and the point markers unless otherwise specified. In bar type
  22869. * series it applies to the bars unless a color is specified per point. The
  22870. * default value is pulled from the `options.colors` array.
  22871. *
  22872. * In styled mode, the color can be defined by the colorIndex option. Also,
  22873. * the series color can be set with the `.highcharts-series`,
  22874. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  22875. * `.highcharts-series-{n}` class, or individual classes given by the
  22876. * `className` option.
  22877. */
  22878. color?: (ColorString|GradientColorObject|PatternObject);
  22879. /**
  22880. * (Highstock) Styled mode only. A specific color index to use for the
  22881. * series, so its graphic representations are given the class name
  22882. * `highcharts-color-{n}`.
  22883. */
  22884. colorIndex?: number;
  22885. /**
  22886. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  22887. * used to calculate point color if `colorAxis` is used. Requires to set
  22888. * `min` and `max` if some custom point property is used or if approximation
  22889. * for data grouping is set to `'sum'`.
  22890. */
  22891. colorKey?: string;
  22892. /**
  22893. * (Highstock) Defines if comparison should start from the first point
  22894. * within the visible range or should start from the first point **before**
  22895. * the range.
  22896. *
  22897. * In other words, this flag determines if first point within the visible
  22898. * range will have 0% (`compareStart=true`) or should have been already
  22899. * calculated according to the previous point (`compareStart=false`).
  22900. */
  22901. compareStart?: boolean;
  22902. /**
  22903. * (Highstock) Whether to compare indicator to the main series values or
  22904. * indicator values.
  22905. */
  22906. compareToMain?: boolean;
  22907. /**
  22908. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  22909. * series plot across the extremes.
  22910. */
  22911. connectEnds?: boolean;
  22912. /**
  22913. * (Highcharts, Highstock) Whether to connect a graph line across null
  22914. * points, or render a gap between the two points on either side of the
  22915. * null.
  22916. */
  22917. connectNulls?: boolean;
  22918. /**
  22919. * (Gantt) Override Pathfinder connector options for a series. Requires
  22920. * Highcharts Gantt to be loaded.
  22921. */
  22922. connectors?: SeriesConnectorsOptionsObject;
  22923. /**
  22924. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  22925. * rounded to its nearest pixel in order to render sharp on screen. In some
  22926. * cases, when there are a lot of densely packed columns, this leads to
  22927. * visible difference in column widths or distance between columns. In these
  22928. * cases, setting `crisp` to `false` may look better, even though each
  22929. * column is rendered blurry.
  22930. */
  22931. crisp?: boolean;
  22932. /**
  22933. * (Highcharts, Highstock) When the series contains less points than the
  22934. * crop threshold, all points are drawn, even if the points fall outside the
  22935. * visible plot area at the current zoom. The advantage of drawing all
  22936. * points (including markers and columns), is that animation is performed on
  22937. * updates. On the other hand, when the series contains more points than the
  22938. * crop threshold, the series data is cropped to only contain points that
  22939. * fall within the plot area. The advantage of cropping away invisible
  22940. * points is to increase performance on large series.
  22941. */
  22942. cropThreshold?: number;
  22943. /**
  22944. * (Highstock) You can set the cursor to "pointer" if you have click events
  22945. * attached to the series, to signal to the user that the points and lines
  22946. * can be clicked.
  22947. *
  22948. * In styled mode, the series cursor can be set with the same classes as
  22949. * listed under series.color.
  22950. */
  22951. cursor?: (string|CursorValue);
  22952. /**
  22953. * (Highstock) A reserved subspace to store options and values for
  22954. * customized functionality. Here you can add additional data for your own
  22955. * event callbacks and formatter callbacks.
  22956. */
  22957. custom?: Dictionary<any>;
  22958. /**
  22959. * (Highstock) Name of the dash style to use for the graph, or for some
  22960. * series types the outline of each shape.
  22961. *
  22962. * In styled mode, the stroke dash-array can be set with the same classes as
  22963. * listed under series.color.
  22964. */
  22965. dashStyle?: DashStyleValue;
  22966. /**
  22967. * (Highstock) Data grouping is the concept of sampling the data values into
  22968. * larger blocks in order to ease readability and increase performance of
  22969. * the JavaScript charts. Highstock by default applies data grouping when
  22970. * the points become closer than a certain pixel value, determined by the
  22971. * `groupPixelWidth` option.
  22972. *
  22973. * If data grouping is applied, the grouping information of grouped points
  22974. * can be read from the Point.dataGroup. If point options other than the
  22975. * data itself are set, for example `name` or `color` or custom properties,
  22976. * the grouping logic doesn't know how to group it. In this case the options
  22977. * of the first point instance are copied over to the group point. This can
  22978. * be altered through a custom `approximation` callback function.
  22979. */
  22980. dataGrouping?: DataGroupingOptionsObject;
  22981. /**
  22982. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  22983. * labels, appearing next to each data point.
  22984. *
  22985. * Since v6.2.0, multiple data labels can be applied to each single point by
  22986. * defining them as an array of configs.
  22987. *
  22988. * In styled mode, the data labels can be styled with the
  22989. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  22990. * (see example).
  22991. */
  22992. dataLabels?: (PlotAroonDataLabelsOptions|Array<PlotAroonDataLabelsOptions>);
  22993. /**
  22994. * (Highcharts, Highstock) Options for the series data sorting.
  22995. */
  22996. dataSorting?: (DataSortingOptionsObject|PlotAroonDataSortingOptions);
  22997. /**
  22998. * (Highstock) A description of the series to add to the screen reader
  22999. * information about the series.
  23000. */
  23001. description?: string;
  23002. /**
  23003. * (Highstock) Enable or disable the mouse tracking for a specific series.
  23004. * This includes point tooltips and click events on graphs and points. For
  23005. * large datasets it improves performance.
  23006. */
  23007. enableMouseTracking?: boolean;
  23008. /**
  23009. * (Highstock) General event handlers for the series items. These event
  23010. * hooks can also be attached to the series at run time using the
  23011. * `Highcharts.addEvent` function.
  23012. */
  23013. events?: SeriesEventsOptionsObject;
  23014. /**
  23015. * (Highstock) Determines whether the series should look for the nearest
  23016. * point in both dimensions or just the x-dimension when hovering the
  23017. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  23018. * series. If the data has duplicate x-values, it is recommended to set this
  23019. * to `'xy'` to allow hovering over all points.
  23020. *
  23021. * Applies only to series types using nearest neighbor search (not direct
  23022. * hover) for tooltip.
  23023. */
  23024. findNearestPointBy?: OptionsFindNearestPointByValue;
  23025. /**
  23026. * (Highstock) Defines when to display a gap in the graph, together with the
  23027. * gapUnit option.
  23028. *
  23029. * In case when `dataGrouping` is enabled, points can be grouped into a
  23030. * larger time span. This can make the grouped points to have a greater
  23031. * distance than the absolute value of `gapSize` property, which will result
  23032. * in disappearing graph completely. To prevent this situation the mentioned
  23033. * distance between grouped points is used instead of previously defined
  23034. * `gapSize`.
  23035. *
  23036. * In practice, this option is most often used to visualize gaps in time
  23037. * series. In a stock chart, intraday data is available for daytime hours,
  23038. * while gaps will appear in nights and weekends.
  23039. */
  23040. gapSize?: number;
  23041. /**
  23042. * (Highstock) Together with gapSize, this option defines where to draw gaps
  23043. * in the graph.
  23044. *
  23045. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  23046. * if the distance between two points is greater than 5 times that of the
  23047. * two closest points, the graph will be broken.
  23048. *
  23049. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  23050. * values, which on a datetime axis is milliseconds. This also applies to
  23051. * the navigator series that inherits gap options from the base series.
  23052. */
  23053. gapUnit?: OptionsGapUnitValue;
  23054. /**
  23055. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  23056. * chart width or only the zoomed area when zooming in on parts of the X
  23057. * axis. By default, the Y axis adjusts to the min and max of the visible
  23058. * data. Cartesian series only.
  23059. */
  23060. getExtremesFromAll?: boolean;
  23061. /**
  23062. * (Highstock) When set to `false` will prevent the series data from being
  23063. * included in any form of data export.
  23064. *
  23065. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  23066. * `includeInCSVExport`.
  23067. */
  23068. includeInDataExport?: boolean;
  23069. /**
  23070. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  23071. * series as possible in a natural way, seeking to avoid other series. The
  23072. * goal of this feature is to make the chart more easily readable, like if a
  23073. * human designer placed the labels in the optimal position.
  23074. *
  23075. * The series labels currently work with series types having a `graph` or an
  23076. * `area`.
  23077. */
  23078. label?: SeriesLabelOptionsObject;
  23079. /**
  23080. * (Highstock) The line marks the last price from all points.
  23081. */
  23082. lastPrice?: SeriesLastPriceOptionsObject;
  23083. /**
  23084. * (Highstock) The line marks the last price from visible range of points.
  23085. */
  23086. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  23087. /**
  23088. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  23089. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  23090. * the ends and bends.
  23091. */
  23092. linecap?: SeriesLinecapValue;
  23093. /**
  23094. * (Highcharts, Highstock) Pixel width of the graph line.
  23095. */
  23096. lineWidth?: number;
  23097. /**
  23098. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  23099. * based on. Required for this indicator.
  23100. */
  23101. linkedTo?: string;
  23102. /**
  23103. * (Highstock) Options for the point markers of line-like series. Properties
  23104. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  23105. * appearance of the markers. Other series types, like column series, don't
  23106. * have markers, but have visual options on the series level instead.
  23107. *
  23108. * In styled mode, the markers can be styled with the `.highcharts-point`,
  23109. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  23110. */
  23111. marker?: PointMarkerOptionsObject;
  23112. /**
  23113. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  23114. * If not set, it will be based on a technical indicator type and default
  23115. * params.
  23116. */
  23117. name?: string;
  23118. /**
  23119. * (Highstock) The color for the parts of the graph or points that are below
  23120. * the threshold. Note that `zones` takes precedence over the negative
  23121. * color. Using `negativeColor` is equivalent to applying a zone with value
  23122. * of 0.
  23123. */
  23124. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  23125. /**
  23126. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  23127. * dataLabels.
  23128. */
  23129. opacity?: number;
  23130. /**
  23131. * (Highstock) Paramters used in calculation of aroon series points.
  23132. */
  23133. params?: PlotAroonParamsOptions;
  23134. /**
  23135. * (Highstock) Properties for each single point.
  23136. */
  23137. point?: PlotSeriesPointOptions;
  23138. /**
  23139. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  23140. * individual series. Overrides the chart wide configuration.
  23141. */
  23142. pointDescriptionFormatter?: Function;
  23143. /**
  23144. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  23145. * true, the checkbox next to the series name in the legend will be checked
  23146. * for a selected series.
  23147. */
  23148. selected?: boolean;
  23149. /**
  23150. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  23151. * the shadow can be an object configuration containing `color`, `offsetX`,
  23152. * `offsetY`, `opacity` and `width`.
  23153. */
  23154. shadow?: (boolean|ShadowOptionsObject);
  23155. /**
  23156. * (Highstock) If true, a checkbox is displayed next to the legend item to
  23157. * allow selecting the series. The state of the checkbox is determined by
  23158. * the `selected` option.
  23159. */
  23160. showCheckbox?: boolean;
  23161. /**
  23162. * (Highstock) Whether to display this particular series or series type in
  23163. * the legend. Standalone series are shown in legend by default, and linked
  23164. * series are not. Since v7.2.0 it is possible to show series that use
  23165. * colorAxis by setting this option to `true`.
  23166. */
  23167. showInLegend?: boolean;
  23168. /**
  23169. * (Highstock) If set to `true`, the accessibility module will skip past the
  23170. * points in this series for keyboard navigation.
  23171. */
  23172. skipKeyboardNavigation?: boolean;
  23173. /**
  23174. * (Highcharts, Highstock) When this is true, the series will not cause the
  23175. * Y axis to cross the zero plane (or threshold option) unless the data
  23176. * actually crosses the plane.
  23177. *
  23178. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  23179. * make the Y axis show negative values according to the `minPadding`
  23180. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  23181. */
  23182. softThreshold?: boolean;
  23183. states?: SeriesStatesOptionsObject;
  23184. /**
  23185. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  23186. * values are `left`, `center` and `right`.
  23187. */
  23188. step?: OptionsStepValue;
  23189. /**
  23190. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  23191. * event on a series isn't triggered until the mouse moves over another
  23192. * series, or out of the plot area. When false, the `mouseOut` event on a
  23193. * series is triggered when the mouse leaves the area around the series'
  23194. * graph or markers. This also implies the tooltip when not shared. When
  23195. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  23196. * be hidden when moving the mouse between series. Defaults to true for line
  23197. * and area type series, but to false for columns, pies etc.
  23198. *
  23199. * **Note:** The boost module will force this option because of technical
  23200. * limitations.
  23201. */
  23202. stickyTracking?: boolean;
  23203. /**
  23204. * (Highcharts, Highstock) The threshold, also called zero level or base
  23205. * level. For line type series this is only used in conjunction with
  23206. * negativeColor.
  23207. */
  23208. threshold?: number;
  23209. /**
  23210. * (Highstock) A configuration object for the tooltip rendering of each
  23211. * single series. Properties are inherited from tooltip, but only the
  23212. * following properties can be defined on a series level.
  23213. */
  23214. tooltip?: SeriesTooltipOptionsObject;
  23215. /**
  23216. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  23217. * is longer than this, only one dimensional arrays of numbers, or two
  23218. * dimensional arrays with x and y values are allowed. Also, only the first
  23219. * point is tested, and the rest are assumed to be the same format. This
  23220. * saves expensive data checking and indexing in long series. Set it to `0`
  23221. * disable.
  23222. *
  23223. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  23224. * two dimensional arrays are allowed.
  23225. */
  23226. turboThreshold?: number;
  23227. /**
  23228. * (Highstock) Set the initial visibility of the series.
  23229. */
  23230. visible?: boolean;
  23231. /**
  23232. * (Highmaps) Define the z index of the series.
  23233. */
  23234. zIndex?: number;
  23235. /**
  23236. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  23237. */
  23238. zoneAxis?: string;
  23239. /**
  23240. * (Highcharts, Highstock) An array defining zones within a series. Zones
  23241. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  23242. * the `zoneAxis` option. The zone definitions have to be in ascending order
  23243. * regarding to the value.
  23244. *
  23245. * In styled mode, the color zones are styled with the
  23246. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  23247. * option (view live demo).
  23248. */
  23249. zones?: Array<SeriesZonesOptionsObject>;
  23250. }
  23251. /**
  23252. * (Highstock) Enable or disable the initial animation when a series is
  23253. * displayed. The animation can also be set as a configuration object. Please
  23254. * note that this option only applies to the initial animation of the series
  23255. * itself. For other animations, see chart.animation and the animation parameter
  23256. * under the API methods. The following properties are supported:
  23257. *
  23258. * - `defer`: The animation delay time in milliseconds.
  23259. *
  23260. * - `duration`: The duration of the animation in milliseconds.
  23261. *
  23262. * - `easing`: Can be a string reference to an easing function set on the `Math`
  23263. * object or a function. See the _Custom easing function_ demo below.
  23264. *
  23265. * Due to poor performance, animation is disabled in old IE browsers for several
  23266. * chart types.
  23267. */
  23268. export interface PlotAroonoscillatorAnimationOptions {
  23269. defer?: number;
  23270. }
  23271. /**
  23272. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  23273. * animation when a series is displayed for the `dataLabels`. The animation can
  23274. * also be set as a configuration object. Please note that this option only
  23275. * applies to the initial animation. For other animations, see chart.animation
  23276. * and the animation parameter under the API methods. The following properties
  23277. * are supported:
  23278. *
  23279. * - `defer`: The animation delay time in milliseconds.
  23280. */
  23281. export interface PlotAroonoscillatorDataLabelsAnimationOptions {
  23282. /**
  23283. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  23284. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  23285. * inherits defer time from the series.animation.defer.
  23286. */
  23287. defer?: number;
  23288. }
  23289. /**
  23290. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  23291. * appearing next to each data point.
  23292. *
  23293. * Since v6.2.0, multiple data labels can be applied to each single point by
  23294. * defining them as an array of configs.
  23295. *
  23296. * In styled mode, the data labels can be styled with the
  23297. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  23298. * example).
  23299. */
  23300. export interface PlotAroonoscillatorDataLabelsOptions {
  23301. /**
  23302. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  23303. * compared to the point. If `right`, the right side of the label should be
  23304. * touching the point. For points with an extent, like columns, the
  23305. * alignments also dictates how to align it inside the box, as given with
  23306. * the inside option. Can be one of `left`, `center` or `right`.
  23307. */
  23308. align?: (AlignValue|null);
  23309. /**
  23310. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  23311. * overlap. To make the labels less sensitive for overlapping, the
  23312. * dataLabels.padding can be set to 0.
  23313. */
  23314. allowOverlap?: boolean;
  23315. /**
  23316. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  23317. * animation when a series is displayed for the `dataLabels`. The animation
  23318. * can also be set as a configuration object. Please note that this option
  23319. * only applies to the initial animation. For other animations, see
  23320. * chart.animation and the animation parameter under the API methods. The
  23321. * following properties are supported:
  23322. *
  23323. * - `defer`: The animation delay time in milliseconds.
  23324. */
  23325. animation?: (boolean|PlotAroonoscillatorDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  23326. /**
  23327. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  23328. * for the data label.
  23329. */
  23330. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  23331. /**
  23332. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  23333. * label. Defaults to `undefined`.
  23334. */
  23335. borderColor?: (ColorString|GradientColorObject|PatternObject);
  23336. /**
  23337. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  23338. * the data label.
  23339. */
  23340. borderRadius?: number;
  23341. /**
  23342. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  23343. * the data label.
  23344. */
  23345. borderWidth?: number;
  23346. /**
  23347. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  23348. * Particularly in styled mode, this can be used to give each series' or
  23349. * point's data label unique styling. In addition to this option, a default
  23350. * color class name is added so that we can give the labels a contrast text
  23351. * shadow.
  23352. */
  23353. className?: string;
  23354. /**
  23355. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  23356. * labels. Defaults to `undefined`. For certain series types, like column or
  23357. * map, the data labels can be drawn inside the points. In this case the
  23358. * data label will be drawn with maximum contrast by default. Additionally,
  23359. * it will be given a `text-outline` style with the opposite color, to
  23360. * further increase the contrast. This can be overridden by setting the
  23361. * `text-outline` style to `none` in the `dataLabels.style` option.
  23362. */
  23363. color?: (ColorString|GradientColorObject|PatternObject);
  23364. /**
  23365. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  23366. * are outside the plot area. By default, the data label is moved inside the
  23367. * plot area according to the overflow option.
  23368. */
  23369. crop?: boolean;
  23370. /**
  23371. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  23372. * labels until the initial series animation has finished. Setting to
  23373. * `false` renders the data label immediately. If set to `true` inherits the
  23374. * defer time set in plotOptions.series.animation.
  23375. */
  23376. defer?: boolean;
  23377. /**
  23378. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  23379. * labels.
  23380. */
  23381. enabled?: boolean;
  23382. /**
  23383. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  23384. * of which data labels to display. The declarative filter is designed for
  23385. * use when callback functions are not available, like when the chart
  23386. * options require a pure JSON structure or for use with graphical editors.
  23387. * For programmatic control, use the `formatter` instead, and return
  23388. * `undefined` to disable a single data label.
  23389. */
  23390. filter?: DataLabelsFilterOptionsObject;
  23391. /**
  23392. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  23393. * label. Available variables are the same as for `formatter`.
  23394. */
  23395. format?: string;
  23396. /**
  23397. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  23398. * format the data label. Note that if a `format` is defined, the format
  23399. * takes precedence and the formatter is ignored.
  23400. */
  23401. formatter?: DataLabelsFormatterCallbackFunction;
  23402. /**
  23403. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  23404. * columns or map areas, whether to align the data label inside the box or
  23405. * to the actual value point. Defaults to `false` in most cases, `true` in
  23406. * stacked columns.
  23407. */
  23408. inside?: boolean;
  23409. /**
  23410. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  23411. * of null. Works analogously to format. `nullFormat` can be applied only to
  23412. * series which support displaying null points.
  23413. */
  23414. nullFormat?: (boolean|string);
  23415. /**
  23416. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  23417. * that defines formatting for points with the value of null. Works
  23418. * analogously to formatter. `nullPointFormatter` can be applied only to
  23419. * series which support displaying null points.
  23420. */
  23421. nullFormatter?: DataLabelsFormatterCallbackFunction;
  23422. /**
  23423. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  23424. * flow outside the plot area. The default is `"justify"`, which aligns them
  23425. * inside the plot area. For columns and bars, this means it will be moved
  23426. * inside the bar. To display data labels outside the plot area, set `crop`
  23427. * to `false` and `overflow` to `"allow"`.
  23428. */
  23429. overflow?: DataLabelsOverflowValue;
  23430. /**
  23431. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  23432. * the `backgroundColor` is set, this is the padding within the box.
  23433. */
  23434. padding?: number;
  23435. /**
  23436. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  23437. * points. If `center` alignment is not possible, it defaults to `right`.
  23438. */
  23439. position?: AlignValue;
  23440. /**
  23441. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  23442. * that due to a more complex structure, backgrounds, borders and padding
  23443. * will be lost on a rotated data label.
  23444. */
  23445. rotation?: number;
  23446. /**
  23447. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  23448. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  23449. * an object configuration containing `color`, `offsetX`, `offsetY`,
  23450. * `opacity` and `width`.
  23451. */
  23452. shadow?: (boolean|ShadowOptionsObject);
  23453. /**
  23454. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  23455. * the border around the label. Symbols are predefined functions on the
  23456. * Renderer object.
  23457. */
  23458. shape?: string;
  23459. /**
  23460. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  23461. * default `color` setting is `"contrast"`, which is a pseudo color that
  23462. * Highcharts picks up and applies the maximum contrast to the underlying
  23463. * point item, for example the bar in a bar chart.
  23464. *
  23465. * The `textOutline` is a pseudo property that applies an outline of the
  23466. * given width with the given color, which by default is the maximum
  23467. * contrast to the text. So a bright text color will result in a black text
  23468. * outline for maximum readability on a mixed background. In some cases,
  23469. * especially with grayscale text, the text outline doesn't work well, in
  23470. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  23471. * is true, the `textOutline` will not be picked up. In this, case, the same
  23472. * effect can be acheived through the `text-shadow` CSS property.
  23473. *
  23474. * For some series types, where each point has an extent, like for example
  23475. * tree maps, the data label may overflow the point. There are two
  23476. * strategies for handling overflow. By default, the text will wrap to
  23477. * multiple lines. The other strategy is to set `style.textOverflow` to
  23478. * `ellipsis`, which will keep the text on one line plus it will break
  23479. * inside long words.
  23480. */
  23481. style?: CSSObject;
  23482. /**
  23483. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  23484. * should follow marker's shape. Border and background are disabled for a
  23485. * label that follows a path.
  23486. *
  23487. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  23488. * to true will disable this option.
  23489. */
  23490. textPath?: DataLabelsTextPathOptionsObject;
  23491. /**
  23492. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  23493. * the labels.
  23494. */
  23495. useHTML?: boolean;
  23496. /**
  23497. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  23498. * label. Can be one of `top`, `middle` or `bottom`. The default value
  23499. * depends on the data, for instance in a column chart, the label is above
  23500. * positive values and below negative values.
  23501. */
  23502. verticalAlign?: (VerticalAlignValue|null);
  23503. /**
  23504. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  23505. * label relative to the point in pixels.
  23506. */
  23507. x?: number;
  23508. /**
  23509. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  23510. * label relative to the point in pixels.
  23511. */
  23512. y?: number;
  23513. /**
  23514. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  23515. * The default Z index puts it above the series. Use a Z index of 2 to
  23516. * display it behind the series.
  23517. */
  23518. z?: number;
  23519. }
  23520. /**
  23521. * (Highcharts, Highstock) Options for the series data sorting.
  23522. */
  23523. export interface PlotAroonoscillatorDataSortingOptions {
  23524. /**
  23525. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  23526. * Use xAxis.reversed to change the sorting order.
  23527. */
  23528. enabled?: boolean;
  23529. /**
  23530. * (Highcharts, Highstock) Whether to allow matching points by name in an
  23531. * update. If this option is disabled, points will be matched by order.
  23532. */
  23533. matchByName?: boolean;
  23534. /**
  23535. * (Highcharts, Highstock) Determines what data value should be used to sort
  23536. * by.
  23537. */
  23538. sortKey?: string;
  23539. }
  23540. /**
  23541. * (Highstock) Aroon Oscillator. This series requires the `linkedTo` option to
  23542. * be set and should be loaded after the `stock/indicators/indicators.js` and
  23543. * `stock/indicators/aroon.js`.
  23544. *
  23545. * In TypeScript the type option must always be set.
  23546. *
  23547. * Configuration options for the series are given in three levels:
  23548. *
  23549. * 1. Options for all series in a chart are defined in the plotOptions.series
  23550. * object.
  23551. *
  23552. * 2. Options for all `aroonoscillator` series are defined in
  23553. * plotOptions.aroonoscillator.
  23554. *
  23555. * 3. Options for one single series are given in the series instance array. (see
  23556. * online documentation for example)
  23557. */
  23558. export interface PlotAroonoscillatorOptions {
  23559. /**
  23560. * (Highstock) Accessibility options for a series.
  23561. */
  23562. accessibility?: SeriesAccessibilityOptionsObject;
  23563. /**
  23564. * (Highstock) Allow this series' points to be selected by clicking on the
  23565. * graphic (columns, point markers, pie slices, map areas etc).
  23566. *
  23567. * The selected points can be handled by point select and unselect events,
  23568. * or collectively by the getSelectedPoints function.
  23569. *
  23570. * And alternative way of selecting points is through dragging.
  23571. */
  23572. allowPointSelect?: boolean;
  23573. /**
  23574. * (Highstock) Enable or disable the initial animation when a series is
  23575. * displayed. The animation can also be set as a configuration object.
  23576. * Please note that this option only applies to the initial animation of the
  23577. * series itself. For other animations, see chart.animation and the
  23578. * animation parameter under the API methods. The following properties are
  23579. * supported:
  23580. *
  23581. * - `defer`: The animation delay time in milliseconds.
  23582. *
  23583. * - `duration`: The duration of the animation in milliseconds.
  23584. *
  23585. * - `easing`: Can be a string reference to an easing function set on the
  23586. * `Math` object or a function. See the _Custom easing function_ demo below.
  23587. *
  23588. * Due to poor performance, animation is disabled in old IE browsers for
  23589. * several chart types.
  23590. */
  23591. animation?: (boolean|PlotAroonoscillatorAnimationOptions|Partial<AnimationOptionsObject>);
  23592. /**
  23593. * (Highstock) For some series, there is a limit that shuts down initial
  23594. * animation by default when the total number of points in the chart is too
  23595. * high. For example, for a column chart and its derivatives, animation does
  23596. * not run if there is more than 250 points totally. To disable this cap,
  23597. * set `animationLimit` to `Infinity`.
  23598. */
  23599. animationLimit?: number;
  23600. /**
  23601. * (Highstock) Sets the color blending in the boost module.
  23602. */
  23603. boostBlending?: OptionsBoostBlendingValue;
  23604. /**
  23605. * (Highstock) Set the point threshold for when a series should enter boost
  23606. * mode.
  23607. *
  23608. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  23609. * there are 2000 or more points in the series.
  23610. *
  23611. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  23612. * it to 1 will force boosting.
  23613. *
  23614. * Note that the cropThreshold also affects this setting. When zooming in on
  23615. * a series that has fewer points than the `cropThreshold`, all points are
  23616. * rendered although outside the visible plot area, and the `boostThreshold`
  23617. * won't take effect.
  23618. */
  23619. boostThreshold?: number;
  23620. /**
  23621. * (Highmaps) The border color of the map areas.
  23622. *
  23623. * In styled mode, the border stroke is given in the `.highcharts-point`
  23624. * class.
  23625. */
  23626. borderColor?: (ColorString|GradientColorObject|PatternObject);
  23627. /**
  23628. * (Highmaps) The border width of each map area.
  23629. *
  23630. * In styled mode, the border stroke width is given in the
  23631. * `.highcharts-point` class.
  23632. */
  23633. borderWidth?: number;
  23634. /**
  23635. * (Highstock) An additional class name to apply to the series' graphical
  23636. * elements. This option does not replace default class names of the
  23637. * graphical element.
  23638. */
  23639. className?: string;
  23640. /**
  23641. * (Highstock) Disable this option to allow series rendering in the whole
  23642. * plotting area.
  23643. *
  23644. * **Note:** Clipping should be always enabled when chart.zoomType is set
  23645. */
  23646. clip?: boolean;
  23647. /**
  23648. * (Highstock) The main color of the series. In line type series it applies
  23649. * to the line and the point markers unless otherwise specified. In bar type
  23650. * series it applies to the bars unless a color is specified per point. The
  23651. * default value is pulled from the `options.colors` array.
  23652. *
  23653. * In styled mode, the color can be defined by the colorIndex option. Also,
  23654. * the series color can be set with the `.highcharts-series`,
  23655. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  23656. * `.highcharts-series-{n}` class, or individual classes given by the
  23657. * `className` option.
  23658. */
  23659. color?: (ColorString|GradientColorObject|PatternObject);
  23660. /**
  23661. * (Highstock) Styled mode only. A specific color index to use for the
  23662. * series, so its graphic representations are given the class name
  23663. * `highcharts-color-{n}`.
  23664. */
  23665. colorIndex?: number;
  23666. /**
  23667. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  23668. * used to calculate point color if `colorAxis` is used. Requires to set
  23669. * `min` and `max` if some custom point property is used or if approximation
  23670. * for data grouping is set to `'sum'`.
  23671. */
  23672. colorKey?: string;
  23673. /**
  23674. * (Highstock) Defines if comparison should start from the first point
  23675. * within the visible range or should start from the first point **before**
  23676. * the range.
  23677. *
  23678. * In other words, this flag determines if first point within the visible
  23679. * range will have 0% (`compareStart=true`) or should have been already
  23680. * calculated according to the previous point (`compareStart=false`).
  23681. */
  23682. compareStart?: boolean;
  23683. /**
  23684. * (Highstock) Whether to compare indicator to the main series values or
  23685. * indicator values.
  23686. */
  23687. compareToMain?: boolean;
  23688. /**
  23689. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  23690. * series plot across the extremes.
  23691. */
  23692. connectEnds?: boolean;
  23693. /**
  23694. * (Highcharts, Highstock) Whether to connect a graph line across null
  23695. * points, or render a gap between the two points on either side of the
  23696. * null.
  23697. */
  23698. connectNulls?: boolean;
  23699. /**
  23700. * (Gantt) Override Pathfinder connector options for a series. Requires
  23701. * Highcharts Gantt to be loaded.
  23702. */
  23703. connectors?: SeriesConnectorsOptionsObject;
  23704. /**
  23705. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  23706. * rounded to its nearest pixel in order to render sharp on screen. In some
  23707. * cases, when there are a lot of densely packed columns, this leads to
  23708. * visible difference in column widths or distance between columns. In these
  23709. * cases, setting `crisp` to `false` may look better, even though each
  23710. * column is rendered blurry.
  23711. */
  23712. crisp?: boolean;
  23713. /**
  23714. * (Highcharts, Highstock) When the series contains less points than the
  23715. * crop threshold, all points are drawn, even if the points fall outside the
  23716. * visible plot area at the current zoom. The advantage of drawing all
  23717. * points (including markers and columns), is that animation is performed on
  23718. * updates. On the other hand, when the series contains more points than the
  23719. * crop threshold, the series data is cropped to only contain points that
  23720. * fall within the plot area. The advantage of cropping away invisible
  23721. * points is to increase performance on large series.
  23722. */
  23723. cropThreshold?: number;
  23724. /**
  23725. * (Highstock) You can set the cursor to "pointer" if you have click events
  23726. * attached to the series, to signal to the user that the points and lines
  23727. * can be clicked.
  23728. *
  23729. * In styled mode, the series cursor can be set with the same classes as
  23730. * listed under series.color.
  23731. */
  23732. cursor?: (string|CursorValue);
  23733. /**
  23734. * (Highstock) A reserved subspace to store options and values for
  23735. * customized functionality. Here you can add additional data for your own
  23736. * event callbacks and formatter callbacks.
  23737. */
  23738. custom?: Dictionary<any>;
  23739. /**
  23740. * (Highstock) Name of the dash style to use for the graph, or for some
  23741. * series types the outline of each shape.
  23742. *
  23743. * In styled mode, the stroke dash-array can be set with the same classes as
  23744. * listed under series.color.
  23745. */
  23746. dashStyle?: DashStyleValue;
  23747. /**
  23748. * (Highstock) Data grouping is the concept of sampling the data values into
  23749. * larger blocks in order to ease readability and increase performance of
  23750. * the JavaScript charts. Highstock by default applies data grouping when
  23751. * the points become closer than a certain pixel value, determined by the
  23752. * `groupPixelWidth` option.
  23753. *
  23754. * If data grouping is applied, the grouping information of grouped points
  23755. * can be read from the Point.dataGroup. If point options other than the
  23756. * data itself are set, for example `name` or `color` or custom properties,
  23757. * the grouping logic doesn't know how to group it. In this case the options
  23758. * of the first point instance are copied over to the group point. This can
  23759. * be altered through a custom `approximation` callback function.
  23760. */
  23761. dataGrouping?: DataGroupingOptionsObject;
  23762. /**
  23763. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  23764. * labels, appearing next to each data point.
  23765. *
  23766. * Since v6.2.0, multiple data labels can be applied to each single point by
  23767. * defining them as an array of configs.
  23768. *
  23769. * In styled mode, the data labels can be styled with the
  23770. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  23771. * (see example).
  23772. */
  23773. dataLabels?: (PlotAroonoscillatorDataLabelsOptions|Array<PlotAroonoscillatorDataLabelsOptions>);
  23774. /**
  23775. * (Highcharts, Highstock) Options for the series data sorting.
  23776. */
  23777. dataSorting?: (DataSortingOptionsObject|PlotAroonoscillatorDataSortingOptions);
  23778. /**
  23779. * (Highstock) A description of the series to add to the screen reader
  23780. * information about the series.
  23781. */
  23782. description?: string;
  23783. /**
  23784. * (Highstock) Enable or disable the mouse tracking for a specific series.
  23785. * This includes point tooltips and click events on graphs and points. For
  23786. * large datasets it improves performance.
  23787. */
  23788. enableMouseTracking?: boolean;
  23789. /**
  23790. * (Highstock) General event handlers for the series items. These event
  23791. * hooks can also be attached to the series at run time using the
  23792. * `Highcharts.addEvent` function.
  23793. */
  23794. events?: SeriesEventsOptionsObject;
  23795. /**
  23796. * (Highstock) Determines whether the series should look for the nearest
  23797. * point in both dimensions or just the x-dimension when hovering the
  23798. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  23799. * series. If the data has duplicate x-values, it is recommended to set this
  23800. * to `'xy'` to allow hovering over all points.
  23801. *
  23802. * Applies only to series types using nearest neighbor search (not direct
  23803. * hover) for tooltip.
  23804. */
  23805. findNearestPointBy?: OptionsFindNearestPointByValue;
  23806. /**
  23807. * (Highstock) Defines when to display a gap in the graph, together with the
  23808. * gapUnit option.
  23809. *
  23810. * In case when `dataGrouping` is enabled, points can be grouped into a
  23811. * larger time span. This can make the grouped points to have a greater
  23812. * distance than the absolute value of `gapSize` property, which will result
  23813. * in disappearing graph completely. To prevent this situation the mentioned
  23814. * distance between grouped points is used instead of previously defined
  23815. * `gapSize`.
  23816. *
  23817. * In practice, this option is most often used to visualize gaps in time
  23818. * series. In a stock chart, intraday data is available for daytime hours,
  23819. * while gaps will appear in nights and weekends.
  23820. */
  23821. gapSize?: number;
  23822. /**
  23823. * (Highstock) Together with gapSize, this option defines where to draw gaps
  23824. * in the graph.
  23825. *
  23826. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  23827. * if the distance between two points is greater than 5 times that of the
  23828. * two closest points, the graph will be broken.
  23829. *
  23830. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  23831. * values, which on a datetime axis is milliseconds. This also applies to
  23832. * the navigator series that inherits gap options from the base series.
  23833. */
  23834. gapUnit?: OptionsGapUnitValue;
  23835. /**
  23836. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  23837. * chart width or only the zoomed area when zooming in on parts of the X
  23838. * axis. By default, the Y axis adjusts to the min and max of the visible
  23839. * data. Cartesian series only.
  23840. */
  23841. getExtremesFromAll?: boolean;
  23842. /**
  23843. * (Highstock) When set to `false` will prevent the series data from being
  23844. * included in any form of data export.
  23845. *
  23846. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  23847. * `includeInCSVExport`.
  23848. */
  23849. includeInDataExport?: boolean;
  23850. /**
  23851. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  23852. * series as possible in a natural way, seeking to avoid other series. The
  23853. * goal of this feature is to make the chart more easily readable, like if a
  23854. * human designer placed the labels in the optimal position.
  23855. *
  23856. * The series labels currently work with series types having a `graph` or an
  23857. * `area`.
  23858. */
  23859. label?: SeriesLabelOptionsObject;
  23860. /**
  23861. * (Highstock) The line marks the last price from all points.
  23862. */
  23863. lastPrice?: SeriesLastPriceOptionsObject;
  23864. /**
  23865. * (Highstock) The line marks the last price from visible range of points.
  23866. */
  23867. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  23868. /**
  23869. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  23870. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  23871. * the ends and bends.
  23872. */
  23873. linecap?: SeriesLinecapValue;
  23874. /**
  23875. * (Highcharts, Highstock) Pixel width of the graph line.
  23876. */
  23877. lineWidth?: number;
  23878. /**
  23879. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  23880. * based on. Required for this indicator.
  23881. */
  23882. linkedTo?: string;
  23883. /**
  23884. * (Highstock) Options for the point markers of line-like series. Properties
  23885. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  23886. * appearance of the markers. Other series types, like column series, don't
  23887. * have markers, but have visual options on the series level instead.
  23888. *
  23889. * In styled mode, the markers can be styled with the `.highcharts-point`,
  23890. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  23891. */
  23892. marker?: PointMarkerOptionsObject;
  23893. /**
  23894. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  23895. * If not set, it will be based on a technical indicator type and default
  23896. * params.
  23897. */
  23898. name?: string;
  23899. /**
  23900. * (Highstock) The color for the parts of the graph or points that are below
  23901. * the threshold. Note that `zones` takes precedence over the negative
  23902. * color. Using `negativeColor` is equivalent to applying a zone with value
  23903. * of 0.
  23904. */
  23905. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  23906. /**
  23907. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  23908. * dataLabels.
  23909. */
  23910. opacity?: number;
  23911. /**
  23912. * (Highstock) Paramters used in calculation of aroon oscillator series
  23913. * points.
  23914. */
  23915. params?: PlotAroonoscillatorParamsOptions;
  23916. /**
  23917. * (Highstock) Properties for each single point.
  23918. */
  23919. point?: PlotSeriesPointOptions;
  23920. /**
  23921. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  23922. * individual series. Overrides the chart wide configuration.
  23923. */
  23924. pointDescriptionFormatter?: Function;
  23925. /**
  23926. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  23927. * true, the checkbox next to the series name in the legend will be checked
  23928. * for a selected series.
  23929. */
  23930. selected?: boolean;
  23931. /**
  23932. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  23933. * the shadow can be an object configuration containing `color`, `offsetX`,
  23934. * `offsetY`, `opacity` and `width`.
  23935. */
  23936. shadow?: (boolean|ShadowOptionsObject);
  23937. /**
  23938. * (Highstock) If true, a checkbox is displayed next to the legend item to
  23939. * allow selecting the series. The state of the checkbox is determined by
  23940. * the `selected` option.
  23941. */
  23942. showCheckbox?: boolean;
  23943. /**
  23944. * (Highstock) Whether to display this particular series or series type in
  23945. * the legend. Standalone series are shown in legend by default, and linked
  23946. * series are not. Since v7.2.0 it is possible to show series that use
  23947. * colorAxis by setting this option to `true`.
  23948. */
  23949. showInLegend?: boolean;
  23950. /**
  23951. * (Highstock) If set to `true`, the accessibility module will skip past the
  23952. * points in this series for keyboard navigation.
  23953. */
  23954. skipKeyboardNavigation?: boolean;
  23955. /**
  23956. * (Highcharts, Highstock) When this is true, the series will not cause the
  23957. * Y axis to cross the zero plane (or threshold option) unless the data
  23958. * actually crosses the plane.
  23959. *
  23960. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  23961. * make the Y axis show negative values according to the `minPadding`
  23962. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  23963. */
  23964. softThreshold?: boolean;
  23965. states?: SeriesStatesOptionsObject;
  23966. /**
  23967. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  23968. * values are `left`, `center` and `right`.
  23969. */
  23970. step?: OptionsStepValue;
  23971. /**
  23972. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  23973. * event on a series isn't triggered until the mouse moves over another
  23974. * series, or out of the plot area. When false, the `mouseOut` event on a
  23975. * series is triggered when the mouse leaves the area around the series'
  23976. * graph or markers. This also implies the tooltip when not shared. When
  23977. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  23978. * be hidden when moving the mouse between series. Defaults to true for line
  23979. * and area type series, but to false for columns, pies etc.
  23980. *
  23981. * **Note:** The boost module will force this option because of technical
  23982. * limitations.
  23983. */
  23984. stickyTracking?: boolean;
  23985. /**
  23986. * (Highcharts, Highstock) The threshold, also called zero level or base
  23987. * level. For line type series this is only used in conjunction with
  23988. * negativeColor.
  23989. */
  23990. threshold?: number;
  23991. /**
  23992. * (Highstock) A configuration object for the tooltip rendering of each
  23993. * single series. Properties are inherited from tooltip, but only the
  23994. * following properties can be defined on a series level.
  23995. */
  23996. tooltip?: SeriesTooltipOptionsObject;
  23997. /**
  23998. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  23999. * is longer than this, only one dimensional arrays of numbers, or two
  24000. * dimensional arrays with x and y values are allowed. Also, only the first
  24001. * point is tested, and the rest are assumed to be the same format. This
  24002. * saves expensive data checking and indexing in long series. Set it to `0`
  24003. * disable.
  24004. *
  24005. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  24006. * two dimensional arrays are allowed.
  24007. */
  24008. turboThreshold?: number;
  24009. /**
  24010. * (Highstock) Set the initial visibility of the series.
  24011. */
  24012. visible?: boolean;
  24013. /**
  24014. * (Highmaps) Define the z index of the series.
  24015. */
  24016. zIndex?: number;
  24017. /**
  24018. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  24019. */
  24020. zoneAxis?: string;
  24021. /**
  24022. * (Highcharts, Highstock) An array defining zones within a series. Zones
  24023. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  24024. * the `zoneAxis` option. The zone definitions have to be in ascending order
  24025. * regarding to the value.
  24026. *
  24027. * In styled mode, the color zones are styled with the
  24028. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  24029. * option (view live demo).
  24030. */
  24031. zones?: Array<SeriesZonesOptionsObject>;
  24032. }
  24033. /**
  24034. * (Highstock) Paramters used in calculation of aroon oscillator series points.
  24035. */
  24036. export interface PlotAroonoscillatorParamsOptions {
  24037. /**
  24038. * (Highstock) Period for Aroon Oscillator
  24039. */
  24040. period?: number;
  24041. }
  24042. /**
  24043. * (Highstock) Paramters used in calculation of aroon series points.
  24044. */
  24045. export interface PlotAroonParamsOptions {
  24046. /**
  24047. * (Highstock) Period for Aroon indicator
  24048. */
  24049. period?: number;
  24050. }
  24051. /**
  24052. * (Highstock) Enable or disable the initial animation when a series is
  24053. * displayed. The animation can also be set as a configuration object. Please
  24054. * note that this option only applies to the initial animation of the series
  24055. * itself. For other animations, see chart.animation and the animation parameter
  24056. * under the API methods. The following properties are supported:
  24057. *
  24058. * - `defer`: The animation delay time in milliseconds.
  24059. *
  24060. * - `duration`: The duration of the animation in milliseconds.
  24061. *
  24062. * - `easing`: Can be a string reference to an easing function set on the `Math`
  24063. * object or a function. See the _Custom easing function_ demo below.
  24064. *
  24065. * Due to poor performance, animation is disabled in old IE browsers for several
  24066. * chart types.
  24067. */
  24068. export interface PlotAtrAnimationOptions {
  24069. defer?: number;
  24070. }
  24071. /**
  24072. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  24073. * animation when a series is displayed for the `dataLabels`. The animation can
  24074. * also be set as a configuration object. Please note that this option only
  24075. * applies to the initial animation. For other animations, see chart.animation
  24076. * and the animation parameter under the API methods. The following properties
  24077. * are supported:
  24078. *
  24079. * - `defer`: The animation delay time in milliseconds.
  24080. */
  24081. export interface PlotAtrDataLabelsAnimationOptions {
  24082. /**
  24083. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  24084. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  24085. * inherits defer time from the series.animation.defer.
  24086. */
  24087. defer?: number;
  24088. }
  24089. /**
  24090. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  24091. * appearing next to each data point.
  24092. *
  24093. * Since v6.2.0, multiple data labels can be applied to each single point by
  24094. * defining them as an array of configs.
  24095. *
  24096. * In styled mode, the data labels can be styled with the
  24097. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  24098. * example).
  24099. */
  24100. export interface PlotAtrDataLabelsOptions {
  24101. /**
  24102. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  24103. * compared to the point. If `right`, the right side of the label should be
  24104. * touching the point. For points with an extent, like columns, the
  24105. * alignments also dictates how to align it inside the box, as given with
  24106. * the inside option. Can be one of `left`, `center` or `right`.
  24107. */
  24108. align?: (AlignValue|null);
  24109. /**
  24110. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  24111. * overlap. To make the labels less sensitive for overlapping, the
  24112. * dataLabels.padding can be set to 0.
  24113. */
  24114. allowOverlap?: boolean;
  24115. /**
  24116. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  24117. * animation when a series is displayed for the `dataLabels`. The animation
  24118. * can also be set as a configuration object. Please note that this option
  24119. * only applies to the initial animation. For other animations, see
  24120. * chart.animation and the animation parameter under the API methods. The
  24121. * following properties are supported:
  24122. *
  24123. * - `defer`: The animation delay time in milliseconds.
  24124. */
  24125. animation?: (boolean|PlotAtrDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  24126. /**
  24127. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  24128. * for the data label.
  24129. */
  24130. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  24131. /**
  24132. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  24133. * label. Defaults to `undefined`.
  24134. */
  24135. borderColor?: (ColorString|GradientColorObject|PatternObject);
  24136. /**
  24137. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  24138. * the data label.
  24139. */
  24140. borderRadius?: number;
  24141. /**
  24142. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  24143. * the data label.
  24144. */
  24145. borderWidth?: number;
  24146. /**
  24147. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  24148. * Particularly in styled mode, this can be used to give each series' or
  24149. * point's data label unique styling. In addition to this option, a default
  24150. * color class name is added so that we can give the labels a contrast text
  24151. * shadow.
  24152. */
  24153. className?: string;
  24154. /**
  24155. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  24156. * labels. Defaults to `undefined`. For certain series types, like column or
  24157. * map, the data labels can be drawn inside the points. In this case the
  24158. * data label will be drawn with maximum contrast by default. Additionally,
  24159. * it will be given a `text-outline` style with the opposite color, to
  24160. * further increase the contrast. This can be overridden by setting the
  24161. * `text-outline` style to `none` in the `dataLabels.style` option.
  24162. */
  24163. color?: (ColorString|GradientColorObject|PatternObject);
  24164. /**
  24165. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  24166. * are outside the plot area. By default, the data label is moved inside the
  24167. * plot area according to the overflow option.
  24168. */
  24169. crop?: boolean;
  24170. /**
  24171. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  24172. * labels until the initial series animation has finished. Setting to
  24173. * `false` renders the data label immediately. If set to `true` inherits the
  24174. * defer time set in plotOptions.series.animation.
  24175. */
  24176. defer?: boolean;
  24177. /**
  24178. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  24179. * labels.
  24180. */
  24181. enabled?: boolean;
  24182. /**
  24183. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  24184. * of which data labels to display. The declarative filter is designed for
  24185. * use when callback functions are not available, like when the chart
  24186. * options require a pure JSON structure or for use with graphical editors.
  24187. * For programmatic control, use the `formatter` instead, and return
  24188. * `undefined` to disable a single data label.
  24189. */
  24190. filter?: DataLabelsFilterOptionsObject;
  24191. /**
  24192. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  24193. * label. Available variables are the same as for `formatter`.
  24194. */
  24195. format?: string;
  24196. /**
  24197. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  24198. * format the data label. Note that if a `format` is defined, the format
  24199. * takes precedence and the formatter is ignored.
  24200. */
  24201. formatter?: DataLabelsFormatterCallbackFunction;
  24202. /**
  24203. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  24204. * columns or map areas, whether to align the data label inside the box or
  24205. * to the actual value point. Defaults to `false` in most cases, `true` in
  24206. * stacked columns.
  24207. */
  24208. inside?: boolean;
  24209. /**
  24210. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  24211. * of null. Works analogously to format. `nullFormat` can be applied only to
  24212. * series which support displaying null points.
  24213. */
  24214. nullFormat?: (boolean|string);
  24215. /**
  24216. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  24217. * that defines formatting for points with the value of null. Works
  24218. * analogously to formatter. `nullPointFormatter` can be applied only to
  24219. * series which support displaying null points.
  24220. */
  24221. nullFormatter?: DataLabelsFormatterCallbackFunction;
  24222. /**
  24223. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  24224. * flow outside the plot area. The default is `"justify"`, which aligns them
  24225. * inside the plot area. For columns and bars, this means it will be moved
  24226. * inside the bar. To display data labels outside the plot area, set `crop`
  24227. * to `false` and `overflow` to `"allow"`.
  24228. */
  24229. overflow?: DataLabelsOverflowValue;
  24230. /**
  24231. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  24232. * the `backgroundColor` is set, this is the padding within the box.
  24233. */
  24234. padding?: number;
  24235. /**
  24236. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  24237. * points. If `center` alignment is not possible, it defaults to `right`.
  24238. */
  24239. position?: AlignValue;
  24240. /**
  24241. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  24242. * that due to a more complex structure, backgrounds, borders and padding
  24243. * will be lost on a rotated data label.
  24244. */
  24245. rotation?: number;
  24246. /**
  24247. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  24248. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  24249. * an object configuration containing `color`, `offsetX`, `offsetY`,
  24250. * `opacity` and `width`.
  24251. */
  24252. shadow?: (boolean|ShadowOptionsObject);
  24253. /**
  24254. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  24255. * the border around the label. Symbols are predefined functions on the
  24256. * Renderer object.
  24257. */
  24258. shape?: string;
  24259. /**
  24260. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  24261. * default `color` setting is `"contrast"`, which is a pseudo color that
  24262. * Highcharts picks up and applies the maximum contrast to the underlying
  24263. * point item, for example the bar in a bar chart.
  24264. *
  24265. * The `textOutline` is a pseudo property that applies an outline of the
  24266. * given width with the given color, which by default is the maximum
  24267. * contrast to the text. So a bright text color will result in a black text
  24268. * outline for maximum readability on a mixed background. In some cases,
  24269. * especially with grayscale text, the text outline doesn't work well, in
  24270. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  24271. * is true, the `textOutline` will not be picked up. In this, case, the same
  24272. * effect can be acheived through the `text-shadow` CSS property.
  24273. *
  24274. * For some series types, where each point has an extent, like for example
  24275. * tree maps, the data label may overflow the point. There are two
  24276. * strategies for handling overflow. By default, the text will wrap to
  24277. * multiple lines. The other strategy is to set `style.textOverflow` to
  24278. * `ellipsis`, which will keep the text on one line plus it will break
  24279. * inside long words.
  24280. */
  24281. style?: CSSObject;
  24282. /**
  24283. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  24284. * should follow marker's shape. Border and background are disabled for a
  24285. * label that follows a path.
  24286. *
  24287. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  24288. * to true will disable this option.
  24289. */
  24290. textPath?: DataLabelsTextPathOptionsObject;
  24291. /**
  24292. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  24293. * the labels.
  24294. */
  24295. useHTML?: boolean;
  24296. /**
  24297. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  24298. * label. Can be one of `top`, `middle` or `bottom`. The default value
  24299. * depends on the data, for instance in a column chart, the label is above
  24300. * positive values and below negative values.
  24301. */
  24302. verticalAlign?: (VerticalAlignValue|null);
  24303. /**
  24304. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  24305. * label relative to the point in pixels.
  24306. */
  24307. x?: number;
  24308. /**
  24309. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  24310. * label relative to the point in pixels.
  24311. */
  24312. y?: number;
  24313. /**
  24314. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  24315. * The default Z index puts it above the series. Use a Z index of 2 to
  24316. * display it behind the series.
  24317. */
  24318. z?: number;
  24319. }
  24320. /**
  24321. * (Highcharts, Highstock) Options for the series data sorting.
  24322. */
  24323. export interface PlotAtrDataSortingOptions {
  24324. /**
  24325. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  24326. * Use xAxis.reversed to change the sorting order.
  24327. */
  24328. enabled?: boolean;
  24329. /**
  24330. * (Highcharts, Highstock) Whether to allow matching points by name in an
  24331. * update. If this option is disabled, points will be matched by order.
  24332. */
  24333. matchByName?: boolean;
  24334. /**
  24335. * (Highcharts, Highstock) Determines what data value should be used to sort
  24336. * by.
  24337. */
  24338. sortKey?: string;
  24339. }
  24340. /**
  24341. * (Highstock) Average true range indicator (ATR). This series requires
  24342. * `linkedTo` option to be set.
  24343. *
  24344. * In TypeScript the type option must always be set.
  24345. *
  24346. * Configuration options for the series are given in three levels:
  24347. *
  24348. * 1. Options for all series in a chart are defined in the plotOptions.series
  24349. * object.
  24350. *
  24351. * 2. Options for all `atr` series are defined in plotOptions.atr.
  24352. *
  24353. * 3. Options for one single series are given in the series instance array. (see
  24354. * online documentation for example)
  24355. */
  24356. export interface PlotAtrOptions {
  24357. /**
  24358. * (Highstock) Accessibility options for a series.
  24359. */
  24360. accessibility?: SeriesAccessibilityOptionsObject;
  24361. /**
  24362. * (Highstock) Allow this series' points to be selected by clicking on the
  24363. * graphic (columns, point markers, pie slices, map areas etc).
  24364. *
  24365. * The selected points can be handled by point select and unselect events,
  24366. * or collectively by the getSelectedPoints function.
  24367. *
  24368. * And alternative way of selecting points is through dragging.
  24369. */
  24370. allowPointSelect?: boolean;
  24371. /**
  24372. * (Highstock) Enable or disable the initial animation when a series is
  24373. * displayed. The animation can also be set as a configuration object.
  24374. * Please note that this option only applies to the initial animation of the
  24375. * series itself. For other animations, see chart.animation and the
  24376. * animation parameter under the API methods. The following properties are
  24377. * supported:
  24378. *
  24379. * - `defer`: The animation delay time in milliseconds.
  24380. *
  24381. * - `duration`: The duration of the animation in milliseconds.
  24382. *
  24383. * - `easing`: Can be a string reference to an easing function set on the
  24384. * `Math` object or a function. See the _Custom easing function_ demo below.
  24385. *
  24386. * Due to poor performance, animation is disabled in old IE browsers for
  24387. * several chart types.
  24388. */
  24389. animation?: (boolean|PlotAtrAnimationOptions|Partial<AnimationOptionsObject>);
  24390. /**
  24391. * (Highstock) For some series, there is a limit that shuts down initial
  24392. * animation by default when the total number of points in the chart is too
  24393. * high. For example, for a column chart and its derivatives, animation does
  24394. * not run if there is more than 250 points totally. To disable this cap,
  24395. * set `animationLimit` to `Infinity`.
  24396. */
  24397. animationLimit?: number;
  24398. /**
  24399. * (Highstock) Sets the color blending in the boost module.
  24400. */
  24401. boostBlending?: OptionsBoostBlendingValue;
  24402. /**
  24403. * (Highstock) Set the point threshold for when a series should enter boost
  24404. * mode.
  24405. *
  24406. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  24407. * there are 2000 or more points in the series.
  24408. *
  24409. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  24410. * it to 1 will force boosting.
  24411. *
  24412. * Note that the cropThreshold also affects this setting. When zooming in on
  24413. * a series that has fewer points than the `cropThreshold`, all points are
  24414. * rendered although outside the visible plot area, and the `boostThreshold`
  24415. * won't take effect.
  24416. */
  24417. boostThreshold?: number;
  24418. /**
  24419. * (Highmaps) The border color of the map areas.
  24420. *
  24421. * In styled mode, the border stroke is given in the `.highcharts-point`
  24422. * class.
  24423. */
  24424. borderColor?: (ColorString|GradientColorObject|PatternObject);
  24425. /**
  24426. * (Highmaps) The border width of each map area.
  24427. *
  24428. * In styled mode, the border stroke width is given in the
  24429. * `.highcharts-point` class.
  24430. */
  24431. borderWidth?: number;
  24432. /**
  24433. * (Highstock) An additional class name to apply to the series' graphical
  24434. * elements. This option does not replace default class names of the
  24435. * graphical element.
  24436. */
  24437. className?: string;
  24438. /**
  24439. * (Highstock) Disable this option to allow series rendering in the whole
  24440. * plotting area.
  24441. *
  24442. * **Note:** Clipping should be always enabled when chart.zoomType is set
  24443. */
  24444. clip?: boolean;
  24445. /**
  24446. * (Highstock) The main color of the series. In line type series it applies
  24447. * to the line and the point markers unless otherwise specified. In bar type
  24448. * series it applies to the bars unless a color is specified per point. The
  24449. * default value is pulled from the `options.colors` array.
  24450. *
  24451. * In styled mode, the color can be defined by the colorIndex option. Also,
  24452. * the series color can be set with the `.highcharts-series`,
  24453. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  24454. * `.highcharts-series-{n}` class, or individual classes given by the
  24455. * `className` option.
  24456. */
  24457. color?: (ColorString|GradientColorObject|PatternObject);
  24458. /**
  24459. * (Highstock) Styled mode only. A specific color index to use for the
  24460. * series, so its graphic representations are given the class name
  24461. * `highcharts-color-{n}`.
  24462. */
  24463. colorIndex?: number;
  24464. /**
  24465. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  24466. * used to calculate point color if `colorAxis` is used. Requires to set
  24467. * `min` and `max` if some custom point property is used or if approximation
  24468. * for data grouping is set to `'sum'`.
  24469. */
  24470. colorKey?: string;
  24471. /**
  24472. * (Highstock) Compare the values of the series against the first non-null,
  24473. * non- zero value in the visible range. The y axis will show percentage or
  24474. * absolute change depending on whether `compare` is set to `"percent"` or
  24475. * `"value"`. When this is applied to multiple series, it allows comparing
  24476. * the development of the series against each other. Adds a `change` field
  24477. * to every point object.
  24478. */
  24479. compare?: string;
  24480. /**
  24481. * (Highstock) When compare is `percent`, this option dictates whether to
  24482. * use 0 or 100 as the base of comparison.
  24483. */
  24484. compareBase?: (0|100);
  24485. /**
  24486. * (Highstock) Defines if comparison should start from the first point
  24487. * within the visible range or should start from the first point **before**
  24488. * the range.
  24489. *
  24490. * In other words, this flag determines if first point within the visible
  24491. * range will have 0% (`compareStart=true`) or should have been already
  24492. * calculated according to the previous point (`compareStart=false`).
  24493. */
  24494. compareStart?: boolean;
  24495. /**
  24496. * (Highstock) Whether to compare indicator to the main series values or
  24497. * indicator values.
  24498. */
  24499. compareToMain?: boolean;
  24500. /**
  24501. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  24502. * series plot across the extremes.
  24503. */
  24504. connectEnds?: boolean;
  24505. /**
  24506. * (Highcharts, Highstock) Whether to connect a graph line across null
  24507. * points, or render a gap between the two points on either side of the
  24508. * null.
  24509. */
  24510. connectNulls?: boolean;
  24511. /**
  24512. * (Gantt) Override Pathfinder connector options for a series. Requires
  24513. * Highcharts Gantt to be loaded.
  24514. */
  24515. connectors?: SeriesConnectorsOptionsObject;
  24516. /**
  24517. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  24518. * rounded to its nearest pixel in order to render sharp on screen. In some
  24519. * cases, when there are a lot of densely packed columns, this leads to
  24520. * visible difference in column widths or distance between columns. In these
  24521. * cases, setting `crisp` to `false` may look better, even though each
  24522. * column is rendered blurry.
  24523. */
  24524. crisp?: boolean;
  24525. /**
  24526. * (Highcharts, Highstock) When the series contains less points than the
  24527. * crop threshold, all points are drawn, even if the points fall outside the
  24528. * visible plot area at the current zoom. The advantage of drawing all
  24529. * points (including markers and columns), is that animation is performed on
  24530. * updates. On the other hand, when the series contains more points than the
  24531. * crop threshold, the series data is cropped to only contain points that
  24532. * fall within the plot area. The advantage of cropping away invisible
  24533. * points is to increase performance on large series.
  24534. */
  24535. cropThreshold?: number;
  24536. /**
  24537. * (Highstock) You can set the cursor to "pointer" if you have click events
  24538. * attached to the series, to signal to the user that the points and lines
  24539. * can be clicked.
  24540. *
  24541. * In styled mode, the series cursor can be set with the same classes as
  24542. * listed under series.color.
  24543. */
  24544. cursor?: (string|CursorValue);
  24545. /**
  24546. * (Highstock) A reserved subspace to store options and values for
  24547. * customized functionality. Here you can add additional data for your own
  24548. * event callbacks and formatter callbacks.
  24549. */
  24550. custom?: Dictionary<any>;
  24551. /**
  24552. * (Highstock) Name of the dash style to use for the graph, or for some
  24553. * series types the outline of each shape.
  24554. *
  24555. * In styled mode, the stroke dash-array can be set with the same classes as
  24556. * listed under series.color.
  24557. */
  24558. dashStyle?: DashStyleValue;
  24559. /**
  24560. * (Highstock) Data grouping is the concept of sampling the data values into
  24561. * larger blocks in order to ease readability and increase performance of
  24562. * the JavaScript charts. Highstock by default applies data grouping when
  24563. * the points become closer than a certain pixel value, determined by the
  24564. * `groupPixelWidth` option.
  24565. *
  24566. * If data grouping is applied, the grouping information of grouped points
  24567. * can be read from the Point.dataGroup. If point options other than the
  24568. * data itself are set, for example `name` or `color` or custom properties,
  24569. * the grouping logic doesn't know how to group it. In this case the options
  24570. * of the first point instance are copied over to the group point. This can
  24571. * be altered through a custom `approximation` callback function.
  24572. */
  24573. dataGrouping?: DataGroupingOptionsObject;
  24574. /**
  24575. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  24576. * labels, appearing next to each data point.
  24577. *
  24578. * Since v6.2.0, multiple data labels can be applied to each single point by
  24579. * defining them as an array of configs.
  24580. *
  24581. * In styled mode, the data labels can be styled with the
  24582. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  24583. * (see example).
  24584. */
  24585. dataLabels?: (PlotAtrDataLabelsOptions|Array<PlotAtrDataLabelsOptions>);
  24586. /**
  24587. * (Highcharts, Highstock) Options for the series data sorting.
  24588. */
  24589. dataSorting?: (DataSortingOptionsObject|PlotAtrDataSortingOptions);
  24590. /**
  24591. * (Highstock) A description of the series to add to the screen reader
  24592. * information about the series.
  24593. */
  24594. description?: string;
  24595. /**
  24596. * (Highstock) Enable or disable the mouse tracking for a specific series.
  24597. * This includes point tooltips and click events on graphs and points. For
  24598. * large datasets it improves performance.
  24599. */
  24600. enableMouseTracking?: boolean;
  24601. /**
  24602. * (Highstock) General event handlers for the series items. These event
  24603. * hooks can also be attached to the series at run time using the
  24604. * `Highcharts.addEvent` function.
  24605. */
  24606. events?: SeriesEventsOptionsObject;
  24607. /**
  24608. * (Highstock) Determines whether the series should look for the nearest
  24609. * point in both dimensions or just the x-dimension when hovering the
  24610. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  24611. * series. If the data has duplicate x-values, it is recommended to set this
  24612. * to `'xy'` to allow hovering over all points.
  24613. *
  24614. * Applies only to series types using nearest neighbor search (not direct
  24615. * hover) for tooltip.
  24616. */
  24617. findNearestPointBy?: OptionsFindNearestPointByValue;
  24618. /**
  24619. * (Highstock) Defines when to display a gap in the graph, together with the
  24620. * gapUnit option.
  24621. *
  24622. * In case when `dataGrouping` is enabled, points can be grouped into a
  24623. * larger time span. This can make the grouped points to have a greater
  24624. * distance than the absolute value of `gapSize` property, which will result
  24625. * in disappearing graph completely. To prevent this situation the mentioned
  24626. * distance between grouped points is used instead of previously defined
  24627. * `gapSize`.
  24628. *
  24629. * In practice, this option is most often used to visualize gaps in time
  24630. * series. In a stock chart, intraday data is available for daytime hours,
  24631. * while gaps will appear in nights and weekends.
  24632. */
  24633. gapSize?: number;
  24634. /**
  24635. * (Highstock) Together with gapSize, this option defines where to draw gaps
  24636. * in the graph.
  24637. *
  24638. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  24639. * if the distance between two points is greater than 5 times that of the
  24640. * two closest points, the graph will be broken.
  24641. *
  24642. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  24643. * values, which on a datetime axis is milliseconds. This also applies to
  24644. * the navigator series that inherits gap options from the base series.
  24645. */
  24646. gapUnit?: OptionsGapUnitValue;
  24647. /**
  24648. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  24649. * chart width or only the zoomed area when zooming in on parts of the X
  24650. * axis. By default, the Y axis adjusts to the min and max of the visible
  24651. * data. Cartesian series only.
  24652. */
  24653. getExtremesFromAll?: boolean;
  24654. /**
  24655. * (Highstock) When set to `false` will prevent the series data from being
  24656. * included in any form of data export.
  24657. *
  24658. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  24659. * `includeInCSVExport`.
  24660. */
  24661. includeInDataExport?: boolean;
  24662. /**
  24663. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  24664. * series as possible in a natural way, seeking to avoid other series. The
  24665. * goal of this feature is to make the chart more easily readable, like if a
  24666. * human designer placed the labels in the optimal position.
  24667. *
  24668. * The series labels currently work with series types having a `graph` or an
  24669. * `area`.
  24670. */
  24671. label?: SeriesLabelOptionsObject;
  24672. /**
  24673. * (Highstock) The line marks the last price from all points.
  24674. */
  24675. lastPrice?: SeriesLastPriceOptionsObject;
  24676. /**
  24677. * (Highstock) The line marks the last price from visible range of points.
  24678. */
  24679. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  24680. /**
  24681. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  24682. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  24683. * the ends and bends.
  24684. */
  24685. linecap?: SeriesLinecapValue;
  24686. /**
  24687. * (Highcharts, Highstock) Pixel width of the graph line.
  24688. */
  24689. lineWidth?: number;
  24690. /**
  24691. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  24692. * based on. Required for this indicator.
  24693. */
  24694. linkedTo?: string;
  24695. /**
  24696. * (Highstock) Options for the point markers of line-like series. Properties
  24697. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  24698. * appearance of the markers. Other series types, like column series, don't
  24699. * have markers, but have visual options on the series level instead.
  24700. *
  24701. * In styled mode, the markers can be styled with the `.highcharts-point`,
  24702. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  24703. */
  24704. marker?: PointMarkerOptionsObject;
  24705. /**
  24706. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  24707. * If not set, it will be based on a technical indicator type and default
  24708. * params.
  24709. */
  24710. name?: string;
  24711. /**
  24712. * (Highstock) The color for the parts of the graph or points that are below
  24713. * the threshold. Note that `zones` takes precedence over the negative
  24714. * color. Using `negativeColor` is equivalent to applying a zone with value
  24715. * of 0.
  24716. */
  24717. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  24718. /**
  24719. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  24720. * dataLabels.
  24721. */
  24722. opacity?: number;
  24723. /**
  24724. * (Highstock) Paramters used in calculation of regression series' points.
  24725. */
  24726. params?: PlotAtrParamsOptions;
  24727. /**
  24728. * (Highstock) Properties for each single point.
  24729. */
  24730. point?: PlotSeriesPointOptions;
  24731. /**
  24732. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  24733. * individual series. Overrides the chart wide configuration.
  24734. */
  24735. pointDescriptionFormatter?: Function;
  24736. /**
  24737. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  24738. * true, the checkbox next to the series name in the legend will be checked
  24739. * for a selected series.
  24740. */
  24741. selected?: boolean;
  24742. /**
  24743. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  24744. * the shadow can be an object configuration containing `color`, `offsetX`,
  24745. * `offsetY`, `opacity` and `width`.
  24746. */
  24747. shadow?: (boolean|ShadowOptionsObject);
  24748. /**
  24749. * (Highstock) If true, a checkbox is displayed next to the legend item to
  24750. * allow selecting the series. The state of the checkbox is determined by
  24751. * the `selected` option.
  24752. */
  24753. showCheckbox?: boolean;
  24754. /**
  24755. * (Highstock) Whether to display this particular series or series type in
  24756. * the legend. Standalone series are shown in legend by default, and linked
  24757. * series are not. Since v7.2.0 it is possible to show series that use
  24758. * colorAxis by setting this option to `true`.
  24759. */
  24760. showInLegend?: boolean;
  24761. /**
  24762. * (Highstock) If set to `true`, the accessibility module will skip past the
  24763. * points in this series for keyboard navigation.
  24764. */
  24765. skipKeyboardNavigation?: boolean;
  24766. /**
  24767. * (Highcharts, Highstock) When this is true, the series will not cause the
  24768. * Y axis to cross the zero plane (or threshold option) unless the data
  24769. * actually crosses the plane.
  24770. *
  24771. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  24772. * make the Y axis show negative values according to the `minPadding`
  24773. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  24774. */
  24775. softThreshold?: boolean;
  24776. states?: SeriesStatesOptionsObject;
  24777. /**
  24778. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  24779. * values are `left`, `center` and `right`.
  24780. */
  24781. step?: OptionsStepValue;
  24782. /**
  24783. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  24784. * event on a series isn't triggered until the mouse moves over another
  24785. * series, or out of the plot area. When false, the `mouseOut` event on a
  24786. * series is triggered when the mouse leaves the area around the series'
  24787. * graph or markers. This also implies the tooltip when not shared. When
  24788. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  24789. * be hidden when moving the mouse between series. Defaults to true for line
  24790. * and area type series, but to false for columns, pies etc.
  24791. *
  24792. * **Note:** The boost module will force this option because of technical
  24793. * limitations.
  24794. */
  24795. stickyTracking?: boolean;
  24796. /**
  24797. * (Highcharts, Highstock) The threshold, also called zero level or base
  24798. * level. For line type series this is only used in conjunction with
  24799. * negativeColor.
  24800. */
  24801. threshold?: number;
  24802. /**
  24803. * (Highstock) A configuration object for the tooltip rendering of each
  24804. * single series. Properties are inherited from tooltip, but only the
  24805. * following properties can be defined on a series level.
  24806. */
  24807. tooltip?: SeriesTooltipOptionsObject;
  24808. /**
  24809. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  24810. * is longer than this, only one dimensional arrays of numbers, or two
  24811. * dimensional arrays with x and y values are allowed. Also, only the first
  24812. * point is tested, and the rest are assumed to be the same format. This
  24813. * saves expensive data checking and indexing in long series. Set it to `0`
  24814. * disable.
  24815. *
  24816. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  24817. * two dimensional arrays are allowed.
  24818. */
  24819. turboThreshold?: number;
  24820. /**
  24821. * (Highstock) Set the initial visibility of the series.
  24822. */
  24823. visible?: boolean;
  24824. /**
  24825. * (Highmaps) Define the z index of the series.
  24826. */
  24827. zIndex?: number;
  24828. /**
  24829. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  24830. */
  24831. zoneAxis?: string;
  24832. /**
  24833. * (Highcharts, Highstock) An array defining zones within a series. Zones
  24834. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  24835. * the `zoneAxis` option. The zone definitions have to be in ascending order
  24836. * regarding to the value.
  24837. *
  24838. * In styled mode, the color zones are styled with the
  24839. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  24840. * option (view live demo).
  24841. */
  24842. zones?: Array<SeriesZonesOptionsObject>;
  24843. }
  24844. /**
  24845. * (Highstock) Paramters used in calculation of regression series' points.
  24846. */
  24847. export interface PlotAtrParamsOptions {
  24848. /**
  24849. * (Highstock) The point index which indicator calculations will base. For
  24850. * example using OHLC data, index=2 means the indicator will be calculated
  24851. * using Low values.
  24852. */
  24853. index?: number;
  24854. /**
  24855. * (Highstock) The base period for indicator calculations. This is the
  24856. * number of data points which are taken into account for the indicator
  24857. * calculations.
  24858. */
  24859. period?: number;
  24860. }
  24861. /**
  24862. * (Highcharts) Enable or disable the initial animation when a series is
  24863. * displayed. The animation can also be set as a configuration object. Please
  24864. * note that this option only applies to the initial animation of the series
  24865. * itself. For other animations, see chart.animation and the animation parameter
  24866. * under the API methods. The following properties are supported:
  24867. *
  24868. * - `defer`: The animation delay time in milliseconds.
  24869. *
  24870. * - `duration`: The duration of the animation in milliseconds.
  24871. *
  24872. * - `easing`: Can be a string reference to an easing function set on the `Math`
  24873. * object or a function. See the _Custom easing function_ demo below.
  24874. *
  24875. * Due to poor performance, animation is disabled in old IE browsers for several
  24876. * chart types.
  24877. */
  24878. export interface PlotBarAnimationOptions {
  24879. defer?: number;
  24880. }
  24881. /**
  24882. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  24883. * animation when a series is displayed for the `dataLabels`. The animation can
  24884. * also be set as a configuration object. Please note that this option only
  24885. * applies to the initial animation. For other animations, see chart.animation
  24886. * and the animation parameter under the API methods. The following properties
  24887. * are supported:
  24888. *
  24889. * - `defer`: The animation delay time in milliseconds.
  24890. */
  24891. export interface PlotBarDataLabelsAnimationOptions {
  24892. /**
  24893. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  24894. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  24895. * inherits defer time from the series.animation.defer.
  24896. */
  24897. defer?: number;
  24898. }
  24899. /**
  24900. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  24901. * appearing next to each data point.
  24902. *
  24903. * Since v6.2.0, multiple data labels can be applied to each single point by
  24904. * defining them as an array of configs.
  24905. *
  24906. * In styled mode, the data labels can be styled with the
  24907. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  24908. * example).
  24909. */
  24910. export interface PlotBarDataLabelsOptions {
  24911. /**
  24912. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  24913. * compared to the point. If `right`, the right side of the label should be
  24914. * touching the point. For points with an extent, like columns, the
  24915. * alignments also dictates how to align it inside the box, as given with
  24916. * the inside option. Can be one of `left`, `center` or `right`.
  24917. */
  24918. align?: string;
  24919. /**
  24920. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  24921. * overlap. To make the labels less sensitive for overlapping, the
  24922. * dataLabels.padding can be set to 0.
  24923. */
  24924. allowOverlap?: boolean;
  24925. /**
  24926. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  24927. * animation when a series is displayed for the `dataLabels`. The animation
  24928. * can also be set as a configuration object. Please note that this option
  24929. * only applies to the initial animation. For other animations, see
  24930. * chart.animation and the animation parameter under the API methods. The
  24931. * following properties are supported:
  24932. *
  24933. * - `defer`: The animation delay time in milliseconds.
  24934. */
  24935. animation?: (boolean|PlotBarDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  24936. /**
  24937. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  24938. * for the data label.
  24939. */
  24940. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  24941. /**
  24942. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  24943. * label. Defaults to `undefined`.
  24944. */
  24945. borderColor?: (ColorString|GradientColorObject|PatternObject);
  24946. /**
  24947. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  24948. * the data label.
  24949. */
  24950. borderRadius?: number;
  24951. /**
  24952. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  24953. * the data label.
  24954. */
  24955. borderWidth?: number;
  24956. /**
  24957. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  24958. * Particularly in styled mode, this can be used to give each series' or
  24959. * point's data label unique styling. In addition to this option, a default
  24960. * color class name is added so that we can give the labels a contrast text
  24961. * shadow.
  24962. */
  24963. className?: string;
  24964. /**
  24965. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  24966. * labels. Defaults to `undefined`. For certain series types, like column or
  24967. * map, the data labels can be drawn inside the points. In this case the
  24968. * data label will be drawn with maximum contrast by default. Additionally,
  24969. * it will be given a `text-outline` style with the opposite color, to
  24970. * further increase the contrast. This can be overridden by setting the
  24971. * `text-outline` style to `none` in the `dataLabels.style` option.
  24972. */
  24973. color?: (ColorString|GradientColorObject|PatternObject);
  24974. /**
  24975. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  24976. * are outside the plot area. By default, the data label is moved inside the
  24977. * plot area according to the overflow option.
  24978. */
  24979. crop?: boolean;
  24980. /**
  24981. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  24982. * labels until the initial series animation has finished. Setting to
  24983. * `false` renders the data label immediately. If set to `true` inherits the
  24984. * defer time set in plotOptions.series.animation.
  24985. */
  24986. defer?: boolean;
  24987. /**
  24988. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  24989. * labels.
  24990. */
  24991. enabled?: boolean;
  24992. /**
  24993. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  24994. * of which data labels to display. The declarative filter is designed for
  24995. * use when callback functions are not available, like when the chart
  24996. * options require a pure JSON structure or for use with graphical editors.
  24997. * For programmatic control, use the `formatter` instead, and return
  24998. * `undefined` to disable a single data label.
  24999. */
  25000. filter?: DataLabelsFilterOptionsObject;
  25001. /**
  25002. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  25003. * label. Available variables are the same as for `formatter`.
  25004. */
  25005. format?: string;
  25006. /**
  25007. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  25008. * format the data label. Note that if a `format` is defined, the format
  25009. * takes precedence and the formatter is ignored.
  25010. */
  25011. formatter?: DataLabelsFormatterCallbackFunction;
  25012. /**
  25013. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  25014. * columns or map areas, whether to align the data label inside the box or
  25015. * to the actual value point. Defaults to `false` in most cases, `true` in
  25016. * stacked columns.
  25017. */
  25018. inside?: boolean;
  25019. /**
  25020. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  25021. * of null. Works analogously to format. `nullFormat` can be applied only to
  25022. * series which support displaying null points.
  25023. */
  25024. nullFormat?: (boolean|string);
  25025. /**
  25026. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  25027. * that defines formatting for points with the value of null. Works
  25028. * analogously to formatter. `nullPointFormatter` can be applied only to
  25029. * series which support displaying null points.
  25030. */
  25031. nullFormatter?: DataLabelsFormatterCallbackFunction;
  25032. /**
  25033. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  25034. * flow outside the plot area. The default is `"justify"`, which aligns them
  25035. * inside the plot area. For columns and bars, this means it will be moved
  25036. * inside the bar. To display data labels outside the plot area, set `crop`
  25037. * to `false` and `overflow` to `"allow"`.
  25038. */
  25039. overflow?: DataLabelsOverflowValue;
  25040. /**
  25041. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  25042. * the `backgroundColor` is set, this is the padding within the box.
  25043. */
  25044. padding?: number;
  25045. /**
  25046. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  25047. * points. If `center` alignment is not possible, it defaults to `right`.
  25048. */
  25049. position?: AlignValue;
  25050. /**
  25051. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  25052. * that due to a more complex structure, backgrounds, borders and padding
  25053. * will be lost on a rotated data label.
  25054. */
  25055. rotation?: number;
  25056. /**
  25057. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  25058. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  25059. * an object configuration containing `color`, `offsetX`, `offsetY`,
  25060. * `opacity` and `width`.
  25061. */
  25062. shadow?: (boolean|ShadowOptionsObject);
  25063. /**
  25064. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  25065. * the border around the label. Symbols are predefined functions on the
  25066. * Renderer object.
  25067. */
  25068. shape?: string;
  25069. /**
  25070. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  25071. * default `color` setting is `"contrast"`, which is a pseudo color that
  25072. * Highcharts picks up and applies the maximum contrast to the underlying
  25073. * point item, for example the bar in a bar chart.
  25074. *
  25075. * The `textOutline` is a pseudo property that applies an outline of the
  25076. * given width with the given color, which by default is the maximum
  25077. * contrast to the text. So a bright text color will result in a black text
  25078. * outline for maximum readability on a mixed background. In some cases,
  25079. * especially with grayscale text, the text outline doesn't work well, in
  25080. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  25081. * is true, the `textOutline` will not be picked up. In this, case, the same
  25082. * effect can be acheived through the `text-shadow` CSS property.
  25083. *
  25084. * For some series types, where each point has an extent, like for example
  25085. * tree maps, the data label may overflow the point. There are two
  25086. * strategies for handling overflow. By default, the text will wrap to
  25087. * multiple lines. The other strategy is to set `style.textOverflow` to
  25088. * `ellipsis`, which will keep the text on one line plus it will break
  25089. * inside long words.
  25090. */
  25091. style?: CSSObject;
  25092. /**
  25093. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  25094. * should follow marker's shape. Border and background are disabled for a
  25095. * label that follows a path.
  25096. *
  25097. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  25098. * to true will disable this option.
  25099. */
  25100. textPath?: DataLabelsTextPathOptionsObject;
  25101. /**
  25102. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  25103. * the labels.
  25104. */
  25105. useHTML?: boolean;
  25106. /**
  25107. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  25108. * label. Can be one of `top`, `middle` or `bottom`. The default value
  25109. * depends on the data, for instance in a column chart, the label is above
  25110. * positive values and below negative values.
  25111. */
  25112. verticalAlign?: string;
  25113. /**
  25114. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  25115. * label relative to the point in pixels.
  25116. */
  25117. x?: number;
  25118. /**
  25119. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  25120. * label relative to the point in pixels.
  25121. */
  25122. y?: number;
  25123. /**
  25124. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  25125. * The default Z index puts it above the series. Use a Z index of 2 to
  25126. * display it behind the series.
  25127. */
  25128. z?: number;
  25129. }
  25130. /**
  25131. * (Highcharts, Highstock) Options for the series data sorting.
  25132. */
  25133. export interface PlotBarDataSortingOptions {
  25134. /**
  25135. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  25136. * Use xAxis.reversed to change the sorting order.
  25137. */
  25138. enabled?: boolean;
  25139. /**
  25140. * (Highcharts, Highstock) Whether to allow matching points by name in an
  25141. * update. If this option is disabled, points will be matched by order.
  25142. */
  25143. matchByName?: boolean;
  25144. /**
  25145. * (Highcharts, Highstock) Determines what data value should be used to sort
  25146. * by.
  25147. */
  25148. sortKey?: string;
  25149. }
  25150. /**
  25151. * (Highcharts) Style options for the guide box. The guide box has one state by
  25152. * default, the `default` state.
  25153. */
  25154. export interface PlotBarDragDropGuideBoxOptions {
  25155. /**
  25156. * (Highcharts) Style options for the guide box default state.
  25157. */
  25158. default?: DragDropGuideBoxOptionsObject;
  25159. }
  25160. /**
  25161. * (Highcharts) A bar series is a special type of column series where the
  25162. * columns are horizontal.
  25163. *
  25164. * In TypeScript the type option must always be set.
  25165. *
  25166. * Configuration options for the series are given in three levels:
  25167. *
  25168. * 1. Options for all series in a chart are defined in the plotOptions.series
  25169. * object.
  25170. *
  25171. * 2. Options for all `bar` series are defined in plotOptions.bar.
  25172. *
  25173. * 3. Options for one single series are given in the series instance array. (see
  25174. * online documentation for example)
  25175. */
  25176. export interface PlotBarOptions {
  25177. /**
  25178. * (Highcharts) Accessibility options for a series.
  25179. */
  25180. accessibility?: SeriesAccessibilityOptionsObject;
  25181. /**
  25182. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  25183. * rendered. If `true`, areas which don't correspond to a data point, are
  25184. * rendered as `null` points. If `false`, those areas are skipped.
  25185. */
  25186. allAreas?: boolean;
  25187. /**
  25188. * (Highcharts) Allow this series' points to be selected by clicking on the
  25189. * graphic (columns, point markers, pie slices, map areas etc).
  25190. *
  25191. * The selected points can be handled by point select and unselect events,
  25192. * or collectively by the getSelectedPoints function.
  25193. *
  25194. * And alternative way of selecting points is through dragging.
  25195. */
  25196. allowPointSelect?: boolean;
  25197. /**
  25198. * (Highcharts) Enable or disable the initial animation when a series is
  25199. * displayed. The animation can also be set as a configuration object.
  25200. * Please note that this option only applies to the initial animation of the
  25201. * series itself. For other animations, see chart.animation and the
  25202. * animation parameter under the API methods. The following properties are
  25203. * supported:
  25204. *
  25205. * - `defer`: The animation delay time in milliseconds.
  25206. *
  25207. * - `duration`: The duration of the animation in milliseconds.
  25208. *
  25209. * - `easing`: Can be a string reference to an easing function set on the
  25210. * `Math` object or a function. See the _Custom easing function_ demo below.
  25211. *
  25212. * Due to poor performance, animation is disabled in old IE browsers for
  25213. * several chart types.
  25214. */
  25215. animation?: (boolean|PlotBarAnimationOptions|Partial<AnimationOptionsObject>);
  25216. /**
  25217. * (Highcharts) For some series, there is a limit that shuts down initial
  25218. * animation by default when the total number of points in the chart is too
  25219. * high. For example, for a column chart and its derivatives, animation does
  25220. * not run if there is more than 250 points totally. To disable this cap,
  25221. * set `animationLimit` to `Infinity`.
  25222. */
  25223. animationLimit?: number;
  25224. /**
  25225. * (Highcharts) Sets the color blending in the boost module.
  25226. */
  25227. boostBlending?: OptionsBoostBlendingValue;
  25228. /**
  25229. * (Highcharts) Set the point threshold for when a series should enter boost
  25230. * mode.
  25231. *
  25232. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  25233. * there are 2000 or more points in the series.
  25234. *
  25235. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  25236. * it to 1 will force boosting.
  25237. *
  25238. * Note that the cropThreshold also affects this setting. When zooming in on
  25239. * a series that has fewer points than the `cropThreshold`, all points are
  25240. * rendered although outside the visible plot area, and the `boostThreshold`
  25241. * won't take effect.
  25242. */
  25243. boostThreshold?: number;
  25244. /**
  25245. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  25246. * column or bar.
  25247. *
  25248. * In styled mode, the border stroke can be set with the `.highcharts-point`
  25249. * rule.
  25250. */
  25251. borderColor?: (ColorString|GradientColorObject|PatternObject);
  25252. /**
  25253. * (Highcharts, Highstock, Gantt) The corner radius of the border
  25254. * surrounding each column or bar.
  25255. */
  25256. borderRadius?: number;
  25257. /**
  25258. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  25259. * column or bar. Defaults to `1` when there is room for a border, but to
  25260. * `0` when the columns are so dense that a border would cover the next
  25261. * column.
  25262. *
  25263. * In styled mode, the stroke width can be set with the `.highcharts-point`
  25264. * rule.
  25265. */
  25266. borderWidth?: number;
  25267. /**
  25268. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  25269. * the category, ignoring null or missing points. When `false`, space will
  25270. * be reserved for null or missing points.
  25271. */
  25272. centerInCategory?: boolean;
  25273. /**
  25274. * (Highcharts) An additional class name to apply to the series' graphical
  25275. * elements. This option does not replace default class names of the
  25276. * graphical element.
  25277. */
  25278. className?: string;
  25279. /**
  25280. * (Highcharts) Disable this option to allow series rendering in the whole
  25281. * plotting area.
  25282. *
  25283. * **Note:** Clipping should be always enabled when chart.zoomType is set
  25284. */
  25285. clip?: boolean;
  25286. /**
  25287. * (Highcharts) The main color of the series. In line type series it applies
  25288. * to the line and the point markers unless otherwise specified. In bar type
  25289. * series it applies to the bars unless a color is specified per point. The
  25290. * default value is pulled from the `options.colors` array.
  25291. *
  25292. * In styled mode, the color can be defined by the colorIndex option. Also,
  25293. * the series color can be set with the `.highcharts-series`,
  25294. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  25295. * `.highcharts-series-{n}` class, or individual classes given by the
  25296. * `className` option.
  25297. */
  25298. color?: (ColorString|GradientColorObject|PatternObject);
  25299. /**
  25300. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  25301. * this number defines which colorAxis the particular series is connected
  25302. * to. It refers to either the axis id or the index of the axis in the
  25303. * colorAxis array, with 0 being the first. Set this option to false to
  25304. * prevent a series from connecting to the default color axis.
  25305. *
  25306. * Since v7.2.0 the option can also be an axis id or an axis index instead
  25307. * of a boolean flag.
  25308. */
  25309. colorAxis?: (boolean|number|string);
  25310. /**
  25311. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  25312. * from the global colors or series-specific plotOptions.column.colors
  25313. * collections, this option determines whether the chart should receive one
  25314. * color per series or one color per point.
  25315. *
  25316. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  25317. * and instead this option gives the points individual color class names on
  25318. * the form `highcharts-color-{n}`.
  25319. */
  25320. colorByPoint?: boolean;
  25321. /**
  25322. * (Highcharts) Styled mode only. A specific color index to use for the
  25323. * series, so its graphic representations are given the class name
  25324. * `highcharts-color-{n}`.
  25325. */
  25326. colorIndex?: number;
  25327. /**
  25328. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  25329. * used to calculate point color if `colorAxis` is used. Requires to set
  25330. * `min` and `max` if some custom point property is used or if approximation
  25331. * for data grouping is set to `'sum'`.
  25332. */
  25333. colorKey?: string;
  25334. /**
  25335. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  25336. * color set to apply instead of the global colors when colorByPoint is
  25337. * true.
  25338. */
  25339. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  25340. /**
  25341. * (Highstock) Compare the values of the series against the first non-null,
  25342. * non- zero value in the visible range. The y axis will show percentage or
  25343. * absolute change depending on whether `compare` is set to `"percent"` or
  25344. * `"value"`. When this is applied to multiple series, it allows comparing
  25345. * the development of the series against each other. Adds a `change` field
  25346. * to every point object.
  25347. */
  25348. compare?: string;
  25349. /**
  25350. * (Highstock) When compare is `percent`, this option dictates whether to
  25351. * use 0 or 100 as the base of comparison.
  25352. */
  25353. compareBase?: (0|100);
  25354. /**
  25355. * (Highstock) Defines if comparison should start from the first point
  25356. * within the visible range or should start from the first point **before**
  25357. * the range.
  25358. *
  25359. * In other words, this flag determines if first point within the visible
  25360. * range will have 0% (`compareStart=true`) or should have been already
  25361. * calculated according to the previous point (`compareStart=false`).
  25362. */
  25363. compareStart?: boolean;
  25364. /**
  25365. * (Gantt) Override Pathfinder connector options for a series. Requires
  25366. * Highcharts Gantt to be loaded.
  25367. */
  25368. connectors?: SeriesConnectorsOptionsObject;
  25369. /**
  25370. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  25371. * rounded to its nearest pixel in order to render sharp on screen. In some
  25372. * cases, when there are a lot of densely packed columns, this leads to
  25373. * visible difference in column widths or distance between columns. In these
  25374. * cases, setting `crisp` to `false` may look better, even though each
  25375. * column is rendered blurry.
  25376. */
  25377. crisp?: boolean;
  25378. /**
  25379. * (Highcharts, Highstock, Gantt) When the series contains less points than
  25380. * the crop threshold, all points are drawn, event if the points fall
  25381. * outside the visible plot area at the current zoom. The advantage of
  25382. * drawing all points (including markers and columns), is that animation is
  25383. * performed on updates. On the other hand, when the series contains more
  25384. * points than the crop threshold, the series data is cropped to only
  25385. * contain points that fall within the plot area. The advantage of cropping
  25386. * away invisible points is to increase performance on large series.
  25387. */
  25388. cropThreshold?: number;
  25389. /**
  25390. * (Highcharts) You can set the cursor to "pointer" if you have click events
  25391. * attached to the series, to signal to the user that the points and lines
  25392. * can be clicked.
  25393. *
  25394. * In styled mode, the series cursor can be set with the same classes as
  25395. * listed under series.color.
  25396. */
  25397. cursor?: (string|CursorValue);
  25398. /**
  25399. * (Highcharts) A reserved subspace to store options and values for
  25400. * customized functionality. Here you can add additional data for your own
  25401. * event callbacks and formatter callbacks.
  25402. */
  25403. custom?: Dictionary<any>;
  25404. /**
  25405. * (Highcharts) Name of the dash style to use for the graph, or for some
  25406. * series types the outline of each shape.
  25407. *
  25408. * In styled mode, the stroke dash-array can be set with the same classes as
  25409. * listed under series.color.
  25410. */
  25411. dashStyle?: DashStyleValue;
  25412. /**
  25413. * (Highstock) Data grouping is the concept of sampling the data values into
  25414. * larger blocks in order to ease readability and increase performance of
  25415. * the JavaScript charts. Highstock by default applies data grouping when
  25416. * the points become closer than a certain pixel value, determined by the
  25417. * `groupPixelWidth` option.
  25418. *
  25419. * If data grouping is applied, the grouping information of grouped points
  25420. * can be read from the Point.dataGroup. If point options other than the
  25421. * data itself are set, for example `name` or `color` or custom properties,
  25422. * the grouping logic doesn't know how to group it. In this case the options
  25423. * of the first point instance are copied over to the group point. This can
  25424. * be altered through a custom `approximation` callback function.
  25425. */
  25426. dataGrouping?: DataGroupingOptionsObject;
  25427. /**
  25428. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  25429. * labels, appearing next to each data point.
  25430. *
  25431. * Since v6.2.0, multiple data labels can be applied to each single point by
  25432. * defining them as an array of configs.
  25433. *
  25434. * In styled mode, the data labels can be styled with the
  25435. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  25436. * (see example).
  25437. */
  25438. dataLabels?: (PlotBarDataLabelsOptions|Array<PlotBarDataLabelsOptions>);
  25439. /**
  25440. * (Highcharts, Highstock) Options for the series data sorting.
  25441. */
  25442. dataSorting?: (DataSortingOptionsObject|PlotBarDataSortingOptions);
  25443. /**
  25444. * (Highcharts) Depth of the columns in a 3D column chart.
  25445. */
  25446. depth?: number;
  25447. /**
  25448. * (Highcharts) A description of the series to add to the screen reader
  25449. * information about the series.
  25450. */
  25451. description?: string;
  25452. /**
  25453. * (Highcharts) The draggable-points module allows points to be moved around
  25454. * or modified in the chart. In addition to the options mentioned under the
  25455. * `dragDrop` API structure, the module fires three events, point.dragStart,
  25456. * point.drag and point.drop.
  25457. */
  25458. dragDrop?: SeriesDragDropOptionsObject;
  25459. /**
  25460. * (Highcharts) 3D columns only. The color of the edges. Similar to
  25461. * `borderColor`, except it defaults to the same color as the column.
  25462. */
  25463. edgeColor?: ColorString;
  25464. /**
  25465. * (Highcharts) 3D columns only. The width of the colored edges.
  25466. */
  25467. edgeWidth?: number;
  25468. /**
  25469. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  25470. * This includes point tooltips and click events on graphs and points. For
  25471. * large datasets it improves performance.
  25472. */
  25473. enableMouseTracking?: boolean;
  25474. /**
  25475. * (Highcharts) General event handlers for the series items. These event
  25476. * hooks can also be attached to the series at run time using the
  25477. * `Highcharts.addEvent` function.
  25478. */
  25479. events?: SeriesEventsOptionsObject;
  25480. /**
  25481. * (Highcharts) Determines whether the series should look for the nearest
  25482. * point in both dimensions or just the x-dimension when hovering the
  25483. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  25484. * series. If the data has duplicate x-values, it is recommended to set this
  25485. * to `'xy'` to allow hovering over all points.
  25486. *
  25487. * Applies only to series types using nearest neighbor search (not direct
  25488. * hover) for tooltip.
  25489. */
  25490. findNearestPointBy?: OptionsFindNearestPointByValue;
  25491. /**
  25492. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  25493. * chart width or only the zoomed area when zooming in on parts of the X
  25494. * axis. By default, the Y axis adjusts to the min and max of the visible
  25495. * data. Cartesian series only.
  25496. */
  25497. getExtremesFromAll?: boolean;
  25498. /**
  25499. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  25500. * let them render independent of each other. Non-grouped columns will be
  25501. * laid out individually and overlap each other.
  25502. */
  25503. grouping?: boolean;
  25504. /**
  25505. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  25506. * axis units.
  25507. */
  25508. groupPadding?: number;
  25509. /**
  25510. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  25511. */
  25512. groupZPadding?: number;
  25513. /**
  25514. * (Highcharts) When set to `false` will prevent the series data from being
  25515. * included in any form of data export.
  25516. *
  25517. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  25518. * `includeInCSVExport`.
  25519. */
  25520. includeInDataExport?: boolean;
  25521. /**
  25522. * (Highmaps) What property to join the `mapData` to the value data. For
  25523. * example, if joinBy is "code", the mapData items with a specific code is
  25524. * merged into the data with the same code. For maps loaded from GeoJSON,
  25525. * the keys may be held in each point's `properties` object.
  25526. *
  25527. * The joinBy option can also be an array of two values, where the first
  25528. * points to a key in the `mapData`, and the second points to another key in
  25529. * the `data`.
  25530. *
  25531. * When joinBy is `null`, the map items are joined by their position in the
  25532. * array, which performs much better in maps with many data points. This is
  25533. * the recommended option if you are printing more than a thousand data
  25534. * points and have a backend that can preprocess the data into a parallel
  25535. * array of the mapData.
  25536. */
  25537. joinBy?: (string|Array<string>);
  25538. /**
  25539. * (Highcharts) An array specifying which option maps to which key in the
  25540. * data point array. This makes it convenient to work with unstructured data
  25541. * arrays from different sources.
  25542. */
  25543. keys?: Array<string>;
  25544. /**
  25545. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  25546. * series as possible in a natural way, seeking to avoid other series. The
  25547. * goal of this feature is to make the chart more easily readable, like if a
  25548. * human designer placed the labels in the optimal position.
  25549. *
  25550. * The series labels currently work with series types having a `graph` or an
  25551. * `area`.
  25552. */
  25553. label?: SeriesLabelOptionsObject;
  25554. /**
  25555. * (Highstock) The line marks the last price from all points.
  25556. */
  25557. lastPrice?: SeriesLastPriceOptionsObject;
  25558. /**
  25559. * (Highstock) The line marks the last price from visible range of points.
  25560. */
  25561. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  25562. /**
  25563. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  25564. * Additionally, the value can be ":previous" to link to the previous
  25565. * series. When two series are linked, only the first one appears in the
  25566. * legend. Toggling the visibility of this also toggles the linked series.
  25567. *
  25568. * If master series uses data sorting and linked series does not have its
  25569. * own sorting definition, the linked series will be sorted in the same
  25570. * order as the master one.
  25571. */
  25572. linkedTo?: string;
  25573. /**
  25574. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  25575. * column, translated to the height of a bar in a bar chart. This prevents
  25576. * the columns from becoming too wide when there is a small number of points
  25577. * in the chart.
  25578. */
  25579. maxPointWidth?: number;
  25580. /**
  25581. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  25582. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  25583. * to zero) point, set the minimal point length to a pixel value like 3\. In
  25584. * stacked column charts, minPointLength might not be respected for tightly
  25585. * packed values.
  25586. */
  25587. minPointLength?: number;
  25588. /**
  25589. * (Highstock) Options for the corresponding navigator series if
  25590. * `showInNavigator` is `true` for this series. Available options are the
  25591. * same as any series, documented at plotOptions and series.
  25592. *
  25593. * These options are merged with options in navigator.series, and will take
  25594. * precedence if the same option is defined both places.
  25595. */
  25596. navigatorOptions?: PlotSeriesOptions;
  25597. /**
  25598. * (Highcharts) The color for the parts of the graph or points that are
  25599. * below the threshold. Note that `zones` takes precedence over the negative
  25600. * color. Using `negativeColor` is equivalent to applying a zone with value
  25601. * of 0.
  25602. */
  25603. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  25604. /**
  25605. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  25606. * dataLabels.
  25607. */
  25608. opacity?: number;
  25609. /**
  25610. * (Highcharts) Properties for each single point.
  25611. */
  25612. point?: PlotSeriesPointOptions;
  25613. /**
  25614. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  25615. * individual series. Overrides the chart wide configuration.
  25616. */
  25617. pointDescriptionFormatter?: Function;
  25618. /**
  25619. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  25620. * a series, `pointInterval` defines the interval of the x values. For
  25621. * example, if a series contains one value every decade starting from year
  25622. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  25623. * `pointInterval` is set in milliseconds.
  25624. *
  25625. * It can be also be combined with `pointIntervalUnit` to draw irregular
  25626. * time intervals.
  25627. *
  25628. * Please note that this options applies to the _series data_, not the
  25629. * interval of the axis ticks, which is independent.
  25630. */
  25631. pointInterval?: number;
  25632. /**
  25633. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  25634. * setting the pointInterval to irregular time units, `day`, `month` and
  25635. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  25636. * also takes the DST crossover into consideration when dealing with local
  25637. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  25638. * months, 10 years etc.
  25639. *
  25640. * Please note that this options applies to the _series data_, not the
  25641. * interval of the axis ticks, which is independent.
  25642. */
  25643. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  25644. /**
  25645. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  25646. * axis units.
  25647. */
  25648. pointPadding?: number;
  25649. /**
  25650. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  25651. * `number`.
  25652. *
  25653. * In a column chart, when pointPlacement is `"on"`, the point will not
  25654. * create any padding of the X axis. In a polar column chart this means that
  25655. * the first column points directly north. If the pointPlacement is
  25656. * `"between"`, the columns will be laid out between ticks. This is useful
  25657. * for example for visualising an amount between two points in time or in a
  25658. * certain sector of a polar chart.
  25659. *
  25660. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  25661. * is on the axis value, -0.5 is between this value and the previous, and
  25662. * 0.5 is between this value and the next. Unlike the textual options,
  25663. * numeric point placement options won't affect axis padding.
  25664. *
  25665. * Note that pointPlacement needs a pointRange to work. For column series
  25666. * this is computed, but for line-type series it needs to be set.
  25667. *
  25668. * For the `xrange` series type and gantt charts, if the Y axis is a
  25669. * category axis, the `pointPlacement` applies to the Y axis rather than the
  25670. * (typically datetime) X axis.
  25671. *
  25672. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  25673. */
  25674. pointPlacement?: (number|string);
  25675. /**
  25676. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  25677. * for. This determines the width of the column. On a categorized axis, the
  25678. * range will be 1 by default (one category unit). On linear and datetime
  25679. * axes, the range will be computed as the distance between the two closest
  25680. * data points.
  25681. *
  25682. * The default `null` means it is computed automatically, but this option
  25683. * can be used to override the automatic value.
  25684. *
  25685. * This option is set by default to 1 if data sorting is enabled.
  25686. */
  25687. pointRange?: (number|null);
  25688. /**
  25689. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  25690. * a series, pointStart defines on what value to start. For example, if a
  25691. * series contains one yearly value starting from 1945, set pointStart to
  25692. * 1945.
  25693. */
  25694. pointStart?: number;
  25695. /**
  25696. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  25697. * each column or bar point. When `null`, the width is calculated from the
  25698. * `pointPadding` and `groupPadding`. The width effects the dimension that
  25699. * is not based on the point value. For column series it is the hoizontal
  25700. * length and for bar series it is the vertical length.
  25701. */
  25702. pointWidth?: number;
  25703. /**
  25704. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  25705. * true, the checkbox next to the series name in the legend will be checked
  25706. * for a selected series.
  25707. */
  25708. selected?: boolean;
  25709. /**
  25710. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  25711. * the shadow can be an object configuration containing `color`, `offsetX`,
  25712. * `offsetY`, `opacity` and `width`.
  25713. */
  25714. shadow?: (boolean|ShadowOptionsObject);
  25715. /**
  25716. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  25717. * allow selecting the series. The state of the checkbox is determined by
  25718. * the `selected` option.
  25719. */
  25720. showCheckbox?: boolean;
  25721. /**
  25722. * (Highcharts) Whether to display this particular series or series type in
  25723. * the legend. Standalone series are shown in legend by default, and linked
  25724. * series are not. Since v7.2.0 it is possible to show series that use
  25725. * colorAxis by setting this option to `true`.
  25726. */
  25727. showInLegend?: boolean;
  25728. /**
  25729. * (Highstock) Whether or not to show the series in the navigator. Takes
  25730. * precedence over navigator.baseSeries if defined.
  25731. */
  25732. showInNavigator?: boolean;
  25733. /**
  25734. * (Highcharts) If set to `true`, the accessibility module will skip past
  25735. * the points in this series for keyboard navigation.
  25736. */
  25737. skipKeyboardNavigation?: boolean;
  25738. /**
  25739. * (Highcharts, Highstock) When this is true, the series will not cause the
  25740. * Y axis to cross the zero plane (or threshold option) unless the data
  25741. * actually crosses the plane.
  25742. *
  25743. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  25744. * make the Y axis show negative values according to the `minPadding`
  25745. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  25746. */
  25747. softThreshold?: boolean;
  25748. /**
  25749. * (Highcharts, Highstock) Whether to stack the values of each series on top
  25750. * of each other. Possible values are `undefined` to disable, `"normal"` to
  25751. * stack by value or `"percent"`.
  25752. *
  25753. * When stacking is enabled, data must be sorted in ascending X order.
  25754. *
  25755. * Some stacking options are related to specific series types. In the
  25756. * streamgraph series type, the stacking option is set to `"stream"`. The
  25757. * second one is `"overlap"`, which only applies to waterfall series.
  25758. */
  25759. stacking?: OptionsStackingValue;
  25760. states?: SeriesStatesOptionsObject;
  25761. /**
  25762. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  25763. * event on a series isn't triggered until the mouse moves over another
  25764. * series, or out of the plot area. When false, the `mouseOut` event on a
  25765. * series is triggered when the mouse leaves the area around the series'
  25766. * graph or markers. This also implies the tooltip when not shared. When
  25767. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  25768. * be hidden when moving the mouse between series. Defaults to true for line
  25769. * and area type series, but to false for columns, pies etc.
  25770. *
  25771. * **Note:** The boost module will force this option because of technical
  25772. * limitations.
  25773. */
  25774. stickyTracking?: boolean;
  25775. /**
  25776. * (Highcharts) The Y axis value to serve as the base for the columns, for
  25777. * distinguishing between values above and below a threshold. If `null`, the
  25778. * columns extend from the padding Y axis minimum.
  25779. */
  25780. threshold?: (number|null);
  25781. /**
  25782. * (Highcharts) A configuration object for the tooltip rendering of each
  25783. * single series. Properties are inherited from tooltip, but only the
  25784. * following properties can be defined on a series level.
  25785. */
  25786. tooltip?: SeriesTooltipOptionsObject;
  25787. /**
  25788. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  25789. * is longer than this, only one dimensional arrays of numbers, or two
  25790. * dimensional arrays with x and y values are allowed. Also, only the first
  25791. * point is tested, and the rest are assumed to be the same format. This
  25792. * saves expensive data checking and indexing in long series. Set it to `0`
  25793. * disable.
  25794. *
  25795. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  25796. * two dimensional arrays are allowed.
  25797. */
  25798. turboThreshold?: number;
  25799. /**
  25800. * (Highcharts) Set the initial visibility of the series.
  25801. */
  25802. visible?: boolean;
  25803. /**
  25804. * (Highmaps) Define the z index of the series.
  25805. */
  25806. zIndex?: number;
  25807. /**
  25808. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  25809. */
  25810. zoneAxis?: string;
  25811. /**
  25812. * (Highcharts, Highstock) An array defining zones within a series. Zones
  25813. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  25814. * the `zoneAxis` option. The zone definitions have to be in ascending order
  25815. * regarding to the value.
  25816. *
  25817. * In styled mode, the color zones are styled with the
  25818. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  25819. * option (view live demo).
  25820. */
  25821. zones?: Array<SeriesZonesOptionsObject>;
  25822. }
  25823. /**
  25824. * (Highstock) Enable or disable the initial animation when a series is
  25825. * displayed. The animation can also be set as a configuration object. Please
  25826. * note that this option only applies to the initial animation of the series
  25827. * itself. For other animations, see chart.animation and the animation parameter
  25828. * under the API methods. The following properties are supported:
  25829. *
  25830. * - `defer`: The animation delay time in milliseconds.
  25831. *
  25832. * - `duration`: The duration of the animation in milliseconds.
  25833. *
  25834. * - `easing`: Can be a string reference to an easing function set on the `Math`
  25835. * object or a function. See the _Custom easing function_ demo below.
  25836. *
  25837. * Due to poor performance, animation is disabled in old IE browsers for several
  25838. * chart types.
  25839. */
  25840. export interface PlotBbAnimationOptions {
  25841. defer?: number;
  25842. }
  25843. /**
  25844. * (Highstock) Bottom line options.
  25845. */
  25846. export interface PlotBbBottomLineOptions {
  25847. /**
  25848. * (Highstock) Styles for a bottom line.
  25849. */
  25850. styles?: PlotBbBottomLineStylesOptions;
  25851. }
  25852. /**
  25853. * (Highstock) Styles for a bottom line.
  25854. */
  25855. export interface PlotBbBottomLineStylesOptions {
  25856. /**
  25857. * (Highstock) Color of the line. If not set, it's inherited from
  25858. * plotOptions.bb.color.
  25859. */
  25860. lineColor?: ColorString;
  25861. /**
  25862. * (Highstock) Pixel width of the line.
  25863. */
  25864. lineWidth?: number;
  25865. }
  25866. /**
  25867. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  25868. * animation when a series is displayed for the `dataLabels`. The animation can
  25869. * also be set as a configuration object. Please note that this option only
  25870. * applies to the initial animation. For other animations, see chart.animation
  25871. * and the animation parameter under the API methods. The following properties
  25872. * are supported:
  25873. *
  25874. * - `defer`: The animation delay time in milliseconds.
  25875. */
  25876. export interface PlotBbDataLabelsAnimationOptions {
  25877. /**
  25878. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  25879. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  25880. * inherits defer time from the series.animation.defer.
  25881. */
  25882. defer?: number;
  25883. }
  25884. /**
  25885. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  25886. * appearing next to each data point.
  25887. *
  25888. * Since v6.2.0, multiple data labels can be applied to each single point by
  25889. * defining them as an array of configs.
  25890. *
  25891. * In styled mode, the data labels can be styled with the
  25892. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  25893. * example).
  25894. */
  25895. export interface PlotBbDataLabelsOptions {
  25896. /**
  25897. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  25898. * compared to the point. If `right`, the right side of the label should be
  25899. * touching the point. For points with an extent, like columns, the
  25900. * alignments also dictates how to align it inside the box, as given with
  25901. * the inside option. Can be one of `left`, `center` or `right`.
  25902. */
  25903. align?: (AlignValue|null);
  25904. /**
  25905. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  25906. * overlap. To make the labels less sensitive for overlapping, the
  25907. * dataLabels.padding can be set to 0.
  25908. */
  25909. allowOverlap?: boolean;
  25910. /**
  25911. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  25912. * animation when a series is displayed for the `dataLabels`. The animation
  25913. * can also be set as a configuration object. Please note that this option
  25914. * only applies to the initial animation. For other animations, see
  25915. * chart.animation and the animation parameter under the API methods. The
  25916. * following properties are supported:
  25917. *
  25918. * - `defer`: The animation delay time in milliseconds.
  25919. */
  25920. animation?: (boolean|PlotBbDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  25921. /**
  25922. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  25923. * for the data label.
  25924. */
  25925. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  25926. /**
  25927. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  25928. * label. Defaults to `undefined`.
  25929. */
  25930. borderColor?: (ColorString|GradientColorObject|PatternObject);
  25931. /**
  25932. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  25933. * the data label.
  25934. */
  25935. borderRadius?: number;
  25936. /**
  25937. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  25938. * the data label.
  25939. */
  25940. borderWidth?: number;
  25941. /**
  25942. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  25943. * Particularly in styled mode, this can be used to give each series' or
  25944. * point's data label unique styling. In addition to this option, a default
  25945. * color class name is added so that we can give the labels a contrast text
  25946. * shadow.
  25947. */
  25948. className?: string;
  25949. /**
  25950. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  25951. * labels. Defaults to `undefined`. For certain series types, like column or
  25952. * map, the data labels can be drawn inside the points. In this case the
  25953. * data label will be drawn with maximum contrast by default. Additionally,
  25954. * it will be given a `text-outline` style with the opposite color, to
  25955. * further increase the contrast. This can be overridden by setting the
  25956. * `text-outline` style to `none` in the `dataLabels.style` option.
  25957. */
  25958. color?: (ColorString|GradientColorObject|PatternObject);
  25959. /**
  25960. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  25961. * are outside the plot area. By default, the data label is moved inside the
  25962. * plot area according to the overflow option.
  25963. */
  25964. crop?: boolean;
  25965. /**
  25966. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  25967. * labels until the initial series animation has finished. Setting to
  25968. * `false` renders the data label immediately. If set to `true` inherits the
  25969. * defer time set in plotOptions.series.animation.
  25970. */
  25971. defer?: boolean;
  25972. /**
  25973. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  25974. * labels.
  25975. */
  25976. enabled?: boolean;
  25977. /**
  25978. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  25979. * of which data labels to display. The declarative filter is designed for
  25980. * use when callback functions are not available, like when the chart
  25981. * options require a pure JSON structure or for use with graphical editors.
  25982. * For programmatic control, use the `formatter` instead, and return
  25983. * `undefined` to disable a single data label.
  25984. */
  25985. filter?: DataLabelsFilterOptionsObject;
  25986. /**
  25987. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  25988. * label. Available variables are the same as for `formatter`.
  25989. */
  25990. format?: string;
  25991. /**
  25992. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  25993. * format the data label. Note that if a `format` is defined, the format
  25994. * takes precedence and the formatter is ignored.
  25995. */
  25996. formatter?: DataLabelsFormatterCallbackFunction;
  25997. /**
  25998. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  25999. * columns or map areas, whether to align the data label inside the box or
  26000. * to the actual value point. Defaults to `false` in most cases, `true` in
  26001. * stacked columns.
  26002. */
  26003. inside?: boolean;
  26004. /**
  26005. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  26006. * of null. Works analogously to format. `nullFormat` can be applied only to
  26007. * series which support displaying null points.
  26008. */
  26009. nullFormat?: (boolean|string);
  26010. /**
  26011. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  26012. * that defines formatting for points with the value of null. Works
  26013. * analogously to formatter. `nullPointFormatter` can be applied only to
  26014. * series which support displaying null points.
  26015. */
  26016. nullFormatter?: DataLabelsFormatterCallbackFunction;
  26017. /**
  26018. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  26019. * flow outside the plot area. The default is `"justify"`, which aligns them
  26020. * inside the plot area. For columns and bars, this means it will be moved
  26021. * inside the bar. To display data labels outside the plot area, set `crop`
  26022. * to `false` and `overflow` to `"allow"`.
  26023. */
  26024. overflow?: DataLabelsOverflowValue;
  26025. /**
  26026. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  26027. * the `backgroundColor` is set, this is the padding within the box.
  26028. */
  26029. padding?: number;
  26030. /**
  26031. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  26032. * points. If `center` alignment is not possible, it defaults to `right`.
  26033. */
  26034. position?: AlignValue;
  26035. /**
  26036. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  26037. * that due to a more complex structure, backgrounds, borders and padding
  26038. * will be lost on a rotated data label.
  26039. */
  26040. rotation?: number;
  26041. /**
  26042. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  26043. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  26044. * an object configuration containing `color`, `offsetX`, `offsetY`,
  26045. * `opacity` and `width`.
  26046. */
  26047. shadow?: (boolean|ShadowOptionsObject);
  26048. /**
  26049. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  26050. * the border around the label. Symbols are predefined functions on the
  26051. * Renderer object.
  26052. */
  26053. shape?: string;
  26054. /**
  26055. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  26056. * default `color` setting is `"contrast"`, which is a pseudo color that
  26057. * Highcharts picks up and applies the maximum contrast to the underlying
  26058. * point item, for example the bar in a bar chart.
  26059. *
  26060. * The `textOutline` is a pseudo property that applies an outline of the
  26061. * given width with the given color, which by default is the maximum
  26062. * contrast to the text. So a bright text color will result in a black text
  26063. * outline for maximum readability on a mixed background. In some cases,
  26064. * especially with grayscale text, the text outline doesn't work well, in
  26065. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  26066. * is true, the `textOutline` will not be picked up. In this, case, the same
  26067. * effect can be acheived through the `text-shadow` CSS property.
  26068. *
  26069. * For some series types, where each point has an extent, like for example
  26070. * tree maps, the data label may overflow the point. There are two
  26071. * strategies for handling overflow. By default, the text will wrap to
  26072. * multiple lines. The other strategy is to set `style.textOverflow` to
  26073. * `ellipsis`, which will keep the text on one line plus it will break
  26074. * inside long words.
  26075. */
  26076. style?: CSSObject;
  26077. /**
  26078. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  26079. * should follow marker's shape. Border and background are disabled for a
  26080. * label that follows a path.
  26081. *
  26082. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  26083. * to true will disable this option.
  26084. */
  26085. textPath?: DataLabelsTextPathOptionsObject;
  26086. /**
  26087. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  26088. * the labels.
  26089. */
  26090. useHTML?: boolean;
  26091. /**
  26092. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  26093. * label. Can be one of `top`, `middle` or `bottom`. The default value
  26094. * depends on the data, for instance in a column chart, the label is above
  26095. * positive values and below negative values.
  26096. */
  26097. verticalAlign?: (VerticalAlignValue|null);
  26098. /**
  26099. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  26100. * label relative to the point in pixels.
  26101. */
  26102. x?: number;
  26103. /**
  26104. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  26105. * label relative to the point in pixels.
  26106. */
  26107. y?: number;
  26108. /**
  26109. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  26110. * The default Z index puts it above the series. Use a Z index of 2 to
  26111. * display it behind the series.
  26112. */
  26113. z?: number;
  26114. }
  26115. /**
  26116. * (Highcharts, Highstock) Options for the series data sorting.
  26117. */
  26118. export interface PlotBbDataSortingOptions {
  26119. /**
  26120. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  26121. * Use xAxis.reversed to change the sorting order.
  26122. */
  26123. enabled?: boolean;
  26124. /**
  26125. * (Highcharts, Highstock) Whether to allow matching points by name in an
  26126. * update. If this option is disabled, points will be matched by order.
  26127. */
  26128. matchByName?: boolean;
  26129. /**
  26130. * (Highcharts, Highstock) Determines what data value should be used to sort
  26131. * by.
  26132. */
  26133. sortKey?: string;
  26134. }
  26135. /**
  26136. * (Highstock) Bollinger bands (BB). This series requires the `linkedTo` option
  26137. * to be set and should be loaded after the `stock/indicators/indicators.js`
  26138. * file.
  26139. *
  26140. * In TypeScript the type option must always be set.
  26141. *
  26142. * Configuration options for the series are given in three levels:
  26143. *
  26144. * 1. Options for all series in a chart are defined in the plotOptions.series
  26145. * object.
  26146. *
  26147. * 2. Options for all `bb` series are defined in plotOptions.bb.
  26148. *
  26149. * 3. Options for one single series are given in the series instance array. (see
  26150. * online documentation for example)
  26151. */
  26152. export interface PlotBbOptions {
  26153. /**
  26154. * (Highstock) Accessibility options for a series.
  26155. */
  26156. accessibility?: SeriesAccessibilityOptionsObject;
  26157. /**
  26158. * (Highstock) Allow this series' points to be selected by clicking on the
  26159. * graphic (columns, point markers, pie slices, map areas etc).
  26160. *
  26161. * The selected points can be handled by point select and unselect events,
  26162. * or collectively by the getSelectedPoints function.
  26163. *
  26164. * And alternative way of selecting points is through dragging.
  26165. */
  26166. allowPointSelect?: boolean;
  26167. /**
  26168. * (Highstock) Enable or disable the initial animation when a series is
  26169. * displayed. The animation can also be set as a configuration object.
  26170. * Please note that this option only applies to the initial animation of the
  26171. * series itself. For other animations, see chart.animation and the
  26172. * animation parameter under the API methods. The following properties are
  26173. * supported:
  26174. *
  26175. * - `defer`: The animation delay time in milliseconds.
  26176. *
  26177. * - `duration`: The duration of the animation in milliseconds.
  26178. *
  26179. * - `easing`: Can be a string reference to an easing function set on the
  26180. * `Math` object or a function. See the _Custom easing function_ demo below.
  26181. *
  26182. * Due to poor performance, animation is disabled in old IE browsers for
  26183. * several chart types.
  26184. */
  26185. animation?: (boolean|PlotBbAnimationOptions|Partial<AnimationOptionsObject>);
  26186. /**
  26187. * (Highstock) For some series, there is a limit that shuts down initial
  26188. * animation by default when the total number of points in the chart is too
  26189. * high. For example, for a column chart and its derivatives, animation does
  26190. * not run if there is more than 250 points totally. To disable this cap,
  26191. * set `animationLimit` to `Infinity`.
  26192. */
  26193. animationLimit?: number;
  26194. /**
  26195. * (Highstock) Sets the color blending in the boost module.
  26196. */
  26197. boostBlending?: OptionsBoostBlendingValue;
  26198. /**
  26199. * (Highstock) Set the point threshold for when a series should enter boost
  26200. * mode.
  26201. *
  26202. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  26203. * there are 2000 or more points in the series.
  26204. *
  26205. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  26206. * it to 1 will force boosting.
  26207. *
  26208. * Note that the cropThreshold also affects this setting. When zooming in on
  26209. * a series that has fewer points than the `cropThreshold`, all points are
  26210. * rendered although outside the visible plot area, and the `boostThreshold`
  26211. * won't take effect.
  26212. */
  26213. boostThreshold?: number;
  26214. /**
  26215. * (Highmaps) The border color of the map areas.
  26216. *
  26217. * In styled mode, the border stroke is given in the `.highcharts-point`
  26218. * class.
  26219. */
  26220. borderColor?: (ColorString|GradientColorObject|PatternObject);
  26221. /**
  26222. * (Highmaps) The border width of each map area.
  26223. *
  26224. * In styled mode, the border stroke width is given in the
  26225. * `.highcharts-point` class.
  26226. */
  26227. borderWidth?: number;
  26228. /**
  26229. * (Highstock) Bottom line options.
  26230. */
  26231. bottomLine?: PlotBbBottomLineOptions;
  26232. /**
  26233. * (Highstock) An additional class name to apply to the series' graphical
  26234. * elements. This option does not replace default class names of the
  26235. * graphical element.
  26236. */
  26237. className?: string;
  26238. /**
  26239. * (Highstock) Disable this option to allow series rendering in the whole
  26240. * plotting area.
  26241. *
  26242. * **Note:** Clipping should be always enabled when chart.zoomType is set
  26243. */
  26244. clip?: boolean;
  26245. /**
  26246. * (Highstock) The main color of the series. In line type series it applies
  26247. * to the line and the point markers unless otherwise specified. In bar type
  26248. * series it applies to the bars unless a color is specified per point. The
  26249. * default value is pulled from the `options.colors` array.
  26250. *
  26251. * In styled mode, the color can be defined by the colorIndex option. Also,
  26252. * the series color can be set with the `.highcharts-series`,
  26253. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  26254. * `.highcharts-series-{n}` class, or individual classes given by the
  26255. * `className` option.
  26256. */
  26257. color?: (ColorString|GradientColorObject|PatternObject);
  26258. /**
  26259. * (Highstock) Styled mode only. A specific color index to use for the
  26260. * series, so its graphic representations are given the class name
  26261. * `highcharts-color-{n}`.
  26262. */
  26263. colorIndex?: number;
  26264. /**
  26265. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  26266. * used to calculate point color if `colorAxis` is used. Requires to set
  26267. * `min` and `max` if some custom point property is used or if approximation
  26268. * for data grouping is set to `'sum'`.
  26269. */
  26270. colorKey?: string;
  26271. /**
  26272. * (Highstock) Compare the values of the series against the first non-null,
  26273. * non- zero value in the visible range. The y axis will show percentage or
  26274. * absolute change depending on whether `compare` is set to `"percent"` or
  26275. * `"value"`. When this is applied to multiple series, it allows comparing
  26276. * the development of the series against each other. Adds a `change` field
  26277. * to every point object.
  26278. */
  26279. compare?: string;
  26280. /**
  26281. * (Highstock) When compare is `percent`, this option dictates whether to
  26282. * use 0 or 100 as the base of comparison.
  26283. */
  26284. compareBase?: (0|100);
  26285. /**
  26286. * (Highstock) Defines if comparison should start from the first point
  26287. * within the visible range or should start from the first point **before**
  26288. * the range.
  26289. *
  26290. * In other words, this flag determines if first point within the visible
  26291. * range will have 0% (`compareStart=true`) or should have been already
  26292. * calculated according to the previous point (`compareStart=false`).
  26293. */
  26294. compareStart?: boolean;
  26295. /**
  26296. * (Highstock) Whether to compare indicator to the main series values or
  26297. * indicator values.
  26298. */
  26299. compareToMain?: boolean;
  26300. /**
  26301. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  26302. * series plot across the extremes.
  26303. */
  26304. connectEnds?: boolean;
  26305. /**
  26306. * (Highcharts, Highstock) Whether to connect a graph line across null
  26307. * points, or render a gap between the two points on either side of the
  26308. * null.
  26309. */
  26310. connectNulls?: boolean;
  26311. /**
  26312. * (Gantt) Override Pathfinder connector options for a series. Requires
  26313. * Highcharts Gantt to be loaded.
  26314. */
  26315. connectors?: SeriesConnectorsOptionsObject;
  26316. /**
  26317. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  26318. * rounded to its nearest pixel in order to render sharp on screen. In some
  26319. * cases, when there are a lot of densely packed columns, this leads to
  26320. * visible difference in column widths or distance between columns. In these
  26321. * cases, setting `crisp` to `false` may look better, even though each
  26322. * column is rendered blurry.
  26323. */
  26324. crisp?: boolean;
  26325. /**
  26326. * (Highcharts, Highstock) When the series contains less points than the
  26327. * crop threshold, all points are drawn, even if the points fall outside the
  26328. * visible plot area at the current zoom. The advantage of drawing all
  26329. * points (including markers and columns), is that animation is performed on
  26330. * updates. On the other hand, when the series contains more points than the
  26331. * crop threshold, the series data is cropped to only contain points that
  26332. * fall within the plot area. The advantage of cropping away invisible
  26333. * points is to increase performance on large series.
  26334. */
  26335. cropThreshold?: number;
  26336. /**
  26337. * (Highstock) You can set the cursor to "pointer" if you have click events
  26338. * attached to the series, to signal to the user that the points and lines
  26339. * can be clicked.
  26340. *
  26341. * In styled mode, the series cursor can be set with the same classes as
  26342. * listed under series.color.
  26343. */
  26344. cursor?: (string|CursorValue);
  26345. /**
  26346. * (Highstock) A reserved subspace to store options and values for
  26347. * customized functionality. Here you can add additional data for your own
  26348. * event callbacks and formatter callbacks.
  26349. */
  26350. custom?: Dictionary<any>;
  26351. /**
  26352. * (Highstock) Name of the dash style to use for the graph, or for some
  26353. * series types the outline of each shape.
  26354. *
  26355. * In styled mode, the stroke dash-array can be set with the same classes as
  26356. * listed under series.color.
  26357. */
  26358. dashStyle?: DashStyleValue;
  26359. /**
  26360. * (Highstock) Data grouping is the concept of sampling the data values into
  26361. * larger blocks in order to ease readability and increase performance of
  26362. * the JavaScript charts. Highstock by default applies data grouping when
  26363. * the points become closer than a certain pixel value, determined by the
  26364. * `groupPixelWidth` option.
  26365. *
  26366. * If data grouping is applied, the grouping information of grouped points
  26367. * can be read from the Point.dataGroup. If point options other than the
  26368. * data itself are set, for example `name` or `color` or custom properties,
  26369. * the grouping logic doesn't know how to group it. In this case the options
  26370. * of the first point instance are copied over to the group point. This can
  26371. * be altered through a custom `approximation` callback function.
  26372. */
  26373. dataGrouping?: DataGroupingOptionsObject;
  26374. /**
  26375. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  26376. * labels, appearing next to each data point.
  26377. *
  26378. * Since v6.2.0, multiple data labels can be applied to each single point by
  26379. * defining them as an array of configs.
  26380. *
  26381. * In styled mode, the data labels can be styled with the
  26382. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  26383. * (see example).
  26384. */
  26385. dataLabels?: (PlotBbDataLabelsOptions|Array<PlotBbDataLabelsOptions>);
  26386. /**
  26387. * (Highcharts, Highstock) Options for the series data sorting.
  26388. */
  26389. dataSorting?: (DataSortingOptionsObject|PlotBbDataSortingOptions);
  26390. /**
  26391. * (Highstock) A description of the series to add to the screen reader
  26392. * information about the series.
  26393. */
  26394. description?: string;
  26395. /**
  26396. * (Highstock) Enable or disable the mouse tracking for a specific series.
  26397. * This includes point tooltips and click events on graphs and points. For
  26398. * large datasets it improves performance.
  26399. */
  26400. enableMouseTracking?: boolean;
  26401. /**
  26402. * (Highstock) General event handlers for the series items. These event
  26403. * hooks can also be attached to the series at run time using the
  26404. * `Highcharts.addEvent` function.
  26405. */
  26406. events?: SeriesEventsOptionsObject;
  26407. /**
  26408. * (Highstock) Determines whether the series should look for the nearest
  26409. * point in both dimensions or just the x-dimension when hovering the
  26410. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  26411. * series. If the data has duplicate x-values, it is recommended to set this
  26412. * to `'xy'` to allow hovering over all points.
  26413. *
  26414. * Applies only to series types using nearest neighbor search (not direct
  26415. * hover) for tooltip.
  26416. */
  26417. findNearestPointBy?: OptionsFindNearestPointByValue;
  26418. /**
  26419. * (Highstock) Defines when to display a gap in the graph, together with the
  26420. * gapUnit option.
  26421. *
  26422. * In case when `dataGrouping` is enabled, points can be grouped into a
  26423. * larger time span. This can make the grouped points to have a greater
  26424. * distance than the absolute value of `gapSize` property, which will result
  26425. * in disappearing graph completely. To prevent this situation the mentioned
  26426. * distance between grouped points is used instead of previously defined
  26427. * `gapSize`.
  26428. *
  26429. * In practice, this option is most often used to visualize gaps in time
  26430. * series. In a stock chart, intraday data is available for daytime hours,
  26431. * while gaps will appear in nights and weekends.
  26432. */
  26433. gapSize?: number;
  26434. /**
  26435. * (Highstock) Together with gapSize, this option defines where to draw gaps
  26436. * in the graph.
  26437. *
  26438. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  26439. * if the distance between two points is greater than 5 times that of the
  26440. * two closest points, the graph will be broken.
  26441. *
  26442. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  26443. * values, which on a datetime axis is milliseconds. This also applies to
  26444. * the navigator series that inherits gap options from the base series.
  26445. */
  26446. gapUnit?: OptionsGapUnitValue;
  26447. /**
  26448. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  26449. * chart width or only the zoomed area when zooming in on parts of the X
  26450. * axis. By default, the Y axis adjusts to the min and max of the visible
  26451. * data. Cartesian series only.
  26452. */
  26453. getExtremesFromAll?: boolean;
  26454. /**
  26455. * (Highstock) When set to `false` will prevent the series data from being
  26456. * included in any form of data export.
  26457. *
  26458. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  26459. * `includeInCSVExport`.
  26460. */
  26461. includeInDataExport?: boolean;
  26462. /**
  26463. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  26464. * series as possible in a natural way, seeking to avoid other series. The
  26465. * goal of this feature is to make the chart more easily readable, like if a
  26466. * human designer placed the labels in the optimal position.
  26467. *
  26468. * The series labels currently work with series types having a `graph` or an
  26469. * `area`.
  26470. */
  26471. label?: SeriesLabelOptionsObject;
  26472. /**
  26473. * (Highstock) The line marks the last price from all points.
  26474. */
  26475. lastPrice?: SeriesLastPriceOptionsObject;
  26476. /**
  26477. * (Highstock) The line marks the last price from visible range of points.
  26478. */
  26479. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  26480. /**
  26481. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  26482. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  26483. * the ends and bends.
  26484. */
  26485. linecap?: SeriesLinecapValue;
  26486. /**
  26487. * (Highcharts, Highstock) Pixel width of the graph line.
  26488. */
  26489. lineWidth?: number;
  26490. /**
  26491. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  26492. * based on. Required for this indicator.
  26493. */
  26494. linkedTo?: string;
  26495. /**
  26496. * (Highstock) Options for the point markers of line-like series. Properties
  26497. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  26498. * appearance of the markers. Other series types, like column series, don't
  26499. * have markers, but have visual options on the series level instead.
  26500. *
  26501. * In styled mode, the markers can be styled with the `.highcharts-point`,
  26502. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  26503. */
  26504. marker?: PointMarkerOptionsObject;
  26505. /**
  26506. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  26507. * If not set, it will be based on a technical indicator type and default
  26508. * params.
  26509. */
  26510. name?: string;
  26511. /**
  26512. * (Highstock) The color for the parts of the graph or points that are below
  26513. * the threshold. Note that `zones` takes precedence over the negative
  26514. * color. Using `negativeColor` is equivalent to applying a zone with value
  26515. * of 0.
  26516. */
  26517. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  26518. /**
  26519. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  26520. * dataLabels.
  26521. */
  26522. opacity?: number;
  26523. /**
  26524. * (Highstock) Paramters used in calculation of regression series' points.
  26525. */
  26526. params?: PlotBbParamsOptions;
  26527. /**
  26528. * (Highstock) Properties for each single point.
  26529. */
  26530. point?: PlotSeriesPointOptions;
  26531. /**
  26532. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  26533. * individual series. Overrides the chart wide configuration.
  26534. */
  26535. pointDescriptionFormatter?: Function;
  26536. /**
  26537. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  26538. * true, the checkbox next to the series name in the legend will be checked
  26539. * for a selected series.
  26540. */
  26541. selected?: boolean;
  26542. /**
  26543. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  26544. * the shadow can be an object configuration containing `color`, `offsetX`,
  26545. * `offsetY`, `opacity` and `width`.
  26546. */
  26547. shadow?: (boolean|ShadowOptionsObject);
  26548. /**
  26549. * (Highstock) If true, a checkbox is displayed next to the legend item to
  26550. * allow selecting the series. The state of the checkbox is determined by
  26551. * the `selected` option.
  26552. */
  26553. showCheckbox?: boolean;
  26554. /**
  26555. * (Highstock) Whether to display this particular series or series type in
  26556. * the legend. Standalone series are shown in legend by default, and linked
  26557. * series are not. Since v7.2.0 it is possible to show series that use
  26558. * colorAxis by setting this option to `true`.
  26559. */
  26560. showInLegend?: boolean;
  26561. /**
  26562. * (Highstock) If set to `true`, the accessibility module will skip past the
  26563. * points in this series for keyboard navigation.
  26564. */
  26565. skipKeyboardNavigation?: boolean;
  26566. /**
  26567. * (Highcharts, Highstock) When this is true, the series will not cause the
  26568. * Y axis to cross the zero plane (or threshold option) unless the data
  26569. * actually crosses the plane.
  26570. *
  26571. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  26572. * make the Y axis show negative values according to the `minPadding`
  26573. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  26574. */
  26575. softThreshold?: boolean;
  26576. states?: SeriesStatesOptionsObject;
  26577. /**
  26578. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  26579. * values are `left`, `center` and `right`.
  26580. */
  26581. step?: OptionsStepValue;
  26582. /**
  26583. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  26584. * event on a series isn't triggered until the mouse moves over another
  26585. * series, or out of the plot area. When false, the `mouseOut` event on a
  26586. * series is triggered when the mouse leaves the area around the series'
  26587. * graph or markers. This also implies the tooltip when not shared. When
  26588. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  26589. * be hidden when moving the mouse between series. Defaults to true for line
  26590. * and area type series, but to false for columns, pies etc.
  26591. *
  26592. * **Note:** The boost module will force this option because of technical
  26593. * limitations.
  26594. */
  26595. stickyTracking?: boolean;
  26596. /**
  26597. * (Highcharts, Highstock) The threshold, also called zero level or base
  26598. * level. For line type series this is only used in conjunction with
  26599. * negativeColor.
  26600. */
  26601. threshold?: number;
  26602. /**
  26603. * (Highstock) A configuration object for the tooltip rendering of each
  26604. * single series. Properties are inherited from tooltip, but only the
  26605. * following properties can be defined on a series level.
  26606. */
  26607. tooltip?: SeriesTooltipOptionsObject;
  26608. /**
  26609. * (Highstock) Top line options.
  26610. */
  26611. topLine?: PlotBbTopLineOptions;
  26612. /**
  26613. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  26614. * is longer than this, only one dimensional arrays of numbers, or two
  26615. * dimensional arrays with x and y values are allowed. Also, only the first
  26616. * point is tested, and the rest are assumed to be the same format. This
  26617. * saves expensive data checking and indexing in long series. Set it to `0`
  26618. * disable.
  26619. *
  26620. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  26621. * two dimensional arrays are allowed.
  26622. */
  26623. turboThreshold?: number;
  26624. /**
  26625. * (Highstock) Set the initial visibility of the series.
  26626. */
  26627. visible?: boolean;
  26628. /**
  26629. * (Highmaps) Define the z index of the series.
  26630. */
  26631. zIndex?: number;
  26632. /**
  26633. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  26634. */
  26635. zoneAxis?: string;
  26636. /**
  26637. * (Highcharts, Highstock) An array defining zones within a series. Zones
  26638. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  26639. * the `zoneAxis` option. The zone definitions have to be in ascending order
  26640. * regarding to the value.
  26641. *
  26642. * In styled mode, the color zones are styled with the
  26643. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  26644. * option (view live demo).
  26645. */
  26646. zones?: Array<SeriesZonesOptionsObject>;
  26647. }
  26648. /**
  26649. * (Highstock) Paramters used in calculation of regression series' points.
  26650. */
  26651. export interface PlotBbParamsOptions {
  26652. /**
  26653. * (Highstock) The point index which indicator calculations will base. For
  26654. * example using OHLC data, index=2 means the indicator will be calculated
  26655. * using Low values.
  26656. */
  26657. index?: number;
  26658. /**
  26659. * (Highstock) The base period for indicator calculations. This is the
  26660. * number of data points which are taken into account for the indicator
  26661. * calculations.
  26662. */
  26663. period?: number;
  26664. /**
  26665. * (Highstock) Standard deviation for top and bottom bands.
  26666. */
  26667. standardDeviation?: number;
  26668. }
  26669. /**
  26670. * (Highstock) Top line options.
  26671. */
  26672. export interface PlotBbTopLineOptions {
  26673. /**
  26674. * (Highstock) Styles for a bottom line.
  26675. */
  26676. styles?: PlotBbTopLineStylesOptions;
  26677. }
  26678. /**
  26679. * (Highstock) Styles for a bottom line.
  26680. */
  26681. export interface PlotBbTopLineStylesOptions {
  26682. /**
  26683. * (Highstock) Color of the line. If not set, it's inherited from
  26684. * plotOptions.bb.color.
  26685. */
  26686. lineColor?: ColorString;
  26687. /**
  26688. * (Highstock) Pixel width of the line.
  26689. */
  26690. lineWidth?: number;
  26691. }
  26692. /**
  26693. * (Highcharts) Enable or disable the initial animation when a series is
  26694. * displayed. The animation can also be set as a configuration object. Please
  26695. * note that this option only applies to the initial animation of the series
  26696. * itself. For other animations, see chart.animation and the animation parameter
  26697. * under the API methods. The following properties are supported:
  26698. *
  26699. * - `defer`: The animation delay time in milliseconds.
  26700. *
  26701. * - `duration`: The duration of the animation in milliseconds.
  26702. *
  26703. * - `easing`: Can be a string reference to an easing function set on the `Math`
  26704. * object or a function. See the _Custom easing function_ demo below.
  26705. *
  26706. * Due to poor performance, animation is disabled in old IE browsers for several
  26707. * chart types.
  26708. */
  26709. export interface PlotBellcurveAnimationOptions {
  26710. defer?: number;
  26711. }
  26712. /**
  26713. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  26714. * animation when a series is displayed for the `dataLabels`. The animation can
  26715. * also be set as a configuration object. Please note that this option only
  26716. * applies to the initial animation. For other animations, see chart.animation
  26717. * and the animation parameter under the API methods. The following properties
  26718. * are supported:
  26719. *
  26720. * - `defer`: The animation delay time in milliseconds.
  26721. */
  26722. export interface PlotBellcurveDataLabelsAnimationOptions {
  26723. /**
  26724. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  26725. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  26726. * inherits defer time from the series.animation.defer.
  26727. */
  26728. defer?: number;
  26729. }
  26730. /**
  26731. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  26732. * appearing next to each data point.
  26733. *
  26734. * Since v6.2.0, multiple data labels can be applied to each single point by
  26735. * defining them as an array of configs.
  26736. *
  26737. * In styled mode, the data labels can be styled with the
  26738. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  26739. * example).
  26740. */
  26741. export interface PlotBellcurveDataLabelsOptions {
  26742. /**
  26743. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  26744. * compared to the point. If `right`, the right side of the label should be
  26745. * touching the point. For points with an extent, like columns, the
  26746. * alignments also dictates how to align it inside the box, as given with
  26747. * the inside option. Can be one of `left`, `center` or `right`.
  26748. */
  26749. align?: (AlignValue|null);
  26750. /**
  26751. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  26752. * overlap. To make the labels less sensitive for overlapping, the
  26753. * dataLabels.padding can be set to 0.
  26754. */
  26755. allowOverlap?: boolean;
  26756. /**
  26757. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  26758. * animation when a series is displayed for the `dataLabels`. The animation
  26759. * can also be set as a configuration object. Please note that this option
  26760. * only applies to the initial animation. For other animations, see
  26761. * chart.animation and the animation parameter under the API methods. The
  26762. * following properties are supported:
  26763. *
  26764. * - `defer`: The animation delay time in milliseconds.
  26765. */
  26766. animation?: (boolean|PlotBellcurveDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  26767. /**
  26768. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  26769. * for the data label.
  26770. */
  26771. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  26772. /**
  26773. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  26774. * label. Defaults to `undefined`.
  26775. */
  26776. borderColor?: (ColorString|GradientColorObject|PatternObject);
  26777. /**
  26778. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  26779. * the data label.
  26780. */
  26781. borderRadius?: number;
  26782. /**
  26783. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  26784. * the data label.
  26785. */
  26786. borderWidth?: number;
  26787. /**
  26788. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  26789. * Particularly in styled mode, this can be used to give each series' or
  26790. * point's data label unique styling. In addition to this option, a default
  26791. * color class name is added so that we can give the labels a contrast text
  26792. * shadow.
  26793. */
  26794. className?: string;
  26795. /**
  26796. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  26797. * labels. Defaults to `undefined`. For certain series types, like column or
  26798. * map, the data labels can be drawn inside the points. In this case the
  26799. * data label will be drawn with maximum contrast by default. Additionally,
  26800. * it will be given a `text-outline` style with the opposite color, to
  26801. * further increase the contrast. This can be overridden by setting the
  26802. * `text-outline` style to `none` in the `dataLabels.style` option.
  26803. */
  26804. color?: (ColorString|GradientColorObject|PatternObject);
  26805. /**
  26806. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  26807. * are outside the plot area. By default, the data label is moved inside the
  26808. * plot area according to the overflow option.
  26809. */
  26810. crop?: boolean;
  26811. /**
  26812. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  26813. * labels until the initial series animation has finished. Setting to
  26814. * `false` renders the data label immediately. If set to `true` inherits the
  26815. * defer time set in plotOptions.series.animation.
  26816. */
  26817. defer?: boolean;
  26818. /**
  26819. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  26820. * labels.
  26821. */
  26822. enabled?: boolean;
  26823. /**
  26824. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  26825. * of which data labels to display. The declarative filter is designed for
  26826. * use when callback functions are not available, like when the chart
  26827. * options require a pure JSON structure or for use with graphical editors.
  26828. * For programmatic control, use the `formatter` instead, and return
  26829. * `undefined` to disable a single data label.
  26830. */
  26831. filter?: DataLabelsFilterOptionsObject;
  26832. /**
  26833. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  26834. * label. Available variables are the same as for `formatter`.
  26835. */
  26836. format?: string;
  26837. /**
  26838. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  26839. * format the data label. Note that if a `format` is defined, the format
  26840. * takes precedence and the formatter is ignored.
  26841. */
  26842. formatter?: DataLabelsFormatterCallbackFunction;
  26843. /**
  26844. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  26845. * columns or map areas, whether to align the data label inside the box or
  26846. * to the actual value point. Defaults to `false` in most cases, `true` in
  26847. * stacked columns.
  26848. */
  26849. inside?: boolean;
  26850. /**
  26851. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  26852. * of null. Works analogously to format. `nullFormat` can be applied only to
  26853. * series which support displaying null points.
  26854. */
  26855. nullFormat?: (boolean|string);
  26856. /**
  26857. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  26858. * that defines formatting for points with the value of null. Works
  26859. * analogously to formatter. `nullPointFormatter` can be applied only to
  26860. * series which support displaying null points.
  26861. */
  26862. nullFormatter?: DataLabelsFormatterCallbackFunction;
  26863. /**
  26864. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  26865. * flow outside the plot area. The default is `"justify"`, which aligns them
  26866. * inside the plot area. For columns and bars, this means it will be moved
  26867. * inside the bar. To display data labels outside the plot area, set `crop`
  26868. * to `false` and `overflow` to `"allow"`.
  26869. */
  26870. overflow?: DataLabelsOverflowValue;
  26871. /**
  26872. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  26873. * the `backgroundColor` is set, this is the padding within the box.
  26874. */
  26875. padding?: number;
  26876. /**
  26877. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  26878. * points. If `center` alignment is not possible, it defaults to `right`.
  26879. */
  26880. position?: AlignValue;
  26881. /**
  26882. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  26883. * that due to a more complex structure, backgrounds, borders and padding
  26884. * will be lost on a rotated data label.
  26885. */
  26886. rotation?: number;
  26887. /**
  26888. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  26889. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  26890. * an object configuration containing `color`, `offsetX`, `offsetY`,
  26891. * `opacity` and `width`.
  26892. */
  26893. shadow?: (boolean|ShadowOptionsObject);
  26894. /**
  26895. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  26896. * the border around the label. Symbols are predefined functions on the
  26897. * Renderer object.
  26898. */
  26899. shape?: string;
  26900. /**
  26901. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  26902. * default `color` setting is `"contrast"`, which is a pseudo color that
  26903. * Highcharts picks up and applies the maximum contrast to the underlying
  26904. * point item, for example the bar in a bar chart.
  26905. *
  26906. * The `textOutline` is a pseudo property that applies an outline of the
  26907. * given width with the given color, which by default is the maximum
  26908. * contrast to the text. So a bright text color will result in a black text
  26909. * outline for maximum readability on a mixed background. In some cases,
  26910. * especially with grayscale text, the text outline doesn't work well, in
  26911. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  26912. * is true, the `textOutline` will not be picked up. In this, case, the same
  26913. * effect can be acheived through the `text-shadow` CSS property.
  26914. *
  26915. * For some series types, where each point has an extent, like for example
  26916. * tree maps, the data label may overflow the point. There are two
  26917. * strategies for handling overflow. By default, the text will wrap to
  26918. * multiple lines. The other strategy is to set `style.textOverflow` to
  26919. * `ellipsis`, which will keep the text on one line plus it will break
  26920. * inside long words.
  26921. */
  26922. style?: CSSObject;
  26923. /**
  26924. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  26925. * should follow marker's shape. Border and background are disabled for a
  26926. * label that follows a path.
  26927. *
  26928. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  26929. * to true will disable this option.
  26930. */
  26931. textPath?: DataLabelsTextPathOptionsObject;
  26932. /**
  26933. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  26934. * the labels.
  26935. */
  26936. useHTML?: boolean;
  26937. /**
  26938. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  26939. * label. Can be one of `top`, `middle` or `bottom`. The default value
  26940. * depends on the data, for instance in a column chart, the label is above
  26941. * positive values and below negative values.
  26942. */
  26943. verticalAlign?: (VerticalAlignValue|null);
  26944. /**
  26945. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  26946. * label relative to the point in pixels.
  26947. */
  26948. x?: number;
  26949. /**
  26950. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  26951. * label relative to the point in pixels.
  26952. */
  26953. y?: number;
  26954. /**
  26955. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  26956. * The default Z index puts it above the series. Use a Z index of 2 to
  26957. * display it behind the series.
  26958. */
  26959. z?: number;
  26960. }
  26961. /**
  26962. * (Highcharts, Highstock) Options for the series data sorting.
  26963. */
  26964. export interface PlotBellcurveDataSortingOptions {
  26965. /**
  26966. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  26967. * Use xAxis.reversed to change the sorting order.
  26968. */
  26969. enabled?: boolean;
  26970. /**
  26971. * (Highcharts, Highstock) Whether to allow matching points by name in an
  26972. * update. If this option is disabled, points will be matched by order.
  26973. */
  26974. matchByName?: boolean;
  26975. /**
  26976. * (Highcharts, Highstock) Determines what data value should be used to sort
  26977. * by.
  26978. */
  26979. sortKey?: string;
  26980. }
  26981. /**
  26982. * (Highcharts) A bell curve is an areaspline series which represents the
  26983. * probability density function of the normal distribution. It calculates mean
  26984. * and standard deviation of the base series data and plots the curve according
  26985. * to the calculated parameters.
  26986. *
  26987. * In TypeScript the type option must always be set.
  26988. *
  26989. * Configuration options for the series are given in three levels:
  26990. *
  26991. * 1. Options for all series in a chart are defined in the plotOptions.series
  26992. * object.
  26993. *
  26994. * 2. Options for all `bellcurve` series are defined in plotOptions.bellcurve.
  26995. *
  26996. * 3. Options for one single series are given in the series instance array. (see
  26997. * online documentation for example)
  26998. */
  26999. export interface PlotBellcurveOptions {
  27000. /**
  27001. * (Highcharts) Accessibility options for a series.
  27002. */
  27003. accessibility?: SeriesAccessibilityOptionsObject;
  27004. /**
  27005. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  27006. * rendered. If `true`, areas which don't correspond to a data point, are
  27007. * rendered as `null` points. If `false`, those areas are skipped.
  27008. */
  27009. allAreas?: boolean;
  27010. /**
  27011. * (Highcharts) Allow this series' points to be selected by clicking on the
  27012. * graphic (columns, point markers, pie slices, map areas etc).
  27013. *
  27014. * The selected points can be handled by point select and unselect events,
  27015. * or collectively by the getSelectedPoints function.
  27016. *
  27017. * And alternative way of selecting points is through dragging.
  27018. */
  27019. allowPointSelect?: boolean;
  27020. /**
  27021. * (Highcharts) Enable or disable the initial animation when a series is
  27022. * displayed. The animation can also be set as a configuration object.
  27023. * Please note that this option only applies to the initial animation of the
  27024. * series itself. For other animations, see chart.animation and the
  27025. * animation parameter under the API methods. The following properties are
  27026. * supported:
  27027. *
  27028. * - `defer`: The animation delay time in milliseconds.
  27029. *
  27030. * - `duration`: The duration of the animation in milliseconds.
  27031. *
  27032. * - `easing`: Can be a string reference to an easing function set on the
  27033. * `Math` object or a function. See the _Custom easing function_ demo below.
  27034. *
  27035. * Due to poor performance, animation is disabled in old IE browsers for
  27036. * several chart types.
  27037. */
  27038. animation?: (boolean|PlotBellcurveAnimationOptions|Partial<AnimationOptionsObject>);
  27039. /**
  27040. * (Highcharts) For some series, there is a limit that shuts down initial
  27041. * animation by default when the total number of points in the chart is too
  27042. * high. For example, for a column chart and its derivatives, animation does
  27043. * not run if there is more than 250 points totally. To disable this cap,
  27044. * set `animationLimit` to `Infinity`.
  27045. */
  27046. animationLimit?: number;
  27047. /**
  27048. * (Highmaps) The border color of the map areas.
  27049. *
  27050. * In styled mode, the border stroke is given in the `.highcharts-point`
  27051. * class.
  27052. */
  27053. borderColor?: (ColorString|GradientColorObject|PatternObject);
  27054. /**
  27055. * (Highmaps) The border width of each map area.
  27056. *
  27057. * In styled mode, the border stroke width is given in the
  27058. * `.highcharts-point` class.
  27059. */
  27060. borderWidth?: number;
  27061. /**
  27062. * (Highcharts) An additional class name to apply to the series' graphical
  27063. * elements. This option does not replace default class names of the
  27064. * graphical element.
  27065. */
  27066. className?: string;
  27067. /**
  27068. * (Highcharts) Disable this option to allow series rendering in the whole
  27069. * plotting area.
  27070. *
  27071. * **Note:** Clipping should be always enabled when chart.zoomType is set
  27072. */
  27073. clip?: boolean;
  27074. /**
  27075. * (Highcharts) The main color of the series. In line type series it applies
  27076. * to the line and the point markers unless otherwise specified. In bar type
  27077. * series it applies to the bars unless a color is specified per point. The
  27078. * default value is pulled from the `options.colors` array.
  27079. *
  27080. * In styled mode, the color can be defined by the colorIndex option. Also,
  27081. * the series color can be set with the `.highcharts-series`,
  27082. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  27083. * `.highcharts-series-{n}` class, or individual classes given by the
  27084. * `className` option.
  27085. */
  27086. color?: (ColorString|GradientColorObject|PatternObject);
  27087. /**
  27088. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  27089. * this number defines which colorAxis the particular series is connected
  27090. * to. It refers to either the axis id or the index of the axis in the
  27091. * colorAxis array, with 0 being the first. Set this option to false to
  27092. * prevent a series from connecting to the default color axis.
  27093. *
  27094. * Since v7.2.0 the option can also be an axis id or an axis index instead
  27095. * of a boolean flag.
  27096. */
  27097. colorAxis?: (boolean|number|string);
  27098. /**
  27099. * (Highcharts) Styled mode only. A specific color index to use for the
  27100. * series, so its graphic representations are given the class name
  27101. * `highcharts-color-{n}`.
  27102. */
  27103. colorIndex?: number;
  27104. /**
  27105. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  27106. * used to calculate point color if `colorAxis` is used. Requires to set
  27107. * `min` and `max` if some custom point property is used or if approximation
  27108. * for data grouping is set to `'sum'`.
  27109. */
  27110. colorKey?: string;
  27111. /**
  27112. * (Highstock) Compare the values of the series against the first non-null,
  27113. * non- zero value in the visible range. The y axis will show percentage or
  27114. * absolute change depending on whether `compare` is set to `"percent"` or
  27115. * `"value"`. When this is applied to multiple series, it allows comparing
  27116. * the development of the series against each other. Adds a `change` field
  27117. * to every point object.
  27118. */
  27119. compare?: string;
  27120. /**
  27121. * (Highstock) When compare is `percent`, this option dictates whether to
  27122. * use 0 or 100 as the base of comparison.
  27123. */
  27124. compareBase?: (0|100);
  27125. /**
  27126. * (Highstock) Defines if comparison should start from the first point
  27127. * within the visible range or should start from the first point **before**
  27128. * the range.
  27129. *
  27130. * In other words, this flag determines if first point within the visible
  27131. * range will have 0% (`compareStart=true`) or should have been already
  27132. * calculated according to the previous point (`compareStart=false`).
  27133. */
  27134. compareStart?: boolean;
  27135. /**
  27136. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  27137. * series plot across the extremes.
  27138. */
  27139. connectEnds?: boolean;
  27140. /**
  27141. * (Gantt) Override Pathfinder connector options for a series. Requires
  27142. * Highcharts Gantt to be loaded.
  27143. */
  27144. connectors?: SeriesConnectorsOptionsObject;
  27145. /**
  27146. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  27147. * rounded to its nearest pixel in order to render sharp on screen. In some
  27148. * cases, when there are a lot of densely packed columns, this leads to
  27149. * visible difference in column widths or distance between columns. In these
  27150. * cases, setting `crisp` to `false` may look better, even though each
  27151. * column is rendered blurry.
  27152. */
  27153. crisp?: boolean;
  27154. /**
  27155. * (Highcharts, Highstock) When the series contains less points than the
  27156. * crop threshold, all points are drawn, even if the points fall outside the
  27157. * visible plot area at the current zoom. The advantage of drawing all
  27158. * points (including markers and columns), is that animation is performed on
  27159. * updates. On the other hand, when the series contains more points than the
  27160. * crop threshold, the series data is cropped to only contain points that
  27161. * fall within the plot area. The advantage of cropping away invisible
  27162. * points is to increase performance on large series.
  27163. */
  27164. cropThreshold?: number;
  27165. /**
  27166. * (Highcharts) You can set the cursor to "pointer" if you have click events
  27167. * attached to the series, to signal to the user that the points and lines
  27168. * can be clicked.
  27169. *
  27170. * In styled mode, the series cursor can be set with the same classes as
  27171. * listed under series.color.
  27172. */
  27173. cursor?: (string|CursorValue);
  27174. /**
  27175. * (Highcharts) A reserved subspace to store options and values for
  27176. * customized functionality. Here you can add additional data for your own
  27177. * event callbacks and formatter callbacks.
  27178. */
  27179. custom?: Dictionary<any>;
  27180. /**
  27181. * (Highcharts) Name of the dash style to use for the graph, or for some
  27182. * series types the outline of each shape.
  27183. *
  27184. * In styled mode, the stroke dash-array can be set with the same classes as
  27185. * listed under series.color.
  27186. */
  27187. dashStyle?: DashStyleValue;
  27188. /**
  27189. * (Highstock) Data grouping is the concept of sampling the data values into
  27190. * larger blocks in order to ease readability and increase performance of
  27191. * the JavaScript charts. Highstock by default applies data grouping when
  27192. * the points become closer than a certain pixel value, determined by the
  27193. * `groupPixelWidth` option.
  27194. *
  27195. * If data grouping is applied, the grouping information of grouped points
  27196. * can be read from the Point.dataGroup. If point options other than the
  27197. * data itself are set, for example `name` or `color` or custom properties,
  27198. * the grouping logic doesn't know how to group it. In this case the options
  27199. * of the first point instance are copied over to the group point. This can
  27200. * be altered through a custom `approximation` callback function.
  27201. */
  27202. dataGrouping?: DataGroupingOptionsObject;
  27203. /**
  27204. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  27205. * labels, appearing next to each data point.
  27206. *
  27207. * Since v6.2.0, multiple data labels can be applied to each single point by
  27208. * defining them as an array of configs.
  27209. *
  27210. * In styled mode, the data labels can be styled with the
  27211. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  27212. * (see example).
  27213. */
  27214. dataLabels?: (PlotBellcurveDataLabelsOptions|Array<PlotBellcurveDataLabelsOptions>);
  27215. /**
  27216. * (Highcharts, Highstock) Options for the series data sorting.
  27217. */
  27218. dataSorting?: (DataSortingOptionsObject|PlotBellcurveDataSortingOptions);
  27219. /**
  27220. * (Highcharts) A description of the series to add to the screen reader
  27221. * information about the series.
  27222. */
  27223. description?: string;
  27224. /**
  27225. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  27226. * This includes point tooltips and click events on graphs and points. For
  27227. * large datasets it improves performance.
  27228. */
  27229. enableMouseTracking?: boolean;
  27230. /**
  27231. * (Highcharts) General event handlers for the series items. These event
  27232. * hooks can also be attached to the series at run time using the
  27233. * `Highcharts.addEvent` function.
  27234. */
  27235. events?: SeriesEventsOptionsObject;
  27236. /**
  27237. * (Highcharts, Highstock) Fill color or gradient for the area. When `null`,
  27238. * the series' `color` is used with the series' `fillOpacity`.
  27239. *
  27240. * In styled mode, the fill color can be set with the `.highcharts-area`
  27241. * class name.
  27242. */
  27243. fillColor?: (ColorString|GradientColorObject|PatternObject);
  27244. /**
  27245. * (Highcharts, Highstock) Fill opacity for the area. When you set an
  27246. * explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
  27247. * should define the opacity in the `fillColor` with an rgba color
  27248. * definition. The `fillOpacity` setting, also the default setting,
  27249. * overrides the alpha component of the `color` setting.
  27250. *
  27251. * In styled mode, the fill opacity can be set with the `.highcharts-area`
  27252. * class name.
  27253. */
  27254. fillOpacity?: number;
  27255. /**
  27256. * (Highcharts) Determines whether the series should look for the nearest
  27257. * point in both dimensions or just the x-dimension when hovering the
  27258. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  27259. * series. If the data has duplicate x-values, it is recommended to set this
  27260. * to `'xy'` to allow hovering over all points.
  27261. *
  27262. * Applies only to series types using nearest neighbor search (not direct
  27263. * hover) for tooltip.
  27264. */
  27265. findNearestPointBy?: OptionsFindNearestPointByValue;
  27266. /**
  27267. * (Highstock) Defines when to display a gap in the graph, together with the
  27268. * gapUnit option.
  27269. *
  27270. * In case when `dataGrouping` is enabled, points can be grouped into a
  27271. * larger time span. This can make the grouped points to have a greater
  27272. * distance than the absolute value of `gapSize` property, which will result
  27273. * in disappearing graph completely. To prevent this situation the mentioned
  27274. * distance between grouped points is used instead of previously defined
  27275. * `gapSize`.
  27276. *
  27277. * In practice, this option is most often used to visualize gaps in time
  27278. * series. In a stock chart, intraday data is available for daytime hours,
  27279. * while gaps will appear in nights and weekends.
  27280. */
  27281. gapSize?: number;
  27282. /**
  27283. * (Highstock) Together with gapSize, this option defines where to draw gaps
  27284. * in the graph.
  27285. *
  27286. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  27287. * if the distance between two points is greater than 5 times that of the
  27288. * two closest points, the graph will be broken.
  27289. *
  27290. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  27291. * values, which on a datetime axis is milliseconds. This also applies to
  27292. * the navigator series that inherits gap options from the base series.
  27293. */
  27294. gapUnit?: OptionsGapUnitValue;
  27295. /**
  27296. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  27297. * chart width or only the zoomed area when zooming in on parts of the X
  27298. * axis. By default, the Y axis adjusts to the min and max of the visible
  27299. * data. Cartesian series only.
  27300. */
  27301. getExtremesFromAll?: boolean;
  27302. /**
  27303. * (Highcharts) When set to `false` will prevent the series data from being
  27304. * included in any form of data export.
  27305. *
  27306. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  27307. * `includeInCSVExport`.
  27308. */
  27309. includeInDataExport?: boolean;
  27310. /**
  27311. * (Highcharts) This option allows to define the length of the bell curve. A
  27312. * unit of the length of the bell curve is standard deviation.
  27313. */
  27314. intervals?: number;
  27315. /**
  27316. * (Highmaps) What property to join the `mapData` to the value data. For
  27317. * example, if joinBy is "code", the mapData items with a specific code is
  27318. * merged into the data with the same code. For maps loaded from GeoJSON,
  27319. * the keys may be held in each point's `properties` object.
  27320. *
  27321. * The joinBy option can also be an array of two values, where the first
  27322. * points to a key in the `mapData`, and the second points to another key in
  27323. * the `data`.
  27324. *
  27325. * When joinBy is `null`, the map items are joined by their position in the
  27326. * array, which performs much better in maps with many data points. This is
  27327. * the recommended option if you are printing more than a thousand data
  27328. * points and have a backend that can preprocess the data into a parallel
  27329. * array of the mapData.
  27330. */
  27331. joinBy?: (string|Array<string>);
  27332. /**
  27333. * (Highcharts) An array specifying which option maps to which key in the
  27334. * data point array. This makes it convenient to work with unstructured data
  27335. * arrays from different sources.
  27336. */
  27337. keys?: Array<string>;
  27338. /**
  27339. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  27340. * series as possible in a natural way, seeking to avoid other series. The
  27341. * goal of this feature is to make the chart more easily readable, like if a
  27342. * human designer placed the labels in the optimal position.
  27343. *
  27344. * The series labels currently work with series types having a `graph` or an
  27345. * `area`.
  27346. */
  27347. label?: SeriesLabelOptionsObject;
  27348. /**
  27349. * (Highstock) The line marks the last price from all points.
  27350. */
  27351. lastPrice?: SeriesLastPriceOptionsObject;
  27352. /**
  27353. * (Highstock) The line marks the last price from visible range of points.
  27354. */
  27355. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  27356. /**
  27357. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  27358. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  27359. * the ends and bends.
  27360. */
  27361. linecap?: SeriesLinecapValue;
  27362. /**
  27363. * (Highcharts, Highstock) A separate color for the graph line. By default
  27364. * the line takes the `color` of the series, but the lineColor setting
  27365. * allows setting a separate color for the line without altering the
  27366. * `fillColor`.
  27367. *
  27368. * In styled mode, the line stroke can be set with the `.highcharts-graph`
  27369. * class name.
  27370. */
  27371. lineColor?: (ColorString|GradientColorObject|PatternObject);
  27372. /**
  27373. * (Highcharts, Highstock) Pixel width of the graph line.
  27374. */
  27375. lineWidth?: number;
  27376. /**
  27377. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  27378. * Additionally, the value can be ":previous" to link to the previous
  27379. * series. When two series are linked, only the first one appears in the
  27380. * legend. Toggling the visibility of this also toggles the linked series.
  27381. *
  27382. * If master series uses data sorting and linked series does not have its
  27383. * own sorting definition, the linked series will be sorted in the same
  27384. * order as the master one.
  27385. */
  27386. linkedTo?: string;
  27387. /**
  27388. * (Highcharts) Options for the point markers of line-like series.
  27389. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  27390. * visual appearance of the markers. Other series types, like column series,
  27391. * don't have markers, but have visual options on the series level instead.
  27392. *
  27393. * In styled mode, the markers can be styled with the `.highcharts-point`,
  27394. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  27395. */
  27396. marker?: PointMarkerOptionsObject;
  27397. /**
  27398. * (Highstock) Options for the corresponding navigator series if
  27399. * `showInNavigator` is `true` for this series. Available options are the
  27400. * same as any series, documented at plotOptions and series.
  27401. *
  27402. * These options are merged with options in navigator.series, and will take
  27403. * precedence if the same option is defined both places.
  27404. */
  27405. navigatorOptions?: PlotSeriesOptions;
  27406. /**
  27407. * (Highcharts) The color for the parts of the graph or points that are
  27408. * below the threshold. Note that `zones` takes precedence over the negative
  27409. * color. Using `negativeColor` is equivalent to applying a zone with value
  27410. * of 0.
  27411. */
  27412. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  27413. /**
  27414. * (Highcharts) A separate color for the negative part of the area.
  27415. *
  27416. * In styled mode, a negative color is set with the `.highcharts-negative`
  27417. * class name.
  27418. */
  27419. negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
  27420. /**
  27421. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  27422. * dataLabels.
  27423. */
  27424. opacity?: number;
  27425. /**
  27426. * (Highcharts) Properties for each single point.
  27427. */
  27428. point?: PlotSeriesPointOptions;
  27429. /**
  27430. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  27431. * individual series. Overrides the chart wide configuration.
  27432. */
  27433. pointDescriptionFormatter?: Function;
  27434. /**
  27435. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  27436. * `number`.
  27437. *
  27438. * In a column chart, when pointPlacement is `"on"`, the point will not
  27439. * create any padding of the X axis. In a polar column chart this means that
  27440. * the first column points directly north. If the pointPlacement is
  27441. * `"between"`, the columns will be laid out between ticks. This is useful
  27442. * for example for visualising an amount between two points in time or in a
  27443. * certain sector of a polar chart.
  27444. *
  27445. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  27446. * is on the axis value, -0.5 is between this value and the previous, and
  27447. * 0.5 is between this value and the next. Unlike the textual options,
  27448. * numeric point placement options won't affect axis padding.
  27449. *
  27450. * Note that pointPlacement needs a pointRange to work. For column series
  27451. * this is computed, but for line-type series it needs to be set.
  27452. *
  27453. * For the `xrange` series type and gantt charts, if the Y axis is a
  27454. * category axis, the `pointPlacement` applies to the Y axis rather than the
  27455. * (typically datetime) X axis.
  27456. *
  27457. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  27458. */
  27459. pointPlacement?: (number|string);
  27460. /**
  27461. * (Highstock) The width of each point on the x axis. For example in a
  27462. * column chart with one value each day, the pointRange would be 1 day (= 24
  27463. * * 3600
  27464. *
  27465. * * 1000 milliseconds). This is normally computed automatically, but this
  27466. * option can be used to override the automatic value.
  27467. */
  27468. pointRange?: number;
  27469. /**
  27470. * (Highcharts) Defines how many points should be plotted within 1 interval.
  27471. * See `plotOptions.bellcurve.intervals`.
  27472. */
  27473. pointsInInterval?: number;
  27474. /**
  27475. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  27476. * a series, pointStart defines on what value to start. For example, if a
  27477. * series contains one yearly value starting from 1945, set pointStart to
  27478. * 1945.
  27479. */
  27480. pointStart?: number;
  27481. /**
  27482. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  27483. * true, the checkbox next to the series name in the legend will be checked
  27484. * for a selected series.
  27485. */
  27486. selected?: boolean;
  27487. /**
  27488. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  27489. * the shadow can be an object configuration containing `color`, `offsetX`,
  27490. * `offsetY`, `opacity` and `width`.
  27491. */
  27492. shadow?: (boolean|ShadowOptionsObject);
  27493. /**
  27494. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  27495. * allow selecting the series. The state of the checkbox is determined by
  27496. * the `selected` option.
  27497. */
  27498. showCheckbox?: boolean;
  27499. /**
  27500. * (Highcharts) Whether to display this particular series or series type in
  27501. * the legend. Standalone series are shown in legend by default, and linked
  27502. * series are not. Since v7.2.0 it is possible to show series that use
  27503. * colorAxis by setting this option to `true`.
  27504. */
  27505. showInLegend?: boolean;
  27506. /**
  27507. * (Highstock) Whether or not to show the series in the navigator. Takes
  27508. * precedence over navigator.baseSeries if defined.
  27509. */
  27510. showInNavigator?: boolean;
  27511. /**
  27512. * (Highcharts) If set to `true`, the accessibility module will skip past
  27513. * the points in this series for keyboard navigation.
  27514. */
  27515. skipKeyboardNavigation?: boolean;
  27516. /**
  27517. * (Highcharts, Highstock) When this is true, the series will not cause the
  27518. * Y axis to cross the zero plane (or threshold option) unless the data
  27519. * actually crosses the plane.
  27520. *
  27521. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  27522. * make the Y axis show negative values according to the `minPadding`
  27523. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  27524. */
  27525. softThreshold?: boolean;
  27526. states?: SeriesStatesOptionsObject;
  27527. /**
  27528. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  27529. * event on a series isn't triggered until the mouse moves over another
  27530. * series, or out of the plot area. When false, the `mouseOut` event on a
  27531. * series is triggered when the mouse leaves the area around the series'
  27532. * graph or markers. This also implies the tooltip when not shared. When
  27533. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  27534. * be hidden when moving the mouse between series. Defaults to true for line
  27535. * and area type series, but to false for columns, pies etc.
  27536. *
  27537. * **Note:** The boost module will force this option because of technical
  27538. * limitations.
  27539. */
  27540. stickyTracking?: boolean;
  27541. /**
  27542. * (Highcharts, Highstock) The Y axis value to serve as the base for the
  27543. * area, for distinguishing between values above and below a threshold. The
  27544. * area between the graph and the threshold is filled.
  27545. *
  27546. * * If a number is given, the Y axis will scale to the threshold.
  27547. *
  27548. * * If `null`, the scaling behaves like a line series with fill between the
  27549. * graph and the Y axis minimum.
  27550. *
  27551. * * If `Infinity` or `-Infinity`, the area between the graph and the
  27552. * corresponding Y axis extreme is filled (since v6.1.0).
  27553. */
  27554. threshold?: (number|null);
  27555. /**
  27556. * (Highcharts) A configuration object for the tooltip rendering of each
  27557. * single series. Properties are inherited from tooltip, but only the
  27558. * following properties can be defined on a series level.
  27559. */
  27560. tooltip?: SeriesTooltipOptionsObject;
  27561. /**
  27562. * (Highcharts, Highstock) Whether the whole area or just the line should
  27563. * respond to mouseover tooltips and other mouse or touch events.
  27564. */
  27565. trackByArea?: boolean;
  27566. /**
  27567. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  27568. * is longer than this, only one dimensional arrays of numbers, or two
  27569. * dimensional arrays with x and y values are allowed. Also, only the first
  27570. * point is tested, and the rest are assumed to be the same format. This
  27571. * saves expensive data checking and indexing in long series. Set it to `0`
  27572. * disable.
  27573. *
  27574. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  27575. * two dimensional arrays are allowed.
  27576. */
  27577. turboThreshold?: number;
  27578. /**
  27579. * (Highcharts) Set the initial visibility of the series.
  27580. */
  27581. visible?: boolean;
  27582. /**
  27583. * (Highmaps) Define the z index of the series.
  27584. */
  27585. zIndex?: number;
  27586. /**
  27587. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  27588. */
  27589. zoneAxis?: string;
  27590. /**
  27591. * (Highcharts, Highstock) An array defining zones within a series. Zones
  27592. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  27593. * the `zoneAxis` option. The zone definitions have to be in ascending order
  27594. * regarding to the value.
  27595. *
  27596. * In styled mode, the color zones are styled with the
  27597. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  27598. * option (view live demo).
  27599. */
  27600. zones?: Array<SeriesZonesOptionsObject>;
  27601. }
  27602. /**
  27603. * (Highcharts) Enable or disable the initial animation when a series is
  27604. * displayed. The animation can also be set as a configuration object. Please
  27605. * note that this option only applies to the initial animation of the series
  27606. * itself. For other animations, see chart.animation and the animation parameter
  27607. * under the API methods. The following properties are supported:
  27608. *
  27609. * - `defer`: The animation delay time in milliseconds.
  27610. *
  27611. * - `duration`: The duration of the animation in milliseconds.
  27612. *
  27613. * - `easing`: Can be a string reference to an easing function set on the `Math`
  27614. * object or a function. See the _Custom easing function_ demo below.
  27615. *
  27616. * Due to poor performance, animation is disabled in old IE browsers for several
  27617. * chart types.
  27618. */
  27619. export interface PlotBoxplotAnimationOptions {
  27620. defer?: number;
  27621. }
  27622. /**
  27623. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  27624. * animation when a series is displayed for the `dataLabels`. The animation can
  27625. * also be set as a configuration object. Please note that this option only
  27626. * applies to the initial animation. For other animations, see chart.animation
  27627. * and the animation parameter under the API methods. The following properties
  27628. * are supported:
  27629. *
  27630. * - `defer`: The animation delay time in milliseconds.
  27631. */
  27632. export interface PlotBoxplotDataLabelsAnimationOptions {
  27633. /**
  27634. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  27635. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  27636. * inherits defer time from the series.animation.defer.
  27637. */
  27638. defer?: number;
  27639. }
  27640. /**
  27641. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  27642. * appearing next to each data point.
  27643. *
  27644. * Since v6.2.0, multiple data labels can be applied to each single point by
  27645. * defining them as an array of configs.
  27646. *
  27647. * In styled mode, the data labels can be styled with the
  27648. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  27649. * example).
  27650. */
  27651. export interface PlotBoxplotDataLabelsOptions {
  27652. /**
  27653. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  27654. * compared to the point. If `right`, the right side of the label should be
  27655. * touching the point. For points with an extent, like columns, the
  27656. * alignments also dictates how to align it inside the box, as given with
  27657. * the inside option. Can be one of `left`, `center` or `right`.
  27658. */
  27659. align?: string;
  27660. /**
  27661. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  27662. * overlap. To make the labels less sensitive for overlapping, the
  27663. * dataLabels.padding can be set to 0.
  27664. */
  27665. allowOverlap?: boolean;
  27666. /**
  27667. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  27668. * animation when a series is displayed for the `dataLabels`. The animation
  27669. * can also be set as a configuration object. Please note that this option
  27670. * only applies to the initial animation. For other animations, see
  27671. * chart.animation and the animation parameter under the API methods. The
  27672. * following properties are supported:
  27673. *
  27674. * - `defer`: The animation delay time in milliseconds.
  27675. */
  27676. animation?: (boolean|PlotBoxplotDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  27677. /**
  27678. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  27679. * for the data label.
  27680. */
  27681. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  27682. /**
  27683. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  27684. * label. Defaults to `undefined`.
  27685. */
  27686. borderColor?: (ColorString|GradientColorObject|PatternObject);
  27687. /**
  27688. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  27689. * the data label.
  27690. */
  27691. borderRadius?: number;
  27692. /**
  27693. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  27694. * the data label.
  27695. */
  27696. borderWidth?: number;
  27697. /**
  27698. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  27699. * Particularly in styled mode, this can be used to give each series' or
  27700. * point's data label unique styling. In addition to this option, a default
  27701. * color class name is added so that we can give the labels a contrast text
  27702. * shadow.
  27703. */
  27704. className?: string;
  27705. /**
  27706. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  27707. * labels. Defaults to `undefined`. For certain series types, like column or
  27708. * map, the data labels can be drawn inside the points. In this case the
  27709. * data label will be drawn with maximum contrast by default. Additionally,
  27710. * it will be given a `text-outline` style with the opposite color, to
  27711. * further increase the contrast. This can be overridden by setting the
  27712. * `text-outline` style to `none` in the `dataLabels.style` option.
  27713. */
  27714. color?: (ColorString|GradientColorObject|PatternObject);
  27715. /**
  27716. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  27717. * are outside the plot area. By default, the data label is moved inside the
  27718. * plot area according to the overflow option.
  27719. */
  27720. crop?: boolean;
  27721. /**
  27722. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  27723. * labels until the initial series animation has finished. Setting to
  27724. * `false` renders the data label immediately. If set to `true` inherits the
  27725. * defer time set in plotOptions.series.animation.
  27726. */
  27727. defer?: boolean;
  27728. /**
  27729. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  27730. * labels.
  27731. */
  27732. enabled?: boolean;
  27733. /**
  27734. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  27735. * of which data labels to display. The declarative filter is designed for
  27736. * use when callback functions are not available, like when the chart
  27737. * options require a pure JSON structure or for use with graphical editors.
  27738. * For programmatic control, use the `formatter` instead, and return
  27739. * `undefined` to disable a single data label.
  27740. */
  27741. filter?: DataLabelsFilterOptionsObject;
  27742. /**
  27743. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  27744. * label. Available variables are the same as for `formatter`.
  27745. */
  27746. format?: string;
  27747. /**
  27748. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  27749. * format the data label. Note that if a `format` is defined, the format
  27750. * takes precedence and the formatter is ignored.
  27751. */
  27752. formatter?: DataLabelsFormatterCallbackFunction;
  27753. /**
  27754. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  27755. * columns or map areas, whether to align the data label inside the box or
  27756. * to the actual value point. Defaults to `false` in most cases, `true` in
  27757. * stacked columns.
  27758. */
  27759. inside?: boolean;
  27760. /**
  27761. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  27762. * of null. Works analogously to format. `nullFormat` can be applied only to
  27763. * series which support displaying null points.
  27764. */
  27765. nullFormat?: (boolean|string);
  27766. /**
  27767. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  27768. * that defines formatting for points with the value of null. Works
  27769. * analogously to formatter. `nullPointFormatter` can be applied only to
  27770. * series which support displaying null points.
  27771. */
  27772. nullFormatter?: DataLabelsFormatterCallbackFunction;
  27773. /**
  27774. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  27775. * flow outside the plot area. The default is `"justify"`, which aligns them
  27776. * inside the plot area. For columns and bars, this means it will be moved
  27777. * inside the bar. To display data labels outside the plot area, set `crop`
  27778. * to `false` and `overflow` to `"allow"`.
  27779. */
  27780. overflow?: DataLabelsOverflowValue;
  27781. /**
  27782. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  27783. * the `backgroundColor` is set, this is the padding within the box.
  27784. */
  27785. padding?: number;
  27786. /**
  27787. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  27788. * points. If `center` alignment is not possible, it defaults to `right`.
  27789. */
  27790. position?: AlignValue;
  27791. /**
  27792. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  27793. * that due to a more complex structure, backgrounds, borders and padding
  27794. * will be lost on a rotated data label.
  27795. */
  27796. rotation?: number;
  27797. /**
  27798. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  27799. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  27800. * an object configuration containing `color`, `offsetX`, `offsetY`,
  27801. * `opacity` and `width`.
  27802. */
  27803. shadow?: (boolean|ShadowOptionsObject);
  27804. /**
  27805. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  27806. * the border around the label. Symbols are predefined functions on the
  27807. * Renderer object.
  27808. */
  27809. shape?: string;
  27810. /**
  27811. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  27812. * default `color` setting is `"contrast"`, which is a pseudo color that
  27813. * Highcharts picks up and applies the maximum contrast to the underlying
  27814. * point item, for example the bar in a bar chart.
  27815. *
  27816. * The `textOutline` is a pseudo property that applies an outline of the
  27817. * given width with the given color, which by default is the maximum
  27818. * contrast to the text. So a bright text color will result in a black text
  27819. * outline for maximum readability on a mixed background. In some cases,
  27820. * especially with grayscale text, the text outline doesn't work well, in
  27821. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  27822. * is true, the `textOutline` will not be picked up. In this, case, the same
  27823. * effect can be acheived through the `text-shadow` CSS property.
  27824. *
  27825. * For some series types, where each point has an extent, like for example
  27826. * tree maps, the data label may overflow the point. There are two
  27827. * strategies for handling overflow. By default, the text will wrap to
  27828. * multiple lines. The other strategy is to set `style.textOverflow` to
  27829. * `ellipsis`, which will keep the text on one line plus it will break
  27830. * inside long words.
  27831. */
  27832. style?: CSSObject;
  27833. /**
  27834. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  27835. * should follow marker's shape. Border and background are disabled for a
  27836. * label that follows a path.
  27837. *
  27838. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  27839. * to true will disable this option.
  27840. */
  27841. textPath?: DataLabelsTextPathOptionsObject;
  27842. /**
  27843. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  27844. * the labels.
  27845. */
  27846. useHTML?: boolean;
  27847. /**
  27848. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  27849. * label. Can be one of `top`, `middle` or `bottom`. The default value
  27850. * depends on the data, for instance in a column chart, the label is above
  27851. * positive values and below negative values.
  27852. */
  27853. verticalAlign?: string;
  27854. /**
  27855. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  27856. * label relative to the point in pixels.
  27857. */
  27858. x?: number;
  27859. /**
  27860. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  27861. * label relative to the point in pixels.
  27862. */
  27863. y?: number;
  27864. /**
  27865. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  27866. * The default Z index puts it above the series. Use a Z index of 2 to
  27867. * display it behind the series.
  27868. */
  27869. z?: number;
  27870. }
  27871. /**
  27872. * (Highcharts, Highstock) Options for the series data sorting.
  27873. */
  27874. export interface PlotBoxplotDataSortingOptions {
  27875. /**
  27876. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  27877. * Use xAxis.reversed to change the sorting order.
  27878. */
  27879. enabled?: boolean;
  27880. /**
  27881. * (Highcharts, Highstock) Whether to allow matching points by name in an
  27882. * update. If this option is disabled, points will be matched by order.
  27883. */
  27884. matchByName?: boolean;
  27885. /**
  27886. * (Highcharts, Highstock) Determines what data value should be used to sort
  27887. * by.
  27888. */
  27889. sortKey?: string;
  27890. }
  27891. /**
  27892. * (Highcharts) Style options for the guide box. The guide box has one state by
  27893. * default, the `default` state.
  27894. */
  27895. export interface PlotBoxplotDragDropGuideBoxOptions {
  27896. /**
  27897. * (Highcharts) Style options for the guide box default state.
  27898. */
  27899. default?: DragDropGuideBoxOptionsObject;
  27900. }
  27901. /**
  27902. * (Highcharts) A box plot is a convenient way of depicting groups of data
  27903. * through their five-number summaries: the smallest observation (sample
  27904. * minimum), lower quartile (Q1), median (Q2), upper quartile (Q3), and largest
  27905. * observation (sample maximum).
  27906. *
  27907. * In TypeScript the type option must always be set.
  27908. *
  27909. * Configuration options for the series are given in three levels:
  27910. *
  27911. * 1. Options for all series in a chart are defined in the plotOptions.series
  27912. * object.
  27913. *
  27914. * 2. Options for all `boxplot` series are defined in plotOptions.boxplot.
  27915. *
  27916. * 3. Options for one single series are given in the series instance array. (see
  27917. * online documentation for example)
  27918. */
  27919. export interface PlotBoxplotOptions {
  27920. /**
  27921. * (Highcharts) Accessibility options for a series.
  27922. */
  27923. accessibility?: SeriesAccessibilityOptionsObject;
  27924. /**
  27925. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  27926. * rendered. If `true`, areas which don't correspond to a data point, are
  27927. * rendered as `null` points. If `false`, those areas are skipped.
  27928. */
  27929. allAreas?: boolean;
  27930. /**
  27931. * (Highcharts) Allow this series' points to be selected by clicking on the
  27932. * graphic (columns, point markers, pie slices, map areas etc).
  27933. *
  27934. * The selected points can be handled by point select and unselect events,
  27935. * or collectively by the getSelectedPoints function.
  27936. *
  27937. * And alternative way of selecting points is through dragging.
  27938. */
  27939. allowPointSelect?: boolean;
  27940. /**
  27941. * (Highcharts) Enable or disable the initial animation when a series is
  27942. * displayed. The animation can also be set as a configuration object.
  27943. * Please note that this option only applies to the initial animation of the
  27944. * series itself. For other animations, see chart.animation and the
  27945. * animation parameter under the API methods. The following properties are
  27946. * supported:
  27947. *
  27948. * - `defer`: The animation delay time in milliseconds.
  27949. *
  27950. * - `duration`: The duration of the animation in milliseconds.
  27951. *
  27952. * - `easing`: Can be a string reference to an easing function set on the
  27953. * `Math` object or a function. See the _Custom easing function_ demo below.
  27954. *
  27955. * Due to poor performance, animation is disabled in old IE browsers for
  27956. * several chart types.
  27957. */
  27958. animation?: (boolean|PlotBoxplotAnimationOptions|Partial<AnimationOptionsObject>);
  27959. /**
  27960. * (Highcharts) For some series, there is a limit that shuts down initial
  27961. * animation by default when the total number of points in the chart is too
  27962. * high. For example, for a column chart and its derivatives, animation does
  27963. * not run if there is more than 250 points totally. To disable this cap,
  27964. * set `animationLimit` to `Infinity`.
  27965. */
  27966. animationLimit?: number;
  27967. /**
  27968. * (Highcharts) The dash style of the box.
  27969. */
  27970. boxDashStyle?: DashStyleValue;
  27971. /**
  27972. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  27973. * the category, ignoring null or missing points. When `false`, space will
  27974. * be reserved for null or missing points.
  27975. */
  27976. centerInCategory?: boolean;
  27977. /**
  27978. * (Highcharts) An additional class name to apply to the series' graphical
  27979. * elements. This option does not replace default class names of the
  27980. * graphical element.
  27981. */
  27982. className?: string;
  27983. /**
  27984. * (Highcharts) Disable this option to allow series rendering in the whole
  27985. * plotting area.
  27986. *
  27987. * **Note:** Clipping should be always enabled when chart.zoomType is set
  27988. */
  27989. clip?: boolean;
  27990. /**
  27991. * (Highcharts) The main color of the series. In line type series it applies
  27992. * to the line and the point markers unless otherwise specified. In bar type
  27993. * series it applies to the bars unless a color is specified per point. The
  27994. * default value is pulled from the `options.colors` array.
  27995. *
  27996. * In styled mode, the color can be defined by the colorIndex option. Also,
  27997. * the series color can be set with the `.highcharts-series`,
  27998. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  27999. * `.highcharts-series-{n}` class, or individual classes given by the
  28000. * `className` option.
  28001. */
  28002. color?: (ColorString|GradientColorObject|PatternObject);
  28003. /**
  28004. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  28005. * this number defines which colorAxis the particular series is connected
  28006. * to. It refers to either the axis id or the index of the axis in the
  28007. * colorAxis array, with 0 being the first. Set this option to false to
  28008. * prevent a series from connecting to the default color axis.
  28009. *
  28010. * Since v7.2.0 the option can also be an axis id or an axis index instead
  28011. * of a boolean flag.
  28012. */
  28013. colorAxis?: (boolean|number|string);
  28014. /**
  28015. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  28016. * from the global colors or series-specific plotOptions.column.colors
  28017. * collections, this option determines whether the chart should receive one
  28018. * color per series or one color per point.
  28019. *
  28020. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  28021. * and instead this option gives the points individual color class names on
  28022. * the form `highcharts-color-{n}`.
  28023. */
  28024. colorByPoint?: boolean;
  28025. /**
  28026. * (Highcharts) Styled mode only. A specific color index to use for the
  28027. * series, so its graphic representations are given the class name
  28028. * `highcharts-color-{n}`.
  28029. */
  28030. colorIndex?: number;
  28031. /**
  28032. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  28033. * used to calculate point color if `colorAxis` is used. Requires to set
  28034. * `min` and `max` if some custom point property is used or if approximation
  28035. * for data grouping is set to `'sum'`.
  28036. */
  28037. colorKey?: string;
  28038. /**
  28039. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  28040. * color set to apply instead of the global colors when colorByPoint is
  28041. * true.
  28042. */
  28043. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  28044. /**
  28045. * (Highstock) Compare the values of the series against the first non-null,
  28046. * non- zero value in the visible range. The y axis will show percentage or
  28047. * absolute change depending on whether `compare` is set to `"percent"` or
  28048. * `"value"`. When this is applied to multiple series, it allows comparing
  28049. * the development of the series against each other. Adds a `change` field
  28050. * to every point object.
  28051. */
  28052. compare?: string;
  28053. /**
  28054. * (Highstock) When compare is `percent`, this option dictates whether to
  28055. * use 0 or 100 as the base of comparison.
  28056. */
  28057. compareBase?: (0|100);
  28058. /**
  28059. * (Highstock) Defines if comparison should start from the first point
  28060. * within the visible range or should start from the first point **before**
  28061. * the range.
  28062. *
  28063. * In other words, this flag determines if first point within the visible
  28064. * range will have 0% (`compareStart=true`) or should have been already
  28065. * calculated according to the previous point (`compareStart=false`).
  28066. */
  28067. compareStart?: boolean;
  28068. /**
  28069. * (Gantt) Override Pathfinder connector options for a series. Requires
  28070. * Highcharts Gantt to be loaded.
  28071. */
  28072. connectors?: SeriesConnectorsOptionsObject;
  28073. /**
  28074. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  28075. * rounded to its nearest pixel in order to render sharp on screen. In some
  28076. * cases, when there are a lot of densely packed columns, this leads to
  28077. * visible difference in column widths or distance between columns. In these
  28078. * cases, setting `crisp` to `false` may look better, even though each
  28079. * column is rendered blurry.
  28080. */
  28081. crisp?: boolean;
  28082. /**
  28083. * (Highcharts, Highstock, Gantt) When the series contains less points than
  28084. * the crop threshold, all points are drawn, event if the points fall
  28085. * outside the visible plot area at the current zoom. The advantage of
  28086. * drawing all points (including markers and columns), is that animation is
  28087. * performed on updates. On the other hand, when the series contains more
  28088. * points than the crop threshold, the series data is cropped to only
  28089. * contain points that fall within the plot area. The advantage of cropping
  28090. * away invisible points is to increase performance on large series.
  28091. */
  28092. cropThreshold?: number;
  28093. /**
  28094. * (Highcharts) You can set the cursor to "pointer" if you have click events
  28095. * attached to the series, to signal to the user that the points and lines
  28096. * can be clicked.
  28097. *
  28098. * In styled mode, the series cursor can be set with the same classes as
  28099. * listed under series.color.
  28100. */
  28101. cursor?: (string|CursorValue);
  28102. /**
  28103. * (Highcharts) A reserved subspace to store options and values for
  28104. * customized functionality. Here you can add additional data for your own
  28105. * event callbacks and formatter callbacks.
  28106. */
  28107. custom?: Dictionary<any>;
  28108. /**
  28109. * (Highcharts) Name of the dash style to use for the graph, or for some
  28110. * series types the outline of each shape.
  28111. *
  28112. * In styled mode, the stroke dash-array can be set with the same classes as
  28113. * listed under series.color.
  28114. */
  28115. dashStyle?: DashStyleValue;
  28116. /**
  28117. * (Highstock) Data grouping is the concept of sampling the data values into
  28118. * larger blocks in order to ease readability and increase performance of
  28119. * the JavaScript charts. Highstock by default applies data grouping when
  28120. * the points become closer than a certain pixel value, determined by the
  28121. * `groupPixelWidth` option.
  28122. *
  28123. * If data grouping is applied, the grouping information of grouped points
  28124. * can be read from the Point.dataGroup. If point options other than the
  28125. * data itself are set, for example `name` or `color` or custom properties,
  28126. * the grouping logic doesn't know how to group it. In this case the options
  28127. * of the first point instance are copied over to the group point. This can
  28128. * be altered through a custom `approximation` callback function.
  28129. */
  28130. dataGrouping?: DataGroupingOptionsObject;
  28131. /**
  28132. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  28133. * labels, appearing next to each data point.
  28134. *
  28135. * Since v6.2.0, multiple data labels can be applied to each single point by
  28136. * defining them as an array of configs.
  28137. *
  28138. * In styled mode, the data labels can be styled with the
  28139. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  28140. * (see example).
  28141. */
  28142. dataLabels?: (PlotBoxplotDataLabelsOptions|Array<PlotBoxplotDataLabelsOptions>);
  28143. /**
  28144. * (Highcharts, Highstock) Options for the series data sorting.
  28145. */
  28146. dataSorting?: (DataSortingOptionsObject|PlotBoxplotDataSortingOptions);
  28147. /**
  28148. * (Highcharts) Depth of the columns in a 3D column chart.
  28149. */
  28150. depth?: number;
  28151. /**
  28152. * (Highcharts) A description of the series to add to the screen reader
  28153. * information about the series.
  28154. */
  28155. description?: string;
  28156. /**
  28157. * (Highcharts) The draggable-points module allows points to be moved around
  28158. * or modified in the chart. In addition to the options mentioned under the
  28159. * `dragDrop` API structure, the module fires three events, point.dragStart,
  28160. * point.drag and point.drop.
  28161. */
  28162. dragDrop?: SeriesDragDropOptionsObject;
  28163. /**
  28164. * (Highcharts) 3D columns only. The color of the edges. Similar to
  28165. * `borderColor`, except it defaults to the same color as the column.
  28166. */
  28167. edgeColor?: ColorString;
  28168. /**
  28169. * (Highcharts) 3D columns only. The width of the colored edges.
  28170. */
  28171. edgeWidth?: number;
  28172. /**
  28173. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  28174. * This includes point tooltips and click events on graphs and points. For
  28175. * large datasets it improves performance.
  28176. */
  28177. enableMouseTracking?: boolean;
  28178. /**
  28179. * (Highcharts) General event handlers for the series items. These event
  28180. * hooks can also be attached to the series at run time using the
  28181. * `Highcharts.addEvent` function.
  28182. */
  28183. events?: SeriesEventsOptionsObject;
  28184. /**
  28185. * (Highcharts) The fill color of the box.
  28186. *
  28187. * In styled mode, the fill color can be set with the
  28188. * `.highcharts-boxplot-box` class.
  28189. */
  28190. fillColor?: (ColorString|GradientColorObject|PatternObject);
  28191. /**
  28192. * (Highcharts) Determines whether the series should look for the nearest
  28193. * point in both dimensions or just the x-dimension when hovering the
  28194. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  28195. * series. If the data has duplicate x-values, it is recommended to set this
  28196. * to `'xy'` to allow hovering over all points.
  28197. *
  28198. * Applies only to series types using nearest neighbor search (not direct
  28199. * hover) for tooltip.
  28200. */
  28201. findNearestPointBy?: OptionsFindNearestPointByValue;
  28202. /**
  28203. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  28204. * chart width or only the zoomed area when zooming in on parts of the X
  28205. * axis. By default, the Y axis adjusts to the min and max of the visible
  28206. * data. Cartesian series only.
  28207. */
  28208. getExtremesFromAll?: boolean;
  28209. /**
  28210. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  28211. * let them render independent of each other. Non-grouped columns will be
  28212. * laid out individually and overlap each other.
  28213. */
  28214. grouping?: boolean;
  28215. /**
  28216. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  28217. * axis units.
  28218. */
  28219. groupPadding?: number;
  28220. /**
  28221. * (Highcharts) When set to `false` will prevent the series data from being
  28222. * included in any form of data export.
  28223. *
  28224. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  28225. * `includeInCSVExport`.
  28226. */
  28227. includeInDataExport?: boolean;
  28228. /**
  28229. * (Highmaps) What property to join the `mapData` to the value data. For
  28230. * example, if joinBy is "code", the mapData items with a specific code is
  28231. * merged into the data with the same code. For maps loaded from GeoJSON,
  28232. * the keys may be held in each point's `properties` object.
  28233. *
  28234. * The joinBy option can also be an array of two values, where the first
  28235. * points to a key in the `mapData`, and the second points to another key in
  28236. * the `data`.
  28237. *
  28238. * When joinBy is `null`, the map items are joined by their position in the
  28239. * array, which performs much better in maps with many data points. This is
  28240. * the recommended option if you are printing more than a thousand data
  28241. * points and have a backend that can preprocess the data into a parallel
  28242. * array of the mapData.
  28243. */
  28244. joinBy?: (string|Array<string>);
  28245. /**
  28246. * (Highcharts) An array specifying which option maps to which key in the
  28247. * data point array. This makes it convenient to work with unstructured data
  28248. * arrays from different sources.
  28249. */
  28250. keys?: Array<string>;
  28251. /**
  28252. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  28253. * series as possible in a natural way, seeking to avoid other series. The
  28254. * goal of this feature is to make the chart more easily readable, like if a
  28255. * human designer placed the labels in the optimal position.
  28256. *
  28257. * The series labels currently work with series types having a `graph` or an
  28258. * `area`.
  28259. */
  28260. label?: SeriesLabelOptionsObject;
  28261. /**
  28262. * (Highstock) The line marks the last price from all points.
  28263. */
  28264. lastPrice?: SeriesLastPriceOptionsObject;
  28265. /**
  28266. * (Highstock) The line marks the last price from visible range of points.
  28267. */
  28268. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  28269. /**
  28270. * (Highcharts) The width of the line surrounding the box. If any of
  28271. * stemWidth, medianWidth or whiskerWidth are `null`, the lineWidth also
  28272. * applies to these lines.
  28273. */
  28274. lineWidth?: number;
  28275. /**
  28276. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  28277. * Additionally, the value can be ":previous" to link to the previous
  28278. * series. When two series are linked, only the first one appears in the
  28279. * legend. Toggling the visibility of this also toggles the linked series.
  28280. *
  28281. * If master series uses data sorting and linked series does not have its
  28282. * own sorting definition, the linked series will be sorted in the same
  28283. * order as the master one.
  28284. */
  28285. linkedTo?: string;
  28286. /**
  28287. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  28288. * column, translated to the height of a bar in a bar chart. This prevents
  28289. * the columns from becoming too wide when there is a small number of points
  28290. * in the chart.
  28291. */
  28292. maxPointWidth?: number;
  28293. /**
  28294. * (Highcharts) The color of the median line. If `undefined`, the general
  28295. * series color applies.
  28296. *
  28297. * In styled mode, the median stroke width can be set with the
  28298. * `.highcharts-boxplot-median` class.
  28299. */
  28300. medianColor?: (ColorString|GradientColorObject);
  28301. /**
  28302. * (Highcharts) The dash style of the median.
  28303. */
  28304. medianDashStyle?: DashStyleValue;
  28305. /**
  28306. * (Highcharts) The pixel width of the median line. If `null`, the lineWidth
  28307. * is used.
  28308. *
  28309. * In styled mode, the median stroke width can be set with the
  28310. * `.highcharts-boxplot-median` class.
  28311. */
  28312. medianWidth?: (number|null);
  28313. /**
  28314. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  28315. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  28316. * to zero) point, set the minimal point length to a pixel value like 3\. In
  28317. * stacked column charts, minPointLength might not be respected for tightly
  28318. * packed values.
  28319. */
  28320. minPointLength?: number;
  28321. /**
  28322. * (Highstock) Options for the corresponding navigator series if
  28323. * `showInNavigator` is `true` for this series. Available options are the
  28324. * same as any series, documented at plotOptions and series.
  28325. *
  28326. * These options are merged with options in navigator.series, and will take
  28327. * precedence if the same option is defined both places.
  28328. */
  28329. navigatorOptions?: PlotSeriesOptions;
  28330. /**
  28331. * (Highcharts) The color for the parts of the graph or points that are
  28332. * below the threshold. Note that `zones` takes precedence over the negative
  28333. * color. Using `negativeColor` is equivalent to applying a zone with value
  28334. * of 0.
  28335. */
  28336. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  28337. /**
  28338. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  28339. * dataLabels.
  28340. */
  28341. opacity?: number;
  28342. /**
  28343. * (Highcharts) Properties for each single point.
  28344. */
  28345. point?: PlotSeriesPointOptions;
  28346. /**
  28347. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  28348. * individual series. Overrides the chart wide configuration.
  28349. */
  28350. pointDescriptionFormatter?: Function;
  28351. /**
  28352. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  28353. * a series, `pointInterval` defines the interval of the x values. For
  28354. * example, if a series contains one value every decade starting from year
  28355. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  28356. * `pointInterval` is set in milliseconds.
  28357. *
  28358. * It can be also be combined with `pointIntervalUnit` to draw irregular
  28359. * time intervals.
  28360. *
  28361. * Please note that this options applies to the _series data_, not the
  28362. * interval of the axis ticks, which is independent.
  28363. */
  28364. pointInterval?: number;
  28365. /**
  28366. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  28367. * setting the pointInterval to irregular time units, `day`, `month` and
  28368. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  28369. * also takes the DST crossover into consideration when dealing with local
  28370. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  28371. * months, 10 years etc.
  28372. *
  28373. * Please note that this options applies to the _series data_, not the
  28374. * interval of the axis ticks, which is independent.
  28375. */
  28376. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  28377. /**
  28378. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  28379. * axis units.
  28380. */
  28381. pointPadding?: number;
  28382. /**
  28383. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  28384. * `number`.
  28385. *
  28386. * In a column chart, when pointPlacement is `"on"`, the point will not
  28387. * create any padding of the X axis. In a polar column chart this means that
  28388. * the first column points directly north. If the pointPlacement is
  28389. * `"between"`, the columns will be laid out between ticks. This is useful
  28390. * for example for visualising an amount between two points in time or in a
  28391. * certain sector of a polar chart.
  28392. *
  28393. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  28394. * is on the axis value, -0.5 is between this value and the previous, and
  28395. * 0.5 is between this value and the next. Unlike the textual options,
  28396. * numeric point placement options won't affect axis padding.
  28397. *
  28398. * Note that pointPlacement needs a pointRange to work. For column series
  28399. * this is computed, but for line-type series it needs to be set.
  28400. *
  28401. * For the `xrange` series type and gantt charts, if the Y axis is a
  28402. * category axis, the `pointPlacement` applies to the Y axis rather than the
  28403. * (typically datetime) X axis.
  28404. *
  28405. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  28406. */
  28407. pointPlacement?: (number|string);
  28408. /**
  28409. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  28410. * for. This determines the width of the column. On a categorized axis, the
  28411. * range will be 1 by default (one category unit). On linear and datetime
  28412. * axes, the range will be computed as the distance between the two closest
  28413. * data points.
  28414. *
  28415. * The default `null` means it is computed automatically, but this option
  28416. * can be used to override the automatic value.
  28417. *
  28418. * This option is set by default to 1 if data sorting is enabled.
  28419. */
  28420. pointRange?: (number|null);
  28421. /**
  28422. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  28423. * a series, pointStart defines on what value to start. For example, if a
  28424. * series contains one yearly value starting from 1945, set pointStart to
  28425. * 1945.
  28426. */
  28427. pointStart?: number;
  28428. /**
  28429. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  28430. * each column or bar point. When `null`, the width is calculated from the
  28431. * `pointPadding` and `groupPadding`. The width effects the dimension that
  28432. * is not based on the point value. For column series it is the hoizontal
  28433. * length and for bar series it is the vertical length.
  28434. */
  28435. pointWidth?: number;
  28436. /**
  28437. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  28438. * true, the checkbox next to the series name in the legend will be checked
  28439. * for a selected series.
  28440. */
  28441. selected?: boolean;
  28442. /**
  28443. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  28444. * the shadow can be an object configuration containing `color`, `offsetX`,
  28445. * `offsetY`, `opacity` and `width`.
  28446. */
  28447. shadow?: (boolean|ShadowOptionsObject);
  28448. /**
  28449. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  28450. * allow selecting the series. The state of the checkbox is determined by
  28451. * the `selected` option.
  28452. */
  28453. showCheckbox?: boolean;
  28454. /**
  28455. * (Highcharts) Whether to display this particular series or series type in
  28456. * the legend. Standalone series are shown in legend by default, and linked
  28457. * series are not. Since v7.2.0 it is possible to show series that use
  28458. * colorAxis by setting this option to `true`.
  28459. */
  28460. showInLegend?: boolean;
  28461. /**
  28462. * (Highstock) Whether or not to show the series in the navigator. Takes
  28463. * precedence over navigator.baseSeries if defined.
  28464. */
  28465. showInNavigator?: boolean;
  28466. /**
  28467. * (Highcharts) If set to `true`, the accessibility module will skip past
  28468. * the points in this series for keyboard navigation.
  28469. */
  28470. skipKeyboardNavigation?: boolean;
  28471. /**
  28472. * (Highcharts, Highstock) When this is true, the series will not cause the
  28473. * Y axis to cross the zero plane (or threshold option) unless the data
  28474. * actually crosses the plane.
  28475. *
  28476. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  28477. * make the Y axis show negative values according to the `minPadding`
  28478. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  28479. */
  28480. softThreshold?: boolean;
  28481. /**
  28482. * (Highcharts, Highstock) Whether to stack the values of each series on top
  28483. * of each other. Possible values are `undefined` to disable, `"normal"` to
  28484. * stack by value or `"percent"`.
  28485. *
  28486. * When stacking is enabled, data must be sorted in ascending X order.
  28487. *
  28488. * Some stacking options are related to specific series types. In the
  28489. * streamgraph series type, the stacking option is set to `"stream"`. The
  28490. * second one is `"overlap"`, which only applies to waterfall series.
  28491. */
  28492. stacking?: OptionsStackingValue;
  28493. /**
  28494. * (Highcharts) The dash style of the stem, the vertical line extending from
  28495. * the box to the whiskers.
  28496. */
  28497. stemDashStyle?: DashStyleValue;
  28498. /**
  28499. * (Highcharts) The width of the stem, the vertical line extending from the
  28500. * box to the whiskers. If `undefined`, the width is inherited from the
  28501. * lineWidth option.
  28502. *
  28503. * In styled mode, the stem stroke width can be set with the
  28504. * `.highcharts-boxplot-stem` class.
  28505. */
  28506. stemWidth?: number;
  28507. /**
  28508. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  28509. * event on a series isn't triggered until the mouse moves over another
  28510. * series, or out of the plot area. When false, the `mouseOut` event on a
  28511. * series is triggered when the mouse leaves the area around the series'
  28512. * graph or markers. This also implies the tooltip when not shared. When
  28513. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  28514. * be hidden when moving the mouse between series. Defaults to true for line
  28515. * and area type series, but to false for columns, pies etc.
  28516. *
  28517. * **Note:** The boost module will force this option because of technical
  28518. * limitations.
  28519. */
  28520. stickyTracking?: boolean;
  28521. /**
  28522. * (Highcharts) The Y axis value to serve as the base for the columns, for
  28523. * distinguishing between values above and below a threshold. If `null`, the
  28524. * columns extend from the padding Y axis minimum.
  28525. */
  28526. threshold?: (number|null);
  28527. /**
  28528. * (Highcharts) A configuration object for the tooltip rendering of each
  28529. * single series. Properties are inherited from tooltip, but only the
  28530. * following properties can be defined on a series level.
  28531. */
  28532. tooltip?: SeriesTooltipOptionsObject;
  28533. /**
  28534. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  28535. * is longer than this, only one dimensional arrays of numbers, or two
  28536. * dimensional arrays with x and y values are allowed. Also, only the first
  28537. * point is tested, and the rest are assumed to be the same format. This
  28538. * saves expensive data checking and indexing in long series. Set it to `0`
  28539. * disable.
  28540. *
  28541. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  28542. * two dimensional arrays are allowed.
  28543. */
  28544. turboThreshold?: number;
  28545. /**
  28546. * (Highcharts) Set the initial visibility of the series.
  28547. */
  28548. visible?: boolean;
  28549. /**
  28550. * (Highcharts) The color of the whiskers, the horizontal lines marking low
  28551. * and high values. When `undefined`, the general series color is used.
  28552. *
  28553. * In styled mode, the whisker stroke can be set with the
  28554. * `.highcharts-boxplot-whisker` class .
  28555. */
  28556. whiskerColor?: (ColorString|GradientColorObject|PatternObject);
  28557. /**
  28558. * (Highcharts) The dash style of the whiskers.
  28559. */
  28560. whiskerDashStyle?: DashStyleValue;
  28561. /**
  28562. * (Highcharts) The length of the whiskers, the horizontal lines marking low
  28563. * and high values. It can be a numerical pixel value, or a percentage value
  28564. * of the box width. Set `0` to disable whiskers.
  28565. */
  28566. whiskerLength?: (number|string);
  28567. /**
  28568. * (Highcharts) The line width of the whiskers, the horizontal lines marking
  28569. * low and high values. When `undefined`, the general lineWidth applies.
  28570. *
  28571. * In styled mode, the whisker stroke width can be set with the
  28572. * `.highcharts-boxplot-whisker` class.
  28573. */
  28574. whiskerWidth?: number;
  28575. /**
  28576. * (Highmaps) Define the z index of the series.
  28577. */
  28578. zIndex?: number;
  28579. /**
  28580. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  28581. */
  28582. zoneAxis?: string;
  28583. /**
  28584. * (Highcharts, Highstock) An array defining zones within a series. Zones
  28585. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  28586. * the `zoneAxis` option. The zone definitions have to be in ascending order
  28587. * regarding to the value.
  28588. *
  28589. * In styled mode, the color zones are styled with the
  28590. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  28591. * option (view live demo).
  28592. */
  28593. zones?: Array<SeriesZonesOptionsObject>;
  28594. }
  28595. /**
  28596. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  28597. * is displayed. The animation can also be set as a configuration object. Please
  28598. * note that this option only applies to the initial animation of the series
  28599. * itself. For other animations, see chart.animation and the animation parameter
  28600. * under the API methods. The following properties are supported:
  28601. *
  28602. * - `defer`: The animation delay time in milliseconds.
  28603. *
  28604. * - `duration`: The duration of the animation in milliseconds.
  28605. *
  28606. * - `easing`: Can be a string reference to an easing function set on the `Math`
  28607. * object or a function. See the _Custom easing function_ demo below.
  28608. *
  28609. * Due to poor performance, animation is disabled in old IE browsers for several
  28610. * chart types.
  28611. */
  28612. export interface PlotBubbleAnimationOptions {
  28613. defer?: number;
  28614. }
  28615. /**
  28616. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  28617. * animation when a series is displayed for the `dataLabels`. The animation can
  28618. * also be set as a configuration object. Please note that this option only
  28619. * applies to the initial animation. For other animations, see chart.animation
  28620. * and the animation parameter under the API methods. The following properties
  28621. * are supported:
  28622. *
  28623. * - `defer`: The animation delay time in milliseconds.
  28624. */
  28625. export interface PlotBubbleDataLabelsAnimationOptions {
  28626. /**
  28627. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  28628. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  28629. * inherits defer time from the series.animation.defer.
  28630. */
  28631. defer?: number;
  28632. }
  28633. /**
  28634. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  28635. * appearing next to each data point.
  28636. *
  28637. * Since v6.2.0, multiple data labels can be applied to each single point by
  28638. * defining them as an array of configs.
  28639. *
  28640. * In styled mode, the data labels can be styled with the
  28641. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  28642. * example).
  28643. */
  28644. export interface PlotBubbleDataLabelsOptions {
  28645. /**
  28646. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  28647. * compared to the point. If `right`, the right side of the label should be
  28648. * touching the point. For points with an extent, like columns, the
  28649. * alignments also dictates how to align it inside the box, as given with
  28650. * the inside option. Can be one of `left`, `center` or `right`.
  28651. */
  28652. align?: (AlignValue|null);
  28653. /**
  28654. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  28655. * overlap. To make the labels less sensitive for overlapping, the
  28656. * dataLabels.padding can be set to 0.
  28657. */
  28658. allowOverlap?: boolean;
  28659. /**
  28660. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  28661. * animation when a series is displayed for the `dataLabels`. The animation
  28662. * can also be set as a configuration object. Please note that this option
  28663. * only applies to the initial animation. For other animations, see
  28664. * chart.animation and the animation parameter under the API methods. The
  28665. * following properties are supported:
  28666. *
  28667. * - `defer`: The animation delay time in milliseconds.
  28668. */
  28669. animation?: (boolean|PlotBubbleDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  28670. /**
  28671. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  28672. * for the data label.
  28673. */
  28674. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  28675. /**
  28676. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  28677. * label. Defaults to `undefined`.
  28678. */
  28679. borderColor?: (ColorString|GradientColorObject|PatternObject);
  28680. /**
  28681. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  28682. * the data label.
  28683. */
  28684. borderRadius?: number;
  28685. /**
  28686. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  28687. * the data label.
  28688. */
  28689. borderWidth?: number;
  28690. /**
  28691. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  28692. * Particularly in styled mode, this can be used to give each series' or
  28693. * point's data label unique styling. In addition to this option, a default
  28694. * color class name is added so that we can give the labels a contrast text
  28695. * shadow.
  28696. */
  28697. className?: string;
  28698. /**
  28699. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  28700. * labels. Defaults to `undefined`. For certain series types, like column or
  28701. * map, the data labels can be drawn inside the points. In this case the
  28702. * data label will be drawn with maximum contrast by default. Additionally,
  28703. * it will be given a `text-outline` style with the opposite color, to
  28704. * further increase the contrast. This can be overridden by setting the
  28705. * `text-outline` style to `none` in the `dataLabels.style` option.
  28706. */
  28707. color?: (ColorString|GradientColorObject|PatternObject);
  28708. /**
  28709. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  28710. * are outside the plot area. By default, the data label is moved inside the
  28711. * plot area according to the overflow option.
  28712. */
  28713. crop?: boolean;
  28714. /**
  28715. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  28716. * labels until the initial series animation has finished. Setting to
  28717. * `false` renders the data label immediately. If set to `true` inherits the
  28718. * defer time set in plotOptions.series.animation.
  28719. */
  28720. defer?: boolean;
  28721. /**
  28722. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  28723. * labels.
  28724. */
  28725. enabled?: boolean;
  28726. /**
  28727. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  28728. * of which data labels to display. The declarative filter is designed for
  28729. * use when callback functions are not available, like when the chart
  28730. * options require a pure JSON structure or for use with graphical editors.
  28731. * For programmatic control, use the `formatter` instead, and return
  28732. * `undefined` to disable a single data label.
  28733. */
  28734. filter?: DataLabelsFilterOptionsObject;
  28735. /**
  28736. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  28737. * label. Available variables are the same as for `formatter`.
  28738. */
  28739. format?: string;
  28740. /**
  28741. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  28742. * format the data label. Note that if a `format` is defined, the format
  28743. * takes precedence and the formatter is ignored.
  28744. */
  28745. formatter?: DataLabelsFormatterCallbackFunction;
  28746. /**
  28747. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  28748. * columns or map areas, whether to align the data label inside the box or
  28749. * to the actual value point. Defaults to `false` in most cases, `true` in
  28750. * stacked columns.
  28751. */
  28752. inside?: boolean;
  28753. /**
  28754. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  28755. * of null. Works analogously to format. `nullFormat` can be applied only to
  28756. * series which support displaying null points.
  28757. */
  28758. nullFormat?: (boolean|string);
  28759. /**
  28760. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  28761. * that defines formatting for points with the value of null. Works
  28762. * analogously to formatter. `nullPointFormatter` can be applied only to
  28763. * series which support displaying null points.
  28764. */
  28765. nullFormatter?: DataLabelsFormatterCallbackFunction;
  28766. /**
  28767. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  28768. * flow outside the plot area. The default is `"justify"`, which aligns them
  28769. * inside the plot area. For columns and bars, this means it will be moved
  28770. * inside the bar. To display data labels outside the plot area, set `crop`
  28771. * to `false` and `overflow` to `"allow"`.
  28772. */
  28773. overflow?: DataLabelsOverflowValue;
  28774. /**
  28775. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  28776. * the `backgroundColor` is set, this is the padding within the box.
  28777. */
  28778. padding?: number;
  28779. /**
  28780. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  28781. * points. If `center` alignment is not possible, it defaults to `right`.
  28782. */
  28783. position?: AlignValue;
  28784. /**
  28785. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  28786. * that due to a more complex structure, backgrounds, borders and padding
  28787. * will be lost on a rotated data label.
  28788. */
  28789. rotation?: number;
  28790. /**
  28791. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  28792. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  28793. * an object configuration containing `color`, `offsetX`, `offsetY`,
  28794. * `opacity` and `width`.
  28795. */
  28796. shadow?: (boolean|ShadowOptionsObject);
  28797. /**
  28798. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  28799. * the border around the label. Symbols are predefined functions on the
  28800. * Renderer object.
  28801. */
  28802. shape?: string;
  28803. /**
  28804. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  28805. * default `color` setting is `"contrast"`, which is a pseudo color that
  28806. * Highcharts picks up and applies the maximum contrast to the underlying
  28807. * point item, for example the bar in a bar chart.
  28808. *
  28809. * The `textOutline` is a pseudo property that applies an outline of the
  28810. * given width with the given color, which by default is the maximum
  28811. * contrast to the text. So a bright text color will result in a black text
  28812. * outline for maximum readability on a mixed background. In some cases,
  28813. * especially with grayscale text, the text outline doesn't work well, in
  28814. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  28815. * is true, the `textOutline` will not be picked up. In this, case, the same
  28816. * effect can be acheived through the `text-shadow` CSS property.
  28817. *
  28818. * For some series types, where each point has an extent, like for example
  28819. * tree maps, the data label may overflow the point. There are two
  28820. * strategies for handling overflow. By default, the text will wrap to
  28821. * multiple lines. The other strategy is to set `style.textOverflow` to
  28822. * `ellipsis`, which will keep the text on one line plus it will break
  28823. * inside long words.
  28824. */
  28825. style?: CSSObject;
  28826. /**
  28827. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  28828. * should follow marker's shape. Border and background are disabled for a
  28829. * label that follows a path.
  28830. *
  28831. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  28832. * to true will disable this option.
  28833. */
  28834. textPath?: DataLabelsTextPathOptionsObject;
  28835. /**
  28836. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  28837. * the labels.
  28838. */
  28839. useHTML?: boolean;
  28840. /**
  28841. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  28842. * label. Can be one of `top`, `middle` or `bottom`. The default value
  28843. * depends on the data, for instance in a column chart, the label is above
  28844. * positive values and below negative values.
  28845. */
  28846. verticalAlign?: string;
  28847. /**
  28848. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  28849. * label relative to the point in pixels.
  28850. */
  28851. x?: number;
  28852. /**
  28853. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  28854. * label relative to the point in pixels.
  28855. */
  28856. y?: number;
  28857. /**
  28858. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  28859. * The default Z index puts it above the series. Use a Z index of 2 to
  28860. * display it behind the series.
  28861. */
  28862. z?: number;
  28863. }
  28864. /**
  28865. * (Highcharts, Highstock) Options for the series data sorting.
  28866. */
  28867. export interface PlotBubbleDataSortingOptions {
  28868. /**
  28869. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  28870. * Use xAxis.reversed to change the sorting order.
  28871. */
  28872. enabled?: boolean;
  28873. /**
  28874. * (Highcharts, Highstock) Whether to allow matching points by name in an
  28875. * update. If this option is disabled, points will be matched by order.
  28876. */
  28877. matchByName?: boolean;
  28878. /**
  28879. * (Highcharts, Highstock) Determines what data value should be used to sort
  28880. * by.
  28881. */
  28882. sortKey?: string;
  28883. }
  28884. /**
  28885. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  28886. * one state by default, the `default` state.
  28887. */
  28888. export interface PlotBubbleDragDropGuideBoxOptions {
  28889. /**
  28890. * (Highcharts, Highstock) Style options for the guide box default state.
  28891. */
  28892. default?: DragDropGuideBoxOptionsObject;
  28893. }
  28894. /**
  28895. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
  28896. * plotting discrete values, a little random noise may help telling the points
  28897. * apart. The jitter setting applies a random displacement of up to `n` axis
  28898. * units in either direction. So for example on a horizontal X axis, setting the
  28899. * `jitter.x` to 0.24 will render the point in a random position between 0.24
  28900. * units to the left and 0.24 units to the right of the true axis position. On a
  28901. * category axis, setting it to 0.5 will fill up the bin and make the data
  28902. * appear continuous.
  28903. *
  28904. * When rendered on top of a box plot or a column series, a jitter value of 0.24
  28905. * will correspond to the underlying series' default groupPadding and
  28906. * pointPadding settings.
  28907. */
  28908. export interface PlotBubbleJitterOptions {
  28909. /**
  28910. * (Highcharts, Highstock) The maximal X offset for the random jitter
  28911. * effect.
  28912. */
  28913. x?: number;
  28914. /**
  28915. * (Highcharts, Highstock) The maximal Y offset for the random jitter
  28916. * effect.
  28917. */
  28918. y?: number;
  28919. }
  28920. /**
  28921. * (Highcharts, Highstock) A bubble series is a three dimensional series type
  28922. * where each point renders an X, Y and Z value. Each points is drawn as a
  28923. * bubble where the position along the X and Y axes mark the X and Y values, and
  28924. * the size of the bubble relates to the Z value.
  28925. *
  28926. * In TypeScript the type option must always be set.
  28927. *
  28928. * Configuration options for the series are given in three levels:
  28929. *
  28930. * 1. Options for all series in a chart are defined in the plotOptions.series
  28931. * object.
  28932. *
  28933. * 2. Options for all `bubble` series are defined in plotOptions.bubble.
  28934. *
  28935. * 3. Options for one single series are given in the series instance array. (see
  28936. * online documentation for example)
  28937. */
  28938. export interface PlotBubbleOptions {
  28939. /**
  28940. * (Highcharts, Highstock) Accessibility options for a series.
  28941. */
  28942. accessibility?: SeriesAccessibilityOptionsObject;
  28943. /**
  28944. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  28945. * rendered. If `true`, areas which don't correspond to a data point, are
  28946. * rendered as `null` points. If `false`, those areas are skipped.
  28947. */
  28948. allAreas?: boolean;
  28949. /**
  28950. * (Highcharts, Highstock) Allow this series' points to be selected by
  28951. * clicking on the graphic (columns, point markers, pie slices, map areas
  28952. * etc).
  28953. *
  28954. * The selected points can be handled by point select and unselect events,
  28955. * or collectively by the getSelectedPoints function.
  28956. *
  28957. * And alternative way of selecting points is through dragging.
  28958. */
  28959. allowPointSelect?: boolean;
  28960. /**
  28961. * (Highcharts, Highstock) Enable or disable the initial animation when a
  28962. * series is displayed. The animation can also be set as a configuration
  28963. * object. Please note that this option only applies to the initial
  28964. * animation of the series itself. For other animations, see chart.animation
  28965. * and the animation parameter under the API methods. The following
  28966. * properties are supported:
  28967. *
  28968. * - `defer`: The animation delay time in milliseconds.
  28969. *
  28970. * - `duration`: The duration of the animation in milliseconds.
  28971. *
  28972. * - `easing`: Can be a string reference to an easing function set on the
  28973. * `Math` object or a function. See the _Custom easing function_ demo below.
  28974. *
  28975. * Due to poor performance, animation is disabled in old IE browsers for
  28976. * several chart types.
  28977. */
  28978. animation?: (boolean|PlotBubbleAnimationOptions|Partial<AnimationOptionsObject>);
  28979. /**
  28980. * (Highcharts, Highstock) If there are more points in the series than the
  28981. * `animationLimit`, the animation won't run. Animation affects overall
  28982. * performance and doesn't work well with heavy data series.
  28983. */
  28984. animationLimit?: number;
  28985. /**
  28986. * (Highcharts, Highstock) Sets the color blending in the boost module.
  28987. */
  28988. boostBlending?: OptionsBoostBlendingValue;
  28989. /**
  28990. * (Highcharts, Highstock) Set the point threshold for when a series should
  28991. * enter boost mode.
  28992. *
  28993. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  28994. * there are 2000 or more points in the series.
  28995. *
  28996. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  28997. * it to 1 will force boosting.
  28998. *
  28999. * Note that the cropThreshold also affects this setting. When zooming in on
  29000. * a series that has fewer points than the `cropThreshold`, all points are
  29001. * rendered although outside the visible plot area, and the `boostThreshold`
  29002. * won't take effect.
  29003. */
  29004. boostThreshold?: number;
  29005. /**
  29006. * (Highmaps) The border color of the map areas.
  29007. *
  29008. * In styled mode, the border stroke is given in the `.highcharts-point`
  29009. * class.
  29010. */
  29011. borderColor?: (ColorString|GradientColorObject|PatternObject);
  29012. /**
  29013. * (Highmaps) The border width of each map area.
  29014. *
  29015. * In styled mode, the border stroke width is given in the
  29016. * `.highcharts-point` class.
  29017. */
  29018. borderWidth?: number;
  29019. /**
  29020. * (Highcharts, Highstock) An additional class name to apply to the series'
  29021. * graphical elements. This option does not replace default class names of
  29022. * the graphical element.
  29023. */
  29024. className?: string;
  29025. /**
  29026. * (Highcharts, Highstock) Disable this option to allow series rendering in
  29027. * the whole plotting area.
  29028. *
  29029. * **Note:** Clipping should be always enabled when chart.zoomType is set
  29030. */
  29031. clip?: boolean;
  29032. /**
  29033. * (Highcharts, Highstock) The main color of the series. In line type series
  29034. * it applies to the line and the point markers unless otherwise specified.
  29035. * In bar type series it applies to the bars unless a color is specified per
  29036. * point. The default value is pulled from the `options.colors` array.
  29037. *
  29038. * In styled mode, the color can be defined by the colorIndex option. Also,
  29039. * the series color can be set with the `.highcharts-series`,
  29040. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  29041. * `.highcharts-series-{n}` class, or individual classes given by the
  29042. * `className` option.
  29043. */
  29044. color?: (ColorString|GradientColorObject|PatternObject);
  29045. /**
  29046. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  29047. * this number defines which colorAxis the particular series is connected
  29048. * to. It refers to either the axis id or the index of the axis in the
  29049. * colorAxis array, with 0 being the first. Set this option to false to
  29050. * prevent a series from connecting to the default color axis.
  29051. *
  29052. * Since v7.2.0 the option can also be an axis id or an axis index instead
  29053. * of a boolean flag.
  29054. */
  29055. colorAxis?: (boolean|number|string);
  29056. /**
  29057. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  29058. * for the series, so its graphic representations are given the class name
  29059. * `highcharts-color-{n}`.
  29060. */
  29061. colorIndex?: number;
  29062. /**
  29063. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  29064. * used to calculate point color if `colorAxis` is used. Requires to set
  29065. * `min` and `max` if some custom point property is used or if approximation
  29066. * for data grouping is set to `'sum'`.
  29067. */
  29068. colorKey?: string;
  29069. /**
  29070. * (Highstock) Compare the values of the series against the first non-null,
  29071. * non- zero value in the visible range. The y axis will show percentage or
  29072. * absolute change depending on whether `compare` is set to `"percent"` or
  29073. * `"value"`. When this is applied to multiple series, it allows comparing
  29074. * the development of the series against each other. Adds a `change` field
  29075. * to every point object.
  29076. */
  29077. compare?: string;
  29078. /**
  29079. * (Highstock) When compare is `percent`, this option dictates whether to
  29080. * use 0 or 100 as the base of comparison.
  29081. */
  29082. compareBase?: (0|100);
  29083. /**
  29084. * (Highstock) Defines if comparison should start from the first point
  29085. * within the visible range or should start from the first point **before**
  29086. * the range.
  29087. *
  29088. * In other words, this flag determines if first point within the visible
  29089. * range will have 0% (`compareStart=true`) or should have been already
  29090. * calculated according to the previous point (`compareStart=false`).
  29091. */
  29092. compareStart?: boolean;
  29093. /**
  29094. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  29095. * series plot across the extremes.
  29096. */
  29097. connectEnds?: boolean;
  29098. /**
  29099. * (Highcharts, Highstock) Whether to connect a graph line across null
  29100. * points, or render a gap between the two points on either side of the
  29101. * null.
  29102. */
  29103. connectNulls?: boolean;
  29104. /**
  29105. * (Gantt) Override Pathfinder connector options for a series. Requires
  29106. * Highcharts Gantt to be loaded.
  29107. */
  29108. connectors?: SeriesConnectorsOptionsObject;
  29109. /**
  29110. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  29111. * rounded to its nearest pixel in order to render sharp on screen. In some
  29112. * cases, when there are a lot of densely packed columns, this leads to
  29113. * visible difference in column widths or distance between columns. In these
  29114. * cases, setting `crisp` to `false` may look better, even though each
  29115. * column is rendered blurry.
  29116. */
  29117. crisp?: boolean;
  29118. /**
  29119. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  29120. * click events attached to the series, to signal to the user that the
  29121. * points and lines can be clicked.
  29122. *
  29123. * In styled mode, the series cursor can be set with the same classes as
  29124. * listed under series.color.
  29125. */
  29126. cursor?: (string|CursorValue);
  29127. /**
  29128. * (Highcharts, Highstock) A reserved subspace to store options and values
  29129. * for customized functionality. Here you can add additional data for your
  29130. * own event callbacks and formatter callbacks.
  29131. */
  29132. custom?: Dictionary<any>;
  29133. /**
  29134. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  29135. * for some series types the outline of each shape.
  29136. *
  29137. * In styled mode, the stroke dash-array can be set with the same classes as
  29138. * listed under series.color.
  29139. */
  29140. dashStyle?: DashStyleValue;
  29141. /**
  29142. * (Highstock) Data grouping is the concept of sampling the data values into
  29143. * larger blocks in order to ease readability and increase performance of
  29144. * the JavaScript charts. Highstock by default applies data grouping when
  29145. * the points become closer than a certain pixel value, determined by the
  29146. * `groupPixelWidth` option.
  29147. *
  29148. * If data grouping is applied, the grouping information of grouped points
  29149. * can be read from the Point.dataGroup. If point options other than the
  29150. * data itself are set, for example `name` or `color` or custom properties,
  29151. * the grouping logic doesn't know how to group it. In this case the options
  29152. * of the first point instance are copied over to the group point. This can
  29153. * be altered through a custom `approximation` callback function.
  29154. */
  29155. dataGrouping?: DataGroupingOptionsObject;
  29156. /**
  29157. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  29158. * labels, appearing next to each data point.
  29159. *
  29160. * Since v6.2.0, multiple data labels can be applied to each single point by
  29161. * defining them as an array of configs.
  29162. *
  29163. * In styled mode, the data labels can be styled with the
  29164. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  29165. * (see example).
  29166. */
  29167. dataLabels?: (PlotBubbleDataLabelsOptions|Array<PlotBubbleDataLabelsOptions>);
  29168. /**
  29169. * (Highcharts, Highstock) Options for the series data sorting.
  29170. */
  29171. dataSorting?: (DataSortingOptionsObject|PlotBubbleDataSortingOptions);
  29172. /**
  29173. * (Highcharts, Highstock) A description of the series to add to the screen
  29174. * reader information about the series.
  29175. */
  29176. description?: string;
  29177. /**
  29178. * (Highcharts, Highstock) Whether to display negative sized bubbles. The
  29179. * threshold is given by the zThreshold option, and negative bubbles can be
  29180. * visualized by setting negativeColor.
  29181. */
  29182. displayNegative?: boolean;
  29183. /**
  29184. * (Highcharts, Highstock) The draggable-points module allows points to be
  29185. * moved around or modified in the chart. In addition to the options
  29186. * mentioned under the `dragDrop` API structure, the module fires three
  29187. * events, point.dragStart, point.drag and point.drop.
  29188. */
  29189. dragDrop?: SeriesDragDropOptionsObject;
  29190. /**
  29191. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  29192. * specific series. This includes point tooltips and click events on graphs
  29193. * and points. For large datasets it improves performance.
  29194. */
  29195. enableMouseTracking?: boolean;
  29196. /**
  29197. * (Highcharts, Highstock) General event handlers for the series items.
  29198. * These event hooks can also be attached to the series at run time using
  29199. * the `Highcharts.addEvent` function.
  29200. */
  29201. events?: SeriesEventsOptionsObject;
  29202. /**
  29203. * (Highcharts, Highstock) Determines whether the series should look for the
  29204. * nearest point in both dimensions or just the x-dimension when hovering
  29205. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  29206. * other series. If the data has duplicate x-values, it is recommended to
  29207. * set this to `'xy'` to allow hovering over all points.
  29208. *
  29209. * Applies only to series types using nearest neighbor search (not direct
  29210. * hover) for tooltip.
  29211. */
  29212. findNearestPointBy?: OptionsFindNearestPointByValue;
  29213. /**
  29214. * (Highstock) Defines when to display a gap in the graph, together with the
  29215. * gapUnit option.
  29216. *
  29217. * In case when `dataGrouping` is enabled, points can be grouped into a
  29218. * larger time span. This can make the grouped points to have a greater
  29219. * distance than the absolute value of `gapSize` property, which will result
  29220. * in disappearing graph completely. To prevent this situation the mentioned
  29221. * distance between grouped points is used instead of previously defined
  29222. * `gapSize`.
  29223. *
  29224. * In practice, this option is most often used to visualize gaps in time
  29225. * series. In a stock chart, intraday data is available for daytime hours,
  29226. * while gaps will appear in nights and weekends.
  29227. */
  29228. gapSize?: number;
  29229. /**
  29230. * (Highstock) Together with gapSize, this option defines where to draw gaps
  29231. * in the graph.
  29232. *
  29233. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  29234. * if the distance between two points is greater than 5 times that of the
  29235. * two closest points, the graph will be broken.
  29236. *
  29237. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  29238. * values, which on a datetime axis is milliseconds. This also applies to
  29239. * the navigator series that inherits gap options from the base series.
  29240. */
  29241. gapUnit?: OptionsGapUnitValue;
  29242. /**
  29243. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  29244. * chart width or only the zoomed area when zooming in on parts of the X
  29245. * axis. By default, the Y axis adjusts to the min and max of the visible
  29246. * data. Cartesian series only.
  29247. */
  29248. getExtremesFromAll?: boolean;
  29249. /**
  29250. * (Highcharts, Highstock) When set to `false` will prevent the series data
  29251. * from being included in any form of data export.
  29252. *
  29253. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  29254. * `includeInCSVExport`.
  29255. */
  29256. includeInDataExport?: boolean;
  29257. /**
  29258. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
  29259. * When plotting discrete values, a little random noise may help telling the
  29260. * points apart. The jitter setting applies a random displacement of up to
  29261. * `n` axis units in either direction. So for example on a horizontal X
  29262. * axis, setting the `jitter.x` to 0.24 will render the point in a random
  29263. * position between 0.24 units to the left and 0.24 units to the right of
  29264. * the true axis position. On a category axis, setting it to 0.5 will fill
  29265. * up the bin and make the data appear continuous.
  29266. *
  29267. * When rendered on top of a box plot or a column series, a jitter value of
  29268. * 0.24 will correspond to the underlying series' default groupPadding and
  29269. * pointPadding settings.
  29270. */
  29271. jitter?: PlotBubbleJitterOptions;
  29272. /**
  29273. * (Highmaps) What property to join the `mapData` to the value data. For
  29274. * example, if joinBy is "code", the mapData items with a specific code is
  29275. * merged into the data with the same code. For maps loaded from GeoJSON,
  29276. * the keys may be held in each point's `properties` object.
  29277. *
  29278. * The joinBy option can also be an array of two values, where the first
  29279. * points to a key in the `mapData`, and the second points to another key in
  29280. * the `data`.
  29281. *
  29282. * When joinBy is `null`, the map items are joined by their position in the
  29283. * array, which performs much better in maps with many data points. This is
  29284. * the recommended option if you are printing more than a thousand data
  29285. * points and have a backend that can preprocess the data into a parallel
  29286. * array of the mapData.
  29287. */
  29288. joinBy?: (string|Array<string>);
  29289. /**
  29290. * (Highcharts, Highstock) An array specifying which option maps to which
  29291. * key in the data point array. This makes it convenient to work with
  29292. * unstructured data arrays from different sources.
  29293. */
  29294. keys?: Array<string>;
  29295. /**
  29296. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  29297. * series as possible in a natural way, seeking to avoid other series. The
  29298. * goal of this feature is to make the chart more easily readable, like if a
  29299. * human designer placed the labels in the optimal position.
  29300. *
  29301. * The series labels currently work with series types having a `graph` or an
  29302. * `area`.
  29303. */
  29304. label?: SeriesLabelOptionsObject;
  29305. /**
  29306. * (Highstock) The line marks the last price from all points.
  29307. */
  29308. lastPrice?: SeriesLastPriceOptionsObject;
  29309. /**
  29310. * (Highstock) The line marks the last price from visible range of points.
  29311. */
  29312. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  29313. /**
  29314. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  29315. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  29316. * the ends and bends.
  29317. */
  29318. linecap?: SeriesLinecapValue;
  29319. /**
  29320. * (Highcharts, Highstock) The width of the line connecting the data points.
  29321. */
  29322. lineWidth?: number;
  29323. /**
  29324. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  29325. * Additionally, the value can be ":previous" to link to the previous
  29326. * series. When two series are linked, only the first one appears in the
  29327. * legend. Toggling the visibility of this also toggles the linked series.
  29328. *
  29329. * If master series uses data sorting and linked series does not have its
  29330. * own sorting definition, the linked series will be sorted in the same
  29331. * order as the master one.
  29332. */
  29333. linkedTo?: string;
  29334. /**
  29335. * (Highcharts, Highstock) Options for the point markers of line-like
  29336. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  29337. * the visual appearance of the markers. Other series types, like column
  29338. * series, don't have markers, but have visual options on the series level
  29339. * instead.
  29340. *
  29341. * In styled mode, the markers can be styled with the `.highcharts-point`,
  29342. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  29343. */
  29344. marker?: PointMarkerOptionsObject;
  29345. /**
  29346. * (Highcharts, Highstock) Maximum bubble size. Bubbles will automatically
  29347. * size between the `minSize` and `maxSize` to reflect the `z` value of each
  29348. * bubble. Can be either pixels (when no unit is given), or a percentage of
  29349. * the smallest one of the plot width and height.
  29350. */
  29351. maxSize?: (number|string);
  29352. /**
  29353. * (Highcharts, Highstock) Minimum bubble size. Bubbles will automatically
  29354. * size between the `minSize` and `maxSize` to reflect the `z` value of each
  29355. * bubble. Can be either pixels (when no unit is given), or a percentage of
  29356. * the smallest one of the plot width and height.
  29357. */
  29358. minSize?: (number|string);
  29359. /**
  29360. * (Highstock) Options for the corresponding navigator series if
  29361. * `showInNavigator` is `true` for this series. Available options are the
  29362. * same as any series, documented at plotOptions and series.
  29363. *
  29364. * These options are merged with options in navigator.series, and will take
  29365. * precedence if the same option is defined both places.
  29366. */
  29367. navigatorOptions?: PlotSeriesOptions;
  29368. /**
  29369. * (Highcharts) When a point's Z value is below the zThreshold setting, this
  29370. * color is used.
  29371. */
  29372. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  29373. /**
  29374. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  29375. * and dataLabels.
  29376. */
  29377. opacity?: number;
  29378. /**
  29379. * (Highcharts, Highstock) Properties for each single point.
  29380. */
  29381. point?: PlotSeriesPointOptions;
  29382. /**
  29383. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  29384. * but for an individual series. Overrides the chart wide configuration.
  29385. */
  29386. pointDescriptionFormatter?: Function;
  29387. /**
  29388. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  29389. * a series, `pointInterval` defines the interval of the x values. For
  29390. * example, if a series contains one value every decade starting from year
  29391. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  29392. * `pointInterval` is set in milliseconds.
  29393. *
  29394. * It can be also be combined with `pointIntervalUnit` to draw irregular
  29395. * time intervals.
  29396. *
  29397. * Please note that this options applies to the _series data_, not the
  29398. * interval of the axis ticks, which is independent.
  29399. */
  29400. pointInterval?: number;
  29401. /**
  29402. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  29403. * setting the pointInterval to irregular time units, `day`, `month` and
  29404. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  29405. * also takes the DST crossover into consideration when dealing with local
  29406. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  29407. * months, 10 years etc.
  29408. *
  29409. * Please note that this options applies to the _series data_, not the
  29410. * interval of the axis ticks, which is independent.
  29411. */
  29412. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  29413. /**
  29414. * (Highstock) The width of each point on the x axis. For example in a
  29415. * column chart with one value each day, the pointRange would be 1 day (= 24
  29416. * * 3600
  29417. *
  29418. * * 1000 milliseconds). This is normally computed automatically, but this
  29419. * option can be used to override the automatic value.
  29420. */
  29421. pointRange?: number;
  29422. /**
  29423. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  29424. * a series, pointStart defines on what value to start. For example, if a
  29425. * series contains one yearly value starting from 1945, set pointStart to
  29426. * 1945.
  29427. */
  29428. pointStart?: number;
  29429. /**
  29430. * (Highcharts, Highstock) Whether to select the series initially. If
  29431. * `showCheckbox` is true, the checkbox next to the series name in the
  29432. * legend will be checked for a selected series.
  29433. */
  29434. selected?: boolean;
  29435. /**
  29436. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  29437. * legend item to allow selecting the series. The state of the checkbox is
  29438. * determined by the `selected` option.
  29439. */
  29440. showCheckbox?: boolean;
  29441. /**
  29442. * (Highcharts, Highstock) Whether to display this particular series or
  29443. * series type in the legend. Standalone series are shown in legend by
  29444. * default, and linked series are not. Since v7.2.0 it is possible to show
  29445. * series that use colorAxis by setting this option to `true`.
  29446. */
  29447. showInLegend?: boolean;
  29448. /**
  29449. * (Highstock) Whether or not to show the series in the navigator. Takes
  29450. * precedence over navigator.baseSeries if defined.
  29451. */
  29452. showInNavigator?: boolean;
  29453. /**
  29454. * (Highcharts, Highstock) Whether the bubble's value should be represented
  29455. * by the area or the width of the bubble. The default, `area`, corresponds
  29456. * best to the human perception of the size of each bubble.
  29457. */
  29458. sizeBy?: BubbleSizeByValue;
  29459. /**
  29460. * (Highcharts) When this is true, the absolute value of z determines the
  29461. * size of the bubble. This means that with the default `zThreshold` of 0, a
  29462. * bubble of value -1 will have the same size as a bubble of value 1, while
  29463. * a bubble of value 0 will have a smaller size according to `minSize`.
  29464. */
  29465. sizeByAbsoluteValue?: boolean;
  29466. /**
  29467. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  29468. * skip past the points in this series for keyboard navigation.
  29469. */
  29470. skipKeyboardNavigation?: boolean;
  29471. /**
  29472. * (Highcharts) When this is true, the series will not cause the Y axis to
  29473. * cross the zero plane (or threshold option) unless the data actually
  29474. * crosses the plane.
  29475. *
  29476. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  29477. * make the Y axis show negative values according to the `minPadding`
  29478. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  29479. */
  29480. softThreshold?: boolean;
  29481. /**
  29482. * (Highcharts, Highstock) Whether to stack the values of each series on top
  29483. * of each other. Possible values are `undefined` to disable, `"normal"` to
  29484. * stack by value or `"percent"`.
  29485. *
  29486. * When stacking is enabled, data must be sorted in ascending X order.
  29487. *
  29488. * Some stacking options are related to specific series types. In the
  29489. * streamgraph series type, the stacking option is set to `"stream"`. The
  29490. * second one is `"overlap"`, which only applies to waterfall series.
  29491. */
  29492. stacking?: OptionsStackingValue;
  29493. states?: SeriesStatesOptionsObject;
  29494. /**
  29495. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  29496. * values are `left`, `center` and `right`.
  29497. */
  29498. step?: OptionsStepValue;
  29499. /**
  29500. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  29501. * `mouseOut` event on a series isn't triggered until the mouse moves over
  29502. * another series, or out of the plot area. When false, the `mouseOut` event
  29503. * on a series is triggered when the mouse leaves the area around the
  29504. * series' graph or markers. This also implies the tooltip. When
  29505. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  29506. * be hidden when moving the mouse between series.
  29507. */
  29508. stickyTracking?: boolean;
  29509. /**
  29510. * (Highcharts, Highstock) The threshold, also called zero level or base
  29511. * level. For line type series this is only used in conjunction with
  29512. * negativeColor.
  29513. */
  29514. threshold?: number;
  29515. /**
  29516. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  29517. * of each single series. Properties are inherited from tooltip. Overridable
  29518. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  29519. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  29520. * series.name by default shows in the headerFormat and point.x and point.y
  29521. * in the pointFormat.
  29522. */
  29523. tooltip?: SeriesTooltipOptionsObject;
  29524. /**
  29525. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  29526. * is longer than this, only one dimensional arrays of numbers, or two
  29527. * dimensional arrays with x and y values are allowed. Also, only the first
  29528. * point is tested, and the rest are assumed to be the same format. This
  29529. * saves expensive data checking and indexing in long series. Set it to `0`
  29530. * disable.
  29531. *
  29532. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  29533. * two dimensional arrays are allowed.
  29534. */
  29535. turboThreshold?: number;
  29536. /**
  29537. * (Highcharts, Highstock) Set the initial visibility of the series.
  29538. */
  29539. visible?: boolean;
  29540. /**
  29541. * (Highmaps) Define the z index of the series.
  29542. */
  29543. zIndex?: number;
  29544. /**
  29545. * (Highcharts) The minimum for the Z value range. Defaults to the highest Z
  29546. * value in the data.
  29547. */
  29548. zMax?: number;
  29549. /**
  29550. * (Highcharts) The minimum for the Z value range. Defaults to the lowest Z
  29551. * value in the data.
  29552. */
  29553. zMin?: number;
  29554. /**
  29555. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  29556. */
  29557. zoneAxis?: string;
  29558. /**
  29559. * (Highcharts, Highstock) An array defining zones within a series. Zones
  29560. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  29561. * the `zoneAxis` option. The zone definitions have to be in ascending order
  29562. * regarding to the value.
  29563. *
  29564. * In styled mode, the color zones are styled with the
  29565. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  29566. * option (view live demo).
  29567. */
  29568. zones?: Array<SeriesZonesOptionsObject>;
  29569. /**
  29570. * (Highcharts) When displayNegative is `false`, bubbles with lower Z values
  29571. * are skipped. When `displayNegative` is `true` and a negativeColor is
  29572. * given, points with lower Z is colored.
  29573. */
  29574. zThreshold?: number;
  29575. }
  29576. /**
  29577. * (Highcharts) Enable or disable the initial animation when a series is
  29578. * displayed. The animation can also be set as a configuration object. Please
  29579. * note that this option only applies to the initial animation of the series
  29580. * itself. For other animations, see chart.animation and the animation parameter
  29581. * under the API methods. The following properties are supported:
  29582. *
  29583. * - `defer`: The animation delay time in milliseconds.
  29584. *
  29585. * - `duration`: The duration of the animation in milliseconds.
  29586. *
  29587. * - `easing`: Can be a string reference to an easing function set on the `Math`
  29588. * object or a function. See the _Custom easing function_ demo below.
  29589. *
  29590. * Due to poor performance, animation is disabled in old IE browsers for several
  29591. * chart types.
  29592. */
  29593. export interface PlotBulletAnimationOptions {
  29594. defer?: number;
  29595. }
  29596. /**
  29597. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  29598. * animation when a series is displayed for the `dataLabels`. The animation can
  29599. * also be set as a configuration object. Please note that this option only
  29600. * applies to the initial animation. For other animations, see chart.animation
  29601. * and the animation parameter under the API methods. The following properties
  29602. * are supported:
  29603. *
  29604. * - `defer`: The animation delay time in milliseconds.
  29605. */
  29606. export interface PlotBulletDataLabelsAnimationOptions {
  29607. /**
  29608. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  29609. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  29610. * inherits defer time from the series.animation.defer.
  29611. */
  29612. defer?: number;
  29613. }
  29614. /**
  29615. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  29616. * appearing next to each data point.
  29617. *
  29618. * Since v6.2.0, multiple data labels can be applied to each single point by
  29619. * defining them as an array of configs.
  29620. *
  29621. * In styled mode, the data labels can be styled with the
  29622. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  29623. * example).
  29624. */
  29625. export interface PlotBulletDataLabelsOptions {
  29626. /**
  29627. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  29628. * compared to the point. If `right`, the right side of the label should be
  29629. * touching the point. For points with an extent, like columns, the
  29630. * alignments also dictates how to align it inside the box, as given with
  29631. * the inside option. Can be one of `left`, `center` or `right`.
  29632. */
  29633. align?: string;
  29634. /**
  29635. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  29636. * overlap. To make the labels less sensitive for overlapping, the
  29637. * dataLabels.padding can be set to 0.
  29638. */
  29639. allowOverlap?: boolean;
  29640. /**
  29641. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  29642. * animation when a series is displayed for the `dataLabels`. The animation
  29643. * can also be set as a configuration object. Please note that this option
  29644. * only applies to the initial animation. For other animations, see
  29645. * chart.animation and the animation parameter under the API methods. The
  29646. * following properties are supported:
  29647. *
  29648. * - `defer`: The animation delay time in milliseconds.
  29649. */
  29650. animation?: (boolean|PlotBulletDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  29651. /**
  29652. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  29653. * for the data label.
  29654. */
  29655. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  29656. /**
  29657. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  29658. * label. Defaults to `undefined`.
  29659. */
  29660. borderColor?: (ColorString|GradientColorObject|PatternObject);
  29661. /**
  29662. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  29663. * the data label.
  29664. */
  29665. borderRadius?: number;
  29666. /**
  29667. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  29668. * the data label.
  29669. */
  29670. borderWidth?: number;
  29671. /**
  29672. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  29673. * Particularly in styled mode, this can be used to give each series' or
  29674. * point's data label unique styling. In addition to this option, a default
  29675. * color class name is added so that we can give the labels a contrast text
  29676. * shadow.
  29677. */
  29678. className?: string;
  29679. /**
  29680. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  29681. * labels. Defaults to `undefined`. For certain series types, like column or
  29682. * map, the data labels can be drawn inside the points. In this case the
  29683. * data label will be drawn with maximum contrast by default. Additionally,
  29684. * it will be given a `text-outline` style with the opposite color, to
  29685. * further increase the contrast. This can be overridden by setting the
  29686. * `text-outline` style to `none` in the `dataLabels.style` option.
  29687. */
  29688. color?: (ColorString|GradientColorObject|PatternObject);
  29689. /**
  29690. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  29691. * are outside the plot area. By default, the data label is moved inside the
  29692. * plot area according to the overflow option.
  29693. */
  29694. crop?: boolean;
  29695. /**
  29696. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  29697. * labels until the initial series animation has finished. Setting to
  29698. * `false` renders the data label immediately. If set to `true` inherits the
  29699. * defer time set in plotOptions.series.animation.
  29700. */
  29701. defer?: boolean;
  29702. /**
  29703. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  29704. * labels.
  29705. */
  29706. enabled?: boolean;
  29707. /**
  29708. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  29709. * of which data labels to display. The declarative filter is designed for
  29710. * use when callback functions are not available, like when the chart
  29711. * options require a pure JSON structure or for use with graphical editors.
  29712. * For programmatic control, use the `formatter` instead, and return
  29713. * `undefined` to disable a single data label.
  29714. */
  29715. filter?: DataLabelsFilterOptionsObject;
  29716. /**
  29717. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  29718. * label. Available variables are the same as for `formatter`.
  29719. */
  29720. format?: string;
  29721. /**
  29722. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  29723. * format the data label. Note that if a `format` is defined, the format
  29724. * takes precedence and the formatter is ignored.
  29725. */
  29726. formatter?: DataLabelsFormatterCallbackFunction;
  29727. /**
  29728. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  29729. * columns or map areas, whether to align the data label inside the box or
  29730. * to the actual value point. Defaults to `false` in most cases, `true` in
  29731. * stacked columns.
  29732. */
  29733. inside?: boolean;
  29734. /**
  29735. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  29736. * of null. Works analogously to format. `nullFormat` can be applied only to
  29737. * series which support displaying null points.
  29738. */
  29739. nullFormat?: (boolean|string);
  29740. /**
  29741. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  29742. * that defines formatting for points with the value of null. Works
  29743. * analogously to formatter. `nullPointFormatter` can be applied only to
  29744. * series which support displaying null points.
  29745. */
  29746. nullFormatter?: DataLabelsFormatterCallbackFunction;
  29747. /**
  29748. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  29749. * flow outside the plot area. The default is `"justify"`, which aligns them
  29750. * inside the plot area. For columns and bars, this means it will be moved
  29751. * inside the bar. To display data labels outside the plot area, set `crop`
  29752. * to `false` and `overflow` to `"allow"`.
  29753. */
  29754. overflow?: DataLabelsOverflowValue;
  29755. /**
  29756. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  29757. * the `backgroundColor` is set, this is the padding within the box.
  29758. */
  29759. padding?: number;
  29760. /**
  29761. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  29762. * points. If `center` alignment is not possible, it defaults to `right`.
  29763. */
  29764. position?: AlignValue;
  29765. /**
  29766. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  29767. * that due to a more complex structure, backgrounds, borders and padding
  29768. * will be lost on a rotated data label.
  29769. */
  29770. rotation?: number;
  29771. /**
  29772. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  29773. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  29774. * an object configuration containing `color`, `offsetX`, `offsetY`,
  29775. * `opacity` and `width`.
  29776. */
  29777. shadow?: (boolean|ShadowOptionsObject);
  29778. /**
  29779. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  29780. * the border around the label. Symbols are predefined functions on the
  29781. * Renderer object.
  29782. */
  29783. shape?: string;
  29784. /**
  29785. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  29786. * default `color` setting is `"contrast"`, which is a pseudo color that
  29787. * Highcharts picks up and applies the maximum contrast to the underlying
  29788. * point item, for example the bar in a bar chart.
  29789. *
  29790. * The `textOutline` is a pseudo property that applies an outline of the
  29791. * given width with the given color, which by default is the maximum
  29792. * contrast to the text. So a bright text color will result in a black text
  29793. * outline for maximum readability on a mixed background. In some cases,
  29794. * especially with grayscale text, the text outline doesn't work well, in
  29795. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  29796. * is true, the `textOutline` will not be picked up. In this, case, the same
  29797. * effect can be acheived through the `text-shadow` CSS property.
  29798. *
  29799. * For some series types, where each point has an extent, like for example
  29800. * tree maps, the data label may overflow the point. There are two
  29801. * strategies for handling overflow. By default, the text will wrap to
  29802. * multiple lines. The other strategy is to set `style.textOverflow` to
  29803. * `ellipsis`, which will keep the text on one line plus it will break
  29804. * inside long words.
  29805. */
  29806. style?: CSSObject;
  29807. /**
  29808. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  29809. * should follow marker's shape. Border and background are disabled for a
  29810. * label that follows a path.
  29811. *
  29812. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  29813. * to true will disable this option.
  29814. */
  29815. textPath?: DataLabelsTextPathOptionsObject;
  29816. /**
  29817. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  29818. * the labels.
  29819. */
  29820. useHTML?: boolean;
  29821. /**
  29822. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  29823. * label. Can be one of `top`, `middle` or `bottom`. The default value
  29824. * depends on the data, for instance in a column chart, the label is above
  29825. * positive values and below negative values.
  29826. */
  29827. verticalAlign?: string;
  29828. /**
  29829. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  29830. * label relative to the point in pixels.
  29831. */
  29832. x?: number;
  29833. /**
  29834. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  29835. * label relative to the point in pixels.
  29836. */
  29837. y?: number;
  29838. /**
  29839. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  29840. * The default Z index puts it above the series. Use a Z index of 2 to
  29841. * display it behind the series.
  29842. */
  29843. z?: number;
  29844. }
  29845. /**
  29846. * (Highcharts) Style options for the guide box. The guide box has one state by
  29847. * default, the `default` state.
  29848. */
  29849. export interface PlotBulletDragDropGuideBoxOptions {
  29850. /**
  29851. * (Highcharts) Style options for the guide box default state.
  29852. */
  29853. default?: DragDropGuideBoxOptionsObject;
  29854. }
  29855. /**
  29856. * (Highcharts) A bullet graph is a variation of a bar graph. The bullet graph
  29857. * features a single measure, compares it to a target, and displays it in the
  29858. * context of qualitative ranges of performance that could be set using
  29859. * plotBands on yAxis.
  29860. *
  29861. * In TypeScript the type option must always be set.
  29862. *
  29863. * Configuration options for the series are given in three levels:
  29864. *
  29865. * 1. Options for all series in a chart are defined in the plotOptions.series
  29866. * object.
  29867. *
  29868. * 2. Options for all `bullet` series are defined in plotOptions.bullet.
  29869. *
  29870. * 3. Options for one single series are given in the series instance array. (see
  29871. * online documentation for example)
  29872. */
  29873. export interface PlotBulletOptions {
  29874. /**
  29875. * (Highcharts) Accessibility options for a series.
  29876. */
  29877. accessibility?: SeriesAccessibilityOptionsObject;
  29878. /**
  29879. * (Highcharts) Allow this series' points to be selected by clicking on the
  29880. * graphic (columns, point markers, pie slices, map areas etc).
  29881. *
  29882. * The selected points can be handled by point select and unselect events,
  29883. * or collectively by the getSelectedPoints function.
  29884. *
  29885. * And alternative way of selecting points is through dragging.
  29886. */
  29887. allowPointSelect?: boolean;
  29888. /**
  29889. * (Highcharts) Enable or disable the initial animation when a series is
  29890. * displayed. The animation can also be set as a configuration object.
  29891. * Please note that this option only applies to the initial animation of the
  29892. * series itself. For other animations, see chart.animation and the
  29893. * animation parameter under the API methods. The following properties are
  29894. * supported:
  29895. *
  29896. * - `defer`: The animation delay time in milliseconds.
  29897. *
  29898. * - `duration`: The duration of the animation in milliseconds.
  29899. *
  29900. * - `easing`: Can be a string reference to an easing function set on the
  29901. * `Math` object or a function. See the _Custom easing function_ demo below.
  29902. *
  29903. * Due to poor performance, animation is disabled in old IE browsers for
  29904. * several chart types.
  29905. */
  29906. animation?: (boolean|PlotBulletAnimationOptions|Partial<AnimationOptionsObject>);
  29907. /**
  29908. * (Highcharts) For some series, there is a limit that shuts down initial
  29909. * animation by default when the total number of points in the chart is too
  29910. * high. For example, for a column chart and its derivatives, animation does
  29911. * not run if there is more than 250 points totally. To disable this cap,
  29912. * set `animationLimit` to `Infinity`.
  29913. */
  29914. animationLimit?: number;
  29915. /**
  29916. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  29917. * column or bar.
  29918. *
  29919. * In styled mode, the border stroke can be set with the `.highcharts-point`
  29920. * rule.
  29921. */
  29922. borderColor?: (ColorString|GradientColorObject|PatternObject);
  29923. /**
  29924. * (Highcharts, Highstock, Gantt) The corner radius of the border
  29925. * surrounding each column or bar.
  29926. */
  29927. borderRadius?: number;
  29928. /**
  29929. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  29930. * column or bar. Defaults to `1` when there is room for a border, but to
  29931. * `0` when the columns are so dense that a border would cover the next
  29932. * column.
  29933. *
  29934. * In styled mode, the stroke width can be set with the `.highcharts-point`
  29935. * rule.
  29936. */
  29937. borderWidth?: number;
  29938. /**
  29939. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  29940. * the category, ignoring null or missing points. When `false`, space will
  29941. * be reserved for null or missing points.
  29942. */
  29943. centerInCategory?: boolean;
  29944. /**
  29945. * (Highcharts) An additional class name to apply to the series' graphical
  29946. * elements. This option does not replace default class names of the
  29947. * graphical element.
  29948. */
  29949. className?: string;
  29950. /**
  29951. * (Highcharts) Disable this option to allow series rendering in the whole
  29952. * plotting area.
  29953. *
  29954. * **Note:** Clipping should be always enabled when chart.zoomType is set
  29955. */
  29956. clip?: boolean;
  29957. /**
  29958. * (Highcharts) The main color of the series. In line type series it applies
  29959. * to the line and the point markers unless otherwise specified. In bar type
  29960. * series it applies to the bars unless a color is specified per point. The
  29961. * default value is pulled from the `options.colors` array.
  29962. *
  29963. * In styled mode, the color can be defined by the colorIndex option. Also,
  29964. * the series color can be set with the `.highcharts-series`,
  29965. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  29966. * `.highcharts-series-{n}` class, or individual classes given by the
  29967. * `className` option.
  29968. */
  29969. color?: (ColorString|GradientColorObject|PatternObject);
  29970. /**
  29971. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  29972. * from the global colors or series-specific plotOptions.column.colors
  29973. * collections, this option determines whether the chart should receive one
  29974. * color per series or one color per point.
  29975. *
  29976. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  29977. * and instead this option gives the points individual color class names on
  29978. * the form `highcharts-color-{n}`.
  29979. */
  29980. colorByPoint?: boolean;
  29981. /**
  29982. * (Highcharts) Styled mode only. A specific color index to use for the
  29983. * series, so its graphic representations are given the class name
  29984. * `highcharts-color-{n}`.
  29985. */
  29986. colorIndex?: number;
  29987. /**
  29988. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  29989. * used to calculate point color if `colorAxis` is used. Requires to set
  29990. * `min` and `max` if some custom point property is used or if approximation
  29991. * for data grouping is set to `'sum'`.
  29992. */
  29993. colorKey?: string;
  29994. /**
  29995. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  29996. * color set to apply instead of the global colors when colorByPoint is
  29997. * true.
  29998. */
  29999. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  30000. /**
  30001. * (Highstock) Defines if comparison should start from the first point
  30002. * within the visible range or should start from the first point **before**
  30003. * the range.
  30004. *
  30005. * In other words, this flag determines if first point within the visible
  30006. * range will have 0% (`compareStart=true`) or should have been already
  30007. * calculated according to the previous point (`compareStart=false`).
  30008. */
  30009. compareStart?: boolean;
  30010. /**
  30011. * (Gantt) Override Pathfinder connector options for a series. Requires
  30012. * Highcharts Gantt to be loaded.
  30013. */
  30014. connectors?: SeriesConnectorsOptionsObject;
  30015. /**
  30016. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  30017. * rounded to its nearest pixel in order to render sharp on screen. In some
  30018. * cases, when there are a lot of densely packed columns, this leads to
  30019. * visible difference in column widths or distance between columns. In these
  30020. * cases, setting `crisp` to `false` may look better, even though each
  30021. * column is rendered blurry.
  30022. */
  30023. crisp?: boolean;
  30024. /**
  30025. * (Highcharts, Highstock, Gantt) When the series contains less points than
  30026. * the crop threshold, all points are drawn, event if the points fall
  30027. * outside the visible plot area at the current zoom. The advantage of
  30028. * drawing all points (including markers and columns), is that animation is
  30029. * performed on updates. On the other hand, when the series contains more
  30030. * points than the crop threshold, the series data is cropped to only
  30031. * contain points that fall within the plot area. The advantage of cropping
  30032. * away invisible points is to increase performance on large series.
  30033. */
  30034. cropThreshold?: number;
  30035. /**
  30036. * (Highcharts) You can set the cursor to "pointer" if you have click events
  30037. * attached to the series, to signal to the user that the points and lines
  30038. * can be clicked.
  30039. *
  30040. * In styled mode, the series cursor can be set with the same classes as
  30041. * listed under series.color.
  30042. */
  30043. cursor?: (string|CursorValue);
  30044. /**
  30045. * (Highcharts) A reserved subspace to store options and values for
  30046. * customized functionality. Here you can add additional data for your own
  30047. * event callbacks and formatter callbacks.
  30048. */
  30049. custom?: Dictionary<any>;
  30050. /**
  30051. * (Highcharts) Name of the dash style to use for the graph, or for some
  30052. * series types the outline of each shape.
  30053. *
  30054. * In styled mode, the stroke dash-array can be set with the same classes as
  30055. * listed under series.color.
  30056. */
  30057. dashStyle?: DashStyleValue;
  30058. /**
  30059. * (Highstock) Data grouping is the concept of sampling the data values into
  30060. * larger blocks in order to ease readability and increase performance of
  30061. * the JavaScript charts. Highstock by default applies data grouping when
  30062. * the points become closer than a certain pixel value, determined by the
  30063. * `groupPixelWidth` option.
  30064. *
  30065. * If data grouping is applied, the grouping information of grouped points
  30066. * can be read from the Point.dataGroup. If point options other than the
  30067. * data itself are set, for example `name` or `color` or custom properties,
  30068. * the grouping logic doesn't know how to group it. In this case the options
  30069. * of the first point instance are copied over to the group point. This can
  30070. * be altered through a custom `approximation` callback function.
  30071. */
  30072. dataGrouping?: DataGroupingOptionsObject;
  30073. /**
  30074. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  30075. * labels, appearing next to each data point.
  30076. *
  30077. * Since v6.2.0, multiple data labels can be applied to each single point by
  30078. * defining them as an array of configs.
  30079. *
  30080. * In styled mode, the data labels can be styled with the
  30081. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  30082. * (see example).
  30083. */
  30084. dataLabels?: (PlotBulletDataLabelsOptions|Array<PlotBulletDataLabelsOptions>);
  30085. /**
  30086. * (Highcharts) Depth of the columns in a 3D column chart.
  30087. */
  30088. depth?: number;
  30089. /**
  30090. * (Highcharts) A description of the series to add to the screen reader
  30091. * information about the series.
  30092. */
  30093. description?: string;
  30094. /**
  30095. * (Highcharts) The draggable-points module allows points to be moved around
  30096. * or modified in the chart. In addition to the options mentioned under the
  30097. * `dragDrop` API structure, the module fires three events, point.dragStart,
  30098. * point.drag and point.drop.
  30099. */
  30100. dragDrop?: SeriesDragDropOptionsObject;
  30101. /**
  30102. * (Highcharts) 3D columns only. The color of the edges. Similar to
  30103. * `borderColor`, except it defaults to the same color as the column.
  30104. */
  30105. edgeColor?: ColorString;
  30106. /**
  30107. * (Highcharts) 3D columns only. The width of the colored edges.
  30108. */
  30109. edgeWidth?: number;
  30110. /**
  30111. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  30112. * This includes point tooltips and click events on graphs and points. For
  30113. * large datasets it improves performance.
  30114. */
  30115. enableMouseTracking?: boolean;
  30116. /**
  30117. * (Highcharts) General event handlers for the series items. These event
  30118. * hooks can also be attached to the series at run time using the
  30119. * `Highcharts.addEvent` function.
  30120. */
  30121. events?: SeriesEventsOptionsObject;
  30122. /**
  30123. * (Highcharts) Determines whether the series should look for the nearest
  30124. * point in both dimensions or just the x-dimension when hovering the
  30125. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  30126. * series. If the data has duplicate x-values, it is recommended to set this
  30127. * to `'xy'` to allow hovering over all points.
  30128. *
  30129. * Applies only to series types using nearest neighbor search (not direct
  30130. * hover) for tooltip.
  30131. */
  30132. findNearestPointBy?: OptionsFindNearestPointByValue;
  30133. /**
  30134. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  30135. * chart width or only the zoomed area when zooming in on parts of the X
  30136. * axis. By default, the Y axis adjusts to the min and max of the visible
  30137. * data. Cartesian series only.
  30138. */
  30139. getExtremesFromAll?: boolean;
  30140. /**
  30141. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  30142. * let them render independent of each other. Non-grouped columns will be
  30143. * laid out individually and overlap each other.
  30144. */
  30145. grouping?: boolean;
  30146. /**
  30147. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  30148. * axis units.
  30149. */
  30150. groupPadding?: number;
  30151. /**
  30152. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  30153. */
  30154. groupZPadding?: number;
  30155. /**
  30156. * (Highcharts) When set to `false` will prevent the series data from being
  30157. * included in any form of data export.
  30158. *
  30159. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  30160. * `includeInCSVExport`.
  30161. */
  30162. includeInDataExport?: boolean;
  30163. /**
  30164. * (Highmaps) What property to join the `mapData` to the value data. For
  30165. * example, if joinBy is "code", the mapData items with a specific code is
  30166. * merged into the data with the same code. For maps loaded from GeoJSON,
  30167. * the keys may be held in each point's `properties` object.
  30168. *
  30169. * The joinBy option can also be an array of two values, where the first
  30170. * points to a key in the `mapData`, and the second points to another key in
  30171. * the `data`.
  30172. *
  30173. * When joinBy is `null`, the map items are joined by their position in the
  30174. * array, which performs much better in maps with many data points. This is
  30175. * the recommended option if you are printing more than a thousand data
  30176. * points and have a backend that can preprocess the data into a parallel
  30177. * array of the mapData.
  30178. */
  30179. joinBy?: (string|Array<string>);
  30180. /**
  30181. * (Highcharts) An array specifying which option maps to which key in the
  30182. * data point array. This makes it convenient to work with unstructured data
  30183. * arrays from different sources.
  30184. */
  30185. keys?: Array<string>;
  30186. /**
  30187. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  30188. * series as possible in a natural way, seeking to avoid other series. The
  30189. * goal of this feature is to make the chart more easily readable, like if a
  30190. * human designer placed the labels in the optimal position.
  30191. *
  30192. * The series labels currently work with series types having a `graph` or an
  30193. * `area`.
  30194. */
  30195. label?: SeriesLabelOptionsObject;
  30196. /**
  30197. * (Highstock) The line marks the last price from all points.
  30198. */
  30199. lastPrice?: SeriesLastPriceOptionsObject;
  30200. /**
  30201. * (Highstock) The line marks the last price from visible range of points.
  30202. */
  30203. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  30204. /**
  30205. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  30206. * Additionally, the value can be ":previous" to link to the previous
  30207. * series. When two series are linked, only the first one appears in the
  30208. * legend. Toggling the visibility of this also toggles the linked series.
  30209. *
  30210. * If master series uses data sorting and linked series does not have its
  30211. * own sorting definition, the linked series will be sorted in the same
  30212. * order as the master one.
  30213. */
  30214. linkedTo?: string;
  30215. /**
  30216. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  30217. * column, translated to the height of a bar in a bar chart. This prevents
  30218. * the columns from becoming too wide when there is a small number of points
  30219. * in the chart.
  30220. */
  30221. maxPointWidth?: number;
  30222. /**
  30223. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  30224. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  30225. * to zero) point, set the minimal point length to a pixel value like 3\. In
  30226. * stacked column charts, minPointLength might not be respected for tightly
  30227. * packed values.
  30228. */
  30229. minPointLength?: number;
  30230. /**
  30231. * (Highstock) Options for the corresponding navigator series if
  30232. * `showInNavigator` is `true` for this series. Available options are the
  30233. * same as any series, documented at plotOptions and series.
  30234. *
  30235. * These options are merged with options in navigator.series, and will take
  30236. * precedence if the same option is defined both places.
  30237. */
  30238. navigatorOptions?: PlotSeriesOptions;
  30239. /**
  30240. * (Highcharts) The color for the parts of the graph or points that are
  30241. * below the threshold. Note that `zones` takes precedence over the negative
  30242. * color. Using `negativeColor` is equivalent to applying a zone with value
  30243. * of 0.
  30244. */
  30245. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  30246. /**
  30247. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  30248. * dataLabels.
  30249. */
  30250. opacity?: number;
  30251. /**
  30252. * (Highcharts) Properties for each single point.
  30253. */
  30254. point?: PlotSeriesPointOptions;
  30255. /**
  30256. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  30257. * individual series. Overrides the chart wide configuration.
  30258. */
  30259. pointDescriptionFormatter?: Function;
  30260. /**
  30261. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  30262. * a series, `pointInterval` defines the interval of the x values. For
  30263. * example, if a series contains one value every decade starting from year
  30264. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  30265. * `pointInterval` is set in milliseconds.
  30266. *
  30267. * It can be also be combined with `pointIntervalUnit` to draw irregular
  30268. * time intervals.
  30269. *
  30270. * Please note that this options applies to the _series data_, not the
  30271. * interval of the axis ticks, which is independent.
  30272. */
  30273. pointInterval?: number;
  30274. /**
  30275. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  30276. * setting the pointInterval to irregular time units, `day`, `month` and
  30277. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  30278. * also takes the DST crossover into consideration when dealing with local
  30279. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  30280. * months, 10 years etc.
  30281. *
  30282. * Please note that this options applies to the _series data_, not the
  30283. * interval of the axis ticks, which is independent.
  30284. */
  30285. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  30286. /**
  30287. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  30288. * axis units.
  30289. */
  30290. pointPadding?: number;
  30291. /**
  30292. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  30293. * `number`.
  30294. *
  30295. * In a column chart, when pointPlacement is `"on"`, the point will not
  30296. * create any padding of the X axis. In a polar column chart this means that
  30297. * the first column points directly north. If the pointPlacement is
  30298. * `"between"`, the columns will be laid out between ticks. This is useful
  30299. * for example for visualising an amount between two points in time or in a
  30300. * certain sector of a polar chart.
  30301. *
  30302. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  30303. * is on the axis value, -0.5 is between this value and the previous, and
  30304. * 0.5 is between this value and the next. Unlike the textual options,
  30305. * numeric point placement options won't affect axis padding.
  30306. *
  30307. * Note that pointPlacement needs a pointRange to work. For column series
  30308. * this is computed, but for line-type series it needs to be set.
  30309. *
  30310. * For the `xrange` series type and gantt charts, if the Y axis is a
  30311. * category axis, the `pointPlacement` applies to the Y axis rather than the
  30312. * (typically datetime) X axis.
  30313. *
  30314. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  30315. */
  30316. pointPlacement?: (number|string);
  30317. /**
  30318. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  30319. * for. This determines the width of the column. On a categorized axis, the
  30320. * range will be 1 by default (one category unit). On linear and datetime
  30321. * axes, the range will be computed as the distance between the two closest
  30322. * data points.
  30323. *
  30324. * The default `null` means it is computed automatically, but this option
  30325. * can be used to override the automatic value.
  30326. *
  30327. * This option is set by default to 1 if data sorting is enabled.
  30328. */
  30329. pointRange?: (number|null);
  30330. /**
  30331. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  30332. * a series, pointStart defines on what value to start. For example, if a
  30333. * series contains one yearly value starting from 1945, set pointStart to
  30334. * 1945.
  30335. */
  30336. pointStart?: number;
  30337. /**
  30338. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  30339. * each column or bar point. When `null`, the width is calculated from the
  30340. * `pointPadding` and `groupPadding`. The width effects the dimension that
  30341. * is not based on the point value. For column series it is the hoizontal
  30342. * length and for bar series it is the vertical length.
  30343. */
  30344. pointWidth?: number;
  30345. /**
  30346. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  30347. * true, the checkbox next to the series name in the legend will be checked
  30348. * for a selected series.
  30349. */
  30350. selected?: boolean;
  30351. /**
  30352. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  30353. * the shadow can be an object configuration containing `color`, `offsetX`,
  30354. * `offsetY`, `opacity` and `width`.
  30355. */
  30356. shadow?: (boolean|ShadowOptionsObject);
  30357. /**
  30358. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  30359. * allow selecting the series. The state of the checkbox is determined by
  30360. * the `selected` option.
  30361. */
  30362. showCheckbox?: boolean;
  30363. /**
  30364. * (Highcharts) Whether to display this particular series or series type in
  30365. * the legend. Standalone series are shown in legend by default, and linked
  30366. * series are not. Since v7.2.0 it is possible to show series that use
  30367. * colorAxis by setting this option to `true`.
  30368. */
  30369. showInLegend?: boolean;
  30370. /**
  30371. * (Highstock) Whether or not to show the series in the navigator. Takes
  30372. * precedence over navigator.baseSeries if defined.
  30373. */
  30374. showInNavigator?: boolean;
  30375. /**
  30376. * (Highcharts) If set to `true`, the accessibility module will skip past
  30377. * the points in this series for keyboard navigation.
  30378. */
  30379. skipKeyboardNavigation?: boolean;
  30380. /**
  30381. * (Highcharts, Highstock) When this is true, the series will not cause the
  30382. * Y axis to cross the zero plane (or threshold option) unless the data
  30383. * actually crosses the plane.
  30384. *
  30385. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  30386. * make the Y axis show negative values according to the `minPadding`
  30387. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  30388. */
  30389. softThreshold?: boolean;
  30390. /**
  30391. * (Highcharts, Highstock) Whether to stack the values of each series on top
  30392. * of each other. Possible values are `undefined` to disable, `"normal"` to
  30393. * stack by value or `"percent"`.
  30394. *
  30395. * When stacking is enabled, data must be sorted in ascending X order.
  30396. *
  30397. * Some stacking options are related to specific series types. In the
  30398. * streamgraph series type, the stacking option is set to `"stream"`. The
  30399. * second one is `"overlap"`, which only applies to waterfall series.
  30400. */
  30401. stacking?: OptionsStackingValue;
  30402. states?: SeriesStatesOptionsObject;
  30403. /**
  30404. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  30405. * event on a series isn't triggered until the mouse moves over another
  30406. * series, or out of the plot area. When false, the `mouseOut` event on a
  30407. * series is triggered when the mouse leaves the area around the series'
  30408. * graph or markers. This also implies the tooltip when not shared. When
  30409. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  30410. * be hidden when moving the mouse between series. Defaults to true for line
  30411. * and area type series, but to false for columns, pies etc.
  30412. *
  30413. * **Note:** The boost module will force this option because of technical
  30414. * limitations.
  30415. */
  30416. stickyTracking?: boolean;
  30417. /**
  30418. * (Highcharts) All options related with look and positiong of targets.
  30419. */
  30420. targetOptions?: PlotBulletTargetOptions;
  30421. /**
  30422. * (Highcharts) The Y axis value to serve as the base for the columns, for
  30423. * distinguishing between values above and below a threshold. If `null`, the
  30424. * columns extend from the padding Y axis minimum.
  30425. */
  30426. threshold?: (number|null);
  30427. /**
  30428. * (Highcharts) A configuration object for the tooltip rendering of each
  30429. * single series. Properties are inherited from tooltip, but only the
  30430. * following properties can be defined on a series level.
  30431. */
  30432. tooltip?: SeriesTooltipOptionsObject;
  30433. /**
  30434. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  30435. * is longer than this, only one dimensional arrays of numbers, or two
  30436. * dimensional arrays with x and y values are allowed. Also, only the first
  30437. * point is tested, and the rest are assumed to be the same format. This
  30438. * saves expensive data checking and indexing in long series. Set it to `0`
  30439. * disable.
  30440. *
  30441. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  30442. * two dimensional arrays are allowed.
  30443. */
  30444. turboThreshold?: number;
  30445. /**
  30446. * (Highcharts) Set the initial visibility of the series.
  30447. */
  30448. visible?: boolean;
  30449. /**
  30450. * (Highmaps) Define the z index of the series.
  30451. */
  30452. zIndex?: number;
  30453. /**
  30454. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  30455. */
  30456. zoneAxis?: string;
  30457. /**
  30458. * (Highcharts, Highstock) An array defining zones within a series. Zones
  30459. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  30460. * the `zoneAxis` option. The zone definitions have to be in ascending order
  30461. * regarding to the value.
  30462. *
  30463. * In styled mode, the color zones are styled with the
  30464. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  30465. * option (view live demo).
  30466. */
  30467. zones?: Array<SeriesZonesOptionsObject>;
  30468. }
  30469. /**
  30470. * (Highcharts) All options related with look and positiong of targets.
  30471. */
  30472. export interface PlotBulletTargetOptions {
  30473. /**
  30474. * (Highcharts) The border color of the rectangle representing the target.
  30475. * When not set, the point's border color is used.
  30476. *
  30477. * In styled mode, use class `highcharts-bullet-target` instead.
  30478. */
  30479. borderColor?: ColorString;
  30480. /**
  30481. * (Highcharts) The border width of the rectangle representing the target.
  30482. *
  30483. * In styled mode, use class `highcharts-bullet-target` instead.
  30484. */
  30485. borderWidth?: number;
  30486. /**
  30487. * (Highcharts) The color of the rectangle representing the target. When not
  30488. * set, point's color (if set in point's options - `color`) or zone of the
  30489. * target value (if `zones` or `negativeColor` are set) or the same color as
  30490. * the point has is used.
  30491. *
  30492. * In styled mode, use class `highcharts-bullet-target` instead.
  30493. */
  30494. color?: (ColorString|GradientColorObject|PatternObject);
  30495. /**
  30496. * (Highcharts) The height of the rectangle representing the target.
  30497. */
  30498. height?: number;
  30499. /**
  30500. * (Highcharts) The width of the rectangle representing the target. Could be
  30501. * set as a pixel value or as a percentage of a column width.
  30502. */
  30503. width?: (number|string);
  30504. }
  30505. /**
  30506. * (Highstock) Enable or disable the initial animation when a series is
  30507. * displayed. The animation can also be set as a configuration object. Please
  30508. * note that this option only applies to the initial animation of the series
  30509. * itself. For other animations, see chart.animation and the animation parameter
  30510. * under the API methods. The following properties are supported:
  30511. *
  30512. * - `defer`: The animation delay time in milliseconds.
  30513. *
  30514. * - `duration`: The duration of the animation in milliseconds.
  30515. *
  30516. * - `easing`: Can be a string reference to an easing function set on the `Math`
  30517. * object or a function. See the _Custom easing function_ demo below.
  30518. *
  30519. * Due to poor performance, animation is disabled in old IE browsers for several
  30520. * chart types.
  30521. */
  30522. export interface PlotCandlestickAnimationOptions {
  30523. defer?: number;
  30524. }
  30525. /**
  30526. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  30527. * animation when a series is displayed for the `dataLabels`. The animation can
  30528. * also be set as a configuration object. Please note that this option only
  30529. * applies to the initial animation. For other animations, see chart.animation
  30530. * and the animation parameter under the API methods. The following properties
  30531. * are supported:
  30532. *
  30533. * - `defer`: The animation delay time in milliseconds.
  30534. */
  30535. export interface PlotCandlestickDataLabelsAnimationOptions {
  30536. /**
  30537. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  30538. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  30539. * inherits defer time from the series.animation.defer.
  30540. */
  30541. defer?: number;
  30542. }
  30543. /**
  30544. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  30545. * appearing next to each data point.
  30546. *
  30547. * Since v6.2.0, multiple data labels can be applied to each single point by
  30548. * defining them as an array of configs.
  30549. *
  30550. * In styled mode, the data labels can be styled with the
  30551. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  30552. * example).
  30553. */
  30554. export interface PlotCandlestickDataLabelsOptions {
  30555. /**
  30556. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  30557. * compared to the point. If `right`, the right side of the label should be
  30558. * touching the point. For points with an extent, like columns, the
  30559. * alignments also dictates how to align it inside the box, as given with
  30560. * the inside option. Can be one of `left`, `center` or `right`.
  30561. */
  30562. align?: string;
  30563. /**
  30564. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  30565. * overlap. To make the labels less sensitive for overlapping, the
  30566. * dataLabels.padding can be set to 0.
  30567. */
  30568. allowOverlap?: boolean;
  30569. /**
  30570. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  30571. * animation when a series is displayed for the `dataLabels`. The animation
  30572. * can also be set as a configuration object. Please note that this option
  30573. * only applies to the initial animation. For other animations, see
  30574. * chart.animation and the animation parameter under the API methods. The
  30575. * following properties are supported:
  30576. *
  30577. * - `defer`: The animation delay time in milliseconds.
  30578. */
  30579. animation?: (boolean|PlotCandlestickDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  30580. /**
  30581. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  30582. * for the data label.
  30583. */
  30584. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  30585. /**
  30586. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  30587. * label. Defaults to `undefined`.
  30588. */
  30589. borderColor?: (ColorString|GradientColorObject|PatternObject);
  30590. /**
  30591. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  30592. * the data label.
  30593. */
  30594. borderRadius?: number;
  30595. /**
  30596. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  30597. * the data label.
  30598. */
  30599. borderWidth?: number;
  30600. /**
  30601. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  30602. * Particularly in styled mode, this can be used to give each series' or
  30603. * point's data label unique styling. In addition to this option, a default
  30604. * color class name is added so that we can give the labels a contrast text
  30605. * shadow.
  30606. */
  30607. className?: string;
  30608. /**
  30609. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  30610. * labels. Defaults to `undefined`. For certain series types, like column or
  30611. * map, the data labels can be drawn inside the points. In this case the
  30612. * data label will be drawn with maximum contrast by default. Additionally,
  30613. * it will be given a `text-outline` style with the opposite color, to
  30614. * further increase the contrast. This can be overridden by setting the
  30615. * `text-outline` style to `none` in the `dataLabels.style` option.
  30616. */
  30617. color?: (ColorString|GradientColorObject|PatternObject);
  30618. /**
  30619. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  30620. * are outside the plot area. By default, the data label is moved inside the
  30621. * plot area according to the overflow option.
  30622. */
  30623. crop?: boolean;
  30624. /**
  30625. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  30626. * labels until the initial series animation has finished. Setting to
  30627. * `false` renders the data label immediately. If set to `true` inherits the
  30628. * defer time set in plotOptions.series.animation.
  30629. */
  30630. defer?: boolean;
  30631. /**
  30632. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  30633. * labels.
  30634. */
  30635. enabled?: boolean;
  30636. /**
  30637. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  30638. * of which data labels to display. The declarative filter is designed for
  30639. * use when callback functions are not available, like when the chart
  30640. * options require a pure JSON structure or for use with graphical editors.
  30641. * For programmatic control, use the `formatter` instead, and return
  30642. * `undefined` to disable a single data label.
  30643. */
  30644. filter?: DataLabelsFilterOptionsObject;
  30645. /**
  30646. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  30647. * label. Available variables are the same as for `formatter`.
  30648. */
  30649. format?: string;
  30650. /**
  30651. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  30652. * format the data label. Note that if a `format` is defined, the format
  30653. * takes precedence and the formatter is ignored.
  30654. */
  30655. formatter?: DataLabelsFormatterCallbackFunction;
  30656. /**
  30657. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  30658. * columns or map areas, whether to align the data label inside the box or
  30659. * to the actual value point. Defaults to `false` in most cases, `true` in
  30660. * stacked columns.
  30661. */
  30662. inside?: boolean;
  30663. /**
  30664. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  30665. * of null. Works analogously to format. `nullFormat` can be applied only to
  30666. * series which support displaying null points.
  30667. */
  30668. nullFormat?: (boolean|string);
  30669. /**
  30670. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  30671. * that defines formatting for points with the value of null. Works
  30672. * analogously to formatter. `nullPointFormatter` can be applied only to
  30673. * series which support displaying null points.
  30674. */
  30675. nullFormatter?: DataLabelsFormatterCallbackFunction;
  30676. /**
  30677. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  30678. * flow outside the plot area. The default is `"justify"`, which aligns them
  30679. * inside the plot area. For columns and bars, this means it will be moved
  30680. * inside the bar. To display data labels outside the plot area, set `crop`
  30681. * to `false` and `overflow` to `"allow"`.
  30682. */
  30683. overflow?: DataLabelsOverflowValue;
  30684. /**
  30685. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  30686. * the `backgroundColor` is set, this is the padding within the box.
  30687. */
  30688. padding?: number;
  30689. /**
  30690. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  30691. * points. If `center` alignment is not possible, it defaults to `right`.
  30692. */
  30693. position?: AlignValue;
  30694. /**
  30695. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  30696. * that due to a more complex structure, backgrounds, borders and padding
  30697. * will be lost on a rotated data label.
  30698. */
  30699. rotation?: number;
  30700. /**
  30701. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  30702. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  30703. * an object configuration containing `color`, `offsetX`, `offsetY`,
  30704. * `opacity` and `width`.
  30705. */
  30706. shadow?: (boolean|ShadowOptionsObject);
  30707. /**
  30708. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  30709. * the border around the label. Symbols are predefined functions on the
  30710. * Renderer object.
  30711. */
  30712. shape?: string;
  30713. /**
  30714. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  30715. * default `color` setting is `"contrast"`, which is a pseudo color that
  30716. * Highcharts picks up and applies the maximum contrast to the underlying
  30717. * point item, for example the bar in a bar chart.
  30718. *
  30719. * The `textOutline` is a pseudo property that applies an outline of the
  30720. * given width with the given color, which by default is the maximum
  30721. * contrast to the text. So a bright text color will result in a black text
  30722. * outline for maximum readability on a mixed background. In some cases,
  30723. * especially with grayscale text, the text outline doesn't work well, in
  30724. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  30725. * is true, the `textOutline` will not be picked up. In this, case, the same
  30726. * effect can be acheived through the `text-shadow` CSS property.
  30727. *
  30728. * For some series types, where each point has an extent, like for example
  30729. * tree maps, the data label may overflow the point. There are two
  30730. * strategies for handling overflow. By default, the text will wrap to
  30731. * multiple lines. The other strategy is to set `style.textOverflow` to
  30732. * `ellipsis`, which will keep the text on one line plus it will break
  30733. * inside long words.
  30734. */
  30735. style?: CSSObject;
  30736. /**
  30737. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  30738. * should follow marker's shape. Border and background are disabled for a
  30739. * label that follows a path.
  30740. *
  30741. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  30742. * to true will disable this option.
  30743. */
  30744. textPath?: DataLabelsTextPathOptionsObject;
  30745. /**
  30746. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  30747. * the labels.
  30748. */
  30749. useHTML?: boolean;
  30750. /**
  30751. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  30752. * label. Can be one of `top`, `middle` or `bottom`. The default value
  30753. * depends on the data, for instance in a column chart, the label is above
  30754. * positive values and below negative values.
  30755. */
  30756. verticalAlign?: string;
  30757. /**
  30758. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  30759. * label relative to the point in pixels.
  30760. */
  30761. x?: number;
  30762. /**
  30763. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  30764. * label relative to the point in pixels.
  30765. */
  30766. y?: number;
  30767. /**
  30768. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  30769. * The default Z index puts it above the series. Use a Z index of 2 to
  30770. * display it behind the series.
  30771. */
  30772. z?: number;
  30773. }
  30774. /**
  30775. * (Highcharts, Highstock) Options for the series data sorting.
  30776. */
  30777. export interface PlotCandlestickDataSortingOptions {
  30778. /**
  30779. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  30780. * Use xAxis.reversed to change the sorting order.
  30781. */
  30782. enabled?: boolean;
  30783. /**
  30784. * (Highcharts, Highstock) Whether to allow matching points by name in an
  30785. * update. If this option is disabled, points will be matched by order.
  30786. */
  30787. matchByName?: boolean;
  30788. /**
  30789. * (Highcharts, Highstock) Determines what data value should be used to sort
  30790. * by.
  30791. */
  30792. sortKey?: string;
  30793. }
  30794. /**
  30795. * (Highstock) Style options for the guide box. The guide box has one state by
  30796. * default, the `default` state.
  30797. */
  30798. export interface PlotCandlestickDragDropGuideBoxOptions {
  30799. /**
  30800. * (Highstock) Style options for the guide box default state.
  30801. */
  30802. default?: DragDropGuideBoxOptionsObject;
  30803. }
  30804. /**
  30805. * (Highstock) A candlestick chart is a style of financial chart used to
  30806. * describe price movements over time.
  30807. *
  30808. * In TypeScript the type option must always be set.
  30809. *
  30810. * Configuration options for the series are given in three levels:
  30811. *
  30812. * 1. Options for all series in a chart are defined in the plotOptions.series
  30813. * object.
  30814. *
  30815. * 2. Options for all `candlestick` series are defined in
  30816. * plotOptions.candlestick.
  30817. *
  30818. * 3. Options for one single series are given in the series instance array. (see
  30819. * online documentation for example)
  30820. */
  30821. export interface PlotCandlestickOptions {
  30822. /**
  30823. * (Highstock) Accessibility options for a series.
  30824. */
  30825. accessibility?: SeriesAccessibilityOptionsObject;
  30826. /**
  30827. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  30828. * rendered. If `true`, areas which don't correspond to a data point, are
  30829. * rendered as `null` points. If `false`, those areas are skipped.
  30830. */
  30831. allAreas?: boolean;
  30832. /**
  30833. * (Highstock) Allow this series' points to be selected by clicking on the
  30834. * graphic (columns, point markers, pie slices, map areas etc).
  30835. *
  30836. * The selected points can be handled by point select and unselect events,
  30837. * or collectively by the getSelectedPoints function.
  30838. *
  30839. * And alternative way of selecting points is through dragging.
  30840. */
  30841. allowPointSelect?: boolean;
  30842. /**
  30843. * (Highstock) Enable or disable the initial animation when a series is
  30844. * displayed. The animation can also be set as a configuration object.
  30845. * Please note that this option only applies to the initial animation of the
  30846. * series itself. For other animations, see chart.animation and the
  30847. * animation parameter under the API methods. The following properties are
  30848. * supported:
  30849. *
  30850. * - `defer`: The animation delay time in milliseconds.
  30851. *
  30852. * - `duration`: The duration of the animation in milliseconds.
  30853. *
  30854. * - `easing`: Can be a string reference to an easing function set on the
  30855. * `Math` object or a function. See the _Custom easing function_ demo below.
  30856. *
  30857. * Due to poor performance, animation is disabled in old IE browsers for
  30858. * several chart types.
  30859. */
  30860. animation?: (boolean|PlotCandlestickAnimationOptions|Partial<AnimationOptionsObject>);
  30861. /**
  30862. * (Highstock) For some series, there is a limit that shuts down initial
  30863. * animation by default when the total number of points in the chart is too
  30864. * high. For example, for a column chart and its derivatives, animation does
  30865. * not run if there is more than 250 points totally. To disable this cap,
  30866. * set `animationLimit` to `Infinity`.
  30867. */
  30868. animationLimit?: number;
  30869. /**
  30870. * (Highstock) Sets the color blending in the boost module.
  30871. */
  30872. boostBlending?: OptionsBoostBlendingValue;
  30873. /**
  30874. * (Highstock) Set the point threshold for when a series should enter boost
  30875. * mode.
  30876. *
  30877. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  30878. * there are 2000 or more points in the series.
  30879. *
  30880. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  30881. * it to 1 will force boosting.
  30882. *
  30883. * Note that the cropThreshold also affects this setting. When zooming in on
  30884. * a series that has fewer points than the `cropThreshold`, all points are
  30885. * rendered although outside the visible plot area, and the `boostThreshold`
  30886. * won't take effect.
  30887. */
  30888. boostThreshold?: number;
  30889. /**
  30890. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  30891. * the category, ignoring null or missing points. When `false`, space will
  30892. * be reserved for null or missing points.
  30893. */
  30894. centerInCategory?: boolean;
  30895. /**
  30896. * (Highstock) An additional class name to apply to the series' graphical
  30897. * elements. This option does not replace default class names of the
  30898. * graphical element.
  30899. */
  30900. className?: string;
  30901. /**
  30902. * (Highstock) Disable this option to allow series rendering in the whole
  30903. * plotting area.
  30904. *
  30905. * **Note:** Clipping should be always enabled when chart.zoomType is set
  30906. */
  30907. clip?: boolean;
  30908. /**
  30909. * (Highstock) The main color of the series. In line type series it applies
  30910. * to the line and the point markers unless otherwise specified. In bar type
  30911. * series it applies to the bars unless a color is specified per point. The
  30912. * default value is pulled from the `options.colors` array.
  30913. *
  30914. * In styled mode, the color can be defined by the colorIndex option. Also,
  30915. * the series color can be set with the `.highcharts-series`,
  30916. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  30917. * `.highcharts-series-{n}` class, or individual classes given by the
  30918. * `className` option.
  30919. */
  30920. color?: (ColorString|GradientColorObject|PatternObject);
  30921. /**
  30922. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  30923. * this number defines which colorAxis the particular series is connected
  30924. * to. It refers to either the axis id or the index of the axis in the
  30925. * colorAxis array, with 0 being the first. Set this option to false to
  30926. * prevent a series from connecting to the default color axis.
  30927. *
  30928. * Since v7.2.0 the option can also be an axis id or an axis index instead
  30929. * of a boolean flag.
  30930. */
  30931. colorAxis?: (boolean|number|string);
  30932. /**
  30933. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  30934. * from the global colors or series-specific plotOptions.column.colors
  30935. * collections, this option determines whether the chart should receive one
  30936. * color per series or one color per point.
  30937. *
  30938. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  30939. * and instead this option gives the points individual color class names on
  30940. * the form `highcharts-color-{n}`.
  30941. */
  30942. colorByPoint?: boolean;
  30943. /**
  30944. * (Highstock) Styled mode only. A specific color index to use for the
  30945. * series, so its graphic representations are given the class name
  30946. * `highcharts-color-{n}`.
  30947. */
  30948. colorIndex?: number;
  30949. /**
  30950. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  30951. * used to calculate point color if `colorAxis` is used. Requires to set
  30952. * `min` and `max` if some custom point property is used or if approximation
  30953. * for data grouping is set to `'sum'`.
  30954. */
  30955. colorKey?: string;
  30956. /**
  30957. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  30958. * color set to apply instead of the global colors when colorByPoint is
  30959. * true.
  30960. */
  30961. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  30962. /**
  30963. * (Highstock) Compare the values of the series against the first non-null,
  30964. * non- zero value in the visible range. The y axis will show percentage or
  30965. * absolute change depending on whether `compare` is set to `"percent"` or
  30966. * `"value"`. When this is applied to multiple series, it allows comparing
  30967. * the development of the series against each other. Adds a `change` field
  30968. * to every point object.
  30969. */
  30970. compare?: string;
  30971. /**
  30972. * (Highstock) When compare is `percent`, this option dictates whether to
  30973. * use 0 or 100 as the base of comparison.
  30974. */
  30975. compareBase?: (0|100);
  30976. /**
  30977. * (Highstock) Defines if comparison should start from the first point
  30978. * within the visible range or should start from the first point **before**
  30979. * the range.
  30980. *
  30981. * In other words, this flag determines if first point within the visible
  30982. * range will have 0% (`compareStart=true`) or should have been already
  30983. * calculated according to the previous point (`compareStart=false`).
  30984. */
  30985. compareStart?: boolean;
  30986. /**
  30987. * (Gantt) Override Pathfinder connector options for a series. Requires
  30988. * Highcharts Gantt to be loaded.
  30989. */
  30990. connectors?: SeriesConnectorsOptionsObject;
  30991. /**
  30992. * (Highcharts, Highstock, Gantt) When the series contains less points than
  30993. * the crop threshold, all points are drawn, event if the points fall
  30994. * outside the visible plot area at the current zoom. The advantage of
  30995. * drawing all points (including markers and columns), is that animation is
  30996. * performed on updates. On the other hand, when the series contains more
  30997. * points than the crop threshold, the series data is cropped to only
  30998. * contain points that fall within the plot area. The advantage of cropping
  30999. * away invisible points is to increase performance on large series.
  31000. */
  31001. cropThreshold?: number;
  31002. /**
  31003. * (Highstock) You can set the cursor to "pointer" if you have click events
  31004. * attached to the series, to signal to the user that the points and lines
  31005. * can be clicked.
  31006. *
  31007. * In styled mode, the series cursor can be set with the same classes as
  31008. * listed under series.color.
  31009. */
  31010. cursor?: (string|CursorValue);
  31011. /**
  31012. * (Highstock) A reserved subspace to store options and values for
  31013. * customized functionality. Here you can add additional data for your own
  31014. * event callbacks and formatter callbacks.
  31015. */
  31016. custom?: Dictionary<any>;
  31017. /**
  31018. * (Highstock) Name of the dash style to use for the graph, or for some
  31019. * series types the outline of each shape.
  31020. *
  31021. * In styled mode, the stroke dash-array can be set with the same classes as
  31022. * listed under series.color.
  31023. */
  31024. dashStyle?: DashStyleValue;
  31025. /**
  31026. * (Highstock) Data grouping is the concept of sampling the data values into
  31027. * larger blocks in order to ease readability and increase performance of
  31028. * the JavaScript charts. Highstock by default applies data grouping when
  31029. * the points become closer than a certain pixel value, determined by the
  31030. * `groupPixelWidth` option.
  31031. *
  31032. * If data grouping is applied, the grouping information of grouped points
  31033. * can be read from the Point.dataGroup. If point options other than the
  31034. * data itself are set, for example `name` or `color` or custom properties,
  31035. * the grouping logic doesn't know how to group it. In this case the options
  31036. * of the first point instance are copied over to the group point. This can
  31037. * be altered through a custom `approximation` callback function.
  31038. */
  31039. dataGrouping?: DataGroupingOptionsObject;
  31040. /**
  31041. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  31042. * labels, appearing next to each data point.
  31043. *
  31044. * Since v6.2.0, multiple data labels can be applied to each single point by
  31045. * defining them as an array of configs.
  31046. *
  31047. * In styled mode, the data labels can be styled with the
  31048. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  31049. * (see example).
  31050. */
  31051. dataLabels?: (PlotCandlestickDataLabelsOptions|Array<PlotCandlestickDataLabelsOptions>);
  31052. /**
  31053. * (Highcharts, Highstock) Options for the series data sorting.
  31054. */
  31055. dataSorting?: (DataSortingOptionsObject|PlotCandlestickDataSortingOptions);
  31056. /**
  31057. * (Highcharts) Depth of the columns in a 3D column chart.
  31058. */
  31059. depth?: number;
  31060. /**
  31061. * (Highstock) A description of the series to add to the screen reader
  31062. * information about the series.
  31063. */
  31064. description?: string;
  31065. /**
  31066. * (Highstock) The draggable-points module allows points to be moved around
  31067. * or modified in the chart. In addition to the options mentioned under the
  31068. * `dragDrop` API structure, the module fires three events, point.dragStart,
  31069. * point.drag and point.drop.
  31070. */
  31071. dragDrop?: SeriesDragDropOptionsObject;
  31072. /**
  31073. * (Highcharts) 3D columns only. The color of the edges. Similar to
  31074. * `borderColor`, except it defaults to the same color as the column.
  31075. */
  31076. edgeColor?: ColorString;
  31077. /**
  31078. * (Highcharts) 3D columns only. The width of the colored edges.
  31079. */
  31080. edgeWidth?: number;
  31081. /**
  31082. * (Highstock) Enable or disable the mouse tracking for a specific series.
  31083. * This includes point tooltips and click events on graphs and points. For
  31084. * large datasets it improves performance.
  31085. */
  31086. enableMouseTracking?: boolean;
  31087. /**
  31088. * (Highstock) General event handlers for the series items. These event
  31089. * hooks can also be attached to the series at run time using the
  31090. * `Highcharts.addEvent` function.
  31091. */
  31092. events?: SeriesEventsOptionsObject;
  31093. /**
  31094. * (Highstock) Determines whether the series should look for the nearest
  31095. * point in both dimensions or just the x-dimension when hovering the
  31096. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  31097. * series. If the data has duplicate x-values, it is recommended to set this
  31098. * to `'xy'` to allow hovering over all points.
  31099. *
  31100. * Applies only to series types using nearest neighbor search (not direct
  31101. * hover) for tooltip.
  31102. */
  31103. findNearestPointBy?: OptionsFindNearestPointByValue;
  31104. /**
  31105. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  31106. * chart width or only the zoomed area when zooming in on parts of the X
  31107. * axis. By default, the Y axis adjusts to the min and max of the visible
  31108. * data. Cartesian series only.
  31109. */
  31110. getExtremesFromAll?: boolean;
  31111. /**
  31112. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  31113. * let them render independent of each other. Non-grouped columns will be
  31114. * laid out individually and overlap each other.
  31115. */
  31116. grouping?: boolean;
  31117. /**
  31118. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  31119. * axis units.
  31120. */
  31121. groupPadding?: number;
  31122. /**
  31123. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  31124. */
  31125. groupZPadding?: number;
  31126. /**
  31127. * (Highstock) When set to `false` will prevent the series data from being
  31128. * included in any form of data export.
  31129. *
  31130. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  31131. * `includeInCSVExport`.
  31132. */
  31133. includeInDataExport?: boolean;
  31134. /**
  31135. * (Highmaps) What property to join the `mapData` to the value data. For
  31136. * example, if joinBy is "code", the mapData items with a specific code is
  31137. * merged into the data with the same code. For maps loaded from GeoJSON,
  31138. * the keys may be held in each point's `properties` object.
  31139. *
  31140. * The joinBy option can also be an array of two values, where the first
  31141. * points to a key in the `mapData`, and the second points to another key in
  31142. * the `data`.
  31143. *
  31144. * When joinBy is `null`, the map items are joined by their position in the
  31145. * array, which performs much better in maps with many data points. This is
  31146. * the recommended option if you are printing more than a thousand data
  31147. * points and have a backend that can preprocess the data into a parallel
  31148. * array of the mapData.
  31149. */
  31150. joinBy?: (string|Array<string>);
  31151. /**
  31152. * (Highstock) An array specifying which option maps to which key in the
  31153. * data point array. This makes it convenient to work with unstructured data
  31154. * arrays from different sources.
  31155. */
  31156. keys?: Array<string>;
  31157. /**
  31158. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  31159. * series as possible in a natural way, seeking to avoid other series. The
  31160. * goal of this feature is to make the chart more easily readable, like if a
  31161. * human designer placed the labels in the optimal position.
  31162. *
  31163. * The series labels currently work with series types having a `graph` or an
  31164. * `area`.
  31165. */
  31166. label?: SeriesLabelOptionsObject;
  31167. /**
  31168. * (Highstock) The line marks the last price from all points.
  31169. */
  31170. lastPrice?: SeriesLastPriceOptionsObject;
  31171. /**
  31172. * (Highstock) The line marks the last price from visible range of points.
  31173. */
  31174. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  31175. /**
  31176. * (Highstock) The color of the line/border of the candlestick.
  31177. *
  31178. * In styled mode, the line stroke can be set with the
  31179. * `.highcharts-candlestick-series .highcahrts-point` rule.
  31180. */
  31181. lineColor?: (ColorString|GradientColorObject|PatternObject);
  31182. /**
  31183. * (Highstock) The pixel width of the candlestick line/border. Defaults to
  31184. * `1`.
  31185. *
  31186. * In styled mode, the line stroke width can be set with the
  31187. * `.highcharts-candlestick-series .highcahrts-point` rule.
  31188. */
  31189. lineWidth?: number;
  31190. /**
  31191. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  31192. * Additionally, the value can be ":previous" to link to the previous
  31193. * series. When two series are linked, only the first one appears in the
  31194. * legend. Toggling the visibility of this also toggles the linked series.
  31195. *
  31196. * If master series uses data sorting and linked series does not have its
  31197. * own sorting definition, the linked series will be sorted in the same
  31198. * order as the master one.
  31199. */
  31200. linkedTo?: string;
  31201. /**
  31202. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  31203. * column, translated to the height of a bar in a bar chart. This prevents
  31204. * the columns from becoming too wide when there is a small number of points
  31205. * in the chart.
  31206. */
  31207. maxPointWidth?: number;
  31208. /**
  31209. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  31210. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  31211. * to zero) point, set the minimal point length to a pixel value like 3\. In
  31212. * stacked column charts, minPointLength might not be respected for tightly
  31213. * packed values.
  31214. */
  31215. minPointLength?: number;
  31216. /**
  31217. * (Highstock) Options for the corresponding navigator series if
  31218. * `showInNavigator` is `true` for this series. Available options are the
  31219. * same as any series, documented at plotOptions and series.
  31220. *
  31221. * These options are merged with options in navigator.series, and will take
  31222. * precedence if the same option is defined both places.
  31223. */
  31224. navigatorOptions?: PlotSeriesOptions;
  31225. /**
  31226. * (Highstock) The color for the parts of the graph or points that are below
  31227. * the threshold. Note that `zones` takes precedence over the negative
  31228. * color. Using `negativeColor` is equivalent to applying a zone with value
  31229. * of 0.
  31230. */
  31231. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  31232. /**
  31233. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  31234. * dataLabels.
  31235. */
  31236. opacity?: number;
  31237. /**
  31238. * (Highstock) Properties for each single point.
  31239. */
  31240. point?: PlotSeriesPointOptions;
  31241. /**
  31242. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  31243. * individual series. Overrides the chart wide configuration.
  31244. */
  31245. pointDescriptionFormatter?: Function;
  31246. /**
  31247. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  31248. * a series, `pointInterval` defines the interval of the x values. For
  31249. * example, if a series contains one value every decade starting from year
  31250. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  31251. * `pointInterval` is set in milliseconds.
  31252. *
  31253. * It can be also be combined with `pointIntervalUnit` to draw irregular
  31254. * time intervals.
  31255. *
  31256. * Please note that this options applies to the _series data_, not the
  31257. * interval of the axis ticks, which is independent.
  31258. */
  31259. pointInterval?: number;
  31260. /**
  31261. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  31262. * setting the pointInterval to irregular time units, `day`, `month` and
  31263. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  31264. * also takes the DST crossover into consideration when dealing with local
  31265. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  31266. * months, 10 years etc.
  31267. *
  31268. * Please note that this options applies to the _series data_, not the
  31269. * interval of the axis ticks, which is independent.
  31270. */
  31271. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  31272. /**
  31273. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  31274. * axis units.
  31275. */
  31276. pointPadding?: number;
  31277. /**
  31278. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  31279. * `number`.
  31280. *
  31281. * In a column chart, when pointPlacement is `"on"`, the point will not
  31282. * create any padding of the X axis. In a polar column chart this means that
  31283. * the first column points directly north. If the pointPlacement is
  31284. * `"between"`, the columns will be laid out between ticks. This is useful
  31285. * for example for visualising an amount between two points in time or in a
  31286. * certain sector of a polar chart.
  31287. *
  31288. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  31289. * is on the axis value, -0.5 is between this value and the previous, and
  31290. * 0.5 is between this value and the next. Unlike the textual options,
  31291. * numeric point placement options won't affect axis padding.
  31292. *
  31293. * Note that pointPlacement needs a pointRange to work. For column series
  31294. * this is computed, but for line-type series it needs to be set.
  31295. *
  31296. * For the `xrange` series type and gantt charts, if the Y axis is a
  31297. * category axis, the `pointPlacement` applies to the Y axis rather than the
  31298. * (typically datetime) X axis.
  31299. *
  31300. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  31301. */
  31302. pointPlacement?: (number|string);
  31303. /**
  31304. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  31305. * for. This determines the width of the column. On a categorized axis, the
  31306. * range will be 1 by default (one category unit). On linear and datetime
  31307. * axes, the range will be computed as the distance between the two closest
  31308. * data points.
  31309. *
  31310. * The default `null` means it is computed automatically, but this option
  31311. * can be used to override the automatic value.
  31312. *
  31313. * This option is set by default to 1 if data sorting is enabled.
  31314. */
  31315. pointRange?: (number|null);
  31316. /**
  31317. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  31318. * a series, pointStart defines on what value to start. For example, if a
  31319. * series contains one yearly value starting from 1945, set pointStart to
  31320. * 1945.
  31321. */
  31322. pointStart?: number;
  31323. /**
  31324. * (Highstock) Determines which one of `open`, `high`, `low`, `close` values
  31325. * should be represented as `point.y`, which is later used to set dataLabel
  31326. * position and compare.
  31327. */
  31328. pointValKey?: OptionsPointValKeyValue;
  31329. /**
  31330. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  31331. * each column or bar point. When `null`, the width is calculated from the
  31332. * `pointPadding` and `groupPadding`. The width effects the dimension that
  31333. * is not based on the point value. For column series it is the hoizontal
  31334. * length and for bar series it is the vertical length.
  31335. */
  31336. pointWidth?: number;
  31337. /**
  31338. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  31339. * true, the checkbox next to the series name in the legend will be checked
  31340. * for a selected series.
  31341. */
  31342. selected?: boolean;
  31343. /**
  31344. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  31345. * the shadow can be an object configuration containing `color`, `offsetX`,
  31346. * `offsetY`, `opacity` and `width`.
  31347. */
  31348. shadow?: (boolean|ShadowOptionsObject);
  31349. /**
  31350. * (Highstock) If true, a checkbox is displayed next to the legend item to
  31351. * allow selecting the series. The state of the checkbox is determined by
  31352. * the `selected` option.
  31353. */
  31354. showCheckbox?: boolean;
  31355. /**
  31356. * (Highstock) Whether to display this particular series or series type in
  31357. * the legend. Standalone series are shown in legend by default, and linked
  31358. * series are not. Since v7.2.0 it is possible to show series that use
  31359. * colorAxis by setting this option to `true`.
  31360. */
  31361. showInLegend?: boolean;
  31362. /**
  31363. * (Highstock) Whether or not to show the series in the navigator. Takes
  31364. * precedence over navigator.baseSeries if defined.
  31365. */
  31366. showInNavigator?: boolean;
  31367. /**
  31368. * (Highstock) If set to `true`, the accessibility module will skip past the
  31369. * points in this series for keyboard navigation.
  31370. */
  31371. skipKeyboardNavigation?: boolean;
  31372. /**
  31373. * (Highcharts, Highstock) When this is true, the series will not cause the
  31374. * Y axis to cross the zero plane (or threshold option) unless the data
  31375. * actually crosses the plane.
  31376. *
  31377. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  31378. * make the Y axis show negative values according to the `minPadding`
  31379. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  31380. */
  31381. softThreshold?: boolean;
  31382. states?: SeriesStatesOptionsObject;
  31383. /**
  31384. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  31385. * event on a series isn't triggered until the mouse moves over another
  31386. * series, or out of the plot area. When false, the `mouseOut` event on a
  31387. * series is triggered when the mouse leaves the area around the series'
  31388. * graph or markers. This also implies the tooltip when not shared. When
  31389. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  31390. * be hidden when moving the mouse between series. Defaults to true for line
  31391. * and area type series, but to false for columns, pies etc.
  31392. *
  31393. * **Note:** The boost module will force this option because of technical
  31394. * limitations.
  31395. */
  31396. stickyTracking?: boolean;
  31397. /**
  31398. * (Highstock) The Y axis value to serve as the base for the columns, for
  31399. * distinguishing between values above and below a threshold. If `null`, the
  31400. * columns extend from the padding Y axis minimum.
  31401. */
  31402. threshold?: (number|null);
  31403. /**
  31404. * (Highstock) A configuration object for the tooltip rendering of each
  31405. * single series. Properties are inherited from tooltip, but only the
  31406. * following properties can be defined on a series level.
  31407. */
  31408. tooltip?: SeriesTooltipOptionsObject;
  31409. /**
  31410. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  31411. * is longer than this, only one dimensional arrays of numbers, or two
  31412. * dimensional arrays with x and y values are allowed. Also, only the first
  31413. * point is tested, and the rest are assumed to be the same format. This
  31414. * saves expensive data checking and indexing in long series. Set it to `0`
  31415. * disable.
  31416. *
  31417. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  31418. * two dimensional arrays are allowed.
  31419. */
  31420. turboThreshold?: number;
  31421. /**
  31422. * (Highstock) The fill color of the candlestick when values are rising.
  31423. *
  31424. * In styled mode, the up color can be set with the
  31425. * `.highcharts-candlestick-series .highcharts-point-up` rule.
  31426. */
  31427. upColor?: (ColorString|GradientColorObject|PatternObject);
  31428. /**
  31429. * (Highstock) The specific line color for up candle sticks. The default is
  31430. * to inherit the general `lineColor` setting.
  31431. */
  31432. upLineColor?: (ColorString|GradientColorObject|PatternObject);
  31433. /**
  31434. * (Highstock) Set the initial visibility of the series.
  31435. */
  31436. visible?: boolean;
  31437. /**
  31438. * (Highmaps) Define the z index of the series.
  31439. */
  31440. zIndex?: number;
  31441. /**
  31442. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  31443. */
  31444. zoneAxis?: string;
  31445. /**
  31446. * (Highcharts, Highstock) An array defining zones within a series. Zones
  31447. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  31448. * the `zoneAxis` option. The zone definitions have to be in ascending order
  31449. * regarding to the value.
  31450. *
  31451. * In styled mode, the color zones are styled with the
  31452. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  31453. * option (view live demo).
  31454. */
  31455. zones?: Array<SeriesZonesOptionsObject>;
  31456. }
  31457. /**
  31458. * (Highstock) Enable or disable the initial animation when a series is
  31459. * displayed. The animation can also be set as a configuration object. Please
  31460. * note that this option only applies to the initial animation of the series
  31461. * itself. For other animations, see chart.animation and the animation parameter
  31462. * under the API methods. The following properties are supported:
  31463. *
  31464. * - `defer`: The animation delay time in milliseconds.
  31465. *
  31466. * - `duration`: The duration of the animation in milliseconds.
  31467. *
  31468. * - `easing`: Can be a string reference to an easing function set on the `Math`
  31469. * object or a function. See the _Custom easing function_ demo below.
  31470. *
  31471. * Due to poor performance, animation is disabled in old IE browsers for several
  31472. * chart types.
  31473. */
  31474. export interface PlotCciAnimationOptions {
  31475. defer?: number;
  31476. }
  31477. /**
  31478. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  31479. * animation when a series is displayed for the `dataLabels`. The animation can
  31480. * also be set as a configuration object. Please note that this option only
  31481. * applies to the initial animation. For other animations, see chart.animation
  31482. * and the animation parameter under the API methods. The following properties
  31483. * are supported:
  31484. *
  31485. * - `defer`: The animation delay time in milliseconds.
  31486. */
  31487. export interface PlotCciDataLabelsAnimationOptions {
  31488. /**
  31489. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  31490. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  31491. * inherits defer time from the series.animation.defer.
  31492. */
  31493. defer?: number;
  31494. }
  31495. /**
  31496. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  31497. * appearing next to each data point.
  31498. *
  31499. * Since v6.2.0, multiple data labels can be applied to each single point by
  31500. * defining them as an array of configs.
  31501. *
  31502. * In styled mode, the data labels can be styled with the
  31503. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  31504. * example).
  31505. */
  31506. export interface PlotCciDataLabelsOptions {
  31507. /**
  31508. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  31509. * compared to the point. If `right`, the right side of the label should be
  31510. * touching the point. For points with an extent, like columns, the
  31511. * alignments also dictates how to align it inside the box, as given with
  31512. * the inside option. Can be one of `left`, `center` or `right`.
  31513. */
  31514. align?: (AlignValue|null);
  31515. /**
  31516. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  31517. * overlap. To make the labels less sensitive for overlapping, the
  31518. * dataLabels.padding can be set to 0.
  31519. */
  31520. allowOverlap?: boolean;
  31521. /**
  31522. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  31523. * animation when a series is displayed for the `dataLabels`. The animation
  31524. * can also be set as a configuration object. Please note that this option
  31525. * only applies to the initial animation. For other animations, see
  31526. * chart.animation and the animation parameter under the API methods. The
  31527. * following properties are supported:
  31528. *
  31529. * - `defer`: The animation delay time in milliseconds.
  31530. */
  31531. animation?: (boolean|PlotCciDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  31532. /**
  31533. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  31534. * for the data label.
  31535. */
  31536. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  31537. /**
  31538. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  31539. * label. Defaults to `undefined`.
  31540. */
  31541. borderColor?: (ColorString|GradientColorObject|PatternObject);
  31542. /**
  31543. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  31544. * the data label.
  31545. */
  31546. borderRadius?: number;
  31547. /**
  31548. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  31549. * the data label.
  31550. */
  31551. borderWidth?: number;
  31552. /**
  31553. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  31554. * Particularly in styled mode, this can be used to give each series' or
  31555. * point's data label unique styling. In addition to this option, a default
  31556. * color class name is added so that we can give the labels a contrast text
  31557. * shadow.
  31558. */
  31559. className?: string;
  31560. /**
  31561. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  31562. * labels. Defaults to `undefined`. For certain series types, like column or
  31563. * map, the data labels can be drawn inside the points. In this case the
  31564. * data label will be drawn with maximum contrast by default. Additionally,
  31565. * it will be given a `text-outline` style with the opposite color, to
  31566. * further increase the contrast. This can be overridden by setting the
  31567. * `text-outline` style to `none` in the `dataLabels.style` option.
  31568. */
  31569. color?: (ColorString|GradientColorObject|PatternObject);
  31570. /**
  31571. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  31572. * are outside the plot area. By default, the data label is moved inside the
  31573. * plot area according to the overflow option.
  31574. */
  31575. crop?: boolean;
  31576. /**
  31577. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  31578. * labels until the initial series animation has finished. Setting to
  31579. * `false` renders the data label immediately. If set to `true` inherits the
  31580. * defer time set in plotOptions.series.animation.
  31581. */
  31582. defer?: boolean;
  31583. /**
  31584. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  31585. * labels.
  31586. */
  31587. enabled?: boolean;
  31588. /**
  31589. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  31590. * of which data labels to display. The declarative filter is designed for
  31591. * use when callback functions are not available, like when the chart
  31592. * options require a pure JSON structure or for use with graphical editors.
  31593. * For programmatic control, use the `formatter` instead, and return
  31594. * `undefined` to disable a single data label.
  31595. */
  31596. filter?: DataLabelsFilterOptionsObject;
  31597. /**
  31598. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  31599. * label. Available variables are the same as for `formatter`.
  31600. */
  31601. format?: string;
  31602. /**
  31603. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  31604. * format the data label. Note that if a `format` is defined, the format
  31605. * takes precedence and the formatter is ignored.
  31606. */
  31607. formatter?: DataLabelsFormatterCallbackFunction;
  31608. /**
  31609. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  31610. * columns or map areas, whether to align the data label inside the box or
  31611. * to the actual value point. Defaults to `false` in most cases, `true` in
  31612. * stacked columns.
  31613. */
  31614. inside?: boolean;
  31615. /**
  31616. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  31617. * of null. Works analogously to format. `nullFormat` can be applied only to
  31618. * series which support displaying null points.
  31619. */
  31620. nullFormat?: (boolean|string);
  31621. /**
  31622. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  31623. * that defines formatting for points with the value of null. Works
  31624. * analogously to formatter. `nullPointFormatter` can be applied only to
  31625. * series which support displaying null points.
  31626. */
  31627. nullFormatter?: DataLabelsFormatterCallbackFunction;
  31628. /**
  31629. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  31630. * flow outside the plot area. The default is `"justify"`, which aligns them
  31631. * inside the plot area. For columns and bars, this means it will be moved
  31632. * inside the bar. To display data labels outside the plot area, set `crop`
  31633. * to `false` and `overflow` to `"allow"`.
  31634. */
  31635. overflow?: DataLabelsOverflowValue;
  31636. /**
  31637. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  31638. * the `backgroundColor` is set, this is the padding within the box.
  31639. */
  31640. padding?: number;
  31641. /**
  31642. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  31643. * points. If `center` alignment is not possible, it defaults to `right`.
  31644. */
  31645. position?: AlignValue;
  31646. /**
  31647. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  31648. * that due to a more complex structure, backgrounds, borders and padding
  31649. * will be lost on a rotated data label.
  31650. */
  31651. rotation?: number;
  31652. /**
  31653. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  31654. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  31655. * an object configuration containing `color`, `offsetX`, `offsetY`,
  31656. * `opacity` and `width`.
  31657. */
  31658. shadow?: (boolean|ShadowOptionsObject);
  31659. /**
  31660. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  31661. * the border around the label. Symbols are predefined functions on the
  31662. * Renderer object.
  31663. */
  31664. shape?: string;
  31665. /**
  31666. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  31667. * default `color` setting is `"contrast"`, which is a pseudo color that
  31668. * Highcharts picks up and applies the maximum contrast to the underlying
  31669. * point item, for example the bar in a bar chart.
  31670. *
  31671. * The `textOutline` is a pseudo property that applies an outline of the
  31672. * given width with the given color, which by default is the maximum
  31673. * contrast to the text. So a bright text color will result in a black text
  31674. * outline for maximum readability on a mixed background. In some cases,
  31675. * especially with grayscale text, the text outline doesn't work well, in
  31676. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  31677. * is true, the `textOutline` will not be picked up. In this, case, the same
  31678. * effect can be acheived through the `text-shadow` CSS property.
  31679. *
  31680. * For some series types, where each point has an extent, like for example
  31681. * tree maps, the data label may overflow the point. There are two
  31682. * strategies for handling overflow. By default, the text will wrap to
  31683. * multiple lines. The other strategy is to set `style.textOverflow` to
  31684. * `ellipsis`, which will keep the text on one line plus it will break
  31685. * inside long words.
  31686. */
  31687. style?: CSSObject;
  31688. /**
  31689. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  31690. * should follow marker's shape. Border and background are disabled for a
  31691. * label that follows a path.
  31692. *
  31693. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  31694. * to true will disable this option.
  31695. */
  31696. textPath?: DataLabelsTextPathOptionsObject;
  31697. /**
  31698. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  31699. * the labels.
  31700. */
  31701. useHTML?: boolean;
  31702. /**
  31703. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  31704. * label. Can be one of `top`, `middle` or `bottom`. The default value
  31705. * depends on the data, for instance in a column chart, the label is above
  31706. * positive values and below negative values.
  31707. */
  31708. verticalAlign?: (VerticalAlignValue|null);
  31709. /**
  31710. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  31711. * label relative to the point in pixels.
  31712. */
  31713. x?: number;
  31714. /**
  31715. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  31716. * label relative to the point in pixels.
  31717. */
  31718. y?: number;
  31719. /**
  31720. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  31721. * The default Z index puts it above the series. Use a Z index of 2 to
  31722. * display it behind the series.
  31723. */
  31724. z?: number;
  31725. }
  31726. /**
  31727. * (Highcharts, Highstock) Options for the series data sorting.
  31728. */
  31729. export interface PlotCciDataSortingOptions {
  31730. /**
  31731. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  31732. * Use xAxis.reversed to change the sorting order.
  31733. */
  31734. enabled?: boolean;
  31735. /**
  31736. * (Highcharts, Highstock) Whether to allow matching points by name in an
  31737. * update. If this option is disabled, points will be matched by order.
  31738. */
  31739. matchByName?: boolean;
  31740. /**
  31741. * (Highcharts, Highstock) Determines what data value should be used to sort
  31742. * by.
  31743. */
  31744. sortKey?: string;
  31745. }
  31746. /**
  31747. * (Highstock) Commodity Channel Index (CCI). This series requires `linkedTo`
  31748. * option to be set.
  31749. *
  31750. * In TypeScript the type option must always be set.
  31751. *
  31752. * Configuration options for the series are given in three levels:
  31753. *
  31754. * 1. Options for all series in a chart are defined in the plotOptions.series
  31755. * object.
  31756. *
  31757. * 2. Options for all `cci` series are defined in plotOptions.cci.
  31758. *
  31759. * 3. Options for one single series are given in the series instance array. (see
  31760. * online documentation for example)
  31761. */
  31762. export interface PlotCciOptions {
  31763. /**
  31764. * (Highstock) Accessibility options for a series.
  31765. */
  31766. accessibility?: SeriesAccessibilityOptionsObject;
  31767. /**
  31768. * (Highstock) Allow this series' points to be selected by clicking on the
  31769. * graphic (columns, point markers, pie slices, map areas etc).
  31770. *
  31771. * The selected points can be handled by point select and unselect events,
  31772. * or collectively by the getSelectedPoints function.
  31773. *
  31774. * And alternative way of selecting points is through dragging.
  31775. */
  31776. allowPointSelect?: boolean;
  31777. /**
  31778. * (Highstock) Enable or disable the initial animation when a series is
  31779. * displayed. The animation can also be set as a configuration object.
  31780. * Please note that this option only applies to the initial animation of the
  31781. * series itself. For other animations, see chart.animation and the
  31782. * animation parameter under the API methods. The following properties are
  31783. * supported:
  31784. *
  31785. * - `defer`: The animation delay time in milliseconds.
  31786. *
  31787. * - `duration`: The duration of the animation in milliseconds.
  31788. *
  31789. * - `easing`: Can be a string reference to an easing function set on the
  31790. * `Math` object or a function. See the _Custom easing function_ demo below.
  31791. *
  31792. * Due to poor performance, animation is disabled in old IE browsers for
  31793. * several chart types.
  31794. */
  31795. animation?: (boolean|PlotCciAnimationOptions|Partial<AnimationOptionsObject>);
  31796. /**
  31797. * (Highstock) For some series, there is a limit that shuts down initial
  31798. * animation by default when the total number of points in the chart is too
  31799. * high. For example, for a column chart and its derivatives, animation does
  31800. * not run if there is more than 250 points totally. To disable this cap,
  31801. * set `animationLimit` to `Infinity`.
  31802. */
  31803. animationLimit?: number;
  31804. /**
  31805. * (Highstock) Sets the color blending in the boost module.
  31806. */
  31807. boostBlending?: OptionsBoostBlendingValue;
  31808. /**
  31809. * (Highstock) Set the point threshold for when a series should enter boost
  31810. * mode.
  31811. *
  31812. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  31813. * there are 2000 or more points in the series.
  31814. *
  31815. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  31816. * it to 1 will force boosting.
  31817. *
  31818. * Note that the cropThreshold also affects this setting. When zooming in on
  31819. * a series that has fewer points than the `cropThreshold`, all points are
  31820. * rendered although outside the visible plot area, and the `boostThreshold`
  31821. * won't take effect.
  31822. */
  31823. boostThreshold?: number;
  31824. /**
  31825. * (Highmaps) The border color of the map areas.
  31826. *
  31827. * In styled mode, the border stroke is given in the `.highcharts-point`
  31828. * class.
  31829. */
  31830. borderColor?: (ColorString|GradientColorObject|PatternObject);
  31831. /**
  31832. * (Highmaps) The border width of each map area.
  31833. *
  31834. * In styled mode, the border stroke width is given in the
  31835. * `.highcharts-point` class.
  31836. */
  31837. borderWidth?: number;
  31838. /**
  31839. * (Highstock) An additional class name to apply to the series' graphical
  31840. * elements. This option does not replace default class names of the
  31841. * graphical element.
  31842. */
  31843. className?: string;
  31844. /**
  31845. * (Highstock) Disable this option to allow series rendering in the whole
  31846. * plotting area.
  31847. *
  31848. * **Note:** Clipping should be always enabled when chart.zoomType is set
  31849. */
  31850. clip?: boolean;
  31851. /**
  31852. * (Highstock) The main color of the series. In line type series it applies
  31853. * to the line and the point markers unless otherwise specified. In bar type
  31854. * series it applies to the bars unless a color is specified per point. The
  31855. * default value is pulled from the `options.colors` array.
  31856. *
  31857. * In styled mode, the color can be defined by the colorIndex option. Also,
  31858. * the series color can be set with the `.highcharts-series`,
  31859. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  31860. * `.highcharts-series-{n}` class, or individual classes given by the
  31861. * `className` option.
  31862. */
  31863. color?: (ColorString|GradientColorObject|PatternObject);
  31864. /**
  31865. * (Highstock) Styled mode only. A specific color index to use for the
  31866. * series, so its graphic representations are given the class name
  31867. * `highcharts-color-{n}`.
  31868. */
  31869. colorIndex?: number;
  31870. /**
  31871. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  31872. * used to calculate point color if `colorAxis` is used. Requires to set
  31873. * `min` and `max` if some custom point property is used or if approximation
  31874. * for data grouping is set to `'sum'`.
  31875. */
  31876. colorKey?: string;
  31877. /**
  31878. * (Highstock) Compare the values of the series against the first non-null,
  31879. * non- zero value in the visible range. The y axis will show percentage or
  31880. * absolute change depending on whether `compare` is set to `"percent"` or
  31881. * `"value"`. When this is applied to multiple series, it allows comparing
  31882. * the development of the series against each other. Adds a `change` field
  31883. * to every point object.
  31884. */
  31885. compare?: string;
  31886. /**
  31887. * (Highstock) When compare is `percent`, this option dictates whether to
  31888. * use 0 or 100 as the base of comparison.
  31889. */
  31890. compareBase?: (0|100);
  31891. /**
  31892. * (Highstock) Defines if comparison should start from the first point
  31893. * within the visible range or should start from the first point **before**
  31894. * the range.
  31895. *
  31896. * In other words, this flag determines if first point within the visible
  31897. * range will have 0% (`compareStart=true`) or should have been already
  31898. * calculated according to the previous point (`compareStart=false`).
  31899. */
  31900. compareStart?: boolean;
  31901. /**
  31902. * (Highstock) Whether to compare indicator to the main series values or
  31903. * indicator values.
  31904. */
  31905. compareToMain?: boolean;
  31906. /**
  31907. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  31908. * series plot across the extremes.
  31909. */
  31910. connectEnds?: boolean;
  31911. /**
  31912. * (Highcharts, Highstock) Whether to connect a graph line across null
  31913. * points, or render a gap between the two points on either side of the
  31914. * null.
  31915. */
  31916. connectNulls?: boolean;
  31917. /**
  31918. * (Gantt) Override Pathfinder connector options for a series. Requires
  31919. * Highcharts Gantt to be loaded.
  31920. */
  31921. connectors?: SeriesConnectorsOptionsObject;
  31922. /**
  31923. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  31924. * rounded to its nearest pixel in order to render sharp on screen. In some
  31925. * cases, when there are a lot of densely packed columns, this leads to
  31926. * visible difference in column widths or distance between columns. In these
  31927. * cases, setting `crisp` to `false` may look better, even though each
  31928. * column is rendered blurry.
  31929. */
  31930. crisp?: boolean;
  31931. /**
  31932. * (Highcharts, Highstock) When the series contains less points than the
  31933. * crop threshold, all points are drawn, even if the points fall outside the
  31934. * visible plot area at the current zoom. The advantage of drawing all
  31935. * points (including markers and columns), is that animation is performed on
  31936. * updates. On the other hand, when the series contains more points than the
  31937. * crop threshold, the series data is cropped to only contain points that
  31938. * fall within the plot area. The advantage of cropping away invisible
  31939. * points is to increase performance on large series.
  31940. */
  31941. cropThreshold?: number;
  31942. /**
  31943. * (Highstock) You can set the cursor to "pointer" if you have click events
  31944. * attached to the series, to signal to the user that the points and lines
  31945. * can be clicked.
  31946. *
  31947. * In styled mode, the series cursor can be set with the same classes as
  31948. * listed under series.color.
  31949. */
  31950. cursor?: (string|CursorValue);
  31951. /**
  31952. * (Highstock) A reserved subspace to store options and values for
  31953. * customized functionality. Here you can add additional data for your own
  31954. * event callbacks and formatter callbacks.
  31955. */
  31956. custom?: Dictionary<any>;
  31957. /**
  31958. * (Highstock) Name of the dash style to use for the graph, or for some
  31959. * series types the outline of each shape.
  31960. *
  31961. * In styled mode, the stroke dash-array can be set with the same classes as
  31962. * listed under series.color.
  31963. */
  31964. dashStyle?: DashStyleValue;
  31965. /**
  31966. * (Highstock) Data grouping is the concept of sampling the data values into
  31967. * larger blocks in order to ease readability and increase performance of
  31968. * the JavaScript charts. Highstock by default applies data grouping when
  31969. * the points become closer than a certain pixel value, determined by the
  31970. * `groupPixelWidth` option.
  31971. *
  31972. * If data grouping is applied, the grouping information of grouped points
  31973. * can be read from the Point.dataGroup. If point options other than the
  31974. * data itself are set, for example `name` or `color` or custom properties,
  31975. * the grouping logic doesn't know how to group it. In this case the options
  31976. * of the first point instance are copied over to the group point. This can
  31977. * be altered through a custom `approximation` callback function.
  31978. */
  31979. dataGrouping?: DataGroupingOptionsObject;
  31980. /**
  31981. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  31982. * labels, appearing next to each data point.
  31983. *
  31984. * Since v6.2.0, multiple data labels can be applied to each single point by
  31985. * defining them as an array of configs.
  31986. *
  31987. * In styled mode, the data labels can be styled with the
  31988. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  31989. * (see example).
  31990. */
  31991. dataLabels?: (PlotCciDataLabelsOptions|Array<PlotCciDataLabelsOptions>);
  31992. /**
  31993. * (Highcharts, Highstock) Options for the series data sorting.
  31994. */
  31995. dataSorting?: (DataSortingOptionsObject|PlotCciDataSortingOptions);
  31996. /**
  31997. * (Highstock) A description of the series to add to the screen reader
  31998. * information about the series.
  31999. */
  32000. description?: string;
  32001. /**
  32002. * (Highstock) Enable or disable the mouse tracking for a specific series.
  32003. * This includes point tooltips and click events on graphs and points. For
  32004. * large datasets it improves performance.
  32005. */
  32006. enableMouseTracking?: boolean;
  32007. /**
  32008. * (Highstock) General event handlers for the series items. These event
  32009. * hooks can also be attached to the series at run time using the
  32010. * `Highcharts.addEvent` function.
  32011. */
  32012. events?: SeriesEventsOptionsObject;
  32013. /**
  32014. * (Highstock) Determines whether the series should look for the nearest
  32015. * point in both dimensions or just the x-dimension when hovering the
  32016. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  32017. * series. If the data has duplicate x-values, it is recommended to set this
  32018. * to `'xy'` to allow hovering over all points.
  32019. *
  32020. * Applies only to series types using nearest neighbor search (not direct
  32021. * hover) for tooltip.
  32022. */
  32023. findNearestPointBy?: OptionsFindNearestPointByValue;
  32024. /**
  32025. * (Highstock) Defines when to display a gap in the graph, together with the
  32026. * gapUnit option.
  32027. *
  32028. * In case when `dataGrouping` is enabled, points can be grouped into a
  32029. * larger time span. This can make the grouped points to have a greater
  32030. * distance than the absolute value of `gapSize` property, which will result
  32031. * in disappearing graph completely. To prevent this situation the mentioned
  32032. * distance between grouped points is used instead of previously defined
  32033. * `gapSize`.
  32034. *
  32035. * In practice, this option is most often used to visualize gaps in time
  32036. * series. In a stock chart, intraday data is available for daytime hours,
  32037. * while gaps will appear in nights and weekends.
  32038. */
  32039. gapSize?: number;
  32040. /**
  32041. * (Highstock) Together with gapSize, this option defines where to draw gaps
  32042. * in the graph.
  32043. *
  32044. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  32045. * if the distance between two points is greater than 5 times that of the
  32046. * two closest points, the graph will be broken.
  32047. *
  32048. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  32049. * values, which on a datetime axis is milliseconds. This also applies to
  32050. * the navigator series that inherits gap options from the base series.
  32051. */
  32052. gapUnit?: OptionsGapUnitValue;
  32053. /**
  32054. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  32055. * chart width or only the zoomed area when zooming in on parts of the X
  32056. * axis. By default, the Y axis adjusts to the min and max of the visible
  32057. * data. Cartesian series only.
  32058. */
  32059. getExtremesFromAll?: boolean;
  32060. /**
  32061. * (Highstock) When set to `false` will prevent the series data from being
  32062. * included in any form of data export.
  32063. *
  32064. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  32065. * `includeInCSVExport`.
  32066. */
  32067. includeInDataExport?: boolean;
  32068. /**
  32069. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  32070. * series as possible in a natural way, seeking to avoid other series. The
  32071. * goal of this feature is to make the chart more easily readable, like if a
  32072. * human designer placed the labels in the optimal position.
  32073. *
  32074. * The series labels currently work with series types having a `graph` or an
  32075. * `area`.
  32076. */
  32077. label?: SeriesLabelOptionsObject;
  32078. /**
  32079. * (Highstock) The line marks the last price from all points.
  32080. */
  32081. lastPrice?: SeriesLastPriceOptionsObject;
  32082. /**
  32083. * (Highstock) The line marks the last price from visible range of points.
  32084. */
  32085. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  32086. /**
  32087. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  32088. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  32089. * the ends and bends.
  32090. */
  32091. linecap?: SeriesLinecapValue;
  32092. /**
  32093. * (Highcharts, Highstock) Pixel width of the graph line.
  32094. */
  32095. lineWidth?: number;
  32096. /**
  32097. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  32098. * based on. Required for this indicator.
  32099. */
  32100. linkedTo?: string;
  32101. /**
  32102. * (Highstock) Options for the point markers of line-like series. Properties
  32103. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  32104. * appearance of the markers. Other series types, like column series, don't
  32105. * have markers, but have visual options on the series level instead.
  32106. *
  32107. * In styled mode, the markers can be styled with the `.highcharts-point`,
  32108. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  32109. */
  32110. marker?: PointMarkerOptionsObject;
  32111. /**
  32112. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  32113. * If not set, it will be based on a technical indicator type and default
  32114. * params.
  32115. */
  32116. name?: string;
  32117. /**
  32118. * (Highstock) The color for the parts of the graph or points that are below
  32119. * the threshold. Note that `zones` takes precedence over the negative
  32120. * color. Using `negativeColor` is equivalent to applying a zone with value
  32121. * of 0.
  32122. */
  32123. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  32124. /**
  32125. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  32126. * dataLabels.
  32127. */
  32128. opacity?: number;
  32129. /**
  32130. * (Highstock) Paramters used in calculation of regression series' points.
  32131. */
  32132. params?: PlotCciParamsOptions;
  32133. /**
  32134. * (Highstock) Properties for each single point.
  32135. */
  32136. point?: PlotSeriesPointOptions;
  32137. /**
  32138. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  32139. * individual series. Overrides the chart wide configuration.
  32140. */
  32141. pointDescriptionFormatter?: Function;
  32142. /**
  32143. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  32144. * true, the checkbox next to the series name in the legend will be checked
  32145. * for a selected series.
  32146. */
  32147. selected?: boolean;
  32148. /**
  32149. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  32150. * the shadow can be an object configuration containing `color`, `offsetX`,
  32151. * `offsetY`, `opacity` and `width`.
  32152. */
  32153. shadow?: (boolean|ShadowOptionsObject);
  32154. /**
  32155. * (Highstock) If true, a checkbox is displayed next to the legend item to
  32156. * allow selecting the series. The state of the checkbox is determined by
  32157. * the `selected` option.
  32158. */
  32159. showCheckbox?: boolean;
  32160. /**
  32161. * (Highstock) Whether to display this particular series or series type in
  32162. * the legend. Standalone series are shown in legend by default, and linked
  32163. * series are not. Since v7.2.0 it is possible to show series that use
  32164. * colorAxis by setting this option to `true`.
  32165. */
  32166. showInLegend?: boolean;
  32167. /**
  32168. * (Highstock) If set to `true`, the accessibility module will skip past the
  32169. * points in this series for keyboard navigation.
  32170. */
  32171. skipKeyboardNavigation?: boolean;
  32172. /**
  32173. * (Highcharts, Highstock) When this is true, the series will not cause the
  32174. * Y axis to cross the zero plane (or threshold option) unless the data
  32175. * actually crosses the plane.
  32176. *
  32177. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  32178. * make the Y axis show negative values according to the `minPadding`
  32179. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  32180. */
  32181. softThreshold?: boolean;
  32182. states?: SeriesStatesOptionsObject;
  32183. /**
  32184. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  32185. * values are `left`, `center` and `right`.
  32186. */
  32187. step?: OptionsStepValue;
  32188. /**
  32189. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  32190. * event on a series isn't triggered until the mouse moves over another
  32191. * series, or out of the plot area. When false, the `mouseOut` event on a
  32192. * series is triggered when the mouse leaves the area around the series'
  32193. * graph or markers. This also implies the tooltip when not shared. When
  32194. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  32195. * be hidden when moving the mouse between series. Defaults to true for line
  32196. * and area type series, but to false for columns, pies etc.
  32197. *
  32198. * **Note:** The boost module will force this option because of technical
  32199. * limitations.
  32200. */
  32201. stickyTracking?: boolean;
  32202. /**
  32203. * (Highcharts, Highstock) The threshold, also called zero level or base
  32204. * level. For line type series this is only used in conjunction with
  32205. * negativeColor.
  32206. */
  32207. threshold?: number;
  32208. /**
  32209. * (Highstock) A configuration object for the tooltip rendering of each
  32210. * single series. Properties are inherited from tooltip, but only the
  32211. * following properties can be defined on a series level.
  32212. */
  32213. tooltip?: SeriesTooltipOptionsObject;
  32214. /**
  32215. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  32216. * is longer than this, only one dimensional arrays of numbers, or two
  32217. * dimensional arrays with x and y values are allowed. Also, only the first
  32218. * point is tested, and the rest are assumed to be the same format. This
  32219. * saves expensive data checking and indexing in long series. Set it to `0`
  32220. * disable.
  32221. *
  32222. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  32223. * two dimensional arrays are allowed.
  32224. */
  32225. turboThreshold?: number;
  32226. /**
  32227. * (Highstock) Set the initial visibility of the series.
  32228. */
  32229. visible?: boolean;
  32230. /**
  32231. * (Highmaps) Define the z index of the series.
  32232. */
  32233. zIndex?: number;
  32234. /**
  32235. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  32236. */
  32237. zoneAxis?: string;
  32238. /**
  32239. * (Highcharts, Highstock) An array defining zones within a series. Zones
  32240. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  32241. * the `zoneAxis` option. The zone definitions have to be in ascending order
  32242. * regarding to the value.
  32243. *
  32244. * In styled mode, the color zones are styled with the
  32245. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  32246. * option (view live demo).
  32247. */
  32248. zones?: Array<SeriesZonesOptionsObject>;
  32249. }
  32250. /**
  32251. * (Highstock) Paramters used in calculation of regression series' points.
  32252. */
  32253. export interface PlotCciParamsOptions {
  32254. /**
  32255. * (Highstock) The point index which indicator calculations will base. For
  32256. * example using OHLC data, index=2 means the indicator will be calculated
  32257. * using Low values.
  32258. */
  32259. index?: number;
  32260. /**
  32261. * (Highstock) The base period for indicator calculations. This is the
  32262. * number of data points which are taken into account for the indicator
  32263. * calculations.
  32264. */
  32265. period?: number;
  32266. }
  32267. /**
  32268. * (Highstock) Enable or disable the initial animation when a series is
  32269. * displayed. The animation can also be set as a configuration object. Please
  32270. * note that this option only applies to the initial animation of the series
  32271. * itself. For other animations, see chart.animation and the animation parameter
  32272. * under the API methods. The following properties are supported:
  32273. *
  32274. * - `defer`: The animation delay time in milliseconds.
  32275. *
  32276. * - `duration`: The duration of the animation in milliseconds.
  32277. *
  32278. * - `easing`: Can be a string reference to an easing function set on the `Math`
  32279. * object or a function. See the _Custom easing function_ demo below.
  32280. *
  32281. * Due to poor performance, animation is disabled in old IE browsers for several
  32282. * chart types.
  32283. */
  32284. export interface PlotChaikinAnimationOptions {
  32285. defer?: number;
  32286. }
  32287. /**
  32288. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  32289. * animation when a series is displayed for the `dataLabels`. The animation can
  32290. * also be set as a configuration object. Please note that this option only
  32291. * applies to the initial animation. For other animations, see chart.animation
  32292. * and the animation parameter under the API methods. The following properties
  32293. * are supported:
  32294. *
  32295. * - `defer`: The animation delay time in milliseconds.
  32296. */
  32297. export interface PlotChaikinDataLabelsAnimationOptions {
  32298. /**
  32299. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  32300. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  32301. * inherits defer time from the series.animation.defer.
  32302. */
  32303. defer?: number;
  32304. }
  32305. /**
  32306. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  32307. * appearing next to each data point.
  32308. *
  32309. * Since v6.2.0, multiple data labels can be applied to each single point by
  32310. * defining them as an array of configs.
  32311. *
  32312. * In styled mode, the data labels can be styled with the
  32313. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  32314. * example).
  32315. */
  32316. export interface PlotChaikinDataLabelsOptions {
  32317. /**
  32318. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  32319. * compared to the point. If `right`, the right side of the label should be
  32320. * touching the point. For points with an extent, like columns, the
  32321. * alignments also dictates how to align it inside the box, as given with
  32322. * the inside option. Can be one of `left`, `center` or `right`.
  32323. */
  32324. align?: (AlignValue|null);
  32325. /**
  32326. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  32327. * overlap. To make the labels less sensitive for overlapping, the
  32328. * dataLabels.padding can be set to 0.
  32329. */
  32330. allowOverlap?: boolean;
  32331. /**
  32332. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  32333. * animation when a series is displayed for the `dataLabels`. The animation
  32334. * can also be set as a configuration object. Please note that this option
  32335. * only applies to the initial animation. For other animations, see
  32336. * chart.animation and the animation parameter under the API methods. The
  32337. * following properties are supported:
  32338. *
  32339. * - `defer`: The animation delay time in milliseconds.
  32340. */
  32341. animation?: (boolean|PlotChaikinDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  32342. /**
  32343. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  32344. * for the data label.
  32345. */
  32346. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  32347. /**
  32348. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  32349. * label. Defaults to `undefined`.
  32350. */
  32351. borderColor?: (ColorString|GradientColorObject|PatternObject);
  32352. /**
  32353. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  32354. * the data label.
  32355. */
  32356. borderRadius?: number;
  32357. /**
  32358. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  32359. * the data label.
  32360. */
  32361. borderWidth?: number;
  32362. /**
  32363. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  32364. * Particularly in styled mode, this can be used to give each series' or
  32365. * point's data label unique styling. In addition to this option, a default
  32366. * color class name is added so that we can give the labels a contrast text
  32367. * shadow.
  32368. */
  32369. className?: string;
  32370. /**
  32371. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  32372. * labels. Defaults to `undefined`. For certain series types, like column or
  32373. * map, the data labels can be drawn inside the points. In this case the
  32374. * data label will be drawn with maximum contrast by default. Additionally,
  32375. * it will be given a `text-outline` style with the opposite color, to
  32376. * further increase the contrast. This can be overridden by setting the
  32377. * `text-outline` style to `none` in the `dataLabels.style` option.
  32378. */
  32379. color?: (ColorString|GradientColorObject|PatternObject);
  32380. /**
  32381. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  32382. * are outside the plot area. By default, the data label is moved inside the
  32383. * plot area according to the overflow option.
  32384. */
  32385. crop?: boolean;
  32386. /**
  32387. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  32388. * labels until the initial series animation has finished. Setting to
  32389. * `false` renders the data label immediately. If set to `true` inherits the
  32390. * defer time set in plotOptions.series.animation.
  32391. */
  32392. defer?: boolean;
  32393. /**
  32394. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  32395. * labels.
  32396. */
  32397. enabled?: boolean;
  32398. /**
  32399. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  32400. * of which data labels to display. The declarative filter is designed for
  32401. * use when callback functions are not available, like when the chart
  32402. * options require a pure JSON structure or for use with graphical editors.
  32403. * For programmatic control, use the `formatter` instead, and return
  32404. * `undefined` to disable a single data label.
  32405. */
  32406. filter?: DataLabelsFilterOptionsObject;
  32407. /**
  32408. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  32409. * label. Available variables are the same as for `formatter`.
  32410. */
  32411. format?: string;
  32412. /**
  32413. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  32414. * format the data label. Note that if a `format` is defined, the format
  32415. * takes precedence and the formatter is ignored.
  32416. */
  32417. formatter?: DataLabelsFormatterCallbackFunction;
  32418. /**
  32419. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  32420. * columns or map areas, whether to align the data label inside the box or
  32421. * to the actual value point. Defaults to `false` in most cases, `true` in
  32422. * stacked columns.
  32423. */
  32424. inside?: boolean;
  32425. /**
  32426. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  32427. * of null. Works analogously to format. `nullFormat` can be applied only to
  32428. * series which support displaying null points.
  32429. */
  32430. nullFormat?: (boolean|string);
  32431. /**
  32432. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  32433. * that defines formatting for points with the value of null. Works
  32434. * analogously to formatter. `nullPointFormatter` can be applied only to
  32435. * series which support displaying null points.
  32436. */
  32437. nullFormatter?: DataLabelsFormatterCallbackFunction;
  32438. /**
  32439. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  32440. * flow outside the plot area. The default is `"justify"`, which aligns them
  32441. * inside the plot area. For columns and bars, this means it will be moved
  32442. * inside the bar. To display data labels outside the plot area, set `crop`
  32443. * to `false` and `overflow` to `"allow"`.
  32444. */
  32445. overflow?: DataLabelsOverflowValue;
  32446. /**
  32447. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  32448. * the `backgroundColor` is set, this is the padding within the box.
  32449. */
  32450. padding?: number;
  32451. /**
  32452. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  32453. * points. If `center` alignment is not possible, it defaults to `right`.
  32454. */
  32455. position?: AlignValue;
  32456. /**
  32457. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  32458. * that due to a more complex structure, backgrounds, borders and padding
  32459. * will be lost on a rotated data label.
  32460. */
  32461. rotation?: number;
  32462. /**
  32463. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  32464. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  32465. * an object configuration containing `color`, `offsetX`, `offsetY`,
  32466. * `opacity` and `width`.
  32467. */
  32468. shadow?: (boolean|ShadowOptionsObject);
  32469. /**
  32470. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  32471. * the border around the label. Symbols are predefined functions on the
  32472. * Renderer object.
  32473. */
  32474. shape?: string;
  32475. /**
  32476. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  32477. * default `color` setting is `"contrast"`, which is a pseudo color that
  32478. * Highcharts picks up and applies the maximum contrast to the underlying
  32479. * point item, for example the bar in a bar chart.
  32480. *
  32481. * The `textOutline` is a pseudo property that applies an outline of the
  32482. * given width with the given color, which by default is the maximum
  32483. * contrast to the text. So a bright text color will result in a black text
  32484. * outline for maximum readability on a mixed background. In some cases,
  32485. * especially with grayscale text, the text outline doesn't work well, in
  32486. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  32487. * is true, the `textOutline` will not be picked up. In this, case, the same
  32488. * effect can be acheived through the `text-shadow` CSS property.
  32489. *
  32490. * For some series types, where each point has an extent, like for example
  32491. * tree maps, the data label may overflow the point. There are two
  32492. * strategies for handling overflow. By default, the text will wrap to
  32493. * multiple lines. The other strategy is to set `style.textOverflow` to
  32494. * `ellipsis`, which will keep the text on one line plus it will break
  32495. * inside long words.
  32496. */
  32497. style?: CSSObject;
  32498. /**
  32499. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  32500. * should follow marker's shape. Border and background are disabled for a
  32501. * label that follows a path.
  32502. *
  32503. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  32504. * to true will disable this option.
  32505. */
  32506. textPath?: DataLabelsTextPathOptionsObject;
  32507. /**
  32508. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  32509. * the labels.
  32510. */
  32511. useHTML?: boolean;
  32512. /**
  32513. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  32514. * label. Can be one of `top`, `middle` or `bottom`. The default value
  32515. * depends on the data, for instance in a column chart, the label is above
  32516. * positive values and below negative values.
  32517. */
  32518. verticalAlign?: (VerticalAlignValue|null);
  32519. /**
  32520. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  32521. * label relative to the point in pixels.
  32522. */
  32523. x?: number;
  32524. /**
  32525. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  32526. * label relative to the point in pixels.
  32527. */
  32528. y?: number;
  32529. /**
  32530. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  32531. * The default Z index puts it above the series. Use a Z index of 2 to
  32532. * display it behind the series.
  32533. */
  32534. z?: number;
  32535. }
  32536. /**
  32537. * (Highcharts, Highstock) Options for the series data sorting.
  32538. */
  32539. export interface PlotChaikinDataSortingOptions {
  32540. /**
  32541. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  32542. * Use xAxis.reversed to change the sorting order.
  32543. */
  32544. enabled?: boolean;
  32545. /**
  32546. * (Highcharts, Highstock) Whether to allow matching points by name in an
  32547. * update. If this option is disabled, points will be matched by order.
  32548. */
  32549. matchByName?: boolean;
  32550. /**
  32551. * (Highcharts, Highstock) Determines what data value should be used to sort
  32552. * by.
  32553. */
  32554. sortKey?: string;
  32555. }
  32556. /**
  32557. * (Highstock) Chaikin Oscillator. This series requires the `linkedTo` option to
  32558. * be set and should be loaded after the `stock/indicators/indicators.js` and
  32559. * `stock/indicators/ema.js`.
  32560. *
  32561. * In TypeScript the type option must always be set.
  32562. *
  32563. * Configuration options for the series are given in three levels:
  32564. *
  32565. * 1. Options for all series in a chart are defined in the plotOptions.series
  32566. * object.
  32567. *
  32568. * 2. Options for all `chaikin` series are defined in plotOptions.chaikin.
  32569. *
  32570. * 3. Options for one single series are given in the series instance array. (see
  32571. * online documentation for example)
  32572. */
  32573. export interface PlotChaikinOptions {
  32574. /**
  32575. * (Highstock) Accessibility options for a series.
  32576. */
  32577. accessibility?: SeriesAccessibilityOptionsObject;
  32578. /**
  32579. * (Highstock) Allow this series' points to be selected by clicking on the
  32580. * graphic (columns, point markers, pie slices, map areas etc).
  32581. *
  32582. * The selected points can be handled by point select and unselect events,
  32583. * or collectively by the getSelectedPoints function.
  32584. *
  32585. * And alternative way of selecting points is through dragging.
  32586. */
  32587. allowPointSelect?: boolean;
  32588. /**
  32589. * (Highstock) Enable or disable the initial animation when a series is
  32590. * displayed. The animation can also be set as a configuration object.
  32591. * Please note that this option only applies to the initial animation of the
  32592. * series itself. For other animations, see chart.animation and the
  32593. * animation parameter under the API methods. The following properties are
  32594. * supported:
  32595. *
  32596. * - `defer`: The animation delay time in milliseconds.
  32597. *
  32598. * - `duration`: The duration of the animation in milliseconds.
  32599. *
  32600. * - `easing`: Can be a string reference to an easing function set on the
  32601. * `Math` object or a function. See the _Custom easing function_ demo below.
  32602. *
  32603. * Due to poor performance, animation is disabled in old IE browsers for
  32604. * several chart types.
  32605. */
  32606. animation?: (boolean|PlotChaikinAnimationOptions|Partial<AnimationOptionsObject>);
  32607. /**
  32608. * (Highstock) For some series, there is a limit that shuts down initial
  32609. * animation by default when the total number of points in the chart is too
  32610. * high. For example, for a column chart and its derivatives, animation does
  32611. * not run if there is more than 250 points totally. To disable this cap,
  32612. * set `animationLimit` to `Infinity`.
  32613. */
  32614. animationLimit?: number;
  32615. /**
  32616. * (Highstock) Sets the color blending in the boost module.
  32617. */
  32618. boostBlending?: OptionsBoostBlendingValue;
  32619. /**
  32620. * (Highstock) Set the point threshold for when a series should enter boost
  32621. * mode.
  32622. *
  32623. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  32624. * there are 2000 or more points in the series.
  32625. *
  32626. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  32627. * it to 1 will force boosting.
  32628. *
  32629. * Note that the cropThreshold also affects this setting. When zooming in on
  32630. * a series that has fewer points than the `cropThreshold`, all points are
  32631. * rendered although outside the visible plot area, and the `boostThreshold`
  32632. * won't take effect.
  32633. */
  32634. boostThreshold?: number;
  32635. /**
  32636. * (Highmaps) The border color of the map areas.
  32637. *
  32638. * In styled mode, the border stroke is given in the `.highcharts-point`
  32639. * class.
  32640. */
  32641. borderColor?: (ColorString|GradientColorObject|PatternObject);
  32642. /**
  32643. * (Highmaps) The border width of each map area.
  32644. *
  32645. * In styled mode, the border stroke width is given in the
  32646. * `.highcharts-point` class.
  32647. */
  32648. borderWidth?: number;
  32649. /**
  32650. * (Highstock) An additional class name to apply to the series' graphical
  32651. * elements. This option does not replace default class names of the
  32652. * graphical element.
  32653. */
  32654. className?: string;
  32655. /**
  32656. * (Highstock) Disable this option to allow series rendering in the whole
  32657. * plotting area.
  32658. *
  32659. * **Note:** Clipping should be always enabled when chart.zoomType is set
  32660. */
  32661. clip?: boolean;
  32662. /**
  32663. * (Highstock) The main color of the series. In line type series it applies
  32664. * to the line and the point markers unless otherwise specified. In bar type
  32665. * series it applies to the bars unless a color is specified per point. The
  32666. * default value is pulled from the `options.colors` array.
  32667. *
  32668. * In styled mode, the color can be defined by the colorIndex option. Also,
  32669. * the series color can be set with the `.highcharts-series`,
  32670. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  32671. * `.highcharts-series-{n}` class, or individual classes given by the
  32672. * `className` option.
  32673. */
  32674. color?: (ColorString|GradientColorObject|PatternObject);
  32675. /**
  32676. * (Highstock) Styled mode only. A specific color index to use for the
  32677. * series, so its graphic representations are given the class name
  32678. * `highcharts-color-{n}`.
  32679. */
  32680. colorIndex?: number;
  32681. /**
  32682. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  32683. * used to calculate point color if `colorAxis` is used. Requires to set
  32684. * `min` and `max` if some custom point property is used or if approximation
  32685. * for data grouping is set to `'sum'`.
  32686. */
  32687. colorKey?: string;
  32688. /**
  32689. * (Highstock) Compare the values of the series against the first non-null,
  32690. * non- zero value in the visible range. The y axis will show percentage or
  32691. * absolute change depending on whether `compare` is set to `"percent"` or
  32692. * `"value"`. When this is applied to multiple series, it allows comparing
  32693. * the development of the series against each other. Adds a `change` field
  32694. * to every point object.
  32695. */
  32696. compare?: string;
  32697. /**
  32698. * (Highstock) When compare is `percent`, this option dictates whether to
  32699. * use 0 or 100 as the base of comparison.
  32700. */
  32701. compareBase?: (0|100);
  32702. /**
  32703. * (Highstock) Defines if comparison should start from the first point
  32704. * within the visible range or should start from the first point **before**
  32705. * the range.
  32706. *
  32707. * In other words, this flag determines if first point within the visible
  32708. * range will have 0% (`compareStart=true`) or should have been already
  32709. * calculated according to the previous point (`compareStart=false`).
  32710. */
  32711. compareStart?: boolean;
  32712. /**
  32713. * (Highstock) Whether to compare indicator to the main series values or
  32714. * indicator values.
  32715. */
  32716. compareToMain?: boolean;
  32717. /**
  32718. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  32719. * series plot across the extremes.
  32720. */
  32721. connectEnds?: boolean;
  32722. /**
  32723. * (Highcharts, Highstock) Whether to connect a graph line across null
  32724. * points, or render a gap between the two points on either side of the
  32725. * null.
  32726. */
  32727. connectNulls?: boolean;
  32728. /**
  32729. * (Gantt) Override Pathfinder connector options for a series. Requires
  32730. * Highcharts Gantt to be loaded.
  32731. */
  32732. connectors?: SeriesConnectorsOptionsObject;
  32733. /**
  32734. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  32735. * rounded to its nearest pixel in order to render sharp on screen. In some
  32736. * cases, when there are a lot of densely packed columns, this leads to
  32737. * visible difference in column widths or distance between columns. In these
  32738. * cases, setting `crisp` to `false` may look better, even though each
  32739. * column is rendered blurry.
  32740. */
  32741. crisp?: boolean;
  32742. /**
  32743. * (Highcharts, Highstock) When the series contains less points than the
  32744. * crop threshold, all points are drawn, even if the points fall outside the
  32745. * visible plot area at the current zoom. The advantage of drawing all
  32746. * points (including markers and columns), is that animation is performed on
  32747. * updates. On the other hand, when the series contains more points than the
  32748. * crop threshold, the series data is cropped to only contain points that
  32749. * fall within the plot area. The advantage of cropping away invisible
  32750. * points is to increase performance on large series.
  32751. */
  32752. cropThreshold?: number;
  32753. /**
  32754. * (Highstock) You can set the cursor to "pointer" if you have click events
  32755. * attached to the series, to signal to the user that the points and lines
  32756. * can be clicked.
  32757. *
  32758. * In styled mode, the series cursor can be set with the same classes as
  32759. * listed under series.color.
  32760. */
  32761. cursor?: (string|CursorValue);
  32762. /**
  32763. * (Highstock) A reserved subspace to store options and values for
  32764. * customized functionality. Here you can add additional data for your own
  32765. * event callbacks and formatter callbacks.
  32766. */
  32767. custom?: Dictionary<any>;
  32768. /**
  32769. * (Highstock) Name of the dash style to use for the graph, or for some
  32770. * series types the outline of each shape.
  32771. *
  32772. * In styled mode, the stroke dash-array can be set with the same classes as
  32773. * listed under series.color.
  32774. */
  32775. dashStyle?: DashStyleValue;
  32776. /**
  32777. * (Highstock) Data grouping is the concept of sampling the data values into
  32778. * larger blocks in order to ease readability and increase performance of
  32779. * the JavaScript charts. Highstock by default applies data grouping when
  32780. * the points become closer than a certain pixel value, determined by the
  32781. * `groupPixelWidth` option.
  32782. *
  32783. * If data grouping is applied, the grouping information of grouped points
  32784. * can be read from the Point.dataGroup. If point options other than the
  32785. * data itself are set, for example `name` or `color` or custom properties,
  32786. * the grouping logic doesn't know how to group it. In this case the options
  32787. * of the first point instance are copied over to the group point. This can
  32788. * be altered through a custom `approximation` callback function.
  32789. */
  32790. dataGrouping?: DataGroupingOptionsObject;
  32791. /**
  32792. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  32793. * labels, appearing next to each data point.
  32794. *
  32795. * Since v6.2.0, multiple data labels can be applied to each single point by
  32796. * defining them as an array of configs.
  32797. *
  32798. * In styled mode, the data labels can be styled with the
  32799. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  32800. * (see example).
  32801. */
  32802. dataLabels?: (PlotChaikinDataLabelsOptions|Array<PlotChaikinDataLabelsOptions>);
  32803. /**
  32804. * (Highcharts, Highstock) Options for the series data sorting.
  32805. */
  32806. dataSorting?: (DataSortingOptionsObject|PlotChaikinDataSortingOptions);
  32807. /**
  32808. * (Highstock) A description of the series to add to the screen reader
  32809. * information about the series.
  32810. */
  32811. description?: string;
  32812. /**
  32813. * (Highstock) Enable or disable the mouse tracking for a specific series.
  32814. * This includes point tooltips and click events on graphs and points. For
  32815. * large datasets it improves performance.
  32816. */
  32817. enableMouseTracking?: boolean;
  32818. /**
  32819. * (Highstock) General event handlers for the series items. These event
  32820. * hooks can also be attached to the series at run time using the
  32821. * `Highcharts.addEvent` function.
  32822. */
  32823. events?: SeriesEventsOptionsObject;
  32824. /**
  32825. * (Highstock) Determines whether the series should look for the nearest
  32826. * point in both dimensions or just the x-dimension when hovering the
  32827. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  32828. * series. If the data has duplicate x-values, it is recommended to set this
  32829. * to `'xy'` to allow hovering over all points.
  32830. *
  32831. * Applies only to series types using nearest neighbor search (not direct
  32832. * hover) for tooltip.
  32833. */
  32834. findNearestPointBy?: OptionsFindNearestPointByValue;
  32835. /**
  32836. * (Highstock) Defines when to display a gap in the graph, together with the
  32837. * gapUnit option.
  32838. *
  32839. * In case when `dataGrouping` is enabled, points can be grouped into a
  32840. * larger time span. This can make the grouped points to have a greater
  32841. * distance than the absolute value of `gapSize` property, which will result
  32842. * in disappearing graph completely. To prevent this situation the mentioned
  32843. * distance between grouped points is used instead of previously defined
  32844. * `gapSize`.
  32845. *
  32846. * In practice, this option is most often used to visualize gaps in time
  32847. * series. In a stock chart, intraday data is available for daytime hours,
  32848. * while gaps will appear in nights and weekends.
  32849. */
  32850. gapSize?: number;
  32851. /**
  32852. * (Highstock) Together with gapSize, this option defines where to draw gaps
  32853. * in the graph.
  32854. *
  32855. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  32856. * if the distance between two points is greater than 5 times that of the
  32857. * two closest points, the graph will be broken.
  32858. *
  32859. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  32860. * values, which on a datetime axis is milliseconds. This also applies to
  32861. * the navigator series that inherits gap options from the base series.
  32862. */
  32863. gapUnit?: OptionsGapUnitValue;
  32864. /**
  32865. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  32866. * chart width or only the zoomed area when zooming in on parts of the X
  32867. * axis. By default, the Y axis adjusts to the min and max of the visible
  32868. * data. Cartesian series only.
  32869. */
  32870. getExtremesFromAll?: boolean;
  32871. /**
  32872. * (Highstock) When set to `false` will prevent the series data from being
  32873. * included in any form of data export.
  32874. *
  32875. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  32876. * `includeInCSVExport`.
  32877. */
  32878. includeInDataExport?: boolean;
  32879. /**
  32880. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  32881. * series as possible in a natural way, seeking to avoid other series. The
  32882. * goal of this feature is to make the chart more easily readable, like if a
  32883. * human designer placed the labels in the optimal position.
  32884. *
  32885. * The series labels currently work with series types having a `graph` or an
  32886. * `area`.
  32887. */
  32888. label?: SeriesLabelOptionsObject;
  32889. /**
  32890. * (Highstock) The line marks the last price from all points.
  32891. */
  32892. lastPrice?: SeriesLastPriceOptionsObject;
  32893. /**
  32894. * (Highstock) The line marks the last price from visible range of points.
  32895. */
  32896. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  32897. /**
  32898. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  32899. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  32900. * the ends and bends.
  32901. */
  32902. linecap?: SeriesLinecapValue;
  32903. /**
  32904. * (Highcharts, Highstock) Pixel width of the graph line.
  32905. */
  32906. lineWidth?: number;
  32907. /**
  32908. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  32909. * based on. Required for this indicator.
  32910. */
  32911. linkedTo?: string;
  32912. /**
  32913. * (Highstock) Options for the point markers of line-like series. Properties
  32914. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  32915. * appearance of the markers. Other series types, like column series, don't
  32916. * have markers, but have visual options on the series level instead.
  32917. *
  32918. * In styled mode, the markers can be styled with the `.highcharts-point`,
  32919. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  32920. */
  32921. marker?: PointMarkerOptionsObject;
  32922. /**
  32923. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  32924. * If not set, it will be based on a technical indicator type and default
  32925. * params.
  32926. */
  32927. name?: string;
  32928. /**
  32929. * (Highstock) The color for the parts of the graph or points that are below
  32930. * the threshold. Note that `zones` takes precedence over the negative
  32931. * color. Using `negativeColor` is equivalent to applying a zone with value
  32932. * of 0.
  32933. */
  32934. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  32935. /**
  32936. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  32937. * dataLabels.
  32938. */
  32939. opacity?: number;
  32940. /**
  32941. * (Highstock) Paramters used in calculation of Chaikin Oscillator series
  32942. * points.
  32943. */
  32944. params?: PlotChaikinParamsOptions;
  32945. /**
  32946. * (Highstock) Properties for each single point.
  32947. */
  32948. point?: PlotSeriesPointOptions;
  32949. /**
  32950. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  32951. * individual series. Overrides the chart wide configuration.
  32952. */
  32953. pointDescriptionFormatter?: Function;
  32954. /**
  32955. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  32956. * true, the checkbox next to the series name in the legend will be checked
  32957. * for a selected series.
  32958. */
  32959. selected?: boolean;
  32960. /**
  32961. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  32962. * the shadow can be an object configuration containing `color`, `offsetX`,
  32963. * `offsetY`, `opacity` and `width`.
  32964. */
  32965. shadow?: (boolean|ShadowOptionsObject);
  32966. /**
  32967. * (Highstock) If true, a checkbox is displayed next to the legend item to
  32968. * allow selecting the series. The state of the checkbox is determined by
  32969. * the `selected` option.
  32970. */
  32971. showCheckbox?: boolean;
  32972. /**
  32973. * (Highstock) Whether to display this particular series or series type in
  32974. * the legend. Standalone series are shown in legend by default, and linked
  32975. * series are not. Since v7.2.0 it is possible to show series that use
  32976. * colorAxis by setting this option to `true`.
  32977. */
  32978. showInLegend?: boolean;
  32979. /**
  32980. * (Highstock) If set to `true`, the accessibility module will skip past the
  32981. * points in this series for keyboard navigation.
  32982. */
  32983. skipKeyboardNavigation?: boolean;
  32984. /**
  32985. * (Highcharts, Highstock) When this is true, the series will not cause the
  32986. * Y axis to cross the zero plane (or threshold option) unless the data
  32987. * actually crosses the plane.
  32988. *
  32989. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  32990. * make the Y axis show negative values according to the `minPadding`
  32991. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  32992. */
  32993. softThreshold?: boolean;
  32994. states?: SeriesStatesOptionsObject;
  32995. /**
  32996. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  32997. * values are `left`, `center` and `right`.
  32998. */
  32999. step?: OptionsStepValue;
  33000. /**
  33001. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  33002. * event on a series isn't triggered until the mouse moves over another
  33003. * series, or out of the plot area. When false, the `mouseOut` event on a
  33004. * series is triggered when the mouse leaves the area around the series'
  33005. * graph or markers. This also implies the tooltip when not shared. When
  33006. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  33007. * be hidden when moving the mouse between series. Defaults to true for line
  33008. * and area type series, but to false for columns, pies etc.
  33009. *
  33010. * **Note:** The boost module will force this option because of technical
  33011. * limitations.
  33012. */
  33013. stickyTracking?: boolean;
  33014. /**
  33015. * (Highcharts, Highstock) The threshold, also called zero level or base
  33016. * level. For line type series this is only used in conjunction with
  33017. * negativeColor.
  33018. */
  33019. threshold?: number;
  33020. /**
  33021. * (Highstock) A configuration object for the tooltip rendering of each
  33022. * single series. Properties are inherited from tooltip, but only the
  33023. * following properties can be defined on a series level.
  33024. */
  33025. tooltip?: SeriesTooltipOptionsObject;
  33026. /**
  33027. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  33028. * is longer than this, only one dimensional arrays of numbers, or two
  33029. * dimensional arrays with x and y values are allowed. Also, only the first
  33030. * point is tested, and the rest are assumed to be the same format. This
  33031. * saves expensive data checking and indexing in long series. Set it to `0`
  33032. * disable.
  33033. *
  33034. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  33035. * two dimensional arrays are allowed.
  33036. */
  33037. turboThreshold?: number;
  33038. /**
  33039. * (Highstock) Set the initial visibility of the series.
  33040. */
  33041. visible?: boolean;
  33042. /**
  33043. * (Highmaps) Define the z index of the series.
  33044. */
  33045. zIndex?: number;
  33046. /**
  33047. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  33048. */
  33049. zoneAxis?: string;
  33050. /**
  33051. * (Highcharts, Highstock) An array defining zones within a series. Zones
  33052. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  33053. * the `zoneAxis` option. The zone definitions have to be in ascending order
  33054. * regarding to the value.
  33055. *
  33056. * In styled mode, the color zones are styled with the
  33057. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  33058. * option (view live demo).
  33059. */
  33060. zones?: Array<SeriesZonesOptionsObject>;
  33061. }
  33062. /**
  33063. * (Highstock) Paramters used in calculation of Chaikin Oscillator series
  33064. * points.
  33065. */
  33066. export interface PlotChaikinParamsOptions {
  33067. /**
  33068. * (Highstock) Periods for Chaikin Oscillator calculations.
  33069. */
  33070. periods?: Array<number>;
  33071. /**
  33072. * (Highstock) The id of volume series which is mandatory. For example using
  33073. * OHLC data, volumeSeriesID='volume' means the indicator will be calculated
  33074. * using OHLC and volume values.
  33075. */
  33076. volumeSeriesID?: string;
  33077. }
  33078. /**
  33079. * (Highstock) Enable or disable the initial animation when a series is
  33080. * displayed. The animation can also be set as a configuration object. Please
  33081. * note that this option only applies to the initial animation of the series
  33082. * itself. For other animations, see chart.animation and the animation parameter
  33083. * under the API methods. The following properties are supported:
  33084. *
  33085. * - `defer`: The animation delay time in milliseconds.
  33086. *
  33087. * - `duration`: The duration of the animation in milliseconds.
  33088. *
  33089. * - `easing`: Can be a string reference to an easing function set on the `Math`
  33090. * object or a function. See the _Custom easing function_ demo below.
  33091. *
  33092. * Due to poor performance, animation is disabled in old IE browsers for several
  33093. * chart types.
  33094. */
  33095. export interface PlotCmfAnimationOptions {
  33096. defer?: number;
  33097. }
  33098. /**
  33099. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  33100. * animation when a series is displayed for the `dataLabels`. The animation can
  33101. * also be set as a configuration object. Please note that this option only
  33102. * applies to the initial animation. For other animations, see chart.animation
  33103. * and the animation parameter under the API methods. The following properties
  33104. * are supported:
  33105. *
  33106. * - `defer`: The animation delay time in milliseconds.
  33107. */
  33108. export interface PlotCmfDataLabelsAnimationOptions {
  33109. /**
  33110. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  33111. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  33112. * inherits defer time from the series.animation.defer.
  33113. */
  33114. defer?: number;
  33115. }
  33116. /**
  33117. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  33118. * appearing next to each data point.
  33119. *
  33120. * Since v6.2.0, multiple data labels can be applied to each single point by
  33121. * defining them as an array of configs.
  33122. *
  33123. * In styled mode, the data labels can be styled with the
  33124. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  33125. * example).
  33126. */
  33127. export interface PlotCmfDataLabelsOptions {
  33128. /**
  33129. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  33130. * compared to the point. If `right`, the right side of the label should be
  33131. * touching the point. For points with an extent, like columns, the
  33132. * alignments also dictates how to align it inside the box, as given with
  33133. * the inside option. Can be one of `left`, `center` or `right`.
  33134. */
  33135. align?: (AlignValue|null);
  33136. /**
  33137. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  33138. * overlap. To make the labels less sensitive for overlapping, the
  33139. * dataLabels.padding can be set to 0.
  33140. */
  33141. allowOverlap?: boolean;
  33142. /**
  33143. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  33144. * animation when a series is displayed for the `dataLabels`. The animation
  33145. * can also be set as a configuration object. Please note that this option
  33146. * only applies to the initial animation. For other animations, see
  33147. * chart.animation and the animation parameter under the API methods. The
  33148. * following properties are supported:
  33149. *
  33150. * - `defer`: The animation delay time in milliseconds.
  33151. */
  33152. animation?: (boolean|PlotCmfDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  33153. /**
  33154. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  33155. * for the data label.
  33156. */
  33157. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  33158. /**
  33159. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  33160. * label. Defaults to `undefined`.
  33161. */
  33162. borderColor?: (ColorString|GradientColorObject|PatternObject);
  33163. /**
  33164. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  33165. * the data label.
  33166. */
  33167. borderRadius?: number;
  33168. /**
  33169. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  33170. * the data label.
  33171. */
  33172. borderWidth?: number;
  33173. /**
  33174. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  33175. * Particularly in styled mode, this can be used to give each series' or
  33176. * point's data label unique styling. In addition to this option, a default
  33177. * color class name is added so that we can give the labels a contrast text
  33178. * shadow.
  33179. */
  33180. className?: string;
  33181. /**
  33182. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  33183. * labels. Defaults to `undefined`. For certain series types, like column or
  33184. * map, the data labels can be drawn inside the points. In this case the
  33185. * data label will be drawn with maximum contrast by default. Additionally,
  33186. * it will be given a `text-outline` style with the opposite color, to
  33187. * further increase the contrast. This can be overridden by setting the
  33188. * `text-outline` style to `none` in the `dataLabels.style` option.
  33189. */
  33190. color?: (ColorString|GradientColorObject|PatternObject);
  33191. /**
  33192. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  33193. * are outside the plot area. By default, the data label is moved inside the
  33194. * plot area according to the overflow option.
  33195. */
  33196. crop?: boolean;
  33197. /**
  33198. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  33199. * labels until the initial series animation has finished. Setting to
  33200. * `false` renders the data label immediately. If set to `true` inherits the
  33201. * defer time set in plotOptions.series.animation.
  33202. */
  33203. defer?: boolean;
  33204. /**
  33205. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  33206. * labels.
  33207. */
  33208. enabled?: boolean;
  33209. /**
  33210. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  33211. * of which data labels to display. The declarative filter is designed for
  33212. * use when callback functions are not available, like when the chart
  33213. * options require a pure JSON structure or for use with graphical editors.
  33214. * For programmatic control, use the `formatter` instead, and return
  33215. * `undefined` to disable a single data label.
  33216. */
  33217. filter?: DataLabelsFilterOptionsObject;
  33218. /**
  33219. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  33220. * label. Available variables are the same as for `formatter`.
  33221. */
  33222. format?: string;
  33223. /**
  33224. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  33225. * format the data label. Note that if a `format` is defined, the format
  33226. * takes precedence and the formatter is ignored.
  33227. */
  33228. formatter?: DataLabelsFormatterCallbackFunction;
  33229. /**
  33230. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  33231. * columns or map areas, whether to align the data label inside the box or
  33232. * to the actual value point. Defaults to `false` in most cases, `true` in
  33233. * stacked columns.
  33234. */
  33235. inside?: boolean;
  33236. /**
  33237. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  33238. * of null. Works analogously to format. `nullFormat` can be applied only to
  33239. * series which support displaying null points.
  33240. */
  33241. nullFormat?: (boolean|string);
  33242. /**
  33243. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  33244. * that defines formatting for points with the value of null. Works
  33245. * analogously to formatter. `nullPointFormatter` can be applied only to
  33246. * series which support displaying null points.
  33247. */
  33248. nullFormatter?: DataLabelsFormatterCallbackFunction;
  33249. /**
  33250. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  33251. * flow outside the plot area. The default is `"justify"`, which aligns them
  33252. * inside the plot area. For columns and bars, this means it will be moved
  33253. * inside the bar. To display data labels outside the plot area, set `crop`
  33254. * to `false` and `overflow` to `"allow"`.
  33255. */
  33256. overflow?: DataLabelsOverflowValue;
  33257. /**
  33258. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  33259. * the `backgroundColor` is set, this is the padding within the box.
  33260. */
  33261. padding?: number;
  33262. /**
  33263. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  33264. * points. If `center` alignment is not possible, it defaults to `right`.
  33265. */
  33266. position?: AlignValue;
  33267. /**
  33268. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  33269. * that due to a more complex structure, backgrounds, borders and padding
  33270. * will be lost on a rotated data label.
  33271. */
  33272. rotation?: number;
  33273. /**
  33274. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  33275. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  33276. * an object configuration containing `color`, `offsetX`, `offsetY`,
  33277. * `opacity` and `width`.
  33278. */
  33279. shadow?: (boolean|ShadowOptionsObject);
  33280. /**
  33281. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  33282. * the border around the label. Symbols are predefined functions on the
  33283. * Renderer object.
  33284. */
  33285. shape?: string;
  33286. /**
  33287. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  33288. * default `color` setting is `"contrast"`, which is a pseudo color that
  33289. * Highcharts picks up and applies the maximum contrast to the underlying
  33290. * point item, for example the bar in a bar chart.
  33291. *
  33292. * The `textOutline` is a pseudo property that applies an outline of the
  33293. * given width with the given color, which by default is the maximum
  33294. * contrast to the text. So a bright text color will result in a black text
  33295. * outline for maximum readability on a mixed background. In some cases,
  33296. * especially with grayscale text, the text outline doesn't work well, in
  33297. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  33298. * is true, the `textOutline` will not be picked up. In this, case, the same
  33299. * effect can be acheived through the `text-shadow` CSS property.
  33300. *
  33301. * For some series types, where each point has an extent, like for example
  33302. * tree maps, the data label may overflow the point. There are two
  33303. * strategies for handling overflow. By default, the text will wrap to
  33304. * multiple lines. The other strategy is to set `style.textOverflow` to
  33305. * `ellipsis`, which will keep the text on one line plus it will break
  33306. * inside long words.
  33307. */
  33308. style?: CSSObject;
  33309. /**
  33310. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  33311. * should follow marker's shape. Border and background are disabled for a
  33312. * label that follows a path.
  33313. *
  33314. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  33315. * to true will disable this option.
  33316. */
  33317. textPath?: DataLabelsTextPathOptionsObject;
  33318. /**
  33319. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  33320. * the labels.
  33321. */
  33322. useHTML?: boolean;
  33323. /**
  33324. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  33325. * label. Can be one of `top`, `middle` or `bottom`. The default value
  33326. * depends on the data, for instance in a column chart, the label is above
  33327. * positive values and below negative values.
  33328. */
  33329. verticalAlign?: (VerticalAlignValue|null);
  33330. /**
  33331. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  33332. * label relative to the point in pixels.
  33333. */
  33334. x?: number;
  33335. /**
  33336. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  33337. * label relative to the point in pixels.
  33338. */
  33339. y?: number;
  33340. /**
  33341. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  33342. * The default Z index puts it above the series. Use a Z index of 2 to
  33343. * display it behind the series.
  33344. */
  33345. z?: number;
  33346. }
  33347. /**
  33348. * (Highcharts, Highstock) Options for the series data sorting.
  33349. */
  33350. export interface PlotCmfDataSortingOptions {
  33351. /**
  33352. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  33353. * Use xAxis.reversed to change the sorting order.
  33354. */
  33355. enabled?: boolean;
  33356. /**
  33357. * (Highcharts, Highstock) Whether to allow matching points by name in an
  33358. * update. If this option is disabled, points will be matched by order.
  33359. */
  33360. matchByName?: boolean;
  33361. /**
  33362. * (Highcharts, Highstock) Determines what data value should be used to sort
  33363. * by.
  33364. */
  33365. sortKey?: string;
  33366. }
  33367. /**
  33368. * (Highstock) Chaikin Money Flow indicator (cmf).
  33369. *
  33370. * In TypeScript the type option must always be set.
  33371. *
  33372. * Configuration options for the series are given in three levels:
  33373. *
  33374. * 1. Options for all series in a chart are defined in the plotOptions.series
  33375. * object.
  33376. *
  33377. * 2. Options for all `cmf` series are defined in plotOptions.cmf.
  33378. *
  33379. * 3. Options for one single series are given in the series instance array. (see
  33380. * online documentation for example)
  33381. */
  33382. export interface PlotCmfOptions {
  33383. /**
  33384. * (Highstock) Accessibility options for a series.
  33385. */
  33386. accessibility?: SeriesAccessibilityOptionsObject;
  33387. /**
  33388. * (Highstock) Allow this series' points to be selected by clicking on the
  33389. * graphic (columns, point markers, pie slices, map areas etc).
  33390. *
  33391. * The selected points can be handled by point select and unselect events,
  33392. * or collectively by the getSelectedPoints function.
  33393. *
  33394. * And alternative way of selecting points is through dragging.
  33395. */
  33396. allowPointSelect?: boolean;
  33397. /**
  33398. * (Highstock) Enable or disable the initial animation when a series is
  33399. * displayed. The animation can also be set as a configuration object.
  33400. * Please note that this option only applies to the initial animation of the
  33401. * series itself. For other animations, see chart.animation and the
  33402. * animation parameter under the API methods. The following properties are
  33403. * supported:
  33404. *
  33405. * - `defer`: The animation delay time in milliseconds.
  33406. *
  33407. * - `duration`: The duration of the animation in milliseconds.
  33408. *
  33409. * - `easing`: Can be a string reference to an easing function set on the
  33410. * `Math` object or a function. See the _Custom easing function_ demo below.
  33411. *
  33412. * Due to poor performance, animation is disabled in old IE browsers for
  33413. * several chart types.
  33414. */
  33415. animation?: (boolean|PlotCmfAnimationOptions|Partial<AnimationOptionsObject>);
  33416. /**
  33417. * (Highstock) Sets the color blending in the boost module.
  33418. */
  33419. boostBlending?: OptionsBoostBlendingValue;
  33420. /**
  33421. * (Highstock) Set the point threshold for when a series should enter boost
  33422. * mode.
  33423. *
  33424. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  33425. * there are 2000 or more points in the series.
  33426. *
  33427. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  33428. * it to 1 will force boosting.
  33429. *
  33430. * Note that the cropThreshold also affects this setting. When zooming in on
  33431. * a series that has fewer points than the `cropThreshold`, all points are
  33432. * rendered although outside the visible plot area, and the `boostThreshold`
  33433. * won't take effect.
  33434. */
  33435. boostThreshold?: number;
  33436. /**
  33437. * (Highmaps) The border color of the map areas.
  33438. *
  33439. * In styled mode, the border stroke is given in the `.highcharts-point`
  33440. * class.
  33441. */
  33442. borderColor?: (ColorString|GradientColorObject|PatternObject);
  33443. /**
  33444. * (Highmaps) The border width of each map area.
  33445. *
  33446. * In styled mode, the border stroke width is given in the
  33447. * `.highcharts-point` class.
  33448. */
  33449. borderWidth?: number;
  33450. /**
  33451. * (Highstock) An additional class name to apply to the series' graphical
  33452. * elements. This option does not replace default class names of the
  33453. * graphical element.
  33454. */
  33455. className?: string;
  33456. /**
  33457. * (Highstock) Disable this option to allow series rendering in the whole
  33458. * plotting area.
  33459. *
  33460. * **Note:** Clipping should be always enabled when chart.zoomType is set
  33461. */
  33462. clip?: boolean;
  33463. /**
  33464. * (Highstock) The main color of the series. In line type series it applies
  33465. * to the line and the point markers unless otherwise specified. In bar type
  33466. * series it applies to the bars unless a color is specified per point. The
  33467. * default value is pulled from the `options.colors` array.
  33468. *
  33469. * In styled mode, the color can be defined by the colorIndex option. Also,
  33470. * the series color can be set with the `.highcharts-series`,
  33471. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  33472. * `.highcharts-series-{n}` class, or individual classes given by the
  33473. * `className` option.
  33474. */
  33475. color?: (ColorString|GradientColorObject|PatternObject);
  33476. /**
  33477. * (Highstock) Styled mode only. A specific color index to use for the
  33478. * series, so its graphic representations are given the class name
  33479. * `highcharts-color-{n}`.
  33480. */
  33481. colorIndex?: number;
  33482. /**
  33483. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  33484. * used to calculate point color if `colorAxis` is used. Requires to set
  33485. * `min` and `max` if some custom point property is used or if approximation
  33486. * for data grouping is set to `'sum'`.
  33487. */
  33488. colorKey?: string;
  33489. /**
  33490. * (Highstock) Compare the values of the series against the first non-null,
  33491. * non- zero value in the visible range. The y axis will show percentage or
  33492. * absolute change depending on whether `compare` is set to `"percent"` or
  33493. * `"value"`. When this is applied to multiple series, it allows comparing
  33494. * the development of the series against each other. Adds a `change` field
  33495. * to every point object.
  33496. */
  33497. compare?: string;
  33498. /**
  33499. * (Highstock) When compare is `percent`, this option dictates whether to
  33500. * use 0 or 100 as the base of comparison.
  33501. */
  33502. compareBase?: (0|100);
  33503. /**
  33504. * (Highstock) Defines if comparison should start from the first point
  33505. * within the visible range or should start from the first point **before**
  33506. * the range.
  33507. *
  33508. * In other words, this flag determines if first point within the visible
  33509. * range will have 0% (`compareStart=true`) or should have been already
  33510. * calculated according to the previous point (`compareStart=false`).
  33511. */
  33512. compareStart?: boolean;
  33513. /**
  33514. * (Highstock) Whether to compare indicator to the main series values or
  33515. * indicator values.
  33516. */
  33517. compareToMain?: boolean;
  33518. /**
  33519. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  33520. * series plot across the extremes.
  33521. */
  33522. connectEnds?: boolean;
  33523. /**
  33524. * (Highcharts, Highstock) Whether to connect a graph line across null
  33525. * points, or render a gap between the two points on either side of the
  33526. * null.
  33527. */
  33528. connectNulls?: boolean;
  33529. /**
  33530. * (Gantt) Override Pathfinder connector options for a series. Requires
  33531. * Highcharts Gantt to be loaded.
  33532. */
  33533. connectors?: SeriesConnectorsOptionsObject;
  33534. /**
  33535. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  33536. * rounded to its nearest pixel in order to render sharp on screen. In some
  33537. * cases, when there are a lot of densely packed columns, this leads to
  33538. * visible difference in column widths or distance between columns. In these
  33539. * cases, setting `crisp` to `false` may look better, even though each
  33540. * column is rendered blurry.
  33541. */
  33542. crisp?: boolean;
  33543. /**
  33544. * (Highcharts, Highstock) When the series contains less points than the
  33545. * crop threshold, all points are drawn, even if the points fall outside the
  33546. * visible plot area at the current zoom. The advantage of drawing all
  33547. * points (including markers and columns), is that animation is performed on
  33548. * updates. On the other hand, when the series contains more points than the
  33549. * crop threshold, the series data is cropped to only contain points that
  33550. * fall within the plot area. The advantage of cropping away invisible
  33551. * points is to increase performance on large series.
  33552. */
  33553. cropThreshold?: number;
  33554. /**
  33555. * (Highstock) You can set the cursor to "pointer" if you have click events
  33556. * attached to the series, to signal to the user that the points and lines
  33557. * can be clicked.
  33558. *
  33559. * In styled mode, the series cursor can be set with the same classes as
  33560. * listed under series.color.
  33561. */
  33562. cursor?: (string|CursorValue);
  33563. /**
  33564. * (Highstock) A reserved subspace to store options and values for
  33565. * customized functionality. Here you can add additional data for your own
  33566. * event callbacks and formatter callbacks.
  33567. */
  33568. custom?: Dictionary<any>;
  33569. /**
  33570. * (Highstock) Name of the dash style to use for the graph, or for some
  33571. * series types the outline of each shape.
  33572. *
  33573. * In styled mode, the stroke dash-array can be set with the same classes as
  33574. * listed under series.color.
  33575. */
  33576. dashStyle?: DashStyleValue;
  33577. /**
  33578. * (Highstock) Data grouping is the concept of sampling the data values into
  33579. * larger blocks in order to ease readability and increase performance of
  33580. * the JavaScript charts. Highstock by default applies data grouping when
  33581. * the points become closer than a certain pixel value, determined by the
  33582. * `groupPixelWidth` option.
  33583. *
  33584. * If data grouping is applied, the grouping information of grouped points
  33585. * can be read from the Point.dataGroup. If point options other than the
  33586. * data itself are set, for example `name` or `color` or custom properties,
  33587. * the grouping logic doesn't know how to group it. In this case the options
  33588. * of the first point instance are copied over to the group point. This can
  33589. * be altered through a custom `approximation` callback function.
  33590. */
  33591. dataGrouping?: DataGroupingOptionsObject;
  33592. /**
  33593. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  33594. * labels, appearing next to each data point.
  33595. *
  33596. * Since v6.2.0, multiple data labels can be applied to each single point by
  33597. * defining them as an array of configs.
  33598. *
  33599. * In styled mode, the data labels can be styled with the
  33600. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  33601. * (see example).
  33602. */
  33603. dataLabels?: (PlotCmfDataLabelsOptions|Array<PlotCmfDataLabelsOptions>);
  33604. /**
  33605. * (Highcharts, Highstock) Options for the series data sorting.
  33606. */
  33607. dataSorting?: (DataSortingOptionsObject|PlotCmfDataSortingOptions);
  33608. /**
  33609. * (Highstock) A description of the series to add to the screen reader
  33610. * information about the series.
  33611. */
  33612. description?: string;
  33613. /**
  33614. * (Highstock) Enable or disable the mouse tracking for a specific series.
  33615. * This includes point tooltips and click events on graphs and points. For
  33616. * large datasets it improves performance.
  33617. */
  33618. enableMouseTracking?: boolean;
  33619. /**
  33620. * (Highstock) General event handlers for the series items. These event
  33621. * hooks can also be attached to the series at run time using the
  33622. * `Highcharts.addEvent` function.
  33623. */
  33624. events?: SeriesEventsOptionsObject;
  33625. /**
  33626. * (Highstock) Determines whether the series should look for the nearest
  33627. * point in both dimensions or just the x-dimension when hovering the
  33628. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  33629. * series. If the data has duplicate x-values, it is recommended to set this
  33630. * to `'xy'` to allow hovering over all points.
  33631. *
  33632. * Applies only to series types using nearest neighbor search (not direct
  33633. * hover) for tooltip.
  33634. */
  33635. findNearestPointBy?: OptionsFindNearestPointByValue;
  33636. /**
  33637. * (Highstock) Defines when to display a gap in the graph, together with the
  33638. * gapUnit option.
  33639. *
  33640. * In case when `dataGrouping` is enabled, points can be grouped into a
  33641. * larger time span. This can make the grouped points to have a greater
  33642. * distance than the absolute value of `gapSize` property, which will result
  33643. * in disappearing graph completely. To prevent this situation the mentioned
  33644. * distance between grouped points is used instead of previously defined
  33645. * `gapSize`.
  33646. *
  33647. * In practice, this option is most often used to visualize gaps in time
  33648. * series. In a stock chart, intraday data is available for daytime hours,
  33649. * while gaps will appear in nights and weekends.
  33650. */
  33651. gapSize?: number;
  33652. /**
  33653. * (Highstock) Together with gapSize, this option defines where to draw gaps
  33654. * in the graph.
  33655. *
  33656. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  33657. * if the distance between two points is greater than 5 times that of the
  33658. * two closest points, the graph will be broken.
  33659. *
  33660. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  33661. * values, which on a datetime axis is milliseconds. This also applies to
  33662. * the navigator series that inherits gap options from the base series.
  33663. */
  33664. gapUnit?: OptionsGapUnitValue;
  33665. /**
  33666. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  33667. * chart width or only the zoomed area when zooming in on parts of the X
  33668. * axis. By default, the Y axis adjusts to the min and max of the visible
  33669. * data. Cartesian series only.
  33670. */
  33671. getExtremesFromAll?: boolean;
  33672. /**
  33673. * (Highstock) When set to `false` will prevent the series data from being
  33674. * included in any form of data export.
  33675. *
  33676. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  33677. * `includeInCSVExport`.
  33678. */
  33679. includeInDataExport?: boolean;
  33680. /**
  33681. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  33682. * series as possible in a natural way, seeking to avoid other series. The
  33683. * goal of this feature is to make the chart more easily readable, like if a
  33684. * human designer placed the labels in the optimal position.
  33685. *
  33686. * The series labels currently work with series types having a `graph` or an
  33687. * `area`.
  33688. */
  33689. label?: SeriesLabelOptionsObject;
  33690. /**
  33691. * (Highstock) The line marks the last price from all points.
  33692. */
  33693. lastPrice?: SeriesLastPriceOptionsObject;
  33694. /**
  33695. * (Highstock) The line marks the last price from visible range of points.
  33696. */
  33697. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  33698. /**
  33699. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  33700. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  33701. * the ends and bends.
  33702. */
  33703. linecap?: SeriesLinecapValue;
  33704. /**
  33705. * (Highcharts, Highstock) Pixel width of the graph line.
  33706. */
  33707. lineWidth?: number;
  33708. /**
  33709. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  33710. * based on. Required for this indicator.
  33711. */
  33712. linkedTo?: string;
  33713. /**
  33714. * (Highstock) Options for the point markers of line-like series. Properties
  33715. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  33716. * appearance of the markers. Other series types, like column series, don't
  33717. * have markers, but have visual options on the series level instead.
  33718. *
  33719. * In styled mode, the markers can be styled with the `.highcharts-point`,
  33720. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  33721. */
  33722. marker?: PointMarkerOptionsObject;
  33723. /**
  33724. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  33725. * If not set, it will be based on a technical indicator type and default
  33726. * params.
  33727. */
  33728. name?: string;
  33729. /**
  33730. * (Highstock) The color for the parts of the graph or points that are below
  33731. * the threshold. Note that `zones` takes precedence over the negative
  33732. * color. Using `negativeColor` is equivalent to applying a zone with value
  33733. * of 0.
  33734. */
  33735. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  33736. /**
  33737. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  33738. * dataLabels.
  33739. */
  33740. opacity?: number;
  33741. /**
  33742. * (Highstock) Paramters used in calculation of regression series' points.
  33743. */
  33744. params?: PlotCmfParamsOptions;
  33745. /**
  33746. * (Highstock) Properties for each single point.
  33747. */
  33748. point?: PlotSeriesPointOptions;
  33749. /**
  33750. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  33751. * individual series. Overrides the chart wide configuration.
  33752. */
  33753. pointDescriptionFormatter?: Function;
  33754. /**
  33755. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  33756. * true, the checkbox next to the series name in the legend will be checked
  33757. * for a selected series.
  33758. */
  33759. selected?: boolean;
  33760. /**
  33761. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  33762. * the shadow can be an object configuration containing `color`, `offsetX`,
  33763. * `offsetY`, `opacity` and `width`.
  33764. */
  33765. shadow?: (boolean|ShadowOptionsObject);
  33766. /**
  33767. * (Highstock) If true, a checkbox is displayed next to the legend item to
  33768. * allow selecting the series. The state of the checkbox is determined by
  33769. * the `selected` option.
  33770. */
  33771. showCheckbox?: boolean;
  33772. /**
  33773. * (Highstock) Whether to display this particular series or series type in
  33774. * the legend. Standalone series are shown in legend by default, and linked
  33775. * series are not. Since v7.2.0 it is possible to show series that use
  33776. * colorAxis by setting this option to `true`.
  33777. */
  33778. showInLegend?: boolean;
  33779. /**
  33780. * (Highstock) If set to `true`, the accessibility module will skip past the
  33781. * points in this series for keyboard navigation.
  33782. */
  33783. skipKeyboardNavigation?: boolean;
  33784. /**
  33785. * (Highcharts, Highstock) When this is true, the series will not cause the
  33786. * Y axis to cross the zero plane (or threshold option) unless the data
  33787. * actually crosses the plane.
  33788. *
  33789. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  33790. * make the Y axis show negative values according to the `minPadding`
  33791. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  33792. */
  33793. softThreshold?: boolean;
  33794. states?: SeriesStatesOptionsObject;
  33795. /**
  33796. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  33797. * values are `left`, `center` and `right`.
  33798. */
  33799. step?: OptionsStepValue;
  33800. /**
  33801. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  33802. * event on a series isn't triggered until the mouse moves over another
  33803. * series, or out of the plot area. When false, the `mouseOut` event on a
  33804. * series is triggered when the mouse leaves the area around the series'
  33805. * graph or markers. This also implies the tooltip when not shared. When
  33806. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  33807. * be hidden when moving the mouse between series. Defaults to true for line
  33808. * and area type series, but to false for columns, pies etc.
  33809. *
  33810. * **Note:** The boost module will force this option because of technical
  33811. * limitations.
  33812. */
  33813. stickyTracking?: boolean;
  33814. /**
  33815. * (Highcharts, Highstock) The threshold, also called zero level or base
  33816. * level. For line type series this is only used in conjunction with
  33817. * negativeColor.
  33818. */
  33819. threshold?: number;
  33820. /**
  33821. * (Highstock) A configuration object for the tooltip rendering of each
  33822. * single series. Properties are inherited from tooltip, but only the
  33823. * following properties can be defined on a series level.
  33824. */
  33825. tooltip?: SeriesTooltipOptionsObject;
  33826. /**
  33827. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  33828. * is longer than this, only one dimensional arrays of numbers, or two
  33829. * dimensional arrays with x and y values are allowed. Also, only the first
  33830. * point is tested, and the rest are assumed to be the same format. This
  33831. * saves expensive data checking and indexing in long series. Set it to `0`
  33832. * disable.
  33833. *
  33834. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  33835. * two dimensional arrays are allowed.
  33836. */
  33837. turboThreshold?: number;
  33838. /**
  33839. * (Highstock) Set the initial visibility of the series.
  33840. */
  33841. visible?: boolean;
  33842. /**
  33843. * (Highmaps) Define the z index of the series.
  33844. */
  33845. zIndex?: number;
  33846. /**
  33847. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  33848. */
  33849. zoneAxis?: string;
  33850. /**
  33851. * (Highcharts, Highstock) An array defining zones within a series. Zones
  33852. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  33853. * the `zoneAxis` option. The zone definitions have to be in ascending order
  33854. * regarding to the value.
  33855. *
  33856. * In styled mode, the color zones are styled with the
  33857. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  33858. * option (view live demo).
  33859. */
  33860. zones?: Array<SeriesZonesOptionsObject>;
  33861. }
  33862. /**
  33863. * (Highstock) Paramters used in calculation of regression series' points.
  33864. */
  33865. export interface PlotCmfParamsOptions {
  33866. /**
  33867. * (Highstock) The point index which indicator calculations will base. For
  33868. * example using OHLC data, index=2 means the indicator will be calculated
  33869. * using Low values.
  33870. */
  33871. index?: number;
  33872. /**
  33873. * (Highstock) The base period for indicator calculations. This is the
  33874. * number of data points which are taken into account for the indicator
  33875. * calculations.
  33876. */
  33877. period?: number;
  33878. /**
  33879. * (Highstock) The id of another series to use its data as volume data for
  33880. * the indiator calculation.
  33881. */
  33882. volumeSeriesID?: string;
  33883. }
  33884. /**
  33885. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  33886. * is displayed. The animation can also be set as a configuration object. Please
  33887. * note that this option only applies to the initial animation of the series
  33888. * itself. For other animations, see chart.animation and the animation parameter
  33889. * under the API methods. The following properties are supported:
  33890. *
  33891. * - `defer`: The animation delay time in milliseconds.
  33892. *
  33893. * - `duration`: The duration of the animation in milliseconds.
  33894. *
  33895. * - `easing`: Can be a string reference to an easing function set on the `Math`
  33896. * object or a function. See the _Custom easing function_ demo below.
  33897. *
  33898. * Due to poor performance, animation is disabled in old IE browsers for several
  33899. * chart types.
  33900. */
  33901. export interface PlotColumnAnimationOptions {
  33902. defer?: number;
  33903. }
  33904. /**
  33905. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  33906. * animation when a series is displayed for the `dataLabels`. The animation can
  33907. * also be set as a configuration object. Please note that this option only
  33908. * applies to the initial animation. For other animations, see chart.animation
  33909. * and the animation parameter under the API methods. The following properties
  33910. * are supported:
  33911. *
  33912. * - `defer`: The animation delay time in milliseconds.
  33913. */
  33914. export interface PlotColumnDataLabelsAnimationOptions {
  33915. /**
  33916. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  33917. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  33918. * inherits defer time from the series.animation.defer.
  33919. */
  33920. defer?: number;
  33921. }
  33922. /**
  33923. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  33924. * appearing next to each data point.
  33925. *
  33926. * Since v6.2.0, multiple data labels can be applied to each single point by
  33927. * defining them as an array of configs.
  33928. *
  33929. * In styled mode, the data labels can be styled with the
  33930. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  33931. * example).
  33932. */
  33933. export interface PlotColumnDataLabelsOptions {
  33934. /**
  33935. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  33936. * compared to the point. If `right`, the right side of the label should be
  33937. * touching the point. For points with an extent, like columns, the
  33938. * alignments also dictates how to align it inside the box, as given with
  33939. * the inside option. Can be one of `left`, `center` or `right`.
  33940. */
  33941. align?: string;
  33942. /**
  33943. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  33944. * overlap. To make the labels less sensitive for overlapping, the
  33945. * dataLabels.padding can be set to 0.
  33946. */
  33947. allowOverlap?: boolean;
  33948. /**
  33949. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  33950. * animation when a series is displayed for the `dataLabels`. The animation
  33951. * can also be set as a configuration object. Please note that this option
  33952. * only applies to the initial animation. For other animations, see
  33953. * chart.animation and the animation parameter under the API methods. The
  33954. * following properties are supported:
  33955. *
  33956. * - `defer`: The animation delay time in milliseconds.
  33957. */
  33958. animation?: (boolean|PlotColumnDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  33959. /**
  33960. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  33961. * for the data label.
  33962. */
  33963. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  33964. /**
  33965. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  33966. * label. Defaults to `undefined`.
  33967. */
  33968. borderColor?: (ColorString|GradientColorObject|PatternObject);
  33969. /**
  33970. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  33971. * the data label.
  33972. */
  33973. borderRadius?: number;
  33974. /**
  33975. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  33976. * the data label.
  33977. */
  33978. borderWidth?: number;
  33979. /**
  33980. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  33981. * Particularly in styled mode, this can be used to give each series' or
  33982. * point's data label unique styling. In addition to this option, a default
  33983. * color class name is added so that we can give the labels a contrast text
  33984. * shadow.
  33985. */
  33986. className?: string;
  33987. /**
  33988. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  33989. * labels. Defaults to `undefined`. For certain series types, like column or
  33990. * map, the data labels can be drawn inside the points. In this case the
  33991. * data label will be drawn with maximum contrast by default. Additionally,
  33992. * it will be given a `text-outline` style with the opposite color, to
  33993. * further increase the contrast. This can be overridden by setting the
  33994. * `text-outline` style to `none` in the `dataLabels.style` option.
  33995. */
  33996. color?: (ColorString|GradientColorObject|PatternObject);
  33997. /**
  33998. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  33999. * are outside the plot area. By default, the data label is moved inside the
  34000. * plot area according to the overflow option.
  34001. */
  34002. crop?: boolean;
  34003. /**
  34004. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  34005. * labels until the initial series animation has finished. Setting to
  34006. * `false` renders the data label immediately. If set to `true` inherits the
  34007. * defer time set in plotOptions.series.animation.
  34008. */
  34009. defer?: boolean;
  34010. /**
  34011. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  34012. * labels.
  34013. */
  34014. enabled?: boolean;
  34015. /**
  34016. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  34017. * of which data labels to display. The declarative filter is designed for
  34018. * use when callback functions are not available, like when the chart
  34019. * options require a pure JSON structure or for use with graphical editors.
  34020. * For programmatic control, use the `formatter` instead, and return
  34021. * `undefined` to disable a single data label.
  34022. */
  34023. filter?: DataLabelsFilterOptionsObject;
  34024. /**
  34025. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  34026. * label. Available variables are the same as for `formatter`.
  34027. */
  34028. format?: string;
  34029. /**
  34030. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  34031. * format the data label. Note that if a `format` is defined, the format
  34032. * takes precedence and the formatter is ignored.
  34033. */
  34034. formatter?: DataLabelsFormatterCallbackFunction;
  34035. /**
  34036. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  34037. * columns or map areas, whether to align the data label inside the box or
  34038. * to the actual value point. Defaults to `false` in most cases, `true` in
  34039. * stacked columns.
  34040. */
  34041. inside?: boolean;
  34042. /**
  34043. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  34044. * of null. Works analogously to format. `nullFormat` can be applied only to
  34045. * series which support displaying null points.
  34046. */
  34047. nullFormat?: (boolean|string);
  34048. /**
  34049. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  34050. * that defines formatting for points with the value of null. Works
  34051. * analogously to formatter. `nullPointFormatter` can be applied only to
  34052. * series which support displaying null points.
  34053. */
  34054. nullFormatter?: DataLabelsFormatterCallbackFunction;
  34055. /**
  34056. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  34057. * flow outside the plot area. The default is `"justify"`, which aligns them
  34058. * inside the plot area. For columns and bars, this means it will be moved
  34059. * inside the bar. To display data labels outside the plot area, set `crop`
  34060. * to `false` and `overflow` to `"allow"`.
  34061. */
  34062. overflow?: DataLabelsOverflowValue;
  34063. /**
  34064. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  34065. * the `backgroundColor` is set, this is the padding within the box.
  34066. */
  34067. padding?: number;
  34068. /**
  34069. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  34070. * points. If `center` alignment is not possible, it defaults to `right`.
  34071. */
  34072. position?: AlignValue;
  34073. /**
  34074. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  34075. * that due to a more complex structure, backgrounds, borders and padding
  34076. * will be lost on a rotated data label.
  34077. */
  34078. rotation?: number;
  34079. /**
  34080. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  34081. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  34082. * an object configuration containing `color`, `offsetX`, `offsetY`,
  34083. * `opacity` and `width`.
  34084. */
  34085. shadow?: (boolean|ShadowOptionsObject);
  34086. /**
  34087. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  34088. * the border around the label. Symbols are predefined functions on the
  34089. * Renderer object.
  34090. */
  34091. shape?: string;
  34092. /**
  34093. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  34094. * default `color` setting is `"contrast"`, which is a pseudo color that
  34095. * Highcharts picks up and applies the maximum contrast to the underlying
  34096. * point item, for example the bar in a bar chart.
  34097. *
  34098. * The `textOutline` is a pseudo property that applies an outline of the
  34099. * given width with the given color, which by default is the maximum
  34100. * contrast to the text. So a bright text color will result in a black text
  34101. * outline for maximum readability on a mixed background. In some cases,
  34102. * especially with grayscale text, the text outline doesn't work well, in
  34103. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  34104. * is true, the `textOutline` will not be picked up. In this, case, the same
  34105. * effect can be acheived through the `text-shadow` CSS property.
  34106. *
  34107. * For some series types, where each point has an extent, like for example
  34108. * tree maps, the data label may overflow the point. There are two
  34109. * strategies for handling overflow. By default, the text will wrap to
  34110. * multiple lines. The other strategy is to set `style.textOverflow` to
  34111. * `ellipsis`, which will keep the text on one line plus it will break
  34112. * inside long words.
  34113. */
  34114. style?: CSSObject;
  34115. /**
  34116. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  34117. * should follow marker's shape. Border and background are disabled for a
  34118. * label that follows a path.
  34119. *
  34120. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  34121. * to true will disable this option.
  34122. */
  34123. textPath?: DataLabelsTextPathOptionsObject;
  34124. /**
  34125. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  34126. * the labels.
  34127. */
  34128. useHTML?: boolean;
  34129. /**
  34130. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  34131. * label. Can be one of `top`, `middle` or `bottom`. The default value
  34132. * depends on the data, for instance in a column chart, the label is above
  34133. * positive values and below negative values.
  34134. */
  34135. verticalAlign?: string;
  34136. /**
  34137. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  34138. * label relative to the point in pixels.
  34139. */
  34140. x?: number;
  34141. /**
  34142. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  34143. * label relative to the point in pixels.
  34144. */
  34145. y?: number;
  34146. /**
  34147. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  34148. * The default Z index puts it above the series. Use a Z index of 2 to
  34149. * display it behind the series.
  34150. */
  34151. z?: number;
  34152. }
  34153. /**
  34154. * (Highcharts, Highstock) Options for the series data sorting.
  34155. */
  34156. export interface PlotColumnDataSortingOptions {
  34157. /**
  34158. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  34159. * Use xAxis.reversed to change the sorting order.
  34160. */
  34161. enabled?: boolean;
  34162. /**
  34163. * (Highcharts, Highstock) Whether to allow matching points by name in an
  34164. * update. If this option is disabled, points will be matched by order.
  34165. */
  34166. matchByName?: boolean;
  34167. /**
  34168. * (Highcharts, Highstock) Determines what data value should be used to sort
  34169. * by.
  34170. */
  34171. sortKey?: string;
  34172. }
  34173. /**
  34174. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  34175. * one state by default, the `default` state.
  34176. */
  34177. export interface PlotColumnDragDropGuideBoxOptions {
  34178. /**
  34179. * (Highcharts, Highstock) Style options for the guide box default state.
  34180. */
  34181. default?: DragDropGuideBoxOptionsObject;
  34182. }
  34183. /**
  34184. * (Highcharts, Highstock) Column series display one column per value along an X
  34185. * axis.
  34186. *
  34187. * In TypeScript the type option must always be set.
  34188. *
  34189. * Configuration options for the series are given in three levels:
  34190. *
  34191. * 1. Options for all series in a chart are defined in the plotOptions.series
  34192. * object.
  34193. *
  34194. * 2. Options for all `column` series are defined in plotOptions.column.
  34195. *
  34196. * 3. Options for one single series are given in the series instance array. (see
  34197. * online documentation for example)
  34198. */
  34199. export interface PlotColumnOptions {
  34200. /**
  34201. * (Highcharts, Highstock) Accessibility options for a series.
  34202. */
  34203. accessibility?: SeriesAccessibilityOptionsObject;
  34204. /**
  34205. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  34206. * rendered. If `true`, areas which don't correspond to a data point, are
  34207. * rendered as `null` points. If `false`, those areas are skipped.
  34208. */
  34209. allAreas?: boolean;
  34210. /**
  34211. * (Highcharts, Highstock) Allow this series' points to be selected by
  34212. * clicking on the graphic (columns, point markers, pie slices, map areas
  34213. * etc).
  34214. *
  34215. * The selected points can be handled by point select and unselect events,
  34216. * or collectively by the getSelectedPoints function.
  34217. *
  34218. * And alternative way of selecting points is through dragging.
  34219. */
  34220. allowPointSelect?: boolean;
  34221. /**
  34222. * (Highcharts, Highstock) Enable or disable the initial animation when a
  34223. * series is displayed. The animation can also be set as a configuration
  34224. * object. Please note that this option only applies to the initial
  34225. * animation of the series itself. For other animations, see chart.animation
  34226. * and the animation parameter under the API methods. The following
  34227. * properties are supported:
  34228. *
  34229. * - `defer`: The animation delay time in milliseconds.
  34230. *
  34231. * - `duration`: The duration of the animation in milliseconds.
  34232. *
  34233. * - `easing`: Can be a string reference to an easing function set on the
  34234. * `Math` object or a function. See the _Custom easing function_ demo below.
  34235. *
  34236. * Due to poor performance, animation is disabled in old IE browsers for
  34237. * several chart types.
  34238. */
  34239. animation?: (boolean|PlotColumnAnimationOptions|Partial<AnimationOptionsObject>);
  34240. /**
  34241. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  34242. * initial animation by default when the total number of points in the chart
  34243. * is too high. For example, for a column chart and its derivatives,
  34244. * animation does not run if there is more than 250 points totally. To
  34245. * disable this cap, set `animationLimit` to `Infinity`.
  34246. */
  34247. animationLimit?: number;
  34248. /**
  34249. * (Highcharts, Highstock) Sets the color blending in the boost module.
  34250. */
  34251. boostBlending?: OptionsBoostBlendingValue;
  34252. /**
  34253. * (Highcharts, Highstock) Set the point threshold for when a series should
  34254. * enter boost mode.
  34255. *
  34256. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  34257. * there are 2000 or more points in the series.
  34258. *
  34259. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  34260. * it to 1 will force boosting.
  34261. *
  34262. * Note that the cropThreshold also affects this setting. When zooming in on
  34263. * a series that has fewer points than the `cropThreshold`, all points are
  34264. * rendered although outside the visible plot area, and the `boostThreshold`
  34265. * won't take effect.
  34266. */
  34267. boostThreshold?: number;
  34268. /**
  34269. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  34270. * column or bar.
  34271. *
  34272. * In styled mode, the border stroke can be set with the `.highcharts-point`
  34273. * rule.
  34274. */
  34275. borderColor?: (ColorString|GradientColorObject|PatternObject);
  34276. /**
  34277. * (Highcharts, Highstock, Gantt) The corner radius of the border
  34278. * surrounding each column or bar.
  34279. */
  34280. borderRadius?: number;
  34281. /**
  34282. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  34283. * column or bar. Defaults to `1` when there is room for a border, but to
  34284. * `0` when the columns are so dense that a border would cover the next
  34285. * column.
  34286. *
  34287. * In styled mode, the stroke width can be set with the `.highcharts-point`
  34288. * rule.
  34289. */
  34290. borderWidth?: number;
  34291. /**
  34292. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  34293. * the category, ignoring null or missing points. When `false`, space will
  34294. * be reserved for null or missing points.
  34295. */
  34296. centerInCategory?: boolean;
  34297. /**
  34298. * (Highcharts, Highstock) An additional class name to apply to the series'
  34299. * graphical elements. This option does not replace default class names of
  34300. * the graphical element.
  34301. */
  34302. className?: string;
  34303. /**
  34304. * (Highcharts, Highstock) Disable this option to allow series rendering in
  34305. * the whole plotting area.
  34306. *
  34307. * **Note:** Clipping should be always enabled when chart.zoomType is set
  34308. */
  34309. clip?: boolean;
  34310. /**
  34311. * (Highcharts, Highstock) The main color of the series. In line type series
  34312. * it applies to the line and the point markers unless otherwise specified.
  34313. * In bar type series it applies to the bars unless a color is specified per
  34314. * point. The default value is pulled from the `options.colors` array.
  34315. *
  34316. * In styled mode, the color can be defined by the colorIndex option. Also,
  34317. * the series color can be set with the `.highcharts-series`,
  34318. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  34319. * `.highcharts-series-{n}` class, or individual classes given by the
  34320. * `className` option.
  34321. */
  34322. color?: (ColorString|GradientColorObject|PatternObject);
  34323. /**
  34324. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  34325. * this number defines which colorAxis the particular series is connected
  34326. * to. It refers to either the axis id or the index of the axis in the
  34327. * colorAxis array, with 0 being the first. Set this option to false to
  34328. * prevent a series from connecting to the default color axis.
  34329. *
  34330. * Since v7.2.0 the option can also be an axis id or an axis index instead
  34331. * of a boolean flag.
  34332. */
  34333. colorAxis?: (boolean|number|string);
  34334. /**
  34335. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  34336. * from the global colors or series-specific plotOptions.column.colors
  34337. * collections, this option determines whether the chart should receive one
  34338. * color per series or one color per point.
  34339. *
  34340. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  34341. * and instead this option gives the points individual color class names on
  34342. * the form `highcharts-color-{n}`.
  34343. */
  34344. colorByPoint?: boolean;
  34345. /**
  34346. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  34347. * for the series, so its graphic representations are given the class name
  34348. * `highcharts-color-{n}`.
  34349. */
  34350. colorIndex?: number;
  34351. /**
  34352. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  34353. * used to calculate point color if `colorAxis` is used. Requires to set
  34354. * `min` and `max` if some custom point property is used or if approximation
  34355. * for data grouping is set to `'sum'`.
  34356. */
  34357. colorKey?: string;
  34358. /**
  34359. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  34360. * color set to apply instead of the global colors when colorByPoint is
  34361. * true.
  34362. */
  34363. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  34364. /**
  34365. * (Highstock) Compare the values of the series against the first non-null,
  34366. * non- zero value in the visible range. The y axis will show percentage or
  34367. * absolute change depending on whether `compare` is set to `"percent"` or
  34368. * `"value"`. When this is applied to multiple series, it allows comparing
  34369. * the development of the series against each other. Adds a `change` field
  34370. * to every point object.
  34371. */
  34372. compare?: string;
  34373. /**
  34374. * (Highstock) When compare is `percent`, this option dictates whether to
  34375. * use 0 or 100 as the base of comparison.
  34376. */
  34377. compareBase?: (0|100);
  34378. /**
  34379. * (Highstock) Defines if comparison should start from the first point
  34380. * within the visible range or should start from the first point **before**
  34381. * the range.
  34382. *
  34383. * In other words, this flag determines if first point within the visible
  34384. * range will have 0% (`compareStart=true`) or should have been already
  34385. * calculated according to the previous point (`compareStart=false`).
  34386. */
  34387. compareStart?: boolean;
  34388. /**
  34389. * (Gantt) Override Pathfinder connector options for a series. Requires
  34390. * Highcharts Gantt to be loaded.
  34391. */
  34392. connectors?: SeriesConnectorsOptionsObject;
  34393. /**
  34394. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  34395. * rounded to its nearest pixel in order to render sharp on screen. In some
  34396. * cases, when there are a lot of densely packed columns, this leads to
  34397. * visible difference in column widths or distance between columns. In these
  34398. * cases, setting `crisp` to `false` may look better, even though each
  34399. * column is rendered blurry.
  34400. */
  34401. crisp?: boolean;
  34402. /**
  34403. * (Highcharts, Highstock, Gantt) When the series contains less points than
  34404. * the crop threshold, all points are drawn, event if the points fall
  34405. * outside the visible plot area at the current zoom. The advantage of
  34406. * drawing all points (including markers and columns), is that animation is
  34407. * performed on updates. On the other hand, when the series contains more
  34408. * points than the crop threshold, the series data is cropped to only
  34409. * contain points that fall within the plot area. The advantage of cropping
  34410. * away invisible points is to increase performance on large series.
  34411. */
  34412. cropThreshold?: number;
  34413. /**
  34414. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  34415. * click events attached to the series, to signal to the user that the
  34416. * points and lines can be clicked.
  34417. *
  34418. * In styled mode, the series cursor can be set with the same classes as
  34419. * listed under series.color.
  34420. */
  34421. cursor?: (string|CursorValue);
  34422. /**
  34423. * (Highcharts, Highstock) A reserved subspace to store options and values
  34424. * for customized functionality. Here you can add additional data for your
  34425. * own event callbacks and formatter callbacks.
  34426. */
  34427. custom?: Dictionary<any>;
  34428. /**
  34429. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  34430. * for some series types the outline of each shape.
  34431. *
  34432. * In styled mode, the stroke dash-array can be set with the same classes as
  34433. * listed under series.color.
  34434. */
  34435. dashStyle?: DashStyleValue;
  34436. /**
  34437. * (Highstock) Data grouping is the concept of sampling the data values into
  34438. * larger blocks in order to ease readability and increase performance of
  34439. * the JavaScript charts. Highstock by default applies data grouping when
  34440. * the points become closer than a certain pixel value, determined by the
  34441. * `groupPixelWidth` option.
  34442. *
  34443. * If data grouping is applied, the grouping information of grouped points
  34444. * can be read from the Point.dataGroup. If point options other than the
  34445. * data itself are set, for example `name` or `color` or custom properties,
  34446. * the grouping logic doesn't know how to group it. In this case the options
  34447. * of the first point instance are copied over to the group point. This can
  34448. * be altered through a custom `approximation` callback function.
  34449. */
  34450. dataGrouping?: DataGroupingOptionsObject;
  34451. /**
  34452. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  34453. * labels, appearing next to each data point.
  34454. *
  34455. * Since v6.2.0, multiple data labels can be applied to each single point by
  34456. * defining them as an array of configs.
  34457. *
  34458. * In styled mode, the data labels can be styled with the
  34459. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  34460. * (see example).
  34461. */
  34462. dataLabels?: (PlotColumnDataLabelsOptions|Array<PlotColumnDataLabelsOptions>);
  34463. /**
  34464. * (Highcharts, Highstock) Options for the series data sorting.
  34465. */
  34466. dataSorting?: (DataSortingOptionsObject|PlotColumnDataSortingOptions);
  34467. /**
  34468. * (Highcharts) Depth of the columns in a 3D column chart.
  34469. */
  34470. depth?: number;
  34471. /**
  34472. * (Highcharts, Highstock) A description of the series to add to the screen
  34473. * reader information about the series.
  34474. */
  34475. description?: string;
  34476. /**
  34477. * (Highcharts, Highstock) The draggable-points module allows points to be
  34478. * moved around or modified in the chart. In addition to the options
  34479. * mentioned under the `dragDrop` API structure, the module fires three
  34480. * events, point.dragStart, point.drag and point.drop.
  34481. */
  34482. dragDrop?: SeriesDragDropOptionsObject;
  34483. /**
  34484. * (Highcharts) 3D columns only. The color of the edges. Similar to
  34485. * `borderColor`, except it defaults to the same color as the column.
  34486. */
  34487. edgeColor?: ColorString;
  34488. /**
  34489. * (Highcharts) 3D columns only. The width of the colored edges.
  34490. */
  34491. edgeWidth?: number;
  34492. /**
  34493. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  34494. * specific series. This includes point tooltips and click events on graphs
  34495. * and points. For large datasets it improves performance.
  34496. */
  34497. enableMouseTracking?: boolean;
  34498. /**
  34499. * (Highcharts, Highstock) General event handlers for the series items.
  34500. * These event hooks can also be attached to the series at run time using
  34501. * the `Highcharts.addEvent` function.
  34502. */
  34503. events?: SeriesEventsOptionsObject;
  34504. /**
  34505. * (Highcharts, Highstock) Determines whether the series should look for the
  34506. * nearest point in both dimensions or just the x-dimension when hovering
  34507. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  34508. * other series. If the data has duplicate x-values, it is recommended to
  34509. * set this to `'xy'` to allow hovering over all points.
  34510. *
  34511. * Applies only to series types using nearest neighbor search (not direct
  34512. * hover) for tooltip.
  34513. */
  34514. findNearestPointBy?: OptionsFindNearestPointByValue;
  34515. /**
  34516. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  34517. * chart width or only the zoomed area when zooming in on parts of the X
  34518. * axis. By default, the Y axis adjusts to the min and max of the visible
  34519. * data. Cartesian series only.
  34520. */
  34521. getExtremesFromAll?: boolean;
  34522. /**
  34523. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  34524. * let them render independent of each other. Non-grouped columns will be
  34525. * laid out individually and overlap each other.
  34526. */
  34527. grouping?: boolean;
  34528. /**
  34529. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  34530. * axis units.
  34531. */
  34532. groupPadding?: number;
  34533. /**
  34534. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  34535. */
  34536. groupZPadding?: number;
  34537. /**
  34538. * (Highcharts, Highstock) When set to `false` will prevent the series data
  34539. * from being included in any form of data export.
  34540. *
  34541. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  34542. * `includeInCSVExport`.
  34543. */
  34544. includeInDataExport?: boolean;
  34545. /**
  34546. * (Highmaps) What property to join the `mapData` to the value data. For
  34547. * example, if joinBy is "code", the mapData items with a specific code is
  34548. * merged into the data with the same code. For maps loaded from GeoJSON,
  34549. * the keys may be held in each point's `properties` object.
  34550. *
  34551. * The joinBy option can also be an array of two values, where the first
  34552. * points to a key in the `mapData`, and the second points to another key in
  34553. * the `data`.
  34554. *
  34555. * When joinBy is `null`, the map items are joined by their position in the
  34556. * array, which performs much better in maps with many data points. This is
  34557. * the recommended option if you are printing more than a thousand data
  34558. * points and have a backend that can preprocess the data into a parallel
  34559. * array of the mapData.
  34560. */
  34561. joinBy?: (string|Array<string>);
  34562. /**
  34563. * (Highcharts, Highstock) An array specifying which option maps to which
  34564. * key in the data point array. This makes it convenient to work with
  34565. * unstructured data arrays from different sources.
  34566. */
  34567. keys?: Array<string>;
  34568. /**
  34569. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  34570. * series as possible in a natural way, seeking to avoid other series. The
  34571. * goal of this feature is to make the chart more easily readable, like if a
  34572. * human designer placed the labels in the optimal position.
  34573. *
  34574. * The series labels currently work with series types having a `graph` or an
  34575. * `area`.
  34576. */
  34577. label?: SeriesLabelOptionsObject;
  34578. /**
  34579. * (Highstock) The line marks the last price from all points.
  34580. */
  34581. lastPrice?: SeriesLastPriceOptionsObject;
  34582. /**
  34583. * (Highstock) The line marks the last price from visible range of points.
  34584. */
  34585. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  34586. /**
  34587. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  34588. * Additionally, the value can be ":previous" to link to the previous
  34589. * series. When two series are linked, only the first one appears in the
  34590. * legend. Toggling the visibility of this also toggles the linked series.
  34591. *
  34592. * If master series uses data sorting and linked series does not have its
  34593. * own sorting definition, the linked series will be sorted in the same
  34594. * order as the master one.
  34595. */
  34596. linkedTo?: string;
  34597. /**
  34598. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  34599. * column, translated to the height of a bar in a bar chart. This prevents
  34600. * the columns from becoming too wide when there is a small number of points
  34601. * in the chart.
  34602. */
  34603. maxPointWidth?: number;
  34604. /**
  34605. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  34606. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  34607. * to zero) point, set the minimal point length to a pixel value like 3\. In
  34608. * stacked column charts, minPointLength might not be respected for tightly
  34609. * packed values.
  34610. */
  34611. minPointLength?: number;
  34612. /**
  34613. * (Highstock) Options for the corresponding navigator series if
  34614. * `showInNavigator` is `true` for this series. Available options are the
  34615. * same as any series, documented at plotOptions and series.
  34616. *
  34617. * These options are merged with options in navigator.series, and will take
  34618. * precedence if the same option is defined both places.
  34619. */
  34620. navigatorOptions?: PlotSeriesOptions;
  34621. /**
  34622. * (Highcharts, Highstock) The color for the parts of the graph or points
  34623. * that are below the threshold. Note that `zones` takes precedence over the
  34624. * negative color. Using `negativeColor` is equivalent to applying a zone
  34625. * with value of 0.
  34626. */
  34627. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  34628. /**
  34629. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  34630. * and dataLabels.
  34631. */
  34632. opacity?: number;
  34633. /**
  34634. * (Highcharts, Highstock) Properties for each single point.
  34635. */
  34636. point?: PlotSeriesPointOptions;
  34637. /**
  34638. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  34639. * but for an individual series. Overrides the chart wide configuration.
  34640. */
  34641. pointDescriptionFormatter?: Function;
  34642. /**
  34643. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  34644. * a series, `pointInterval` defines the interval of the x values. For
  34645. * example, if a series contains one value every decade starting from year
  34646. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  34647. * `pointInterval` is set in milliseconds.
  34648. *
  34649. * It can be also be combined with `pointIntervalUnit` to draw irregular
  34650. * time intervals.
  34651. *
  34652. * Please note that this options applies to the _series data_, not the
  34653. * interval of the axis ticks, which is independent.
  34654. */
  34655. pointInterval?: number;
  34656. /**
  34657. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  34658. * setting the pointInterval to irregular time units, `day`, `month` and
  34659. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  34660. * also takes the DST crossover into consideration when dealing with local
  34661. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  34662. * months, 10 years etc.
  34663. *
  34664. * Please note that this options applies to the _series data_, not the
  34665. * interval of the axis ticks, which is independent.
  34666. */
  34667. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  34668. /**
  34669. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  34670. * axis units.
  34671. */
  34672. pointPadding?: number;
  34673. /**
  34674. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  34675. * `number`.
  34676. *
  34677. * In a column chart, when pointPlacement is `"on"`, the point will not
  34678. * create any padding of the X axis. In a polar column chart this means that
  34679. * the first column points directly north. If the pointPlacement is
  34680. * `"between"`, the columns will be laid out between ticks. This is useful
  34681. * for example for visualising an amount between two points in time or in a
  34682. * certain sector of a polar chart.
  34683. *
  34684. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  34685. * is on the axis value, -0.5 is between this value and the previous, and
  34686. * 0.5 is between this value and the next. Unlike the textual options,
  34687. * numeric point placement options won't affect axis padding.
  34688. *
  34689. * Note that pointPlacement needs a pointRange to work. For column series
  34690. * this is computed, but for line-type series it needs to be set.
  34691. *
  34692. * For the `xrange` series type and gantt charts, if the Y axis is a
  34693. * category axis, the `pointPlacement` applies to the Y axis rather than the
  34694. * (typically datetime) X axis.
  34695. *
  34696. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  34697. */
  34698. pointPlacement?: (number|string);
  34699. /**
  34700. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  34701. * for. This determines the width of the column. On a categorized axis, the
  34702. * range will be 1 by default (one category unit). On linear and datetime
  34703. * axes, the range will be computed as the distance between the two closest
  34704. * data points.
  34705. *
  34706. * The default `null` means it is computed automatically, but this option
  34707. * can be used to override the automatic value.
  34708. *
  34709. * This option is set by default to 1 if data sorting is enabled.
  34710. */
  34711. pointRange?: (number|null);
  34712. /**
  34713. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  34714. * a series, pointStart defines on what value to start. For example, if a
  34715. * series contains one yearly value starting from 1945, set pointStart to
  34716. * 1945.
  34717. */
  34718. pointStart?: number;
  34719. /**
  34720. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  34721. * each column or bar point. When `null`, the width is calculated from the
  34722. * `pointPadding` and `groupPadding`. The width effects the dimension that
  34723. * is not based on the point value. For column series it is the hoizontal
  34724. * length and for bar series it is the vertical length.
  34725. */
  34726. pointWidth?: number;
  34727. /**
  34728. * (Highcharts, Highstock) Whether to select the series initially. If
  34729. * `showCheckbox` is true, the checkbox next to the series name in the
  34730. * legend will be checked for a selected series.
  34731. */
  34732. selected?: boolean;
  34733. /**
  34734. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  34735. * Since 2.3 the shadow can be an object configuration containing `color`,
  34736. * `offsetX`, `offsetY`, `opacity` and `width`.
  34737. */
  34738. shadow?: (boolean|ShadowOptionsObject);
  34739. /**
  34740. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  34741. * legend item to allow selecting the series. The state of the checkbox is
  34742. * determined by the `selected` option.
  34743. */
  34744. showCheckbox?: boolean;
  34745. /**
  34746. * (Highcharts, Highstock) Whether to display this particular series or
  34747. * series type in the legend. Standalone series are shown in legend by
  34748. * default, and linked series are not. Since v7.2.0 it is possible to show
  34749. * series that use colorAxis by setting this option to `true`.
  34750. */
  34751. showInLegend?: boolean;
  34752. /**
  34753. * (Highstock) Whether or not to show the series in the navigator. Takes
  34754. * precedence over navigator.baseSeries if defined.
  34755. */
  34756. showInNavigator?: boolean;
  34757. /**
  34758. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  34759. * skip past the points in this series for keyboard navigation.
  34760. */
  34761. skipKeyboardNavigation?: boolean;
  34762. /**
  34763. * (Highcharts, Highstock) When this is true, the series will not cause the
  34764. * Y axis to cross the zero plane (or threshold option) unless the data
  34765. * actually crosses the plane.
  34766. *
  34767. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  34768. * make the Y axis show negative values according to the `minPadding`
  34769. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  34770. */
  34771. softThreshold?: boolean;
  34772. /**
  34773. * (Highcharts, Highstock) Whether to stack the values of each series on top
  34774. * of each other. Possible values are `undefined` to disable, `"normal"` to
  34775. * stack by value or `"percent"`.
  34776. *
  34777. * When stacking is enabled, data must be sorted in ascending X order.
  34778. *
  34779. * Some stacking options are related to specific series types. In the
  34780. * streamgraph series type, the stacking option is set to `"stream"`. The
  34781. * second one is `"overlap"`, which only applies to waterfall series.
  34782. */
  34783. stacking?: OptionsStackingValue;
  34784. states?: SeriesStatesOptionsObject;
  34785. /**
  34786. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  34787. * `mouseOut` event on a series isn't triggered until the mouse moves over
  34788. * another series, or out of the plot area. When false, the `mouseOut` event
  34789. * on a series is triggered when the mouse leaves the area around the
  34790. * series' graph or markers. This also implies the tooltip when not shared.
  34791. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  34792. * will be hidden when moving the mouse between series. Defaults to true for
  34793. * line and area type series, but to false for columns, pies etc.
  34794. *
  34795. * **Note:** The boost module will force this option because of technical
  34796. * limitations.
  34797. */
  34798. stickyTracking?: boolean;
  34799. /**
  34800. * (Highcharts) The Y axis value to serve as the base for the columns, for
  34801. * distinguishing between values above and below a threshold. If `null`, the
  34802. * columns extend from the padding Y axis minimum.
  34803. */
  34804. threshold?: (number|null);
  34805. /**
  34806. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  34807. * of each single series. Properties are inherited from tooltip, but only
  34808. * the following properties can be defined on a series level.
  34809. */
  34810. tooltip?: SeriesTooltipOptionsObject;
  34811. /**
  34812. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  34813. * is longer than this, only one dimensional arrays of numbers, or two
  34814. * dimensional arrays with x and y values are allowed. Also, only the first
  34815. * point is tested, and the rest are assumed to be the same format. This
  34816. * saves expensive data checking and indexing in long series. Set it to `0`
  34817. * disable.
  34818. *
  34819. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  34820. * two dimensional arrays are allowed.
  34821. */
  34822. turboThreshold?: number;
  34823. /**
  34824. * (Highcharts, Highstock) Set the initial visibility of the series.
  34825. */
  34826. visible?: boolean;
  34827. /**
  34828. * (Highmaps) Define the z index of the series.
  34829. */
  34830. zIndex?: number;
  34831. /**
  34832. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  34833. */
  34834. zoneAxis?: string;
  34835. /**
  34836. * (Highcharts, Highstock) An array defining zones within a series. Zones
  34837. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  34838. * the `zoneAxis` option. The zone definitions have to be in ascending order
  34839. * regarding to the value.
  34840. *
  34841. * In styled mode, the color zones are styled with the
  34842. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  34843. * option (view live demo).
  34844. */
  34845. zones?: Array<SeriesZonesOptionsObject>;
  34846. }
  34847. /**
  34848. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  34849. * is displayed. The animation can also be set as a configuration object. Please
  34850. * note that this option only applies to the initial animation of the series
  34851. * itself. For other animations, see chart.animation and the animation parameter
  34852. * under the API methods. The following properties are supported:
  34853. *
  34854. * - `defer`: The animation delay time in milliseconds.
  34855. *
  34856. * - `duration`: The duration of the animation in milliseconds.
  34857. *
  34858. * - `easing`: Can be a string reference to an easing function set on the `Math`
  34859. * object or a function. See the _Custom easing function_ demo below.
  34860. *
  34861. * Due to poor performance, animation is disabled in old IE browsers for several
  34862. * chart types.
  34863. */
  34864. export interface PlotColumnpyramidAnimationOptions {
  34865. defer?: number;
  34866. }
  34867. /**
  34868. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  34869. * animation when a series is displayed for the `dataLabels`. The animation can
  34870. * also be set as a configuration object. Please note that this option only
  34871. * applies to the initial animation. For other animations, see chart.animation
  34872. * and the animation parameter under the API methods. The following properties
  34873. * are supported:
  34874. *
  34875. * - `defer`: The animation delay time in milliseconds.
  34876. */
  34877. export interface PlotColumnpyramidDataLabelsAnimationOptions {
  34878. /**
  34879. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  34880. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  34881. * inherits defer time from the series.animation.defer.
  34882. */
  34883. defer?: number;
  34884. }
  34885. /**
  34886. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  34887. * appearing next to each data point.
  34888. *
  34889. * Since v6.2.0, multiple data labels can be applied to each single point by
  34890. * defining them as an array of configs.
  34891. *
  34892. * In styled mode, the data labels can be styled with the
  34893. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  34894. * example).
  34895. */
  34896. export interface PlotColumnpyramidDataLabelsOptions {
  34897. /**
  34898. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  34899. * compared to the point. If `right`, the right side of the label should be
  34900. * touching the point. For points with an extent, like columns, the
  34901. * alignments also dictates how to align it inside the box, as given with
  34902. * the inside option. Can be one of `left`, `center` or `right`.
  34903. */
  34904. align?: string;
  34905. /**
  34906. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  34907. * overlap. To make the labels less sensitive for overlapping, the
  34908. * dataLabels.padding can be set to 0.
  34909. */
  34910. allowOverlap?: boolean;
  34911. /**
  34912. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  34913. * animation when a series is displayed for the `dataLabels`. The animation
  34914. * can also be set as a configuration object. Please note that this option
  34915. * only applies to the initial animation. For other animations, see
  34916. * chart.animation and the animation parameter under the API methods. The
  34917. * following properties are supported:
  34918. *
  34919. * - `defer`: The animation delay time in milliseconds.
  34920. */
  34921. animation?: (boolean|PlotColumnpyramidDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  34922. /**
  34923. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  34924. * for the data label.
  34925. */
  34926. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  34927. /**
  34928. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  34929. * label. Defaults to `undefined`.
  34930. */
  34931. borderColor?: (ColorString|GradientColorObject|PatternObject);
  34932. /**
  34933. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  34934. * the data label.
  34935. */
  34936. borderRadius?: number;
  34937. /**
  34938. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  34939. * the data label.
  34940. */
  34941. borderWidth?: number;
  34942. /**
  34943. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  34944. * Particularly in styled mode, this can be used to give each series' or
  34945. * point's data label unique styling. In addition to this option, a default
  34946. * color class name is added so that we can give the labels a contrast text
  34947. * shadow.
  34948. */
  34949. className?: string;
  34950. /**
  34951. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  34952. * labels. Defaults to `undefined`. For certain series types, like column or
  34953. * map, the data labels can be drawn inside the points. In this case the
  34954. * data label will be drawn with maximum contrast by default. Additionally,
  34955. * it will be given a `text-outline` style with the opposite color, to
  34956. * further increase the contrast. This can be overridden by setting the
  34957. * `text-outline` style to `none` in the `dataLabels.style` option.
  34958. */
  34959. color?: (ColorString|GradientColorObject|PatternObject);
  34960. /**
  34961. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  34962. * are outside the plot area. By default, the data label is moved inside the
  34963. * plot area according to the overflow option.
  34964. */
  34965. crop?: boolean;
  34966. /**
  34967. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  34968. * labels until the initial series animation has finished. Setting to
  34969. * `false` renders the data label immediately. If set to `true` inherits the
  34970. * defer time set in plotOptions.series.animation.
  34971. */
  34972. defer?: boolean;
  34973. /**
  34974. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  34975. * labels.
  34976. */
  34977. enabled?: boolean;
  34978. /**
  34979. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  34980. * of which data labels to display. The declarative filter is designed for
  34981. * use when callback functions are not available, like when the chart
  34982. * options require a pure JSON structure or for use with graphical editors.
  34983. * For programmatic control, use the `formatter` instead, and return
  34984. * `undefined` to disable a single data label.
  34985. */
  34986. filter?: DataLabelsFilterOptionsObject;
  34987. /**
  34988. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  34989. * label. Available variables are the same as for `formatter`.
  34990. */
  34991. format?: string;
  34992. /**
  34993. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  34994. * format the data label. Note that if a `format` is defined, the format
  34995. * takes precedence and the formatter is ignored.
  34996. */
  34997. formatter?: DataLabelsFormatterCallbackFunction;
  34998. /**
  34999. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  35000. * columns or map areas, whether to align the data label inside the box or
  35001. * to the actual value point. Defaults to `false` in most cases, `true` in
  35002. * stacked columns.
  35003. */
  35004. inside?: boolean;
  35005. /**
  35006. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  35007. * of null. Works analogously to format. `nullFormat` can be applied only to
  35008. * series which support displaying null points.
  35009. */
  35010. nullFormat?: (boolean|string);
  35011. /**
  35012. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  35013. * that defines formatting for points with the value of null. Works
  35014. * analogously to formatter. `nullPointFormatter` can be applied only to
  35015. * series which support displaying null points.
  35016. */
  35017. nullFormatter?: DataLabelsFormatterCallbackFunction;
  35018. /**
  35019. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  35020. * flow outside the plot area. The default is `"justify"`, which aligns them
  35021. * inside the plot area. For columns and bars, this means it will be moved
  35022. * inside the bar. To display data labels outside the plot area, set `crop`
  35023. * to `false` and `overflow` to `"allow"`.
  35024. */
  35025. overflow?: DataLabelsOverflowValue;
  35026. /**
  35027. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  35028. * the `backgroundColor` is set, this is the padding within the box.
  35029. */
  35030. padding?: number;
  35031. /**
  35032. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  35033. * points. If `center` alignment is not possible, it defaults to `right`.
  35034. */
  35035. position?: AlignValue;
  35036. /**
  35037. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  35038. * that due to a more complex structure, backgrounds, borders and padding
  35039. * will be lost on a rotated data label.
  35040. */
  35041. rotation?: number;
  35042. /**
  35043. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  35044. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  35045. * an object configuration containing `color`, `offsetX`, `offsetY`,
  35046. * `opacity` and `width`.
  35047. */
  35048. shadow?: (boolean|ShadowOptionsObject);
  35049. /**
  35050. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  35051. * the border around the label. Symbols are predefined functions on the
  35052. * Renderer object.
  35053. */
  35054. shape?: string;
  35055. /**
  35056. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  35057. * default `color` setting is `"contrast"`, which is a pseudo color that
  35058. * Highcharts picks up and applies the maximum contrast to the underlying
  35059. * point item, for example the bar in a bar chart.
  35060. *
  35061. * The `textOutline` is a pseudo property that applies an outline of the
  35062. * given width with the given color, which by default is the maximum
  35063. * contrast to the text. So a bright text color will result in a black text
  35064. * outline for maximum readability on a mixed background. In some cases,
  35065. * especially with grayscale text, the text outline doesn't work well, in
  35066. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  35067. * is true, the `textOutline` will not be picked up. In this, case, the same
  35068. * effect can be acheived through the `text-shadow` CSS property.
  35069. *
  35070. * For some series types, where each point has an extent, like for example
  35071. * tree maps, the data label may overflow the point. There are two
  35072. * strategies for handling overflow. By default, the text will wrap to
  35073. * multiple lines. The other strategy is to set `style.textOverflow` to
  35074. * `ellipsis`, which will keep the text on one line plus it will break
  35075. * inside long words.
  35076. */
  35077. style?: CSSObject;
  35078. /**
  35079. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  35080. * should follow marker's shape. Border and background are disabled for a
  35081. * label that follows a path.
  35082. *
  35083. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  35084. * to true will disable this option.
  35085. */
  35086. textPath?: DataLabelsTextPathOptionsObject;
  35087. /**
  35088. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  35089. * the labels.
  35090. */
  35091. useHTML?: boolean;
  35092. /**
  35093. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  35094. * label. Can be one of `top`, `middle` or `bottom`. The default value
  35095. * depends on the data, for instance in a column chart, the label is above
  35096. * positive values and below negative values.
  35097. */
  35098. verticalAlign?: string;
  35099. /**
  35100. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  35101. * label relative to the point in pixels.
  35102. */
  35103. x?: number;
  35104. /**
  35105. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  35106. * label relative to the point in pixels.
  35107. */
  35108. y?: number;
  35109. /**
  35110. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  35111. * The default Z index puts it above the series. Use a Z index of 2 to
  35112. * display it behind the series.
  35113. */
  35114. z?: number;
  35115. }
  35116. /**
  35117. * (Highcharts, Highstock) Options for the series data sorting.
  35118. */
  35119. export interface PlotColumnpyramidDataSortingOptions {
  35120. /**
  35121. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  35122. * Use xAxis.reversed to change the sorting order.
  35123. */
  35124. enabled?: boolean;
  35125. /**
  35126. * (Highcharts, Highstock) Whether to allow matching points by name in an
  35127. * update. If this option is disabled, points will be matched by order.
  35128. */
  35129. matchByName?: boolean;
  35130. /**
  35131. * (Highcharts, Highstock) Determines what data value should be used to sort
  35132. * by.
  35133. */
  35134. sortKey?: string;
  35135. }
  35136. /**
  35137. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  35138. * one state by default, the `default` state.
  35139. */
  35140. export interface PlotColumnpyramidDragDropGuideBoxOptions {
  35141. /**
  35142. * (Highcharts, Highstock) Style options for the guide box default state.
  35143. */
  35144. default?: DragDropGuideBoxOptionsObject;
  35145. }
  35146. /**
  35147. * (Highcharts, Highstock) Column pyramid series display one pyramid per value
  35148. * along an X axis. To display horizontal pyramids, set chart.inverted to
  35149. * `true`.
  35150. *
  35151. * In TypeScript the type option must always be set.
  35152. *
  35153. * Configuration options for the series are given in three levels:
  35154. *
  35155. * 1. Options for all series in a chart are defined in the plotOptions.series
  35156. * object.
  35157. *
  35158. * 2. Options for all `columnpyramid` series are defined in
  35159. * plotOptions.columnpyramid.
  35160. *
  35161. * 3. Options for one single series are given in the series instance array. (see
  35162. * online documentation for example)
  35163. */
  35164. export interface PlotColumnpyramidOptions {
  35165. /**
  35166. * (Highcharts, Highstock) Accessibility options for a series.
  35167. */
  35168. accessibility?: SeriesAccessibilityOptionsObject;
  35169. /**
  35170. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  35171. * rendered. If `true`, areas which don't correspond to a data point, are
  35172. * rendered as `null` points. If `false`, those areas are skipped.
  35173. */
  35174. allAreas?: boolean;
  35175. /**
  35176. * (Highcharts, Highstock) Allow this series' points to be selected by
  35177. * clicking on the graphic (columns, point markers, pie slices, map areas
  35178. * etc).
  35179. *
  35180. * The selected points can be handled by point select and unselect events,
  35181. * or collectively by the getSelectedPoints function.
  35182. *
  35183. * And alternative way of selecting points is through dragging.
  35184. */
  35185. allowPointSelect?: boolean;
  35186. /**
  35187. * (Highcharts, Highstock) Enable or disable the initial animation when a
  35188. * series is displayed. The animation can also be set as a configuration
  35189. * object. Please note that this option only applies to the initial
  35190. * animation of the series itself. For other animations, see chart.animation
  35191. * and the animation parameter under the API methods. The following
  35192. * properties are supported:
  35193. *
  35194. * - `defer`: The animation delay time in milliseconds.
  35195. *
  35196. * - `duration`: The duration of the animation in milliseconds.
  35197. *
  35198. * - `easing`: Can be a string reference to an easing function set on the
  35199. * `Math` object or a function. See the _Custom easing function_ demo below.
  35200. *
  35201. * Due to poor performance, animation is disabled in old IE browsers for
  35202. * several chart types.
  35203. */
  35204. animation?: (boolean|PlotColumnpyramidAnimationOptions|Partial<AnimationOptionsObject>);
  35205. /**
  35206. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  35207. * initial animation by default when the total number of points in the chart
  35208. * is too high. For example, for a column chart and its derivatives,
  35209. * animation does not run if there is more than 250 points totally. To
  35210. * disable this cap, set `animationLimit` to `Infinity`.
  35211. */
  35212. animationLimit?: number;
  35213. /**
  35214. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  35215. * column or bar.
  35216. *
  35217. * In styled mode, the border stroke can be set with the `.highcharts-point`
  35218. * rule.
  35219. */
  35220. borderColor?: (ColorString|GradientColorObject|PatternObject);
  35221. /**
  35222. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  35223. * column or bar. Defaults to `1` when there is room for a border, but to
  35224. * `0` when the columns are so dense that a border would cover the next
  35225. * column.
  35226. *
  35227. * In styled mode, the stroke width can be set with the `.highcharts-point`
  35228. * rule.
  35229. */
  35230. borderWidth?: number;
  35231. /**
  35232. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  35233. * the category, ignoring null or missing points. When `false`, space will
  35234. * be reserved for null or missing points.
  35235. */
  35236. centerInCategory?: boolean;
  35237. /**
  35238. * (Highcharts, Highstock) An additional class name to apply to the series'
  35239. * graphical elements. This option does not replace default class names of
  35240. * the graphical element.
  35241. */
  35242. className?: string;
  35243. /**
  35244. * (Highcharts, Highstock) Disable this option to allow series rendering in
  35245. * the whole plotting area.
  35246. *
  35247. * **Note:** Clipping should be always enabled when chart.zoomType is set
  35248. */
  35249. clip?: boolean;
  35250. /**
  35251. * (Highcharts, Highstock) The main color of the series. In line type series
  35252. * it applies to the line and the point markers unless otherwise specified.
  35253. * In bar type series it applies to the bars unless a color is specified per
  35254. * point. The default value is pulled from the `options.colors` array.
  35255. *
  35256. * In styled mode, the color can be defined by the colorIndex option. Also,
  35257. * the series color can be set with the `.highcharts-series`,
  35258. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  35259. * `.highcharts-series-{n}` class, or individual classes given by the
  35260. * `className` option.
  35261. */
  35262. color?: (ColorString|GradientColorObject|PatternObject);
  35263. /**
  35264. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  35265. * this number defines which colorAxis the particular series is connected
  35266. * to. It refers to either the axis id or the index of the axis in the
  35267. * colorAxis array, with 0 being the first. Set this option to false to
  35268. * prevent a series from connecting to the default color axis.
  35269. *
  35270. * Since v7.2.0 the option can also be an axis id or an axis index instead
  35271. * of a boolean flag.
  35272. */
  35273. colorAxis?: (boolean|number|string);
  35274. /**
  35275. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  35276. * from the global colors or series-specific plotOptions.column.colors
  35277. * collections, this option determines whether the chart should receive one
  35278. * color per series or one color per point.
  35279. *
  35280. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  35281. * and instead this option gives the points individual color class names on
  35282. * the form `highcharts-color-{n}`.
  35283. */
  35284. colorByPoint?: boolean;
  35285. /**
  35286. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  35287. * for the series, so its graphic representations are given the class name
  35288. * `highcharts-color-{n}`.
  35289. */
  35290. colorIndex?: number;
  35291. /**
  35292. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  35293. * used to calculate point color if `colorAxis` is used. Requires to set
  35294. * `min` and `max` if some custom point property is used or if approximation
  35295. * for data grouping is set to `'sum'`.
  35296. */
  35297. colorKey?: string;
  35298. /**
  35299. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  35300. * color set to apply instead of the global colors when colorByPoint is
  35301. * true.
  35302. */
  35303. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  35304. /**
  35305. * (Highstock) Compare the values of the series against the first non-null,
  35306. * non- zero value in the visible range. The y axis will show percentage or
  35307. * absolute change depending on whether `compare` is set to `"percent"` or
  35308. * `"value"`. When this is applied to multiple series, it allows comparing
  35309. * the development of the series against each other. Adds a `change` field
  35310. * to every point object.
  35311. */
  35312. compare?: string;
  35313. /**
  35314. * (Highstock) When compare is `percent`, this option dictates whether to
  35315. * use 0 or 100 as the base of comparison.
  35316. */
  35317. compareBase?: (0|100);
  35318. /**
  35319. * (Highstock) Defines if comparison should start from the first point
  35320. * within the visible range or should start from the first point **before**
  35321. * the range.
  35322. *
  35323. * In other words, this flag determines if first point within the visible
  35324. * range will have 0% (`compareStart=true`) or should have been already
  35325. * calculated according to the previous point (`compareStart=false`).
  35326. */
  35327. compareStart?: boolean;
  35328. /**
  35329. * (Gantt) Override Pathfinder connector options for a series. Requires
  35330. * Highcharts Gantt to be loaded.
  35331. */
  35332. connectors?: SeriesConnectorsOptionsObject;
  35333. /**
  35334. * (Highcharts, Highstock, Gantt) When the series contains less points than
  35335. * the crop threshold, all points are drawn, event if the points fall
  35336. * outside the visible plot area at the current zoom. The advantage of
  35337. * drawing all points (including markers and columns), is that animation is
  35338. * performed on updates. On the other hand, when the series contains more
  35339. * points than the crop threshold, the series data is cropped to only
  35340. * contain points that fall within the plot area. The advantage of cropping
  35341. * away invisible points is to increase performance on large series.
  35342. */
  35343. cropThreshold?: number;
  35344. /**
  35345. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  35346. * click events attached to the series, to signal to the user that the
  35347. * points and lines can be clicked.
  35348. *
  35349. * In styled mode, the series cursor can be set with the same classes as
  35350. * listed under series.color.
  35351. */
  35352. cursor?: (string|CursorValue);
  35353. /**
  35354. * (Highcharts, Highstock) A reserved subspace to store options and values
  35355. * for customized functionality. Here you can add additional data for your
  35356. * own event callbacks and formatter callbacks.
  35357. */
  35358. custom?: Dictionary<any>;
  35359. /**
  35360. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  35361. * for some series types the outline of each shape.
  35362. *
  35363. * In styled mode, the stroke dash-array can be set with the same classes as
  35364. * listed under series.color.
  35365. */
  35366. dashStyle?: DashStyleValue;
  35367. /**
  35368. * (Highstock) Data grouping is the concept of sampling the data values into
  35369. * larger blocks in order to ease readability and increase performance of
  35370. * the JavaScript charts. Highstock by default applies data grouping when
  35371. * the points become closer than a certain pixel value, determined by the
  35372. * `groupPixelWidth` option.
  35373. *
  35374. * If data grouping is applied, the grouping information of grouped points
  35375. * can be read from the Point.dataGroup. If point options other than the
  35376. * data itself are set, for example `name` or `color` or custom properties,
  35377. * the grouping logic doesn't know how to group it. In this case the options
  35378. * of the first point instance are copied over to the group point. This can
  35379. * be altered through a custom `approximation` callback function.
  35380. */
  35381. dataGrouping?: DataGroupingOptionsObject;
  35382. /**
  35383. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  35384. * labels, appearing next to each data point.
  35385. *
  35386. * Since v6.2.0, multiple data labels can be applied to each single point by
  35387. * defining them as an array of configs.
  35388. *
  35389. * In styled mode, the data labels can be styled with the
  35390. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  35391. * (see example).
  35392. */
  35393. dataLabels?: (PlotColumnpyramidDataLabelsOptions|Array<PlotColumnpyramidDataLabelsOptions>);
  35394. /**
  35395. * (Highcharts, Highstock) Options for the series data sorting.
  35396. */
  35397. dataSorting?: (DataSortingOptionsObject|PlotColumnpyramidDataSortingOptions);
  35398. /**
  35399. * (Highcharts, Highstock) A description of the series to add to the screen
  35400. * reader information about the series.
  35401. */
  35402. description?: string;
  35403. /**
  35404. * (Highcharts, Highstock) The draggable-points module allows points to be
  35405. * moved around or modified in the chart. In addition to the options
  35406. * mentioned under the `dragDrop` API structure, the module fires three
  35407. * events, point.dragStart, point.drag and point.drop.
  35408. */
  35409. dragDrop?: SeriesDragDropOptionsObject;
  35410. /**
  35411. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  35412. * specific series. This includes point tooltips and click events on graphs
  35413. * and points. For large datasets it improves performance.
  35414. */
  35415. enableMouseTracking?: boolean;
  35416. /**
  35417. * (Highcharts, Highstock) General event handlers for the series items.
  35418. * These event hooks can also be attached to the series at run time using
  35419. * the `Highcharts.addEvent` function.
  35420. */
  35421. events?: SeriesEventsOptionsObject;
  35422. /**
  35423. * (Highcharts, Highstock) Determines whether the series should look for the
  35424. * nearest point in both dimensions or just the x-dimension when hovering
  35425. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  35426. * other series. If the data has duplicate x-values, it is recommended to
  35427. * set this to `'xy'` to allow hovering over all points.
  35428. *
  35429. * Applies only to series types using nearest neighbor search (not direct
  35430. * hover) for tooltip.
  35431. */
  35432. findNearestPointBy?: OptionsFindNearestPointByValue;
  35433. /**
  35434. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  35435. * chart width or only the zoomed area when zooming in on parts of the X
  35436. * axis. By default, the Y axis adjusts to the min and max of the visible
  35437. * data. Cartesian series only.
  35438. */
  35439. getExtremesFromAll?: boolean;
  35440. /**
  35441. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  35442. * let them render independent of each other. Non-grouped columns will be
  35443. * laid out individually and overlap each other.
  35444. */
  35445. grouping?: boolean;
  35446. /**
  35447. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  35448. * axis units.
  35449. */
  35450. groupPadding?: number;
  35451. /**
  35452. * (Highcharts, Highstock) When set to `false` will prevent the series data
  35453. * from being included in any form of data export.
  35454. *
  35455. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  35456. * `includeInCSVExport`.
  35457. */
  35458. includeInDataExport?: boolean;
  35459. /**
  35460. * (Highmaps) What property to join the `mapData` to the value data. For
  35461. * example, if joinBy is "code", the mapData items with a specific code is
  35462. * merged into the data with the same code. For maps loaded from GeoJSON,
  35463. * the keys may be held in each point's `properties` object.
  35464. *
  35465. * The joinBy option can also be an array of two values, where the first
  35466. * points to a key in the `mapData`, and the second points to another key in
  35467. * the `data`.
  35468. *
  35469. * When joinBy is `null`, the map items are joined by their position in the
  35470. * array, which performs much better in maps with many data points. This is
  35471. * the recommended option if you are printing more than a thousand data
  35472. * points and have a backend that can preprocess the data into a parallel
  35473. * array of the mapData.
  35474. */
  35475. joinBy?: (string|Array<string>);
  35476. /**
  35477. * (Highcharts, Highstock) An array specifying which option maps to which
  35478. * key in the data point array. This makes it convenient to work with
  35479. * unstructured data arrays from different sources.
  35480. */
  35481. keys?: Array<string>;
  35482. /**
  35483. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  35484. * series as possible in a natural way, seeking to avoid other series. The
  35485. * goal of this feature is to make the chart more easily readable, like if a
  35486. * human designer placed the labels in the optimal position.
  35487. *
  35488. * The series labels currently work with series types having a `graph` or an
  35489. * `area`.
  35490. */
  35491. label?: SeriesLabelOptionsObject;
  35492. /**
  35493. * (Highstock) The line marks the last price from all points.
  35494. */
  35495. lastPrice?: SeriesLastPriceOptionsObject;
  35496. /**
  35497. * (Highstock) The line marks the last price from visible range of points.
  35498. */
  35499. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  35500. /**
  35501. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  35502. * Additionally, the value can be ":previous" to link to the previous
  35503. * series. When two series are linked, only the first one appears in the
  35504. * legend. Toggling the visibility of this also toggles the linked series.
  35505. *
  35506. * If master series uses data sorting and linked series does not have its
  35507. * own sorting definition, the linked series will be sorted in the same
  35508. * order as the master one.
  35509. */
  35510. linkedTo?: string;
  35511. /**
  35512. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  35513. * column, translated to the height of a bar in a bar chart. This prevents
  35514. * the columns from becoming too wide when there is a small number of points
  35515. * in the chart.
  35516. */
  35517. maxPointWidth?: number;
  35518. /**
  35519. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  35520. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  35521. * to zero) point, set the minimal point length to a pixel value like 3\. In
  35522. * stacked column charts, minPointLength might not be respected for tightly
  35523. * packed values.
  35524. */
  35525. minPointLength?: number;
  35526. /**
  35527. * (Highstock) Options for the corresponding navigator series if
  35528. * `showInNavigator` is `true` for this series. Available options are the
  35529. * same as any series, documented at plotOptions and series.
  35530. *
  35531. * These options are merged with options in navigator.series, and will take
  35532. * precedence if the same option is defined both places.
  35533. */
  35534. navigatorOptions?: PlotSeriesOptions;
  35535. /**
  35536. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  35537. * and dataLabels.
  35538. */
  35539. opacity?: number;
  35540. /**
  35541. * (Highcharts, Highstock) Properties for each single point.
  35542. */
  35543. point?: PlotSeriesPointOptions;
  35544. /**
  35545. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  35546. * but for an individual series. Overrides the chart wide configuration.
  35547. */
  35548. pointDescriptionFormatter?: Function;
  35549. /**
  35550. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  35551. * a series, `pointInterval` defines the interval of the x values. For
  35552. * example, if a series contains one value every decade starting from year
  35553. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  35554. * `pointInterval` is set in milliseconds.
  35555. *
  35556. * It can be also be combined with `pointIntervalUnit` to draw irregular
  35557. * time intervals.
  35558. *
  35559. * Please note that this options applies to the _series data_, not the
  35560. * interval of the axis ticks, which is independent.
  35561. */
  35562. pointInterval?: number;
  35563. /**
  35564. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  35565. * setting the pointInterval to irregular time units, `day`, `month` and
  35566. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  35567. * also takes the DST crossover into consideration when dealing with local
  35568. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  35569. * months, 10 years etc.
  35570. *
  35571. * Please note that this options applies to the _series data_, not the
  35572. * interval of the axis ticks, which is independent.
  35573. */
  35574. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  35575. /**
  35576. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  35577. * axis units.
  35578. */
  35579. pointPadding?: number;
  35580. /**
  35581. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  35582. * `number`.
  35583. *
  35584. * In a column chart, when pointPlacement is `"on"`, the point will not
  35585. * create any padding of the X axis. In a polar column chart this means that
  35586. * the first column points directly north. If the pointPlacement is
  35587. * `"between"`, the columns will be laid out between ticks. This is useful
  35588. * for example for visualising an amount between two points in time or in a
  35589. * certain sector of a polar chart.
  35590. *
  35591. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  35592. * is on the axis value, -0.5 is between this value and the previous, and
  35593. * 0.5 is between this value and the next. Unlike the textual options,
  35594. * numeric point placement options won't affect axis padding.
  35595. *
  35596. * Note that pointPlacement needs a pointRange to work. For column series
  35597. * this is computed, but for line-type series it needs to be set.
  35598. *
  35599. * For the `xrange` series type and gantt charts, if the Y axis is a
  35600. * category axis, the `pointPlacement` applies to the Y axis rather than the
  35601. * (typically datetime) X axis.
  35602. *
  35603. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  35604. */
  35605. pointPlacement?: (number|string);
  35606. /**
  35607. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  35608. * for. This determines the width of the column. On a categorized axis, the
  35609. * range will be 1 by default (one category unit). On linear and datetime
  35610. * axes, the range will be computed as the distance between the two closest
  35611. * data points.
  35612. *
  35613. * The default `null` means it is computed automatically, but this option
  35614. * can be used to override the automatic value.
  35615. *
  35616. * This option is set by default to 1 if data sorting is enabled.
  35617. */
  35618. pointRange?: (number|null);
  35619. /**
  35620. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  35621. * a series, pointStart defines on what value to start. For example, if a
  35622. * series contains one yearly value starting from 1945, set pointStart to
  35623. * 1945.
  35624. */
  35625. pointStart?: number;
  35626. /**
  35627. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  35628. * each column or bar point. When `null`, the width is calculated from the
  35629. * `pointPadding` and `groupPadding`. The width effects the dimension that
  35630. * is not based on the point value. For column series it is the hoizontal
  35631. * length and for bar series it is the vertical length.
  35632. */
  35633. pointWidth?: number;
  35634. /**
  35635. * (Highcharts, Highstock) Whether to select the series initially. If
  35636. * `showCheckbox` is true, the checkbox next to the series name in the
  35637. * legend will be checked for a selected series.
  35638. */
  35639. selected?: boolean;
  35640. /**
  35641. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  35642. * Since 2.3 the shadow can be an object configuration containing `color`,
  35643. * `offsetX`, `offsetY`, `opacity` and `width`.
  35644. */
  35645. shadow?: (boolean|ShadowOptionsObject);
  35646. /**
  35647. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  35648. * legend item to allow selecting the series. The state of the checkbox is
  35649. * determined by the `selected` option.
  35650. */
  35651. showCheckbox?: boolean;
  35652. /**
  35653. * (Highcharts, Highstock) Whether to display this particular series or
  35654. * series type in the legend. Standalone series are shown in legend by
  35655. * default, and linked series are not. Since v7.2.0 it is possible to show
  35656. * series that use colorAxis by setting this option to `true`.
  35657. */
  35658. showInLegend?: boolean;
  35659. /**
  35660. * (Highstock) Whether or not to show the series in the navigator. Takes
  35661. * precedence over navigator.baseSeries if defined.
  35662. */
  35663. showInNavigator?: boolean;
  35664. /**
  35665. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  35666. * skip past the points in this series for keyboard navigation.
  35667. */
  35668. skipKeyboardNavigation?: boolean;
  35669. /**
  35670. * (Highcharts, Highstock) Whether to stack the values of each series on top
  35671. * of each other. Possible values are `undefined` to disable, `"normal"` to
  35672. * stack by value or `"percent"`.
  35673. *
  35674. * When stacking is enabled, data must be sorted in ascending X order.
  35675. *
  35676. * Some stacking options are related to specific series types. In the
  35677. * streamgraph series type, the stacking option is set to `"stream"`. The
  35678. * second one is `"overlap"`, which only applies to waterfall series.
  35679. */
  35680. stacking?: OptionsStackingValue;
  35681. states?: SeriesStatesOptionsObject;
  35682. /**
  35683. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  35684. * `mouseOut` event on a series isn't triggered until the mouse moves over
  35685. * another series, or out of the plot area. When false, the `mouseOut` event
  35686. * on a series is triggered when the mouse leaves the area around the
  35687. * series' graph or markers. This also implies the tooltip when not shared.
  35688. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  35689. * will be hidden when moving the mouse between series. Defaults to true for
  35690. * line and area type series, but to false for columns, pies etc.
  35691. *
  35692. * **Note:** The boost module will force this option because of technical
  35693. * limitations.
  35694. */
  35695. stickyTracking?: boolean;
  35696. /**
  35697. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  35698. * of each single series. Properties are inherited from tooltip, but only
  35699. * the following properties can be defined on a series level.
  35700. */
  35701. tooltip?: SeriesTooltipOptionsObject;
  35702. /**
  35703. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  35704. * is longer than this, only one dimensional arrays of numbers, or two
  35705. * dimensional arrays with x and y values are allowed. Also, only the first
  35706. * point is tested, and the rest are assumed to be the same format. This
  35707. * saves expensive data checking and indexing in long series. Set it to `0`
  35708. * disable.
  35709. *
  35710. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  35711. * two dimensional arrays are allowed.
  35712. */
  35713. turboThreshold?: number;
  35714. /**
  35715. * (Highcharts, Highstock) Set the initial visibility of the series.
  35716. */
  35717. visible?: boolean;
  35718. /**
  35719. * (Highmaps) Define the z index of the series.
  35720. */
  35721. zIndex?: number;
  35722. }
  35723. /**
  35724. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  35725. * is displayed. The animation can also be set as a configuration object. Please
  35726. * note that this option only applies to the initial animation of the series
  35727. * itself. For other animations, see chart.animation and the animation parameter
  35728. * under the API methods. The following properties are supported:
  35729. *
  35730. * - `defer`: The animation delay time in milliseconds.
  35731. *
  35732. * - `duration`: The duration of the animation in milliseconds.
  35733. *
  35734. * - `easing`: Can be a string reference to an easing function set on the `Math`
  35735. * object or a function. See the _Custom easing function_ demo below.
  35736. *
  35737. * Due to poor performance, animation is disabled in old IE browsers for several
  35738. * chart types.
  35739. */
  35740. export interface PlotColumnrangeAnimationOptions {
  35741. defer?: number;
  35742. }
  35743. /**
  35744. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  35745. * is displayed for the `dataLabels`. The animation can also be set as a
  35746. * configuration object. Please note that this option only applies to the
  35747. * initial animation. For other animations, see chart.animation and the
  35748. * animation parameter under the API methods. The following properties are
  35749. * supported:
  35750. *
  35751. * - `defer`: The animation delay time in milliseconds.
  35752. */
  35753. export interface PlotColumnrangeDataLabelsAnimationOptions {
  35754. /**
  35755. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  35756. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  35757. * from the series.animation.defer.
  35758. */
  35759. defer?: number;
  35760. }
  35761. /**
  35762. * (Highcharts, Highstock) Options for the series data sorting.
  35763. */
  35764. export interface PlotColumnrangeDataSortingOptions {
  35765. /**
  35766. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  35767. * Use xAxis.reversed to change the sorting order.
  35768. */
  35769. enabled?: boolean;
  35770. /**
  35771. * (Highcharts, Highstock) Whether to allow matching points by name in an
  35772. * update. If this option is disabled, points will be matched by order.
  35773. */
  35774. matchByName?: boolean;
  35775. /**
  35776. * (Highcharts, Highstock) Determines what data value should be used to sort
  35777. * by.
  35778. */
  35779. sortKey?: string;
  35780. }
  35781. /**
  35782. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  35783. * one state by default, the `default` state.
  35784. */
  35785. export interface PlotColumnrangeDragDropGuideBoxOptions {
  35786. /**
  35787. * (Highcharts, Highstock) Style options for the guide box default state.
  35788. */
  35789. default?: DragDropGuideBoxOptionsObject;
  35790. }
  35791. /**
  35792. * (Highcharts, Highstock) The column range is a cartesian series type with
  35793. * higher and lower Y values along an X axis. To display horizontal bars, set
  35794. * chart.inverted to `true`.
  35795. *
  35796. * In TypeScript the type option must always be set.
  35797. *
  35798. * Configuration options for the series are given in three levels:
  35799. *
  35800. * 1. Options for all series in a chart are defined in the plotOptions.series
  35801. * object.
  35802. *
  35803. * 2. Options for all `columnrange` series are defined in
  35804. * plotOptions.columnrange.
  35805. *
  35806. * 3. Options for one single series are given in the series instance array. (see
  35807. * online documentation for example)
  35808. */
  35809. export interface PlotColumnrangeOptions {
  35810. /**
  35811. * (Highcharts, Highstock) Accessibility options for a series.
  35812. */
  35813. accessibility?: SeriesAccessibilityOptionsObject;
  35814. /**
  35815. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  35816. * rendered. If `true`, areas which don't correspond to a data point, are
  35817. * rendered as `null` points. If `false`, those areas are skipped.
  35818. */
  35819. allAreas?: boolean;
  35820. /**
  35821. * (Highcharts, Highstock) Allow this series' points to be selected by
  35822. * clicking on the graphic (columns, point markers, pie slices, map areas
  35823. * etc).
  35824. *
  35825. * The selected points can be handled by point select and unselect events,
  35826. * or collectively by the getSelectedPoints function.
  35827. *
  35828. * And alternative way of selecting points is through dragging.
  35829. */
  35830. allowPointSelect?: boolean;
  35831. /**
  35832. * (Highcharts, Highstock) Enable or disable the initial animation when a
  35833. * series is displayed. The animation can also be set as a configuration
  35834. * object. Please note that this option only applies to the initial
  35835. * animation of the series itself. For other animations, see chart.animation
  35836. * and the animation parameter under the API methods. The following
  35837. * properties are supported:
  35838. *
  35839. * - `defer`: The animation delay time in milliseconds.
  35840. *
  35841. * - `duration`: The duration of the animation in milliseconds.
  35842. *
  35843. * - `easing`: Can be a string reference to an easing function set on the
  35844. * `Math` object or a function. See the _Custom easing function_ demo below.
  35845. *
  35846. * Due to poor performance, animation is disabled in old IE browsers for
  35847. * several chart types.
  35848. */
  35849. animation?: (boolean|PlotColumnrangeAnimationOptions|Partial<AnimationOptionsObject>);
  35850. /**
  35851. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  35852. * initial animation by default when the total number of points in the chart
  35853. * is too high. For example, for a column chart and its derivatives,
  35854. * animation does not run if there is more than 250 points totally. To
  35855. * disable this cap, set `animationLimit` to `Infinity`.
  35856. */
  35857. animationLimit?: number;
  35858. /**
  35859. * (Highcharts, Highstock) Sets the color blending in the boost module.
  35860. */
  35861. boostBlending?: OptionsBoostBlendingValue;
  35862. /**
  35863. * (Highcharts, Highstock) Set the point threshold for when a series should
  35864. * enter boost mode.
  35865. *
  35866. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  35867. * there are 2000 or more points in the series.
  35868. *
  35869. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  35870. * it to 1 will force boosting.
  35871. *
  35872. * Note that the cropThreshold also affects this setting. When zooming in on
  35873. * a series that has fewer points than the `cropThreshold`, all points are
  35874. * rendered although outside the visible plot area, and the `boostThreshold`
  35875. * won't take effect.
  35876. */
  35877. boostThreshold?: number;
  35878. /**
  35879. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  35880. * column or bar.
  35881. *
  35882. * In styled mode, the border stroke can be set with the `.highcharts-point`
  35883. * rule.
  35884. */
  35885. borderColor?: (ColorString|GradientColorObject|PatternObject);
  35886. /**
  35887. * (Highcharts, Highstock, Gantt) The corner radius of the border
  35888. * surrounding each column or bar.
  35889. */
  35890. borderRadius?: number;
  35891. /**
  35892. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  35893. * column or bar. Defaults to `1` when there is room for a border, but to
  35894. * `0` when the columns are so dense that a border would cover the next
  35895. * column.
  35896. *
  35897. * In styled mode, the stroke width can be set with the `.highcharts-point`
  35898. * rule.
  35899. */
  35900. borderWidth?: number;
  35901. /**
  35902. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  35903. * the category, ignoring null or missing points. When `false`, space will
  35904. * be reserved for null or missing points.
  35905. */
  35906. centerInCategory?: boolean;
  35907. /**
  35908. * (Highcharts, Highstock) An additional class name to apply to the series'
  35909. * graphical elements. This option does not replace default class names of
  35910. * the graphical element.
  35911. */
  35912. className?: string;
  35913. /**
  35914. * (Highcharts, Highstock) Disable this option to allow series rendering in
  35915. * the whole plotting area.
  35916. *
  35917. * **Note:** Clipping should be always enabled when chart.zoomType is set
  35918. */
  35919. clip?: boolean;
  35920. /**
  35921. * (Highcharts, Highstock) The main color of the series. In line type series
  35922. * it applies to the line and the point markers unless otherwise specified.
  35923. * In bar type series it applies to the bars unless a color is specified per
  35924. * point. The default value is pulled from the `options.colors` array.
  35925. *
  35926. * In styled mode, the color can be defined by the colorIndex option. Also,
  35927. * the series color can be set with the `.highcharts-series`,
  35928. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  35929. * `.highcharts-series-{n}` class, or individual classes given by the
  35930. * `className` option.
  35931. */
  35932. color?: (ColorString|GradientColorObject|PatternObject);
  35933. /**
  35934. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  35935. * this number defines which colorAxis the particular series is connected
  35936. * to. It refers to either the axis id or the index of the axis in the
  35937. * colorAxis array, with 0 being the first. Set this option to false to
  35938. * prevent a series from connecting to the default color axis.
  35939. *
  35940. * Since v7.2.0 the option can also be an axis id or an axis index instead
  35941. * of a boolean flag.
  35942. */
  35943. colorAxis?: (boolean|number|string);
  35944. /**
  35945. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  35946. * from the global colors or series-specific plotOptions.column.colors
  35947. * collections, this option determines whether the chart should receive one
  35948. * color per series or one color per point.
  35949. *
  35950. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  35951. * and instead this option gives the points individual color class names on
  35952. * the form `highcharts-color-{n}`.
  35953. */
  35954. colorByPoint?: boolean;
  35955. /**
  35956. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  35957. * for the series, so its graphic representations are given the class name
  35958. * `highcharts-color-{n}`.
  35959. */
  35960. colorIndex?: number;
  35961. /**
  35962. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  35963. * used to calculate point color if `colorAxis` is used. Requires to set
  35964. * `min` and `max` if some custom point property is used or if approximation
  35965. * for data grouping is set to `'sum'`.
  35966. */
  35967. colorKey?: string;
  35968. /**
  35969. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  35970. * color set to apply instead of the global colors when colorByPoint is
  35971. * true.
  35972. */
  35973. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  35974. /**
  35975. * (Highstock) Compare the values of the series against the first non-null,
  35976. * non- zero value in the visible range. The y axis will show percentage or
  35977. * absolute change depending on whether `compare` is set to `"percent"` or
  35978. * `"value"`. When this is applied to multiple series, it allows comparing
  35979. * the development of the series against each other. Adds a `change` field
  35980. * to every point object.
  35981. */
  35982. compare?: string;
  35983. /**
  35984. * (Highstock) When compare is `percent`, this option dictates whether to
  35985. * use 0 or 100 as the base of comparison.
  35986. */
  35987. compareBase?: (0|100);
  35988. /**
  35989. * (Highstock) Defines if comparison should start from the first point
  35990. * within the visible range or should start from the first point **before**
  35991. * the range.
  35992. *
  35993. * In other words, this flag determines if first point within the visible
  35994. * range will have 0% (`compareStart=true`) or should have been already
  35995. * calculated according to the previous point (`compareStart=false`).
  35996. */
  35997. compareStart?: boolean;
  35998. /**
  35999. * (Gantt) Override Pathfinder connector options for a series. Requires
  36000. * Highcharts Gantt to be loaded.
  36001. */
  36002. connectors?: SeriesConnectorsOptionsObject;
  36003. /**
  36004. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  36005. * rounded to its nearest pixel in order to render sharp on screen. In some
  36006. * cases, when there are a lot of densely packed columns, this leads to
  36007. * visible difference in column widths or distance between columns. In these
  36008. * cases, setting `crisp` to `false` may look better, even though each
  36009. * column is rendered blurry.
  36010. */
  36011. crisp?: boolean;
  36012. /**
  36013. * (Highcharts, Highstock, Gantt) When the series contains less points than
  36014. * the crop threshold, all points are drawn, event if the points fall
  36015. * outside the visible plot area at the current zoom. The advantage of
  36016. * drawing all points (including markers and columns), is that animation is
  36017. * performed on updates. On the other hand, when the series contains more
  36018. * points than the crop threshold, the series data is cropped to only
  36019. * contain points that fall within the plot area. The advantage of cropping
  36020. * away invisible points is to increase performance on large series.
  36021. */
  36022. cropThreshold?: number;
  36023. /**
  36024. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  36025. * click events attached to the series, to signal to the user that the
  36026. * points and lines can be clicked.
  36027. *
  36028. * In styled mode, the series cursor can be set with the same classes as
  36029. * listed under series.color.
  36030. */
  36031. cursor?: (string|CursorValue);
  36032. /**
  36033. * (Highcharts, Highstock) A reserved subspace to store options and values
  36034. * for customized functionality. Here you can add additional data for your
  36035. * own event callbacks and formatter callbacks.
  36036. */
  36037. custom?: Dictionary<any>;
  36038. /**
  36039. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  36040. * for some series types the outline of each shape.
  36041. *
  36042. * In styled mode, the stroke dash-array can be set with the same classes as
  36043. * listed under series.color.
  36044. */
  36045. dashStyle?: DashStyleValue;
  36046. /**
  36047. * (Highstock) Data grouping is the concept of sampling the data values into
  36048. * larger blocks in order to ease readability and increase performance of
  36049. * the JavaScript charts. Highstock by default applies data grouping when
  36050. * the points become closer than a certain pixel value, determined by the
  36051. * `groupPixelWidth` option.
  36052. *
  36053. * If data grouping is applied, the grouping information of grouped points
  36054. * can be read from the Point.dataGroup. If point options other than the
  36055. * data itself are set, for example `name` or `color` or custom properties,
  36056. * the grouping logic doesn't know how to group it. In this case the options
  36057. * of the first point instance are copied over to the group point. This can
  36058. * be altered through a custom `approximation` callback function.
  36059. */
  36060. dataGrouping?: DataGroupingOptionsObject;
  36061. /**
  36062. * (Highcharts, Highstock) Extended data labels for range series types.
  36063. * Range series data labels have no `x` and `y` options. Instead, they have
  36064. * `xLow`, `xHigh`, `yLow` and `yHigh` options to allow the higher and lower
  36065. * data label sets individually.
  36066. */
  36067. dataLabels?: (SeriesAreaRangeDataLabelsOptionsObject|Array<SeriesAreaRangeDataLabelsOptionsObject>);
  36068. /**
  36069. * (Highcharts, Highstock) Options for the series data sorting.
  36070. */
  36071. dataSorting?: (DataSortingOptionsObject|PlotColumnrangeDataSortingOptions);
  36072. /**
  36073. * (Highcharts) Depth of the columns in a 3D column chart.
  36074. */
  36075. depth?: number;
  36076. /**
  36077. * (Highcharts, Highstock) A description of the series to add to the screen
  36078. * reader information about the series.
  36079. */
  36080. description?: string;
  36081. /**
  36082. * (Highcharts, Highstock) The draggable-points module allows points to be
  36083. * moved around or modified in the chart. In addition to the options
  36084. * mentioned under the `dragDrop` API structure, the module fires three
  36085. * events, point.dragStart, point.drag and point.drop.
  36086. */
  36087. dragDrop?: SeriesDragDropOptionsObject;
  36088. /**
  36089. * (Highcharts) 3D columns only. The color of the edges. Similar to
  36090. * `borderColor`, except it defaults to the same color as the column.
  36091. */
  36092. edgeColor?: ColorString;
  36093. /**
  36094. * (Highcharts) 3D columns only. The width of the colored edges.
  36095. */
  36096. edgeWidth?: number;
  36097. /**
  36098. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  36099. * specific series. This includes point tooltips and click events on graphs
  36100. * and points. For large datasets it improves performance.
  36101. */
  36102. enableMouseTracking?: boolean;
  36103. /**
  36104. * (Highcharts, Highstock) General event handlers for the series items.
  36105. * These event hooks can also be attached to the series at run time using
  36106. * the `Highcharts.addEvent` function.
  36107. */
  36108. events?: SeriesEventsOptionsObject;
  36109. /**
  36110. * (Highcharts, Highstock) Determines whether the series should look for the
  36111. * nearest point in both dimensions or just the x-dimension when hovering
  36112. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  36113. * other series. If the data has duplicate x-values, it is recommended to
  36114. * set this to `'xy'` to allow hovering over all points.
  36115. *
  36116. * Applies only to series types using nearest neighbor search (not direct
  36117. * hover) for tooltip.
  36118. */
  36119. findNearestPointBy?: OptionsFindNearestPointByValue;
  36120. /**
  36121. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  36122. * chart width or only the zoomed area when zooming in on parts of the X
  36123. * axis. By default, the Y axis adjusts to the min and max of the visible
  36124. * data. Cartesian series only.
  36125. */
  36126. getExtremesFromAll?: boolean;
  36127. /**
  36128. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  36129. * let them render independent of each other. Non-grouped columns will be
  36130. * laid out individually and overlap each other.
  36131. */
  36132. grouping?: boolean;
  36133. /**
  36134. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  36135. * axis units.
  36136. */
  36137. groupPadding?: number;
  36138. /**
  36139. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  36140. */
  36141. groupZPadding?: number;
  36142. /**
  36143. * (Highcharts, Highstock) When set to `false` will prevent the series data
  36144. * from being included in any form of data export.
  36145. *
  36146. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  36147. * `includeInCSVExport`.
  36148. */
  36149. includeInDataExport?: boolean;
  36150. /**
  36151. * (Highmaps) What property to join the `mapData` to the value data. For
  36152. * example, if joinBy is "code", the mapData items with a specific code is
  36153. * merged into the data with the same code. For maps loaded from GeoJSON,
  36154. * the keys may be held in each point's `properties` object.
  36155. *
  36156. * The joinBy option can also be an array of two values, where the first
  36157. * points to a key in the `mapData`, and the second points to another key in
  36158. * the `data`.
  36159. *
  36160. * When joinBy is `null`, the map items are joined by their position in the
  36161. * array, which performs much better in maps with many data points. This is
  36162. * the recommended option if you are printing more than a thousand data
  36163. * points and have a backend that can preprocess the data into a parallel
  36164. * array of the mapData.
  36165. */
  36166. joinBy?: (string|Array<string>);
  36167. /**
  36168. * (Highcharts, Highstock) An array specifying which option maps to which
  36169. * key in the data point array. This makes it convenient to work with
  36170. * unstructured data arrays from different sources.
  36171. */
  36172. keys?: Array<string>;
  36173. /**
  36174. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  36175. * series as possible in a natural way, seeking to avoid other series. The
  36176. * goal of this feature is to make the chart more easily readable, like if a
  36177. * human designer placed the labels in the optimal position.
  36178. *
  36179. * The series labels currently work with series types having a `graph` or an
  36180. * `area`.
  36181. */
  36182. label?: SeriesLabelOptionsObject;
  36183. /**
  36184. * (Highstock) The line marks the last price from all points.
  36185. */
  36186. lastPrice?: SeriesLastPriceOptionsObject;
  36187. /**
  36188. * (Highstock) The line marks the last price from visible range of points.
  36189. */
  36190. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  36191. /**
  36192. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  36193. * Additionally, the value can be ":previous" to link to the previous
  36194. * series. When two series are linked, only the first one appears in the
  36195. * legend. Toggling the visibility of this also toggles the linked series.
  36196. *
  36197. * If master series uses data sorting and linked series does not have its
  36198. * own sorting definition, the linked series will be sorted in the same
  36199. * order as the master one.
  36200. */
  36201. linkedTo?: string;
  36202. /**
  36203. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  36204. * column, translated to the height of a bar in a bar chart. This prevents
  36205. * the columns from becoming too wide when there is a small number of points
  36206. * in the chart.
  36207. */
  36208. maxPointWidth?: number;
  36209. /**
  36210. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  36211. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  36212. * to zero) point, set the minimal point length to a pixel value like 3\. In
  36213. * stacked column charts, minPointLength might not be respected for tightly
  36214. * packed values.
  36215. */
  36216. minPointLength?: number;
  36217. /**
  36218. * (Highstock) Options for the corresponding navigator series if
  36219. * `showInNavigator` is `true` for this series. Available options are the
  36220. * same as any series, documented at plotOptions and series.
  36221. *
  36222. * These options are merged with options in navigator.series, and will take
  36223. * precedence if the same option is defined both places.
  36224. */
  36225. navigatorOptions?: PlotSeriesOptions;
  36226. /**
  36227. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  36228. * and dataLabels.
  36229. */
  36230. opacity?: number;
  36231. /**
  36232. * (Highcharts, Highstock) Properties for each single point.
  36233. */
  36234. point?: PlotSeriesPointOptions;
  36235. /**
  36236. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  36237. * but for an individual series. Overrides the chart wide configuration.
  36238. */
  36239. pointDescriptionFormatter?: Function;
  36240. /**
  36241. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  36242. * a series, `pointInterval` defines the interval of the x values. For
  36243. * example, if a series contains one value every decade starting from year
  36244. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  36245. * `pointInterval` is set in milliseconds.
  36246. *
  36247. * It can be also be combined with `pointIntervalUnit` to draw irregular
  36248. * time intervals.
  36249. *
  36250. * Please note that this options applies to the _series data_, not the
  36251. * interval of the axis ticks, which is independent.
  36252. */
  36253. pointInterval?: number;
  36254. /**
  36255. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  36256. * setting the pointInterval to irregular time units, `day`, `month` and
  36257. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  36258. * also takes the DST crossover into consideration when dealing with local
  36259. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  36260. * months, 10 years etc.
  36261. *
  36262. * Please note that this options applies to the _series data_, not the
  36263. * interval of the axis ticks, which is independent.
  36264. */
  36265. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  36266. /**
  36267. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  36268. * axis units.
  36269. */
  36270. pointPadding?: number;
  36271. /**
  36272. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  36273. * `number`.
  36274. *
  36275. * In a column chart, when pointPlacement is `"on"`, the point will not
  36276. * create any padding of the X axis. In a polar column chart this means that
  36277. * the first column points directly north. If the pointPlacement is
  36278. * `"between"`, the columns will be laid out between ticks. This is useful
  36279. * for example for visualising an amount between two points in time or in a
  36280. * certain sector of a polar chart.
  36281. *
  36282. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  36283. * is on the axis value, -0.5 is between this value and the previous, and
  36284. * 0.5 is between this value and the next. Unlike the textual options,
  36285. * numeric point placement options won't affect axis padding.
  36286. *
  36287. * Note that pointPlacement needs a pointRange to work. For column series
  36288. * this is computed, but for line-type series it needs to be set.
  36289. *
  36290. * For the `xrange` series type and gantt charts, if the Y axis is a
  36291. * category axis, the `pointPlacement` applies to the Y axis rather than the
  36292. * (typically datetime) X axis.
  36293. *
  36294. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  36295. */
  36296. pointPlacement?: (number|string);
  36297. /**
  36298. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  36299. * for. This determines the width of the column. On a categorized axis, the
  36300. * range will be 1 by default (one category unit). On linear and datetime
  36301. * axes, the range will be computed as the distance between the two closest
  36302. * data points.
  36303. *
  36304. * The default `null` means it is computed automatically, but this option
  36305. * can be used to override the automatic value.
  36306. *
  36307. * This option is set by default to 1 if data sorting is enabled.
  36308. */
  36309. pointRange?: (number|null);
  36310. /**
  36311. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  36312. * a series, pointStart defines on what value to start. For example, if a
  36313. * series contains one yearly value starting from 1945, set pointStart to
  36314. * 1945.
  36315. */
  36316. pointStart?: number;
  36317. /**
  36318. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  36319. * each column or bar point. When `null`, the width is calculated from the
  36320. * `pointPadding` and `groupPadding`. The width effects the dimension that
  36321. * is not based on the point value. For column series it is the hoizontal
  36322. * length and for bar series it is the vertical length.
  36323. */
  36324. pointWidth?: number;
  36325. /**
  36326. * (Highcharts, Highstock) Whether to select the series initially. If
  36327. * `showCheckbox` is true, the checkbox next to the series name in the
  36328. * legend will be checked for a selected series.
  36329. */
  36330. selected?: boolean;
  36331. /**
  36332. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  36333. * Since 2.3 the shadow can be an object configuration containing `color`,
  36334. * `offsetX`, `offsetY`, `opacity` and `width`.
  36335. */
  36336. shadow?: (boolean|ShadowOptionsObject);
  36337. /**
  36338. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  36339. * legend item to allow selecting the series. The state of the checkbox is
  36340. * determined by the `selected` option.
  36341. */
  36342. showCheckbox?: boolean;
  36343. /**
  36344. * (Highcharts, Highstock) Whether to display this particular series or
  36345. * series type in the legend. Standalone series are shown in legend by
  36346. * default, and linked series are not. Since v7.2.0 it is possible to show
  36347. * series that use colorAxis by setting this option to `true`.
  36348. */
  36349. showInLegend?: boolean;
  36350. /**
  36351. * (Highstock) Whether or not to show the series in the navigator. Takes
  36352. * precedence over navigator.baseSeries if defined.
  36353. */
  36354. showInNavigator?: boolean;
  36355. /**
  36356. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  36357. * skip past the points in this series for keyboard navigation.
  36358. */
  36359. skipKeyboardNavigation?: boolean;
  36360. states?: SeriesStatesOptionsObject;
  36361. /**
  36362. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  36363. * `mouseOut` event on a series isn't triggered until the mouse moves over
  36364. * another series, or out of the plot area. When false, the `mouseOut` event
  36365. * on a series is triggered when the mouse leaves the area around the
  36366. * series' graph or markers. This also implies the tooltip when not shared.
  36367. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  36368. * will be hidden when moving the mouse between series. Defaults to true for
  36369. * line and area type series, but to false for columns, pies etc.
  36370. *
  36371. * **Note:** The boost module will force this option because of technical
  36372. * limitations.
  36373. */
  36374. stickyTracking?: boolean;
  36375. /**
  36376. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  36377. * of each single series. Properties are inherited from tooltip, but only
  36378. * the following properties can be defined on a series level.
  36379. */
  36380. tooltip?: SeriesTooltipOptionsObject;
  36381. /**
  36382. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  36383. * is longer than this, only one dimensional arrays of numbers, or two
  36384. * dimensional arrays with x and y values are allowed. Also, only the first
  36385. * point is tested, and the rest are assumed to be the same format. This
  36386. * saves expensive data checking and indexing in long series. Set it to `0`
  36387. * disable.
  36388. *
  36389. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  36390. * two dimensional arrays are allowed.
  36391. */
  36392. turboThreshold?: number;
  36393. /**
  36394. * (Highcharts, Highstock) Set the initial visibility of the series.
  36395. */
  36396. visible?: boolean;
  36397. /**
  36398. * (Highmaps) Define the z index of the series.
  36399. */
  36400. zIndex?: number;
  36401. /**
  36402. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  36403. */
  36404. zoneAxis?: string;
  36405. /**
  36406. * (Highcharts, Highstock) An array defining zones within a series. Zones
  36407. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  36408. * the `zoneAxis` option. The zone definitions have to be in ascending order
  36409. * regarding to the value.
  36410. *
  36411. * In styled mode, the color zones are styled with the
  36412. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  36413. * option (view live demo).
  36414. */
  36415. zones?: Array<SeriesZonesOptionsObject>;
  36416. }
  36417. /**
  36418. * (Highcharts) Enable or disable the initial animation when a series is
  36419. * displayed. The animation can also be set as a configuration object. Please
  36420. * note that this option only applies to the initial animation of the series
  36421. * itself. For other animations, see chart.animation and the animation parameter
  36422. * under the API methods. The following properties are supported:
  36423. *
  36424. * - `defer`: The animation delay time in milliseconds.
  36425. *
  36426. * - `duration`: The duration of the animation in milliseconds.
  36427. *
  36428. * - `easing`: Can be a string reference to an easing function set on the `Math`
  36429. * object or a function. See the _Custom easing function_ demo below.
  36430. *
  36431. * Due to poor performance, animation is disabled in old IE browsers for several
  36432. * chart types.
  36433. */
  36434. export interface PlotCylinderAnimationOptions {
  36435. defer?: number;
  36436. }
  36437. /**
  36438. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  36439. * animation when a series is displayed for the `dataLabels`. The animation can
  36440. * also be set as a configuration object. Please note that this option only
  36441. * applies to the initial animation. For other animations, see chart.animation
  36442. * and the animation parameter under the API methods. The following properties
  36443. * are supported:
  36444. *
  36445. * - `defer`: The animation delay time in milliseconds.
  36446. */
  36447. export interface PlotCylinderDataLabelsAnimationOptions {
  36448. /**
  36449. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  36450. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  36451. * inherits defer time from the series.animation.defer.
  36452. */
  36453. defer?: number;
  36454. }
  36455. /**
  36456. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  36457. * appearing next to each data point.
  36458. *
  36459. * Since v6.2.0, multiple data labels can be applied to each single point by
  36460. * defining them as an array of configs.
  36461. *
  36462. * In styled mode, the data labels can be styled with the
  36463. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  36464. * example).
  36465. */
  36466. export interface PlotCylinderDataLabelsOptions {
  36467. /**
  36468. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  36469. * compared to the point. If `right`, the right side of the label should be
  36470. * touching the point. For points with an extent, like columns, the
  36471. * alignments also dictates how to align it inside the box, as given with
  36472. * the inside option. Can be one of `left`, `center` or `right`.
  36473. */
  36474. align?: string;
  36475. /**
  36476. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  36477. * overlap. To make the labels less sensitive for overlapping, the
  36478. * dataLabels.padding can be set to 0.
  36479. */
  36480. allowOverlap?: boolean;
  36481. /**
  36482. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  36483. * animation when a series is displayed for the `dataLabels`. The animation
  36484. * can also be set as a configuration object. Please note that this option
  36485. * only applies to the initial animation. For other animations, see
  36486. * chart.animation and the animation parameter under the API methods. The
  36487. * following properties are supported:
  36488. *
  36489. * - `defer`: The animation delay time in milliseconds.
  36490. */
  36491. animation?: (boolean|PlotCylinderDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  36492. /**
  36493. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  36494. * for the data label.
  36495. */
  36496. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  36497. /**
  36498. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  36499. * label. Defaults to `undefined`.
  36500. */
  36501. borderColor?: (ColorString|GradientColorObject|PatternObject);
  36502. /**
  36503. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  36504. * the data label.
  36505. */
  36506. borderRadius?: number;
  36507. /**
  36508. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  36509. * the data label.
  36510. */
  36511. borderWidth?: number;
  36512. /**
  36513. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  36514. * Particularly in styled mode, this can be used to give each series' or
  36515. * point's data label unique styling. In addition to this option, a default
  36516. * color class name is added so that we can give the labels a contrast text
  36517. * shadow.
  36518. */
  36519. className?: string;
  36520. /**
  36521. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  36522. * labels. Defaults to `undefined`. For certain series types, like column or
  36523. * map, the data labels can be drawn inside the points. In this case the
  36524. * data label will be drawn with maximum contrast by default. Additionally,
  36525. * it will be given a `text-outline` style with the opposite color, to
  36526. * further increase the contrast. This can be overridden by setting the
  36527. * `text-outline` style to `none` in the `dataLabels.style` option.
  36528. */
  36529. color?: (ColorString|GradientColorObject|PatternObject);
  36530. /**
  36531. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  36532. * are outside the plot area. By default, the data label is moved inside the
  36533. * plot area according to the overflow option.
  36534. */
  36535. crop?: boolean;
  36536. /**
  36537. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  36538. * labels until the initial series animation has finished. Setting to
  36539. * `false` renders the data label immediately. If set to `true` inherits the
  36540. * defer time set in plotOptions.series.animation.
  36541. */
  36542. defer?: boolean;
  36543. /**
  36544. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  36545. * labels.
  36546. */
  36547. enabled?: boolean;
  36548. /**
  36549. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  36550. * of which data labels to display. The declarative filter is designed for
  36551. * use when callback functions are not available, like when the chart
  36552. * options require a pure JSON structure or for use with graphical editors.
  36553. * For programmatic control, use the `formatter` instead, and return
  36554. * `undefined` to disable a single data label.
  36555. */
  36556. filter?: DataLabelsFilterOptionsObject;
  36557. /**
  36558. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  36559. * label. Available variables are the same as for `formatter`.
  36560. */
  36561. format?: string;
  36562. /**
  36563. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  36564. * format the data label. Note that if a `format` is defined, the format
  36565. * takes precedence and the formatter is ignored.
  36566. */
  36567. formatter?: DataLabelsFormatterCallbackFunction;
  36568. /**
  36569. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  36570. * columns or map areas, whether to align the data label inside the box or
  36571. * to the actual value point. Defaults to `false` in most cases, `true` in
  36572. * stacked columns.
  36573. */
  36574. inside?: boolean;
  36575. /**
  36576. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  36577. * of null. Works analogously to format. `nullFormat` can be applied only to
  36578. * series which support displaying null points.
  36579. */
  36580. nullFormat?: (boolean|string);
  36581. /**
  36582. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  36583. * that defines formatting for points with the value of null. Works
  36584. * analogously to formatter. `nullPointFormatter` can be applied only to
  36585. * series which support displaying null points.
  36586. */
  36587. nullFormatter?: DataLabelsFormatterCallbackFunction;
  36588. /**
  36589. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  36590. * flow outside the plot area. The default is `"justify"`, which aligns them
  36591. * inside the plot area. For columns and bars, this means it will be moved
  36592. * inside the bar. To display data labels outside the plot area, set `crop`
  36593. * to `false` and `overflow` to `"allow"`.
  36594. */
  36595. overflow?: DataLabelsOverflowValue;
  36596. /**
  36597. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  36598. * the `backgroundColor` is set, this is the padding within the box.
  36599. */
  36600. padding?: number;
  36601. /**
  36602. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  36603. * points. If `center` alignment is not possible, it defaults to `right`.
  36604. */
  36605. position?: AlignValue;
  36606. /**
  36607. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  36608. * that due to a more complex structure, backgrounds, borders and padding
  36609. * will be lost on a rotated data label.
  36610. */
  36611. rotation?: number;
  36612. /**
  36613. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  36614. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  36615. * an object configuration containing `color`, `offsetX`, `offsetY`,
  36616. * `opacity` and `width`.
  36617. */
  36618. shadow?: (boolean|ShadowOptionsObject);
  36619. /**
  36620. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  36621. * the border around the label. Symbols are predefined functions on the
  36622. * Renderer object.
  36623. */
  36624. shape?: string;
  36625. /**
  36626. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  36627. * default `color` setting is `"contrast"`, which is a pseudo color that
  36628. * Highcharts picks up and applies the maximum contrast to the underlying
  36629. * point item, for example the bar in a bar chart.
  36630. *
  36631. * The `textOutline` is a pseudo property that applies an outline of the
  36632. * given width with the given color, which by default is the maximum
  36633. * contrast to the text. So a bright text color will result in a black text
  36634. * outline for maximum readability on a mixed background. In some cases,
  36635. * especially with grayscale text, the text outline doesn't work well, in
  36636. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  36637. * is true, the `textOutline` will not be picked up. In this, case, the same
  36638. * effect can be acheived through the `text-shadow` CSS property.
  36639. *
  36640. * For some series types, where each point has an extent, like for example
  36641. * tree maps, the data label may overflow the point. There are two
  36642. * strategies for handling overflow. By default, the text will wrap to
  36643. * multiple lines. The other strategy is to set `style.textOverflow` to
  36644. * `ellipsis`, which will keep the text on one line plus it will break
  36645. * inside long words.
  36646. */
  36647. style?: CSSObject;
  36648. /**
  36649. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  36650. * should follow marker's shape. Border and background are disabled for a
  36651. * label that follows a path.
  36652. *
  36653. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  36654. * to true will disable this option.
  36655. */
  36656. textPath?: DataLabelsTextPathOptionsObject;
  36657. /**
  36658. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  36659. * the labels.
  36660. */
  36661. useHTML?: boolean;
  36662. /**
  36663. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  36664. * label. Can be one of `top`, `middle` or `bottom`. The default value
  36665. * depends on the data, for instance in a column chart, the label is above
  36666. * positive values and below negative values.
  36667. */
  36668. verticalAlign?: string;
  36669. /**
  36670. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  36671. * label relative to the point in pixels.
  36672. */
  36673. x?: number;
  36674. /**
  36675. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  36676. * label relative to the point in pixels.
  36677. */
  36678. y?: number;
  36679. /**
  36680. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  36681. * The default Z index puts it above the series. Use a Z index of 2 to
  36682. * display it behind the series.
  36683. */
  36684. z?: number;
  36685. }
  36686. /**
  36687. * (Highcharts, Highstock) Options for the series data sorting.
  36688. */
  36689. export interface PlotCylinderDataSortingOptions {
  36690. /**
  36691. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  36692. * Use xAxis.reversed to change the sorting order.
  36693. */
  36694. enabled?: boolean;
  36695. /**
  36696. * (Highcharts, Highstock) Whether to allow matching points by name in an
  36697. * update. If this option is disabled, points will be matched by order.
  36698. */
  36699. matchByName?: boolean;
  36700. /**
  36701. * (Highcharts, Highstock) Determines what data value should be used to sort
  36702. * by.
  36703. */
  36704. sortKey?: string;
  36705. }
  36706. /**
  36707. * (Highcharts) A cylinder graph is a variation of a 3d column graph. The
  36708. * cylinder graph features cylindrical points.
  36709. *
  36710. * In TypeScript the type option must always be set.
  36711. *
  36712. * Configuration options for the series are given in three levels:
  36713. *
  36714. * 1. Options for all series in a chart are defined in the plotOptions.series
  36715. * object.
  36716. *
  36717. * 2. Options for all `cylinder` series are defined in plotOptions.cylinder.
  36718. *
  36719. * 3. Options for one single series are given in the series instance array. (see
  36720. * online documentation for example)
  36721. */
  36722. export interface PlotCylinderOptions {
  36723. /**
  36724. * (Highcharts) Accessibility options for a series.
  36725. */
  36726. accessibility?: SeriesAccessibilityOptionsObject;
  36727. /**
  36728. * (Highcharts) Allow this series' points to be selected by clicking on the
  36729. * graphic (columns, point markers, pie slices, map areas etc).
  36730. *
  36731. * The selected points can be handled by point select and unselect events,
  36732. * or collectively by the getSelectedPoints function.
  36733. *
  36734. * And alternative way of selecting points is through dragging.
  36735. */
  36736. allowPointSelect?: boolean;
  36737. /**
  36738. * (Highcharts) Enable or disable the initial animation when a series is
  36739. * displayed. The animation can also be set as a configuration object.
  36740. * Please note that this option only applies to the initial animation of the
  36741. * series itself. For other animations, see chart.animation and the
  36742. * animation parameter under the API methods. The following properties are
  36743. * supported:
  36744. *
  36745. * - `defer`: The animation delay time in milliseconds.
  36746. *
  36747. * - `duration`: The duration of the animation in milliseconds.
  36748. *
  36749. * - `easing`: Can be a string reference to an easing function set on the
  36750. * `Math` object or a function. See the _Custom easing function_ demo below.
  36751. *
  36752. * Due to poor performance, animation is disabled in old IE browsers for
  36753. * several chart types.
  36754. */
  36755. animation?: (boolean|PlotCylinderAnimationOptions|Partial<AnimationOptionsObject>);
  36756. /**
  36757. * (Highcharts) For some series, there is a limit that shuts down initial
  36758. * animation by default when the total number of points in the chart is too
  36759. * high. For example, for a column chart and its derivatives, animation does
  36760. * not run if there is more than 250 points totally. To disable this cap,
  36761. * set `animationLimit` to `Infinity`.
  36762. */
  36763. animationLimit?: number;
  36764. /**
  36765. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  36766. * column or bar.
  36767. *
  36768. * In styled mode, the border stroke can be set with the `.highcharts-point`
  36769. * rule.
  36770. */
  36771. borderColor?: (ColorString|GradientColorObject|PatternObject);
  36772. /**
  36773. * (Highcharts, Highstock, Gantt) The corner radius of the border
  36774. * surrounding each column or bar.
  36775. */
  36776. borderRadius?: number;
  36777. /**
  36778. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  36779. * column or bar. Defaults to `1` when there is room for a border, but to
  36780. * `0` when the columns are so dense that a border would cover the next
  36781. * column.
  36782. *
  36783. * In styled mode, the stroke width can be set with the `.highcharts-point`
  36784. * rule.
  36785. */
  36786. borderWidth?: number;
  36787. /**
  36788. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  36789. * the category, ignoring null or missing points. When `false`, space will
  36790. * be reserved for null or missing points.
  36791. */
  36792. centerInCategory?: boolean;
  36793. /**
  36794. * (Highcharts) An additional class name to apply to the series' graphical
  36795. * elements. This option does not replace default class names of the
  36796. * graphical element.
  36797. */
  36798. className?: string;
  36799. /**
  36800. * (Highcharts) Disable this option to allow series rendering in the whole
  36801. * plotting area.
  36802. *
  36803. * **Note:** Clipping should be always enabled when chart.zoomType is set
  36804. */
  36805. clip?: boolean;
  36806. /**
  36807. * (Highcharts) The main color of the series. In line type series it applies
  36808. * to the line and the point markers unless otherwise specified. In bar type
  36809. * series it applies to the bars unless a color is specified per point. The
  36810. * default value is pulled from the `options.colors` array.
  36811. *
  36812. * In styled mode, the color can be defined by the colorIndex option. Also,
  36813. * the series color can be set with the `.highcharts-series`,
  36814. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  36815. * `.highcharts-series-{n}` class, or individual classes given by the
  36816. * `className` option.
  36817. */
  36818. color?: (ColorString|GradientColorObject|PatternObject);
  36819. /**
  36820. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  36821. * from the global colors or series-specific plotOptions.column.colors
  36822. * collections, this option determines whether the chart should receive one
  36823. * color per series or one color per point.
  36824. *
  36825. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  36826. * and instead this option gives the points individual color class names on
  36827. * the form `highcharts-color-{n}`.
  36828. */
  36829. colorByPoint?: boolean;
  36830. /**
  36831. * (Highcharts) Styled mode only. A specific color index to use for the
  36832. * series, so its graphic representations are given the class name
  36833. * `highcharts-color-{n}`.
  36834. */
  36835. colorIndex?: number;
  36836. /**
  36837. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  36838. * used to calculate point color if `colorAxis` is used. Requires to set
  36839. * `min` and `max` if some custom point property is used or if approximation
  36840. * for data grouping is set to `'sum'`.
  36841. */
  36842. colorKey?: string;
  36843. /**
  36844. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  36845. * color set to apply instead of the global colors when colorByPoint is
  36846. * true.
  36847. */
  36848. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  36849. /**
  36850. * (Highstock) Defines if comparison should start from the first point
  36851. * within the visible range or should start from the first point **before**
  36852. * the range.
  36853. *
  36854. * In other words, this flag determines if first point within the visible
  36855. * range will have 0% (`compareStart=true`) or should have been already
  36856. * calculated according to the previous point (`compareStart=false`).
  36857. */
  36858. compareStart?: boolean;
  36859. /**
  36860. * (Gantt) Override Pathfinder connector options for a series. Requires
  36861. * Highcharts Gantt to be loaded.
  36862. */
  36863. connectors?: SeriesConnectorsOptionsObject;
  36864. /**
  36865. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  36866. * rounded to its nearest pixel in order to render sharp on screen. In some
  36867. * cases, when there are a lot of densely packed columns, this leads to
  36868. * visible difference in column widths or distance between columns. In these
  36869. * cases, setting `crisp` to `false` may look better, even though each
  36870. * column is rendered blurry.
  36871. */
  36872. crisp?: boolean;
  36873. /**
  36874. * (Highcharts, Highstock, Gantt) When the series contains less points than
  36875. * the crop threshold, all points are drawn, event if the points fall
  36876. * outside the visible plot area at the current zoom. The advantage of
  36877. * drawing all points (including markers and columns), is that animation is
  36878. * performed on updates. On the other hand, when the series contains more
  36879. * points than the crop threshold, the series data is cropped to only
  36880. * contain points that fall within the plot area. The advantage of cropping
  36881. * away invisible points is to increase performance on large series.
  36882. */
  36883. cropThreshold?: number;
  36884. /**
  36885. * (Highcharts) You can set the cursor to "pointer" if you have click events
  36886. * attached to the series, to signal to the user that the points and lines
  36887. * can be clicked.
  36888. *
  36889. * In styled mode, the series cursor can be set with the same classes as
  36890. * listed under series.color.
  36891. */
  36892. cursor?: (string|CursorValue);
  36893. /**
  36894. * (Highcharts) A reserved subspace to store options and values for
  36895. * customized functionality. Here you can add additional data for your own
  36896. * event callbacks and formatter callbacks.
  36897. */
  36898. custom?: Dictionary<any>;
  36899. /**
  36900. * (Highcharts) Name of the dash style to use for the graph, or for some
  36901. * series types the outline of each shape.
  36902. *
  36903. * In styled mode, the stroke dash-array can be set with the same classes as
  36904. * listed under series.color.
  36905. */
  36906. dashStyle?: DashStyleValue;
  36907. /**
  36908. * (Highstock) Data grouping is the concept of sampling the data values into
  36909. * larger blocks in order to ease readability and increase performance of
  36910. * the JavaScript charts. Highstock by default applies data grouping when
  36911. * the points become closer than a certain pixel value, determined by the
  36912. * `groupPixelWidth` option.
  36913. *
  36914. * If data grouping is applied, the grouping information of grouped points
  36915. * can be read from the Point.dataGroup. If point options other than the
  36916. * data itself are set, for example `name` or `color` or custom properties,
  36917. * the grouping logic doesn't know how to group it. In this case the options
  36918. * of the first point instance are copied over to the group point. This can
  36919. * be altered through a custom `approximation` callback function.
  36920. */
  36921. dataGrouping?: DataGroupingOptionsObject;
  36922. /**
  36923. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  36924. * labels, appearing next to each data point.
  36925. *
  36926. * Since v6.2.0, multiple data labels can be applied to each single point by
  36927. * defining them as an array of configs.
  36928. *
  36929. * In styled mode, the data labels can be styled with the
  36930. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  36931. * (see example).
  36932. */
  36933. dataLabels?: (PlotCylinderDataLabelsOptions|Array<PlotCylinderDataLabelsOptions>);
  36934. /**
  36935. * (Highcharts, Highstock) Options for the series data sorting.
  36936. */
  36937. dataSorting?: (DataSortingOptionsObject|PlotCylinderDataSortingOptions);
  36938. /**
  36939. * (Highcharts) Depth of the columns in a 3D column chart.
  36940. */
  36941. depth?: number;
  36942. /**
  36943. * (Highcharts) A description of the series to add to the screen reader
  36944. * information about the series.
  36945. */
  36946. description?: string;
  36947. /**
  36948. * (Highcharts) 3D columns only. The color of the edges. Similar to
  36949. * `borderColor`, except it defaults to the same color as the column.
  36950. */
  36951. edgeColor?: ColorString;
  36952. /**
  36953. * (Highcharts) 3D columns only. The width of the colored edges.
  36954. */
  36955. edgeWidth?: number;
  36956. /**
  36957. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  36958. * This includes point tooltips and click events on graphs and points. For
  36959. * large datasets it improves performance.
  36960. */
  36961. enableMouseTracking?: boolean;
  36962. /**
  36963. * (Highcharts) General event handlers for the series items. These event
  36964. * hooks can also be attached to the series at run time using the
  36965. * `Highcharts.addEvent` function.
  36966. */
  36967. events?: SeriesEventsOptionsObject;
  36968. /**
  36969. * (Highcharts) Determines whether the series should look for the nearest
  36970. * point in both dimensions or just the x-dimension when hovering the
  36971. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  36972. * series. If the data has duplicate x-values, it is recommended to set this
  36973. * to `'xy'` to allow hovering over all points.
  36974. *
  36975. * Applies only to series types using nearest neighbor search (not direct
  36976. * hover) for tooltip.
  36977. */
  36978. findNearestPointBy?: OptionsFindNearestPointByValue;
  36979. /**
  36980. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  36981. * chart width or only the zoomed area when zooming in on parts of the X
  36982. * axis. By default, the Y axis adjusts to the min and max of the visible
  36983. * data. Cartesian series only.
  36984. */
  36985. getExtremesFromAll?: boolean;
  36986. /**
  36987. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  36988. * let them render independent of each other. Non-grouped columns will be
  36989. * laid out individually and overlap each other.
  36990. */
  36991. grouping?: boolean;
  36992. /**
  36993. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  36994. * axis units.
  36995. */
  36996. groupPadding?: number;
  36997. /**
  36998. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  36999. */
  37000. groupZPadding?: number;
  37001. /**
  37002. * (Highcharts) When set to `false` will prevent the series data from being
  37003. * included in any form of data export.
  37004. *
  37005. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  37006. * `includeInCSVExport`.
  37007. */
  37008. includeInDataExport?: boolean;
  37009. /**
  37010. * (Highmaps) What property to join the `mapData` to the value data. For
  37011. * example, if joinBy is "code", the mapData items with a specific code is
  37012. * merged into the data with the same code. For maps loaded from GeoJSON,
  37013. * the keys may be held in each point's `properties` object.
  37014. *
  37015. * The joinBy option can also be an array of two values, where the first
  37016. * points to a key in the `mapData`, and the second points to another key in
  37017. * the `data`.
  37018. *
  37019. * When joinBy is `null`, the map items are joined by their position in the
  37020. * array, which performs much better in maps with many data points. This is
  37021. * the recommended option if you are printing more than a thousand data
  37022. * points and have a backend that can preprocess the data into a parallel
  37023. * array of the mapData.
  37024. */
  37025. joinBy?: (string|Array<string>);
  37026. /**
  37027. * (Highcharts) An array specifying which option maps to which key in the
  37028. * data point array. This makes it convenient to work with unstructured data
  37029. * arrays from different sources.
  37030. */
  37031. keys?: Array<string>;
  37032. /**
  37033. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  37034. * series as possible in a natural way, seeking to avoid other series. The
  37035. * goal of this feature is to make the chart more easily readable, like if a
  37036. * human designer placed the labels in the optimal position.
  37037. *
  37038. * The series labels currently work with series types having a `graph` or an
  37039. * `area`.
  37040. */
  37041. label?: SeriesLabelOptionsObject;
  37042. /**
  37043. * (Highstock) The line marks the last price from all points.
  37044. */
  37045. lastPrice?: SeriesLastPriceOptionsObject;
  37046. /**
  37047. * (Highstock) The line marks the last price from visible range of points.
  37048. */
  37049. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  37050. /**
  37051. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  37052. * Additionally, the value can be ":previous" to link to the previous
  37053. * series. When two series are linked, only the first one appears in the
  37054. * legend. Toggling the visibility of this also toggles the linked series.
  37055. *
  37056. * If master series uses data sorting and linked series does not have its
  37057. * own sorting definition, the linked series will be sorted in the same
  37058. * order as the master one.
  37059. */
  37060. linkedTo?: string;
  37061. /**
  37062. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  37063. * column, translated to the height of a bar in a bar chart. This prevents
  37064. * the columns from becoming too wide when there is a small number of points
  37065. * in the chart.
  37066. */
  37067. maxPointWidth?: number;
  37068. /**
  37069. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  37070. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  37071. * to zero) point, set the minimal point length to a pixel value like 3\. In
  37072. * stacked column charts, minPointLength might not be respected for tightly
  37073. * packed values.
  37074. */
  37075. minPointLength?: number;
  37076. /**
  37077. * (Highstock) Options for the corresponding navigator series if
  37078. * `showInNavigator` is `true` for this series. Available options are the
  37079. * same as any series, documented at plotOptions and series.
  37080. *
  37081. * These options are merged with options in navigator.series, and will take
  37082. * precedence if the same option is defined both places.
  37083. */
  37084. navigatorOptions?: PlotSeriesOptions;
  37085. /**
  37086. * (Highcharts) The color for the parts of the graph or points that are
  37087. * below the threshold. Note that `zones` takes precedence over the negative
  37088. * color. Using `negativeColor` is equivalent to applying a zone with value
  37089. * of 0.
  37090. */
  37091. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  37092. /**
  37093. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  37094. * dataLabels.
  37095. */
  37096. opacity?: number;
  37097. /**
  37098. * (Highcharts) Properties for each single point.
  37099. */
  37100. point?: PlotSeriesPointOptions;
  37101. /**
  37102. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  37103. * individual series. Overrides the chart wide configuration.
  37104. */
  37105. pointDescriptionFormatter?: Function;
  37106. /**
  37107. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  37108. * a series, `pointInterval` defines the interval of the x values. For
  37109. * example, if a series contains one value every decade starting from year
  37110. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  37111. * `pointInterval` is set in milliseconds.
  37112. *
  37113. * It can be also be combined with `pointIntervalUnit` to draw irregular
  37114. * time intervals.
  37115. *
  37116. * Please note that this options applies to the _series data_, not the
  37117. * interval of the axis ticks, which is independent.
  37118. */
  37119. pointInterval?: number;
  37120. /**
  37121. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  37122. * setting the pointInterval to irregular time units, `day`, `month` and
  37123. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  37124. * also takes the DST crossover into consideration when dealing with local
  37125. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  37126. * months, 10 years etc.
  37127. *
  37128. * Please note that this options applies to the _series data_, not the
  37129. * interval of the axis ticks, which is independent.
  37130. */
  37131. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  37132. /**
  37133. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  37134. * axis units.
  37135. */
  37136. pointPadding?: number;
  37137. /**
  37138. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  37139. * `number`.
  37140. *
  37141. * In a column chart, when pointPlacement is `"on"`, the point will not
  37142. * create any padding of the X axis. In a polar column chart this means that
  37143. * the first column points directly north. If the pointPlacement is
  37144. * `"between"`, the columns will be laid out between ticks. This is useful
  37145. * for example for visualising an amount between two points in time or in a
  37146. * certain sector of a polar chart.
  37147. *
  37148. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  37149. * is on the axis value, -0.5 is between this value and the previous, and
  37150. * 0.5 is between this value and the next. Unlike the textual options,
  37151. * numeric point placement options won't affect axis padding.
  37152. *
  37153. * Note that pointPlacement needs a pointRange to work. For column series
  37154. * this is computed, but for line-type series it needs to be set.
  37155. *
  37156. * For the `xrange` series type and gantt charts, if the Y axis is a
  37157. * category axis, the `pointPlacement` applies to the Y axis rather than the
  37158. * (typically datetime) X axis.
  37159. *
  37160. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  37161. */
  37162. pointPlacement?: (number|string);
  37163. /**
  37164. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  37165. * for. This determines the width of the column. On a categorized axis, the
  37166. * range will be 1 by default (one category unit). On linear and datetime
  37167. * axes, the range will be computed as the distance between the two closest
  37168. * data points.
  37169. *
  37170. * The default `null` means it is computed automatically, but this option
  37171. * can be used to override the automatic value.
  37172. *
  37173. * This option is set by default to 1 if data sorting is enabled.
  37174. */
  37175. pointRange?: (number|null);
  37176. /**
  37177. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  37178. * a series, pointStart defines on what value to start. For example, if a
  37179. * series contains one yearly value starting from 1945, set pointStart to
  37180. * 1945.
  37181. */
  37182. pointStart?: number;
  37183. /**
  37184. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  37185. * each column or bar point. When `null`, the width is calculated from the
  37186. * `pointPadding` and `groupPadding`. The width effects the dimension that
  37187. * is not based on the point value. For column series it is the hoizontal
  37188. * length and for bar series it is the vertical length.
  37189. */
  37190. pointWidth?: number;
  37191. /**
  37192. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  37193. * true, the checkbox next to the series name in the legend will be checked
  37194. * for a selected series.
  37195. */
  37196. selected?: boolean;
  37197. /**
  37198. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  37199. * the shadow can be an object configuration containing `color`, `offsetX`,
  37200. * `offsetY`, `opacity` and `width`.
  37201. */
  37202. shadow?: (boolean|ShadowOptionsObject);
  37203. /**
  37204. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  37205. * allow selecting the series. The state of the checkbox is determined by
  37206. * the `selected` option.
  37207. */
  37208. showCheckbox?: boolean;
  37209. /**
  37210. * (Highcharts) Whether to display this particular series or series type in
  37211. * the legend. Standalone series are shown in legend by default, and linked
  37212. * series are not. Since v7.2.0 it is possible to show series that use
  37213. * colorAxis by setting this option to `true`.
  37214. */
  37215. showInLegend?: boolean;
  37216. /**
  37217. * (Highstock) Whether or not to show the series in the navigator. Takes
  37218. * precedence over navigator.baseSeries if defined.
  37219. */
  37220. showInNavigator?: boolean;
  37221. /**
  37222. * (Highcharts) If set to `true`, the accessibility module will skip past
  37223. * the points in this series for keyboard navigation.
  37224. */
  37225. skipKeyboardNavigation?: boolean;
  37226. /**
  37227. * (Highcharts, Highstock) When this is true, the series will not cause the
  37228. * Y axis to cross the zero plane (or threshold option) unless the data
  37229. * actually crosses the plane.
  37230. *
  37231. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  37232. * make the Y axis show negative values according to the `minPadding`
  37233. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  37234. */
  37235. softThreshold?: boolean;
  37236. /**
  37237. * (Highcharts, Highstock) Whether to stack the values of each series on top
  37238. * of each other. Possible values are `undefined` to disable, `"normal"` to
  37239. * stack by value or `"percent"`.
  37240. *
  37241. * When stacking is enabled, data must be sorted in ascending X order.
  37242. *
  37243. * Some stacking options are related to specific series types. In the
  37244. * streamgraph series type, the stacking option is set to `"stream"`. The
  37245. * second one is `"overlap"`, which only applies to waterfall series.
  37246. */
  37247. stacking?: OptionsStackingValue;
  37248. states?: SeriesStatesOptionsObject;
  37249. /**
  37250. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  37251. * event on a series isn't triggered until the mouse moves over another
  37252. * series, or out of the plot area. When false, the `mouseOut` event on a
  37253. * series is triggered when the mouse leaves the area around the series'
  37254. * graph or markers. This also implies the tooltip when not shared. When
  37255. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  37256. * be hidden when moving the mouse between series. Defaults to true for line
  37257. * and area type series, but to false for columns, pies etc.
  37258. *
  37259. * **Note:** The boost module will force this option because of technical
  37260. * limitations.
  37261. */
  37262. stickyTracking?: boolean;
  37263. /**
  37264. * (Highcharts) The Y axis value to serve as the base for the columns, for
  37265. * distinguishing between values above and below a threshold. If `null`, the
  37266. * columns extend from the padding Y axis minimum.
  37267. */
  37268. threshold?: (number|null);
  37269. /**
  37270. * (Highcharts) A configuration object for the tooltip rendering of each
  37271. * single series. Properties are inherited from tooltip, but only the
  37272. * following properties can be defined on a series level.
  37273. */
  37274. tooltip?: SeriesTooltipOptionsObject;
  37275. /**
  37276. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  37277. * is longer than this, only one dimensional arrays of numbers, or two
  37278. * dimensional arrays with x and y values are allowed. Also, only the first
  37279. * point is tested, and the rest are assumed to be the same format. This
  37280. * saves expensive data checking and indexing in long series. Set it to `0`
  37281. * disable.
  37282. *
  37283. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  37284. * two dimensional arrays are allowed.
  37285. */
  37286. turboThreshold?: number;
  37287. /**
  37288. * (Highcharts) Set the initial visibility of the series.
  37289. */
  37290. visible?: boolean;
  37291. /**
  37292. * (Highmaps) Define the z index of the series.
  37293. */
  37294. zIndex?: number;
  37295. /**
  37296. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  37297. */
  37298. zoneAxis?: string;
  37299. /**
  37300. * (Highcharts, Highstock) An array defining zones within a series. Zones
  37301. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  37302. * the `zoneAxis` option. The zone definitions have to be in ascending order
  37303. * regarding to the value.
  37304. *
  37305. * In styled mode, the color zones are styled with the
  37306. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  37307. * option (view live demo).
  37308. */
  37309. zones?: Array<SeriesZonesOptionsObject>;
  37310. }
  37311. /**
  37312. * (Highstock) Enable or disable the initial animation when a series is
  37313. * displayed. The animation can also be set as a configuration object. Please
  37314. * note that this option only applies to the initial animation of the series
  37315. * itself. For other animations, see chart.animation and the animation parameter
  37316. * under the API methods. The following properties are supported:
  37317. *
  37318. * - `defer`: The animation delay time in milliseconds.
  37319. *
  37320. * - `duration`: The duration of the animation in milliseconds.
  37321. *
  37322. * - `easing`: Can be a string reference to an easing function set on the `Math`
  37323. * object or a function. See the _Custom easing function_ demo below.
  37324. *
  37325. * Due to poor performance, animation is disabled in old IE browsers for several
  37326. * chart types.
  37327. */
  37328. export interface PlotDemaAnimationOptions {
  37329. defer?: number;
  37330. }
  37331. /**
  37332. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  37333. * animation when a series is displayed for the `dataLabels`. The animation can
  37334. * also be set as a configuration object. Please note that this option only
  37335. * applies to the initial animation. For other animations, see chart.animation
  37336. * and the animation parameter under the API methods. The following properties
  37337. * are supported:
  37338. *
  37339. * - `defer`: The animation delay time in milliseconds.
  37340. */
  37341. export interface PlotDemaDataLabelsAnimationOptions {
  37342. /**
  37343. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  37344. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  37345. * inherits defer time from the series.animation.defer.
  37346. */
  37347. defer?: number;
  37348. }
  37349. /**
  37350. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  37351. * appearing next to each data point.
  37352. *
  37353. * Since v6.2.0, multiple data labels can be applied to each single point by
  37354. * defining them as an array of configs.
  37355. *
  37356. * In styled mode, the data labels can be styled with the
  37357. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  37358. * example).
  37359. */
  37360. export interface PlotDemaDataLabelsOptions {
  37361. /**
  37362. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  37363. * compared to the point. If `right`, the right side of the label should be
  37364. * touching the point. For points with an extent, like columns, the
  37365. * alignments also dictates how to align it inside the box, as given with
  37366. * the inside option. Can be one of `left`, `center` or `right`.
  37367. */
  37368. align?: (AlignValue|null);
  37369. /**
  37370. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  37371. * overlap. To make the labels less sensitive for overlapping, the
  37372. * dataLabels.padding can be set to 0.
  37373. */
  37374. allowOverlap?: boolean;
  37375. /**
  37376. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  37377. * animation when a series is displayed for the `dataLabels`. The animation
  37378. * can also be set as a configuration object. Please note that this option
  37379. * only applies to the initial animation. For other animations, see
  37380. * chart.animation and the animation parameter under the API methods. The
  37381. * following properties are supported:
  37382. *
  37383. * - `defer`: The animation delay time in milliseconds.
  37384. */
  37385. animation?: (boolean|PlotDemaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  37386. /**
  37387. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  37388. * for the data label.
  37389. */
  37390. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  37391. /**
  37392. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  37393. * label. Defaults to `undefined`.
  37394. */
  37395. borderColor?: (ColorString|GradientColorObject|PatternObject);
  37396. /**
  37397. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  37398. * the data label.
  37399. */
  37400. borderRadius?: number;
  37401. /**
  37402. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  37403. * the data label.
  37404. */
  37405. borderWidth?: number;
  37406. /**
  37407. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  37408. * Particularly in styled mode, this can be used to give each series' or
  37409. * point's data label unique styling. In addition to this option, a default
  37410. * color class name is added so that we can give the labels a contrast text
  37411. * shadow.
  37412. */
  37413. className?: string;
  37414. /**
  37415. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  37416. * labels. Defaults to `undefined`. For certain series types, like column or
  37417. * map, the data labels can be drawn inside the points. In this case the
  37418. * data label will be drawn with maximum contrast by default. Additionally,
  37419. * it will be given a `text-outline` style with the opposite color, to
  37420. * further increase the contrast. This can be overridden by setting the
  37421. * `text-outline` style to `none` in the `dataLabels.style` option.
  37422. */
  37423. color?: (ColorString|GradientColorObject|PatternObject);
  37424. /**
  37425. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  37426. * are outside the plot area. By default, the data label is moved inside the
  37427. * plot area according to the overflow option.
  37428. */
  37429. crop?: boolean;
  37430. /**
  37431. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  37432. * labels until the initial series animation has finished. Setting to
  37433. * `false` renders the data label immediately. If set to `true` inherits the
  37434. * defer time set in plotOptions.series.animation.
  37435. */
  37436. defer?: boolean;
  37437. /**
  37438. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  37439. * labels.
  37440. */
  37441. enabled?: boolean;
  37442. /**
  37443. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  37444. * of which data labels to display. The declarative filter is designed for
  37445. * use when callback functions are not available, like when the chart
  37446. * options require a pure JSON structure or for use with graphical editors.
  37447. * For programmatic control, use the `formatter` instead, and return
  37448. * `undefined` to disable a single data label.
  37449. */
  37450. filter?: DataLabelsFilterOptionsObject;
  37451. /**
  37452. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  37453. * label. Available variables are the same as for `formatter`.
  37454. */
  37455. format?: string;
  37456. /**
  37457. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  37458. * format the data label. Note that if a `format` is defined, the format
  37459. * takes precedence and the formatter is ignored.
  37460. */
  37461. formatter?: DataLabelsFormatterCallbackFunction;
  37462. /**
  37463. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  37464. * columns or map areas, whether to align the data label inside the box or
  37465. * to the actual value point. Defaults to `false` in most cases, `true` in
  37466. * stacked columns.
  37467. */
  37468. inside?: boolean;
  37469. /**
  37470. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  37471. * of null. Works analogously to format. `nullFormat` can be applied only to
  37472. * series which support displaying null points.
  37473. */
  37474. nullFormat?: (boolean|string);
  37475. /**
  37476. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  37477. * that defines formatting for points with the value of null. Works
  37478. * analogously to formatter. `nullPointFormatter` can be applied only to
  37479. * series which support displaying null points.
  37480. */
  37481. nullFormatter?: DataLabelsFormatterCallbackFunction;
  37482. /**
  37483. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  37484. * flow outside the plot area. The default is `"justify"`, which aligns them
  37485. * inside the plot area. For columns and bars, this means it will be moved
  37486. * inside the bar. To display data labels outside the plot area, set `crop`
  37487. * to `false` and `overflow` to `"allow"`.
  37488. */
  37489. overflow?: DataLabelsOverflowValue;
  37490. /**
  37491. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  37492. * the `backgroundColor` is set, this is the padding within the box.
  37493. */
  37494. padding?: number;
  37495. /**
  37496. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  37497. * points. If `center` alignment is not possible, it defaults to `right`.
  37498. */
  37499. position?: AlignValue;
  37500. /**
  37501. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  37502. * that due to a more complex structure, backgrounds, borders and padding
  37503. * will be lost on a rotated data label.
  37504. */
  37505. rotation?: number;
  37506. /**
  37507. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  37508. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  37509. * an object configuration containing `color`, `offsetX`, `offsetY`,
  37510. * `opacity` and `width`.
  37511. */
  37512. shadow?: (boolean|ShadowOptionsObject);
  37513. /**
  37514. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  37515. * the border around the label. Symbols are predefined functions on the
  37516. * Renderer object.
  37517. */
  37518. shape?: string;
  37519. /**
  37520. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  37521. * default `color` setting is `"contrast"`, which is a pseudo color that
  37522. * Highcharts picks up and applies the maximum contrast to the underlying
  37523. * point item, for example the bar in a bar chart.
  37524. *
  37525. * The `textOutline` is a pseudo property that applies an outline of the
  37526. * given width with the given color, which by default is the maximum
  37527. * contrast to the text. So a bright text color will result in a black text
  37528. * outline for maximum readability on a mixed background. In some cases,
  37529. * especially with grayscale text, the text outline doesn't work well, in
  37530. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  37531. * is true, the `textOutline` will not be picked up. In this, case, the same
  37532. * effect can be acheived through the `text-shadow` CSS property.
  37533. *
  37534. * For some series types, where each point has an extent, like for example
  37535. * tree maps, the data label may overflow the point. There are two
  37536. * strategies for handling overflow. By default, the text will wrap to
  37537. * multiple lines. The other strategy is to set `style.textOverflow` to
  37538. * `ellipsis`, which will keep the text on one line plus it will break
  37539. * inside long words.
  37540. */
  37541. style?: CSSObject;
  37542. /**
  37543. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  37544. * should follow marker's shape. Border and background are disabled for a
  37545. * label that follows a path.
  37546. *
  37547. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  37548. * to true will disable this option.
  37549. */
  37550. textPath?: DataLabelsTextPathOptionsObject;
  37551. /**
  37552. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  37553. * the labels.
  37554. */
  37555. useHTML?: boolean;
  37556. /**
  37557. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  37558. * label. Can be one of `top`, `middle` or `bottom`. The default value
  37559. * depends on the data, for instance in a column chart, the label is above
  37560. * positive values and below negative values.
  37561. */
  37562. verticalAlign?: (VerticalAlignValue|null);
  37563. /**
  37564. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  37565. * label relative to the point in pixels.
  37566. */
  37567. x?: number;
  37568. /**
  37569. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  37570. * label relative to the point in pixels.
  37571. */
  37572. y?: number;
  37573. /**
  37574. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  37575. * The default Z index puts it above the series. Use a Z index of 2 to
  37576. * display it behind the series.
  37577. */
  37578. z?: number;
  37579. }
  37580. /**
  37581. * (Highcharts, Highstock) Options for the series data sorting.
  37582. */
  37583. export interface PlotDemaDataSortingOptions {
  37584. /**
  37585. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  37586. * Use xAxis.reversed to change the sorting order.
  37587. */
  37588. enabled?: boolean;
  37589. /**
  37590. * (Highcharts, Highstock) Whether to allow matching points by name in an
  37591. * update. If this option is disabled, points will be matched by order.
  37592. */
  37593. matchByName?: boolean;
  37594. /**
  37595. * (Highcharts, Highstock) Determines what data value should be used to sort
  37596. * by.
  37597. */
  37598. sortKey?: string;
  37599. }
  37600. /**
  37601. * (Highstock) Double exponential moving average (DEMA) indicator. This series
  37602. * requires `linkedTo` option to be set and should be loaded after the
  37603. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  37604. *
  37605. * In TypeScript the type option must always be set.
  37606. *
  37607. * Configuration options for the series are given in three levels:
  37608. *
  37609. * 1. Options for all series in a chart are defined in the plotOptions.series
  37610. * object.
  37611. *
  37612. * 2. Options for all `dema` series are defined in plotOptions.dema.
  37613. *
  37614. * 3. Options for one single series are given in the series instance array. (see
  37615. * online documentation for example)
  37616. */
  37617. export interface PlotDemaOptions {
  37618. /**
  37619. * (Highstock) Accessibility options for a series.
  37620. */
  37621. accessibility?: SeriesAccessibilityOptionsObject;
  37622. /**
  37623. * (Highstock) Allow this series' points to be selected by clicking on the
  37624. * graphic (columns, point markers, pie slices, map areas etc).
  37625. *
  37626. * The selected points can be handled by point select and unselect events,
  37627. * or collectively by the getSelectedPoints function.
  37628. *
  37629. * And alternative way of selecting points is through dragging.
  37630. */
  37631. allowPointSelect?: boolean;
  37632. /**
  37633. * (Highstock) Enable or disable the initial animation when a series is
  37634. * displayed. The animation can also be set as a configuration object.
  37635. * Please note that this option only applies to the initial animation of the
  37636. * series itself. For other animations, see chart.animation and the
  37637. * animation parameter under the API methods. The following properties are
  37638. * supported:
  37639. *
  37640. * - `defer`: The animation delay time in milliseconds.
  37641. *
  37642. * - `duration`: The duration of the animation in milliseconds.
  37643. *
  37644. * - `easing`: Can be a string reference to an easing function set on the
  37645. * `Math` object or a function. See the _Custom easing function_ demo below.
  37646. *
  37647. * Due to poor performance, animation is disabled in old IE browsers for
  37648. * several chart types.
  37649. */
  37650. animation?: (boolean|PlotDemaAnimationOptions|Partial<AnimationOptionsObject>);
  37651. /**
  37652. * (Highstock) For some series, there is a limit that shuts down initial
  37653. * animation by default when the total number of points in the chart is too
  37654. * high. For example, for a column chart and its derivatives, animation does
  37655. * not run if there is more than 250 points totally. To disable this cap,
  37656. * set `animationLimit` to `Infinity`.
  37657. */
  37658. animationLimit?: number;
  37659. /**
  37660. * (Highstock) Sets the color blending in the boost module.
  37661. */
  37662. boostBlending?: OptionsBoostBlendingValue;
  37663. /**
  37664. * (Highstock) Set the point threshold for when a series should enter boost
  37665. * mode.
  37666. *
  37667. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  37668. * there are 2000 or more points in the series.
  37669. *
  37670. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  37671. * it to 1 will force boosting.
  37672. *
  37673. * Note that the cropThreshold also affects this setting. When zooming in on
  37674. * a series that has fewer points than the `cropThreshold`, all points are
  37675. * rendered although outside the visible plot area, and the `boostThreshold`
  37676. * won't take effect.
  37677. */
  37678. boostThreshold?: number;
  37679. /**
  37680. * (Highmaps) The border color of the map areas.
  37681. *
  37682. * In styled mode, the border stroke is given in the `.highcharts-point`
  37683. * class.
  37684. */
  37685. borderColor?: (ColorString|GradientColorObject|PatternObject);
  37686. /**
  37687. * (Highmaps) The border width of each map area.
  37688. *
  37689. * In styled mode, the border stroke width is given in the
  37690. * `.highcharts-point` class.
  37691. */
  37692. borderWidth?: number;
  37693. /**
  37694. * (Highstock) An additional class name to apply to the series' graphical
  37695. * elements. This option does not replace default class names of the
  37696. * graphical element.
  37697. */
  37698. className?: string;
  37699. /**
  37700. * (Highstock) Disable this option to allow series rendering in the whole
  37701. * plotting area.
  37702. *
  37703. * **Note:** Clipping should be always enabled when chart.zoomType is set
  37704. */
  37705. clip?: boolean;
  37706. /**
  37707. * (Highstock) The main color of the series. In line type series it applies
  37708. * to the line and the point markers unless otherwise specified. In bar type
  37709. * series it applies to the bars unless a color is specified per point. The
  37710. * default value is pulled from the `options.colors` array.
  37711. *
  37712. * In styled mode, the color can be defined by the colorIndex option. Also,
  37713. * the series color can be set with the `.highcharts-series`,
  37714. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  37715. * `.highcharts-series-{n}` class, or individual classes given by the
  37716. * `className` option.
  37717. */
  37718. color?: (ColorString|GradientColorObject|PatternObject);
  37719. /**
  37720. * (Highstock) Styled mode only. A specific color index to use for the
  37721. * series, so its graphic representations are given the class name
  37722. * `highcharts-color-{n}`.
  37723. */
  37724. colorIndex?: number;
  37725. /**
  37726. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  37727. * used to calculate point color if `colorAxis` is used. Requires to set
  37728. * `min` and `max` if some custom point property is used or if approximation
  37729. * for data grouping is set to `'sum'`.
  37730. */
  37731. colorKey?: string;
  37732. /**
  37733. * (Highstock) Defines if comparison should start from the first point
  37734. * within the visible range or should start from the first point **before**
  37735. * the range.
  37736. *
  37737. * In other words, this flag determines if first point within the visible
  37738. * range will have 0% (`compareStart=true`) or should have been already
  37739. * calculated according to the previous point (`compareStart=false`).
  37740. */
  37741. compareStart?: boolean;
  37742. /**
  37743. * (Highstock) Whether to compare indicator to the main series values or
  37744. * indicator values.
  37745. */
  37746. compareToMain?: boolean;
  37747. /**
  37748. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  37749. * series plot across the extremes.
  37750. */
  37751. connectEnds?: boolean;
  37752. /**
  37753. * (Highcharts, Highstock) Whether to connect a graph line across null
  37754. * points, or render a gap between the two points on either side of the
  37755. * null.
  37756. */
  37757. connectNulls?: boolean;
  37758. /**
  37759. * (Gantt) Override Pathfinder connector options for a series. Requires
  37760. * Highcharts Gantt to be loaded.
  37761. */
  37762. connectors?: SeriesConnectorsOptionsObject;
  37763. /**
  37764. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  37765. * rounded to its nearest pixel in order to render sharp on screen. In some
  37766. * cases, when there are a lot of densely packed columns, this leads to
  37767. * visible difference in column widths or distance between columns. In these
  37768. * cases, setting `crisp` to `false` may look better, even though each
  37769. * column is rendered blurry.
  37770. */
  37771. crisp?: boolean;
  37772. /**
  37773. * (Highcharts, Highstock) When the series contains less points than the
  37774. * crop threshold, all points are drawn, even if the points fall outside the
  37775. * visible plot area at the current zoom. The advantage of drawing all
  37776. * points (including markers and columns), is that animation is performed on
  37777. * updates. On the other hand, when the series contains more points than the
  37778. * crop threshold, the series data is cropped to only contain points that
  37779. * fall within the plot area. The advantage of cropping away invisible
  37780. * points is to increase performance on large series.
  37781. */
  37782. cropThreshold?: number;
  37783. /**
  37784. * (Highstock) You can set the cursor to "pointer" if you have click events
  37785. * attached to the series, to signal to the user that the points and lines
  37786. * can be clicked.
  37787. *
  37788. * In styled mode, the series cursor can be set with the same classes as
  37789. * listed under series.color.
  37790. */
  37791. cursor?: (string|CursorValue);
  37792. /**
  37793. * (Highstock) A reserved subspace to store options and values for
  37794. * customized functionality. Here you can add additional data for your own
  37795. * event callbacks and formatter callbacks.
  37796. */
  37797. custom?: Dictionary<any>;
  37798. /**
  37799. * (Highstock) Name of the dash style to use for the graph, or for some
  37800. * series types the outline of each shape.
  37801. *
  37802. * In styled mode, the stroke dash-array can be set with the same classes as
  37803. * listed under series.color.
  37804. */
  37805. dashStyle?: DashStyleValue;
  37806. /**
  37807. * (Highstock) Data grouping is the concept of sampling the data values into
  37808. * larger blocks in order to ease readability and increase performance of
  37809. * the JavaScript charts. Highstock by default applies data grouping when
  37810. * the points become closer than a certain pixel value, determined by the
  37811. * `groupPixelWidth` option.
  37812. *
  37813. * If data grouping is applied, the grouping information of grouped points
  37814. * can be read from the Point.dataGroup. If point options other than the
  37815. * data itself are set, for example `name` or `color` or custom properties,
  37816. * the grouping logic doesn't know how to group it. In this case the options
  37817. * of the first point instance are copied over to the group point. This can
  37818. * be altered through a custom `approximation` callback function.
  37819. */
  37820. dataGrouping?: DataGroupingOptionsObject;
  37821. /**
  37822. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  37823. * labels, appearing next to each data point.
  37824. *
  37825. * Since v6.2.0, multiple data labels can be applied to each single point by
  37826. * defining them as an array of configs.
  37827. *
  37828. * In styled mode, the data labels can be styled with the
  37829. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  37830. * (see example).
  37831. */
  37832. dataLabels?: (PlotDemaDataLabelsOptions|Array<PlotDemaDataLabelsOptions>);
  37833. /**
  37834. * (Highcharts, Highstock) Options for the series data sorting.
  37835. */
  37836. dataSorting?: (DataSortingOptionsObject|PlotDemaDataSortingOptions);
  37837. /**
  37838. * (Highstock) A description of the series to add to the screen reader
  37839. * information about the series.
  37840. */
  37841. description?: string;
  37842. /**
  37843. * (Highstock) Enable or disable the mouse tracking for a specific series.
  37844. * This includes point tooltips and click events on graphs and points. For
  37845. * large datasets it improves performance.
  37846. */
  37847. enableMouseTracking?: boolean;
  37848. /**
  37849. * (Highstock) General event handlers for the series items. These event
  37850. * hooks can also be attached to the series at run time using the
  37851. * `Highcharts.addEvent` function.
  37852. */
  37853. events?: SeriesEventsOptionsObject;
  37854. /**
  37855. * (Highstock) Determines whether the series should look for the nearest
  37856. * point in both dimensions or just the x-dimension when hovering the
  37857. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  37858. * series. If the data has duplicate x-values, it is recommended to set this
  37859. * to `'xy'` to allow hovering over all points.
  37860. *
  37861. * Applies only to series types using nearest neighbor search (not direct
  37862. * hover) for tooltip.
  37863. */
  37864. findNearestPointBy?: OptionsFindNearestPointByValue;
  37865. /**
  37866. * (Highstock) Defines when to display a gap in the graph, together with the
  37867. * gapUnit option.
  37868. *
  37869. * In case when `dataGrouping` is enabled, points can be grouped into a
  37870. * larger time span. This can make the grouped points to have a greater
  37871. * distance than the absolute value of `gapSize` property, which will result
  37872. * in disappearing graph completely. To prevent this situation the mentioned
  37873. * distance between grouped points is used instead of previously defined
  37874. * `gapSize`.
  37875. *
  37876. * In practice, this option is most often used to visualize gaps in time
  37877. * series. In a stock chart, intraday data is available for daytime hours,
  37878. * while gaps will appear in nights and weekends.
  37879. */
  37880. gapSize?: number;
  37881. /**
  37882. * (Highstock) Together with gapSize, this option defines where to draw gaps
  37883. * in the graph.
  37884. *
  37885. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  37886. * if the distance between two points is greater than 5 times that of the
  37887. * two closest points, the graph will be broken.
  37888. *
  37889. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  37890. * values, which on a datetime axis is milliseconds. This also applies to
  37891. * the navigator series that inherits gap options from the base series.
  37892. */
  37893. gapUnit?: OptionsGapUnitValue;
  37894. /**
  37895. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  37896. * chart width or only the zoomed area when zooming in on parts of the X
  37897. * axis. By default, the Y axis adjusts to the min and max of the visible
  37898. * data. Cartesian series only.
  37899. */
  37900. getExtremesFromAll?: boolean;
  37901. /**
  37902. * (Highstock) When set to `false` will prevent the series data from being
  37903. * included in any form of data export.
  37904. *
  37905. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  37906. * `includeInCSVExport`.
  37907. */
  37908. includeInDataExport?: boolean;
  37909. /**
  37910. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  37911. * series as possible in a natural way, seeking to avoid other series. The
  37912. * goal of this feature is to make the chart more easily readable, like if a
  37913. * human designer placed the labels in the optimal position.
  37914. *
  37915. * The series labels currently work with series types having a `graph` or an
  37916. * `area`.
  37917. */
  37918. label?: SeriesLabelOptionsObject;
  37919. /**
  37920. * (Highstock) The line marks the last price from all points.
  37921. */
  37922. lastPrice?: SeriesLastPriceOptionsObject;
  37923. /**
  37924. * (Highstock) The line marks the last price from visible range of points.
  37925. */
  37926. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  37927. /**
  37928. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  37929. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  37930. * the ends and bends.
  37931. */
  37932. linecap?: SeriesLinecapValue;
  37933. /**
  37934. * (Highcharts, Highstock) Pixel width of the graph line.
  37935. */
  37936. lineWidth?: number;
  37937. /**
  37938. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  37939. * based on. Required for this indicator.
  37940. */
  37941. linkedTo?: string;
  37942. /**
  37943. * (Highstock) Options for the point markers of line-like series. Properties
  37944. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  37945. * appearance of the markers. Other series types, like column series, don't
  37946. * have markers, but have visual options on the series level instead.
  37947. *
  37948. * In styled mode, the markers can be styled with the `.highcharts-point`,
  37949. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  37950. */
  37951. marker?: PointMarkerOptionsObject;
  37952. /**
  37953. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  37954. * If not set, it will be based on a technical indicator type and default
  37955. * params.
  37956. */
  37957. name?: string;
  37958. /**
  37959. * (Highstock) The color for the parts of the graph or points that are below
  37960. * the threshold. Note that `zones` takes precedence over the negative
  37961. * color. Using `negativeColor` is equivalent to applying a zone with value
  37962. * of 0.
  37963. */
  37964. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  37965. /**
  37966. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  37967. * dataLabels.
  37968. */
  37969. opacity?: number;
  37970. /**
  37971. * (Highstock) Paramters used in calculation of regression series' points.
  37972. */
  37973. params?: PlotDemaParamsOptions;
  37974. /**
  37975. * (Highstock) Properties for each single point.
  37976. */
  37977. point?: PlotSeriesPointOptions;
  37978. /**
  37979. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  37980. * individual series. Overrides the chart wide configuration.
  37981. */
  37982. pointDescriptionFormatter?: Function;
  37983. /**
  37984. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  37985. * true, the checkbox next to the series name in the legend will be checked
  37986. * for a selected series.
  37987. */
  37988. selected?: boolean;
  37989. /**
  37990. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  37991. * the shadow can be an object configuration containing `color`, `offsetX`,
  37992. * `offsetY`, `opacity` and `width`.
  37993. */
  37994. shadow?: (boolean|ShadowOptionsObject);
  37995. /**
  37996. * (Highstock) If true, a checkbox is displayed next to the legend item to
  37997. * allow selecting the series. The state of the checkbox is determined by
  37998. * the `selected` option.
  37999. */
  38000. showCheckbox?: boolean;
  38001. /**
  38002. * (Highstock) Whether to display this particular series or series type in
  38003. * the legend. Standalone series are shown in legend by default, and linked
  38004. * series are not. Since v7.2.0 it is possible to show series that use
  38005. * colorAxis by setting this option to `true`.
  38006. */
  38007. showInLegend?: boolean;
  38008. /**
  38009. * (Highstock) If set to `true`, the accessibility module will skip past the
  38010. * points in this series for keyboard navigation.
  38011. */
  38012. skipKeyboardNavigation?: boolean;
  38013. /**
  38014. * (Highcharts, Highstock) When this is true, the series will not cause the
  38015. * Y axis to cross the zero plane (or threshold option) unless the data
  38016. * actually crosses the plane.
  38017. *
  38018. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  38019. * make the Y axis show negative values according to the `minPadding`
  38020. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  38021. */
  38022. softThreshold?: boolean;
  38023. states?: SeriesStatesOptionsObject;
  38024. /**
  38025. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  38026. * values are `left`, `center` and `right`.
  38027. */
  38028. step?: OptionsStepValue;
  38029. /**
  38030. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  38031. * event on a series isn't triggered until the mouse moves over another
  38032. * series, or out of the plot area. When false, the `mouseOut` event on a
  38033. * series is triggered when the mouse leaves the area around the series'
  38034. * graph or markers. This also implies the tooltip when not shared. When
  38035. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  38036. * be hidden when moving the mouse between series. Defaults to true for line
  38037. * and area type series, but to false for columns, pies etc.
  38038. *
  38039. * **Note:** The boost module will force this option because of technical
  38040. * limitations.
  38041. */
  38042. stickyTracking?: boolean;
  38043. /**
  38044. * (Highcharts, Highstock) The threshold, also called zero level or base
  38045. * level. For line type series this is only used in conjunction with
  38046. * negativeColor.
  38047. */
  38048. threshold?: number;
  38049. /**
  38050. * (Highstock) A configuration object for the tooltip rendering of each
  38051. * single series. Properties are inherited from tooltip, but only the
  38052. * following properties can be defined on a series level.
  38053. */
  38054. tooltip?: SeriesTooltipOptionsObject;
  38055. /**
  38056. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  38057. * is longer than this, only one dimensional arrays of numbers, or two
  38058. * dimensional arrays with x and y values are allowed. Also, only the first
  38059. * point is tested, and the rest are assumed to be the same format. This
  38060. * saves expensive data checking and indexing in long series. Set it to `0`
  38061. * disable.
  38062. *
  38063. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  38064. * two dimensional arrays are allowed.
  38065. */
  38066. turboThreshold?: number;
  38067. /**
  38068. * (Highstock) Set the initial visibility of the series.
  38069. */
  38070. visible?: boolean;
  38071. /**
  38072. * (Highmaps) Define the z index of the series.
  38073. */
  38074. zIndex?: number;
  38075. /**
  38076. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  38077. */
  38078. zoneAxis?: string;
  38079. /**
  38080. * (Highcharts, Highstock) An array defining zones within a series. Zones
  38081. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  38082. * the `zoneAxis` option. The zone definitions have to be in ascending order
  38083. * regarding to the value.
  38084. *
  38085. * In styled mode, the color zones are styled with the
  38086. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  38087. * option (view live demo).
  38088. */
  38089. zones?: Array<SeriesZonesOptionsObject>;
  38090. }
  38091. /**
  38092. * (Highstock) Paramters used in calculation of regression series' points.
  38093. */
  38094. export interface PlotDemaParamsOptions {
  38095. /**
  38096. * (Highstock) The point index which indicator calculations will base. For
  38097. * example using OHLC data, index=2 means the indicator will be calculated
  38098. * using Low values.
  38099. *
  38100. * By default index value used to be set to 0. Since Highstock 7 by default
  38101. * index is set to 3 which means that the ema indicator will be calculated
  38102. * using Close values.
  38103. */
  38104. index?: number;
  38105. /**
  38106. * (Highstock) The base period for indicator calculations. This is the
  38107. * number of data points which are taken into account for the indicator
  38108. * calculations.
  38109. */
  38110. period?: number;
  38111. }
  38112. /**
  38113. * (Highcharts) Enable or disable the initial animation when a series is
  38114. * displayed. The animation can also be set as a configuration object. Please
  38115. * note that this option only applies to the initial animation of the series
  38116. * itself. For other animations, see chart.animation and the animation parameter
  38117. * under the API methods. The following properties are supported:
  38118. *
  38119. * - `defer`: The animation delay time in milliseconds.
  38120. *
  38121. * - `duration`: The duration of the animation in milliseconds.
  38122. *
  38123. * - `easing`: Can be a string reference to an easing function set on the `Math`
  38124. * object or a function. See the _Custom easing function_ demo below.
  38125. *
  38126. * Due to poor performance, animation is disabled in old IE browsers for several
  38127. * chart types.
  38128. */
  38129. export interface PlotDependencywheelAnimationOptions {
  38130. defer?: number;
  38131. }
  38132. /**
  38133. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  38134. * animation when a series is displayed for the `dataLabels`. The animation can
  38135. * also be set as a configuration object. Please note that this option only
  38136. * applies to the initial animation. For other animations, see chart.animation
  38137. * and the animation parameter under the API methods. The following properties
  38138. * are supported:
  38139. *
  38140. * - `defer`: The animation delay time in milliseconds.
  38141. */
  38142. export interface PlotDependencywheelDataLabelsAnimationOptions {
  38143. /**
  38144. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  38145. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  38146. * inherits defer time from the series.animation.defer.
  38147. */
  38148. defer?: number;
  38149. }
  38150. /**
  38151. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  38152. * animation when a series is displayed for the `dataLabels`. The animation can
  38153. * also be set as a configuration object. Please note that this option only
  38154. * applies to the initial animation. For other animations, see chart.animation
  38155. * and the animation parameter under the API methods. The following properties
  38156. * are supported:
  38157. *
  38158. * - `defer`: The animation delay time in milliseconds.
  38159. */
  38160. export interface PlotDependencywheelLevelsDataLabelsAnimationOptions {
  38161. /**
  38162. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  38163. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  38164. * inherits defer time from the series.animation.defer.
  38165. */
  38166. defer?: number;
  38167. }
  38168. /**
  38169. * (Highcharts) Set options on specific levels. Takes precedence over series
  38170. * options, but not node and link options.
  38171. */
  38172. export interface PlotDependencywheelLevelsOptions {
  38173. /**
  38174. * (Highcharts) Can set `borderColor` on all nodes which lay on the same
  38175. * level.
  38176. */
  38177. borderColor?: ColorString;
  38178. /**
  38179. * (Highcharts) Can set `borderWidth` on all nodes which lay on the same
  38180. * level.
  38181. */
  38182. borderWidth?: number;
  38183. /**
  38184. * (Highcharts) Can set `color` on all nodes which lay on the same level.
  38185. */
  38186. color?: (ColorString|GradientColorObject|PatternObject);
  38187. /**
  38188. * (Highcharts) Can set `colorByPoint` on all nodes which lay on the same
  38189. * level.
  38190. */
  38191. colorByPoint?: boolean;
  38192. /**
  38193. * (Highcharts, Highstock, Highmaps, Gantt) Can set `dataLabels` on all
  38194. * points which lay on the same level.
  38195. */
  38196. dataLabels?: (SeriesSankeyDataLabelsOptionsObject|Array<SeriesSankeyDataLabelsOptionsObject>);
  38197. /**
  38198. * (Highcharts) Decides which level takes effect from the options set in the
  38199. * levels object.
  38200. */
  38201. level?: number;
  38202. /**
  38203. * (Highcharts) Can set `linkOpacity` on all points which lay on the same
  38204. * level.
  38205. */
  38206. linkOpacity?: number;
  38207. /**
  38208. * (Highcharts) Can set `states` on all nodes and points which lay on the
  38209. * same level.
  38210. */
  38211. states?: SeriesStatesOptionsObject;
  38212. }
  38213. /**
  38214. * (Highcharts) A dependency wheel chart is a type of flow diagram, where all
  38215. * nodes are laid out in a circle, and the flow between the are drawn as link
  38216. * bands.
  38217. *
  38218. * In TypeScript the type option must always be set.
  38219. *
  38220. * Configuration options for the series are given in three levels:
  38221. *
  38222. * 1. Options for all series in a chart are defined in the plotOptions.series
  38223. * object.
  38224. *
  38225. * 2. Options for all `dependencywheel` series are defined in
  38226. * plotOptions.dependencywheel.
  38227. *
  38228. * 3. Options for one single series are given in the series instance array. (see
  38229. * online documentation for example)
  38230. */
  38231. export interface PlotDependencywheelOptions {
  38232. /**
  38233. * (Highcharts) Accessibility options for a series.
  38234. */
  38235. accessibility?: SeriesAccessibilityOptionsObject;
  38236. /**
  38237. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  38238. * rendered. If `true`, areas which don't correspond to a data point, are
  38239. * rendered as `null` points. If `false`, those areas are skipped.
  38240. */
  38241. allAreas?: boolean;
  38242. /**
  38243. * (Highcharts) Allow this series' points to be selected by clicking on the
  38244. * graphic (columns, point markers, pie slices, map areas etc).
  38245. *
  38246. * The selected points can be handled by point select and unselect events,
  38247. * or collectively by the getSelectedPoints function.
  38248. *
  38249. * And alternative way of selecting points is through dragging.
  38250. */
  38251. allowPointSelect?: boolean;
  38252. /**
  38253. * (Highcharts) Enable or disable the initial animation when a series is
  38254. * displayed. The animation can also be set as a configuration object.
  38255. * Please note that this option only applies to the initial animation of the
  38256. * series itself. For other animations, see chart.animation and the
  38257. * animation parameter under the API methods. The following properties are
  38258. * supported:
  38259. *
  38260. * - `defer`: The animation delay time in milliseconds.
  38261. *
  38262. * - `duration`: The duration of the animation in milliseconds.
  38263. *
  38264. * - `easing`: Can be a string reference to an easing function set on the
  38265. * `Math` object or a function. See the _Custom easing function_ demo below.
  38266. *
  38267. * Due to poor performance, animation is disabled in old IE browsers for
  38268. * several chart types.
  38269. */
  38270. animation?: (boolean|PlotDependencywheelAnimationOptions|Partial<AnimationOptionsObject>);
  38271. /**
  38272. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  38273. * column or bar.
  38274. *
  38275. * In styled mode, the border stroke can be set with the `.highcharts-point`
  38276. * rule.
  38277. */
  38278. borderColor?: (ColorString|GradientColorObject|PatternObject);
  38279. /**
  38280. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  38281. * column or bar. Defaults to `1` when there is room for a border, but to
  38282. * `0` when the columns are so dense that a border would cover the next
  38283. * column.
  38284. *
  38285. * In styled mode, the stroke width can be set with the `.highcharts-point`
  38286. * rule.
  38287. */
  38288. borderWidth?: number;
  38289. /**
  38290. * (Highcharts) The center of the wheel relative to the plot area. Can be
  38291. * percentages or pixel values. The default behaviour is to center the wheel
  38292. * inside the plot area.
  38293. */
  38294. center?: Array<(number|string|null)>;
  38295. /**
  38296. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  38297. * the category, ignoring null or missing points. When `false`, space will
  38298. * be reserved for null or missing points.
  38299. */
  38300. centerInCategory?: boolean;
  38301. /**
  38302. * (Highcharts) An additional class name to apply to the series' graphical
  38303. * elements. This option does not replace default class names of the
  38304. * graphical element.
  38305. */
  38306. className?: string;
  38307. /**
  38308. * (Highcharts) Disable this option to allow series rendering in the whole
  38309. * plotting area.
  38310. *
  38311. * **Note:** Clipping should be always enabled when chart.zoomType is set
  38312. */
  38313. clip?: boolean;
  38314. /**
  38315. * (Highcharts) The main color of the series. In line type series it applies
  38316. * to the line and the point markers unless otherwise specified. In bar type
  38317. * series it applies to the bars unless a color is specified per point. The
  38318. * default value is pulled from the `options.colors` array.
  38319. *
  38320. * In styled mode, the color can be defined by the colorIndex option. Also,
  38321. * the series color can be set with the `.highcharts-series`,
  38322. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  38323. * `.highcharts-series-{n}` class, or individual classes given by the
  38324. * `className` option.
  38325. */
  38326. color?: (ColorString|GradientColorObject|PatternObject);
  38327. /**
  38328. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  38329. * from the global colors or series-specific plotOptions.column.colors
  38330. * collections, this option determines whether the chart should receive one
  38331. * color per series or one color per point.
  38332. *
  38333. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  38334. * and instead this option gives the points individual color class names on
  38335. * the form `highcharts-color-{n}`.
  38336. */
  38337. colorByPoint?: boolean;
  38338. /**
  38339. * (Highcharts) Styled mode only. A specific color index to use for the
  38340. * series, so its graphic representations are given the class name
  38341. * `highcharts-color-{n}`.
  38342. */
  38343. colorIndex?: number;
  38344. /**
  38345. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  38346. * color set to apply instead of the global colors when colorByPoint is
  38347. * true.
  38348. */
  38349. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  38350. /**
  38351. * (Highstock) Compare the values of the series against the first non-null,
  38352. * non- zero value in the visible range. The y axis will show percentage or
  38353. * absolute change depending on whether `compare` is set to `"percent"` or
  38354. * `"value"`. When this is applied to multiple series, it allows comparing
  38355. * the development of the series against each other. Adds a `change` field
  38356. * to every point object.
  38357. */
  38358. compare?: string;
  38359. /**
  38360. * (Highstock) When compare is `percent`, this option dictates whether to
  38361. * use 0 or 100 as the base of comparison.
  38362. */
  38363. compareBase?: (0|100);
  38364. /**
  38365. * (Highstock) Defines if comparison should start from the first point
  38366. * within the visible range or should start from the first point **before**
  38367. * the range.
  38368. *
  38369. * In other words, this flag determines if first point within the visible
  38370. * range will have 0% (`compareStart=true`) or should have been already
  38371. * calculated according to the previous point (`compareStart=false`).
  38372. */
  38373. compareStart?: boolean;
  38374. /**
  38375. * (Gantt) Override Pathfinder connector options for a series. Requires
  38376. * Highcharts Gantt to be loaded.
  38377. */
  38378. connectors?: SeriesConnectorsOptionsObject;
  38379. /**
  38380. * (Highcharts) You can set the cursor to "pointer" if you have click events
  38381. * attached to the series, to signal to the user that the points and lines
  38382. * can be clicked.
  38383. *
  38384. * In styled mode, the series cursor can be set with the same classes as
  38385. * listed under series.color.
  38386. */
  38387. cursor?: (string|CursorValue);
  38388. /**
  38389. * (Highcharts) Higher numbers makes the links in a sankey diagram or
  38390. * dependency wheelrender more curved. A `curveFactor` of 0 makes the lines
  38391. * straight.
  38392. */
  38393. curveFactor?: number;
  38394. /**
  38395. * (Highcharts) A reserved subspace to store options and values for
  38396. * customized functionality. Here you can add additional data for your own
  38397. * event callbacks and formatter callbacks.
  38398. */
  38399. custom?: Dictionary<any>;
  38400. /**
  38401. * (Highcharts) Name of the dash style to use for the graph, or for some
  38402. * series types the outline of each shape.
  38403. *
  38404. * In styled mode, the stroke dash-array can be set with the same classes as
  38405. * listed under series.color.
  38406. */
  38407. dashStyle?: DashStyleValue;
  38408. /**
  38409. * (Highstock) Data grouping is the concept of sampling the data values into
  38410. * larger blocks in order to ease readability and increase performance of
  38411. * the JavaScript charts. Highstock by default applies data grouping when
  38412. * the points become closer than a certain pixel value, determined by the
  38413. * `groupPixelWidth` option.
  38414. *
  38415. * If data grouping is applied, the grouping information of grouped points
  38416. * can be read from the Point.dataGroup. If point options other than the
  38417. * data itself are set, for example `name` or `color` or custom properties,
  38418. * the grouping logic doesn't know how to group it. In this case the options
  38419. * of the first point instance are copied over to the group point. This can
  38420. * be altered through a custom `approximation` callback function.
  38421. */
  38422. dataGrouping?: DataGroupingOptionsObject;
  38423. /**
  38424. * (Highcharts, Highstock, Highmaps, Gantt) Options for the data labels
  38425. * appearing on top of the nodes and links. For sankey charts, data labels
  38426. * are visible for the nodes by default, but hidden for links. This is
  38427. * controlled by modifying the `nodeFormat`, and the `format` that applies
  38428. * to links and is an empty string by default.
  38429. */
  38430. dataLabels?: (SeriesSankeyDataLabelsOptionsObject|Array<SeriesSankeyDataLabelsOptionsObject>);
  38431. /**
  38432. * (Highcharts) A description of the series to add to the screen reader
  38433. * information about the series.
  38434. */
  38435. description?: string;
  38436. /**
  38437. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  38438. * This includes point tooltips and click events on graphs and points. For
  38439. * large datasets it improves performance.
  38440. */
  38441. enableMouseTracking?: boolean;
  38442. /**
  38443. * (Highcharts) General event handlers for the series items. These event
  38444. * hooks can also be attached to the series at run time using the
  38445. * `Highcharts.addEvent` function.
  38446. */
  38447. events?: SeriesEventsOptionsObject;
  38448. /**
  38449. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  38450. * chart width or only the zoomed area when zooming in on parts of the X
  38451. * axis. By default, the Y axis adjusts to the min and max of the visible
  38452. * data. Cartesian series only.
  38453. */
  38454. getExtremesFromAll?: boolean;
  38455. /**
  38456. * (Highcharts) When set to `false` will prevent the series data from being
  38457. * included in any form of data export.
  38458. *
  38459. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  38460. * `includeInCSVExport`.
  38461. */
  38462. includeInDataExport?: boolean;
  38463. /**
  38464. * (Highmaps) What property to join the `mapData` to the value data. For
  38465. * example, if joinBy is "code", the mapData items with a specific code is
  38466. * merged into the data with the same code. For maps loaded from GeoJSON,
  38467. * the keys may be held in each point's `properties` object.
  38468. *
  38469. * The joinBy option can also be an array of two values, where the first
  38470. * points to a key in the `mapData`, and the second points to another key in
  38471. * the `data`.
  38472. *
  38473. * When joinBy is `null`, the map items are joined by their position in the
  38474. * array, which performs much better in maps with many data points. This is
  38475. * the recommended option if you are printing more than a thousand data
  38476. * points and have a backend that can preprocess the data into a parallel
  38477. * array of the mapData.
  38478. */
  38479. joinBy?: (string|Array<string>);
  38480. /**
  38481. * (Highcharts) An array specifying which option maps to which key in the
  38482. * data point array. This makes it convenient to work with unstructured data
  38483. * arrays from different sources.
  38484. */
  38485. keys?: Array<string>;
  38486. /**
  38487. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  38488. * series as possible in a natural way, seeking to avoid other series. The
  38489. * goal of this feature is to make the chart more easily readable, like if a
  38490. * human designer placed the labels in the optimal position.
  38491. *
  38492. * The series labels currently work with series types having a `graph` or an
  38493. * `area`.
  38494. */
  38495. label?: SeriesLabelOptionsObject;
  38496. /**
  38497. * (Highstock) The line marks the last price from all points.
  38498. */
  38499. lastPrice?: SeriesLastPriceOptionsObject;
  38500. /**
  38501. * (Highstock) The line marks the last price from visible range of points.
  38502. */
  38503. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  38504. /**
  38505. * (Highcharts) Set options on specific levels. Takes precedence over series
  38506. * options, but not node and link options.
  38507. */
  38508. levels?: Array<PlotDependencywheelLevelsOptions>;
  38509. /**
  38510. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  38511. * Additionally, the value can be ":previous" to link to the previous
  38512. * series. When two series are linked, only the first one appears in the
  38513. * legend. Toggling the visibility of this also toggles the linked series.
  38514. *
  38515. * If master series uses data sorting and linked series does not have its
  38516. * own sorting definition, the linked series will be sorted in the same
  38517. * order as the master one.
  38518. */
  38519. linkedTo?: string;
  38520. /**
  38521. * (Highcharts) Opacity for the links between nodes in the sankey diagram.
  38522. */
  38523. linkOpacity?: number;
  38524. /**
  38525. * (Highcharts) The minimal width for a line of a sankey. By default, 0
  38526. * values are not shown.
  38527. */
  38528. minLinkWidth?: number;
  38529. /**
  38530. * (Highstock) Options for the corresponding navigator series if
  38531. * `showInNavigator` is `true` for this series. Available options are the
  38532. * same as any series, documented at plotOptions and series.
  38533. *
  38534. * These options are merged with options in navigator.series, and will take
  38535. * precedence if the same option is defined both places.
  38536. */
  38537. navigatorOptions?: PlotSeriesOptions;
  38538. /**
  38539. * (Highcharts) The padding between nodes in a sankey diagram or dependency
  38540. * wheel, in pixels.
  38541. *
  38542. * If the number of nodes is so great that it is possible to lay them out
  38543. * within the plot area with the given `nodePadding`, they will be rendered
  38544. * with a smaller padding as a strategy to avoid overflow.
  38545. */
  38546. nodePadding?: number;
  38547. /**
  38548. * (Highcharts) The pixel width of each node in a sankey diagram or
  38549. * dependency wheel, or the height in case the chart is inverted.
  38550. */
  38551. nodeWidth?: number;
  38552. /**
  38553. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  38554. * dataLabels.
  38555. */
  38556. opacity?: number;
  38557. /**
  38558. * (Highcharts) Properties for each single point.
  38559. */
  38560. point?: PlotSeriesPointOptions;
  38561. /**
  38562. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  38563. * individual series. Overrides the chart wide configuration.
  38564. */
  38565. pointDescriptionFormatter?: Function;
  38566. /**
  38567. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  38568. * true, the checkbox next to the series name in the legend will be checked
  38569. * for a selected series.
  38570. */
  38571. selected?: boolean;
  38572. /**
  38573. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  38574. * allow selecting the series. The state of the checkbox is determined by
  38575. * the `selected` option.
  38576. */
  38577. showCheckbox?: boolean;
  38578. /**
  38579. * (Highcharts) Whether to display this particular series or series type in
  38580. * the legend. Standalone series are shown in legend by default, and linked
  38581. * series are not. Since v7.2.0 it is possible to show series that use
  38582. * colorAxis by setting this option to `true`.
  38583. */
  38584. showInLegend?: boolean;
  38585. /**
  38586. * (Highstock) Whether or not to show the series in the navigator. Takes
  38587. * precedence over navigator.baseSeries if defined.
  38588. */
  38589. showInNavigator?: boolean;
  38590. /**
  38591. * (Highcharts) If set to `true`, the accessibility module will skip past
  38592. * the points in this series for keyboard navigation.
  38593. */
  38594. skipKeyboardNavigation?: boolean;
  38595. /**
  38596. * (Highcharts) The start angle of the dependency wheel, in degrees where 0
  38597. * is up.
  38598. */
  38599. startAngle?: number;
  38600. states?: SeriesStatesOptionsObject;
  38601. /**
  38602. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  38603. * event on a series isn't triggered until the mouse moves over another
  38604. * series, or out of the plot area. When false, the `mouseOut` event on a
  38605. * series is triggered when the mouse leaves the area around the series'
  38606. * graph or markers. This also implies the tooltip when not shared. When
  38607. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  38608. * be hidden when moving the mouse between series. Defaults to true for line
  38609. * and area type series, but to false for columns, pies etc.
  38610. *
  38611. * **Note:** The boost module will force this option because of technical
  38612. * limitations.
  38613. */
  38614. stickyTracking?: boolean;
  38615. /**
  38616. * (Highcharts) A configuration object for the tooltip rendering of each
  38617. * single series. Properties are inherited from tooltip, but only the
  38618. * following properties can be defined on a series level.
  38619. */
  38620. tooltip?: SeriesTooltipOptionsObject;
  38621. /**
  38622. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  38623. * is longer than this, only one dimensional arrays of numbers, or two
  38624. * dimensional arrays with x and y values are allowed. Also, only the first
  38625. * point is tested, and the rest are assumed to be the same format. This
  38626. * saves expensive data checking and indexing in long series. Set it to `0`
  38627. * disable.
  38628. *
  38629. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  38630. * two dimensional arrays are allowed.
  38631. */
  38632. turboThreshold?: number;
  38633. /**
  38634. * (Highcharts) Set the initial visibility of the series.
  38635. */
  38636. visible?: boolean;
  38637. /**
  38638. * (Highmaps) Define the z index of the series.
  38639. */
  38640. zIndex?: number;
  38641. }
  38642. /**
  38643. * (Highstock) Enable or disable the initial animation when a series is
  38644. * displayed. The animation can also be set as a configuration object. Please
  38645. * note that this option only applies to the initial animation of the series
  38646. * itself. For other animations, see chart.animation and the animation parameter
  38647. * under the API methods. The following properties are supported:
  38648. *
  38649. * - `defer`: The animation delay time in milliseconds.
  38650. *
  38651. * - `duration`: The duration of the animation in milliseconds.
  38652. *
  38653. * - `easing`: Can be a string reference to an easing function set on the `Math`
  38654. * object or a function. See the _Custom easing function_ demo below.
  38655. *
  38656. * Due to poor performance, animation is disabled in old IE browsers for several
  38657. * chart types.
  38658. */
  38659. export interface PlotDpoAnimationOptions {
  38660. defer?: number;
  38661. }
  38662. /**
  38663. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  38664. * animation when a series is displayed for the `dataLabels`. The animation can
  38665. * also be set as a configuration object. Please note that this option only
  38666. * applies to the initial animation. For other animations, see chart.animation
  38667. * and the animation parameter under the API methods. The following properties
  38668. * are supported:
  38669. *
  38670. * - `defer`: The animation delay time in milliseconds.
  38671. */
  38672. export interface PlotDpoDataLabelsAnimationOptions {
  38673. /**
  38674. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  38675. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  38676. * inherits defer time from the series.animation.defer.
  38677. */
  38678. defer?: number;
  38679. }
  38680. /**
  38681. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  38682. * appearing next to each data point.
  38683. *
  38684. * Since v6.2.0, multiple data labels can be applied to each single point by
  38685. * defining them as an array of configs.
  38686. *
  38687. * In styled mode, the data labels can be styled with the
  38688. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  38689. * example).
  38690. */
  38691. export interface PlotDpoDataLabelsOptions {
  38692. /**
  38693. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  38694. * compared to the point. If `right`, the right side of the label should be
  38695. * touching the point. For points with an extent, like columns, the
  38696. * alignments also dictates how to align it inside the box, as given with
  38697. * the inside option. Can be one of `left`, `center` or `right`.
  38698. */
  38699. align?: (AlignValue|null);
  38700. /**
  38701. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  38702. * overlap. To make the labels less sensitive for overlapping, the
  38703. * dataLabels.padding can be set to 0.
  38704. */
  38705. allowOverlap?: boolean;
  38706. /**
  38707. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  38708. * animation when a series is displayed for the `dataLabels`. The animation
  38709. * can also be set as a configuration object. Please note that this option
  38710. * only applies to the initial animation. For other animations, see
  38711. * chart.animation and the animation parameter under the API methods. The
  38712. * following properties are supported:
  38713. *
  38714. * - `defer`: The animation delay time in milliseconds.
  38715. */
  38716. animation?: (boolean|PlotDpoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  38717. /**
  38718. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  38719. * for the data label.
  38720. */
  38721. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  38722. /**
  38723. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  38724. * label. Defaults to `undefined`.
  38725. */
  38726. borderColor?: (ColorString|GradientColorObject|PatternObject);
  38727. /**
  38728. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  38729. * the data label.
  38730. */
  38731. borderRadius?: number;
  38732. /**
  38733. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  38734. * the data label.
  38735. */
  38736. borderWidth?: number;
  38737. /**
  38738. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  38739. * Particularly in styled mode, this can be used to give each series' or
  38740. * point's data label unique styling. In addition to this option, a default
  38741. * color class name is added so that we can give the labels a contrast text
  38742. * shadow.
  38743. */
  38744. className?: string;
  38745. /**
  38746. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  38747. * labels. Defaults to `undefined`. For certain series types, like column or
  38748. * map, the data labels can be drawn inside the points. In this case the
  38749. * data label will be drawn with maximum contrast by default. Additionally,
  38750. * it will be given a `text-outline` style with the opposite color, to
  38751. * further increase the contrast. This can be overridden by setting the
  38752. * `text-outline` style to `none` in the `dataLabels.style` option.
  38753. */
  38754. color?: (ColorString|GradientColorObject|PatternObject);
  38755. /**
  38756. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  38757. * are outside the plot area. By default, the data label is moved inside the
  38758. * plot area according to the overflow option.
  38759. */
  38760. crop?: boolean;
  38761. /**
  38762. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  38763. * labels until the initial series animation has finished. Setting to
  38764. * `false` renders the data label immediately. If set to `true` inherits the
  38765. * defer time set in plotOptions.series.animation.
  38766. */
  38767. defer?: boolean;
  38768. /**
  38769. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  38770. * labels.
  38771. */
  38772. enabled?: boolean;
  38773. /**
  38774. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  38775. * of which data labels to display. The declarative filter is designed for
  38776. * use when callback functions are not available, like when the chart
  38777. * options require a pure JSON structure or for use with graphical editors.
  38778. * For programmatic control, use the `formatter` instead, and return
  38779. * `undefined` to disable a single data label.
  38780. */
  38781. filter?: DataLabelsFilterOptionsObject;
  38782. /**
  38783. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  38784. * label. Available variables are the same as for `formatter`.
  38785. */
  38786. format?: string;
  38787. /**
  38788. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  38789. * format the data label. Note that if a `format` is defined, the format
  38790. * takes precedence and the formatter is ignored.
  38791. */
  38792. formatter?: DataLabelsFormatterCallbackFunction;
  38793. /**
  38794. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  38795. * columns or map areas, whether to align the data label inside the box or
  38796. * to the actual value point. Defaults to `false` in most cases, `true` in
  38797. * stacked columns.
  38798. */
  38799. inside?: boolean;
  38800. /**
  38801. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  38802. * of null. Works analogously to format. `nullFormat` can be applied only to
  38803. * series which support displaying null points.
  38804. */
  38805. nullFormat?: (boolean|string);
  38806. /**
  38807. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  38808. * that defines formatting for points with the value of null. Works
  38809. * analogously to formatter. `nullPointFormatter` can be applied only to
  38810. * series which support displaying null points.
  38811. */
  38812. nullFormatter?: DataLabelsFormatterCallbackFunction;
  38813. /**
  38814. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  38815. * flow outside the plot area. The default is `"justify"`, which aligns them
  38816. * inside the plot area. For columns and bars, this means it will be moved
  38817. * inside the bar. To display data labels outside the plot area, set `crop`
  38818. * to `false` and `overflow` to `"allow"`.
  38819. */
  38820. overflow?: DataLabelsOverflowValue;
  38821. /**
  38822. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  38823. * the `backgroundColor` is set, this is the padding within the box.
  38824. */
  38825. padding?: number;
  38826. /**
  38827. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  38828. * points. If `center` alignment is not possible, it defaults to `right`.
  38829. */
  38830. position?: AlignValue;
  38831. /**
  38832. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  38833. * that due to a more complex structure, backgrounds, borders and padding
  38834. * will be lost on a rotated data label.
  38835. */
  38836. rotation?: number;
  38837. /**
  38838. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  38839. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  38840. * an object configuration containing `color`, `offsetX`, `offsetY`,
  38841. * `opacity` and `width`.
  38842. */
  38843. shadow?: (boolean|ShadowOptionsObject);
  38844. /**
  38845. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  38846. * the border around the label. Symbols are predefined functions on the
  38847. * Renderer object.
  38848. */
  38849. shape?: string;
  38850. /**
  38851. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  38852. * default `color` setting is `"contrast"`, which is a pseudo color that
  38853. * Highcharts picks up and applies the maximum contrast to the underlying
  38854. * point item, for example the bar in a bar chart.
  38855. *
  38856. * The `textOutline` is a pseudo property that applies an outline of the
  38857. * given width with the given color, which by default is the maximum
  38858. * contrast to the text. So a bright text color will result in a black text
  38859. * outline for maximum readability on a mixed background. In some cases,
  38860. * especially with grayscale text, the text outline doesn't work well, in
  38861. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  38862. * is true, the `textOutline` will not be picked up. In this, case, the same
  38863. * effect can be acheived through the `text-shadow` CSS property.
  38864. *
  38865. * For some series types, where each point has an extent, like for example
  38866. * tree maps, the data label may overflow the point. There are two
  38867. * strategies for handling overflow. By default, the text will wrap to
  38868. * multiple lines. The other strategy is to set `style.textOverflow` to
  38869. * `ellipsis`, which will keep the text on one line plus it will break
  38870. * inside long words.
  38871. */
  38872. style?: CSSObject;
  38873. /**
  38874. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  38875. * should follow marker's shape. Border and background are disabled for a
  38876. * label that follows a path.
  38877. *
  38878. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  38879. * to true will disable this option.
  38880. */
  38881. textPath?: DataLabelsTextPathOptionsObject;
  38882. /**
  38883. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  38884. * the labels.
  38885. */
  38886. useHTML?: boolean;
  38887. /**
  38888. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  38889. * label. Can be one of `top`, `middle` or `bottom`. The default value
  38890. * depends on the data, for instance in a column chart, the label is above
  38891. * positive values and below negative values.
  38892. */
  38893. verticalAlign?: (VerticalAlignValue|null);
  38894. /**
  38895. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  38896. * label relative to the point in pixels.
  38897. */
  38898. x?: number;
  38899. /**
  38900. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  38901. * label relative to the point in pixels.
  38902. */
  38903. y?: number;
  38904. /**
  38905. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  38906. * The default Z index puts it above the series. Use a Z index of 2 to
  38907. * display it behind the series.
  38908. */
  38909. z?: number;
  38910. }
  38911. /**
  38912. * (Highcharts, Highstock) Options for the series data sorting.
  38913. */
  38914. export interface PlotDpoDataSortingOptions {
  38915. /**
  38916. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  38917. * Use xAxis.reversed to change the sorting order.
  38918. */
  38919. enabled?: boolean;
  38920. /**
  38921. * (Highcharts, Highstock) Whether to allow matching points by name in an
  38922. * update. If this option is disabled, points will be matched by order.
  38923. */
  38924. matchByName?: boolean;
  38925. /**
  38926. * (Highcharts, Highstock) Determines what data value should be used to sort
  38927. * by.
  38928. */
  38929. sortKey?: string;
  38930. }
  38931. /**
  38932. * (Highstock) Detrended Price Oscillator. This series requires the `linkedTo`
  38933. * option to be set and should be loaded after the
  38934. * `stock/indicators/indicators.js`.
  38935. *
  38936. * In TypeScript the type option must always be set.
  38937. *
  38938. * Configuration options for the series are given in three levels:
  38939. *
  38940. * 1. Options for all series in a chart are defined in the plotOptions.series
  38941. * object.
  38942. *
  38943. * 2. Options for all `dpo` series are defined in plotOptions.dpo.
  38944. *
  38945. * 3. Options for one single series are given in the series instance array. (see
  38946. * online documentation for example)
  38947. */
  38948. export interface PlotDpoOptions {
  38949. /**
  38950. * (Highstock) Accessibility options for a series.
  38951. */
  38952. accessibility?: SeriesAccessibilityOptionsObject;
  38953. /**
  38954. * (Highstock) Allow this series' points to be selected by clicking on the
  38955. * graphic (columns, point markers, pie slices, map areas etc).
  38956. *
  38957. * The selected points can be handled by point select and unselect events,
  38958. * or collectively by the getSelectedPoints function.
  38959. *
  38960. * And alternative way of selecting points is through dragging.
  38961. */
  38962. allowPointSelect?: boolean;
  38963. /**
  38964. * (Highstock) Enable or disable the initial animation when a series is
  38965. * displayed. The animation can also be set as a configuration object.
  38966. * Please note that this option only applies to the initial animation of the
  38967. * series itself. For other animations, see chart.animation and the
  38968. * animation parameter under the API methods. The following properties are
  38969. * supported:
  38970. *
  38971. * - `defer`: The animation delay time in milliseconds.
  38972. *
  38973. * - `duration`: The duration of the animation in milliseconds.
  38974. *
  38975. * - `easing`: Can be a string reference to an easing function set on the
  38976. * `Math` object or a function. See the _Custom easing function_ demo below.
  38977. *
  38978. * Due to poor performance, animation is disabled in old IE browsers for
  38979. * several chart types.
  38980. */
  38981. animation?: (boolean|PlotDpoAnimationOptions|Partial<AnimationOptionsObject>);
  38982. /**
  38983. * (Highstock) For some series, there is a limit that shuts down initial
  38984. * animation by default when the total number of points in the chart is too
  38985. * high. For example, for a column chart and its derivatives, animation does
  38986. * not run if there is more than 250 points totally. To disable this cap,
  38987. * set `animationLimit` to `Infinity`.
  38988. */
  38989. animationLimit?: number;
  38990. /**
  38991. * (Highstock) Sets the color blending in the boost module.
  38992. */
  38993. boostBlending?: OptionsBoostBlendingValue;
  38994. /**
  38995. * (Highstock) Set the point threshold for when a series should enter boost
  38996. * mode.
  38997. *
  38998. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  38999. * there are 2000 or more points in the series.
  39000. *
  39001. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  39002. * it to 1 will force boosting.
  39003. *
  39004. * Note that the cropThreshold also affects this setting. When zooming in on
  39005. * a series that has fewer points than the `cropThreshold`, all points are
  39006. * rendered although outside the visible plot area, and the `boostThreshold`
  39007. * won't take effect.
  39008. */
  39009. boostThreshold?: number;
  39010. /**
  39011. * (Highmaps) The border color of the map areas.
  39012. *
  39013. * In styled mode, the border stroke is given in the `.highcharts-point`
  39014. * class.
  39015. */
  39016. borderColor?: (ColorString|GradientColorObject|PatternObject);
  39017. /**
  39018. * (Highmaps) The border width of each map area.
  39019. *
  39020. * In styled mode, the border stroke width is given in the
  39021. * `.highcharts-point` class.
  39022. */
  39023. borderWidth?: number;
  39024. /**
  39025. * (Highstock) An additional class name to apply to the series' graphical
  39026. * elements. This option does not replace default class names of the
  39027. * graphical element.
  39028. */
  39029. className?: string;
  39030. /**
  39031. * (Highstock) Disable this option to allow series rendering in the whole
  39032. * plotting area.
  39033. *
  39034. * **Note:** Clipping should be always enabled when chart.zoomType is set
  39035. */
  39036. clip?: boolean;
  39037. /**
  39038. * (Highstock) The main color of the series. In line type series it applies
  39039. * to the line and the point markers unless otherwise specified. In bar type
  39040. * series it applies to the bars unless a color is specified per point. The
  39041. * default value is pulled from the `options.colors` array.
  39042. *
  39043. * In styled mode, the color can be defined by the colorIndex option. Also,
  39044. * the series color can be set with the `.highcharts-series`,
  39045. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  39046. * `.highcharts-series-{n}` class, or individual classes given by the
  39047. * `className` option.
  39048. */
  39049. color?: (ColorString|GradientColorObject|PatternObject);
  39050. /**
  39051. * (Highstock) Styled mode only. A specific color index to use for the
  39052. * series, so its graphic representations are given the class name
  39053. * `highcharts-color-{n}`.
  39054. */
  39055. colorIndex?: number;
  39056. /**
  39057. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  39058. * used to calculate point color if `colorAxis` is used. Requires to set
  39059. * `min` and `max` if some custom point property is used or if approximation
  39060. * for data grouping is set to `'sum'`.
  39061. */
  39062. colorKey?: string;
  39063. /**
  39064. * (Highstock) Defines if comparison should start from the first point
  39065. * within the visible range or should start from the first point **before**
  39066. * the range.
  39067. *
  39068. * In other words, this flag determines if first point within the visible
  39069. * range will have 0% (`compareStart=true`) or should have been already
  39070. * calculated according to the previous point (`compareStart=false`).
  39071. */
  39072. compareStart?: boolean;
  39073. /**
  39074. * (Highstock) Whether to compare indicator to the main series values or
  39075. * indicator values.
  39076. */
  39077. compareToMain?: boolean;
  39078. /**
  39079. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  39080. * series plot across the extremes.
  39081. */
  39082. connectEnds?: boolean;
  39083. /**
  39084. * (Highcharts, Highstock) Whether to connect a graph line across null
  39085. * points, or render a gap between the two points on either side of the
  39086. * null.
  39087. */
  39088. connectNulls?: boolean;
  39089. /**
  39090. * (Gantt) Override Pathfinder connector options for a series. Requires
  39091. * Highcharts Gantt to be loaded.
  39092. */
  39093. connectors?: SeriesConnectorsOptionsObject;
  39094. /**
  39095. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  39096. * rounded to its nearest pixel in order to render sharp on screen. In some
  39097. * cases, when there are a lot of densely packed columns, this leads to
  39098. * visible difference in column widths or distance between columns. In these
  39099. * cases, setting `crisp` to `false` may look better, even though each
  39100. * column is rendered blurry.
  39101. */
  39102. crisp?: boolean;
  39103. /**
  39104. * (Highcharts, Highstock) When the series contains less points than the
  39105. * crop threshold, all points are drawn, even if the points fall outside the
  39106. * visible plot area at the current zoom. The advantage of drawing all
  39107. * points (including markers and columns), is that animation is performed on
  39108. * updates. On the other hand, when the series contains more points than the
  39109. * crop threshold, the series data is cropped to only contain points that
  39110. * fall within the plot area. The advantage of cropping away invisible
  39111. * points is to increase performance on large series.
  39112. */
  39113. cropThreshold?: number;
  39114. /**
  39115. * (Highstock) You can set the cursor to "pointer" if you have click events
  39116. * attached to the series, to signal to the user that the points and lines
  39117. * can be clicked.
  39118. *
  39119. * In styled mode, the series cursor can be set with the same classes as
  39120. * listed under series.color.
  39121. */
  39122. cursor?: (string|CursorValue);
  39123. /**
  39124. * (Highstock) A reserved subspace to store options and values for
  39125. * customized functionality. Here you can add additional data for your own
  39126. * event callbacks and formatter callbacks.
  39127. */
  39128. custom?: Dictionary<any>;
  39129. /**
  39130. * (Highstock) Name of the dash style to use for the graph, or for some
  39131. * series types the outline of each shape.
  39132. *
  39133. * In styled mode, the stroke dash-array can be set with the same classes as
  39134. * listed under series.color.
  39135. */
  39136. dashStyle?: DashStyleValue;
  39137. /**
  39138. * (Highstock) Data grouping is the concept of sampling the data values into
  39139. * larger blocks in order to ease readability and increase performance of
  39140. * the JavaScript charts. Highstock by default applies data grouping when
  39141. * the points become closer than a certain pixel value, determined by the
  39142. * `groupPixelWidth` option.
  39143. *
  39144. * If data grouping is applied, the grouping information of grouped points
  39145. * can be read from the Point.dataGroup. If point options other than the
  39146. * data itself are set, for example `name` or `color` or custom properties,
  39147. * the grouping logic doesn't know how to group it. In this case the options
  39148. * of the first point instance are copied over to the group point. This can
  39149. * be altered through a custom `approximation` callback function.
  39150. */
  39151. dataGrouping?: DataGroupingOptionsObject;
  39152. /**
  39153. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  39154. * labels, appearing next to each data point.
  39155. *
  39156. * Since v6.2.0, multiple data labels can be applied to each single point by
  39157. * defining them as an array of configs.
  39158. *
  39159. * In styled mode, the data labels can be styled with the
  39160. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  39161. * (see example).
  39162. */
  39163. dataLabels?: (PlotDpoDataLabelsOptions|Array<PlotDpoDataLabelsOptions>);
  39164. /**
  39165. * (Highcharts, Highstock) Options for the series data sorting.
  39166. */
  39167. dataSorting?: (DataSortingOptionsObject|PlotDpoDataSortingOptions);
  39168. /**
  39169. * (Highstock) A description of the series to add to the screen reader
  39170. * information about the series.
  39171. */
  39172. description?: string;
  39173. /**
  39174. * (Highstock) Enable or disable the mouse tracking for a specific series.
  39175. * This includes point tooltips and click events on graphs and points. For
  39176. * large datasets it improves performance.
  39177. */
  39178. enableMouseTracking?: boolean;
  39179. /**
  39180. * (Highstock) General event handlers for the series items. These event
  39181. * hooks can also be attached to the series at run time using the
  39182. * `Highcharts.addEvent` function.
  39183. */
  39184. events?: SeriesEventsOptionsObject;
  39185. /**
  39186. * (Highstock) Determines whether the series should look for the nearest
  39187. * point in both dimensions or just the x-dimension when hovering the
  39188. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  39189. * series. If the data has duplicate x-values, it is recommended to set this
  39190. * to `'xy'` to allow hovering over all points.
  39191. *
  39192. * Applies only to series types using nearest neighbor search (not direct
  39193. * hover) for tooltip.
  39194. */
  39195. findNearestPointBy?: OptionsFindNearestPointByValue;
  39196. /**
  39197. * (Highstock) Defines when to display a gap in the graph, together with the
  39198. * gapUnit option.
  39199. *
  39200. * In case when `dataGrouping` is enabled, points can be grouped into a
  39201. * larger time span. This can make the grouped points to have a greater
  39202. * distance than the absolute value of `gapSize` property, which will result
  39203. * in disappearing graph completely. To prevent this situation the mentioned
  39204. * distance between grouped points is used instead of previously defined
  39205. * `gapSize`.
  39206. *
  39207. * In practice, this option is most often used to visualize gaps in time
  39208. * series. In a stock chart, intraday data is available for daytime hours,
  39209. * while gaps will appear in nights and weekends.
  39210. */
  39211. gapSize?: number;
  39212. /**
  39213. * (Highstock) Together with gapSize, this option defines where to draw gaps
  39214. * in the graph.
  39215. *
  39216. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  39217. * if the distance between two points is greater than 5 times that of the
  39218. * two closest points, the graph will be broken.
  39219. *
  39220. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  39221. * values, which on a datetime axis is milliseconds. This also applies to
  39222. * the navigator series that inherits gap options from the base series.
  39223. */
  39224. gapUnit?: OptionsGapUnitValue;
  39225. /**
  39226. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  39227. * chart width or only the zoomed area when zooming in on parts of the X
  39228. * axis. By default, the Y axis adjusts to the min and max of the visible
  39229. * data. Cartesian series only.
  39230. */
  39231. getExtremesFromAll?: boolean;
  39232. /**
  39233. * (Highstock) When set to `false` will prevent the series data from being
  39234. * included in any form of data export.
  39235. *
  39236. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  39237. * `includeInCSVExport`.
  39238. */
  39239. includeInDataExport?: boolean;
  39240. /**
  39241. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  39242. * series as possible in a natural way, seeking to avoid other series. The
  39243. * goal of this feature is to make the chart more easily readable, like if a
  39244. * human designer placed the labels in the optimal position.
  39245. *
  39246. * The series labels currently work with series types having a `graph` or an
  39247. * `area`.
  39248. */
  39249. label?: SeriesLabelOptionsObject;
  39250. /**
  39251. * (Highstock) The line marks the last price from all points.
  39252. */
  39253. lastPrice?: SeriesLastPriceOptionsObject;
  39254. /**
  39255. * (Highstock) The line marks the last price from visible range of points.
  39256. */
  39257. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  39258. /**
  39259. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  39260. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  39261. * the ends and bends.
  39262. */
  39263. linecap?: SeriesLinecapValue;
  39264. /**
  39265. * (Highcharts, Highstock) Pixel width of the graph line.
  39266. */
  39267. lineWidth?: number;
  39268. /**
  39269. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  39270. * based on. Required for this indicator.
  39271. */
  39272. linkedTo?: string;
  39273. /**
  39274. * (Highstock) Options for the point markers of line-like series. Properties
  39275. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  39276. * appearance of the markers. Other series types, like column series, don't
  39277. * have markers, but have visual options on the series level instead.
  39278. *
  39279. * In styled mode, the markers can be styled with the `.highcharts-point`,
  39280. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  39281. */
  39282. marker?: PointMarkerOptionsObject;
  39283. /**
  39284. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  39285. * If not set, it will be based on a technical indicator type and default
  39286. * params.
  39287. */
  39288. name?: string;
  39289. /**
  39290. * (Highstock) The color for the parts of the graph or points that are below
  39291. * the threshold. Note that `zones` takes precedence over the negative
  39292. * color. Using `negativeColor` is equivalent to applying a zone with value
  39293. * of 0.
  39294. */
  39295. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  39296. /**
  39297. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  39298. * dataLabels.
  39299. */
  39300. opacity?: number;
  39301. /**
  39302. * (Highstock) Parameters used in calculation of Detrended Price Oscillator
  39303. * series points.
  39304. */
  39305. params?: PlotDpoParamsOptions;
  39306. /**
  39307. * (Highstock) Properties for each single point.
  39308. */
  39309. point?: PlotSeriesPointOptions;
  39310. /**
  39311. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  39312. * individual series. Overrides the chart wide configuration.
  39313. */
  39314. pointDescriptionFormatter?: Function;
  39315. /**
  39316. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  39317. * true, the checkbox next to the series name in the legend will be checked
  39318. * for a selected series.
  39319. */
  39320. selected?: boolean;
  39321. /**
  39322. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  39323. * the shadow can be an object configuration containing `color`, `offsetX`,
  39324. * `offsetY`, `opacity` and `width`.
  39325. */
  39326. shadow?: (boolean|ShadowOptionsObject);
  39327. /**
  39328. * (Highstock) If true, a checkbox is displayed next to the legend item to
  39329. * allow selecting the series. The state of the checkbox is determined by
  39330. * the `selected` option.
  39331. */
  39332. showCheckbox?: boolean;
  39333. /**
  39334. * (Highstock) Whether to display this particular series or series type in
  39335. * the legend. Standalone series are shown in legend by default, and linked
  39336. * series are not. Since v7.2.0 it is possible to show series that use
  39337. * colorAxis by setting this option to `true`.
  39338. */
  39339. showInLegend?: boolean;
  39340. /**
  39341. * (Highstock) If set to `true`, the accessibility module will skip past the
  39342. * points in this series for keyboard navigation.
  39343. */
  39344. skipKeyboardNavigation?: boolean;
  39345. /**
  39346. * (Highcharts, Highstock) When this is true, the series will not cause the
  39347. * Y axis to cross the zero plane (or threshold option) unless the data
  39348. * actually crosses the plane.
  39349. *
  39350. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  39351. * make the Y axis show negative values according to the `minPadding`
  39352. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  39353. */
  39354. softThreshold?: boolean;
  39355. states?: SeriesStatesOptionsObject;
  39356. /**
  39357. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  39358. * values are `left`, `center` and `right`.
  39359. */
  39360. step?: OptionsStepValue;
  39361. /**
  39362. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  39363. * event on a series isn't triggered until the mouse moves over another
  39364. * series, or out of the plot area. When false, the `mouseOut` event on a
  39365. * series is triggered when the mouse leaves the area around the series'
  39366. * graph or markers. This also implies the tooltip when not shared. When
  39367. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  39368. * be hidden when moving the mouse between series. Defaults to true for line
  39369. * and area type series, but to false for columns, pies etc.
  39370. *
  39371. * **Note:** The boost module will force this option because of technical
  39372. * limitations.
  39373. */
  39374. stickyTracking?: boolean;
  39375. /**
  39376. * (Highcharts, Highstock) The threshold, also called zero level or base
  39377. * level. For line type series this is only used in conjunction with
  39378. * negativeColor.
  39379. */
  39380. threshold?: number;
  39381. /**
  39382. * (Highstock) A configuration object for the tooltip rendering of each
  39383. * single series. Properties are inherited from tooltip, but only the
  39384. * following properties can be defined on a series level.
  39385. */
  39386. tooltip?: SeriesTooltipOptionsObject;
  39387. /**
  39388. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  39389. * is longer than this, only one dimensional arrays of numbers, or two
  39390. * dimensional arrays with x and y values are allowed. Also, only the first
  39391. * point is tested, and the rest are assumed to be the same format. This
  39392. * saves expensive data checking and indexing in long series. Set it to `0`
  39393. * disable.
  39394. *
  39395. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  39396. * two dimensional arrays are allowed.
  39397. */
  39398. turboThreshold?: number;
  39399. /**
  39400. * (Highstock) Set the initial visibility of the series.
  39401. */
  39402. visible?: boolean;
  39403. /**
  39404. * (Highmaps) Define the z index of the series.
  39405. */
  39406. zIndex?: number;
  39407. /**
  39408. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  39409. */
  39410. zoneAxis?: string;
  39411. /**
  39412. * (Highcharts, Highstock) An array defining zones within a series. Zones
  39413. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  39414. * the `zoneAxis` option. The zone definitions have to be in ascending order
  39415. * regarding to the value.
  39416. *
  39417. * In styled mode, the color zones are styled with the
  39418. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  39419. * option (view live demo).
  39420. */
  39421. zones?: Array<SeriesZonesOptionsObject>;
  39422. }
  39423. /**
  39424. * (Highstock) Parameters used in calculation of Detrended Price Oscillator
  39425. * series points.
  39426. */
  39427. export interface PlotDpoParamsOptions {
  39428. /**
  39429. * (Highstock) The point index which indicator calculations will base. For
  39430. * example using OHLC data, index=2 means the indicator will be calculated
  39431. * using Low values.
  39432. */
  39433. index?: number;
  39434. /**
  39435. * (Highstock) Period for Detrended Price Oscillator
  39436. */
  39437. period?: number;
  39438. }
  39439. /**
  39440. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  39441. * is displayed. The animation can also be set as a configuration object. Please
  39442. * note that this option only applies to the initial animation of the series
  39443. * itself. For other animations, see chart.animation and the animation parameter
  39444. * under the API methods. The following properties are supported:
  39445. *
  39446. * - `defer`: The animation delay time in milliseconds.
  39447. *
  39448. * - `duration`: The duration of the animation in milliseconds.
  39449. *
  39450. * - `easing`: Can be a string reference to an easing function set on the `Math`
  39451. * object or a function. See the _Custom easing function_ demo below.
  39452. *
  39453. * Due to poor performance, animation is disabled in old IE browsers for several
  39454. * chart types.
  39455. */
  39456. export interface PlotDumbbellAnimationOptions {
  39457. defer?: number;
  39458. }
  39459. /**
  39460. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  39461. * is displayed for the `dataLabels`. The animation can also be set as a
  39462. * configuration object. Please note that this option only applies to the
  39463. * initial animation. For other animations, see chart.animation and the
  39464. * animation parameter under the API methods. The following properties are
  39465. * supported:
  39466. *
  39467. * - `defer`: The animation delay time in milliseconds.
  39468. */
  39469. export interface PlotDumbbellDataLabelsAnimationOptions {
  39470. /**
  39471. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  39472. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  39473. * from the series.animation.defer.
  39474. */
  39475. defer?: number;
  39476. }
  39477. /**
  39478. * (Highcharts, Highstock) Options for the series data sorting.
  39479. */
  39480. export interface PlotDumbbellDataSortingOptions {
  39481. /**
  39482. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  39483. * Use xAxis.reversed to change the sorting order.
  39484. */
  39485. enabled?: boolean;
  39486. /**
  39487. * (Highcharts, Highstock) Whether to allow matching points by name in an
  39488. * update. If this option is disabled, points will be matched by order.
  39489. */
  39490. matchByName?: boolean;
  39491. /**
  39492. * (Highcharts, Highstock) Determines what data value should be used to sort
  39493. * by.
  39494. */
  39495. sortKey?: string;
  39496. }
  39497. /**
  39498. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  39499. * one state by default, the `default` state.
  39500. */
  39501. export interface PlotDumbbellDragDropGuideBoxOptions {
  39502. /**
  39503. * (Highcharts, Highstock) Style options for the guide box default state.
  39504. */
  39505. default?: DragDropGuideBoxOptionsObject;
  39506. }
  39507. /**
  39508. * (Highcharts, Highstock) The dumbbell series is a cartesian series with higher
  39509. * and lower values for each point along an X axis, connected with a line
  39510. * between the values. Requires `highcharts-more.js` and `modules/dumbbell.js`.
  39511. *
  39512. * In TypeScript the type option must always be set.
  39513. *
  39514. * Configuration options for the series are given in three levels:
  39515. *
  39516. * 1. Options for all series in a chart are defined in the plotOptions.series
  39517. * object.
  39518. *
  39519. * 2. Options for all `dumbbell` series are defined in plotOptions.dumbbell.
  39520. *
  39521. * 3. Options for one single series are given in the series instance array. (see
  39522. * online documentation for example)
  39523. */
  39524. export interface PlotDumbbellOptions {
  39525. /**
  39526. * (Highcharts, Highstock) Accessibility options for a series.
  39527. */
  39528. accessibility?: SeriesAccessibilityOptionsObject;
  39529. /**
  39530. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  39531. * rendered. If `true`, areas which don't correspond to a data point, are
  39532. * rendered as `null` points. If `false`, those areas are skipped.
  39533. */
  39534. allAreas?: boolean;
  39535. /**
  39536. * (Highcharts, Highstock) Allow this series' points to be selected by
  39537. * clicking on the graphic (columns, point markers, pie slices, map areas
  39538. * etc).
  39539. *
  39540. * The selected points can be handled by point select and unselect events,
  39541. * or collectively by the getSelectedPoints function.
  39542. *
  39543. * And alternative way of selecting points is through dragging.
  39544. */
  39545. allowPointSelect?: boolean;
  39546. /**
  39547. * (Highcharts, Highstock) Enable or disable the initial animation when a
  39548. * series is displayed. The animation can also be set as a configuration
  39549. * object. Please note that this option only applies to the initial
  39550. * animation of the series itself. For other animations, see chart.animation
  39551. * and the animation parameter under the API methods. The following
  39552. * properties are supported:
  39553. *
  39554. * - `defer`: The animation delay time in milliseconds.
  39555. *
  39556. * - `duration`: The duration of the animation in milliseconds.
  39557. *
  39558. * - `easing`: Can be a string reference to an easing function set on the
  39559. * `Math` object or a function. See the _Custom easing function_ demo below.
  39560. *
  39561. * Due to poor performance, animation is disabled in old IE browsers for
  39562. * several chart types.
  39563. */
  39564. animation?: (boolean|PlotDumbbellAnimationOptions|Partial<AnimationOptionsObject>);
  39565. /**
  39566. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  39567. * initial animation by default when the total number of points in the chart
  39568. * is too high. For example, for a column chart and its derivatives,
  39569. * animation does not run if there is more than 250 points totally. To
  39570. * disable this cap, set `animationLimit` to `Infinity`.
  39571. */
  39572. animationLimit?: number;
  39573. /**
  39574. * (Highmaps) The border color of the map areas.
  39575. *
  39576. * In styled mode, the border stroke is given in the `.highcharts-point`
  39577. * class.
  39578. */
  39579. borderColor?: (ColorString|GradientColorObject|PatternObject);
  39580. /**
  39581. * (Highmaps) The border width of each map area.
  39582. *
  39583. * In styled mode, the border stroke width is given in the
  39584. * `.highcharts-point` class.
  39585. */
  39586. borderWidth?: number;
  39587. /**
  39588. * (Highcharts, Highstock) An additional class name to apply to the series'
  39589. * graphical elements. This option does not replace default class names of
  39590. * the graphical element.
  39591. */
  39592. className?: string;
  39593. /**
  39594. * (Highcharts, Highstock) Disable this option to allow series rendering in
  39595. * the whole plotting area.
  39596. *
  39597. * **Note:** Clipping should be always enabled when chart.zoomType is set
  39598. */
  39599. clip?: boolean;
  39600. /**
  39601. * (Highcharts, Highstock) The main color of the series. In line type series
  39602. * it applies to the line and the point markers unless otherwise specified.
  39603. * In bar type series it applies to the bars unless a color is specified per
  39604. * point. The default value is pulled from the `options.colors` array.
  39605. *
  39606. * In styled mode, the color can be defined by the colorIndex option. Also,
  39607. * the series color can be set with the `.highcharts-series`,
  39608. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  39609. * `.highcharts-series-{n}` class, or individual classes given by the
  39610. * `className` option.
  39611. */
  39612. color?: (ColorString|GradientColorObject|PatternObject);
  39613. /**
  39614. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  39615. * this number defines which colorAxis the particular series is connected
  39616. * to. It refers to either the axis id or the index of the axis in the
  39617. * colorAxis array, with 0 being the first. Set this option to false to
  39618. * prevent a series from connecting to the default color axis.
  39619. *
  39620. * Since v7.2.0 the option can also be an axis id or an axis index instead
  39621. * of a boolean flag.
  39622. */
  39623. colorAxis?: (boolean|number|string);
  39624. /**
  39625. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  39626. * for the series, so its graphic representations are given the class name
  39627. * `highcharts-color-{n}`.
  39628. */
  39629. colorIndex?: number;
  39630. /**
  39631. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  39632. * used to calculate point color if `colorAxis` is used. Requires to set
  39633. * `min` and `max` if some custom point property is used or if approximation
  39634. * for data grouping is set to `'sum'`.
  39635. */
  39636. colorKey?: string;
  39637. /**
  39638. * (Highstock) Compare the values of the series against the first non-null,
  39639. * non- zero value in the visible range. The y axis will show percentage or
  39640. * absolute change depending on whether `compare` is set to `"percent"` or
  39641. * `"value"`. When this is applied to multiple series, it allows comparing
  39642. * the development of the series against each other. Adds a `change` field
  39643. * to every point object.
  39644. */
  39645. compare?: string;
  39646. /**
  39647. * (Highstock) When compare is `percent`, this option dictates whether to
  39648. * use 0 or 100 as the base of comparison.
  39649. */
  39650. compareBase?: (0|100);
  39651. /**
  39652. * (Highstock) Defines if comparison should start from the first point
  39653. * within the visible range or should start from the first point **before**
  39654. * the range.
  39655. *
  39656. * In other words, this flag determines if first point within the visible
  39657. * range will have 0% (`compareStart=true`) or should have been already
  39658. * calculated according to the previous point (`compareStart=false`).
  39659. */
  39660. compareStart?: boolean;
  39661. /**
  39662. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  39663. * series plot across the extremes.
  39664. */
  39665. connectEnds?: boolean;
  39666. /**
  39667. * (Highcharts, Highstock) Whether to connect a graph line across null
  39668. * points, or render a gap between the two points on either side of the
  39669. * null.
  39670. */
  39671. connectNulls?: boolean;
  39672. /**
  39673. * (Highcharts, Highstock) Color of the line that connects the dumbbell
  39674. * point's values. By default it is the series' color.
  39675. */
  39676. connectorColor?: string;
  39677. /**
  39678. * (Gantt) Override Pathfinder connector options for a series. Requires
  39679. * Highcharts Gantt to be loaded.
  39680. */
  39681. connectors?: SeriesConnectorsOptionsObject;
  39682. /**
  39683. * (Highcharts, Highstock) Pixel width of the line that connects the
  39684. * dumbbell point's values.
  39685. */
  39686. connectorWidth?: number;
  39687. /**
  39688. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  39689. * rounded to its nearest pixel in order to render sharp on screen. In some
  39690. * cases, when there are a lot of densely packed columns, this leads to
  39691. * visible difference in column widths or distance between columns. In these
  39692. * cases, setting `crisp` to `false` may look better, even though each
  39693. * column is rendered blurry.
  39694. */
  39695. crisp?: boolean;
  39696. /**
  39697. * (Highcharts, Highstock) When the series contains less points than the
  39698. * crop threshold, all points are drawn, even if the points fall outside the
  39699. * visible plot area at the current zoom. The advantage of drawing all
  39700. * points (including markers and columns), is that animation is performed on
  39701. * updates. On the other hand, when the series contains more points than the
  39702. * crop threshold, the series data is cropped to only contain points that
  39703. * fall within the plot area. The advantage of cropping away invisible
  39704. * points is to increase performance on large series.
  39705. */
  39706. cropThreshold?: number;
  39707. /**
  39708. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  39709. * click events attached to the series, to signal to the user that the
  39710. * points and lines can be clicked.
  39711. *
  39712. * In styled mode, the series cursor can be set with the same classes as
  39713. * listed under series.color.
  39714. */
  39715. cursor?: (string|CursorValue);
  39716. /**
  39717. * (Highcharts, Highstock) A reserved subspace to store options and values
  39718. * for customized functionality. Here you can add additional data for your
  39719. * own event callbacks and formatter callbacks.
  39720. */
  39721. custom?: Dictionary<any>;
  39722. /**
  39723. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  39724. * for some series types the outline of each shape.
  39725. *
  39726. * In styled mode, the stroke dash-array can be set with the same classes as
  39727. * listed under series.color.
  39728. */
  39729. dashStyle?: DashStyleValue;
  39730. /**
  39731. * (Highstock) Data grouping is the concept of sampling the data values into
  39732. * larger blocks in order to ease readability and increase performance of
  39733. * the JavaScript charts. Highstock by default applies data grouping when
  39734. * the points become closer than a certain pixel value, determined by the
  39735. * `groupPixelWidth` option.
  39736. *
  39737. * If data grouping is applied, the grouping information of grouped points
  39738. * can be read from the Point.dataGroup. If point options other than the
  39739. * data itself are set, for example `name` or `color` or custom properties,
  39740. * the grouping logic doesn't know how to group it. In this case the options
  39741. * of the first point instance are copied over to the group point. This can
  39742. * be altered through a custom `approximation` callback function.
  39743. */
  39744. dataGrouping?: DataGroupingOptionsObject;
  39745. /**
  39746. * (Highcharts, Highstock) Extended data labels for range series types.
  39747. * Range series data labels use no `x` and `y` options. Instead, they have
  39748. * `xLow`, `xHigh`, `yLow` and `yHigh` options to allow the higher and lower
  39749. * data label sets individually.
  39750. */
  39751. dataLabels?: (SeriesAreaRangeDataLabelsOptionsObject|Array<SeriesAreaRangeDataLabelsOptionsObject>);
  39752. /**
  39753. * (Highcharts, Highstock) Options for the series data sorting.
  39754. */
  39755. dataSorting?: (DataSortingOptionsObject|PlotDumbbellDataSortingOptions);
  39756. /**
  39757. * (Highcharts, Highstock) A description of the series to add to the screen
  39758. * reader information about the series.
  39759. */
  39760. description?: string;
  39761. /**
  39762. * (Highcharts, Highstock) The draggable-points module allows points to be
  39763. * moved around or modified in the chart. In addition to the options
  39764. * mentioned under the `dragDrop` API structure, the module fires three
  39765. * events, point.dragStart, point.drag and point.drop.
  39766. */
  39767. dragDrop?: SeriesDragDropOptionsObject;
  39768. /**
  39769. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  39770. * specific series. This includes point tooltips and click events on graphs
  39771. * and points. For large datasets it improves performance.
  39772. */
  39773. enableMouseTracking?: boolean;
  39774. /**
  39775. * (Highcharts, Highstock) General event handlers for the series items.
  39776. * These event hooks can also be attached to the series at run time using
  39777. * the `Highcharts.addEvent` function.
  39778. */
  39779. events?: SeriesEventsOptionsObject;
  39780. /**
  39781. * (Highcharts, Highstock) Determines whether the series should look for the
  39782. * nearest point in both dimensions or just the x-dimension when hovering
  39783. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  39784. * other series. If the data has duplicate x-values, it is recommended to
  39785. * set this to `'xy'` to allow hovering over all points.
  39786. *
  39787. * Applies only to series types using nearest neighbor search (not direct
  39788. * hover) for tooltip.
  39789. */
  39790. findNearestPointBy?: OptionsFindNearestPointByValue;
  39791. /**
  39792. * (Highstock) Defines when to display a gap in the graph, together with the
  39793. * gapUnit option.
  39794. *
  39795. * In case when `dataGrouping` is enabled, points can be grouped into a
  39796. * larger time span. This can make the grouped points to have a greater
  39797. * distance than the absolute value of `gapSize` property, which will result
  39798. * in disappearing graph completely. To prevent this situation the mentioned
  39799. * distance between grouped points is used instead of previously defined
  39800. * `gapSize`.
  39801. *
  39802. * In practice, this option is most often used to visualize gaps in time
  39803. * series. In a stock chart, intraday data is available for daytime hours,
  39804. * while gaps will appear in nights and weekends.
  39805. */
  39806. gapSize?: number;
  39807. /**
  39808. * (Highstock) Together with gapSize, this option defines where to draw gaps
  39809. * in the graph.
  39810. *
  39811. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  39812. * if the distance between two points is greater than 5 times that of the
  39813. * two closest points, the graph will be broken.
  39814. *
  39815. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  39816. * values, which on a datetime axis is milliseconds. This also applies to
  39817. * the navigator series that inherits gap options from the base series.
  39818. */
  39819. gapUnit?: OptionsGapUnitValue;
  39820. /**
  39821. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  39822. * chart width or only the zoomed area when zooming in on parts of the X
  39823. * axis. By default, the Y axis adjusts to the min and max of the visible
  39824. * data. Cartesian series only.
  39825. */
  39826. getExtremesFromAll?: boolean;
  39827. groupPadding?: number;
  39828. /**
  39829. * (Highcharts, Highstock) When set to `false` will prevent the series data
  39830. * from being included in any form of data export.
  39831. *
  39832. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  39833. * `includeInCSVExport`.
  39834. */
  39835. includeInDataExport?: boolean;
  39836. /**
  39837. * (Highmaps) What property to join the `mapData` to the value data. For
  39838. * example, if joinBy is "code", the mapData items with a specific code is
  39839. * merged into the data with the same code. For maps loaded from GeoJSON,
  39840. * the keys may be held in each point's `properties` object.
  39841. *
  39842. * The joinBy option can also be an array of two values, where the first
  39843. * points to a key in the `mapData`, and the second points to another key in
  39844. * the `data`.
  39845. *
  39846. * When joinBy is `null`, the map items are joined by their position in the
  39847. * array, which performs much better in maps with many data points. This is
  39848. * the recommended option if you are printing more than a thousand data
  39849. * points and have a backend that can preprocess the data into a parallel
  39850. * array of the mapData.
  39851. */
  39852. joinBy?: (string|Array<string>);
  39853. /**
  39854. * (Highcharts, Highstock) An array specifying which option maps to which
  39855. * key in the data point array. This makes it convenient to work with
  39856. * unstructured data arrays from different sources.
  39857. */
  39858. keys?: Array<string>;
  39859. /**
  39860. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  39861. * series as possible in a natural way, seeking to avoid other series. The
  39862. * goal of this feature is to make the chart more easily readable, like if a
  39863. * human designer placed the labels in the optimal position.
  39864. *
  39865. * The series labels currently work with series types having a `graph` or an
  39866. * `area`.
  39867. */
  39868. label?: SeriesLabelOptionsObject;
  39869. /**
  39870. * (Highstock) The line marks the last price from all points.
  39871. */
  39872. lastPrice?: SeriesLastPriceOptionsObject;
  39873. /**
  39874. * (Highstock) The line marks the last price from visible range of points.
  39875. */
  39876. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  39877. /**
  39878. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  39879. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  39880. * the ends and bends.
  39881. */
  39882. linecap?: SeriesLinecapValue;
  39883. /**
  39884. * (Highcharts, Highstock) A separate color for the graph line. By default
  39885. * the line takes the `color` of the series, but the lineColor setting
  39886. * allows setting a separate color for the line without altering the
  39887. * `fillColor`.
  39888. *
  39889. * In styled mode, the line stroke can be set with the `.highcharts-graph`
  39890. * class name.
  39891. */
  39892. lineColor?: (ColorString|GradientColorObject|PatternObject);
  39893. /**
  39894. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  39895. * Additionally, the value can be ":previous" to link to the previous
  39896. * series. When two series are linked, only the first one appears in the
  39897. * legend. Toggling the visibility of this also toggles the linked series.
  39898. *
  39899. * If master series uses data sorting and linked series does not have its
  39900. * own sorting definition, the linked series will be sorted in the same
  39901. * order as the master one.
  39902. */
  39903. linkedTo?: string;
  39904. /**
  39905. * (Highcharts, Highstock) Color of the start markers in a dumbbell graph.
  39906. */
  39907. lowColor?: (ColorString|GradientColorObject|PatternObject);
  39908. /**
  39909. * (Highcharts, Highstock) Options for the point markers of line-like
  39910. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  39911. * the visual appearance of the markers. Other series types, like column
  39912. * series, don't have markers, but have visual options on the series level
  39913. * instead.
  39914. *
  39915. * In styled mode, the markers can be styled with the `.highcharts-point`,
  39916. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  39917. */
  39918. marker?: PointMarkerOptionsObject;
  39919. /**
  39920. * (Highstock) Options for the corresponding navigator series if
  39921. * `showInNavigator` is `true` for this series. Available options are the
  39922. * same as any series, documented at plotOptions and series.
  39923. *
  39924. * These options are merged with options in navigator.series, and will take
  39925. * precedence if the same option is defined both places.
  39926. */
  39927. navigatorOptions?: PlotSeriesOptions;
  39928. /**
  39929. * (Highcharts, Highstock) The color for the parts of the graph or points
  39930. * that are below the threshold. Note that `zones` takes precedence over the
  39931. * negative color. Using `negativeColor` is equivalent to applying a zone
  39932. * with value of 0.
  39933. */
  39934. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  39935. /**
  39936. * (Highcharts) A separate color for the negative part of the area.
  39937. *
  39938. * In styled mode, a negative color is set with the `.highcharts-negative`
  39939. * class name.
  39940. */
  39941. negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
  39942. /**
  39943. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  39944. * and dataLabels.
  39945. */
  39946. opacity?: number;
  39947. /**
  39948. * (Highcharts, Highstock) Properties for each single point.
  39949. */
  39950. point?: PlotSeriesPointOptions;
  39951. /**
  39952. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  39953. * but for an individual series. Overrides the chart wide configuration.
  39954. */
  39955. pointDescriptionFormatter?: Function;
  39956. /**
  39957. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  39958. * a series, `pointInterval` defines the interval of the x values. For
  39959. * example, if a series contains one value every decade starting from year
  39960. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  39961. * `pointInterval` is set in milliseconds.
  39962. *
  39963. * It can be also be combined with `pointIntervalUnit` to draw irregular
  39964. * time intervals.
  39965. *
  39966. * Please note that this options applies to the _series data_, not the
  39967. * interval of the axis ticks, which is independent.
  39968. */
  39969. pointInterval?: number;
  39970. /**
  39971. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  39972. * setting the pointInterval to irregular time units, `day`, `month` and
  39973. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  39974. * also takes the DST crossover into consideration when dealing with local
  39975. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  39976. * months, 10 years etc.
  39977. *
  39978. * Please note that this options applies to the _series data_, not the
  39979. * interval of the axis ticks, which is independent.
  39980. */
  39981. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  39982. pointPadding?: number;
  39983. /**
  39984. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  39985. * `number`.
  39986. *
  39987. * In a column chart, when pointPlacement is `"on"`, the point will not
  39988. * create any padding of the X axis. In a polar column chart this means that
  39989. * the first column points directly north. If the pointPlacement is
  39990. * `"between"`, the columns will be laid out between ticks. This is useful
  39991. * for example for visualising an amount between two points in time or in a
  39992. * certain sector of a polar chart.
  39993. *
  39994. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  39995. * is on the axis value, -0.5 is between this value and the previous, and
  39996. * 0.5 is between this value and the next. Unlike the textual options,
  39997. * numeric point placement options won't affect axis padding.
  39998. *
  39999. * Note that pointPlacement needs a pointRange to work. For column series
  40000. * this is computed, but for line-type series it needs to be set.
  40001. *
  40002. * For the `xrange` series type and gantt charts, if the Y axis is a
  40003. * category axis, the `pointPlacement` applies to the Y axis rather than the
  40004. * (typically datetime) X axis.
  40005. *
  40006. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  40007. */
  40008. pointPlacement?: (number|string);
  40009. /**
  40010. * (Highstock) The width of each point on the x axis. For example in a
  40011. * column chart with one value each day, the pointRange would be 1 day (= 24
  40012. * * 3600
  40013. *
  40014. * * 1000 milliseconds). This is normally computed automatically, but this
  40015. * option can be used to override the automatic value.
  40016. */
  40017. pointRange?: number;
  40018. /**
  40019. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  40020. * a series, pointStart defines on what value to start. For example, if a
  40021. * series contains one yearly value starting from 1945, set pointStart to
  40022. * 1945.
  40023. */
  40024. pointStart?: number;
  40025. /**
  40026. * (Highcharts, Highstock) Whether to select the series initially. If
  40027. * `showCheckbox` is true, the checkbox next to the series name in the
  40028. * legend will be checked for a selected series.
  40029. */
  40030. selected?: boolean;
  40031. /**
  40032. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  40033. * the shadow can be an object configuration containing `color`, `offsetX`,
  40034. * `offsetY`, `opacity` and `width`.
  40035. */
  40036. shadow?: (boolean|ShadowOptionsObject);
  40037. /**
  40038. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  40039. * legend item to allow selecting the series. The state of the checkbox is
  40040. * determined by the `selected` option.
  40041. */
  40042. showCheckbox?: boolean;
  40043. /**
  40044. * (Highcharts, Highstock) Whether to display this particular series or
  40045. * series type in the legend. Standalone series are shown in legend by
  40046. * default, and linked series are not. Since v7.2.0 it is possible to show
  40047. * series that use colorAxis by setting this option to `true`.
  40048. */
  40049. showInLegend?: boolean;
  40050. /**
  40051. * (Highstock) Whether or not to show the series in the navigator. Takes
  40052. * precedence over navigator.baseSeries if defined.
  40053. */
  40054. showInNavigator?: boolean;
  40055. /**
  40056. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  40057. * skip past the points in this series for keyboard navigation.
  40058. */
  40059. skipKeyboardNavigation?: boolean;
  40060. /**
  40061. * (Highcharts, Highstock) When this is true, the series will not cause the
  40062. * Y axis to cross the zero plane (or threshold option) unless the data
  40063. * actually crosses the plane.
  40064. *
  40065. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  40066. * make the Y axis show negative values according to the `minPadding`
  40067. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  40068. */
  40069. softThreshold?: boolean;
  40070. states?: SeriesStatesOptionsObject;
  40071. /**
  40072. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  40073. * values are `left`, `center` and `right`.
  40074. */
  40075. step?: OptionsStepValue;
  40076. /**
  40077. * (Highcharts, Highstock) The Y axis value to serve as the base for the
  40078. * area, for distinguishing between values above and below a threshold. The
  40079. * area between the graph and the threshold is filled.
  40080. *
  40081. * * If a number is given, the Y axis will scale to the threshold.
  40082. *
  40083. * * If `null`, the scaling behaves like a line series with fill between the
  40084. * graph and the Y axis minimum.
  40085. *
  40086. * * If `Infinity` or `-Infinity`, the area between the graph and the
  40087. * corresponding Y axis extreme is filled (since v6.1.0).
  40088. */
  40089. threshold?: (number|null);
  40090. /**
  40091. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  40092. * of each single series. Properties are inherited from tooltip, but only
  40093. * the following properties can be defined on a series level.
  40094. */
  40095. tooltip?: SeriesTooltipOptionsObject;
  40096. /**
  40097. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  40098. * is longer than this, only one dimensional arrays of numbers, or two
  40099. * dimensional arrays with x and y values are allowed. Also, only the first
  40100. * point is tested, and the rest are assumed to be the same format. This
  40101. * saves expensive data checking and indexing in long series. Set it to `0`
  40102. * disable.
  40103. *
  40104. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  40105. * two dimensional arrays are allowed.
  40106. */
  40107. turboThreshold?: number;
  40108. /**
  40109. * (Highcharts, Highstock) Set the initial visibility of the series.
  40110. */
  40111. visible?: boolean;
  40112. /**
  40113. * (Highmaps) Define the z index of the series.
  40114. */
  40115. zIndex?: number;
  40116. /**
  40117. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  40118. */
  40119. zoneAxis?: string;
  40120. /**
  40121. * (Highcharts, Highstock) An array defining zones within a series. Zones
  40122. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  40123. * the `zoneAxis` option. The zone definitions have to be in ascending order
  40124. * regarding to the value.
  40125. *
  40126. * In styled mode, the color zones are styled with the
  40127. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  40128. * option (view live demo).
  40129. */
  40130. zones?: Array<SeriesZonesOptionsObject>;
  40131. }
  40132. /**
  40133. * (Highstock) Enable or disable the initial animation when a series is
  40134. * displayed. The animation can also be set as a configuration object. Please
  40135. * note that this option only applies to the initial animation of the series
  40136. * itself. For other animations, see chart.animation and the animation parameter
  40137. * under the API methods. The following properties are supported:
  40138. *
  40139. * - `defer`: The animation delay time in milliseconds.
  40140. *
  40141. * - `duration`: The duration of the animation in milliseconds.
  40142. *
  40143. * - `easing`: Can be a string reference to an easing function set on the `Math`
  40144. * object or a function. See the _Custom easing function_ demo below.
  40145. *
  40146. * Due to poor performance, animation is disabled in old IE browsers for several
  40147. * chart types.
  40148. */
  40149. export interface PlotEmaAnimationOptions {
  40150. defer?: number;
  40151. }
  40152. /**
  40153. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  40154. * animation when a series is displayed for the `dataLabels`. The animation can
  40155. * also be set as a configuration object. Please note that this option only
  40156. * applies to the initial animation. For other animations, see chart.animation
  40157. * and the animation parameter under the API methods. The following properties
  40158. * are supported:
  40159. *
  40160. * - `defer`: The animation delay time in milliseconds.
  40161. */
  40162. export interface PlotEmaDataLabelsAnimationOptions {
  40163. /**
  40164. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  40165. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  40166. * inherits defer time from the series.animation.defer.
  40167. */
  40168. defer?: number;
  40169. }
  40170. /**
  40171. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  40172. * appearing next to each data point.
  40173. *
  40174. * Since v6.2.0, multiple data labels can be applied to each single point by
  40175. * defining them as an array of configs.
  40176. *
  40177. * In styled mode, the data labels can be styled with the
  40178. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  40179. * example).
  40180. */
  40181. export interface PlotEmaDataLabelsOptions {
  40182. /**
  40183. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  40184. * compared to the point. If `right`, the right side of the label should be
  40185. * touching the point. For points with an extent, like columns, the
  40186. * alignments also dictates how to align it inside the box, as given with
  40187. * the inside option. Can be one of `left`, `center` or `right`.
  40188. */
  40189. align?: (AlignValue|null);
  40190. /**
  40191. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  40192. * overlap. To make the labels less sensitive for overlapping, the
  40193. * dataLabels.padding can be set to 0.
  40194. */
  40195. allowOverlap?: boolean;
  40196. /**
  40197. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  40198. * animation when a series is displayed for the `dataLabels`. The animation
  40199. * can also be set as a configuration object. Please note that this option
  40200. * only applies to the initial animation. For other animations, see
  40201. * chart.animation and the animation parameter under the API methods. The
  40202. * following properties are supported:
  40203. *
  40204. * - `defer`: The animation delay time in milliseconds.
  40205. */
  40206. animation?: (boolean|PlotEmaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  40207. /**
  40208. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  40209. * for the data label.
  40210. */
  40211. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  40212. /**
  40213. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  40214. * label. Defaults to `undefined`.
  40215. */
  40216. borderColor?: (ColorString|GradientColorObject|PatternObject);
  40217. /**
  40218. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  40219. * the data label.
  40220. */
  40221. borderRadius?: number;
  40222. /**
  40223. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  40224. * the data label.
  40225. */
  40226. borderWidth?: number;
  40227. /**
  40228. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  40229. * Particularly in styled mode, this can be used to give each series' or
  40230. * point's data label unique styling. In addition to this option, a default
  40231. * color class name is added so that we can give the labels a contrast text
  40232. * shadow.
  40233. */
  40234. className?: string;
  40235. /**
  40236. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  40237. * labels. Defaults to `undefined`. For certain series types, like column or
  40238. * map, the data labels can be drawn inside the points. In this case the
  40239. * data label will be drawn with maximum contrast by default. Additionally,
  40240. * it will be given a `text-outline` style with the opposite color, to
  40241. * further increase the contrast. This can be overridden by setting the
  40242. * `text-outline` style to `none` in the `dataLabels.style` option.
  40243. */
  40244. color?: (ColorString|GradientColorObject|PatternObject);
  40245. /**
  40246. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  40247. * are outside the plot area. By default, the data label is moved inside the
  40248. * plot area according to the overflow option.
  40249. */
  40250. crop?: boolean;
  40251. /**
  40252. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  40253. * labels until the initial series animation has finished. Setting to
  40254. * `false` renders the data label immediately. If set to `true` inherits the
  40255. * defer time set in plotOptions.series.animation.
  40256. */
  40257. defer?: boolean;
  40258. /**
  40259. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  40260. * labels.
  40261. */
  40262. enabled?: boolean;
  40263. /**
  40264. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  40265. * of which data labels to display. The declarative filter is designed for
  40266. * use when callback functions are not available, like when the chart
  40267. * options require a pure JSON structure or for use with graphical editors.
  40268. * For programmatic control, use the `formatter` instead, and return
  40269. * `undefined` to disable a single data label.
  40270. */
  40271. filter?: DataLabelsFilterOptionsObject;
  40272. /**
  40273. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  40274. * label. Available variables are the same as for `formatter`.
  40275. */
  40276. format?: string;
  40277. /**
  40278. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  40279. * format the data label. Note that if a `format` is defined, the format
  40280. * takes precedence and the formatter is ignored.
  40281. */
  40282. formatter?: DataLabelsFormatterCallbackFunction;
  40283. /**
  40284. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  40285. * columns or map areas, whether to align the data label inside the box or
  40286. * to the actual value point. Defaults to `false` in most cases, `true` in
  40287. * stacked columns.
  40288. */
  40289. inside?: boolean;
  40290. /**
  40291. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  40292. * of null. Works analogously to format. `nullFormat` can be applied only to
  40293. * series which support displaying null points.
  40294. */
  40295. nullFormat?: (boolean|string);
  40296. /**
  40297. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  40298. * that defines formatting for points with the value of null. Works
  40299. * analogously to formatter. `nullPointFormatter` can be applied only to
  40300. * series which support displaying null points.
  40301. */
  40302. nullFormatter?: DataLabelsFormatterCallbackFunction;
  40303. /**
  40304. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  40305. * flow outside the plot area. The default is `"justify"`, which aligns them
  40306. * inside the plot area. For columns and bars, this means it will be moved
  40307. * inside the bar. To display data labels outside the plot area, set `crop`
  40308. * to `false` and `overflow` to `"allow"`.
  40309. */
  40310. overflow?: DataLabelsOverflowValue;
  40311. /**
  40312. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  40313. * the `backgroundColor` is set, this is the padding within the box.
  40314. */
  40315. padding?: number;
  40316. /**
  40317. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  40318. * points. If `center` alignment is not possible, it defaults to `right`.
  40319. */
  40320. position?: AlignValue;
  40321. /**
  40322. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  40323. * that due to a more complex structure, backgrounds, borders and padding
  40324. * will be lost on a rotated data label.
  40325. */
  40326. rotation?: number;
  40327. /**
  40328. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  40329. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  40330. * an object configuration containing `color`, `offsetX`, `offsetY`,
  40331. * `opacity` and `width`.
  40332. */
  40333. shadow?: (boolean|ShadowOptionsObject);
  40334. /**
  40335. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  40336. * the border around the label. Symbols are predefined functions on the
  40337. * Renderer object.
  40338. */
  40339. shape?: string;
  40340. /**
  40341. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  40342. * default `color` setting is `"contrast"`, which is a pseudo color that
  40343. * Highcharts picks up and applies the maximum contrast to the underlying
  40344. * point item, for example the bar in a bar chart.
  40345. *
  40346. * The `textOutline` is a pseudo property that applies an outline of the
  40347. * given width with the given color, which by default is the maximum
  40348. * contrast to the text. So a bright text color will result in a black text
  40349. * outline for maximum readability on a mixed background. In some cases,
  40350. * especially with grayscale text, the text outline doesn't work well, in
  40351. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  40352. * is true, the `textOutline` will not be picked up. In this, case, the same
  40353. * effect can be acheived through the `text-shadow` CSS property.
  40354. *
  40355. * For some series types, where each point has an extent, like for example
  40356. * tree maps, the data label may overflow the point. There are two
  40357. * strategies for handling overflow. By default, the text will wrap to
  40358. * multiple lines. The other strategy is to set `style.textOverflow` to
  40359. * `ellipsis`, which will keep the text on one line plus it will break
  40360. * inside long words.
  40361. */
  40362. style?: CSSObject;
  40363. /**
  40364. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  40365. * should follow marker's shape. Border and background are disabled for a
  40366. * label that follows a path.
  40367. *
  40368. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  40369. * to true will disable this option.
  40370. */
  40371. textPath?: DataLabelsTextPathOptionsObject;
  40372. /**
  40373. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  40374. * the labels.
  40375. */
  40376. useHTML?: boolean;
  40377. /**
  40378. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  40379. * label. Can be one of `top`, `middle` or `bottom`. The default value
  40380. * depends on the data, for instance in a column chart, the label is above
  40381. * positive values and below negative values.
  40382. */
  40383. verticalAlign?: (VerticalAlignValue|null);
  40384. /**
  40385. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  40386. * label relative to the point in pixels.
  40387. */
  40388. x?: number;
  40389. /**
  40390. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  40391. * label relative to the point in pixels.
  40392. */
  40393. y?: number;
  40394. /**
  40395. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  40396. * The default Z index puts it above the series. Use a Z index of 2 to
  40397. * display it behind the series.
  40398. */
  40399. z?: number;
  40400. }
  40401. /**
  40402. * (Highcharts, Highstock) Options for the series data sorting.
  40403. */
  40404. export interface PlotEmaDataSortingOptions {
  40405. /**
  40406. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  40407. * Use xAxis.reversed to change the sorting order.
  40408. */
  40409. enabled?: boolean;
  40410. /**
  40411. * (Highcharts, Highstock) Whether to allow matching points by name in an
  40412. * update. If this option is disabled, points will be matched by order.
  40413. */
  40414. matchByName?: boolean;
  40415. /**
  40416. * (Highcharts, Highstock) Determines what data value should be used to sort
  40417. * by.
  40418. */
  40419. sortKey?: string;
  40420. }
  40421. /**
  40422. * (Highstock) Exponential moving average indicator (EMA). This series requires
  40423. * the `linkedTo` option to be set.
  40424. *
  40425. * In TypeScript the type option must always be set.
  40426. *
  40427. * Configuration options for the series are given in three levels:
  40428. *
  40429. * 1. Options for all series in a chart are defined in the plotOptions.series
  40430. * object.
  40431. *
  40432. * 2. Options for all `ema` series are defined in plotOptions.ema.
  40433. *
  40434. * 3. Options for one single series are given in the series instance array. (see
  40435. * online documentation for example)
  40436. */
  40437. export interface PlotEmaOptions {
  40438. /**
  40439. * (Highstock) Accessibility options for a series.
  40440. */
  40441. accessibility?: SeriesAccessibilityOptionsObject;
  40442. /**
  40443. * (Highstock) Allow this series' points to be selected by clicking on the
  40444. * graphic (columns, point markers, pie slices, map areas etc).
  40445. *
  40446. * The selected points can be handled by point select and unselect events,
  40447. * or collectively by the getSelectedPoints function.
  40448. *
  40449. * And alternative way of selecting points is through dragging.
  40450. */
  40451. allowPointSelect?: boolean;
  40452. /**
  40453. * (Highstock) Enable or disable the initial animation when a series is
  40454. * displayed. The animation can also be set as a configuration object.
  40455. * Please note that this option only applies to the initial animation of the
  40456. * series itself. For other animations, see chart.animation and the
  40457. * animation parameter under the API methods. The following properties are
  40458. * supported:
  40459. *
  40460. * - `defer`: The animation delay time in milliseconds.
  40461. *
  40462. * - `duration`: The duration of the animation in milliseconds.
  40463. *
  40464. * - `easing`: Can be a string reference to an easing function set on the
  40465. * `Math` object or a function. See the _Custom easing function_ demo below.
  40466. *
  40467. * Due to poor performance, animation is disabled in old IE browsers for
  40468. * several chart types.
  40469. */
  40470. animation?: (boolean|PlotEmaAnimationOptions|Partial<AnimationOptionsObject>);
  40471. /**
  40472. * (Highstock) For some series, there is a limit that shuts down initial
  40473. * animation by default when the total number of points in the chart is too
  40474. * high. For example, for a column chart and its derivatives, animation does
  40475. * not run if there is more than 250 points totally. To disable this cap,
  40476. * set `animationLimit` to `Infinity`.
  40477. */
  40478. animationLimit?: number;
  40479. /**
  40480. * (Highstock) Sets the color blending in the boost module.
  40481. */
  40482. boostBlending?: OptionsBoostBlendingValue;
  40483. /**
  40484. * (Highstock) Set the point threshold for when a series should enter boost
  40485. * mode.
  40486. *
  40487. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  40488. * there are 2000 or more points in the series.
  40489. *
  40490. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  40491. * it to 1 will force boosting.
  40492. *
  40493. * Note that the cropThreshold also affects this setting. When zooming in on
  40494. * a series that has fewer points than the `cropThreshold`, all points are
  40495. * rendered although outside the visible plot area, and the `boostThreshold`
  40496. * won't take effect.
  40497. */
  40498. boostThreshold?: number;
  40499. /**
  40500. * (Highmaps) The border color of the map areas.
  40501. *
  40502. * In styled mode, the border stroke is given in the `.highcharts-point`
  40503. * class.
  40504. */
  40505. borderColor?: (ColorString|GradientColorObject|PatternObject);
  40506. /**
  40507. * (Highmaps) The border width of each map area.
  40508. *
  40509. * In styled mode, the border stroke width is given in the
  40510. * `.highcharts-point` class.
  40511. */
  40512. borderWidth?: number;
  40513. /**
  40514. * (Highstock) An additional class name to apply to the series' graphical
  40515. * elements. This option does not replace default class names of the
  40516. * graphical element.
  40517. */
  40518. className?: string;
  40519. /**
  40520. * (Highstock) Disable this option to allow series rendering in the whole
  40521. * plotting area.
  40522. *
  40523. * **Note:** Clipping should be always enabled when chart.zoomType is set
  40524. */
  40525. clip?: boolean;
  40526. /**
  40527. * (Highstock) The main color of the series. In line type series it applies
  40528. * to the line and the point markers unless otherwise specified. In bar type
  40529. * series it applies to the bars unless a color is specified per point. The
  40530. * default value is pulled from the `options.colors` array.
  40531. *
  40532. * In styled mode, the color can be defined by the colorIndex option. Also,
  40533. * the series color can be set with the `.highcharts-series`,
  40534. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  40535. * `.highcharts-series-{n}` class, or individual classes given by the
  40536. * `className` option.
  40537. */
  40538. color?: (ColorString|GradientColorObject|PatternObject);
  40539. /**
  40540. * (Highstock) Styled mode only. A specific color index to use for the
  40541. * series, so its graphic representations are given the class name
  40542. * `highcharts-color-{n}`.
  40543. */
  40544. colorIndex?: number;
  40545. /**
  40546. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  40547. * used to calculate point color if `colorAxis` is used. Requires to set
  40548. * `min` and `max` if some custom point property is used or if approximation
  40549. * for data grouping is set to `'sum'`.
  40550. */
  40551. colorKey?: string;
  40552. /**
  40553. * (Highstock) Compare the values of the series against the first non-null,
  40554. * non- zero value in the visible range. The y axis will show percentage or
  40555. * absolute change depending on whether `compare` is set to `"percent"` or
  40556. * `"value"`. When this is applied to multiple series, it allows comparing
  40557. * the development of the series against each other. Adds a `change` field
  40558. * to every point object.
  40559. */
  40560. compare?: string;
  40561. /**
  40562. * (Highstock) When compare is `percent`, this option dictates whether to
  40563. * use 0 or 100 as the base of comparison.
  40564. */
  40565. compareBase?: (0|100);
  40566. /**
  40567. * (Highstock) Defines if comparison should start from the first point
  40568. * within the visible range or should start from the first point **before**
  40569. * the range.
  40570. *
  40571. * In other words, this flag determines if first point within the visible
  40572. * range will have 0% (`compareStart=true`) or should have been already
  40573. * calculated according to the previous point (`compareStart=false`).
  40574. */
  40575. compareStart?: boolean;
  40576. /**
  40577. * (Highstock) Whether to compare indicator to the main series values or
  40578. * indicator values.
  40579. */
  40580. compareToMain?: boolean;
  40581. /**
  40582. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  40583. * series plot across the extremes.
  40584. */
  40585. connectEnds?: boolean;
  40586. /**
  40587. * (Highcharts, Highstock) Whether to connect a graph line across null
  40588. * points, or render a gap between the two points on either side of the
  40589. * null.
  40590. */
  40591. connectNulls?: boolean;
  40592. /**
  40593. * (Gantt) Override Pathfinder connector options for a series. Requires
  40594. * Highcharts Gantt to be loaded.
  40595. */
  40596. connectors?: SeriesConnectorsOptionsObject;
  40597. /**
  40598. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  40599. * rounded to its nearest pixel in order to render sharp on screen. In some
  40600. * cases, when there are a lot of densely packed columns, this leads to
  40601. * visible difference in column widths or distance between columns. In these
  40602. * cases, setting `crisp` to `false` may look better, even though each
  40603. * column is rendered blurry.
  40604. */
  40605. crisp?: boolean;
  40606. /**
  40607. * (Highcharts, Highstock) When the series contains less points than the
  40608. * crop threshold, all points are drawn, even if the points fall outside the
  40609. * visible plot area at the current zoom. The advantage of drawing all
  40610. * points (including markers and columns), is that animation is performed on
  40611. * updates. On the other hand, when the series contains more points than the
  40612. * crop threshold, the series data is cropped to only contain points that
  40613. * fall within the plot area. The advantage of cropping away invisible
  40614. * points is to increase performance on large series.
  40615. */
  40616. cropThreshold?: number;
  40617. /**
  40618. * (Highstock) You can set the cursor to "pointer" if you have click events
  40619. * attached to the series, to signal to the user that the points and lines
  40620. * can be clicked.
  40621. *
  40622. * In styled mode, the series cursor can be set with the same classes as
  40623. * listed under series.color.
  40624. */
  40625. cursor?: (string|CursorValue);
  40626. /**
  40627. * (Highstock) A reserved subspace to store options and values for
  40628. * customized functionality. Here you can add additional data for your own
  40629. * event callbacks and formatter callbacks.
  40630. */
  40631. custom?: Dictionary<any>;
  40632. /**
  40633. * (Highstock) Name of the dash style to use for the graph, or for some
  40634. * series types the outline of each shape.
  40635. *
  40636. * In styled mode, the stroke dash-array can be set with the same classes as
  40637. * listed under series.color.
  40638. */
  40639. dashStyle?: DashStyleValue;
  40640. /**
  40641. * (Highstock) Data grouping is the concept of sampling the data values into
  40642. * larger blocks in order to ease readability and increase performance of
  40643. * the JavaScript charts. Highstock by default applies data grouping when
  40644. * the points become closer than a certain pixel value, determined by the
  40645. * `groupPixelWidth` option.
  40646. *
  40647. * If data grouping is applied, the grouping information of grouped points
  40648. * can be read from the Point.dataGroup. If point options other than the
  40649. * data itself are set, for example `name` or `color` or custom properties,
  40650. * the grouping logic doesn't know how to group it. In this case the options
  40651. * of the first point instance are copied over to the group point. This can
  40652. * be altered through a custom `approximation` callback function.
  40653. */
  40654. dataGrouping?: DataGroupingOptionsObject;
  40655. /**
  40656. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  40657. * labels, appearing next to each data point.
  40658. *
  40659. * Since v6.2.0, multiple data labels can be applied to each single point by
  40660. * defining them as an array of configs.
  40661. *
  40662. * In styled mode, the data labels can be styled with the
  40663. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  40664. * (see example).
  40665. */
  40666. dataLabels?: (PlotEmaDataLabelsOptions|Array<PlotEmaDataLabelsOptions>);
  40667. /**
  40668. * (Highcharts, Highstock) Options for the series data sorting.
  40669. */
  40670. dataSorting?: (DataSortingOptionsObject|PlotEmaDataSortingOptions);
  40671. /**
  40672. * (Highstock) A description of the series to add to the screen reader
  40673. * information about the series.
  40674. */
  40675. description?: string;
  40676. /**
  40677. * (Highstock) Enable or disable the mouse tracking for a specific series.
  40678. * This includes point tooltips and click events on graphs and points. For
  40679. * large datasets it improves performance.
  40680. */
  40681. enableMouseTracking?: boolean;
  40682. /**
  40683. * (Highstock) General event handlers for the series items. These event
  40684. * hooks can also be attached to the series at run time using the
  40685. * `Highcharts.addEvent` function.
  40686. */
  40687. events?: SeriesEventsOptionsObject;
  40688. /**
  40689. * (Highstock) Determines whether the series should look for the nearest
  40690. * point in both dimensions or just the x-dimension when hovering the
  40691. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  40692. * series. If the data has duplicate x-values, it is recommended to set this
  40693. * to `'xy'` to allow hovering over all points.
  40694. *
  40695. * Applies only to series types using nearest neighbor search (not direct
  40696. * hover) for tooltip.
  40697. */
  40698. findNearestPointBy?: OptionsFindNearestPointByValue;
  40699. /**
  40700. * (Highstock) Defines when to display a gap in the graph, together with the
  40701. * gapUnit option.
  40702. *
  40703. * In case when `dataGrouping` is enabled, points can be grouped into a
  40704. * larger time span. This can make the grouped points to have a greater
  40705. * distance than the absolute value of `gapSize` property, which will result
  40706. * in disappearing graph completely. To prevent this situation the mentioned
  40707. * distance between grouped points is used instead of previously defined
  40708. * `gapSize`.
  40709. *
  40710. * In practice, this option is most often used to visualize gaps in time
  40711. * series. In a stock chart, intraday data is available for daytime hours,
  40712. * while gaps will appear in nights and weekends.
  40713. */
  40714. gapSize?: number;
  40715. /**
  40716. * (Highstock) Together with gapSize, this option defines where to draw gaps
  40717. * in the graph.
  40718. *
  40719. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  40720. * if the distance between two points is greater than 5 times that of the
  40721. * two closest points, the graph will be broken.
  40722. *
  40723. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  40724. * values, which on a datetime axis is milliseconds. This also applies to
  40725. * the navigator series that inherits gap options from the base series.
  40726. */
  40727. gapUnit?: OptionsGapUnitValue;
  40728. /**
  40729. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  40730. * chart width or only the zoomed area when zooming in on parts of the X
  40731. * axis. By default, the Y axis adjusts to the min and max of the visible
  40732. * data. Cartesian series only.
  40733. */
  40734. getExtremesFromAll?: boolean;
  40735. /**
  40736. * (Highstock) When set to `false` will prevent the series data from being
  40737. * included in any form of data export.
  40738. *
  40739. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  40740. * `includeInCSVExport`.
  40741. */
  40742. includeInDataExport?: boolean;
  40743. /**
  40744. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  40745. * series as possible in a natural way, seeking to avoid other series. The
  40746. * goal of this feature is to make the chart more easily readable, like if a
  40747. * human designer placed the labels in the optimal position.
  40748. *
  40749. * The series labels currently work with series types having a `graph` or an
  40750. * `area`.
  40751. */
  40752. label?: SeriesLabelOptionsObject;
  40753. /**
  40754. * (Highstock) The line marks the last price from all points.
  40755. */
  40756. lastPrice?: SeriesLastPriceOptionsObject;
  40757. /**
  40758. * (Highstock) The line marks the last price from visible range of points.
  40759. */
  40760. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  40761. /**
  40762. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  40763. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  40764. * the ends and bends.
  40765. */
  40766. linecap?: SeriesLinecapValue;
  40767. /**
  40768. * (Highcharts, Highstock) Pixel width of the graph line.
  40769. */
  40770. lineWidth?: number;
  40771. /**
  40772. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  40773. * based on. Required for this indicator.
  40774. */
  40775. linkedTo?: string;
  40776. /**
  40777. * (Highstock) Options for the point markers of line-like series. Properties
  40778. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  40779. * appearance of the markers. Other series types, like column series, don't
  40780. * have markers, but have visual options on the series level instead.
  40781. *
  40782. * In styled mode, the markers can be styled with the `.highcharts-point`,
  40783. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  40784. */
  40785. marker?: PointMarkerOptionsObject;
  40786. /**
  40787. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  40788. * If not set, it will be based on a technical indicator type and default
  40789. * params.
  40790. */
  40791. name?: string;
  40792. /**
  40793. * (Highstock) The color for the parts of the graph or points that are below
  40794. * the threshold. Note that `zones` takes precedence over the negative
  40795. * color. Using `negativeColor` is equivalent to applying a zone with value
  40796. * of 0.
  40797. */
  40798. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  40799. /**
  40800. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  40801. * dataLabels.
  40802. */
  40803. opacity?: number;
  40804. /**
  40805. * (Highstock) Paramters used in calculation of regression series' points.
  40806. */
  40807. params?: PlotEmaParamsOptions;
  40808. /**
  40809. * (Highstock) Properties for each single point.
  40810. */
  40811. point?: PlotSeriesPointOptions;
  40812. /**
  40813. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  40814. * individual series. Overrides the chart wide configuration.
  40815. */
  40816. pointDescriptionFormatter?: Function;
  40817. /**
  40818. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  40819. * true, the checkbox next to the series name in the legend will be checked
  40820. * for a selected series.
  40821. */
  40822. selected?: boolean;
  40823. /**
  40824. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  40825. * the shadow can be an object configuration containing `color`, `offsetX`,
  40826. * `offsetY`, `opacity` and `width`.
  40827. */
  40828. shadow?: (boolean|ShadowOptionsObject);
  40829. /**
  40830. * (Highstock) If true, a checkbox is displayed next to the legend item to
  40831. * allow selecting the series. The state of the checkbox is determined by
  40832. * the `selected` option.
  40833. */
  40834. showCheckbox?: boolean;
  40835. /**
  40836. * (Highstock) Whether to display this particular series or series type in
  40837. * the legend. Standalone series are shown in legend by default, and linked
  40838. * series are not. Since v7.2.0 it is possible to show series that use
  40839. * colorAxis by setting this option to `true`.
  40840. */
  40841. showInLegend?: boolean;
  40842. /**
  40843. * (Highstock) If set to `true`, the accessibility module will skip past the
  40844. * points in this series for keyboard navigation.
  40845. */
  40846. skipKeyboardNavigation?: boolean;
  40847. /**
  40848. * (Highcharts, Highstock) When this is true, the series will not cause the
  40849. * Y axis to cross the zero plane (or threshold option) unless the data
  40850. * actually crosses the plane.
  40851. *
  40852. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  40853. * make the Y axis show negative values according to the `minPadding`
  40854. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  40855. */
  40856. softThreshold?: boolean;
  40857. states?: SeriesStatesOptionsObject;
  40858. /**
  40859. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  40860. * values are `left`, `center` and `right`.
  40861. */
  40862. step?: OptionsStepValue;
  40863. /**
  40864. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  40865. * event on a series isn't triggered until the mouse moves over another
  40866. * series, or out of the plot area. When false, the `mouseOut` event on a
  40867. * series is triggered when the mouse leaves the area around the series'
  40868. * graph or markers. This also implies the tooltip when not shared. When
  40869. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  40870. * be hidden when moving the mouse between series. Defaults to true for line
  40871. * and area type series, but to false for columns, pies etc.
  40872. *
  40873. * **Note:** The boost module will force this option because of technical
  40874. * limitations.
  40875. */
  40876. stickyTracking?: boolean;
  40877. /**
  40878. * (Highcharts, Highstock) The threshold, also called zero level or base
  40879. * level. For line type series this is only used in conjunction with
  40880. * negativeColor.
  40881. */
  40882. threshold?: number;
  40883. /**
  40884. * (Highstock) A configuration object for the tooltip rendering of each
  40885. * single series. Properties are inherited from tooltip, but only the
  40886. * following properties can be defined on a series level.
  40887. */
  40888. tooltip?: SeriesTooltipOptionsObject;
  40889. /**
  40890. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  40891. * is longer than this, only one dimensional arrays of numbers, or two
  40892. * dimensional arrays with x and y values are allowed. Also, only the first
  40893. * point is tested, and the rest are assumed to be the same format. This
  40894. * saves expensive data checking and indexing in long series. Set it to `0`
  40895. * disable.
  40896. *
  40897. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  40898. * two dimensional arrays are allowed.
  40899. */
  40900. turboThreshold?: number;
  40901. /**
  40902. * (Highstock) Set the initial visibility of the series.
  40903. */
  40904. visible?: boolean;
  40905. /**
  40906. * (Highmaps) Define the z index of the series.
  40907. */
  40908. zIndex?: number;
  40909. /**
  40910. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  40911. */
  40912. zoneAxis?: string;
  40913. /**
  40914. * (Highcharts, Highstock) An array defining zones within a series. Zones
  40915. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  40916. * the `zoneAxis` option. The zone definitions have to be in ascending order
  40917. * regarding to the value.
  40918. *
  40919. * In styled mode, the color zones are styled with the
  40920. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  40921. * option (view live demo).
  40922. */
  40923. zones?: Array<SeriesZonesOptionsObject>;
  40924. }
  40925. /**
  40926. * (Highstock) Paramters used in calculation of regression series' points.
  40927. */
  40928. export interface PlotEmaParamsOptions {
  40929. /**
  40930. * (Highstock) The point index which indicator calculations will base. For
  40931. * example using OHLC data, index=2 means the indicator will be calculated
  40932. * using Low values.
  40933. *
  40934. * By default index value used to be set to 0. Since Highstock 7 by default
  40935. * index is set to 3 which means that the ema indicator will be calculated
  40936. * using Close values.
  40937. */
  40938. index?: number;
  40939. /**
  40940. * (Highstock) The base period for indicator calculations. This is the
  40941. * number of data points which are taken into account for the indicator
  40942. * calculations.
  40943. */
  40944. period?: number;
  40945. }
  40946. /**
  40947. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  40948. * is displayed. The animation can also be set as a configuration object. Please
  40949. * note that this option only applies to the initial animation of the series
  40950. * itself. For other animations, see chart.animation and the animation parameter
  40951. * under the API methods. The following properties are supported:
  40952. *
  40953. * - `defer`: The animation delay time in milliseconds.
  40954. *
  40955. * - `duration`: The duration of the animation in milliseconds.
  40956. *
  40957. * - `easing`: Can be a string reference to an easing function set on the `Math`
  40958. * object or a function. See the _Custom easing function_ demo below.
  40959. *
  40960. * Due to poor performance, animation is disabled in old IE browsers for several
  40961. * chart types.
  40962. */
  40963. export interface PlotErrorbarAnimationOptions {
  40964. defer?: number;
  40965. }
  40966. /**
  40967. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  40968. * animation when a series is displayed for the `dataLabels`. The animation can
  40969. * also be set as a configuration object. Please note that this option only
  40970. * applies to the initial animation. For other animations, see chart.animation
  40971. * and the animation parameter under the API methods. The following properties
  40972. * are supported:
  40973. *
  40974. * - `defer`: The animation delay time in milliseconds.
  40975. */
  40976. export interface PlotErrorbarDataLabelsAnimationOptions {
  40977. /**
  40978. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  40979. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  40980. * inherits defer time from the series.animation.defer.
  40981. */
  40982. defer?: number;
  40983. }
  40984. /**
  40985. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  40986. * appearing next to each data point.
  40987. *
  40988. * Since v6.2.0, multiple data labels can be applied to each single point by
  40989. * defining them as an array of configs.
  40990. *
  40991. * In styled mode, the data labels can be styled with the
  40992. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  40993. * example).
  40994. */
  40995. export interface PlotErrorbarDataLabelsOptions {
  40996. /**
  40997. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  40998. * compared to the point. If `right`, the right side of the label should be
  40999. * touching the point. For points with an extent, like columns, the
  41000. * alignments also dictates how to align it inside the box, as given with
  41001. * the inside option. Can be one of `left`, `center` or `right`.
  41002. */
  41003. align?: string;
  41004. /**
  41005. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  41006. * overlap. To make the labels less sensitive for overlapping, the
  41007. * dataLabels.padding can be set to 0.
  41008. */
  41009. allowOverlap?: boolean;
  41010. /**
  41011. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  41012. * animation when a series is displayed for the `dataLabels`. The animation
  41013. * can also be set as a configuration object. Please note that this option
  41014. * only applies to the initial animation. For other animations, see
  41015. * chart.animation and the animation parameter under the API methods. The
  41016. * following properties are supported:
  41017. *
  41018. * - `defer`: The animation delay time in milliseconds.
  41019. */
  41020. animation?: (boolean|PlotErrorbarDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  41021. /**
  41022. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  41023. * for the data label.
  41024. */
  41025. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  41026. /**
  41027. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  41028. * label. Defaults to `undefined`.
  41029. */
  41030. borderColor?: (ColorString|GradientColorObject|PatternObject);
  41031. /**
  41032. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  41033. * the data label.
  41034. */
  41035. borderRadius?: number;
  41036. /**
  41037. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  41038. * the data label.
  41039. */
  41040. borderWidth?: number;
  41041. /**
  41042. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  41043. * Particularly in styled mode, this can be used to give each series' or
  41044. * point's data label unique styling. In addition to this option, a default
  41045. * color class name is added so that we can give the labels a contrast text
  41046. * shadow.
  41047. */
  41048. className?: string;
  41049. /**
  41050. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  41051. * labels. Defaults to `undefined`. For certain series types, like column or
  41052. * map, the data labels can be drawn inside the points. In this case the
  41053. * data label will be drawn with maximum contrast by default. Additionally,
  41054. * it will be given a `text-outline` style with the opposite color, to
  41055. * further increase the contrast. This can be overridden by setting the
  41056. * `text-outline` style to `none` in the `dataLabels.style` option.
  41057. */
  41058. color?: (ColorString|GradientColorObject|PatternObject);
  41059. /**
  41060. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  41061. * are outside the plot area. By default, the data label is moved inside the
  41062. * plot area according to the overflow option.
  41063. */
  41064. crop?: boolean;
  41065. /**
  41066. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  41067. * labels until the initial series animation has finished. Setting to
  41068. * `false` renders the data label immediately. If set to `true` inherits the
  41069. * defer time set in plotOptions.series.animation.
  41070. */
  41071. defer?: boolean;
  41072. /**
  41073. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  41074. * labels.
  41075. */
  41076. enabled?: boolean;
  41077. /**
  41078. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  41079. * of which data labels to display. The declarative filter is designed for
  41080. * use when callback functions are not available, like when the chart
  41081. * options require a pure JSON structure or for use with graphical editors.
  41082. * For programmatic control, use the `formatter` instead, and return
  41083. * `undefined` to disable a single data label.
  41084. */
  41085. filter?: DataLabelsFilterOptionsObject;
  41086. /**
  41087. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  41088. * label. Available variables are the same as for `formatter`.
  41089. */
  41090. format?: string;
  41091. /**
  41092. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  41093. * format the data label. Note that if a `format` is defined, the format
  41094. * takes precedence and the formatter is ignored.
  41095. */
  41096. formatter?: DataLabelsFormatterCallbackFunction;
  41097. /**
  41098. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  41099. * columns or map areas, whether to align the data label inside the box or
  41100. * to the actual value point. Defaults to `false` in most cases, `true` in
  41101. * stacked columns.
  41102. */
  41103. inside?: boolean;
  41104. /**
  41105. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  41106. * of null. Works analogously to format. `nullFormat` can be applied only to
  41107. * series which support displaying null points.
  41108. */
  41109. nullFormat?: (boolean|string);
  41110. /**
  41111. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  41112. * that defines formatting for points with the value of null. Works
  41113. * analogously to formatter. `nullPointFormatter` can be applied only to
  41114. * series which support displaying null points.
  41115. */
  41116. nullFormatter?: DataLabelsFormatterCallbackFunction;
  41117. /**
  41118. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  41119. * flow outside the plot area. The default is `"justify"`, which aligns them
  41120. * inside the plot area. For columns and bars, this means it will be moved
  41121. * inside the bar. To display data labels outside the plot area, set `crop`
  41122. * to `false` and `overflow` to `"allow"`.
  41123. */
  41124. overflow?: DataLabelsOverflowValue;
  41125. /**
  41126. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  41127. * the `backgroundColor` is set, this is the padding within the box.
  41128. */
  41129. padding?: number;
  41130. /**
  41131. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  41132. * points. If `center` alignment is not possible, it defaults to `right`.
  41133. */
  41134. position?: AlignValue;
  41135. /**
  41136. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  41137. * that due to a more complex structure, backgrounds, borders and padding
  41138. * will be lost on a rotated data label.
  41139. */
  41140. rotation?: number;
  41141. /**
  41142. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  41143. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  41144. * an object configuration containing `color`, `offsetX`, `offsetY`,
  41145. * `opacity` and `width`.
  41146. */
  41147. shadow?: (boolean|ShadowOptionsObject);
  41148. /**
  41149. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  41150. * the border around the label. Symbols are predefined functions on the
  41151. * Renderer object.
  41152. */
  41153. shape?: string;
  41154. /**
  41155. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  41156. * default `color` setting is `"contrast"`, which is a pseudo color that
  41157. * Highcharts picks up and applies the maximum contrast to the underlying
  41158. * point item, for example the bar in a bar chart.
  41159. *
  41160. * The `textOutline` is a pseudo property that applies an outline of the
  41161. * given width with the given color, which by default is the maximum
  41162. * contrast to the text. So a bright text color will result in a black text
  41163. * outline for maximum readability on a mixed background. In some cases,
  41164. * especially with grayscale text, the text outline doesn't work well, in
  41165. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  41166. * is true, the `textOutline` will not be picked up. In this, case, the same
  41167. * effect can be acheived through the `text-shadow` CSS property.
  41168. *
  41169. * For some series types, where each point has an extent, like for example
  41170. * tree maps, the data label may overflow the point. There are two
  41171. * strategies for handling overflow. By default, the text will wrap to
  41172. * multiple lines. The other strategy is to set `style.textOverflow` to
  41173. * `ellipsis`, which will keep the text on one line plus it will break
  41174. * inside long words.
  41175. */
  41176. style?: CSSObject;
  41177. /**
  41178. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  41179. * should follow marker's shape. Border and background are disabled for a
  41180. * label that follows a path.
  41181. *
  41182. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  41183. * to true will disable this option.
  41184. */
  41185. textPath?: DataLabelsTextPathOptionsObject;
  41186. /**
  41187. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  41188. * the labels.
  41189. */
  41190. useHTML?: boolean;
  41191. /**
  41192. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  41193. * label. Can be one of `top`, `middle` or `bottom`. The default value
  41194. * depends on the data, for instance in a column chart, the label is above
  41195. * positive values and below negative values.
  41196. */
  41197. verticalAlign?: string;
  41198. /**
  41199. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  41200. * label relative to the point in pixels.
  41201. */
  41202. x?: number;
  41203. /**
  41204. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  41205. * label relative to the point in pixels.
  41206. */
  41207. y?: number;
  41208. /**
  41209. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  41210. * The default Z index puts it above the series. Use a Z index of 2 to
  41211. * display it behind the series.
  41212. */
  41213. z?: number;
  41214. }
  41215. /**
  41216. * (Highcharts, Highstock) Options for the series data sorting.
  41217. */
  41218. export interface PlotErrorbarDataSortingOptions {
  41219. /**
  41220. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  41221. * Use xAxis.reversed to change the sorting order.
  41222. */
  41223. enabled?: boolean;
  41224. /**
  41225. * (Highcharts, Highstock) Whether to allow matching points by name in an
  41226. * update. If this option is disabled, points will be matched by order.
  41227. */
  41228. matchByName?: boolean;
  41229. /**
  41230. * (Highcharts, Highstock) Determines what data value should be used to sort
  41231. * by.
  41232. */
  41233. sortKey?: string;
  41234. }
  41235. /**
  41236. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  41237. * one state by default, the `default` state.
  41238. */
  41239. export interface PlotErrorbarDragDropGuideBoxOptions {
  41240. /**
  41241. * (Highcharts, Highstock) Style options for the guide box default state.
  41242. */
  41243. default?: DragDropGuideBoxOptionsObject;
  41244. }
  41245. /**
  41246. * (Highcharts, Highstock) Error bars are a graphical representation of the
  41247. * variability of data and are used on graphs to indicate the error, or
  41248. * uncertainty in a reported measurement.
  41249. *
  41250. * In TypeScript the type option must always be set.
  41251. *
  41252. * Configuration options for the series are given in three levels:
  41253. *
  41254. * 1. Options for all series in a chart are defined in the plotOptions.series
  41255. * object.
  41256. *
  41257. * 2. Options for all `errorbar` series are defined in plotOptions.errorbar.
  41258. *
  41259. * 3. Options for one single series are given in the series instance array. (see
  41260. * online documentation for example)
  41261. */
  41262. export interface PlotErrorbarOptions {
  41263. /**
  41264. * (Highcharts, Highstock) Accessibility options for a series.
  41265. */
  41266. accessibility?: SeriesAccessibilityOptionsObject;
  41267. /**
  41268. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  41269. * rendered. If `true`, areas which don't correspond to a data point, are
  41270. * rendered as `null` points. If `false`, those areas are skipped.
  41271. */
  41272. allAreas?: boolean;
  41273. /**
  41274. * (Highcharts, Highstock) Allow this series' points to be selected by
  41275. * clicking on the graphic (columns, point markers, pie slices, map areas
  41276. * etc).
  41277. *
  41278. * The selected points can be handled by point select and unselect events,
  41279. * or collectively by the getSelectedPoints function.
  41280. *
  41281. * And alternative way of selecting points is through dragging.
  41282. */
  41283. allowPointSelect?: boolean;
  41284. /**
  41285. * (Highcharts, Highstock) Enable or disable the initial animation when a
  41286. * series is displayed. The animation can also be set as a configuration
  41287. * object. Please note that this option only applies to the initial
  41288. * animation of the series itself. For other animations, see chart.animation
  41289. * and the animation parameter under the API methods. The following
  41290. * properties are supported:
  41291. *
  41292. * - `defer`: The animation delay time in milliseconds.
  41293. *
  41294. * - `duration`: The duration of the animation in milliseconds.
  41295. *
  41296. * - `easing`: Can be a string reference to an easing function set on the
  41297. * `Math` object or a function. See the _Custom easing function_ demo below.
  41298. *
  41299. * Due to poor performance, animation is disabled in old IE browsers for
  41300. * several chart types.
  41301. */
  41302. animation?: (boolean|PlotErrorbarAnimationOptions|Partial<AnimationOptionsObject>);
  41303. /**
  41304. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  41305. * initial animation by default when the total number of points in the chart
  41306. * is too high. For example, for a column chart and its derivatives,
  41307. * animation does not run if there is more than 250 points totally. To
  41308. * disable this cap, set `animationLimit` to `Infinity`.
  41309. */
  41310. animationLimit?: number;
  41311. /**
  41312. * (Highcharts) The dash style of the box.
  41313. */
  41314. boxDashStyle?: DashStyleValue;
  41315. /**
  41316. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  41317. * the category, ignoring null or missing points. When `false`, space will
  41318. * be reserved for null or missing points.
  41319. */
  41320. centerInCategory?: boolean;
  41321. /**
  41322. * (Highcharts, Highstock) An additional class name to apply to the series'
  41323. * graphical elements. This option does not replace default class names of
  41324. * the graphical element.
  41325. */
  41326. className?: string;
  41327. /**
  41328. * (Highcharts, Highstock) Disable this option to allow series rendering in
  41329. * the whole plotting area.
  41330. *
  41331. * **Note:** Clipping should be always enabled when chart.zoomType is set
  41332. */
  41333. clip?: boolean;
  41334. /**
  41335. * (Highcharts) The main color of the bars. This can be overridden by
  41336. * stemColor and whiskerColor individually.
  41337. */
  41338. color?: (ColorString|GradientColorObject|PatternObject);
  41339. /**
  41340. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  41341. * this number defines which colorAxis the particular series is connected
  41342. * to. It refers to either the axis id or the index of the axis in the
  41343. * colorAxis array, with 0 being the first. Set this option to false to
  41344. * prevent a series from connecting to the default color axis.
  41345. *
  41346. * Since v7.2.0 the option can also be an axis id or an axis index instead
  41347. * of a boolean flag.
  41348. */
  41349. colorAxis?: (boolean|number|string);
  41350. /**
  41351. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  41352. * from the global colors or series-specific plotOptions.column.colors
  41353. * collections, this option determines whether the chart should receive one
  41354. * color per series or one color per point.
  41355. *
  41356. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  41357. * and instead this option gives the points individual color class names on
  41358. * the form `highcharts-color-{n}`.
  41359. */
  41360. colorByPoint?: boolean;
  41361. /**
  41362. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  41363. * for the series, so its graphic representations are given the class name
  41364. * `highcharts-color-{n}`.
  41365. */
  41366. colorIndex?: number;
  41367. /**
  41368. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  41369. * used to calculate point color if `colorAxis` is used. Requires to set
  41370. * `min` and `max` if some custom point property is used or if approximation
  41371. * for data grouping is set to `'sum'`.
  41372. */
  41373. colorKey?: string;
  41374. /**
  41375. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  41376. * color set to apply instead of the global colors when colorByPoint is
  41377. * true.
  41378. */
  41379. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  41380. /**
  41381. * (Highstock) Compare the values of the series against the first non-null,
  41382. * non- zero value in the visible range. The y axis will show percentage or
  41383. * absolute change depending on whether `compare` is set to `"percent"` or
  41384. * `"value"`. When this is applied to multiple series, it allows comparing
  41385. * the development of the series against each other. Adds a `change` field
  41386. * to every point object.
  41387. */
  41388. compare?: string;
  41389. /**
  41390. * (Highstock) When compare is `percent`, this option dictates whether to
  41391. * use 0 or 100 as the base of comparison.
  41392. */
  41393. compareBase?: (0|100);
  41394. /**
  41395. * (Highstock) Defines if comparison should start from the first point
  41396. * within the visible range or should start from the first point **before**
  41397. * the range.
  41398. *
  41399. * In other words, this flag determines if first point within the visible
  41400. * range will have 0% (`compareStart=true`) or should have been already
  41401. * calculated according to the previous point (`compareStart=false`).
  41402. */
  41403. compareStart?: boolean;
  41404. /**
  41405. * (Gantt) Override Pathfinder connector options for a series. Requires
  41406. * Highcharts Gantt to be loaded.
  41407. */
  41408. connectors?: SeriesConnectorsOptionsObject;
  41409. /**
  41410. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  41411. * rounded to its nearest pixel in order to render sharp on screen. In some
  41412. * cases, when there are a lot of densely packed columns, this leads to
  41413. * visible difference in column widths or distance between columns. In these
  41414. * cases, setting `crisp` to `false` may look better, even though each
  41415. * column is rendered blurry.
  41416. */
  41417. crisp?: boolean;
  41418. /**
  41419. * (Highcharts, Highstock, Gantt) When the series contains less points than
  41420. * the crop threshold, all points are drawn, event if the points fall
  41421. * outside the visible plot area at the current zoom. The advantage of
  41422. * drawing all points (including markers and columns), is that animation is
  41423. * performed on updates. On the other hand, when the series contains more
  41424. * points than the crop threshold, the series data is cropped to only
  41425. * contain points that fall within the plot area. The advantage of cropping
  41426. * away invisible points is to increase performance on large series.
  41427. */
  41428. cropThreshold?: number;
  41429. /**
  41430. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  41431. * click events attached to the series, to signal to the user that the
  41432. * points and lines can be clicked.
  41433. *
  41434. * In styled mode, the series cursor can be set with the same classes as
  41435. * listed under series.color.
  41436. */
  41437. cursor?: (string|CursorValue);
  41438. /**
  41439. * (Highcharts, Highstock) A reserved subspace to store options and values
  41440. * for customized functionality. Here you can add additional data for your
  41441. * own event callbacks and formatter callbacks.
  41442. */
  41443. custom?: Dictionary<any>;
  41444. /**
  41445. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  41446. * for some series types the outline of each shape.
  41447. *
  41448. * In styled mode, the stroke dash-array can be set with the same classes as
  41449. * listed under series.color.
  41450. */
  41451. dashStyle?: DashStyleValue;
  41452. /**
  41453. * (Highstock) Data grouping is the concept of sampling the data values into
  41454. * larger blocks in order to ease readability and increase performance of
  41455. * the JavaScript charts. Highstock by default applies data grouping when
  41456. * the points become closer than a certain pixel value, determined by the
  41457. * `groupPixelWidth` option.
  41458. *
  41459. * If data grouping is applied, the grouping information of grouped points
  41460. * can be read from the Point.dataGroup. If point options other than the
  41461. * data itself are set, for example `name` or `color` or custom properties,
  41462. * the grouping logic doesn't know how to group it. In this case the options
  41463. * of the first point instance are copied over to the group point. This can
  41464. * be altered through a custom `approximation` callback function.
  41465. */
  41466. dataGrouping?: DataGroupingOptionsObject;
  41467. /**
  41468. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  41469. * labels, appearing next to each data point.
  41470. *
  41471. * Since v6.2.0, multiple data labels can be applied to each single point by
  41472. * defining them as an array of configs.
  41473. *
  41474. * In styled mode, the data labels can be styled with the
  41475. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  41476. * (see example).
  41477. */
  41478. dataLabels?: (PlotErrorbarDataLabelsOptions|Array<PlotErrorbarDataLabelsOptions>);
  41479. /**
  41480. * (Highcharts, Highstock) Options for the series data sorting.
  41481. */
  41482. dataSorting?: (DataSortingOptionsObject|PlotErrorbarDataSortingOptions);
  41483. /**
  41484. * (Highcharts) Depth of the columns in a 3D column chart.
  41485. */
  41486. depth?: number;
  41487. /**
  41488. * (Highcharts, Highstock) A description of the series to add to the screen
  41489. * reader information about the series.
  41490. */
  41491. description?: string;
  41492. /**
  41493. * (Highcharts, Highstock) The draggable-points module allows points to be
  41494. * moved around or modified in the chart. In addition to the options
  41495. * mentioned under the `dragDrop` API structure, the module fires three
  41496. * events, point.dragStart, point.drag and point.drop.
  41497. */
  41498. dragDrop?: SeriesDragDropOptionsObject;
  41499. /**
  41500. * (Highcharts) 3D columns only. The color of the edges. Similar to
  41501. * `borderColor`, except it defaults to the same color as the column.
  41502. */
  41503. edgeColor?: ColorString;
  41504. /**
  41505. * (Highcharts) 3D columns only. The width of the colored edges.
  41506. */
  41507. edgeWidth?: number;
  41508. /**
  41509. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  41510. * specific series. This includes point tooltips and click events on graphs
  41511. * and points. For large datasets it improves performance.
  41512. */
  41513. enableMouseTracking?: boolean;
  41514. /**
  41515. * (Highcharts, Highstock) General event handlers for the series items.
  41516. * These event hooks can also be attached to the series at run time using
  41517. * the `Highcharts.addEvent` function.
  41518. */
  41519. events?: SeriesEventsOptionsObject;
  41520. /**
  41521. * (Highcharts) The fill color of the box.
  41522. *
  41523. * In styled mode, the fill color can be set with the
  41524. * `.highcharts-boxplot-box` class.
  41525. */
  41526. fillColor?: (ColorString|GradientColorObject|PatternObject);
  41527. /**
  41528. * (Highcharts, Highstock) Determines whether the series should look for the
  41529. * nearest point in both dimensions or just the x-dimension when hovering
  41530. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  41531. * other series. If the data has duplicate x-values, it is recommended to
  41532. * set this to `'xy'` to allow hovering over all points.
  41533. *
  41534. * Applies only to series types using nearest neighbor search (not direct
  41535. * hover) for tooltip.
  41536. */
  41537. findNearestPointBy?: OptionsFindNearestPointByValue;
  41538. /**
  41539. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  41540. * chart width or only the zoomed area when zooming in on parts of the X
  41541. * axis. By default, the Y axis adjusts to the min and max of the visible
  41542. * data. Cartesian series only.
  41543. */
  41544. getExtremesFromAll?: boolean;
  41545. /**
  41546. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  41547. * let them render independent of each other. Non-grouped columns will be
  41548. * laid out individually and overlap each other.
  41549. */
  41550. grouping?: boolean;
  41551. /**
  41552. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  41553. * axis units.
  41554. */
  41555. groupPadding?: number;
  41556. /**
  41557. * (Highcharts, Highstock) When set to `false` will prevent the series data
  41558. * from being included in any form of data export.
  41559. *
  41560. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  41561. * `includeInCSVExport`.
  41562. */
  41563. includeInDataExport?: boolean;
  41564. /**
  41565. * (Highmaps) What property to join the `mapData` to the value data. For
  41566. * example, if joinBy is "code", the mapData items with a specific code is
  41567. * merged into the data with the same code. For maps loaded from GeoJSON,
  41568. * the keys may be held in each point's `properties` object.
  41569. *
  41570. * The joinBy option can also be an array of two values, where the first
  41571. * points to a key in the `mapData`, and the second points to another key in
  41572. * the `data`.
  41573. *
  41574. * When joinBy is `null`, the map items are joined by their position in the
  41575. * array, which performs much better in maps with many data points. This is
  41576. * the recommended option if you are printing more than a thousand data
  41577. * points and have a backend that can preprocess the data into a parallel
  41578. * array of the mapData.
  41579. */
  41580. joinBy?: (string|Array<string>);
  41581. /**
  41582. * (Highcharts, Highstock) An array specifying which option maps to which
  41583. * key in the data point array. This makes it convenient to work with
  41584. * unstructured data arrays from different sources.
  41585. */
  41586. keys?: Array<string>;
  41587. /**
  41588. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  41589. * series as possible in a natural way, seeking to avoid other series. The
  41590. * goal of this feature is to make the chart more easily readable, like if a
  41591. * human designer placed the labels in the optimal position.
  41592. *
  41593. * The series labels currently work with series types having a `graph` or an
  41594. * `area`.
  41595. */
  41596. label?: SeriesLabelOptionsObject;
  41597. /**
  41598. * (Highstock) The line marks the last price from all points.
  41599. */
  41600. lastPrice?: SeriesLastPriceOptionsObject;
  41601. /**
  41602. * (Highstock) The line marks the last price from visible range of points.
  41603. */
  41604. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  41605. /**
  41606. * (Highcharts) The width of the line surrounding the box. If any of
  41607. * stemWidth, medianWidth or whiskerWidth are `null`, the lineWidth also
  41608. * applies to these lines.
  41609. */
  41610. lineWidth?: number;
  41611. /**
  41612. * (Highcharts) The parent series of the error bar. The default value links
  41613. * it to the previous series. Otherwise, use the id of the parent series.
  41614. */
  41615. linkedTo?: string;
  41616. /**
  41617. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  41618. * column, translated to the height of a bar in a bar chart. This prevents
  41619. * the columns from becoming too wide when there is a small number of points
  41620. * in the chart.
  41621. */
  41622. maxPointWidth?: number;
  41623. /**
  41624. * (Highcharts) The color of the median line. If `undefined`, the general
  41625. * series color applies.
  41626. *
  41627. * In styled mode, the median stroke width can be set with the
  41628. * `.highcharts-boxplot-median` class.
  41629. */
  41630. medianColor?: (ColorString|GradientColorObject);
  41631. /**
  41632. * (Highcharts) The dash style of the median.
  41633. */
  41634. medianDashStyle?: DashStyleValue;
  41635. /**
  41636. * (Highcharts) The pixel width of the median line. If `null`, the lineWidth
  41637. * is used.
  41638. *
  41639. * In styled mode, the median stroke width can be set with the
  41640. * `.highcharts-boxplot-median` class.
  41641. */
  41642. medianWidth?: (number|null);
  41643. /**
  41644. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  41645. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  41646. * to zero) point, set the minimal point length to a pixel value like 3\. In
  41647. * stacked column charts, minPointLength might not be respected for tightly
  41648. * packed values.
  41649. */
  41650. minPointLength?: number;
  41651. /**
  41652. * (Highstock) Options for the corresponding navigator series if
  41653. * `showInNavigator` is `true` for this series. Available options are the
  41654. * same as any series, documented at plotOptions and series.
  41655. *
  41656. * These options are merged with options in navigator.series, and will take
  41657. * precedence if the same option is defined both places.
  41658. */
  41659. navigatorOptions?: PlotSeriesOptions;
  41660. /**
  41661. * (Highcharts, Highstock) The color for the parts of the graph or points
  41662. * that are below the threshold. Note that `zones` takes precedence over the
  41663. * negative color. Using `negativeColor` is equivalent to applying a zone
  41664. * with value of 0.
  41665. */
  41666. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  41667. /**
  41668. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  41669. * and dataLabels.
  41670. */
  41671. opacity?: number;
  41672. /**
  41673. * (Highcharts, Highstock) Properties for each single point.
  41674. */
  41675. point?: PlotSeriesPointOptions;
  41676. /**
  41677. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  41678. * but for an individual series. Overrides the chart wide configuration.
  41679. */
  41680. pointDescriptionFormatter?: Function;
  41681. /**
  41682. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  41683. * a series, `pointInterval` defines the interval of the x values. For
  41684. * example, if a series contains one value every decade starting from year
  41685. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  41686. * `pointInterval` is set in milliseconds.
  41687. *
  41688. * It can be also be combined with `pointIntervalUnit` to draw irregular
  41689. * time intervals.
  41690. *
  41691. * Please note that this options applies to the _series data_, not the
  41692. * interval of the axis ticks, which is independent.
  41693. */
  41694. pointInterval?: number;
  41695. /**
  41696. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  41697. * setting the pointInterval to irregular time units, `day`, `month` and
  41698. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  41699. * also takes the DST crossover into consideration when dealing with local
  41700. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  41701. * months, 10 years etc.
  41702. *
  41703. * Please note that this options applies to the _series data_, not the
  41704. * interval of the axis ticks, which is independent.
  41705. */
  41706. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  41707. /**
  41708. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  41709. * axis units.
  41710. */
  41711. pointPadding?: number;
  41712. /**
  41713. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  41714. * `number`.
  41715. *
  41716. * In a column chart, when pointPlacement is `"on"`, the point will not
  41717. * create any padding of the X axis. In a polar column chart this means that
  41718. * the first column points directly north. If the pointPlacement is
  41719. * `"between"`, the columns will be laid out between ticks. This is useful
  41720. * for example for visualising an amount between two points in time or in a
  41721. * certain sector of a polar chart.
  41722. *
  41723. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  41724. * is on the axis value, -0.5 is between this value and the previous, and
  41725. * 0.5 is between this value and the next. Unlike the textual options,
  41726. * numeric point placement options won't affect axis padding.
  41727. *
  41728. * Note that pointPlacement needs a pointRange to work. For column series
  41729. * this is computed, but for line-type series it needs to be set.
  41730. *
  41731. * For the `xrange` series type and gantt charts, if the Y axis is a
  41732. * category axis, the `pointPlacement` applies to the Y axis rather than the
  41733. * (typically datetime) X axis.
  41734. *
  41735. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  41736. */
  41737. pointPlacement?: (number|string);
  41738. /**
  41739. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  41740. * for. This determines the width of the column. On a categorized axis, the
  41741. * range will be 1 by default (one category unit). On linear and datetime
  41742. * axes, the range will be computed as the distance between the two closest
  41743. * data points.
  41744. *
  41745. * The default `null` means it is computed automatically, but this option
  41746. * can be used to override the automatic value.
  41747. *
  41748. * This option is set by default to 1 if data sorting is enabled.
  41749. */
  41750. pointRange?: (number|null);
  41751. /**
  41752. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  41753. * a series, pointStart defines on what value to start. For example, if a
  41754. * series contains one yearly value starting from 1945, set pointStart to
  41755. * 1945.
  41756. */
  41757. pointStart?: number;
  41758. /**
  41759. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  41760. * each column or bar point. When `null`, the width is calculated from the
  41761. * `pointPadding` and `groupPadding`. The width effects the dimension that
  41762. * is not based on the point value. For column series it is the hoizontal
  41763. * length and for bar series it is the vertical length.
  41764. */
  41765. pointWidth?: number;
  41766. /**
  41767. * (Highcharts, Highstock) Whether to select the series initially. If
  41768. * `showCheckbox` is true, the checkbox next to the series name in the
  41769. * legend will be checked for a selected series.
  41770. */
  41771. selected?: boolean;
  41772. /**
  41773. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  41774. * Since 2.3 the shadow can be an object configuration containing `color`,
  41775. * `offsetX`, `offsetY`, `opacity` and `width`.
  41776. */
  41777. shadow?: (boolean|ShadowOptionsObject);
  41778. /**
  41779. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  41780. * legend item to allow selecting the series. The state of the checkbox is
  41781. * determined by the `selected` option.
  41782. */
  41783. showCheckbox?: boolean;
  41784. /**
  41785. * (Highcharts, Highstock) Whether to display this particular series or
  41786. * series type in the legend. Standalone series are shown in legend by
  41787. * default, and linked series are not. Since v7.2.0 it is possible to show
  41788. * series that use colorAxis by setting this option to `true`.
  41789. */
  41790. showInLegend?: boolean;
  41791. /**
  41792. * (Highstock) Whether or not to show the series in the navigator. Takes
  41793. * precedence over navigator.baseSeries if defined.
  41794. */
  41795. showInNavigator?: boolean;
  41796. /**
  41797. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  41798. * skip past the points in this series for keyboard navigation.
  41799. */
  41800. skipKeyboardNavigation?: boolean;
  41801. /**
  41802. * (Highcharts, Highstock) When this is true, the series will not cause the
  41803. * Y axis to cross the zero plane (or threshold option) unless the data
  41804. * actually crosses the plane.
  41805. *
  41806. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  41807. * make the Y axis show negative values according to the `minPadding`
  41808. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  41809. */
  41810. softThreshold?: boolean;
  41811. /**
  41812. * (Highcharts, Highstock) Whether to stack the values of each series on top
  41813. * of each other. Possible values are `undefined` to disable, `"normal"` to
  41814. * stack by value or `"percent"`.
  41815. *
  41816. * When stacking is enabled, data must be sorted in ascending X order.
  41817. *
  41818. * Some stacking options are related to specific series types. In the
  41819. * streamgraph series type, the stacking option is set to `"stream"`. The
  41820. * second one is `"overlap"`, which only applies to waterfall series.
  41821. */
  41822. stacking?: OptionsStackingValue;
  41823. /**
  41824. * (Highcharts) The dash style of the stem, the vertical line extending from
  41825. * the box to the whiskers.
  41826. */
  41827. stemDashStyle?: DashStyleValue;
  41828. /**
  41829. * (Highcharts) The width of the stem, the vertical line extending from the
  41830. * box to the whiskers. If `undefined`, the width is inherited from the
  41831. * lineWidth option.
  41832. *
  41833. * In styled mode, the stem stroke width can be set with the
  41834. * `.highcharts-boxplot-stem` class.
  41835. */
  41836. stemWidth?: number;
  41837. /**
  41838. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  41839. * `mouseOut` event on a series isn't triggered until the mouse moves over
  41840. * another series, or out of the plot area. When false, the `mouseOut` event
  41841. * on a series is triggered when the mouse leaves the area around the
  41842. * series' graph or markers. This also implies the tooltip when not shared.
  41843. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  41844. * will be hidden when moving the mouse between series. Defaults to true for
  41845. * line and area type series, but to false for columns, pies etc.
  41846. *
  41847. * **Note:** The boost module will force this option because of technical
  41848. * limitations.
  41849. */
  41850. stickyTracking?: boolean;
  41851. /**
  41852. * (Highcharts) The Y axis value to serve as the base for the columns, for
  41853. * distinguishing between values above and below a threshold. If `null`, the
  41854. * columns extend from the padding Y axis minimum.
  41855. */
  41856. threshold?: (number|null);
  41857. /**
  41858. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  41859. * of each single series. Properties are inherited from tooltip, but only
  41860. * the following properties can be defined on a series level.
  41861. */
  41862. tooltip?: SeriesTooltipOptionsObject;
  41863. /**
  41864. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  41865. * is longer than this, only one dimensional arrays of numbers, or two
  41866. * dimensional arrays with x and y values are allowed. Also, only the first
  41867. * point is tested, and the rest are assumed to be the same format. This
  41868. * saves expensive data checking and indexing in long series. Set it to `0`
  41869. * disable.
  41870. *
  41871. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  41872. * two dimensional arrays are allowed.
  41873. */
  41874. turboThreshold?: number;
  41875. /**
  41876. * (Highcharts, Highstock) Set the initial visibility of the series.
  41877. */
  41878. visible?: boolean;
  41879. /**
  41880. * (Highcharts) The color of the whiskers, the horizontal lines marking low
  41881. * and high values. When `undefined`, the general series color is used.
  41882. *
  41883. * In styled mode, the whisker stroke can be set with the
  41884. * `.highcharts-boxplot-whisker` class .
  41885. */
  41886. whiskerColor?: (ColorString|GradientColorObject|PatternObject);
  41887. /**
  41888. * (Highcharts) The dash style of the whiskers.
  41889. */
  41890. whiskerDashStyle?: DashStyleValue;
  41891. /**
  41892. * (Highcharts) The length of the whiskers, the horizontal lines marking low
  41893. * and high values. It can be a numerical pixel value, or a percentage value
  41894. * of the box width. Set `0` to disable whiskers.
  41895. */
  41896. whiskerLength?: (number|string);
  41897. /**
  41898. * (Highcharts) The line width of the whiskers, the horizontal lines marking
  41899. * low and high values. When `null`, the general lineWidth applies.
  41900. */
  41901. whiskerWidth?: number;
  41902. /**
  41903. * (Highmaps) Define the z index of the series.
  41904. */
  41905. zIndex?: number;
  41906. /**
  41907. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  41908. */
  41909. zoneAxis?: string;
  41910. /**
  41911. * (Highcharts, Highstock) An array defining zones within a series. Zones
  41912. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  41913. * the `zoneAxis` option. The zone definitions have to be in ascending order
  41914. * regarding to the value.
  41915. *
  41916. * In styled mode, the color zones are styled with the
  41917. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  41918. * option (view live demo).
  41919. */
  41920. zones?: Array<SeriesZonesOptionsObject>;
  41921. }
  41922. /**
  41923. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  41924. * animation when a series is displayed for the `dataLabels`. The animation can
  41925. * also be set as a configuration object. Please note that this option only
  41926. * applies to the initial animation. For other animations, see chart.animation
  41927. * and the animation parameter under the API methods. The following properties
  41928. * are supported:
  41929. *
  41930. * - `defer`: The animation delay time in milliseconds.
  41931. */
  41932. export interface PlotFlagsDataLabelsAnimationOptions {
  41933. /**
  41934. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  41935. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  41936. * inherits defer time from the series.animation.defer.
  41937. */
  41938. defer?: number;
  41939. }
  41940. /**
  41941. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  41942. * appearing next to each data point.
  41943. *
  41944. * Since v6.2.0, multiple data labels can be applied to each single point by
  41945. * defining them as an array of configs.
  41946. *
  41947. * In styled mode, the data labels can be styled with the
  41948. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  41949. * example).
  41950. */
  41951. export interface PlotFlagsDataLabelsOptions {
  41952. /**
  41953. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  41954. * compared to the point. If `right`, the right side of the label should be
  41955. * touching the point. For points with an extent, like columns, the
  41956. * alignments also dictates how to align it inside the box, as given with
  41957. * the inside option. Can be one of `left`, `center` or `right`.
  41958. */
  41959. align?: string;
  41960. /**
  41961. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  41962. * overlap. To make the labels less sensitive for overlapping, the
  41963. * dataLabels.padding can be set to 0.
  41964. */
  41965. allowOverlap?: boolean;
  41966. /**
  41967. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  41968. * animation when a series is displayed for the `dataLabels`. The animation
  41969. * can also be set as a configuration object. Please note that this option
  41970. * only applies to the initial animation. For other animations, see
  41971. * chart.animation and the animation parameter under the API methods. The
  41972. * following properties are supported:
  41973. *
  41974. * - `defer`: The animation delay time in milliseconds.
  41975. */
  41976. animation?: (boolean|PlotFlagsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  41977. /**
  41978. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  41979. * for the data label.
  41980. */
  41981. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  41982. /**
  41983. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  41984. * label. Defaults to `undefined`.
  41985. */
  41986. borderColor?: (ColorString|GradientColorObject|PatternObject);
  41987. /**
  41988. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  41989. * the data label.
  41990. */
  41991. borderRadius?: number;
  41992. /**
  41993. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  41994. * the data label.
  41995. */
  41996. borderWidth?: number;
  41997. /**
  41998. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  41999. * Particularly in styled mode, this can be used to give each series' or
  42000. * point's data label unique styling. In addition to this option, a default
  42001. * color class name is added so that we can give the labels a contrast text
  42002. * shadow.
  42003. */
  42004. className?: string;
  42005. /**
  42006. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  42007. * labels. Defaults to `undefined`. For certain series types, like column or
  42008. * map, the data labels can be drawn inside the points. In this case the
  42009. * data label will be drawn with maximum contrast by default. Additionally,
  42010. * it will be given a `text-outline` style with the opposite color, to
  42011. * further increase the contrast. This can be overridden by setting the
  42012. * `text-outline` style to `none` in the `dataLabels.style` option.
  42013. */
  42014. color?: (ColorString|GradientColorObject|PatternObject);
  42015. /**
  42016. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  42017. * are outside the plot area. By default, the data label is moved inside the
  42018. * plot area according to the overflow option.
  42019. */
  42020. crop?: boolean;
  42021. /**
  42022. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  42023. * labels until the initial series animation has finished. Setting to
  42024. * `false` renders the data label immediately. If set to `true` inherits the
  42025. * defer time set in plotOptions.series.animation.
  42026. */
  42027. defer?: boolean;
  42028. /**
  42029. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  42030. * labels.
  42031. */
  42032. enabled?: boolean;
  42033. /**
  42034. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  42035. * of which data labels to display. The declarative filter is designed for
  42036. * use when callback functions are not available, like when the chart
  42037. * options require a pure JSON structure or for use with graphical editors.
  42038. * For programmatic control, use the `formatter` instead, and return
  42039. * `undefined` to disable a single data label.
  42040. */
  42041. filter?: DataLabelsFilterOptionsObject;
  42042. /**
  42043. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  42044. * label. Available variables are the same as for `formatter`.
  42045. */
  42046. format?: string;
  42047. /**
  42048. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  42049. * format the data label. Note that if a `format` is defined, the format
  42050. * takes precedence and the formatter is ignored.
  42051. */
  42052. formatter?: DataLabelsFormatterCallbackFunction;
  42053. /**
  42054. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  42055. * columns or map areas, whether to align the data label inside the box or
  42056. * to the actual value point. Defaults to `false` in most cases, `true` in
  42057. * stacked columns.
  42058. */
  42059. inside?: boolean;
  42060. /**
  42061. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  42062. * of null. Works analogously to format. `nullFormat` can be applied only to
  42063. * series which support displaying null points.
  42064. */
  42065. nullFormat?: (boolean|string);
  42066. /**
  42067. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  42068. * that defines formatting for points with the value of null. Works
  42069. * analogously to formatter. `nullPointFormatter` can be applied only to
  42070. * series which support displaying null points.
  42071. */
  42072. nullFormatter?: DataLabelsFormatterCallbackFunction;
  42073. /**
  42074. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  42075. * flow outside the plot area. The default is `"justify"`, which aligns them
  42076. * inside the plot area. For columns and bars, this means it will be moved
  42077. * inside the bar. To display data labels outside the plot area, set `crop`
  42078. * to `false` and `overflow` to `"allow"`.
  42079. */
  42080. overflow?: DataLabelsOverflowValue;
  42081. /**
  42082. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  42083. * the `backgroundColor` is set, this is the padding within the box.
  42084. */
  42085. padding?: number;
  42086. /**
  42087. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  42088. * points. If `center` alignment is not possible, it defaults to `right`.
  42089. */
  42090. position?: AlignValue;
  42091. /**
  42092. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  42093. * that due to a more complex structure, backgrounds, borders and padding
  42094. * will be lost on a rotated data label.
  42095. */
  42096. rotation?: number;
  42097. /**
  42098. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  42099. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  42100. * an object configuration containing `color`, `offsetX`, `offsetY`,
  42101. * `opacity` and `width`.
  42102. */
  42103. shadow?: (boolean|ShadowOptionsObject);
  42104. /**
  42105. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  42106. * the border around the label. Symbols are predefined functions on the
  42107. * Renderer object.
  42108. */
  42109. shape?: string;
  42110. /**
  42111. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  42112. * default `color` setting is `"contrast"`, which is a pseudo color that
  42113. * Highcharts picks up and applies the maximum contrast to the underlying
  42114. * point item, for example the bar in a bar chart.
  42115. *
  42116. * The `textOutline` is a pseudo property that applies an outline of the
  42117. * given width with the given color, which by default is the maximum
  42118. * contrast to the text. So a bright text color will result in a black text
  42119. * outline for maximum readability on a mixed background. In some cases,
  42120. * especially with grayscale text, the text outline doesn't work well, in
  42121. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  42122. * is true, the `textOutline` will not be picked up. In this, case, the same
  42123. * effect can be acheived through the `text-shadow` CSS property.
  42124. *
  42125. * For some series types, where each point has an extent, like for example
  42126. * tree maps, the data label may overflow the point. There are two
  42127. * strategies for handling overflow. By default, the text will wrap to
  42128. * multiple lines. The other strategy is to set `style.textOverflow` to
  42129. * `ellipsis`, which will keep the text on one line plus it will break
  42130. * inside long words.
  42131. */
  42132. style?: CSSObject;
  42133. /**
  42134. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  42135. * should follow marker's shape. Border and background are disabled for a
  42136. * label that follows a path.
  42137. *
  42138. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  42139. * to true will disable this option.
  42140. */
  42141. textPath?: DataLabelsTextPathOptionsObject;
  42142. /**
  42143. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  42144. * the labels.
  42145. */
  42146. useHTML?: boolean;
  42147. /**
  42148. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  42149. * label. Can be one of `top`, `middle` or `bottom`. The default value
  42150. * depends on the data, for instance in a column chart, the label is above
  42151. * positive values and below negative values.
  42152. */
  42153. verticalAlign?: string;
  42154. /**
  42155. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  42156. * label relative to the point in pixels.
  42157. */
  42158. x?: number;
  42159. /**
  42160. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  42161. * label relative to the point in pixels.
  42162. */
  42163. y?: number;
  42164. /**
  42165. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  42166. * The default Z index puts it above the series. Use a Z index of 2 to
  42167. * display it behind the series.
  42168. */
  42169. z?: number;
  42170. }
  42171. /**
  42172. * (Highcharts, Highstock) Options for the series data sorting.
  42173. */
  42174. export interface PlotFlagsDataSortingOptions {
  42175. /**
  42176. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  42177. * Use xAxis.reversed to change the sorting order.
  42178. */
  42179. enabled?: boolean;
  42180. /**
  42181. * (Highcharts, Highstock) Whether to allow matching points by name in an
  42182. * update. If this option is disabled, points will be matched by order.
  42183. */
  42184. matchByName?: boolean;
  42185. /**
  42186. * (Highcharts, Highstock) Determines what data value should be used to sort
  42187. * by.
  42188. */
  42189. sortKey?: string;
  42190. }
  42191. /**
  42192. * (Highstock) Style options for the guide box. The guide box has one state by
  42193. * default, the `default` state.
  42194. */
  42195. export interface PlotFlagsDragDropGuideBoxOptions {
  42196. /**
  42197. * (Highstock) Style options for the guide box default state.
  42198. */
  42199. default?: DragDropGuideBoxOptionsObject;
  42200. }
  42201. /**
  42202. * (Highstock) Flags are used to mark events in stock charts. They can be added
  42203. * on the timeline, or attached to a specific series.
  42204. *
  42205. * In TypeScript the type option must always be set.
  42206. *
  42207. * Configuration options for the series are given in three levels:
  42208. *
  42209. * 1. Options for all series in a chart are defined in the plotOptions.series
  42210. * object.
  42211. *
  42212. * 2. Options for all `flags` series are defined in plotOptions.flags.
  42213. *
  42214. * 3. Options for one single series are given in the series instance array. (see
  42215. * online documentation for example)
  42216. */
  42217. export interface PlotFlagsOptions {
  42218. /**
  42219. * (Highstock) Accessibility options for a series.
  42220. */
  42221. accessibility?: SeriesAccessibilityOptionsObject;
  42222. /**
  42223. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  42224. * rendered. If `true`, areas which don't correspond to a data point, are
  42225. * rendered as `null` points. If `false`, those areas are skipped.
  42226. */
  42227. allAreas?: boolean;
  42228. /**
  42229. * (Highstock) Whether the flags are allowed to overlap sideways. If
  42230. * `false`, the flags are moved sideways using an algorithm that seeks to
  42231. * place every flag as close as possible to its original position.
  42232. */
  42233. allowOverlapX?: boolean;
  42234. /**
  42235. * (Highstock) Allow this series' points to be selected by clicking on the
  42236. * graphic (columns, point markers, pie slices, map areas etc).
  42237. *
  42238. * The selected points can be handled by point select and unselect events,
  42239. * or collectively by the getSelectedPoints function.
  42240. *
  42241. * And alternative way of selecting points is through dragging.
  42242. */
  42243. allowPointSelect?: boolean;
  42244. /**
  42245. * (Highstock) For some series, there is a limit that shuts down initial
  42246. * animation by default when the total number of points in the chart is too
  42247. * high. For example, for a column chart and its derivatives, animation does
  42248. * not run if there is more than 250 points totally. To disable this cap,
  42249. * set `animationLimit` to `Infinity`.
  42250. */
  42251. animationLimit?: number;
  42252. /**
  42253. * (Highstock) Sets the color blending in the boost module.
  42254. */
  42255. boostBlending?: OptionsBoostBlendingValue;
  42256. /**
  42257. * (Highstock) Set the point threshold for when a series should enter boost
  42258. * mode.
  42259. *
  42260. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  42261. * there are 2000 or more points in the series.
  42262. *
  42263. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  42264. * it to 1 will force boosting.
  42265. *
  42266. * Note that the cropThreshold also affects this setting. When zooming in on
  42267. * a series that has fewer points than the `cropThreshold`, all points are
  42268. * rendered although outside the visible plot area, and the `boostThreshold`
  42269. * won't take effect.
  42270. */
  42271. boostThreshold?: number;
  42272. /**
  42273. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  42274. * the category, ignoring null or missing points. When `false`, space will
  42275. * be reserved for null or missing points.
  42276. */
  42277. centerInCategory?: boolean;
  42278. /**
  42279. * (Highstock) An additional class name to apply to the series' graphical
  42280. * elements. This option does not replace default class names of the
  42281. * graphical element.
  42282. */
  42283. className?: string;
  42284. /**
  42285. * (Highstock) Disable this option to allow series rendering in the whole
  42286. * plotting area.
  42287. *
  42288. * **Note:** Clipping should be always enabled when chart.zoomType is set
  42289. */
  42290. clip?: boolean;
  42291. /**
  42292. * (Highstock) The main color of the series. In line type series it applies
  42293. * to the line and the point markers unless otherwise specified. In bar type
  42294. * series it applies to the bars unless a color is specified per point. The
  42295. * default value is pulled from the `options.colors` array.
  42296. *
  42297. * In styled mode, the color can be defined by the colorIndex option. Also,
  42298. * the series color can be set with the `.highcharts-series`,
  42299. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  42300. * `.highcharts-series-{n}` class, or individual classes given by the
  42301. * `className` option.
  42302. */
  42303. color?: (ColorString|GradientColorObject|PatternObject);
  42304. /**
  42305. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  42306. * this number defines which colorAxis the particular series is connected
  42307. * to. It refers to either the axis id or the index of the axis in the
  42308. * colorAxis array, with 0 being the first. Set this option to false to
  42309. * prevent a series from connecting to the default color axis.
  42310. *
  42311. * Since v7.2.0 the option can also be an axis id or an axis index instead
  42312. * of a boolean flag.
  42313. */
  42314. colorAxis?: (boolean|number|string);
  42315. /**
  42316. * (Highstock) Styled mode only. A specific color index to use for the
  42317. * series, so its graphic representations are given the class name
  42318. * `highcharts-color-{n}`.
  42319. */
  42320. colorIndex?: number;
  42321. /**
  42322. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  42323. * used to calculate point color if `colorAxis` is used. Requires to set
  42324. * `min` and `max` if some custom point property is used or if approximation
  42325. * for data grouping is set to `'sum'`.
  42326. */
  42327. colorKey?: string;
  42328. /**
  42329. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  42330. * color set to apply instead of the global colors when colorByPoint is
  42331. * true.
  42332. */
  42333. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  42334. /**
  42335. * (Highstock) Compare the values of the series against the first non-null,
  42336. * non- zero value in the visible range. The y axis will show percentage or
  42337. * absolute change depending on whether `compare` is set to `"percent"` or
  42338. * `"value"`. When this is applied to multiple series, it allows comparing
  42339. * the development of the series against each other. Adds a `change` field
  42340. * to every point object.
  42341. */
  42342. compare?: string;
  42343. /**
  42344. * (Highstock) When compare is `percent`, this option dictates whether to
  42345. * use 0 or 100 as the base of comparison.
  42346. */
  42347. compareBase?: (0|100);
  42348. /**
  42349. * (Highstock) Defines if comparison should start from the first point
  42350. * within the visible range or should start from the first point **before**
  42351. * the range.
  42352. *
  42353. * In other words, this flag determines if first point within the visible
  42354. * range will have 0% (`compareStart=true`) or should have been already
  42355. * calculated according to the previous point (`compareStart=false`).
  42356. */
  42357. compareStart?: boolean;
  42358. /**
  42359. * (Gantt) Override Pathfinder connector options for a series. Requires
  42360. * Highcharts Gantt to be loaded.
  42361. */
  42362. connectors?: SeriesConnectorsOptionsObject;
  42363. /**
  42364. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  42365. * rounded to its nearest pixel in order to render sharp on screen. In some
  42366. * cases, when there are a lot of densely packed columns, this leads to
  42367. * visible difference in column widths or distance between columns. In these
  42368. * cases, setting `crisp` to `false` may look better, even though each
  42369. * column is rendered blurry.
  42370. */
  42371. crisp?: boolean;
  42372. /**
  42373. * (Highcharts, Highstock, Gantt) When the series contains less points than
  42374. * the crop threshold, all points are drawn, event if the points fall
  42375. * outside the visible plot area at the current zoom. The advantage of
  42376. * drawing all points (including markers and columns), is that animation is
  42377. * performed on updates. On the other hand, when the series contains more
  42378. * points than the crop threshold, the series data is cropped to only
  42379. * contain points that fall within the plot area. The advantage of cropping
  42380. * away invisible points is to increase performance on large series.
  42381. */
  42382. cropThreshold?: number;
  42383. /**
  42384. * (Highstock) You can set the cursor to "pointer" if you have click events
  42385. * attached to the series, to signal to the user that the points and lines
  42386. * can be clicked.
  42387. *
  42388. * In styled mode, the series cursor can be set with the same classes as
  42389. * listed under series.color.
  42390. */
  42391. cursor?: (string|CursorValue);
  42392. /**
  42393. * (Highstock) A reserved subspace to store options and values for
  42394. * customized functionality. Here you can add additional data for your own
  42395. * event callbacks and formatter callbacks.
  42396. */
  42397. custom?: Dictionary<any>;
  42398. /**
  42399. * (Highstock) Name of the dash style to use for the graph, or for some
  42400. * series types the outline of each shape.
  42401. *
  42402. * In styled mode, the stroke dash-array can be set with the same classes as
  42403. * listed under series.color.
  42404. */
  42405. dashStyle?: DashStyleValue;
  42406. /**
  42407. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  42408. * labels, appearing next to each data point.
  42409. *
  42410. * Since v6.2.0, multiple data labels can be applied to each single point by
  42411. * defining them as an array of configs.
  42412. *
  42413. * In styled mode, the data labels can be styled with the
  42414. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  42415. * (see example).
  42416. */
  42417. dataLabels?: (PlotFlagsDataLabelsOptions|Array<PlotFlagsDataLabelsOptions>);
  42418. /**
  42419. * (Highcharts, Highstock) Options for the series data sorting.
  42420. */
  42421. dataSorting?: (DataSortingOptionsObject|PlotFlagsDataSortingOptions);
  42422. /**
  42423. * (Highcharts) Depth of the columns in a 3D column chart.
  42424. */
  42425. depth?: number;
  42426. /**
  42427. * (Highstock) A description of the series to add to the screen reader
  42428. * information about the series.
  42429. */
  42430. description?: string;
  42431. /**
  42432. * (Highstock) The draggable-points module allows points to be moved around
  42433. * or modified in the chart. In addition to the options mentioned under the
  42434. * `dragDrop` API structure, the module fires three events, point.dragStart,
  42435. * point.drag and point.drop.
  42436. */
  42437. dragDrop?: SeriesDragDropOptionsObject;
  42438. /**
  42439. * (Highcharts) 3D columns only. The color of the edges. Similar to
  42440. * `borderColor`, except it defaults to the same color as the column.
  42441. */
  42442. edgeColor?: ColorString;
  42443. /**
  42444. * (Highcharts) 3D columns only. The width of the colored edges.
  42445. */
  42446. edgeWidth?: number;
  42447. /**
  42448. * (Highstock) Enable or disable the mouse tracking for a specific series.
  42449. * This includes point tooltips and click events on graphs and points. For
  42450. * large datasets it improves performance.
  42451. */
  42452. enableMouseTracking?: boolean;
  42453. /**
  42454. * (Highstock) General event handlers for the series items. These event
  42455. * hooks can also be attached to the series at run time using the
  42456. * `Highcharts.addEvent` function.
  42457. */
  42458. events?: SeriesEventsOptionsObject;
  42459. /**
  42460. * (Highstock) The fill color for the flags.
  42461. */
  42462. fillColor?: (ColorString|GradientColorObject|PatternObject);
  42463. /**
  42464. * (Highstock) Determines whether the series should look for the nearest
  42465. * point in both dimensions or just the x-dimension when hovering the
  42466. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  42467. * series. If the data has duplicate x-values, it is recommended to set this
  42468. * to `'xy'` to allow hovering over all points.
  42469. *
  42470. * Applies only to series types using nearest neighbor search (not direct
  42471. * hover) for tooltip.
  42472. */
  42473. findNearestPointBy?: OptionsFindNearestPointByValue;
  42474. /**
  42475. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  42476. * chart width or only the zoomed area when zooming in on parts of the X
  42477. * axis. By default, the Y axis adjusts to the min and max of the visible
  42478. * data. Cartesian series only.
  42479. */
  42480. getExtremesFromAll?: boolean;
  42481. /**
  42482. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  42483. * let them render independent of each other. Non-grouped columns will be
  42484. * laid out individually and overlap each other.
  42485. */
  42486. grouping?: boolean;
  42487. /**
  42488. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  42489. * axis units.
  42490. */
  42491. groupPadding?: number;
  42492. /**
  42493. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  42494. */
  42495. groupZPadding?: number;
  42496. /**
  42497. * (Highstock) Fixed height of the flag's shape. By default, height is
  42498. * autocalculated according to the flag's title.
  42499. */
  42500. height?: number;
  42501. /**
  42502. * (Highstock) When set to `false` will prevent the series data from being
  42503. * included in any form of data export.
  42504. *
  42505. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  42506. * `includeInCSVExport`.
  42507. */
  42508. includeInDataExport?: boolean;
  42509. /**
  42510. * (Highmaps) What property to join the `mapData` to the value data. For
  42511. * example, if joinBy is "code", the mapData items with a specific code is
  42512. * merged into the data with the same code. For maps loaded from GeoJSON,
  42513. * the keys may be held in each point's `properties` object.
  42514. *
  42515. * The joinBy option can also be an array of two values, where the first
  42516. * points to a key in the `mapData`, and the second points to another key in
  42517. * the `data`.
  42518. *
  42519. * When joinBy is `null`, the map items are joined by their position in the
  42520. * array, which performs much better in maps with many data points. This is
  42521. * the recommended option if you are printing more than a thousand data
  42522. * points and have a backend that can preprocess the data into a parallel
  42523. * array of the mapData.
  42524. */
  42525. joinBy?: (string|Array<string>);
  42526. /**
  42527. * (Highstock) An array specifying which option maps to which key in the
  42528. * data point array. This makes it convenient to work with unstructured data
  42529. * arrays from different sources.
  42530. */
  42531. keys?: Array<string>;
  42532. /**
  42533. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  42534. * series as possible in a natural way, seeking to avoid other series. The
  42535. * goal of this feature is to make the chart more easily readable, like if a
  42536. * human designer placed the labels in the optimal position.
  42537. *
  42538. * The series labels currently work with series types having a `graph` or an
  42539. * `area`.
  42540. */
  42541. label?: SeriesLabelOptionsObject;
  42542. /**
  42543. * (Highstock) The line marks the last price from all points.
  42544. */
  42545. lastPrice?: SeriesLastPriceOptionsObject;
  42546. /**
  42547. * (Highstock) The line marks the last price from visible range of points.
  42548. */
  42549. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  42550. /**
  42551. * (Highstock) The color of the line/border of the flag.
  42552. *
  42553. * In styled mode, the stroke is set in the
  42554. * `.highcharts-flag-series.highcharts-point` rule.
  42555. */
  42556. lineColor?: (ColorString|GradientColorObject|PatternObject);
  42557. /**
  42558. * (Highstock) The pixel width of the flag's line/border.
  42559. */
  42560. lineWidth?: number;
  42561. /**
  42562. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  42563. * Additionally, the value can be ":previous" to link to the previous
  42564. * series. When two series are linked, only the first one appears in the
  42565. * legend. Toggling the visibility of this also toggles the linked series.
  42566. *
  42567. * If master series uses data sorting and linked series does not have its
  42568. * own sorting definition, the linked series will be sorted in the same
  42569. * order as the master one.
  42570. */
  42571. linkedTo?: string;
  42572. /**
  42573. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  42574. * column, translated to the height of a bar in a bar chart. This prevents
  42575. * the columns from becoming too wide when there is a small number of points
  42576. * in the chart.
  42577. */
  42578. maxPointWidth?: number;
  42579. /**
  42580. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  42581. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  42582. * to zero) point, set the minimal point length to a pixel value like 3\. In
  42583. * stacked column charts, minPointLength might not be respected for tightly
  42584. * packed values.
  42585. */
  42586. minPointLength?: number;
  42587. /**
  42588. * (Highstock) Options for the corresponding navigator series if
  42589. * `showInNavigator` is `true` for this series. Available options are the
  42590. * same as any series, documented at plotOptions and series.
  42591. *
  42592. * These options are merged with options in navigator.series, and will take
  42593. * precedence if the same option is defined both places.
  42594. */
  42595. navigatorOptions?: PlotSeriesOptions;
  42596. /**
  42597. * (Highstock) The color for the parts of the graph or points that are below
  42598. * the threshold. Note that `zones` takes precedence over the negative
  42599. * color. Using `negativeColor` is equivalent to applying a zone with value
  42600. * of 0.
  42601. */
  42602. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  42603. /**
  42604. * (Highstock) In case the flag is placed on a series, on what point key to
  42605. * place it. Line and columns have one key, `y`. In range or OHLC-type
  42606. * series, however, the flag can optionally be placed on the `open`, `high`,
  42607. * `low` or `close` key.
  42608. */
  42609. onKey?: OptionsOnKeyValue;
  42610. /**
  42611. * (Highstock) The id of the series that the flags should be drawn on. If no
  42612. * id is given, the flags are drawn on the x axis.
  42613. */
  42614. onSeries?: string;
  42615. /**
  42616. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  42617. * dataLabels.
  42618. */
  42619. opacity?: number;
  42620. /**
  42621. * (Highstock) Properties for each single point.
  42622. */
  42623. point?: PlotSeriesPointOptions;
  42624. /**
  42625. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  42626. * individual series. Overrides the chart wide configuration.
  42627. */
  42628. pointDescriptionFormatter?: Function;
  42629. /**
  42630. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  42631. * a series, `pointInterval` defines the interval of the x values. For
  42632. * example, if a series contains one value every decade starting from year
  42633. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  42634. * `pointInterval` is set in milliseconds.
  42635. *
  42636. * It can be also be combined with `pointIntervalUnit` to draw irregular
  42637. * time intervals.
  42638. *
  42639. * Please note that this options applies to the _series data_, not the
  42640. * interval of the axis ticks, which is independent.
  42641. */
  42642. pointInterval?: number;
  42643. /**
  42644. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  42645. * setting the pointInterval to irregular time units, `day`, `month` and
  42646. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  42647. * also takes the DST crossover into consideration when dealing with local
  42648. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  42649. * months, 10 years etc.
  42650. *
  42651. * Please note that this options applies to the _series data_, not the
  42652. * interval of the axis ticks, which is independent.
  42653. */
  42654. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  42655. /**
  42656. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  42657. * `number`.
  42658. *
  42659. * In a column chart, when pointPlacement is `"on"`, the point will not
  42660. * create any padding of the X axis. In a polar column chart this means that
  42661. * the first column points directly north. If the pointPlacement is
  42662. * `"between"`, the columns will be laid out between ticks. This is useful
  42663. * for example for visualising an amount between two points in time or in a
  42664. * certain sector of a polar chart.
  42665. *
  42666. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  42667. * is on the axis value, -0.5 is between this value and the previous, and
  42668. * 0.5 is between this value and the next. Unlike the textual options,
  42669. * numeric point placement options won't affect axis padding.
  42670. *
  42671. * Note that pointPlacement needs a pointRange to work. For column series
  42672. * this is computed, but for line-type series it needs to be set.
  42673. *
  42674. * For the `xrange` series type and gantt charts, if the Y axis is a
  42675. * category axis, the `pointPlacement` applies to the Y axis rather than the
  42676. * (typically datetime) X axis.
  42677. *
  42678. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  42679. */
  42680. pointPlacement?: (number|string);
  42681. /**
  42682. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  42683. * for. This determines the width of the column. On a categorized axis, the
  42684. * range will be 1 by default (one category unit). On linear and datetime
  42685. * axes, the range will be computed as the distance between the two closest
  42686. * data points.
  42687. *
  42688. * The default `null` means it is computed automatically, but this option
  42689. * can be used to override the automatic value.
  42690. *
  42691. * This option is set by default to 1 if data sorting is enabled.
  42692. */
  42693. pointRange?: number;
  42694. /**
  42695. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  42696. * a series, pointStart defines on what value to start. For example, if a
  42697. * series contains one yearly value starting from 1945, set pointStart to
  42698. * 1945.
  42699. */
  42700. pointStart?: number;
  42701. /**
  42702. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  42703. * true, the checkbox next to the series name in the legend will be checked
  42704. * for a selected series.
  42705. */
  42706. selected?: boolean;
  42707. /**
  42708. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  42709. * the shadow can be an object configuration containing `color`, `offsetX`,
  42710. * `offsetY`, `opacity` and `width`.
  42711. */
  42712. shadow?: (boolean|ShadowOptionsObject);
  42713. /**
  42714. * (Highstock) The shape of the marker. Can be one of "flag", "circlepin",
  42715. * "squarepin", or an image of the format `url(/path-to-image.jpg)`.
  42716. * Individual shapes can also be set for each point.
  42717. */
  42718. shape?: FlagsShapeValue;
  42719. /**
  42720. * (Highstock) If true, a checkbox is displayed next to the legend item to
  42721. * allow selecting the series. The state of the checkbox is determined by
  42722. * the `selected` option.
  42723. */
  42724. showCheckbox?: boolean;
  42725. /**
  42726. * (Highstock) Whether to display this particular series or series type in
  42727. * the legend. Standalone series are shown in legend by default, and linked
  42728. * series are not. Since v7.2.0 it is possible to show series that use
  42729. * colorAxis by setting this option to `true`.
  42730. */
  42731. showInLegend?: boolean;
  42732. /**
  42733. * (Highstock) Whether or not to show the series in the navigator. Takes
  42734. * precedence over navigator.baseSeries if defined.
  42735. */
  42736. showInNavigator?: boolean;
  42737. /**
  42738. * (Highstock) If set to `true`, the accessibility module will skip past the
  42739. * points in this series for keyboard navigation.
  42740. */
  42741. skipKeyboardNavigation?: boolean;
  42742. /**
  42743. * (Highcharts, Highstock) When this is true, the series will not cause the
  42744. * Y axis to cross the zero plane (or threshold option) unless the data
  42745. * actually crosses the plane.
  42746. *
  42747. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  42748. * make the Y axis show negative values according to the `minPadding`
  42749. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  42750. */
  42751. softThreshold?: boolean;
  42752. /**
  42753. * (Highstock) When multiple flags in the same series fall on the same
  42754. * value, this number determines the vertical offset between them.
  42755. */
  42756. stackDistance?: number;
  42757. /**
  42758. * (Highcharts, Highstock) Whether to stack the values of each series on top
  42759. * of each other. Possible values are `undefined` to disable, `"normal"` to
  42760. * stack by value or `"percent"`.
  42761. *
  42762. * When stacking is enabled, data must be sorted in ascending X order.
  42763. *
  42764. * Some stacking options are related to specific series types. In the
  42765. * streamgraph series type, the stacking option is set to `"stream"`. The
  42766. * second one is `"overlap"`, which only applies to waterfall series.
  42767. */
  42768. stacking?: OptionsStackingValue;
  42769. states?: SeriesStatesOptionsObject;
  42770. /**
  42771. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  42772. * event on a series isn't triggered until the mouse moves over another
  42773. * series, or out of the plot area. When false, the `mouseOut` event on a
  42774. * series is triggered when the mouse leaves the area around the series'
  42775. * graph or markers. This also implies the tooltip when not shared. When
  42776. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  42777. * be hidden when moving the mouse between series. Defaults to true for line
  42778. * and area type series, but to false for columns, pies etc.
  42779. *
  42780. * **Note:** The boost module will force this option because of technical
  42781. * limitations.
  42782. */
  42783. stickyTracking?: boolean;
  42784. /**
  42785. * (Highstock) The text styles of the flag.
  42786. *
  42787. * In styled mode, the styles are set in the `.highcharts-flag-series
  42788. * .highcharts-point` rule.
  42789. */
  42790. style?: CSSObject;
  42791. /**
  42792. * (Highstock) Text alignment for the text inside the flag.
  42793. */
  42794. textAlign?: OptionsTextAlignValue;
  42795. /**
  42796. * (Highcharts) The Y axis value to serve as the base for the columns, for
  42797. * distinguishing between values above and below a threshold. If `null`, the
  42798. * columns extend from the padding Y axis minimum.
  42799. */
  42800. threshold?: (number|null);
  42801. /**
  42802. * (Highstock) The text to display on each flag. This can be defined on
  42803. * series level, or individually for each point. Defaults to `"A"`.
  42804. */
  42805. title?: string;
  42806. /**
  42807. * (Highstock) Specific tooltip options for flag series. Flag series
  42808. * tooltips are different from most other types in that a flag doesn't have
  42809. * a data value, so the tooltip rather displays the `text` option for each
  42810. * point.
  42811. */
  42812. tooltip?: SeriesTooltipOptionsObject;
  42813. /**
  42814. * (Highstock) Whether to use HTML to render the flag texts. Using HTML
  42815. * allows for advanced formatting, images and reliable bi-directional text
  42816. * rendering. Note that exported images won't respect the HTML, and that
  42817. * HTML won't respect Z-index settings.
  42818. */
  42819. useHTML?: boolean;
  42820. /**
  42821. * (Highstock) Set the initial visibility of the series.
  42822. */
  42823. visible?: boolean;
  42824. /**
  42825. * (Highstock) Fixed width of the flag's shape. By default, width is
  42826. * autocalculated according to the flag's title.
  42827. */
  42828. width?: number;
  42829. /**
  42830. * (Highstock) The y position of the top left corner of the flag relative to
  42831. * either the series (if onSeries is defined), or the x axis. Defaults to
  42832. * `-30`.
  42833. */
  42834. y?: number;
  42835. /**
  42836. * (Highmaps) Define the z index of the series.
  42837. */
  42838. zIndex?: number;
  42839. /**
  42840. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  42841. */
  42842. zoneAxis?: string;
  42843. /**
  42844. * (Highcharts, Highstock) An array defining zones within a series. Zones
  42845. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  42846. * the `zoneAxis` option. The zone definitions have to be in ascending order
  42847. * regarding to the value.
  42848. *
  42849. * In styled mode, the color zones are styled with the
  42850. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  42851. * option (view live demo).
  42852. */
  42853. zones?: Array<SeriesZonesOptionsObject>;
  42854. }
  42855. /**
  42856. * (Highcharts) Enable or disable the initial animation when a series is
  42857. * displayed. The animation can also be set as a configuration object. Please
  42858. * note that this option only applies to the initial animation of the series
  42859. * itself. For other animations, see chart.animation and the animation parameter
  42860. * under the API methods. The following properties are supported:
  42861. *
  42862. * - `defer`: The animation delay time in milliseconds.
  42863. *
  42864. * - `duration`: The duration of the animation in milliseconds.
  42865. *
  42866. * - `easing`: Can be a string reference to an easing function set on the `Math`
  42867. * object or a function. See the _Custom easing function_ demo below.
  42868. *
  42869. * Due to poor performance, animation is disabled in old IE browsers for several
  42870. * chart types.
  42871. */
  42872. export interface PlotFunnel3dAnimationOptions {
  42873. defer?: number;
  42874. }
  42875. /**
  42876. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  42877. * animation when a series is displayed for the `dataLabels`. The animation can
  42878. * also be set as a configuration object. Please note that this option only
  42879. * applies to the initial animation. For other animations, see chart.animation
  42880. * and the animation parameter under the API methods. The following properties
  42881. * are supported:
  42882. *
  42883. * - `defer`: The animation delay time in milliseconds.
  42884. */
  42885. export interface PlotFunnel3dDataLabelsAnimationOptions {
  42886. /**
  42887. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  42888. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  42889. * inherits defer time from the series.animation.defer.
  42890. */
  42891. defer?: number;
  42892. }
  42893. /**
  42894. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  42895. * appearing next to each data point.
  42896. *
  42897. * Since v6.2.0, multiple data labels can be applied to each single point by
  42898. * defining them as an array of configs.
  42899. *
  42900. * In styled mode, the data labels can be styled with the
  42901. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  42902. * example).
  42903. */
  42904. export interface PlotFunnel3dDataLabelsOptions {
  42905. /**
  42906. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  42907. * compared to the point. If `right`, the right side of the label should be
  42908. * touching the point. For points with an extent, like columns, the
  42909. * alignments also dictates how to align it inside the box, as given with
  42910. * the inside option. Can be one of `left`, `center` or `right`.
  42911. */
  42912. align?: string;
  42913. /**
  42914. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  42915. * overlap. To make the labels less sensitive for overlapping, the
  42916. * dataLabels.padding can be set to 0.
  42917. */
  42918. allowOverlap?: boolean;
  42919. /**
  42920. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  42921. * animation when a series is displayed for the `dataLabels`. The animation
  42922. * can also be set as a configuration object. Please note that this option
  42923. * only applies to the initial animation. For other animations, see
  42924. * chart.animation and the animation parameter under the API methods. The
  42925. * following properties are supported:
  42926. *
  42927. * - `defer`: The animation delay time in milliseconds.
  42928. */
  42929. animation?: (boolean|PlotFunnel3dDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  42930. /**
  42931. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  42932. * for the data label.
  42933. */
  42934. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  42935. /**
  42936. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  42937. * label. Defaults to `undefined`.
  42938. */
  42939. borderColor?: (ColorString|GradientColorObject|PatternObject);
  42940. /**
  42941. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  42942. * the data label.
  42943. */
  42944. borderRadius?: number;
  42945. /**
  42946. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  42947. * the data label.
  42948. */
  42949. borderWidth?: number;
  42950. /**
  42951. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  42952. * Particularly in styled mode, this can be used to give each series' or
  42953. * point's data label unique styling. In addition to this option, a default
  42954. * color class name is added so that we can give the labels a contrast text
  42955. * shadow.
  42956. */
  42957. className?: string;
  42958. /**
  42959. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  42960. * labels. Defaults to `undefined`. For certain series types, like column or
  42961. * map, the data labels can be drawn inside the points. In this case the
  42962. * data label will be drawn with maximum contrast by default. Additionally,
  42963. * it will be given a `text-outline` style with the opposite color, to
  42964. * further increase the contrast. This can be overridden by setting the
  42965. * `text-outline` style to `none` in the `dataLabels.style` option.
  42966. */
  42967. color?: (ColorString|GradientColorObject|PatternObject);
  42968. /**
  42969. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  42970. * are outside the plot area. By default, the data label is moved inside the
  42971. * plot area according to the overflow option.
  42972. */
  42973. crop?: boolean;
  42974. /**
  42975. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  42976. * labels until the initial series animation has finished. Setting to
  42977. * `false` renders the data label immediately. If set to `true` inherits the
  42978. * defer time set in plotOptions.series.animation.
  42979. */
  42980. defer?: boolean;
  42981. /**
  42982. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  42983. * labels.
  42984. */
  42985. enabled?: boolean;
  42986. /**
  42987. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  42988. * of which data labels to display. The declarative filter is designed for
  42989. * use when callback functions are not available, like when the chart
  42990. * options require a pure JSON structure or for use with graphical editors.
  42991. * For programmatic control, use the `formatter` instead, and return
  42992. * `undefined` to disable a single data label.
  42993. */
  42994. filter?: DataLabelsFilterOptionsObject;
  42995. /**
  42996. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  42997. * label. Available variables are the same as for `formatter`.
  42998. */
  42999. format?: string;
  43000. /**
  43001. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  43002. * format the data label. Note that if a `format` is defined, the format
  43003. * takes precedence and the formatter is ignored.
  43004. */
  43005. formatter?: DataLabelsFormatterCallbackFunction;
  43006. /**
  43007. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  43008. * columns or map areas, whether to align the data label inside the box or
  43009. * to the actual value point. Defaults to `false` in most cases, `true` in
  43010. * stacked columns.
  43011. */
  43012. inside?: boolean;
  43013. /**
  43014. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  43015. * of null. Works analogously to format. `nullFormat` can be applied only to
  43016. * series which support displaying null points.
  43017. */
  43018. nullFormat?: (boolean|string);
  43019. /**
  43020. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  43021. * that defines formatting for points with the value of null. Works
  43022. * analogously to formatter. `nullPointFormatter` can be applied only to
  43023. * series which support displaying null points.
  43024. */
  43025. nullFormatter?: DataLabelsFormatterCallbackFunction;
  43026. /**
  43027. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  43028. * flow outside the plot area. The default is `"justify"`, which aligns them
  43029. * inside the plot area. For columns and bars, this means it will be moved
  43030. * inside the bar. To display data labels outside the plot area, set `crop`
  43031. * to `false` and `overflow` to `"allow"`.
  43032. */
  43033. overflow?: string;
  43034. /**
  43035. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  43036. * the `backgroundColor` is set, this is the padding within the box.
  43037. */
  43038. padding?: number;
  43039. /**
  43040. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  43041. * points. If `center` alignment is not possible, it defaults to `right`.
  43042. */
  43043. position?: AlignValue;
  43044. /**
  43045. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  43046. * that due to a more complex structure, backgrounds, borders and padding
  43047. * will be lost on a rotated data label.
  43048. */
  43049. rotation?: number;
  43050. /**
  43051. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  43052. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  43053. * an object configuration containing `color`, `offsetX`, `offsetY`,
  43054. * `opacity` and `width`.
  43055. */
  43056. shadow?: (boolean|ShadowOptionsObject);
  43057. /**
  43058. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  43059. * the border around the label. Symbols are predefined functions on the
  43060. * Renderer object.
  43061. */
  43062. shape?: string;
  43063. /**
  43064. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  43065. * default `color` setting is `"contrast"`, which is a pseudo color that
  43066. * Highcharts picks up and applies the maximum contrast to the underlying
  43067. * point item, for example the bar in a bar chart.
  43068. *
  43069. * The `textOutline` is a pseudo property that applies an outline of the
  43070. * given width with the given color, which by default is the maximum
  43071. * contrast to the text. So a bright text color will result in a black text
  43072. * outline for maximum readability on a mixed background. In some cases,
  43073. * especially with grayscale text, the text outline doesn't work well, in
  43074. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  43075. * is true, the `textOutline` will not be picked up. In this, case, the same
  43076. * effect can be acheived through the `text-shadow` CSS property.
  43077. *
  43078. * For some series types, where each point has an extent, like for example
  43079. * tree maps, the data label may overflow the point. There are two
  43080. * strategies for handling overflow. By default, the text will wrap to
  43081. * multiple lines. The other strategy is to set `style.textOverflow` to
  43082. * `ellipsis`, which will keep the text on one line plus it will break
  43083. * inside long words.
  43084. */
  43085. style?: CSSObject;
  43086. /**
  43087. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  43088. * should follow marker's shape. Border and background are disabled for a
  43089. * label that follows a path.
  43090. *
  43091. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  43092. * to true will disable this option.
  43093. */
  43094. textPath?: DataLabelsTextPathOptionsObject;
  43095. /**
  43096. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  43097. * the labels.
  43098. */
  43099. useHTML?: boolean;
  43100. /**
  43101. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  43102. * label. Can be one of `top`, `middle` or `bottom`. The default value
  43103. * depends on the data, for instance in a column chart, the label is above
  43104. * positive values and below negative values.
  43105. */
  43106. verticalAlign?: string;
  43107. /**
  43108. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  43109. * label relative to the point in pixels.
  43110. */
  43111. x?: number;
  43112. /**
  43113. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  43114. * label relative to the point in pixels.
  43115. */
  43116. y?: number;
  43117. /**
  43118. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  43119. * The default Z index puts it above the series. Use a Z index of 2 to
  43120. * display it behind the series.
  43121. */
  43122. z?: number;
  43123. }
  43124. /**
  43125. * (Highcharts) Style options for the guide box. The guide box has one state by
  43126. * default, the `default` state.
  43127. */
  43128. export interface PlotFunnel3dDragDropGuideBoxOptions {
  43129. /**
  43130. * (Highcharts) Style options for the guide box default state.
  43131. */
  43132. default?: DragDropGuideBoxOptionsObject;
  43133. }
  43134. /**
  43135. * (Highcharts) A funnel3d is a 3d version of funnel series type. Funnel charts
  43136. * are a type of chart often used to visualize stages in a sales project, where
  43137. * the top are the initial stages with the most clients.
  43138. *
  43139. * It requires that the `highcharts-3d.js`, `cylinder.js` and `funnel3d.js`
  43140. * module are loaded.
  43141. *
  43142. * In TypeScript the type option must always be set.
  43143. *
  43144. * Configuration options for the series are given in three levels:
  43145. *
  43146. * 1. Options for all series in a chart are defined in the plotOptions.series
  43147. * object.
  43148. *
  43149. * 2. Options for all `funnel3d` series are defined in plotOptions.funnel3d.
  43150. *
  43151. * 3. Options for one single series are given in the series instance array. (see
  43152. * online documentation for example)
  43153. */
  43154. export interface PlotFunnel3dOptions {
  43155. /**
  43156. * (Highcharts) Accessibility options for a series.
  43157. */
  43158. accessibility?: SeriesAccessibilityOptionsObject;
  43159. /**
  43160. * (Highcharts) Allow this series' points to be selected by clicking on the
  43161. * graphic (columns, point markers, pie slices, map areas etc).
  43162. *
  43163. * The selected points can be handled by point select and unselect events,
  43164. * or collectively by the getSelectedPoints function.
  43165. *
  43166. * And alternative way of selecting points is through dragging.
  43167. */
  43168. allowPointSelect?: boolean;
  43169. /**
  43170. * (Highcharts) Enable or disable the initial animation when a series is
  43171. * displayed. The animation can also be set as a configuration object.
  43172. * Please note that this option only applies to the initial animation of the
  43173. * series itself. For other animations, see chart.animation and the
  43174. * animation parameter under the API methods. The following properties are
  43175. * supported:
  43176. *
  43177. * - `defer`: The animation delay time in milliseconds.
  43178. *
  43179. * - `duration`: The duration of the animation in milliseconds.
  43180. *
  43181. * - `easing`: Can be a string reference to an easing function set on the
  43182. * `Math` object or a function. See the _Custom easing function_ demo below.
  43183. *
  43184. * Due to poor performance, animation is disabled in old IE browsers for
  43185. * several chart types.
  43186. */
  43187. animation?: (boolean|PlotFunnel3dAnimationOptions);
  43188. /**
  43189. * (Highcharts) For some series, there is a limit that shuts down initial
  43190. * animation by default when the total number of points in the chart is too
  43191. * high. For example, for a column chart and its derivatives, animation does
  43192. * not run if there is more than 250 points totally. To disable this cap,
  43193. * set `animationLimit` to `Infinity`.
  43194. */
  43195. animationLimit?: number;
  43196. /**
  43197. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  43198. * column or bar.
  43199. *
  43200. * In styled mode, the border stroke can be set with the `.highcharts-point`
  43201. * rule.
  43202. */
  43203. borderColor?: (ColorString|GradientColorObject|PatternObject);
  43204. /**
  43205. * (Highcharts, Highstock, Gantt) The corner radius of the border
  43206. * surrounding each column or bar.
  43207. */
  43208. borderRadius?: number;
  43209. /**
  43210. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  43211. * column or bar. Defaults to `1` when there is room for a border, but to
  43212. * `0` when the columns are so dense that a border would cover the next
  43213. * column.
  43214. *
  43215. * In styled mode, the stroke width can be set with the `.highcharts-point`
  43216. * rule.
  43217. */
  43218. borderWidth?: number;
  43219. /**
  43220. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  43221. * the category, ignoring null or missing points. When `false`, space will
  43222. * be reserved for null or missing points.
  43223. */
  43224. centerInCategory?: boolean;
  43225. /**
  43226. * (Highcharts) An additional class name to apply to the series' graphical
  43227. * elements. This option does not replace default class names of the
  43228. * graphical element.
  43229. */
  43230. className?: string;
  43231. /**
  43232. * (Highcharts) Disable this option to allow series rendering in the whole
  43233. * plotting area.
  43234. *
  43235. * **Note:** Clipping should be always enabled when chart.zoomType is set
  43236. */
  43237. clip?: boolean;
  43238. /**
  43239. * (Highcharts) The main color of the series. In line type series it applies
  43240. * to the line and the point markers unless otherwise specified. In bar type
  43241. * series it applies to the bars unless a color is specified per point. The
  43242. * default value is pulled from the `options.colors` array.
  43243. *
  43244. * In styled mode, the color can be defined by the colorIndex option. Also,
  43245. * the series color can be set with the `.highcharts-series`,
  43246. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  43247. * `.highcharts-series-{n}` class, or individual classes given by the
  43248. * `className` option.
  43249. */
  43250. color?: (ColorString|GradientColorObject|PatternObject);
  43251. /**
  43252. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  43253. * from the global colors or series-specific plotOptions.column.colors
  43254. * collections, this option determines whether the chart should receive one
  43255. * color per series or one color per point.
  43256. *
  43257. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  43258. * and instead this option gives the points individual color class names on
  43259. * the form `highcharts-color-{n}`.
  43260. */
  43261. colorByPoint?: boolean;
  43262. /**
  43263. * (Highcharts) Styled mode only. A specific color index to use for the
  43264. * series, so its graphic representations are given the class name
  43265. * `highcharts-color-{n}`.
  43266. */
  43267. colorIndex?: number;
  43268. /**
  43269. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  43270. * used to calculate point color if `colorAxis` is used. Requires to set
  43271. * `min` and `max` if some custom point property is used or if approximation
  43272. * for data grouping is set to `'sum'`.
  43273. */
  43274. colorKey?: string;
  43275. /**
  43276. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  43277. * color set to apply instead of the global colors when colorByPoint is
  43278. * true.
  43279. */
  43280. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  43281. /**
  43282. * (Highstock) Defines if comparison should start from the first point
  43283. * within the visible range or should start from the first point **before**
  43284. * the range.
  43285. *
  43286. * In other words, this flag determines if first point within the visible
  43287. * range will have 0% (`compareStart=true`) or should have been already
  43288. * calculated according to the previous point (`compareStart=false`).
  43289. */
  43290. compareStart?: boolean;
  43291. /**
  43292. * (Gantt) Override Pathfinder connector options for a series. Requires
  43293. * Highcharts Gantt to be loaded.
  43294. */
  43295. connectors?: SeriesConnectorsOptionsObject;
  43296. /**
  43297. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  43298. * rounded to its nearest pixel in order to render sharp on screen. In some
  43299. * cases, when there are a lot of densely packed columns, this leads to
  43300. * visible difference in column widths or distance between columns. In these
  43301. * cases, setting `crisp` to `false` may look better, even though each
  43302. * column is rendered blurry.
  43303. */
  43304. crisp?: boolean;
  43305. /**
  43306. * (Highcharts, Highstock, Gantt) When the series contains less points than
  43307. * the crop threshold, all points are drawn, event if the points fall
  43308. * outside the visible plot area at the current zoom. The advantage of
  43309. * drawing all points (including markers and columns), is that animation is
  43310. * performed on updates. On the other hand, when the series contains more
  43311. * points than the crop threshold, the series data is cropped to only
  43312. * contain points that fall within the plot area. The advantage of cropping
  43313. * away invisible points is to increase performance on large series.
  43314. */
  43315. cropThreshold?: number;
  43316. /**
  43317. * (Highcharts) You can set the cursor to "pointer" if you have click events
  43318. * attached to the series, to signal to the user that the points and lines
  43319. * can be clicked.
  43320. *
  43321. * In styled mode, the series cursor can be set with the same classes as
  43322. * listed under series.color.
  43323. */
  43324. cursor?: (string|CursorValue);
  43325. /**
  43326. * (Highcharts) A reserved subspace to store options and values for
  43327. * customized functionality. Here you can add additional data for your own
  43328. * event callbacks and formatter callbacks.
  43329. */
  43330. custom?: Dictionary<any>;
  43331. /**
  43332. * (Highcharts) Name of the dash style to use for the graph, or for some
  43333. * series types the outline of each shape.
  43334. *
  43335. * In styled mode, the stroke dash-array can be set with the same classes as
  43336. * listed under series.color.
  43337. */
  43338. dashStyle?: DashStyleValue;
  43339. /**
  43340. * (Highstock) Data grouping is the concept of sampling the data values into
  43341. * larger blocks in order to ease readability and increase performance of
  43342. * the JavaScript charts. Highstock by default applies data grouping when
  43343. * the points become closer than a certain pixel value, determined by the
  43344. * `groupPixelWidth` option.
  43345. *
  43346. * If data grouping is applied, the grouping information of grouped points
  43347. * can be read from the Point.dataGroup. If point options other than the
  43348. * data itself are set, for example `name` or `color` or custom properties,
  43349. * the grouping logic doesn't know how to group it. In this case the options
  43350. * of the first point instance are copied over to the group point. This can
  43351. * be altered through a custom `approximation` callback function.
  43352. */
  43353. dataGrouping?: DataGroupingOptionsObject;
  43354. /**
  43355. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  43356. * labels, appearing next to each data point.
  43357. *
  43358. * Since v6.2.0, multiple data labels can be applied to each single point by
  43359. * defining them as an array of configs.
  43360. *
  43361. * In styled mode, the data labels can be styled with the
  43362. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  43363. * (see example).
  43364. */
  43365. dataLabels?: (PlotFunnel3dDataLabelsOptions|Array<PlotFunnel3dDataLabelsOptions>);
  43366. /**
  43367. * (Highcharts) Depth of the columns in a 3D column chart.
  43368. */
  43369. depth?: number;
  43370. /**
  43371. * (Highcharts) A description of the series to add to the screen reader
  43372. * information about the series.
  43373. */
  43374. description?: string;
  43375. /**
  43376. * (Highcharts) The draggable-points module allows points to be moved around
  43377. * or modified in the chart. In addition to the options mentioned under the
  43378. * `dragDrop` API structure, the module fires three events, point.dragStart,
  43379. * point.drag and point.drop.
  43380. */
  43381. dragDrop?: SeriesDragDropOptionsObject;
  43382. /**
  43383. * (Highcharts) 3D columns only. The color of the edges. Similar to
  43384. * `borderColor`, except it defaults to the same color as the column.
  43385. */
  43386. edgeColor?: ColorString;
  43387. /**
  43388. * (Highcharts) 3D columns only. The width of the colored edges.
  43389. */
  43390. edgeWidth?: number;
  43391. /**
  43392. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  43393. * This includes point tooltips and click events on graphs and points. For
  43394. * large datasets it improves performance.
  43395. */
  43396. enableMouseTracking?: boolean;
  43397. /**
  43398. * (Highcharts) General event handlers for the series items. These event
  43399. * hooks can also be attached to the series at run time using the
  43400. * `Highcharts.addEvent` function.
  43401. */
  43402. events?: SeriesEventsOptionsObject;
  43403. /**
  43404. * (Highcharts) Determines whether the series should look for the nearest
  43405. * point in both dimensions or just the x-dimension when hovering the
  43406. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  43407. * series. If the data has duplicate x-values, it is recommended to set this
  43408. * to `'xy'` to allow hovering over all points.
  43409. *
  43410. * Applies only to series types using nearest neighbor search (not direct
  43411. * hover) for tooltip.
  43412. */
  43413. findNearestPointBy?: OptionsFindNearestPointByValue;
  43414. /**
  43415. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  43416. * chart width or only the zoomed area when zooming in on parts of the X
  43417. * axis. By default, the Y axis adjusts to the min and max of the visible
  43418. * data. Cartesian series only.
  43419. */
  43420. getExtremesFromAll?: boolean;
  43421. /**
  43422. * (Highcharts) By deafult sides fill is set to a gradient through this
  43423. * option being set to `true`. Set to `false` to get solid color for the
  43424. * sides.
  43425. */
  43426. gradientForSides?: boolean;
  43427. /**
  43428. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  43429. * let them render independent of each other. Non-grouped columns will be
  43430. * laid out individually and overlap each other.
  43431. */
  43432. grouping?: boolean;
  43433. /**
  43434. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  43435. * axis units.
  43436. */
  43437. groupPadding?: number;
  43438. /**
  43439. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  43440. */
  43441. groupZPadding?: number;
  43442. /**
  43443. * (Highcharts) The height of the series. If it is a number it defines the
  43444. * pixel height, if it is a percentage string it is the percentage of the
  43445. * plot area height.
  43446. */
  43447. height?: (number|string);
  43448. /**
  43449. * (Highcharts) When set to `false` will prevent the series data from being
  43450. * included in any form of data export.
  43451. *
  43452. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  43453. * `includeInCSVExport`.
  43454. */
  43455. includeInDataExport?: boolean;
  43456. /**
  43457. * (Highmaps) What property to join the `mapData` to the value data. For
  43458. * example, if joinBy is "code", the mapData items with a specific code is
  43459. * merged into the data with the same code. For maps loaded from GeoJSON,
  43460. * the keys may be held in each point's `properties` object.
  43461. *
  43462. * The joinBy option can also be an array of two values, where the first
  43463. * points to a key in the `mapData`, and the second points to another key in
  43464. * the `data`.
  43465. *
  43466. * When joinBy is `null`, the map items are joined by their position in the
  43467. * array, which performs much better in maps with many data points. This is
  43468. * the recommended option if you are printing more than a thousand data
  43469. * points and have a backend that can preprocess the data into a parallel
  43470. * array of the mapData.
  43471. */
  43472. joinBy?: (string|Array<string>);
  43473. /**
  43474. * (Highcharts) An array specifying which option maps to which key in the
  43475. * data point array. This makes it convenient to work with unstructured data
  43476. * arrays from different sources.
  43477. */
  43478. keys?: Array<string>;
  43479. /**
  43480. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  43481. * series as possible in a natural way, seeking to avoid other series. The
  43482. * goal of this feature is to make the chart more easily readable, like if a
  43483. * human designer placed the labels in the optimal position.
  43484. *
  43485. * The series labels currently work with series types having a `graph` or an
  43486. * `area`.
  43487. */
  43488. label?: SeriesLabelOptionsObject;
  43489. /**
  43490. * (Highstock) The line marks the last price from all points.
  43491. */
  43492. lastPrice?: SeriesLastPriceOptionsObject;
  43493. /**
  43494. * (Highstock) The line marks the last price from visible range of points.
  43495. */
  43496. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  43497. /**
  43498. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  43499. * Additionally, the value can be ":previous" to link to the previous
  43500. * series. When two series are linked, only the first one appears in the
  43501. * legend. Toggling the visibility of this also toggles the linked series.
  43502. *
  43503. * If master series uses data sorting and linked series does not have its
  43504. * own sorting definition, the linked series will be sorted in the same
  43505. * order as the master one.
  43506. */
  43507. linkedTo?: string;
  43508. /**
  43509. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  43510. * column, translated to the height of a bar in a bar chart. This prevents
  43511. * the columns from becoming too wide when there is a small number of points
  43512. * in the chart.
  43513. */
  43514. maxPointWidth?: number;
  43515. /**
  43516. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  43517. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  43518. * to zero) point, set the minimal point length to a pixel value like 3\. In
  43519. * stacked column charts, minPointLength might not be respected for tightly
  43520. * packed values.
  43521. */
  43522. minPointLength?: number;
  43523. /**
  43524. * (Highstock) Options for the corresponding navigator series if
  43525. * `showInNavigator` is `true` for this series. Available options are the
  43526. * same as any series, documented at plotOptions and series.
  43527. *
  43528. * These options are merged with options in navigator.series, and will take
  43529. * precedence if the same option is defined both places.
  43530. */
  43531. navigatorOptions?: PlotSeriesOptions;
  43532. /**
  43533. * (Highcharts) The height of the neck, the lower part of the funnel. A
  43534. * number defines pixel width, a percentage string defines a percentage of
  43535. * the plot area height.
  43536. */
  43537. neckHeight?: (number|string);
  43538. /**
  43539. * (Highcharts) The width of the neck, the lower part of the funnel. A
  43540. * number defines pixel width, a percentage string defines a percentage of
  43541. * the plot area width.
  43542. */
  43543. neckWidth?: (number|string);
  43544. /**
  43545. * (Highcharts) The color for the parts of the graph or points that are
  43546. * below the threshold. Note that `zones` takes precedence over the negative
  43547. * color. Using `negativeColor` is equivalent to applying a zone with value
  43548. * of 0.
  43549. */
  43550. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  43551. /**
  43552. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  43553. * dataLabels.
  43554. */
  43555. opacity?: number;
  43556. /**
  43557. * (Highcharts) Properties for each single point.
  43558. */
  43559. point?: PlotSeriesPointOptions;
  43560. /**
  43561. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  43562. * individual series. Overrides the chart wide configuration.
  43563. */
  43564. pointDescriptionFormatter?: Function;
  43565. /**
  43566. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  43567. * a series, `pointInterval` defines the interval of the x values. For
  43568. * example, if a series contains one value every decade starting from year
  43569. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  43570. * `pointInterval` is set in milliseconds.
  43571. *
  43572. * It can be also be combined with `pointIntervalUnit` to draw irregular
  43573. * time intervals.
  43574. *
  43575. * Please note that this options applies to the _series data_, not the
  43576. * interval of the axis ticks, which is independent.
  43577. */
  43578. pointInterval?: number;
  43579. /**
  43580. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  43581. * setting the pointInterval to irregular time units, `day`, `month` and
  43582. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  43583. * also takes the DST crossover into consideration when dealing with local
  43584. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  43585. * months, 10 years etc.
  43586. *
  43587. * Please note that this options applies to the _series data_, not the
  43588. * interval of the axis ticks, which is independent.
  43589. */
  43590. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  43591. /**
  43592. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  43593. * axis units.
  43594. */
  43595. pointPadding?: number;
  43596. /**
  43597. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  43598. * `number`.
  43599. *
  43600. * In a column chart, when pointPlacement is `"on"`, the point will not
  43601. * create any padding of the X axis. In a polar column chart this means that
  43602. * the first column points directly north. If the pointPlacement is
  43603. * `"between"`, the columns will be laid out between ticks. This is useful
  43604. * for example for visualising an amount between two points in time or in a
  43605. * certain sector of a polar chart.
  43606. *
  43607. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  43608. * is on the axis value, -0.5 is between this value and the previous, and
  43609. * 0.5 is between this value and the next. Unlike the textual options,
  43610. * numeric point placement options won't affect axis padding.
  43611. *
  43612. * Note that pointPlacement needs a pointRange to work. For column series
  43613. * this is computed, but for line-type series it needs to be set.
  43614. *
  43615. * For the `xrange` series type and gantt charts, if the Y axis is a
  43616. * category axis, the `pointPlacement` applies to the Y axis rather than the
  43617. * (typically datetime) X axis.
  43618. *
  43619. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  43620. */
  43621. pointPlacement?: (number|string);
  43622. /**
  43623. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  43624. * for. This determines the width of the column. On a categorized axis, the
  43625. * range will be 1 by default (one category unit). On linear and datetime
  43626. * axes, the range will be computed as the distance between the two closest
  43627. * data points.
  43628. *
  43629. * The default `null` means it is computed automatically, but this option
  43630. * can be used to override the automatic value.
  43631. *
  43632. * This option is set by default to 1 if data sorting is enabled.
  43633. */
  43634. pointRange?: (number|null);
  43635. /**
  43636. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  43637. * a series, pointStart defines on what value to start. For example, if a
  43638. * series contains one yearly value starting from 1945, set pointStart to
  43639. * 1945.
  43640. */
  43641. pointStart?: number;
  43642. /**
  43643. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  43644. * each column or bar point. When `null`, the width is calculated from the
  43645. * `pointPadding` and `groupPadding`. The width effects the dimension that
  43646. * is not based on the point value. For column series it is the hoizontal
  43647. * length and for bar series it is the vertical length.
  43648. */
  43649. pointWidth?: number;
  43650. /**
  43651. * (Highcharts) A reversed funnel has the widest area down. A reversed
  43652. * funnel with no neck width and neck height is a pyramid.
  43653. */
  43654. reversed?: boolean;
  43655. /**
  43656. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  43657. * true, the checkbox next to the series name in the legend will be checked
  43658. * for a selected series.
  43659. */
  43660. selected?: boolean;
  43661. /**
  43662. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  43663. * the shadow can be an object configuration containing `color`, `offsetX`,
  43664. * `offsetY`, `opacity` and `width`.
  43665. */
  43666. shadow?: (boolean|ShadowOptionsObject);
  43667. /**
  43668. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  43669. * allow selecting the series. The state of the checkbox is determined by
  43670. * the `selected` option.
  43671. */
  43672. showCheckbox?: boolean;
  43673. /**
  43674. * (Highcharts) Whether to display this particular series or series type in
  43675. * the legend. Standalone series are shown in legend by default, and linked
  43676. * series are not. Since v7.2.0 it is possible to show series that use
  43677. * colorAxis by setting this option to `true`.
  43678. */
  43679. showInLegend?: boolean;
  43680. /**
  43681. * (Highstock) Whether or not to show the series in the navigator. Takes
  43682. * precedence over navigator.baseSeries if defined.
  43683. */
  43684. showInNavigator?: boolean;
  43685. /**
  43686. * (Highcharts) If set to `true`, the accessibility module will skip past
  43687. * the points in this series for keyboard navigation.
  43688. */
  43689. skipKeyboardNavigation?: boolean;
  43690. /**
  43691. * (Highcharts, Highstock) When this is true, the series will not cause the
  43692. * Y axis to cross the zero plane (or threshold option) unless the data
  43693. * actually crosses the plane.
  43694. *
  43695. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  43696. * make the Y axis show negative values according to the `minPadding`
  43697. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  43698. */
  43699. softThreshold?: boolean;
  43700. /**
  43701. * (Highcharts, Highstock) Whether to stack the values of each series on top
  43702. * of each other. Possible values are `undefined` to disable, `"normal"` to
  43703. * stack by value or `"percent"`.
  43704. *
  43705. * When stacking is enabled, data must be sorted in ascending X order.
  43706. *
  43707. * Some stacking options are related to specific series types. In the
  43708. * streamgraph series type, the stacking option is set to `"stream"`. The
  43709. * second one is `"overlap"`, which only applies to waterfall series.
  43710. */
  43711. stacking?: OptionsStackingValue;
  43712. states?: SeriesStatesOptionsObject;
  43713. /**
  43714. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  43715. * event on a series isn't triggered until the mouse moves over another
  43716. * series, or out of the plot area. When false, the `mouseOut` event on a
  43717. * series is triggered when the mouse leaves the area around the series'
  43718. * graph or markers. This also implies the tooltip when not shared. When
  43719. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  43720. * be hidden when moving the mouse between series. Defaults to true for line
  43721. * and area type series, but to false for columns, pies etc.
  43722. *
  43723. * **Note:** The boost module will force this option because of technical
  43724. * limitations.
  43725. */
  43726. stickyTracking?: boolean;
  43727. /**
  43728. * (Highcharts) The Y axis value to serve as the base for the columns, for
  43729. * distinguishing between values above and below a threshold. If `null`, the
  43730. * columns extend from the padding Y axis minimum.
  43731. */
  43732. threshold?: (number|null);
  43733. /**
  43734. * (Highcharts) A configuration object for the tooltip rendering of each
  43735. * single series. Properties are inherited from tooltip, but only the
  43736. * following properties can be defined on a series level.
  43737. */
  43738. tooltip?: SeriesTooltipOptionsObject;
  43739. /**
  43740. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  43741. * is longer than this, only one dimensional arrays of numbers, or two
  43742. * dimensional arrays with x and y values are allowed. Also, only the first
  43743. * point is tested, and the rest are assumed to be the same format. This
  43744. * saves expensive data checking and indexing in long series. Set it to `0`
  43745. * disable.
  43746. *
  43747. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  43748. * two dimensional arrays are allowed.
  43749. */
  43750. turboThreshold?: number;
  43751. /**
  43752. * (Highcharts) Set the initial visibility of the series.
  43753. */
  43754. visible?: boolean;
  43755. /**
  43756. * (Highcharts) The max width of the series compared to the width of the
  43757. * plot area, or the pixel width if it is a number.
  43758. */
  43759. width?: (number|string);
  43760. /**
  43761. * (Highmaps) Define the z index of the series.
  43762. */
  43763. zIndex?: number;
  43764. /**
  43765. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  43766. */
  43767. zoneAxis?: string;
  43768. /**
  43769. * (Highcharts, Highstock) An array defining zones within a series. Zones
  43770. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  43771. * the `zoneAxis` option. The zone definitions have to be in ascending order
  43772. * regarding to the value.
  43773. *
  43774. * In styled mode, the color zones are styled with the
  43775. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  43776. * option (view live demo).
  43777. */
  43778. zones?: Array<SeriesZonesOptionsObject>;
  43779. }
  43780. /**
  43781. * (Highcharts) Initial animation is by default disabled for the funnel chart.
  43782. */
  43783. export interface PlotFunnelAnimationOptions {
  43784. defer?: number;
  43785. }
  43786. /**
  43787. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  43788. * animation when a series is displayed for the `dataLabels`. The animation can
  43789. * also be set as a configuration object. Please note that this option only
  43790. * applies to the initial animation. For other animations, see chart.animation
  43791. * and the animation parameter under the API methods. The following properties
  43792. * are supported:
  43793. *
  43794. * - `defer`: The animation delay time in milliseconds.
  43795. */
  43796. export interface PlotFunnelDataLabelsAnimationOptions {
  43797. /**
  43798. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  43799. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  43800. * inherits defer time from the series.animation.defer.
  43801. */
  43802. defer?: number;
  43803. }
  43804. /**
  43805. * (Highcharts) Funnel charts are a type of chart often used to visualize stages
  43806. * in a sales project, where the top are the initial stages with the most
  43807. * clients. It requires that the modules/funnel.js file is loaded.
  43808. *
  43809. * In TypeScript the type option must always be set.
  43810. *
  43811. * Configuration options for the series are given in three levels:
  43812. *
  43813. * 1. Options for all series in a chart are defined in the plotOptions.series
  43814. * object.
  43815. *
  43816. * 2. Options for all `funnel` series are defined in plotOptions.funnel.
  43817. *
  43818. * 3. Options for one single series are given in the series instance array. (see
  43819. * online documentation for example)
  43820. */
  43821. export interface PlotFunnelOptions {
  43822. /**
  43823. * (Highcharts) Accessibility options for a series.
  43824. */
  43825. accessibility?: SeriesAccessibilityOptionsObject;
  43826. /**
  43827. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  43828. * rendered. If `true`, areas which don't correspond to a data point, are
  43829. * rendered as `null` points. If `false`, those areas are skipped.
  43830. */
  43831. allAreas?: boolean;
  43832. /**
  43833. * (Highcharts) Allow this series' points to be selected by clicking on the
  43834. * graphic (columns, point markers, pie slices, map areas etc).
  43835. *
  43836. * The selected points can be handled by point select and unselect events,
  43837. * or collectively by the getSelectedPoints function.
  43838. *
  43839. * And alternative way of selecting points is through dragging.
  43840. */
  43841. allowPointSelect?: boolean;
  43842. /**
  43843. * (Highcharts) Initial animation is by default disabled for the funnel
  43844. * chart.
  43845. */
  43846. animation?: (boolean|PlotFunnelAnimationOptions);
  43847. /**
  43848. * (Highcharts) The color of the border surrounding each slice. When `null`,
  43849. * the border takes the same color as the slice fill. This can be used
  43850. * together with a `borderWidth` to fill drawing gaps created by
  43851. * antialiazing artefacts in borderless pies.
  43852. *
  43853. * In styled mode, the border stroke is given in the `.highcharts-point`
  43854. * class.
  43855. */
  43856. borderColor?: (ColorString|GradientColorObject|PatternObject);
  43857. /**
  43858. * (Highcharts) The width of the border surrounding each slice.
  43859. *
  43860. * When setting the border width to 0, there may be small gaps between the
  43861. * slices due to SVG antialiasing artefacts. To work around this, keep the
  43862. * border width at 0.5 or 1, but set the `borderColor` to `null` instead.
  43863. *
  43864. * In styled mode, the border stroke width is given in the
  43865. * `.highcharts-point` class.
  43866. */
  43867. borderWidth?: number;
  43868. /**
  43869. * (Highcharts) The center of the series. By default, it is centered in the
  43870. * middle of the plot area, so it fills the plot area height.
  43871. */
  43872. center?: Array<(number|string)>;
  43873. /**
  43874. * (Highcharts) An additional class name to apply to the series' graphical
  43875. * elements. This option does not replace default class names of the
  43876. * graphical element.
  43877. */
  43878. className?: string;
  43879. /**
  43880. * (Highcharts) Disable this option to allow series rendering in the whole
  43881. * plotting area.
  43882. *
  43883. * **Note:** Clipping should be always enabled when chart.zoomType is set
  43884. */
  43885. clip?: boolean;
  43886. /**
  43887. * (Highcharts) The color of the pie series. A pie series is represented as
  43888. * an empty circle if the total sum of its values is 0. Use this property to
  43889. * define the color of its border.
  43890. *
  43891. * In styled mode, the color can be defined by the colorIndex option. Also,
  43892. * the series color can be set with the `.highcharts-series`,
  43893. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  43894. * `.highcharts-series-{n}` class, or individual classes given by the
  43895. * `className` option.
  43896. */
  43897. color?: (ColorString|GradientColorObject|PatternObject);
  43898. /**
  43899. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  43900. * this number defines which colorAxis the particular series is connected
  43901. * to. It refers to either the axis id or the index of the axis in the
  43902. * colorAxis array, with 0 being the first. Set this option to false to
  43903. * prevent a series from connecting to the default color axis.
  43904. *
  43905. * Since v7.2.0 the option can also be an axis id or an axis index instead
  43906. * of a boolean flag.
  43907. */
  43908. colorAxis?: (boolean|number|string);
  43909. /**
  43910. * (Highcharts) Styled mode only. A specific color index to use for the
  43911. * series, so its graphic representations are given the class name
  43912. * `highcharts-color-{n}`.
  43913. */
  43914. colorIndex?: number;
  43915. /**
  43916. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  43917. * used to calculate point color if `colorAxis` is used. Requires to set
  43918. * `min` and `max` if some custom point property is used or if approximation
  43919. * for data grouping is set to `'sum'`.
  43920. */
  43921. colorKey?: string;
  43922. /**
  43923. * (Highcharts) A series specific or series type specific color set to use
  43924. * instead of the global colors.
  43925. */
  43926. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  43927. /**
  43928. * (Highstock) Compare the values of the series against the first non-null,
  43929. * non- zero value in the visible range. The y axis will show percentage or
  43930. * absolute change depending on whether `compare` is set to `"percent"` or
  43931. * `"value"`. When this is applied to multiple series, it allows comparing
  43932. * the development of the series against each other. Adds a `change` field
  43933. * to every point object.
  43934. */
  43935. compare?: string;
  43936. /**
  43937. * (Highstock) When compare is `percent`, this option dictates whether to
  43938. * use 0 or 100 as the base of comparison.
  43939. */
  43940. compareBase?: (0|100);
  43941. /**
  43942. * (Highstock) Defines if comparison should start from the first point
  43943. * within the visible range or should start from the first point **before**
  43944. * the range.
  43945. *
  43946. * In other words, this flag determines if first point within the visible
  43947. * range will have 0% (`compareStart=true`) or should have been already
  43948. * calculated according to the previous point (`compareStart=false`).
  43949. */
  43950. compareStart?: boolean;
  43951. /**
  43952. * (Gantt) Override Pathfinder connector options for a series. Requires
  43953. * Highcharts Gantt to be loaded.
  43954. */
  43955. connectors?: SeriesConnectorsOptionsObject;
  43956. /**
  43957. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  43958. * rounded to its nearest pixel in order to render sharp on screen. In some
  43959. * cases, when there are a lot of densely packed columns, this leads to
  43960. * visible difference in column widths or distance between columns. In these
  43961. * cases, setting `crisp` to `false` may look better, even though each
  43962. * column is rendered blurry.
  43963. */
  43964. crisp?: boolean;
  43965. /**
  43966. * (Highcharts) You can set the cursor to "pointer" if you have click events
  43967. * attached to the series, to signal to the user that the points and lines
  43968. * can be clicked.
  43969. *
  43970. * In styled mode, the series cursor can be set with the same classes as
  43971. * listed under series.color.
  43972. */
  43973. cursor?: (string|CursorValue);
  43974. /**
  43975. * (Highcharts) A reserved subspace to store options and values for
  43976. * customized functionality. Here you can add additional data for your own
  43977. * event callbacks and formatter callbacks.
  43978. */
  43979. custom?: Dictionary<any>;
  43980. /**
  43981. * (Highstock) Data grouping is the concept of sampling the data values into
  43982. * larger blocks in order to ease readability and increase performance of
  43983. * the JavaScript charts. Highstock by default applies data grouping when
  43984. * the points become closer than a certain pixel value, determined by the
  43985. * `groupPixelWidth` option.
  43986. *
  43987. * If data grouping is applied, the grouping information of grouped points
  43988. * can be read from the Point.dataGroup. If point options other than the
  43989. * data itself are set, for example `name` or `color` or custom properties,
  43990. * the grouping logic doesn't know how to group it. In this case the options
  43991. * of the first point instance are copied over to the group point. This can
  43992. * be altered through a custom `approximation` callback function.
  43993. */
  43994. dataGrouping?: DataGroupingOptionsObject;
  43995. /**
  43996. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  43997. * labels, appearing next to each data point.
  43998. *
  43999. * Since v6.2.0, multiple data labels can be applied to each single point by
  44000. * defining them as an array of configs.
  44001. *
  44002. * In styled mode, the data labels can be styled with the
  44003. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  44004. * (see example).
  44005. */
  44006. dataLabels?: (SeriesPieDataLabelsOptionsObject|Array<SeriesPieDataLabelsOptionsObject>);
  44007. /**
  44008. * (Highcharts) The thickness of a 3D pie.
  44009. */
  44010. depth?: number;
  44011. /**
  44012. * (Highcharts) A description of the series to add to the screen reader
  44013. * information about the series.
  44014. */
  44015. description?: string;
  44016. /**
  44017. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  44018. * This includes point tooltips and click events on graphs and points. For
  44019. * large datasets it improves performance.
  44020. */
  44021. enableMouseTracking?: boolean;
  44022. /**
  44023. * (Highcharts) The end angle of the pie in degrees where 0 is top and 90 is
  44024. * right. Defaults to `startAngle` plus 360.
  44025. */
  44026. endAngle?: number;
  44027. /**
  44028. * (Highcharts) General event handlers for the series items. These event
  44029. * hooks can also be attached to the series at run time using the
  44030. * `Highcharts.addEvent` function.
  44031. */
  44032. events?: SeriesEventsOptionsObject;
  44033. /**
  44034. * (Highcharts) If the total sum of the pie's values is 0, the series is
  44035. * represented as an empty circle . The `fillColor` option defines the color
  44036. * of that circle. Use pie.borderWidth to set the border thickness.
  44037. */
  44038. fillColor?: (ColorString|GradientColorObject|PatternObject);
  44039. /**
  44040. * (Highstock) Defines when to display a gap in the graph, together with the
  44041. * gapUnit option.
  44042. *
  44043. * In case when `dataGrouping` is enabled, points can be grouped into a
  44044. * larger time span. This can make the grouped points to have a greater
  44045. * distance than the absolute value of `gapSize` property, which will result
  44046. * in disappearing graph completely. To prevent this situation the mentioned
  44047. * distance between grouped points is used instead of previously defined
  44048. * `gapSize`.
  44049. *
  44050. * In practice, this option is most often used to visualize gaps in time
  44051. * series. In a stock chart, intraday data is available for daytime hours,
  44052. * while gaps will appear in nights and weekends.
  44053. */
  44054. gapSize?: number;
  44055. /**
  44056. * (Highstock) Together with gapSize, this option defines where to draw gaps
  44057. * in the graph.
  44058. *
  44059. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  44060. * if the distance between two points is greater than 5 times that of the
  44061. * two closest points, the graph will be broken.
  44062. *
  44063. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  44064. * values, which on a datetime axis is milliseconds. This also applies to
  44065. * the navigator series that inherits gap options from the base series.
  44066. */
  44067. gapUnit?: OptionsGapUnitValue;
  44068. /**
  44069. * (Highcharts) The height of the funnel or pyramid. If it is a number it
  44070. * defines the pixel height, if it is a percentage string it is the
  44071. * percentage of the plot area height.
  44072. */
  44073. height?: (number|string);
  44074. /**
  44075. * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
  44076. * whether the series shall be redrawn as if the hidden point were `null`.
  44077. *
  44078. * The default value changed from `false` to `true` with Highcharts 3.0.
  44079. */
  44080. ignoreHiddenPoint?: boolean;
  44081. /**
  44082. * (Highcharts) When set to `false` will prevent the series data from being
  44083. * included in any form of data export.
  44084. *
  44085. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  44086. * `includeInCSVExport`.
  44087. */
  44088. includeInDataExport?: boolean;
  44089. /**
  44090. * (Highmaps) What property to join the `mapData` to the value data. For
  44091. * example, if joinBy is "code", the mapData items with a specific code is
  44092. * merged into the data with the same code. For maps loaded from GeoJSON,
  44093. * the keys may be held in each point's `properties` object.
  44094. *
  44095. * The joinBy option can also be an array of two values, where the first
  44096. * points to a key in the `mapData`, and the second points to another key in
  44097. * the `data`.
  44098. *
  44099. * When joinBy is `null`, the map items are joined by their position in the
  44100. * array, which performs much better in maps with many data points. This is
  44101. * the recommended option if you are printing more than a thousand data
  44102. * points and have a backend that can preprocess the data into a parallel
  44103. * array of the mapData.
  44104. */
  44105. joinBy?: (string|Array<string>);
  44106. /**
  44107. * (Highcharts) An array specifying which option maps to which key in the
  44108. * data point array. This makes it convenient to work with unstructured data
  44109. * arrays from different sources.
  44110. */
  44111. keys?: Array<string>;
  44112. /**
  44113. * (Highstock) The line marks the last price from all points.
  44114. */
  44115. lastPrice?: SeriesLastPriceOptionsObject;
  44116. /**
  44117. * (Highstock) The line marks the last price from visible range of points.
  44118. */
  44119. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  44120. /**
  44121. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  44122. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  44123. * the ends and bends.
  44124. */
  44125. linecap?: SeriesLinecapValue;
  44126. /**
  44127. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  44128. * Additionally, the value can be ":previous" to link to the previous
  44129. * series. When two series are linked, only the first one appears in the
  44130. * legend. Toggling the visibility of this also toggles the linked series.
  44131. *
  44132. * If master series uses data sorting and linked series does not have its
  44133. * own sorting definition, the linked series will be sorted in the same
  44134. * order as the master one.
  44135. */
  44136. linkedTo?: string;
  44137. /**
  44138. * (Highcharts) The minimum size for a pie in response to auto margins. The
  44139. * pie will try to shrink to make room for data labels in side the plot
  44140. * area, but only to this size.
  44141. */
  44142. minSize?: (number|string);
  44143. /**
  44144. * (Highstock) Options for the corresponding navigator series if
  44145. * `showInNavigator` is `true` for this series. Available options are the
  44146. * same as any series, documented at plotOptions and series.
  44147. *
  44148. * These options are merged with options in navigator.series, and will take
  44149. * precedence if the same option is defined both places.
  44150. */
  44151. navigatorOptions?: PlotSeriesOptions;
  44152. /**
  44153. * (Highcharts) The height of the neck, the lower part of the funnel. A
  44154. * number defines pixel width, a percentage string defines a percentage of
  44155. * the plot area height.
  44156. */
  44157. neckHeight?: (number|string);
  44158. /**
  44159. * (Highcharts) The width of the neck, the lower part of the funnel. A
  44160. * number defines pixel width, a percentage string defines a percentage of
  44161. * the plot area width.
  44162. */
  44163. neckWidth?: (number|string);
  44164. /**
  44165. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  44166. * dataLabels.
  44167. */
  44168. opacity?: number;
  44169. /**
  44170. * (Highcharts) Properties for each single point.
  44171. */
  44172. point?: PlotSeriesPointOptions;
  44173. /**
  44174. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  44175. * individual series. Overrides the chart wide configuration.
  44176. */
  44177. pointDescriptionFormatter?: Function;
  44178. /**
  44179. * (Highstock) The width of each point on the x axis. For example in a
  44180. * column chart with one value each day, the pointRange would be 1 day (= 24
  44181. * * 3600
  44182. *
  44183. * * 1000 milliseconds). This is normally computed automatically, but this
  44184. * option can be used to override the automatic value.
  44185. */
  44186. pointRange?: number;
  44187. /**
  44188. * (Highcharts) A reversed funnel has the widest area down. A reversed
  44189. * funnel with no neck width and neck height is a pyramid.
  44190. */
  44191. reversed?: boolean;
  44192. /**
  44193. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  44194. * true, the checkbox next to the series name in the legend will be checked
  44195. * for a selected series.
  44196. */
  44197. selected?: boolean;
  44198. /**
  44199. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  44200. * the shadow can be an object configuration containing `color`, `offsetX`,
  44201. * `offsetY`, `opacity` and `width`.
  44202. */
  44203. shadow?: (boolean|ShadowOptionsObject);
  44204. /**
  44205. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  44206. * allow selecting the series. The state of the checkbox is determined by
  44207. * the `selected` option.
  44208. */
  44209. showCheckbox?: boolean;
  44210. /**
  44211. * (Highcharts) Whether to display this particular series or series type in
  44212. * the legend. Since 2.1, pies are not shown in the legend by default.
  44213. */
  44214. showInLegend?: boolean;
  44215. /**
  44216. * (Highstock) Whether or not to show the series in the navigator. Takes
  44217. * precedence over navigator.baseSeries if defined.
  44218. */
  44219. showInNavigator?: boolean;
  44220. /**
  44221. * (Highcharts) If set to `true`, the accessibility module will skip past
  44222. * the points in this series for keyboard navigation.
  44223. */
  44224. skipKeyboardNavigation?: boolean;
  44225. /**
  44226. * (Highcharts) If a point is sliced, moved out from the center, how many
  44227. * pixels should it be moved?.
  44228. */
  44229. slicedOffset?: number;
  44230. /**
  44231. * (Highcharts) The start angle of the pie slices in degrees where 0 is top
  44232. * and 90 right.
  44233. */
  44234. startAngle?: number;
  44235. /**
  44236. * (Highcharts) Options for the series states.
  44237. */
  44238. states?: SeriesStatesOptionsObject;
  44239. /**
  44240. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  44241. * event on a series isn't triggered until the mouse moves over another
  44242. * series, or out of the plot area. When false, the `mouseOut` event on a
  44243. * series is triggered when the mouse leaves the area around the series'
  44244. * graph or markers. This also implies the tooltip. When `stickyTracking` is
  44245. * false and `tooltip.shared` is false, the tooltip will be hidden when
  44246. * moving the mouse between series.
  44247. */
  44248. stickyTracking?: boolean;
  44249. /**
  44250. * (Highcharts) A configuration object for the tooltip rendering of each
  44251. * single series. Properties are inherited from tooltip, but only the
  44252. * following properties can be defined on a series level.
  44253. */
  44254. tooltip?: SeriesTooltipOptionsObject;
  44255. /**
  44256. * (Highstock) The parameter allows setting line series type and use OHLC
  44257. * indicators. Data in OHLC format is required.
  44258. */
  44259. useOhlcData?: boolean;
  44260. /**
  44261. * (Highcharts) Set the initial visibility of the series.
  44262. */
  44263. visible?: boolean;
  44264. /**
  44265. * (Highcharts) The width of the funnel compared to the width of the plot
  44266. * area, or the pixel width if it is a number.
  44267. */
  44268. width?: (number|string);
  44269. /**
  44270. * (Highmaps) Define the z index of the series.
  44271. */
  44272. zIndex?: number;
  44273. }
  44274. /**
  44275. * (Gantt) Enable or disable the initial animation when a series is displayed.
  44276. * The animation can also be set as a configuration object. Please note that
  44277. * this option only applies to the initial animation of the series itself. For
  44278. * other animations, see chart.animation and the animation parameter under the
  44279. * API methods. The following properties are supported:
  44280. *
  44281. * - `defer`: The animation delay time in milliseconds.
  44282. *
  44283. * - `duration`: The duration of the animation in milliseconds.
  44284. *
  44285. * - `easing`: Can be a string reference to an easing function set on the `Math`
  44286. * object or a function. See the _Custom easing function_ demo below.
  44287. *
  44288. * Due to poor performance, animation is disabled in old IE browsers for several
  44289. * chart types.
  44290. */
  44291. export interface PlotGanttAnimationOptions {
  44292. defer?: number;
  44293. }
  44294. /**
  44295. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  44296. * animation when a series is displayed for the `dataLabels`. The animation can
  44297. * also be set as a configuration object. Please note that this option only
  44298. * applies to the initial animation. For other animations, see chart.animation
  44299. * and the animation parameter under the API methods. The following properties
  44300. * are supported:
  44301. *
  44302. * - `defer`: The animation delay time in milliseconds.
  44303. */
  44304. export interface PlotGanttDataLabelsAnimationOptions {
  44305. /**
  44306. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  44307. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  44308. * inherits defer time from the series.animation.defer.
  44309. */
  44310. defer?: number;
  44311. }
  44312. /**
  44313. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  44314. * appearing next to each data point.
  44315. *
  44316. * Since v6.2.0, multiple data labels can be applied to each single point by
  44317. * defining them as an array of configs.
  44318. *
  44319. * In styled mode, the data labels can be styled with the
  44320. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  44321. * example).
  44322. */
  44323. export interface PlotGanttDataLabelsOptions {
  44324. /**
  44325. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  44326. * compared to the point. If `right`, the right side of the label should be
  44327. * touching the point. For points with an extent, like columns, the
  44328. * alignments also dictates how to align it inside the box, as given with
  44329. * the inside option. Can be one of `left`, `center` or `right`.
  44330. */
  44331. align?: string;
  44332. /**
  44333. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  44334. * overlap. To make the labels less sensitive for overlapping, the
  44335. * dataLabels.padding can be set to 0.
  44336. */
  44337. allowOverlap?: boolean;
  44338. /**
  44339. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  44340. * animation when a series is displayed for the `dataLabels`. The animation
  44341. * can also be set as a configuration object. Please note that this option
  44342. * only applies to the initial animation. For other animations, see
  44343. * chart.animation and the animation parameter under the API methods. The
  44344. * following properties are supported:
  44345. *
  44346. * - `defer`: The animation delay time in milliseconds.
  44347. */
  44348. animation?: (boolean|PlotGanttDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  44349. /**
  44350. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  44351. * for the data label.
  44352. */
  44353. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  44354. /**
  44355. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  44356. * label. Defaults to `undefined`.
  44357. */
  44358. borderColor?: (ColorString|GradientColorObject|PatternObject);
  44359. /**
  44360. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  44361. * the data label.
  44362. */
  44363. borderRadius?: number;
  44364. /**
  44365. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  44366. * the data label.
  44367. */
  44368. borderWidth?: number;
  44369. /**
  44370. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  44371. * Particularly in styled mode, this can be used to give each series' or
  44372. * point's data label unique styling. In addition to this option, a default
  44373. * color class name is added so that we can give the labels a contrast text
  44374. * shadow.
  44375. */
  44376. className?: string;
  44377. /**
  44378. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  44379. * labels. Defaults to `undefined`. For certain series types, like column or
  44380. * map, the data labels can be drawn inside the points. In this case the
  44381. * data label will be drawn with maximum contrast by default. Additionally,
  44382. * it will be given a `text-outline` style with the opposite color, to
  44383. * further increase the contrast. This can be overridden by setting the
  44384. * `text-outline` style to `none` in the `dataLabels.style` option.
  44385. */
  44386. color?: (ColorString|GradientColorObject|PatternObject);
  44387. /**
  44388. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  44389. * are outside the plot area. By default, the data label is moved inside the
  44390. * plot area according to the overflow option.
  44391. */
  44392. crop?: boolean;
  44393. /**
  44394. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  44395. * labels until the initial series animation has finished. Setting to
  44396. * `false` renders the data label immediately. If set to `true` inherits the
  44397. * defer time set in plotOptions.series.animation.
  44398. */
  44399. defer?: boolean;
  44400. /**
  44401. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  44402. * labels.
  44403. */
  44404. enabled?: boolean;
  44405. /**
  44406. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  44407. * of which data labels to display. The declarative filter is designed for
  44408. * use when callback functions are not available, like when the chart
  44409. * options require a pure JSON structure or for use with graphical editors.
  44410. * For programmatic control, use the `formatter` instead, and return
  44411. * `undefined` to disable a single data label.
  44412. */
  44413. filter?: DataLabelsFilterOptionsObject;
  44414. /**
  44415. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  44416. * label. Available variables are the same as for `formatter`.
  44417. */
  44418. format?: string;
  44419. /**
  44420. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  44421. * format the data label. Note that if a `format` is defined, the format
  44422. * takes precedence and the formatter is ignored.
  44423. */
  44424. formatter?: DataLabelsFormatterCallbackFunction;
  44425. /**
  44426. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  44427. * columns or map areas, whether to align the data label inside the box or
  44428. * to the actual value point. Defaults to `false` in most cases, `true` in
  44429. * stacked columns.
  44430. */
  44431. inside?: boolean;
  44432. /**
  44433. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  44434. * of null. Works analogously to format. `nullFormat` can be applied only to
  44435. * series which support displaying null points.
  44436. */
  44437. nullFormat?: (boolean|string);
  44438. /**
  44439. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  44440. * that defines formatting for points with the value of null. Works
  44441. * analogously to formatter. `nullPointFormatter` can be applied only to
  44442. * series which support displaying null points.
  44443. */
  44444. nullFormatter?: DataLabelsFormatterCallbackFunction;
  44445. /**
  44446. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  44447. * flow outside the plot area. The default is `"justify"`, which aligns them
  44448. * inside the plot area. For columns and bars, this means it will be moved
  44449. * inside the bar. To display data labels outside the plot area, set `crop`
  44450. * to `false` and `overflow` to `"allow"`.
  44451. */
  44452. overflow?: DataLabelsOverflowValue;
  44453. /**
  44454. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  44455. * the `backgroundColor` is set, this is the padding within the box.
  44456. */
  44457. padding?: number;
  44458. /**
  44459. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  44460. * points. If `center` alignment is not possible, it defaults to `right`.
  44461. */
  44462. position?: AlignValue;
  44463. /**
  44464. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  44465. * that due to a more complex structure, backgrounds, borders and padding
  44466. * will be lost on a rotated data label.
  44467. */
  44468. rotation?: number;
  44469. /**
  44470. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  44471. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  44472. * an object configuration containing `color`, `offsetX`, `offsetY`,
  44473. * `opacity` and `width`.
  44474. */
  44475. shadow?: (boolean|ShadowOptionsObject);
  44476. /**
  44477. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  44478. * the border around the label. Symbols are predefined functions on the
  44479. * Renderer object.
  44480. */
  44481. shape?: string;
  44482. /**
  44483. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  44484. * default `color` setting is `"contrast"`, which is a pseudo color that
  44485. * Highcharts picks up and applies the maximum contrast to the underlying
  44486. * point item, for example the bar in a bar chart.
  44487. *
  44488. * The `textOutline` is a pseudo property that applies an outline of the
  44489. * given width with the given color, which by default is the maximum
  44490. * contrast to the text. So a bright text color will result in a black text
  44491. * outline for maximum readability on a mixed background. In some cases,
  44492. * especially with grayscale text, the text outline doesn't work well, in
  44493. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  44494. * is true, the `textOutline` will not be picked up. In this, case, the same
  44495. * effect can be acheived through the `text-shadow` CSS property.
  44496. *
  44497. * For some series types, where each point has an extent, like for example
  44498. * tree maps, the data label may overflow the point. There are two
  44499. * strategies for handling overflow. By default, the text will wrap to
  44500. * multiple lines. The other strategy is to set `style.textOverflow` to
  44501. * `ellipsis`, which will keep the text on one line plus it will break
  44502. * inside long words.
  44503. */
  44504. style?: CSSObject;
  44505. /**
  44506. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  44507. * should follow marker's shape. Border and background are disabled for a
  44508. * label that follows a path.
  44509. *
  44510. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  44511. * to true will disable this option.
  44512. */
  44513. textPath?: DataLabelsTextPathOptionsObject;
  44514. /**
  44515. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  44516. * the labels.
  44517. */
  44518. useHTML?: boolean;
  44519. /**
  44520. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  44521. * label. Can be one of `top`, `middle` or `bottom`. The default value
  44522. * depends on the data, for instance in a column chart, the label is above
  44523. * positive values and below negative values.
  44524. */
  44525. verticalAlign?: string;
  44526. /**
  44527. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  44528. * label relative to the point in pixels.
  44529. */
  44530. x?: number;
  44531. /**
  44532. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  44533. * label relative to the point in pixels.
  44534. */
  44535. y?: number;
  44536. /**
  44537. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  44538. * The default Z index puts it above the series. Use a Z index of 2 to
  44539. * display it behind the series.
  44540. */
  44541. z?: number;
  44542. }
  44543. /**
  44544. * (Gantt) Style options for the guide box. The guide box has one state by
  44545. * default, the `default` state.
  44546. */
  44547. export interface PlotGanttDragDropGuideBoxOptions {
  44548. /**
  44549. * (Gantt) Style options for the guide box default state.
  44550. */
  44551. default?: DragDropGuideBoxOptionsObject;
  44552. }
  44553. /**
  44554. * (Gantt) A `gantt` series. If the type option is not specified, it is
  44555. * inherited from chart.type.
  44556. *
  44557. * In TypeScript the type option must always be set.
  44558. *
  44559. * Configuration options for the series are given in three levels:
  44560. *
  44561. * 1. Options for all series in a chart are defined in the plotOptions.series
  44562. * object.
  44563. *
  44564. * 2. Options for all `gantt` series are defined in plotOptions.gantt.
  44565. *
  44566. * 3. Options for one single series are given in the series instance array. (see
  44567. * online documentation for example)
  44568. */
  44569. export interface PlotGanttOptions {
  44570. /**
  44571. * (Gantt) Accessibility options for a series.
  44572. */
  44573. accessibility?: SeriesAccessibilityOptionsObject;
  44574. /**
  44575. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  44576. * rendered. If `true`, areas which don't correspond to a data point, are
  44577. * rendered as `null` points. If `false`, those areas are skipped.
  44578. */
  44579. allAreas?: boolean;
  44580. /**
  44581. * (Gantt) Allow this series' points to be selected by clicking on the
  44582. * graphic (columns, point markers, pie slices, map areas etc).
  44583. *
  44584. * The selected points can be handled by point select and unselect events,
  44585. * or collectively by the getSelectedPoints function.
  44586. *
  44587. * And alternative way of selecting points is through dragging.
  44588. */
  44589. allowPointSelect?: boolean;
  44590. /**
  44591. * (Gantt) Enable or disable the initial animation when a series is
  44592. * displayed. The animation can also be set as a configuration object.
  44593. * Please note that this option only applies to the initial animation of the
  44594. * series itself. For other animations, see chart.animation and the
  44595. * animation parameter under the API methods. The following properties are
  44596. * supported:
  44597. *
  44598. * - `defer`: The animation delay time in milliseconds.
  44599. *
  44600. * - `duration`: The duration of the animation in milliseconds.
  44601. *
  44602. * - `easing`: Can be a string reference to an easing function set on the
  44603. * `Math` object or a function. See the _Custom easing function_ demo below.
  44604. *
  44605. * Due to poor performance, animation is disabled in old IE browsers for
  44606. * several chart types.
  44607. */
  44608. animation?: (boolean|PlotGanttAnimationOptions|Partial<AnimationOptionsObject>);
  44609. /**
  44610. * (Gantt) For some series, there is a limit that shuts down initial
  44611. * animation by default when the total number of points in the chart is too
  44612. * high. For example, for a column chart and its derivatives, animation does
  44613. * not run if there is more than 250 points totally. To disable this cap,
  44614. * set `animationLimit` to `Infinity`.
  44615. */
  44616. animationLimit?: number;
  44617. /**
  44618. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  44619. * column or bar.
  44620. *
  44621. * In styled mode, the border stroke can be set with the `.highcharts-point`
  44622. * rule.
  44623. */
  44624. borderColor?: (ColorString|GradientColorObject|PatternObject);
  44625. /**
  44626. * (Highcharts, Highstock, Gantt) The corner radius of the border
  44627. * surrounding each column or bar.
  44628. */
  44629. borderRadius?: number;
  44630. /**
  44631. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  44632. * column or bar. Defaults to `1` when there is room for a border, but to
  44633. * `0` when the columns are so dense that a border would cover the next
  44634. * column.
  44635. *
  44636. * In styled mode, the stroke width can be set with the `.highcharts-point`
  44637. * rule.
  44638. */
  44639. borderWidth?: number;
  44640. /**
  44641. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  44642. * the category, ignoring null or missing points. When `false`, space will
  44643. * be reserved for null or missing points.
  44644. */
  44645. centerInCategory?: boolean;
  44646. /**
  44647. * (Gantt) An additional class name to apply to the series' graphical
  44648. * elements. This option does not replace default class names of the
  44649. * graphical element.
  44650. */
  44651. className?: string;
  44652. /**
  44653. * (Gantt) Disable this option to allow series rendering in the whole
  44654. * plotting area.
  44655. *
  44656. * **Note:** Clipping should be always enabled when chart.zoomType is set
  44657. */
  44658. clip?: boolean;
  44659. /**
  44660. * (Gantt) The main color of the series. In line type series it applies to
  44661. * the line and the point markers unless otherwise specified. In bar type
  44662. * series it applies to the bars unless a color is specified per point. The
  44663. * default value is pulled from the `options.colors` array.
  44664. *
  44665. * In styled mode, the color can be defined by the colorIndex option. Also,
  44666. * the series color can be set with the `.highcharts-series`,
  44667. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  44668. * `.highcharts-series-{n}` class, or individual classes given by the
  44669. * `className` option.
  44670. */
  44671. color?: (ColorString|GradientColorObject|PatternObject);
  44672. /**
  44673. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  44674. * this number defines which colorAxis the particular series is connected
  44675. * to. It refers to either the axis id or the index of the axis in the
  44676. * colorAxis array, with 0 being the first. Set this option to false to
  44677. * prevent a series from connecting to the default color axis.
  44678. *
  44679. * Since v7.2.0 the option can also be an axis id or an axis index instead
  44680. * of a boolean flag.
  44681. */
  44682. colorAxis?: (boolean|number|string);
  44683. /**
  44684. * (Highcharts, Highstock, Gantt) In an X-range series, this option makes
  44685. * all points of the same Y-axis category the same color.
  44686. */
  44687. colorByPoint?: boolean;
  44688. /**
  44689. * (Gantt) Styled mode only. A specific color index to use for the series,
  44690. * so its graphic representations are given the class name
  44691. * `highcharts-color-{n}`.
  44692. */
  44693. colorIndex?: number;
  44694. /**
  44695. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  44696. * used to calculate point color if `colorAxis` is used. Requires to set
  44697. * `min` and `max` if some custom point property is used or if approximation
  44698. * for data grouping is set to `'sum'`.
  44699. */
  44700. colorKey?: string;
  44701. /**
  44702. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  44703. * color set to apply instead of the global colors when colorByPoint is
  44704. * true.
  44705. */
  44706. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  44707. /**
  44708. * (Highstock) Compare the values of the series against the first non-null,
  44709. * non- zero value in the visible range. The y axis will show percentage or
  44710. * absolute change depending on whether `compare` is set to `"percent"` or
  44711. * `"value"`. When this is applied to multiple series, it allows comparing
  44712. * the development of the series against each other. Adds a `change` field
  44713. * to every point object.
  44714. */
  44715. compare?: string;
  44716. /**
  44717. * (Highstock) When compare is `percent`, this option dictates whether to
  44718. * use 0 or 100 as the base of comparison.
  44719. */
  44720. compareBase?: (0|100);
  44721. /**
  44722. * (Highstock) Defines if comparison should start from the first point
  44723. * within the visible range or should start from the first point **before**
  44724. * the range.
  44725. *
  44726. * In other words, this flag determines if first point within the visible
  44727. * range will have 0% (`compareStart=true`) or should have been already
  44728. * calculated according to the previous point (`compareStart=false`).
  44729. */
  44730. compareStart?: boolean;
  44731. /**
  44732. * (Gantt) Override Pathfinder connector options for a series. Requires
  44733. * Highcharts Gantt to be loaded.
  44734. */
  44735. connectors?: SeriesConnectorsOptionsObject;
  44736. /**
  44737. * (Gantt) You can set the cursor to "pointer" if you have click events
  44738. * attached to the series, to signal to the user that the points and lines
  44739. * can be clicked.
  44740. *
  44741. * In styled mode, the series cursor can be set with the same classes as
  44742. * listed under series.color.
  44743. */
  44744. cursor?: (string|CursorValue);
  44745. /**
  44746. * (Gantt) A reserved subspace to store options and values for customized
  44747. * functionality. Here you can add additional data for your own event
  44748. * callbacks and formatter callbacks.
  44749. */
  44750. custom?: Dictionary<any>;
  44751. /**
  44752. * (Gantt) Name of the dash style to use for the graph, or for some series
  44753. * types the outline of each shape.
  44754. *
  44755. * In styled mode, the stroke dash-array can be set with the same classes as
  44756. * listed under series.color.
  44757. */
  44758. dashStyle?: DashStyleValue;
  44759. /**
  44760. * (Highstock) Data grouping is the concept of sampling the data values into
  44761. * larger blocks in order to ease readability and increase performance of
  44762. * the JavaScript charts. Highstock by default applies data grouping when
  44763. * the points become closer than a certain pixel value, determined by the
  44764. * `groupPixelWidth` option.
  44765. *
  44766. * If data grouping is applied, the grouping information of grouped points
  44767. * can be read from the Point.dataGroup. If point options other than the
  44768. * data itself are set, for example `name` or `color` or custom properties,
  44769. * the grouping logic doesn't know how to group it. In this case the options
  44770. * of the first point instance are copied over to the group point. This can
  44771. * be altered through a custom `approximation` callback function.
  44772. */
  44773. dataGrouping?: DataGroupingOptionsObject;
  44774. /**
  44775. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  44776. * labels, appearing next to each data point.
  44777. *
  44778. * Since v6.2.0, multiple data labels can be applied to each single point by
  44779. * defining them as an array of configs.
  44780. *
  44781. * In styled mode, the data labels can be styled with the
  44782. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  44783. * (see example).
  44784. */
  44785. dataLabels?: (PlotGanttDataLabelsOptions|Array<PlotGanttDataLabelsOptions>);
  44786. /**
  44787. * (Gantt) A description of the series to add to the screen reader
  44788. * information about the series.
  44789. */
  44790. description?: string;
  44791. /**
  44792. * (Gantt) The draggable-points module allows points to be moved around or
  44793. * modified in the chart. In addition to the options mentioned under the
  44794. * `dragDrop` API structure, the module fires three events, point.dragStart,
  44795. * point.drag and point.drop.
  44796. */
  44797. dragDrop?: SeriesDragDropOptionsObject;
  44798. /**
  44799. * (Gantt) Enable or disable the mouse tracking for a specific series. This
  44800. * includes point tooltips and click events on graphs and points. For large
  44801. * datasets it improves performance.
  44802. */
  44803. enableMouseTracking?: boolean;
  44804. /**
  44805. * (Gantt) General event handlers for the series items. These event hooks
  44806. * can also be attached to the series at run time using the
  44807. * `Highcharts.addEvent` function.
  44808. */
  44809. events?: SeriesEventsOptionsObject;
  44810. /**
  44811. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  44812. * let them render independent of each other. Non-grouped columns will be
  44813. * laid out individually and overlap each other.
  44814. */
  44815. grouping?: boolean;
  44816. /**
  44817. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  44818. * axis units.
  44819. */
  44820. groupPadding?: number;
  44821. /**
  44822. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  44823. */
  44824. groupZPadding?: number;
  44825. /**
  44826. * (Gantt) When set to `false` will prevent the series data from being
  44827. * included in any form of data export.
  44828. *
  44829. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  44830. * `includeInCSVExport`.
  44831. */
  44832. includeInDataExport?: boolean;
  44833. /**
  44834. * (Highmaps) What property to join the `mapData` to the value data. For
  44835. * example, if joinBy is "code", the mapData items with a specific code is
  44836. * merged into the data with the same code. For maps loaded from GeoJSON,
  44837. * the keys may be held in each point's `properties` object.
  44838. *
  44839. * The joinBy option can also be an array of two values, where the first
  44840. * points to a key in the `mapData`, and the second points to another key in
  44841. * the `data`.
  44842. *
  44843. * When joinBy is `null`, the map items are joined by their position in the
  44844. * array, which performs much better in maps with many data points. This is
  44845. * the recommended option if you are printing more than a thousand data
  44846. * points and have a backend that can preprocess the data into a parallel
  44847. * array of the mapData.
  44848. */
  44849. joinBy?: (string|Array<string>);
  44850. /**
  44851. * (Gantt) An array specifying which option maps to which key in the data
  44852. * point array. This makes it convenient to work with unstructured data
  44853. * arrays from different sources.
  44854. */
  44855. keys?: Array<string>;
  44856. /**
  44857. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  44858. * series as possible in a natural way, seeking to avoid other series. The
  44859. * goal of this feature is to make the chart more easily readable, like if a
  44860. * human designer placed the labels in the optimal position.
  44861. *
  44862. * The series labels currently work with series types having a `graph` or an
  44863. * `area`.
  44864. */
  44865. label?: SeriesLabelOptionsObject;
  44866. /**
  44867. * (Highstock) The line marks the last price from all points.
  44868. */
  44869. lastPrice?: SeriesLastPriceOptionsObject;
  44870. /**
  44871. * (Highstock) The line marks the last price from visible range of points.
  44872. */
  44873. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  44874. /**
  44875. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  44876. * Additionally, the value can be ":previous" to link to the previous
  44877. * series. When two series are linked, only the first one appears in the
  44878. * legend. Toggling the visibility of this also toggles the linked series.
  44879. *
  44880. * If master series uses data sorting and linked series does not have its
  44881. * own sorting definition, the linked series will be sorted in the same
  44882. * order as the master one.
  44883. */
  44884. linkedTo?: string;
  44885. /**
  44886. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  44887. * column, translated to the height of a bar in a bar chart. This prevents
  44888. * the columns from becoming too wide when there is a small number of points
  44889. * in the chart.
  44890. */
  44891. maxPointWidth?: number;
  44892. /**
  44893. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  44894. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  44895. * to zero) point, set the minimal point length to a pixel value like 3\. In
  44896. * stacked column charts, minPointLength might not be respected for tightly
  44897. * packed values.
  44898. */
  44899. minPointLength?: number;
  44900. /**
  44901. * (Highstock) Options for the corresponding navigator series if
  44902. * `showInNavigator` is `true` for this series. Available options are the
  44903. * same as any series, documented at plotOptions and series.
  44904. *
  44905. * These options are merged with options in navigator.series, and will take
  44906. * precedence if the same option is defined both places.
  44907. */
  44908. navigatorOptions?: PlotSeriesOptions;
  44909. /**
  44910. * (Gantt) Opacity of a series parts: line, fill (e.g. area) and dataLabels.
  44911. */
  44912. opacity?: number;
  44913. /**
  44914. * (Gantt) A partial fill for each point, typically used to visualize how
  44915. * much of a task is performed. See completed.
  44916. */
  44917. partialFill?: PlotGanttPartialFillOptions;
  44918. /**
  44919. * (Gantt) Properties for each single point.
  44920. */
  44921. point?: PlotSeriesPointOptions;
  44922. /**
  44923. * (Gantt) Same as accessibility.pointDescriptionFormatter, but for an
  44924. * individual series. Overrides the chart wide configuration.
  44925. */
  44926. pointDescriptionFormatter?: Function;
  44927. /**
  44928. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  44929. * axis units.
  44930. */
  44931. pointPadding?: number;
  44932. pointRange?: number;
  44933. /**
  44934. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  44935. * each column or bar point. When `null`, the width is calculated from the
  44936. * `pointPadding` and `groupPadding`. The width effects the dimension that
  44937. * is not based on the point value. For column series it is the hoizontal
  44938. * length and for bar series it is the vertical length.
  44939. */
  44940. pointWidth?: number;
  44941. /**
  44942. * (Gantt) Whether to select the series initially. If `showCheckbox` is
  44943. * true, the checkbox next to the series name in the legend will be checked
  44944. * for a selected series.
  44945. */
  44946. selected?: boolean;
  44947. /**
  44948. * (Gantt) Whether to apply a drop shadow to the graph line. Since 2.3 the
  44949. * shadow can be an object configuration containing `color`, `offsetX`,
  44950. * `offsetY`, `opacity` and `width`.
  44951. */
  44952. shadow?: (boolean|ShadowOptionsObject);
  44953. /**
  44954. * (Gantt) If true, a checkbox is displayed next to the legend item to allow
  44955. * selecting the series. The state of the checkbox is determined by the
  44956. * `selected` option.
  44957. */
  44958. showCheckbox?: boolean;
  44959. /**
  44960. * (Gantt) Whether to display this particular series or series type in the
  44961. * legend. Standalone series are shown in legend by default, and linked
  44962. * series are not. Since v7.2.0 it is possible to show series that use
  44963. * colorAxis by setting this option to `true`.
  44964. */
  44965. showInLegend?: boolean;
  44966. /**
  44967. * (Highstock) Whether or not to show the series in the navigator. Takes
  44968. * precedence over navigator.baseSeries if defined.
  44969. */
  44970. showInNavigator?: boolean;
  44971. /**
  44972. * (Gantt) If set to `true`, the accessibility module will skip past the
  44973. * points in this series for keyboard navigation.
  44974. */
  44975. skipKeyboardNavigation?: boolean;
  44976. states?: SeriesStatesOptionsObject;
  44977. /**
  44978. * (Gantt) Sticky tracking of mouse events. When true, the `mouseOut` event
  44979. * on a series isn't triggered until the mouse moves over another series, or
  44980. * out of the plot area. When false, the `mouseOut` event on a series is
  44981. * triggered when the mouse leaves the area around the series' graph or
  44982. * markers. This also implies the tooltip when not shared. When
  44983. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  44984. * be hidden when moving the mouse between series. Defaults to true for line
  44985. * and area type series, but to false for columns, pies etc.
  44986. *
  44987. * **Note:** The boost module will force this option because of technical
  44988. * limitations.
  44989. */
  44990. stickyTracking?: boolean;
  44991. /**
  44992. * (Gantt) A configuration object for the tooltip rendering of each single
  44993. * series. Properties are inherited from tooltip, but only the following
  44994. * properties can be defined on a series level.
  44995. */
  44996. tooltip?: SeriesTooltipOptionsObject;
  44997. /**
  44998. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  44999. * is longer than this, only one dimensional arrays of numbers, or two
  45000. * dimensional arrays with x and y values are allowed. Also, only the first
  45001. * point is tested, and the rest are assumed to be the same format. This
  45002. * saves expensive data checking and indexing in long series. Set it to `0`
  45003. * disable.
  45004. *
  45005. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  45006. * two dimensional arrays are allowed.
  45007. */
  45008. turboThreshold?: number;
  45009. /**
  45010. * (Gantt) Set the initial visibility of the series.
  45011. */
  45012. visible?: boolean;
  45013. /**
  45014. * (Highmaps) Define the z index of the series.
  45015. */
  45016. zIndex?: number;
  45017. /**
  45018. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  45019. */
  45020. zoneAxis?: string;
  45021. /**
  45022. * (Highcharts, Highstock) An array defining zones within a series. Zones
  45023. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  45024. * the `zoneAxis` option. The zone definitions have to be in ascending order
  45025. * regarding to the value.
  45026. *
  45027. * In styled mode, the color zones are styled with the
  45028. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  45029. * option (view live demo).
  45030. */
  45031. zones?: Array<SeriesZonesOptionsObject>;
  45032. }
  45033. /**
  45034. * (Gantt) A partial fill for each point, typically used to visualize how much
  45035. * of a task is performed. See completed.
  45036. */
  45037. export interface PlotGanttPartialFillOptions {
  45038. /**
  45039. * (Highcharts, Highstock, Gantt) The fill color to be used for partial
  45040. * fills. Defaults to a darker shade of the point color.
  45041. */
  45042. fill?: (ColorString|GradientColorObject|PatternObject);
  45043. }
  45044. /**
  45045. * (Highcharts) Enable or disable the initial animation when a series is
  45046. * displayed. The animation can also be set as a configuration object. Please
  45047. * note that this option only applies to the initial animation of the series
  45048. * itself. For other animations, see chart.animation and the animation parameter
  45049. * under the API methods. The following properties are supported:
  45050. *
  45051. * - `defer`: The animation delay time in milliseconds.
  45052. *
  45053. * - `duration`: The duration of the animation in milliseconds.
  45054. *
  45055. * - `easing`: Can be a string reference to an easing function set on the `Math`
  45056. * object or a function. See the _Custom easing function_ demo below.
  45057. *
  45058. * Due to poor performance, animation is disabled in old IE browsers for several
  45059. * chart types.
  45060. */
  45061. export interface PlotGaugeAnimationOptions {
  45062. defer?: number;
  45063. }
  45064. /**
  45065. * (Highcharts) Enable or disable the initial animation when a series is
  45066. * displayed for the `dataLabels`. The animation can also be set as a
  45067. * configuration object. Please note that this option only applies to the
  45068. * initial animation. For other animations, see chart.animation and the
  45069. * animation parameter under the API methods. The following properties are
  45070. * supported:
  45071. *
  45072. * - `defer`: The animation delay time in milliseconds.
  45073. */
  45074. export interface PlotGaugeDataLabelsAnimationOptions {
  45075. /**
  45076. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  45077. * dataLabel immediately. As `undefined` inherits defer time from the
  45078. * series.animation.defer.
  45079. */
  45080. defer?: number;
  45081. }
  45082. /**
  45083. * (Highcharts) Data labels for the gauge. For gauges, the data labels are
  45084. * enabled by default and shown in a bordered box below the point.
  45085. */
  45086. export interface PlotGaugeDataLabelsOptions {
  45087. /**
  45088. * (Highcharts) The alignment of the data label compared to the point. If
  45089. * `right`, the right side of the label should be touching the point. For
  45090. * points with an extent, like columns, the alignments also dictates how to
  45091. * align it inside the box, as given with the inside option. Can be one of
  45092. * `left`, `center` or `right`.
  45093. */
  45094. align?: (AlignValue|null);
  45095. /**
  45096. * (Highcharts) Whether to allow data labels to overlap. To make the labels
  45097. * less sensitive for overlapping, the dataLabels.padding can be set to 0.
  45098. */
  45099. allowOverlap?: boolean;
  45100. /**
  45101. * (Highcharts) Enable or disable the initial animation when a series is
  45102. * displayed for the `dataLabels`. The animation can also be set as a
  45103. * configuration object. Please note that this option only applies to the
  45104. * initial animation. For other animations, see chart.animation and the
  45105. * animation parameter under the API methods. The following properties are
  45106. * supported:
  45107. *
  45108. * - `defer`: The animation delay time in milliseconds.
  45109. */
  45110. animation?: (boolean|PlotGaugeDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  45111. /**
  45112. * (Highcharts) The background color or gradient for the data label.
  45113. */
  45114. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  45115. /**
  45116. * (Highcharts) The border color for the data label. Defaults to
  45117. * `undefined`.
  45118. */
  45119. borderColor?: string;
  45120. /**
  45121. * (Highcharts) The border radius in pixels for the data label.
  45122. */
  45123. borderRadius?: number;
  45124. /**
  45125. * (Highcharts) The border width in pixels for the data label.
  45126. */
  45127. borderWidth?: number;
  45128. /**
  45129. * (Highcharts) A class name for the data label. Particularly in styled
  45130. * mode, this can be used to give each series' or point's data label unique
  45131. * styling. In addition to this option, a default color class name is added
  45132. * so that we can give the labels a contrast text shadow.
  45133. */
  45134. className?: string;
  45135. /**
  45136. * (Highcharts) The text color for the data labels. Defaults to `undefined`.
  45137. * For certain series types, like column or map, the data labels can be
  45138. * drawn inside the points. In this case the data label will be drawn with
  45139. * maximum contrast by default. Additionally, it will be given a
  45140. * `text-outline` style with the opposite color, to further increase the
  45141. * contrast. This can be overridden by setting the `text-outline` style to
  45142. * `none` in the `dataLabels.style` option.
  45143. */
  45144. color?: (ColorString|GradientColorObject|PatternObject);
  45145. /**
  45146. * (Highcharts) Whether to hide data labels that are outside the plot area.
  45147. * By default, the data label is moved inside the plot area according to the
  45148. * overflow option.
  45149. */
  45150. crop?: boolean;
  45151. /**
  45152. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  45153. * labels until the initial series animation has finished. Setting to
  45154. * `false` renders the data label immediately. If set to `true` inherits the
  45155. * defer time set in plotOptions.series.animation.
  45156. */
  45157. defer?: boolean;
  45158. /**
  45159. * (Highcharts) Enable or disable the data labels.
  45160. */
  45161. enabled?: boolean;
  45162. /**
  45163. * (Highcharts) A declarative filter to control of which data labels to
  45164. * display. The declarative filter is designed for use when callback
  45165. * functions are not available, like when the chart options require a pure
  45166. * JSON structure or for use with graphical editors. For programmatic
  45167. * control, use the `formatter` instead, and return `undefined` to disable a
  45168. * single data label.
  45169. */
  45170. filter?: DataLabelsFilterOptionsObject;
  45171. /**
  45172. * (Highcharts) A format string for the data label. Available variables are
  45173. * the same as for `formatter`.
  45174. */
  45175. format?: string;
  45176. /**
  45177. * (Highcharts) Callback JavaScript function to format the data label. Note
  45178. * that if a `format` is defined, the format takes precedence and the
  45179. * formatter is ignored.
  45180. */
  45181. formatter?: DataLabelsFormatterCallbackFunction;
  45182. /**
  45183. * (Highcharts) For points with an extent, like columns or map areas,
  45184. * whether to align the data label inside the box or to the actual value
  45185. * point. Defaults to `false` in most cases, `true` in stacked columns.
  45186. */
  45187. inside?: boolean;
  45188. /**
  45189. * (Highcharts) Format for points with the value of null. Works analogously
  45190. * to format. `nullFormat` can be applied only to series which support
  45191. * displaying null points.
  45192. */
  45193. nullFormat?: (boolean|string);
  45194. /**
  45195. * (Highcharts) Callback JavaScript function that defines formatting for
  45196. * points with the value of null. Works analogously to formatter.
  45197. * `nullPointFormatter` can be applied only to series which support
  45198. * displaying null points.
  45199. */
  45200. nullFormatter?: DataLabelsFormatterCallbackFunction;
  45201. /**
  45202. * (Highcharts) How to handle data labels that flow outside the plot area.
  45203. * The default is `"justify"`, which aligns them inside the plot area. For
  45204. * columns and bars, this means it will be moved inside the bar. To display
  45205. * data labels outside the plot area, set `crop` to `false` and `overflow`
  45206. * to `"allow"`.
  45207. */
  45208. overflow?: DataLabelsOverflowValue;
  45209. /**
  45210. * (Highcharts) When either the `borderWidth` or the `backgroundColor` is
  45211. * set, this is the padding within the box.
  45212. */
  45213. padding?: number;
  45214. /**
  45215. * (Highcharts) Aligns data labels relative to points. If `center` alignment
  45216. * is not possible, it defaults to `right`.
  45217. */
  45218. position?: AlignValue;
  45219. /**
  45220. * (Highcharts) Text rotation in degrees. Note that due to a more complex
  45221. * structure, backgrounds, borders and padding will be lost on a rotated
  45222. * data label.
  45223. */
  45224. rotation?: number;
  45225. /**
  45226. * (Highcharts) The shadow of the box. Works best with `borderWidth` or
  45227. * `backgroundColor`. Since 2.3 the shadow can be an object configuration
  45228. * containing `color`, `offsetX`, `offsetY`, `opacity` and `width`.
  45229. */
  45230. shadow?: (boolean|ShadowOptionsObject);
  45231. /**
  45232. * (Highcharts) The name of a symbol to use for the border around the label.
  45233. * Symbols are predefined functions on the Renderer object.
  45234. */
  45235. shape?: string;
  45236. /**
  45237. * (Highcharts) Styles for the label. The default `color` setting is
  45238. * `"contrast"`, which is a pseudo color that Highcharts picks up and
  45239. * applies the maximum contrast to the underlying point item, for example
  45240. * the bar in a bar chart.
  45241. *
  45242. * The `textOutline` is a pseudo property that applies an outline of the
  45243. * given width with the given color, which by default is the maximum
  45244. * contrast to the text. So a bright text color will result in a black text
  45245. * outline for maximum readability on a mixed background. In some cases,
  45246. * especially with grayscale text, the text outline doesn't work well, in
  45247. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  45248. * is true, the `textOutline` will not be picked up. In this, case, the same
  45249. * effect can be acheived through the `text-shadow` CSS property.
  45250. *
  45251. * For some series types, where each point has an extent, like for example
  45252. * tree maps, the data label may overflow the point. There are two
  45253. * strategies for handling overflow. By default, the text will wrap to
  45254. * multiple lines. The other strategy is to set `style.textOverflow` to
  45255. * `ellipsis`, which will keep the text on one line plus it will break
  45256. * inside long words.
  45257. */
  45258. style?: CSSObject;
  45259. /**
  45260. * (Highcharts) Options for a label text which should follow marker's shape.
  45261. * Border and background are disabled for a label that follows a path.
  45262. *
  45263. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  45264. * to true will disable this option.
  45265. */
  45266. textPath?: DataLabelsTextPathOptionsObject;
  45267. /**
  45268. * (Highcharts) Whether to use HTML to render the labels.
  45269. */
  45270. useHTML?: boolean;
  45271. /**
  45272. * (Highcharts) The vertical alignment of a data label. Can be one of `top`,
  45273. * `middle` or `bottom`. The default value depends on the data, for instance
  45274. * in a column chart, the label is above positive values and below negative
  45275. * values.
  45276. */
  45277. verticalAlign?: string;
  45278. /**
  45279. * (Highcharts) The x position offset of the label relative to the point in
  45280. * pixels.
  45281. */
  45282. x?: number;
  45283. /**
  45284. * (Highcharts) The y position offset of the label relative to the point in
  45285. * pixels.
  45286. */
  45287. y?: number;
  45288. /**
  45289. * (Highcharts) The Z index of the data labels. The default Z index puts it
  45290. * above the series. Use a Z index of 2 to display it behind the series.
  45291. */
  45292. z?: number;
  45293. zIndex?: number;
  45294. }
  45295. /**
  45296. * (Highcharts) Options for the dial or arrow pointer of the gauge.
  45297. *
  45298. * In styled mode, the dial is styled with the `.highcharts-gauge-series
  45299. * .highcharts-dial` rule.
  45300. */
  45301. export interface PlotGaugeDialOptions {
  45302. /**
  45303. * (Highcharts) The background or fill color of the gauge's dial.
  45304. */
  45305. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  45306. /**
  45307. * (Highcharts) The length of the dial's base part, relative to the total
  45308. * radius or length of the dial.
  45309. */
  45310. baseLength?: string;
  45311. /**
  45312. * (Highcharts) The pixel width of the base of the gauge dial. The base is
  45313. * the part closest to the pivot, defined by baseLength.
  45314. */
  45315. baseWidth?: number;
  45316. /**
  45317. * (Highcharts) The border color or stroke of the gauge's dial. By default,
  45318. * the borderWidth is 0, so this must be set in addition to a custom border
  45319. * color.
  45320. */
  45321. borderColor?: (ColorString|GradientColorObject|PatternObject);
  45322. /**
  45323. * (Highcharts) The width of the gauge dial border in pixels.
  45324. */
  45325. borderWidth?: number;
  45326. /**
  45327. * (Highcharts) The radius or length of the dial, in percentages relative to
  45328. * the radius of the gauge itself.
  45329. */
  45330. radius?: string;
  45331. /**
  45332. * (Highcharts) The length of the dial's rear end, the part that extends out
  45333. * on the other side of the pivot. Relative to the dial's length.
  45334. */
  45335. rearLength?: string;
  45336. /**
  45337. * (Highcharts) The width of the top of the dial, closest to the perimeter.
  45338. * The pivot narrows in from the base to the top.
  45339. */
  45340. topWidth?: number;
  45341. }
  45342. /**
  45343. * (Highcharts) Gauges are circular plots displaying one or more values with a
  45344. * dial pointing to values along the perimeter.
  45345. *
  45346. * In TypeScript the type option must always be set.
  45347. *
  45348. * Configuration options for the series are given in three levels:
  45349. *
  45350. * 1. Options for all series in a chart are defined in the plotOptions.series
  45351. * object.
  45352. *
  45353. * 2. Options for all `gauge` series are defined in plotOptions.gauge.
  45354. *
  45355. * 3. Options for one single series are given in the series instance array. (see
  45356. * online documentation for example)
  45357. */
  45358. export interface PlotGaugeOptions {
  45359. /**
  45360. * (Highcharts) Accessibility options for a series.
  45361. */
  45362. accessibility?: SeriesAccessibilityOptionsObject;
  45363. /**
  45364. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  45365. * rendered. If `true`, areas which don't correspond to a data point, are
  45366. * rendered as `null` points. If `false`, those areas are skipped.
  45367. */
  45368. allAreas?: boolean;
  45369. /**
  45370. * (Highcharts) Allow this series' points to be selected by clicking on the
  45371. * graphic (columns, point markers, pie slices, map areas etc).
  45372. *
  45373. * The selected points can be handled by point select and unselect events,
  45374. * or collectively by the getSelectedPoints function.
  45375. *
  45376. * And alternative way of selecting points is through dragging.
  45377. */
  45378. allowPointSelect?: boolean;
  45379. /**
  45380. * (Highcharts) Enable or disable the initial animation when a series is
  45381. * displayed. The animation can also be set as a configuration object.
  45382. * Please note that this option only applies to the initial animation of the
  45383. * series itself. For other animations, see chart.animation and the
  45384. * animation parameter under the API methods. The following properties are
  45385. * supported:
  45386. *
  45387. * - `defer`: The animation delay time in milliseconds.
  45388. *
  45389. * - `duration`: The duration of the animation in milliseconds.
  45390. *
  45391. * - `easing`: Can be a string reference to an easing function set on the
  45392. * `Math` object or a function. See the _Custom easing function_ demo below.
  45393. *
  45394. * Due to poor performance, animation is disabled in old IE browsers for
  45395. * several chart types.
  45396. */
  45397. animation?: (boolean|PlotGaugeAnimationOptions|Partial<AnimationOptionsObject>);
  45398. /**
  45399. * (Highmaps) The border color of the map areas.
  45400. *
  45401. * In styled mode, the border stroke is given in the `.highcharts-point`
  45402. * class.
  45403. */
  45404. borderColor?: (ColorString|GradientColorObject|PatternObject);
  45405. /**
  45406. * (Highmaps) The border width of each map area.
  45407. *
  45408. * In styled mode, the border stroke width is given in the
  45409. * `.highcharts-point` class.
  45410. */
  45411. borderWidth?: number;
  45412. /**
  45413. * (Highcharts) An additional class name to apply to the series' graphical
  45414. * elements. This option does not replace default class names of the
  45415. * graphical element.
  45416. */
  45417. className?: string;
  45418. /**
  45419. * (Highcharts) Disable this option to allow series rendering in the whole
  45420. * plotting area.
  45421. *
  45422. * **Note:** Clipping should be always enabled when chart.zoomType is set
  45423. */
  45424. clip?: boolean;
  45425. /**
  45426. * (Highcharts) The main color of the series. In line type series it applies
  45427. * to the line and the point markers unless otherwise specified. In bar type
  45428. * series it applies to the bars unless a color is specified per point. The
  45429. * default value is pulled from the `options.colors` array.
  45430. *
  45431. * In styled mode, the color can be defined by the colorIndex option. Also,
  45432. * the series color can be set with the `.highcharts-series`,
  45433. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  45434. * `.highcharts-series-{n}` class, or individual classes given by the
  45435. * `className` option.
  45436. */
  45437. color?: (ColorString|GradientColorObject|PatternObject);
  45438. /**
  45439. * (Highcharts) Styled mode only. A specific color index to use for the
  45440. * series, so its graphic representations are given the class name
  45441. * `highcharts-color-{n}`.
  45442. */
  45443. colorIndex?: number;
  45444. /**
  45445. * (Highstock) Compare the values of the series against the first non-null,
  45446. * non- zero value in the visible range. The y axis will show percentage or
  45447. * absolute change depending on whether `compare` is set to `"percent"` or
  45448. * `"value"`. When this is applied to multiple series, it allows comparing
  45449. * the development of the series against each other. Adds a `change` field
  45450. * to every point object.
  45451. */
  45452. compare?: string;
  45453. /**
  45454. * (Highstock) When compare is `percent`, this option dictates whether to
  45455. * use 0 or 100 as the base of comparison.
  45456. */
  45457. compareBase?: (0|100);
  45458. /**
  45459. * (Highstock) Defines if comparison should start from the first point
  45460. * within the visible range or should start from the first point **before**
  45461. * the range.
  45462. *
  45463. * In other words, this flag determines if first point within the visible
  45464. * range will have 0% (`compareStart=true`) or should have been already
  45465. * calculated according to the previous point (`compareStart=false`).
  45466. */
  45467. compareStart?: boolean;
  45468. /**
  45469. * (Gantt) Override Pathfinder connector options for a series. Requires
  45470. * Highcharts Gantt to be loaded.
  45471. */
  45472. connectors?: SeriesConnectorsOptionsObject;
  45473. /**
  45474. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  45475. * rounded to its nearest pixel in order to render sharp on screen. In some
  45476. * cases, when there are a lot of densely packed columns, this leads to
  45477. * visible difference in column widths or distance between columns. In these
  45478. * cases, setting `crisp` to `false` may look better, even though each
  45479. * column is rendered blurry.
  45480. */
  45481. crisp?: boolean;
  45482. /**
  45483. * (Highcharts) You can set the cursor to "pointer" if you have click events
  45484. * attached to the series, to signal to the user that the points and lines
  45485. * can be clicked.
  45486. *
  45487. * In styled mode, the series cursor can be set with the same classes as
  45488. * listed under series.color.
  45489. */
  45490. cursor?: (string|CursorValue);
  45491. /**
  45492. * (Highcharts) A reserved subspace to store options and values for
  45493. * customized functionality. Here you can add additional data for your own
  45494. * event callbacks and formatter callbacks.
  45495. */
  45496. custom?: Dictionary<any>;
  45497. /**
  45498. * (Highstock) Data grouping is the concept of sampling the data values into
  45499. * larger blocks in order to ease readability and increase performance of
  45500. * the JavaScript charts. Highstock by default applies data grouping when
  45501. * the points become closer than a certain pixel value, determined by the
  45502. * `groupPixelWidth` option.
  45503. *
  45504. * If data grouping is applied, the grouping information of grouped points
  45505. * can be read from the Point.dataGroup. If point options other than the
  45506. * data itself are set, for example `name` or `color` or custom properties,
  45507. * the grouping logic doesn't know how to group it. In this case the options
  45508. * of the first point instance are copied over to the group point. This can
  45509. * be altered through a custom `approximation` callback function.
  45510. */
  45511. dataGrouping?: DataGroupingOptionsObject;
  45512. /**
  45513. * (Highcharts) Data labels for the gauge. For gauges, the data labels are
  45514. * enabled by default and shown in a bordered box below the point.
  45515. */
  45516. dataLabels?: (PlotGaugeDataLabelsOptions|Array<PlotGaugeDataLabelsOptions>);
  45517. /**
  45518. * (Highcharts) A description of the series to add to the screen reader
  45519. * information about the series.
  45520. */
  45521. description?: string;
  45522. /**
  45523. * (Highcharts) Options for the dial or arrow pointer of the gauge.
  45524. *
  45525. * In styled mode, the dial is styled with the `.highcharts-gauge-series
  45526. * .highcharts-dial` rule.
  45527. */
  45528. dial?: PlotGaugeDialOptions;
  45529. /**
  45530. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  45531. * This includes point tooltips and click events on graphs and points. For
  45532. * large datasets it improves performance.
  45533. */
  45534. enableMouseTracking?: boolean;
  45535. /**
  45536. * (Highcharts) General event handlers for the series items. These event
  45537. * hooks can also be attached to the series at run time using the
  45538. * `Highcharts.addEvent` function.
  45539. */
  45540. events?: SeriesEventsOptionsObject;
  45541. /**
  45542. * (Highstock) Defines when to display a gap in the graph, together with the
  45543. * gapUnit option.
  45544. *
  45545. * In case when `dataGrouping` is enabled, points can be grouped into a
  45546. * larger time span. This can make the grouped points to have a greater
  45547. * distance than the absolute value of `gapSize` property, which will result
  45548. * in disappearing graph completely. To prevent this situation the mentioned
  45549. * distance between grouped points is used instead of previously defined
  45550. * `gapSize`.
  45551. *
  45552. * In practice, this option is most often used to visualize gaps in time
  45553. * series. In a stock chart, intraday data is available for daytime hours,
  45554. * while gaps will appear in nights and weekends.
  45555. */
  45556. gapSize?: number;
  45557. /**
  45558. * (Highstock) Together with gapSize, this option defines where to draw gaps
  45559. * in the graph.
  45560. *
  45561. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  45562. * if the distance between two points is greater than 5 times that of the
  45563. * two closest points, the graph will be broken.
  45564. *
  45565. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  45566. * values, which on a datetime axis is milliseconds. This also applies to
  45567. * the navigator series that inherits gap options from the base series.
  45568. */
  45569. gapUnit?: OptionsGapUnitValue;
  45570. /**
  45571. * (Highcharts) When set to `false` will prevent the series data from being
  45572. * included in any form of data export.
  45573. *
  45574. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  45575. * `includeInCSVExport`.
  45576. */
  45577. includeInDataExport?: boolean;
  45578. /**
  45579. * (Highmaps) What property to join the `mapData` to the value data. For
  45580. * example, if joinBy is "code", the mapData items with a specific code is
  45581. * merged into the data with the same code. For maps loaded from GeoJSON,
  45582. * the keys may be held in each point's `properties` object.
  45583. *
  45584. * The joinBy option can also be an array of two values, where the first
  45585. * points to a key in the `mapData`, and the second points to another key in
  45586. * the `data`.
  45587. *
  45588. * When joinBy is `null`, the map items are joined by their position in the
  45589. * array, which performs much better in maps with many data points. This is
  45590. * the recommended option if you are printing more than a thousand data
  45591. * points and have a backend that can preprocess the data into a parallel
  45592. * array of the mapData.
  45593. */
  45594. joinBy?: (string|Array<string>);
  45595. /**
  45596. * (Highcharts) An array specifying which option maps to which key in the
  45597. * data point array. This makes it convenient to work with unstructured data
  45598. * arrays from different sources.
  45599. */
  45600. keys?: Array<string>;
  45601. /**
  45602. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  45603. * series as possible in a natural way, seeking to avoid other series. The
  45604. * goal of this feature is to make the chart more easily readable, like if a
  45605. * human designer placed the labels in the optimal position.
  45606. *
  45607. * The series labels currently work with series types having a `graph` or an
  45608. * `area`.
  45609. */
  45610. label?: SeriesLabelOptionsObject;
  45611. /**
  45612. * (Highstock) The line marks the last price from all points.
  45613. */
  45614. lastPrice?: SeriesLastPriceOptionsObject;
  45615. /**
  45616. * (Highstock) The line marks the last price from visible range of points.
  45617. */
  45618. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  45619. /**
  45620. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  45621. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  45622. * the ends and bends.
  45623. */
  45624. linecap?: SeriesLinecapValue;
  45625. /**
  45626. * (Highcharts, Highstock) Pixel width of the graph line.
  45627. */
  45628. lineWidth?: number;
  45629. /**
  45630. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  45631. * Additionally, the value can be ":previous" to link to the previous
  45632. * series. When two series are linked, only the first one appears in the
  45633. * legend. Toggling the visibility of this also toggles the linked series.
  45634. *
  45635. * If master series uses data sorting and linked series does not have its
  45636. * own sorting definition, the linked series will be sorted in the same
  45637. * order as the master one.
  45638. */
  45639. linkedTo?: string;
  45640. /**
  45641. * (Highstock) Options for the corresponding navigator series if
  45642. * `showInNavigator` is `true` for this series. Available options are the
  45643. * same as any series, documented at plotOptions and series.
  45644. *
  45645. * These options are merged with options in navigator.series, and will take
  45646. * precedence if the same option is defined both places.
  45647. */
  45648. navigatorOptions?: PlotSeriesOptions;
  45649. /**
  45650. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  45651. * dataLabels.
  45652. */
  45653. opacity?: number;
  45654. /**
  45655. * (Highcharts) Allow the dial to overshoot the end of the perimeter axis by
  45656. * this many degrees. Say if the gauge axis goes from 0 to 60, a value of
  45657. * 100, or 1000, will show 5 degrees beyond the end of the axis when this
  45658. * option is set to 5.
  45659. */
  45660. overshoot?: number;
  45661. /**
  45662. * (Highcharts) Options for the pivot or the center point of the gauge.
  45663. *
  45664. * In styled mode, the pivot is styled with the `.highcharts-gauge-series
  45665. * .highcharts-pivot` rule.
  45666. */
  45667. pivot?: PlotGaugePivotOptions;
  45668. /**
  45669. * (Highcharts) Properties for each single point.
  45670. */
  45671. point?: PlotSeriesPointOptions;
  45672. /**
  45673. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  45674. * individual series. Overrides the chart wide configuration.
  45675. */
  45676. pointDescriptionFormatter?: Function;
  45677. /**
  45678. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  45679. * a series, `pointInterval` defines the interval of the x values. For
  45680. * example, if a series contains one value every decade starting from year
  45681. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  45682. * `pointInterval` is set in milliseconds.
  45683. *
  45684. * It can be also be combined with `pointIntervalUnit` to draw irregular
  45685. * time intervals.
  45686. *
  45687. * Please note that this options applies to the _series data_, not the
  45688. * interval of the axis ticks, which is independent.
  45689. */
  45690. pointInterval?: number;
  45691. /**
  45692. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  45693. * setting the pointInterval to irregular time units, `day`, `month` and
  45694. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  45695. * also takes the DST crossover into consideration when dealing with local
  45696. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  45697. * months, 10 years etc.
  45698. *
  45699. * Please note that this options applies to the _series data_, not the
  45700. * interval of the axis ticks, which is independent.
  45701. */
  45702. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  45703. /**
  45704. * (Highstock) The width of each point on the x axis. For example in a
  45705. * column chart with one value each day, the pointRange would be 1 day (= 24
  45706. * * 3600
  45707. *
  45708. * * 1000 milliseconds). This is normally computed automatically, but this
  45709. * option can be used to override the automatic value.
  45710. */
  45711. pointRange?: number;
  45712. /**
  45713. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  45714. * a series, pointStart defines on what value to start. For example, if a
  45715. * series contains one yearly value starting from 1945, set pointStart to
  45716. * 1945.
  45717. */
  45718. pointStart?: number;
  45719. /**
  45720. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  45721. * true, the checkbox next to the series name in the legend will be checked
  45722. * for a selected series.
  45723. */
  45724. selected?: boolean;
  45725. /**
  45726. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  45727. * allow selecting the series. The state of the checkbox is determined by
  45728. * the `selected` option.
  45729. */
  45730. showCheckbox?: boolean;
  45731. /**
  45732. * (Highcharts) Whether to display this particular series or series type in
  45733. * the legend. Defaults to false for gauge series.
  45734. */
  45735. showInLegend?: boolean;
  45736. /**
  45737. * (Highstock) Whether or not to show the series in the navigator. Takes
  45738. * precedence over navigator.baseSeries if defined.
  45739. */
  45740. showInNavigator?: boolean;
  45741. /**
  45742. * (Highcharts) If set to `true`, the accessibility module will skip past
  45743. * the points in this series for keyboard navigation.
  45744. */
  45745. skipKeyboardNavigation?: boolean;
  45746. /**
  45747. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  45748. * event on a series isn't triggered until the mouse moves over another
  45749. * series, or out of the plot area. When false, the `mouseOut` event on a
  45750. * series is triggered when the mouse leaves the area around the series'
  45751. * graph or markers. This also implies the tooltip when not shared. When
  45752. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  45753. * be hidden when moving the mouse between series. Defaults to true for line
  45754. * and area type series, but to false for columns, pies etc.
  45755. *
  45756. * **Note:** The boost module will force this option because of technical
  45757. * limitations.
  45758. */
  45759. stickyTracking?: boolean;
  45760. /**
  45761. * (Highcharts) A configuration object for the tooltip rendering of each
  45762. * single series. Properties are inherited from tooltip, but only the
  45763. * following properties can be defined on a series level.
  45764. */
  45765. tooltip?: SeriesTooltipOptionsObject;
  45766. /**
  45767. * (Highstock) The parameter allows setting line series type and use OHLC
  45768. * indicators. Data in OHLC format is required.
  45769. */
  45770. useOhlcData?: boolean;
  45771. /**
  45772. * (Highcharts) Set the initial visibility of the series.
  45773. */
  45774. visible?: boolean;
  45775. /**
  45776. * (Highcharts) When this option is `true`, the dial will wrap around the
  45777. * axes. For instance, in a full-range gauge going from 0 to 360, a value of
  45778. * 400 will point to 40\. When `wrap` is `false`, the dial stops at 360.
  45779. */
  45780. wrap?: boolean;
  45781. /**
  45782. * (Highmaps) Define the z index of the series.
  45783. */
  45784. zIndex?: number;
  45785. }
  45786. /**
  45787. * (Highcharts) Options for the pivot or the center point of the gauge.
  45788. *
  45789. * In styled mode, the pivot is styled with the `.highcharts-gauge-series
  45790. * .highcharts-pivot` rule.
  45791. */
  45792. export interface PlotGaugePivotOptions {
  45793. /**
  45794. * (Highcharts) The background color or fill of the pivot.
  45795. */
  45796. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  45797. /**
  45798. * (Highcharts) The border or stroke color of the pivot. In able to change
  45799. * this, the borderWidth must also be set to something other than the
  45800. * default 0.
  45801. */
  45802. borderColor?: (ColorString|GradientColorObject|PatternObject);
  45803. /**
  45804. * (Highcharts) The border or stroke width of the pivot.
  45805. */
  45806. borderWidth?: number;
  45807. /**
  45808. * (Highcharts) The pixel radius of the pivot.
  45809. */
  45810. radius?: number;
  45811. }
  45812. /**
  45813. * (Highcharts, Highmaps) Animation is disabled by default on the heatmap
  45814. * series.
  45815. */
  45816. export interface PlotHeatmapAnimationOptions {
  45817. defer?: number;
  45818. }
  45819. /**
  45820. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  45821. * animation when a series is displayed for the `dataLabels`. The animation can
  45822. * also be set as a configuration object. Please note that this option only
  45823. * applies to the initial animation. For other animations, see chart.animation
  45824. * and the animation parameter under the API methods. The following properties
  45825. * are supported:
  45826. *
  45827. * - `defer`: The animation delay time in milliseconds.
  45828. */
  45829. export interface PlotHeatmapDataLabelsAnimationOptions {
  45830. /**
  45831. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  45832. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  45833. * inherits defer time from the series.animation.defer.
  45834. */
  45835. defer?: number;
  45836. }
  45837. /**
  45838. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  45839. * appearing next to each data point.
  45840. *
  45841. * Since v6.2.0, multiple data labels can be applied to each single point by
  45842. * defining them as an array of configs.
  45843. *
  45844. * In styled mode, the data labels can be styled with the
  45845. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  45846. * example).
  45847. */
  45848. export interface PlotHeatmapDataLabelsOptions {
  45849. /**
  45850. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  45851. * compared to the point. If `right`, the right side of the label should be
  45852. * touching the point. For points with an extent, like columns, the
  45853. * alignments also dictates how to align it inside the box, as given with
  45854. * the inside option. Can be one of `left`, `center` or `right`.
  45855. */
  45856. align?: (AlignValue|null);
  45857. /**
  45858. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  45859. * overlap. To make the labels less sensitive for overlapping, the
  45860. * dataLabels.padding can be set to 0.
  45861. */
  45862. allowOverlap?: boolean;
  45863. /**
  45864. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  45865. * animation when a series is displayed for the `dataLabels`. The animation
  45866. * can also be set as a configuration object. Please note that this option
  45867. * only applies to the initial animation. For other animations, see
  45868. * chart.animation and the animation parameter under the API methods. The
  45869. * following properties are supported:
  45870. *
  45871. * - `defer`: The animation delay time in milliseconds.
  45872. */
  45873. animation?: (boolean|PlotHeatmapDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  45874. /**
  45875. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  45876. * for the data label.
  45877. */
  45878. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  45879. /**
  45880. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  45881. * label. Defaults to `undefined`.
  45882. */
  45883. borderColor?: (ColorString|GradientColorObject|PatternObject);
  45884. /**
  45885. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  45886. * the data label.
  45887. */
  45888. borderRadius?: number;
  45889. /**
  45890. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  45891. * the data label.
  45892. */
  45893. borderWidth?: number;
  45894. /**
  45895. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  45896. * Particularly in styled mode, this can be used to give each series' or
  45897. * point's data label unique styling. In addition to this option, a default
  45898. * color class name is added so that we can give the labels a contrast text
  45899. * shadow.
  45900. */
  45901. className?: string;
  45902. /**
  45903. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  45904. * labels. Defaults to `undefined`. For certain series types, like column or
  45905. * map, the data labels can be drawn inside the points. In this case the
  45906. * data label will be drawn with maximum contrast by default. Additionally,
  45907. * it will be given a `text-outline` style with the opposite color, to
  45908. * further increase the contrast. This can be overridden by setting the
  45909. * `text-outline` style to `none` in the `dataLabels.style` option.
  45910. */
  45911. color?: (ColorString|GradientColorObject|PatternObject);
  45912. /**
  45913. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  45914. * are outside the plot area. By default, the data label is moved inside the
  45915. * plot area according to the overflow option.
  45916. */
  45917. crop?: boolean;
  45918. /**
  45919. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  45920. * labels until the initial series animation has finished. Setting to
  45921. * `false` renders the data label immediately. If set to `true` inherits the
  45922. * defer time set in plotOptions.series.animation.
  45923. */
  45924. defer?: boolean;
  45925. /**
  45926. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  45927. * labels.
  45928. */
  45929. enabled?: boolean;
  45930. /**
  45931. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  45932. * of which data labels to display. The declarative filter is designed for
  45933. * use when callback functions are not available, like when the chart
  45934. * options require a pure JSON structure or for use with graphical editors.
  45935. * For programmatic control, use the `formatter` instead, and return
  45936. * `undefined` to disable a single data label.
  45937. */
  45938. filter?: DataLabelsFilterOptionsObject;
  45939. /**
  45940. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  45941. * label. Available variables are the same as for `formatter`.
  45942. */
  45943. format?: string;
  45944. /**
  45945. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  45946. * format the data label. Note that if a `format` is defined, the format
  45947. * takes precedence and the formatter is ignored.
  45948. */
  45949. formatter?: DataLabelsFormatterCallbackFunction;
  45950. /**
  45951. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  45952. * columns or map areas, whether to align the data label inside the box or
  45953. * to the actual value point. Defaults to `false` in most cases, `true` in
  45954. * stacked columns.
  45955. */
  45956. inside?: boolean;
  45957. /**
  45958. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  45959. * of null. Works analogously to format. `nullFormat` can be applied only to
  45960. * series which support displaying null points.
  45961. */
  45962. nullFormat?: (boolean|string);
  45963. /**
  45964. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  45965. * that defines formatting for points with the value of null. Works
  45966. * analogously to formatter. `nullPointFormatter` can be applied only to
  45967. * series which support displaying null points.
  45968. */
  45969. nullFormatter?: DataLabelsFormatterCallbackFunction;
  45970. /**
  45971. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  45972. * flow outside the plot area. The default is `"justify"`, which aligns them
  45973. * inside the plot area. For columns and bars, this means it will be moved
  45974. * inside the bar. To display data labels outside the plot area, set `crop`
  45975. * to `false` and `overflow` to `"allow"`.
  45976. */
  45977. overflow?: boolean;
  45978. /**
  45979. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  45980. * the `backgroundColor` is set, this is the padding within the box.
  45981. */
  45982. padding?: number;
  45983. /**
  45984. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  45985. * points. If `center` alignment is not possible, it defaults to `right`.
  45986. */
  45987. position?: AlignValue;
  45988. /**
  45989. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  45990. * that due to a more complex structure, backgrounds, borders and padding
  45991. * will be lost on a rotated data label.
  45992. */
  45993. rotation?: number;
  45994. /**
  45995. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  45996. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  45997. * an object configuration containing `color`, `offsetX`, `offsetY`,
  45998. * `opacity` and `width`.
  45999. */
  46000. shadow?: (boolean|ShadowOptionsObject);
  46001. /**
  46002. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  46003. * the border around the label. Symbols are predefined functions on the
  46004. * Renderer object.
  46005. */
  46006. shape?: string;
  46007. /**
  46008. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  46009. * default `color` setting is `"contrast"`, which is a pseudo color that
  46010. * Highcharts picks up and applies the maximum contrast to the underlying
  46011. * point item, for example the bar in a bar chart.
  46012. *
  46013. * The `textOutline` is a pseudo property that applies an outline of the
  46014. * given width with the given color, which by default is the maximum
  46015. * contrast to the text. So a bright text color will result in a black text
  46016. * outline for maximum readability on a mixed background. In some cases,
  46017. * especially with grayscale text, the text outline doesn't work well, in
  46018. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  46019. * is true, the `textOutline` will not be picked up. In this, case, the same
  46020. * effect can be acheived through the `text-shadow` CSS property.
  46021. *
  46022. * For some series types, where each point has an extent, like for example
  46023. * tree maps, the data label may overflow the point. There are two
  46024. * strategies for handling overflow. By default, the text will wrap to
  46025. * multiple lines. The other strategy is to set `style.textOverflow` to
  46026. * `ellipsis`, which will keep the text on one line plus it will break
  46027. * inside long words.
  46028. */
  46029. style?: CSSObject;
  46030. /**
  46031. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  46032. * should follow marker's shape. Border and background are disabled for a
  46033. * label that follows a path.
  46034. *
  46035. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  46036. * to true will disable this option.
  46037. */
  46038. textPath?: DataLabelsTextPathOptionsObject;
  46039. /**
  46040. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  46041. * the labels.
  46042. */
  46043. useHTML?: boolean;
  46044. /**
  46045. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  46046. * label. Can be one of `top`, `middle` or `bottom`. The default value
  46047. * depends on the data, for instance in a column chart, the label is above
  46048. * positive values and below negative values.
  46049. */
  46050. verticalAlign?: string;
  46051. /**
  46052. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  46053. * label relative to the point in pixels.
  46054. */
  46055. x?: number;
  46056. /**
  46057. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  46058. * label relative to the point in pixels.
  46059. */
  46060. y?: number;
  46061. /**
  46062. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  46063. * The default Z index puts it above the series. Use a Z index of 2 to
  46064. * display it behind the series.
  46065. */
  46066. z?: number;
  46067. }
  46068. /**
  46069. * (Highcharts, Highstock) Options for the series data sorting.
  46070. */
  46071. export interface PlotHeatmapDataSortingOptions {
  46072. /**
  46073. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  46074. * Use xAxis.reversed to change the sorting order.
  46075. */
  46076. enabled?: boolean;
  46077. /**
  46078. * (Highcharts, Highstock) Whether to allow matching points by name in an
  46079. * update. If this option is disabled, points will be matched by order.
  46080. */
  46081. matchByName?: boolean;
  46082. /**
  46083. * (Highcharts, Highstock) Determines what data value should be used to sort
  46084. * by.
  46085. */
  46086. sortKey?: string;
  46087. }
  46088. /**
  46089. * (Highcharts, Highmaps) Style options for the guide box. The guide box has one
  46090. * state by default, the `default` state.
  46091. */
  46092. export interface PlotHeatmapDragDropGuideBoxOptions {
  46093. /**
  46094. * (Highcharts, Highmaps) Style options for the guide box default state.
  46095. */
  46096. default?: DragDropGuideBoxOptionsObject;
  46097. }
  46098. /**
  46099. * (Highcharts, Highmaps) A heatmap is a graphical representation of data where
  46100. * the individual values contained in a matrix are represented as colors.
  46101. *
  46102. * In TypeScript the type option must always be set.
  46103. *
  46104. * Configuration options for the series are given in three levels:
  46105. *
  46106. * 1. Options for all series in a chart are defined in the plotOptions.series
  46107. * object.
  46108. *
  46109. * 2. Options for all `heatmap` series are defined in plotOptions.heatmap.
  46110. *
  46111. * 3. Options for one single series are given in the series instance array. (see
  46112. * online documentation for example)
  46113. */
  46114. export interface PlotHeatmapOptions {
  46115. /**
  46116. * (Highcharts, Highmaps) Accessibility options for a series.
  46117. */
  46118. accessibility?: SeriesAccessibilityOptionsObject;
  46119. /**
  46120. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  46121. * rendered. If `true`, areas which don't correspond to a data point, are
  46122. * rendered as `null` points. If `false`, those areas are skipped.
  46123. */
  46124. allAreas?: boolean;
  46125. /**
  46126. * (Highcharts, Highmaps) Allow this series' points to be selected by
  46127. * clicking on the graphic (columns, point markers, pie slices, map areas
  46128. * etc).
  46129. *
  46130. * The selected points can be handled by point select and unselect events,
  46131. * or collectively by the getSelectedPoints function.
  46132. *
  46133. * And alternative way of selecting points is through dragging.
  46134. */
  46135. allowPointSelect?: boolean;
  46136. /**
  46137. * (Highcharts, Highmaps) Animation is disabled by default on the heatmap
  46138. * series.
  46139. */
  46140. animation?: (boolean|PlotHeatmapAnimationOptions);
  46141. /**
  46142. * (Highcharts, Highmaps) Sets the color blending in the boost module.
  46143. */
  46144. boostBlending?: OptionsBoostBlendingValue;
  46145. /**
  46146. * (Highcharts, Highmaps) Set the point threshold for when a series should
  46147. * enter boost mode.
  46148. *
  46149. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  46150. * there are 2000 or more points in the series.
  46151. *
  46152. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  46153. * it to 1 will force boosting.
  46154. *
  46155. * Note that the cropThreshold also affects this setting. When zooming in on
  46156. * a series that has fewer points than the `cropThreshold`, all points are
  46157. * rendered although outside the visible plot area, and the `boostThreshold`
  46158. * won't take effect.
  46159. */
  46160. boostThreshold?: number;
  46161. /**
  46162. * (Highmaps) The border color of the map areas.
  46163. *
  46164. * In styled mode, the border stroke is given in the `.highcharts-point`
  46165. * class.
  46166. */
  46167. borderColor?: (ColorString|GradientColorObject|PatternObject);
  46168. /**
  46169. * (Highmaps) The border width for each heat map item.
  46170. */
  46171. borderWidth?: number;
  46172. /**
  46173. * (Highcharts, Highmaps) An additional class name to apply to the series'
  46174. * graphical elements. This option does not replace default class names of
  46175. * the graphical element.
  46176. */
  46177. className?: string;
  46178. /**
  46179. * (Highcharts, Highmaps) Disable this option to allow series rendering in
  46180. * the whole plotting area.
  46181. *
  46182. * **Note:** Clipping should be always enabled when chart.zoomType is set
  46183. */
  46184. clip?: boolean;
  46185. /**
  46186. * (Highcharts) The main color of the series. In heat maps this color is
  46187. * rarely used, as we mostly use the color to denote the value of each
  46188. * point. Unless options are set in the colorAxis, the default value is
  46189. * pulled from the options.colors array.
  46190. */
  46191. color?: (ColorString|GradientColorObject|PatternObject);
  46192. /**
  46193. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  46194. * this number defines which colorAxis the particular series is connected
  46195. * to. It refers to either the axis id or the index of the axis in the
  46196. * colorAxis array, with 0 being the first. Set this option to false to
  46197. * prevent a series from connecting to the default color axis.
  46198. *
  46199. * Since v7.2.0 the option can also be an axis id or an axis index instead
  46200. * of a boolean flag.
  46201. */
  46202. colorAxis?: (boolean|number|string);
  46203. /**
  46204. * (Highcharts, Highmaps) Styled mode only. A specific color index to use
  46205. * for the series, so its graphic representations are given the class name
  46206. * `highcharts-color-{n}`.
  46207. */
  46208. colorIndex?: number;
  46209. /**
  46210. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  46211. * used to calculate point color if `colorAxis` is used. Requires to set
  46212. * `min` and `max` if some custom point property is used or if approximation
  46213. * for data grouping is set to `'sum'`.
  46214. */
  46215. colorKey?: string;
  46216. /**
  46217. * (Highcharts, Highmaps) The column size - how many X axis units each
  46218. * column in the heatmap should span.
  46219. */
  46220. colsize?: number;
  46221. /**
  46222. * (Highstock) Compare the values of the series against the first non-null,
  46223. * non- zero value in the visible range. The y axis will show percentage or
  46224. * absolute change depending on whether `compare` is set to `"percent"` or
  46225. * `"value"`. When this is applied to multiple series, it allows comparing
  46226. * the development of the series against each other. Adds a `change` field
  46227. * to every point object.
  46228. */
  46229. compare?: string;
  46230. /**
  46231. * (Highstock) When compare is `percent`, this option dictates whether to
  46232. * use 0 or 100 as the base of comparison.
  46233. */
  46234. compareBase?: (0|100);
  46235. /**
  46236. * (Highstock) Defines if comparison should start from the first point
  46237. * within the visible range or should start from the first point **before**
  46238. * the range.
  46239. *
  46240. * In other words, this flag determines if first point within the visible
  46241. * range will have 0% (`compareStart=true`) or should have been already
  46242. * calculated according to the previous point (`compareStart=false`).
  46243. */
  46244. compareStart?: boolean;
  46245. /**
  46246. * (Gantt) Override Pathfinder connector options for a series. Requires
  46247. * Highcharts Gantt to be loaded.
  46248. */
  46249. connectors?: SeriesConnectorsOptionsObject;
  46250. /**
  46251. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  46252. * rounded to its nearest pixel in order to render sharp on screen. In some
  46253. * cases, when there are a lot of densely packed columns, this leads to
  46254. * visible difference in column widths or distance between columns. In these
  46255. * cases, setting `crisp` to `false` may look better, even though each
  46256. * column is rendered blurry.
  46257. */
  46258. crisp?: boolean;
  46259. /**
  46260. * (Highcharts, Highmaps) You can set the cursor to "pointer" if you have
  46261. * click events attached to the series, to signal to the user that the
  46262. * points and lines can be clicked.
  46263. *
  46264. * In styled mode, the series cursor can be set with the same classes as
  46265. * listed under series.color.
  46266. */
  46267. cursor?: (string|CursorValue);
  46268. /**
  46269. * (Highcharts, Highmaps) A reserved subspace to store options and values
  46270. * for customized functionality. Here you can add additional data for your
  46271. * own event callbacks and formatter callbacks.
  46272. */
  46273. custom?: Dictionary<any>;
  46274. /**
  46275. * (Highstock) Data grouping is the concept of sampling the data values into
  46276. * larger blocks in order to ease readability and increase performance of
  46277. * the JavaScript charts. Highstock by default applies data grouping when
  46278. * the points become closer than a certain pixel value, determined by the
  46279. * `groupPixelWidth` option.
  46280. *
  46281. * If data grouping is applied, the grouping information of grouped points
  46282. * can be read from the Point.dataGroup. If point options other than the
  46283. * data itself are set, for example `name` or `color` or custom properties,
  46284. * the grouping logic doesn't know how to group it. In this case the options
  46285. * of the first point instance are copied over to the group point. This can
  46286. * be altered through a custom `approximation` callback function.
  46287. */
  46288. dataGrouping?: DataGroupingOptionsObject;
  46289. /**
  46290. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  46291. * labels, appearing next to each data point.
  46292. *
  46293. * Since v6.2.0, multiple data labels can be applied to each single point by
  46294. * defining them as an array of configs.
  46295. *
  46296. * In styled mode, the data labels can be styled with the
  46297. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  46298. * (see example).
  46299. */
  46300. dataLabels?: (PlotHeatmapDataLabelsOptions|Array<PlotHeatmapDataLabelsOptions>);
  46301. /**
  46302. * (Highcharts, Highstock) Options for the series data sorting.
  46303. */
  46304. dataSorting?: (DataSortingOptionsObject|PlotHeatmapDataSortingOptions);
  46305. /**
  46306. * (Highcharts, Highmaps) A description of the series to add to the screen
  46307. * reader information about the series.
  46308. */
  46309. description?: string;
  46310. /**
  46311. * (Highcharts, Highmaps) The draggable-points module allows points to be
  46312. * moved around or modified in the chart. In addition to the options
  46313. * mentioned under the `dragDrop` API structure, the module fires three
  46314. * events, point.dragStart, point.drag and point.drop.
  46315. */
  46316. dragDrop?: SeriesDragDropOptionsObject;
  46317. /**
  46318. * (Highcharts, Highmaps) Enable or disable the mouse tracking for a
  46319. * specific series. This includes point tooltips and click events on graphs
  46320. * and points. For large datasets it improves performance.
  46321. */
  46322. enableMouseTracking?: boolean;
  46323. /**
  46324. * (Highcharts, Highmaps) General event handlers for the series items. These
  46325. * event hooks can also be attached to the series at run time using the
  46326. * `Highcharts.addEvent` function.
  46327. */
  46328. events?: SeriesEventsOptionsObject;
  46329. /**
  46330. * (Highstock) Defines when to display a gap in the graph, together with the
  46331. * gapUnit option.
  46332. *
  46333. * In case when `dataGrouping` is enabled, points can be grouped into a
  46334. * larger time span. This can make the grouped points to have a greater
  46335. * distance than the absolute value of `gapSize` property, which will result
  46336. * in disappearing graph completely. To prevent this situation the mentioned
  46337. * distance between grouped points is used instead of previously defined
  46338. * `gapSize`.
  46339. *
  46340. * In practice, this option is most often used to visualize gaps in time
  46341. * series. In a stock chart, intraday data is available for daytime hours,
  46342. * while gaps will appear in nights and weekends.
  46343. */
  46344. gapSize?: number;
  46345. /**
  46346. * (Highstock) Together with gapSize, this option defines where to draw gaps
  46347. * in the graph.
  46348. *
  46349. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  46350. * if the distance between two points is greater than 5 times that of the
  46351. * two closest points, the graph will be broken.
  46352. *
  46353. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  46354. * values, which on a datetime axis is milliseconds. This also applies to
  46355. * the navigator series that inherits gap options from the base series.
  46356. */
  46357. gapUnit?: OptionsGapUnitValue;
  46358. /**
  46359. * (Highcharts, Highmaps) When set to `false` will prevent the series data
  46360. * from being included in any form of data export.
  46361. *
  46362. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  46363. * `includeInCSVExport`.
  46364. */
  46365. includeInDataExport?: boolean;
  46366. /**
  46367. * (Highmaps) What property to join the `mapData` to the value data. For
  46368. * example, if joinBy is "code", the mapData items with a specific code is
  46369. * merged into the data with the same code. For maps loaded from GeoJSON,
  46370. * the keys may be held in each point's `properties` object.
  46371. *
  46372. * The joinBy option can also be an array of two values, where the first
  46373. * points to a key in the `mapData`, and the second points to another key in
  46374. * the `data`.
  46375. *
  46376. * When joinBy is `null`, the map items are joined by their position in the
  46377. * array, which performs much better in maps with many data points. This is
  46378. * the recommended option if you are printing more than a thousand data
  46379. * points and have a backend that can preprocess the data into a parallel
  46380. * array of the mapData.
  46381. */
  46382. joinBy?: (string|Array<string>);
  46383. /**
  46384. * (Highcharts, Highmaps) An array specifying which option maps to which key
  46385. * in the data point array. This makes it convenient to work with
  46386. * unstructured data arrays from different sources.
  46387. */
  46388. keys?: Array<string>;
  46389. /**
  46390. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  46391. * series as possible in a natural way, seeking to avoid other series. The
  46392. * goal of this feature is to make the chart more easily readable, like if a
  46393. * human designer placed the labels in the optimal position.
  46394. *
  46395. * The series labels currently work with series types having a `graph` or an
  46396. * `area`.
  46397. */
  46398. label?: SeriesLabelOptionsObject;
  46399. /**
  46400. * (Highstock) The line marks the last price from all points.
  46401. */
  46402. lastPrice?: SeriesLastPriceOptionsObject;
  46403. /**
  46404. * (Highstock) The line marks the last price from visible range of points.
  46405. */
  46406. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  46407. /**
  46408. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  46409. * Additionally, the value can be ":previous" to link to the previous
  46410. * series. When two series are linked, only the first one appears in the
  46411. * legend. Toggling the visibility of this also toggles the linked series.
  46412. *
  46413. * If master series uses data sorting and linked series does not have its
  46414. * own sorting definition, the linked series will be sorted in the same
  46415. * order as the master one.
  46416. */
  46417. linkedTo?: string;
  46418. /**
  46419. * (Highcharts, Highmaps) Options for the point markers of line-like series.
  46420. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  46421. * visual appearance of the markers. Other series types, like column series,
  46422. * don't have markers, but have visual options on the series level instead.
  46423. *
  46424. * In styled mode, the markers can be styled with the `.highcharts-point`,
  46425. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  46426. */
  46427. marker?: PointMarkerOptionsObject;
  46428. /**
  46429. * (Highstock) Options for the corresponding navigator series if
  46430. * `showInNavigator` is `true` for this series. Available options are the
  46431. * same as any series, documented at plotOptions and series.
  46432. *
  46433. * These options are merged with options in navigator.series, and will take
  46434. * precedence if the same option is defined both places.
  46435. */
  46436. navigatorOptions?: PlotSeriesOptions;
  46437. /**
  46438. * (Highcharts, Highmaps) The color for the parts of the graph or points
  46439. * that are below the threshold. Note that `zones` takes precedence over the
  46440. * negative color. Using `negativeColor` is equivalent to applying a zone
  46441. * with value of 0.
  46442. */
  46443. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  46444. /**
  46445. * (Highcharts, Highmaps) The color applied to null points. In styled mode,
  46446. * a general CSS class is applied instead.
  46447. */
  46448. nullColor?: (ColorString|GradientColorObject|PatternObject);
  46449. /**
  46450. * (Highcharts, Highmaps) Opacity of a series parts: line, fill (e.g. area)
  46451. * and dataLabels.
  46452. */
  46453. opacity?: number;
  46454. /**
  46455. * (Highcharts, Highmaps) Properties for each single point.
  46456. */
  46457. point?: PlotSeriesPointOptions;
  46458. /**
  46459. * (Highcharts, Highmaps) Same as accessibility.pointDescriptionFormatter,
  46460. * but for an individual series. Overrides the chart wide configuration.
  46461. */
  46462. pointDescriptionFormatter?: Function;
  46463. /**
  46464. * (Highcharts, Highmaps) Padding between the points in the heatmap.
  46465. */
  46466. pointPadding?: number;
  46467. /**
  46468. * (Highcharts, Highmaps) The row size - how many Y axis units each heatmap
  46469. * row should span.
  46470. */
  46471. rowsize?: number;
  46472. /**
  46473. * (Highcharts, Highmaps) Whether to select the series initially. If
  46474. * `showCheckbox` is true, the checkbox next to the series name in the
  46475. * legend will be checked for a selected series.
  46476. */
  46477. selected?: boolean;
  46478. /**
  46479. * (Highcharts, Highmaps) If true, a checkbox is displayed next to the
  46480. * legend item to allow selecting the series. The state of the checkbox is
  46481. * determined by the `selected` option.
  46482. */
  46483. showCheckbox?: boolean;
  46484. /**
  46485. * (Highcharts, Highmaps) Whether to display this particular series or
  46486. * series type in the legend. Standalone series are shown in legend by
  46487. * default, and linked series are not. Since v7.2.0 it is possible to show
  46488. * series that use colorAxis by setting this option to `true`.
  46489. */
  46490. showInLegend?: boolean;
  46491. /**
  46492. * (Highstock) Whether or not to show the series in the navigator. Takes
  46493. * precedence over navigator.baseSeries if defined.
  46494. */
  46495. showInNavigator?: boolean;
  46496. /**
  46497. * (Highcharts, Highmaps) If set to `true`, the accessibility module will
  46498. * skip past the points in this series for keyboard navigation.
  46499. */
  46500. skipKeyboardNavigation?: boolean;
  46501. states?: SeriesStatesOptionsObject;
  46502. /**
  46503. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  46504. * `mouseOut` event on a series isn't triggered until the mouse moves over
  46505. * another series, or out of the plot area. When false, the `mouseOut` event
  46506. * on a series is triggered when the mouse leaves the area around the
  46507. * series' graph or markers. This also implies the tooltip. When
  46508. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  46509. * be hidden when moving the mouse between series.
  46510. */
  46511. stickyTracking?: boolean;
  46512. /**
  46513. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  46514. * of each single series. Properties are inherited from tooltip. Overridable
  46515. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  46516. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  46517. * series.name by default shows in the headerFormat and point.x and point.y
  46518. * in the pointFormat.
  46519. */
  46520. tooltip?: SeriesTooltipOptionsObject;
  46521. /**
  46522. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  46523. * is longer than this, only one dimensional arrays of numbers, or two
  46524. * dimensional arrays with x and y values are allowed. Also, only the first
  46525. * point is tested, and the rest are assumed to be the same format. This
  46526. * saves expensive data checking and indexing in long series. Set it to `0`
  46527. * disable.
  46528. *
  46529. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  46530. * two dimensional arrays are allowed.
  46531. */
  46532. turboThreshold?: number;
  46533. /**
  46534. * (Highcharts, Highmaps) Set the initial visibility of the series.
  46535. */
  46536. visible?: boolean;
  46537. /**
  46538. * (Highmaps) Define the z index of the series.
  46539. */
  46540. zIndex?: number;
  46541. /**
  46542. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  46543. */
  46544. zoneAxis?: string;
  46545. /**
  46546. * (Highcharts, Highstock) An array defining zones within a series. Zones
  46547. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  46548. * the `zoneAxis` option. The zone definitions have to be in ascending order
  46549. * regarding to the value.
  46550. *
  46551. * In styled mode, the color zones are styled with the
  46552. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  46553. * option (view live demo).
  46554. */
  46555. zones?: Array<SeriesZonesOptionsObject>;
  46556. }
  46557. /**
  46558. * (Highcharts) Enable or disable the initial animation when a series is
  46559. * displayed. The animation can also be set as a configuration object. Please
  46560. * note that this option only applies to the initial animation of the series
  46561. * itself. For other animations, see chart.animation and the animation parameter
  46562. * under the API methods. The following properties are supported:
  46563. *
  46564. * - `defer`: The animation delay time in milliseconds.
  46565. *
  46566. * - `duration`: The duration of the animation in milliseconds.
  46567. *
  46568. * - `easing`: Can be a string reference to an easing function set on the `Math`
  46569. * object or a function. See the _Custom easing function_ demo below.
  46570. *
  46571. * Due to poor performance, animation is disabled in old IE browsers for several
  46572. * chart types.
  46573. */
  46574. export interface PlotHistogramAnimationOptions {
  46575. defer?: number;
  46576. }
  46577. /**
  46578. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  46579. * animation when a series is displayed for the `dataLabels`. The animation can
  46580. * also be set as a configuration object. Please note that this option only
  46581. * applies to the initial animation. For other animations, see chart.animation
  46582. * and the animation parameter under the API methods. The following properties
  46583. * are supported:
  46584. *
  46585. * - `defer`: The animation delay time in milliseconds.
  46586. */
  46587. export interface PlotHistogramDataLabelsAnimationOptions {
  46588. /**
  46589. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  46590. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  46591. * inherits defer time from the series.animation.defer.
  46592. */
  46593. defer?: number;
  46594. }
  46595. /**
  46596. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  46597. * appearing next to each data point.
  46598. *
  46599. * Since v6.2.0, multiple data labels can be applied to each single point by
  46600. * defining them as an array of configs.
  46601. *
  46602. * In styled mode, the data labels can be styled with the
  46603. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  46604. * example).
  46605. */
  46606. export interface PlotHistogramDataLabelsOptions {
  46607. /**
  46608. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  46609. * compared to the point. If `right`, the right side of the label should be
  46610. * touching the point. For points with an extent, like columns, the
  46611. * alignments also dictates how to align it inside the box, as given with
  46612. * the inside option. Can be one of `left`, `center` or `right`.
  46613. */
  46614. align?: string;
  46615. /**
  46616. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  46617. * overlap. To make the labels less sensitive for overlapping, the
  46618. * dataLabels.padding can be set to 0.
  46619. */
  46620. allowOverlap?: boolean;
  46621. /**
  46622. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  46623. * animation when a series is displayed for the `dataLabels`. The animation
  46624. * can also be set as a configuration object. Please note that this option
  46625. * only applies to the initial animation. For other animations, see
  46626. * chart.animation and the animation parameter under the API methods. The
  46627. * following properties are supported:
  46628. *
  46629. * - `defer`: The animation delay time in milliseconds.
  46630. */
  46631. animation?: (boolean|PlotHistogramDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  46632. /**
  46633. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  46634. * for the data label.
  46635. */
  46636. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  46637. /**
  46638. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  46639. * label. Defaults to `undefined`.
  46640. */
  46641. borderColor?: (ColorString|GradientColorObject|PatternObject);
  46642. /**
  46643. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  46644. * the data label.
  46645. */
  46646. borderRadius?: number;
  46647. /**
  46648. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  46649. * the data label.
  46650. */
  46651. borderWidth?: number;
  46652. /**
  46653. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  46654. * Particularly in styled mode, this can be used to give each series' or
  46655. * point's data label unique styling. In addition to this option, a default
  46656. * color class name is added so that we can give the labels a contrast text
  46657. * shadow.
  46658. */
  46659. className?: string;
  46660. /**
  46661. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  46662. * labels. Defaults to `undefined`. For certain series types, like column or
  46663. * map, the data labels can be drawn inside the points. In this case the
  46664. * data label will be drawn with maximum contrast by default. Additionally,
  46665. * it will be given a `text-outline` style with the opposite color, to
  46666. * further increase the contrast. This can be overridden by setting the
  46667. * `text-outline` style to `none` in the `dataLabels.style` option.
  46668. */
  46669. color?: (ColorString|GradientColorObject|PatternObject);
  46670. /**
  46671. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  46672. * are outside the plot area. By default, the data label is moved inside the
  46673. * plot area according to the overflow option.
  46674. */
  46675. crop?: boolean;
  46676. /**
  46677. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  46678. * labels until the initial series animation has finished. Setting to
  46679. * `false` renders the data label immediately. If set to `true` inherits the
  46680. * defer time set in plotOptions.series.animation.
  46681. */
  46682. defer?: boolean;
  46683. /**
  46684. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  46685. * labels.
  46686. */
  46687. enabled?: boolean;
  46688. /**
  46689. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  46690. * of which data labels to display. The declarative filter is designed for
  46691. * use when callback functions are not available, like when the chart
  46692. * options require a pure JSON structure or for use with graphical editors.
  46693. * For programmatic control, use the `formatter` instead, and return
  46694. * `undefined` to disable a single data label.
  46695. */
  46696. filter?: DataLabelsFilterOptionsObject;
  46697. /**
  46698. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  46699. * label. Available variables are the same as for `formatter`.
  46700. */
  46701. format?: string;
  46702. /**
  46703. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  46704. * format the data label. Note that if a `format` is defined, the format
  46705. * takes precedence and the formatter is ignored.
  46706. */
  46707. formatter?: DataLabelsFormatterCallbackFunction;
  46708. /**
  46709. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  46710. * columns or map areas, whether to align the data label inside the box or
  46711. * to the actual value point. Defaults to `false` in most cases, `true` in
  46712. * stacked columns.
  46713. */
  46714. inside?: boolean;
  46715. /**
  46716. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  46717. * of null. Works analogously to format. `nullFormat` can be applied only to
  46718. * series which support displaying null points.
  46719. */
  46720. nullFormat?: (boolean|string);
  46721. /**
  46722. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  46723. * that defines formatting for points with the value of null. Works
  46724. * analogously to formatter. `nullPointFormatter` can be applied only to
  46725. * series which support displaying null points.
  46726. */
  46727. nullFormatter?: DataLabelsFormatterCallbackFunction;
  46728. /**
  46729. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  46730. * flow outside the plot area. The default is `"justify"`, which aligns them
  46731. * inside the plot area. For columns and bars, this means it will be moved
  46732. * inside the bar. To display data labels outside the plot area, set `crop`
  46733. * to `false` and `overflow` to `"allow"`.
  46734. */
  46735. overflow?: DataLabelsOverflowValue;
  46736. /**
  46737. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  46738. * the `backgroundColor` is set, this is the padding within the box.
  46739. */
  46740. padding?: number;
  46741. /**
  46742. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  46743. * points. If `center` alignment is not possible, it defaults to `right`.
  46744. */
  46745. position?: AlignValue;
  46746. /**
  46747. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  46748. * that due to a more complex structure, backgrounds, borders and padding
  46749. * will be lost on a rotated data label.
  46750. */
  46751. rotation?: number;
  46752. /**
  46753. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  46754. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  46755. * an object configuration containing `color`, `offsetX`, `offsetY`,
  46756. * `opacity` and `width`.
  46757. */
  46758. shadow?: (boolean|ShadowOptionsObject);
  46759. /**
  46760. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  46761. * the border around the label. Symbols are predefined functions on the
  46762. * Renderer object.
  46763. */
  46764. shape?: string;
  46765. /**
  46766. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  46767. * default `color` setting is `"contrast"`, which is a pseudo color that
  46768. * Highcharts picks up and applies the maximum contrast to the underlying
  46769. * point item, for example the bar in a bar chart.
  46770. *
  46771. * The `textOutline` is a pseudo property that applies an outline of the
  46772. * given width with the given color, which by default is the maximum
  46773. * contrast to the text. So a bright text color will result in a black text
  46774. * outline for maximum readability on a mixed background. In some cases,
  46775. * especially with grayscale text, the text outline doesn't work well, in
  46776. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  46777. * is true, the `textOutline` will not be picked up. In this, case, the same
  46778. * effect can be acheived through the `text-shadow` CSS property.
  46779. *
  46780. * For some series types, where each point has an extent, like for example
  46781. * tree maps, the data label may overflow the point. There are two
  46782. * strategies for handling overflow. By default, the text will wrap to
  46783. * multiple lines. The other strategy is to set `style.textOverflow` to
  46784. * `ellipsis`, which will keep the text on one line plus it will break
  46785. * inside long words.
  46786. */
  46787. style?: CSSObject;
  46788. /**
  46789. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  46790. * should follow marker's shape. Border and background are disabled for a
  46791. * label that follows a path.
  46792. *
  46793. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  46794. * to true will disable this option.
  46795. */
  46796. textPath?: DataLabelsTextPathOptionsObject;
  46797. /**
  46798. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  46799. * the labels.
  46800. */
  46801. useHTML?: boolean;
  46802. /**
  46803. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  46804. * label. Can be one of `top`, `middle` or `bottom`. The default value
  46805. * depends on the data, for instance in a column chart, the label is above
  46806. * positive values and below negative values.
  46807. */
  46808. verticalAlign?: string;
  46809. /**
  46810. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  46811. * label relative to the point in pixels.
  46812. */
  46813. x?: number;
  46814. /**
  46815. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  46816. * label relative to the point in pixels.
  46817. */
  46818. y?: number;
  46819. /**
  46820. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  46821. * The default Z index puts it above the series. Use a Z index of 2 to
  46822. * display it behind the series.
  46823. */
  46824. z?: number;
  46825. }
  46826. /**
  46827. * (Highcharts, Highstock) Options for the series data sorting.
  46828. */
  46829. export interface PlotHistogramDataSortingOptions {
  46830. /**
  46831. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  46832. * Use xAxis.reversed to change the sorting order.
  46833. */
  46834. enabled?: boolean;
  46835. /**
  46836. * (Highcharts, Highstock) Whether to allow matching points by name in an
  46837. * update. If this option is disabled, points will be matched by order.
  46838. */
  46839. matchByName?: boolean;
  46840. /**
  46841. * (Highcharts, Highstock) Determines what data value should be used to sort
  46842. * by.
  46843. */
  46844. sortKey?: string;
  46845. }
  46846. /**
  46847. * (Highcharts) A histogram is a column series which represents the distribution
  46848. * of the data set in the base series. Histogram splits data into bins and shows
  46849. * their frequencies.
  46850. *
  46851. * In TypeScript the type option must always be set.
  46852. *
  46853. * Configuration options for the series are given in three levels:
  46854. *
  46855. * 1. Options for all series in a chart are defined in the plotOptions.series
  46856. * object.
  46857. *
  46858. * 2. Options for all `histogram` series are defined in plotOptions.histogram.
  46859. *
  46860. * 3. Options for one single series are given in the series instance array. (see
  46861. * online documentation for example)
  46862. */
  46863. export interface PlotHistogramOptions {
  46864. /**
  46865. * (Highcharts) Accessibility options for a series.
  46866. */
  46867. accessibility?: SeriesAccessibilityOptionsObject;
  46868. /**
  46869. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  46870. * rendered. If `true`, areas which don't correspond to a data point, are
  46871. * rendered as `null` points. If `false`, those areas are skipped.
  46872. */
  46873. allAreas?: boolean;
  46874. /**
  46875. * (Highcharts) Allow this series' points to be selected by clicking on the
  46876. * graphic (columns, point markers, pie slices, map areas etc).
  46877. *
  46878. * The selected points can be handled by point select and unselect events,
  46879. * or collectively by the getSelectedPoints function.
  46880. *
  46881. * And alternative way of selecting points is through dragging.
  46882. */
  46883. allowPointSelect?: boolean;
  46884. /**
  46885. * (Highcharts) Enable or disable the initial animation when a series is
  46886. * displayed. The animation can also be set as a configuration object.
  46887. * Please note that this option only applies to the initial animation of the
  46888. * series itself. For other animations, see chart.animation and the
  46889. * animation parameter under the API methods. The following properties are
  46890. * supported:
  46891. *
  46892. * - `defer`: The animation delay time in milliseconds.
  46893. *
  46894. * - `duration`: The duration of the animation in milliseconds.
  46895. *
  46896. * - `easing`: Can be a string reference to an easing function set on the
  46897. * `Math` object or a function. See the _Custom easing function_ demo below.
  46898. *
  46899. * Due to poor performance, animation is disabled in old IE browsers for
  46900. * several chart types.
  46901. */
  46902. animation?: (boolean|PlotHistogramAnimationOptions|Partial<AnimationOptionsObject>);
  46903. /**
  46904. * (Highcharts) For some series, there is a limit that shuts down initial
  46905. * animation by default when the total number of points in the chart is too
  46906. * high. For example, for a column chart and its derivatives, animation does
  46907. * not run if there is more than 250 points totally. To disable this cap,
  46908. * set `animationLimit` to `Infinity`.
  46909. */
  46910. animationLimit?: number;
  46911. /**
  46912. * (Highcharts) A preferable number of bins. It is a suggestion, so a
  46913. * histogram may have a different number of bins. By default it is set to
  46914. * the square root of the base series' data length. Available options are:
  46915. * `square-root`, `sturges`, `rice`. You can also define a function which
  46916. * takes a `baseSeries` as a parameter and should return a positive integer.
  46917. */
  46918. binsNumber?: ("rice"|"square-root"|"sturges"|number|Function);
  46919. /**
  46920. * (Highcharts) Width of each bin. By default the bin's width is calculated
  46921. * as `(max - min) / number of bins`. This option takes precedence over
  46922. * binsNumber.
  46923. */
  46924. binWidth?: number;
  46925. /**
  46926. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  46927. * column or bar.
  46928. *
  46929. * In styled mode, the border stroke can be set with the `.highcharts-point`
  46930. * rule.
  46931. */
  46932. borderColor?: (ColorString|GradientColorObject|PatternObject);
  46933. /**
  46934. * (Highcharts, Highstock, Gantt) The corner radius of the border
  46935. * surrounding each column or bar.
  46936. */
  46937. borderRadius?: number;
  46938. /**
  46939. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  46940. * column or bar. Defaults to `1` when there is room for a border, but to
  46941. * `0` when the columns are so dense that a border would cover the next
  46942. * column.
  46943. *
  46944. * In styled mode, the stroke width can be set with the `.highcharts-point`
  46945. * rule.
  46946. */
  46947. borderWidth?: number;
  46948. /**
  46949. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  46950. * the category, ignoring null or missing points. When `false`, space will
  46951. * be reserved for null or missing points.
  46952. */
  46953. centerInCategory?: boolean;
  46954. /**
  46955. * (Highcharts) An additional class name to apply to the series' graphical
  46956. * elements. This option does not replace default class names of the
  46957. * graphical element.
  46958. */
  46959. className?: string;
  46960. /**
  46961. * (Highcharts) Disable this option to allow series rendering in the whole
  46962. * plotting area.
  46963. *
  46964. * **Note:** Clipping should be always enabled when chart.zoomType is set
  46965. */
  46966. clip?: boolean;
  46967. /**
  46968. * (Highcharts) The main color of the series. In line type series it applies
  46969. * to the line and the point markers unless otherwise specified. In bar type
  46970. * series it applies to the bars unless a color is specified per point. The
  46971. * default value is pulled from the `options.colors` array.
  46972. *
  46973. * In styled mode, the color can be defined by the colorIndex option. Also,
  46974. * the series color can be set with the `.highcharts-series`,
  46975. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  46976. * `.highcharts-series-{n}` class, or individual classes given by the
  46977. * `className` option.
  46978. */
  46979. color?: (ColorString|GradientColorObject|PatternObject);
  46980. /**
  46981. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  46982. * this number defines which colorAxis the particular series is connected
  46983. * to. It refers to either the axis id or the index of the axis in the
  46984. * colorAxis array, with 0 being the first. Set this option to false to
  46985. * prevent a series from connecting to the default color axis.
  46986. *
  46987. * Since v7.2.0 the option can also be an axis id or an axis index instead
  46988. * of a boolean flag.
  46989. */
  46990. colorAxis?: (boolean|number|string);
  46991. /**
  46992. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  46993. * from the global colors or series-specific plotOptions.column.colors
  46994. * collections, this option determines whether the chart should receive one
  46995. * color per series or one color per point.
  46996. *
  46997. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  46998. * and instead this option gives the points individual color class names on
  46999. * the form `highcharts-color-{n}`.
  47000. */
  47001. colorByPoint?: boolean;
  47002. /**
  47003. * (Highcharts) Styled mode only. A specific color index to use for the
  47004. * series, so its graphic representations are given the class name
  47005. * `highcharts-color-{n}`.
  47006. */
  47007. colorIndex?: number;
  47008. /**
  47009. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  47010. * used to calculate point color if `colorAxis` is used. Requires to set
  47011. * `min` and `max` if some custom point property is used or if approximation
  47012. * for data grouping is set to `'sum'`.
  47013. */
  47014. colorKey?: string;
  47015. /**
  47016. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  47017. * color set to apply instead of the global colors when colorByPoint is
  47018. * true.
  47019. */
  47020. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  47021. /**
  47022. * (Highstock) Compare the values of the series against the first non-null,
  47023. * non- zero value in the visible range. The y axis will show percentage or
  47024. * absolute change depending on whether `compare` is set to `"percent"` or
  47025. * `"value"`. When this is applied to multiple series, it allows comparing
  47026. * the development of the series against each other. Adds a `change` field
  47027. * to every point object.
  47028. */
  47029. compare?: string;
  47030. /**
  47031. * (Highstock) When compare is `percent`, this option dictates whether to
  47032. * use 0 or 100 as the base of comparison.
  47033. */
  47034. compareBase?: (0|100);
  47035. /**
  47036. * (Highstock) Defines if comparison should start from the first point
  47037. * within the visible range or should start from the first point **before**
  47038. * the range.
  47039. *
  47040. * In other words, this flag determines if first point within the visible
  47041. * range will have 0% (`compareStart=true`) or should have been already
  47042. * calculated according to the previous point (`compareStart=false`).
  47043. */
  47044. compareStart?: boolean;
  47045. /**
  47046. * (Gantt) Override Pathfinder connector options for a series. Requires
  47047. * Highcharts Gantt to be loaded.
  47048. */
  47049. connectors?: SeriesConnectorsOptionsObject;
  47050. /**
  47051. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  47052. * rounded to its nearest pixel in order to render sharp on screen. In some
  47053. * cases, when there are a lot of densely packed columns, this leads to
  47054. * visible difference in column widths or distance between columns. In these
  47055. * cases, setting `crisp` to `false` may look better, even though each
  47056. * column is rendered blurry.
  47057. */
  47058. crisp?: boolean;
  47059. /**
  47060. * (Highcharts, Highstock, Gantt) When the series contains less points than
  47061. * the crop threshold, all points are drawn, event if the points fall
  47062. * outside the visible plot area at the current zoom. The advantage of
  47063. * drawing all points (including markers and columns), is that animation is
  47064. * performed on updates. On the other hand, when the series contains more
  47065. * points than the crop threshold, the series data is cropped to only
  47066. * contain points that fall within the plot area. The advantage of cropping
  47067. * away invisible points is to increase performance on large series.
  47068. */
  47069. cropThreshold?: number;
  47070. /**
  47071. * (Highcharts) You can set the cursor to "pointer" if you have click events
  47072. * attached to the series, to signal to the user that the points and lines
  47073. * can be clicked.
  47074. *
  47075. * In styled mode, the series cursor can be set with the same classes as
  47076. * listed under series.color.
  47077. */
  47078. cursor?: (string|CursorValue);
  47079. /**
  47080. * (Highcharts) A reserved subspace to store options and values for
  47081. * customized functionality. Here you can add additional data for your own
  47082. * event callbacks and formatter callbacks.
  47083. */
  47084. custom?: Dictionary<any>;
  47085. /**
  47086. * (Highcharts) Name of the dash style to use for the graph, or for some
  47087. * series types the outline of each shape.
  47088. *
  47089. * In styled mode, the stroke dash-array can be set with the same classes as
  47090. * listed under series.color.
  47091. */
  47092. dashStyle?: DashStyleValue;
  47093. /**
  47094. * (Highstock) Data grouping is the concept of sampling the data values into
  47095. * larger blocks in order to ease readability and increase performance of
  47096. * the JavaScript charts. Highstock by default applies data grouping when
  47097. * the points become closer than a certain pixel value, determined by the
  47098. * `groupPixelWidth` option.
  47099. *
  47100. * If data grouping is applied, the grouping information of grouped points
  47101. * can be read from the Point.dataGroup. If point options other than the
  47102. * data itself are set, for example `name` or `color` or custom properties,
  47103. * the grouping logic doesn't know how to group it. In this case the options
  47104. * of the first point instance are copied over to the group point. This can
  47105. * be altered through a custom `approximation` callback function.
  47106. */
  47107. dataGrouping?: DataGroupingOptionsObject;
  47108. /**
  47109. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  47110. * labels, appearing next to each data point.
  47111. *
  47112. * Since v6.2.0, multiple data labels can be applied to each single point by
  47113. * defining them as an array of configs.
  47114. *
  47115. * In styled mode, the data labels can be styled with the
  47116. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  47117. * (see example).
  47118. */
  47119. dataLabels?: (PlotHistogramDataLabelsOptions|Array<PlotHistogramDataLabelsOptions>);
  47120. /**
  47121. * (Highcharts, Highstock) Options for the series data sorting.
  47122. */
  47123. dataSorting?: (DataSortingOptionsObject|PlotHistogramDataSortingOptions);
  47124. /**
  47125. * (Highcharts) Depth of the columns in a 3D column chart.
  47126. */
  47127. depth?: number;
  47128. /**
  47129. * (Highcharts) A description of the series to add to the screen reader
  47130. * information about the series.
  47131. */
  47132. description?: string;
  47133. /**
  47134. * (Highcharts) 3D columns only. The color of the edges. Similar to
  47135. * `borderColor`, except it defaults to the same color as the column.
  47136. */
  47137. edgeColor?: ColorString;
  47138. /**
  47139. * (Highcharts) 3D columns only. The width of the colored edges.
  47140. */
  47141. edgeWidth?: number;
  47142. /**
  47143. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  47144. * This includes point tooltips and click events on graphs and points. For
  47145. * large datasets it improves performance.
  47146. */
  47147. enableMouseTracking?: boolean;
  47148. /**
  47149. * (Highcharts) General event handlers for the series items. These event
  47150. * hooks can also be attached to the series at run time using the
  47151. * `Highcharts.addEvent` function.
  47152. */
  47153. events?: SeriesEventsOptionsObject;
  47154. /**
  47155. * (Highcharts) Determines whether the series should look for the nearest
  47156. * point in both dimensions or just the x-dimension when hovering the
  47157. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  47158. * series. If the data has duplicate x-values, it is recommended to set this
  47159. * to `'xy'` to allow hovering over all points.
  47160. *
  47161. * Applies only to series types using nearest neighbor search (not direct
  47162. * hover) for tooltip.
  47163. */
  47164. findNearestPointBy?: OptionsFindNearestPointByValue;
  47165. /**
  47166. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  47167. * chart width or only the zoomed area when zooming in on parts of the X
  47168. * axis. By default, the Y axis adjusts to the min and max of the visible
  47169. * data. Cartesian series only.
  47170. */
  47171. getExtremesFromAll?: boolean;
  47172. /**
  47173. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  47174. * let them render independent of each other. Non-grouped columns will be
  47175. * laid out individually and overlap each other.
  47176. */
  47177. grouping?: boolean;
  47178. /**
  47179. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  47180. * axis units.
  47181. */
  47182. groupPadding?: number;
  47183. /**
  47184. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  47185. */
  47186. groupZPadding?: number;
  47187. /**
  47188. * (Highcharts) When set to `false` will prevent the series data from being
  47189. * included in any form of data export.
  47190. *
  47191. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  47192. * `includeInCSVExport`.
  47193. */
  47194. includeInDataExport?: boolean;
  47195. /**
  47196. * (Highmaps) What property to join the `mapData` to the value data. For
  47197. * example, if joinBy is "code", the mapData items with a specific code is
  47198. * merged into the data with the same code. For maps loaded from GeoJSON,
  47199. * the keys may be held in each point's `properties` object.
  47200. *
  47201. * The joinBy option can also be an array of two values, where the first
  47202. * points to a key in the `mapData`, and the second points to another key in
  47203. * the `data`.
  47204. *
  47205. * When joinBy is `null`, the map items are joined by their position in the
  47206. * array, which performs much better in maps with many data points. This is
  47207. * the recommended option if you are printing more than a thousand data
  47208. * points and have a backend that can preprocess the data into a parallel
  47209. * array of the mapData.
  47210. */
  47211. joinBy?: (string|Array<string>);
  47212. /**
  47213. * (Highcharts) An array specifying which option maps to which key in the
  47214. * data point array. This makes it convenient to work with unstructured data
  47215. * arrays from different sources.
  47216. */
  47217. keys?: Array<string>;
  47218. /**
  47219. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  47220. * series as possible in a natural way, seeking to avoid other series. The
  47221. * goal of this feature is to make the chart more easily readable, like if a
  47222. * human designer placed the labels in the optimal position.
  47223. *
  47224. * The series labels currently work with series types having a `graph` or an
  47225. * `area`.
  47226. */
  47227. label?: SeriesLabelOptionsObject;
  47228. /**
  47229. * (Highstock) The line marks the last price from all points.
  47230. */
  47231. lastPrice?: SeriesLastPriceOptionsObject;
  47232. /**
  47233. * (Highstock) The line marks the last price from visible range of points.
  47234. */
  47235. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  47236. /**
  47237. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  47238. * Additionally, the value can be ":previous" to link to the previous
  47239. * series. When two series are linked, only the first one appears in the
  47240. * legend. Toggling the visibility of this also toggles the linked series.
  47241. *
  47242. * If master series uses data sorting and linked series does not have its
  47243. * own sorting definition, the linked series will be sorted in the same
  47244. * order as the master one.
  47245. */
  47246. linkedTo?: string;
  47247. /**
  47248. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  47249. * column, translated to the height of a bar in a bar chart. This prevents
  47250. * the columns from becoming too wide when there is a small number of points
  47251. * in the chart.
  47252. */
  47253. maxPointWidth?: number;
  47254. /**
  47255. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  47256. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  47257. * to zero) point, set the minimal point length to a pixel value like 3\. In
  47258. * stacked column charts, minPointLength might not be respected for tightly
  47259. * packed values.
  47260. */
  47261. minPointLength?: number;
  47262. /**
  47263. * (Highstock) Options for the corresponding navigator series if
  47264. * `showInNavigator` is `true` for this series. Available options are the
  47265. * same as any series, documented at plotOptions and series.
  47266. *
  47267. * These options are merged with options in navigator.series, and will take
  47268. * precedence if the same option is defined both places.
  47269. */
  47270. navigatorOptions?: PlotSeriesOptions;
  47271. /**
  47272. * (Highcharts) The color for the parts of the graph or points that are
  47273. * below the threshold. Note that `zones` takes precedence over the negative
  47274. * color. Using `negativeColor` is equivalent to applying a zone with value
  47275. * of 0.
  47276. */
  47277. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  47278. /**
  47279. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  47280. * dataLabels.
  47281. */
  47282. opacity?: number;
  47283. /**
  47284. * (Highcharts) Properties for each single point.
  47285. */
  47286. point?: PlotSeriesPointOptions;
  47287. /**
  47288. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  47289. * individual series. Overrides the chart wide configuration.
  47290. */
  47291. pointDescriptionFormatter?: Function;
  47292. /**
  47293. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  47294. * axis units.
  47295. */
  47296. pointPadding?: number;
  47297. /**
  47298. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  47299. * `number`.
  47300. *
  47301. * In a column chart, when pointPlacement is `"on"`, the point will not
  47302. * create any padding of the X axis. In a polar column chart this means that
  47303. * the first column points directly north. If the pointPlacement is
  47304. * `"between"`, the columns will be laid out between ticks. This is useful
  47305. * for example for visualising an amount between two points in time or in a
  47306. * certain sector of a polar chart.
  47307. *
  47308. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  47309. * is on the axis value, -0.5 is between this value and the previous, and
  47310. * 0.5 is between this value and the next. Unlike the textual options,
  47311. * numeric point placement options won't affect axis padding.
  47312. *
  47313. * Note that pointPlacement needs a pointRange to work. For column series
  47314. * this is computed, but for line-type series it needs to be set.
  47315. *
  47316. * For the `xrange` series type and gantt charts, if the Y axis is a
  47317. * category axis, the `pointPlacement` applies to the Y axis rather than the
  47318. * (typically datetime) X axis.
  47319. *
  47320. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  47321. */
  47322. pointPlacement?: string;
  47323. /**
  47324. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  47325. * for. This determines the width of the column. On a categorized axis, the
  47326. * range will be 1 by default (one category unit). On linear and datetime
  47327. * axes, the range will be computed as the distance between the two closest
  47328. * data points.
  47329. *
  47330. * The default `null` means it is computed automatically, but this option
  47331. * can be used to override the automatic value.
  47332. *
  47333. * This option is set by default to 1 if data sorting is enabled.
  47334. */
  47335. pointRange?: (number|null);
  47336. /**
  47337. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  47338. * a series, pointStart defines on what value to start. For example, if a
  47339. * series contains one yearly value starting from 1945, set pointStart to
  47340. * 1945.
  47341. */
  47342. pointStart?: number;
  47343. /**
  47344. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  47345. * each column or bar point. When `null`, the width is calculated from the
  47346. * `pointPadding` and `groupPadding`. The width effects the dimension that
  47347. * is not based on the point value. For column series it is the hoizontal
  47348. * length and for bar series it is the vertical length.
  47349. */
  47350. pointWidth?: number;
  47351. /**
  47352. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  47353. * true, the checkbox next to the series name in the legend will be checked
  47354. * for a selected series.
  47355. */
  47356. selected?: boolean;
  47357. /**
  47358. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  47359. * the shadow can be an object configuration containing `color`, `offsetX`,
  47360. * `offsetY`, `opacity` and `width`.
  47361. */
  47362. shadow?: (boolean|ShadowOptionsObject);
  47363. /**
  47364. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  47365. * allow selecting the series. The state of the checkbox is determined by
  47366. * the `selected` option.
  47367. */
  47368. showCheckbox?: boolean;
  47369. /**
  47370. * (Highcharts) Whether to display this particular series or series type in
  47371. * the legend. Standalone series are shown in legend by default, and linked
  47372. * series are not. Since v7.2.0 it is possible to show series that use
  47373. * colorAxis by setting this option to `true`.
  47374. */
  47375. showInLegend?: boolean;
  47376. /**
  47377. * (Highstock) Whether or not to show the series in the navigator. Takes
  47378. * precedence over navigator.baseSeries if defined.
  47379. */
  47380. showInNavigator?: boolean;
  47381. /**
  47382. * (Highcharts) If set to `true`, the accessibility module will skip past
  47383. * the points in this series for keyboard navigation.
  47384. */
  47385. skipKeyboardNavigation?: boolean;
  47386. /**
  47387. * (Highcharts, Highstock) When this is true, the series will not cause the
  47388. * Y axis to cross the zero plane (or threshold option) unless the data
  47389. * actually crosses the plane.
  47390. *
  47391. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  47392. * make the Y axis show negative values according to the `minPadding`
  47393. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  47394. */
  47395. softThreshold?: boolean;
  47396. states?: SeriesStatesOptionsObject;
  47397. /**
  47398. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  47399. * event on a series isn't triggered until the mouse moves over another
  47400. * series, or out of the plot area. When false, the `mouseOut` event on a
  47401. * series is triggered when the mouse leaves the area around the series'
  47402. * graph or markers. This also implies the tooltip when not shared. When
  47403. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  47404. * be hidden when moving the mouse between series. Defaults to true for line
  47405. * and area type series, but to false for columns, pies etc.
  47406. *
  47407. * **Note:** The boost module will force this option because of technical
  47408. * limitations.
  47409. */
  47410. stickyTracking?: boolean;
  47411. /**
  47412. * (Highcharts) The Y axis value to serve as the base for the columns, for
  47413. * distinguishing between values above and below a threshold. If `null`, the
  47414. * columns extend from the padding Y axis minimum.
  47415. */
  47416. threshold?: (number|null);
  47417. /**
  47418. * (Highcharts) A configuration object for the tooltip rendering of each
  47419. * single series. Properties are inherited from tooltip, but only the
  47420. * following properties can be defined on a series level.
  47421. */
  47422. tooltip?: SeriesTooltipOptionsObject;
  47423. /**
  47424. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  47425. * is longer than this, only one dimensional arrays of numbers, or two
  47426. * dimensional arrays with x and y values are allowed. Also, only the first
  47427. * point is tested, and the rest are assumed to be the same format. This
  47428. * saves expensive data checking and indexing in long series. Set it to `0`
  47429. * disable.
  47430. *
  47431. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  47432. * two dimensional arrays are allowed.
  47433. */
  47434. turboThreshold?: number;
  47435. /**
  47436. * (Highcharts) Set the initial visibility of the series.
  47437. */
  47438. visible?: boolean;
  47439. /**
  47440. * (Highmaps) Define the z index of the series.
  47441. */
  47442. zIndex?: number;
  47443. /**
  47444. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  47445. */
  47446. zoneAxis?: string;
  47447. /**
  47448. * (Highcharts, Highstock) An array defining zones within a series. Zones
  47449. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  47450. * the `zoneAxis` option. The zone definitions have to be in ascending order
  47451. * regarding to the value.
  47452. *
  47453. * In styled mode, the color zones are styled with the
  47454. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  47455. * option (view live demo).
  47456. */
  47457. zones?: Array<SeriesZonesOptionsObject>;
  47458. }
  47459. /**
  47460. * (Highstock) Enable or disable the initial animation when a series is
  47461. * displayed. The animation can also be set as a configuration object. Please
  47462. * note that this option only applies to the initial animation of the series
  47463. * itself. For other animations, see chart.animation and the animation parameter
  47464. * under the API methods. The following properties are supported:
  47465. *
  47466. * - `defer`: The animation delay time in milliseconds.
  47467. *
  47468. * - `duration`: The duration of the animation in milliseconds.
  47469. *
  47470. * - `easing`: Can be a string reference to an easing function set on the `Math`
  47471. * object or a function. See the _Custom easing function_ demo below.
  47472. *
  47473. * Due to poor performance, animation is disabled in old IE browsers for several
  47474. * chart types.
  47475. */
  47476. export interface PlotIkhAnimationOptions {
  47477. defer?: number;
  47478. }
  47479. /**
  47480. * (Highstock) The styles for Chikou line
  47481. */
  47482. export interface PlotIkhChikouLineOptions {
  47483. styles?: PlotIkhChikouLineStylesOptions;
  47484. }
  47485. export interface PlotIkhChikouLineStylesOptions {
  47486. /**
  47487. * (Highstock) Color of the line.
  47488. */
  47489. lineColor?: ColorString;
  47490. /**
  47491. * (Highstock) Pixel width of the line.
  47492. */
  47493. lineWidth?: number;
  47494. }
  47495. /**
  47496. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  47497. * animation when a series is displayed for the `dataLabels`. The animation can
  47498. * also be set as a configuration object. Please note that this option only
  47499. * applies to the initial animation. For other animations, see chart.animation
  47500. * and the animation parameter under the API methods. The following properties
  47501. * are supported:
  47502. *
  47503. * - `defer`: The animation delay time in milliseconds.
  47504. */
  47505. export interface PlotIkhDataLabelsAnimationOptions {
  47506. /**
  47507. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  47508. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  47509. * inherits defer time from the series.animation.defer.
  47510. */
  47511. defer?: number;
  47512. }
  47513. /**
  47514. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  47515. * appearing next to each data point.
  47516. *
  47517. * Since v6.2.0, multiple data labels can be applied to each single point by
  47518. * defining them as an array of configs.
  47519. *
  47520. * In styled mode, the data labels can be styled with the
  47521. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  47522. * example).
  47523. */
  47524. export interface PlotIkhDataLabelsOptions {
  47525. /**
  47526. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  47527. * compared to the point. If `right`, the right side of the label should be
  47528. * touching the point. For points with an extent, like columns, the
  47529. * alignments also dictates how to align it inside the box, as given with
  47530. * the inside option. Can be one of `left`, `center` or `right`.
  47531. */
  47532. align?: (AlignValue|null);
  47533. /**
  47534. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  47535. * overlap. To make the labels less sensitive for overlapping, the
  47536. * dataLabels.padding can be set to 0.
  47537. */
  47538. allowOverlap?: boolean;
  47539. /**
  47540. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  47541. * animation when a series is displayed for the `dataLabels`. The animation
  47542. * can also be set as a configuration object. Please note that this option
  47543. * only applies to the initial animation. For other animations, see
  47544. * chart.animation and the animation parameter under the API methods. The
  47545. * following properties are supported:
  47546. *
  47547. * - `defer`: The animation delay time in milliseconds.
  47548. */
  47549. animation?: (boolean|PlotIkhDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  47550. /**
  47551. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  47552. * for the data label.
  47553. */
  47554. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  47555. /**
  47556. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  47557. * label. Defaults to `undefined`.
  47558. */
  47559. borderColor?: (ColorString|GradientColorObject|PatternObject);
  47560. /**
  47561. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  47562. * the data label.
  47563. */
  47564. borderRadius?: number;
  47565. /**
  47566. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  47567. * the data label.
  47568. */
  47569. borderWidth?: number;
  47570. /**
  47571. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  47572. * Particularly in styled mode, this can be used to give each series' or
  47573. * point's data label unique styling. In addition to this option, a default
  47574. * color class name is added so that we can give the labels a contrast text
  47575. * shadow.
  47576. */
  47577. className?: string;
  47578. /**
  47579. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  47580. * labels. Defaults to `undefined`. For certain series types, like column or
  47581. * map, the data labels can be drawn inside the points. In this case the
  47582. * data label will be drawn with maximum contrast by default. Additionally,
  47583. * it will be given a `text-outline` style with the opposite color, to
  47584. * further increase the contrast. This can be overridden by setting the
  47585. * `text-outline` style to `none` in the `dataLabels.style` option.
  47586. */
  47587. color?: (ColorString|GradientColorObject|PatternObject);
  47588. /**
  47589. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  47590. * are outside the plot area. By default, the data label is moved inside the
  47591. * plot area according to the overflow option.
  47592. */
  47593. crop?: boolean;
  47594. /**
  47595. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  47596. * labels until the initial series animation has finished. Setting to
  47597. * `false` renders the data label immediately. If set to `true` inherits the
  47598. * defer time set in plotOptions.series.animation.
  47599. */
  47600. defer?: boolean;
  47601. /**
  47602. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  47603. * labels.
  47604. */
  47605. enabled?: boolean;
  47606. /**
  47607. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  47608. * of which data labels to display. The declarative filter is designed for
  47609. * use when callback functions are not available, like when the chart
  47610. * options require a pure JSON structure or for use with graphical editors.
  47611. * For programmatic control, use the `formatter` instead, and return
  47612. * `undefined` to disable a single data label.
  47613. */
  47614. filter?: DataLabelsFilterOptionsObject;
  47615. /**
  47616. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  47617. * label. Available variables are the same as for `formatter`.
  47618. */
  47619. format?: string;
  47620. /**
  47621. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  47622. * format the data label. Note that if a `format` is defined, the format
  47623. * takes precedence and the formatter is ignored.
  47624. */
  47625. formatter?: DataLabelsFormatterCallbackFunction;
  47626. /**
  47627. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  47628. * columns or map areas, whether to align the data label inside the box or
  47629. * to the actual value point. Defaults to `false` in most cases, `true` in
  47630. * stacked columns.
  47631. */
  47632. inside?: boolean;
  47633. /**
  47634. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  47635. * of null. Works analogously to format. `nullFormat` can be applied only to
  47636. * series which support displaying null points.
  47637. */
  47638. nullFormat?: (boolean|string);
  47639. /**
  47640. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  47641. * that defines formatting for points with the value of null. Works
  47642. * analogously to formatter. `nullPointFormatter` can be applied only to
  47643. * series which support displaying null points.
  47644. */
  47645. nullFormatter?: DataLabelsFormatterCallbackFunction;
  47646. /**
  47647. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  47648. * flow outside the plot area. The default is `"justify"`, which aligns them
  47649. * inside the plot area. For columns and bars, this means it will be moved
  47650. * inside the bar. To display data labels outside the plot area, set `crop`
  47651. * to `false` and `overflow` to `"allow"`.
  47652. */
  47653. overflow?: DataLabelsOverflowValue;
  47654. /**
  47655. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  47656. * the `backgroundColor` is set, this is the padding within the box.
  47657. */
  47658. padding?: number;
  47659. /**
  47660. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  47661. * points. If `center` alignment is not possible, it defaults to `right`.
  47662. */
  47663. position?: AlignValue;
  47664. /**
  47665. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  47666. * that due to a more complex structure, backgrounds, borders and padding
  47667. * will be lost on a rotated data label.
  47668. */
  47669. rotation?: number;
  47670. /**
  47671. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  47672. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  47673. * an object configuration containing `color`, `offsetX`, `offsetY`,
  47674. * `opacity` and `width`.
  47675. */
  47676. shadow?: (boolean|ShadowOptionsObject);
  47677. /**
  47678. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  47679. * the border around the label. Symbols are predefined functions on the
  47680. * Renderer object.
  47681. */
  47682. shape?: string;
  47683. /**
  47684. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  47685. * default `color` setting is `"contrast"`, which is a pseudo color that
  47686. * Highcharts picks up and applies the maximum contrast to the underlying
  47687. * point item, for example the bar in a bar chart.
  47688. *
  47689. * The `textOutline` is a pseudo property that applies an outline of the
  47690. * given width with the given color, which by default is the maximum
  47691. * contrast to the text. So a bright text color will result in a black text
  47692. * outline for maximum readability on a mixed background. In some cases,
  47693. * especially with grayscale text, the text outline doesn't work well, in
  47694. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  47695. * is true, the `textOutline` will not be picked up. In this, case, the same
  47696. * effect can be acheived through the `text-shadow` CSS property.
  47697. *
  47698. * For some series types, where each point has an extent, like for example
  47699. * tree maps, the data label may overflow the point. There are two
  47700. * strategies for handling overflow. By default, the text will wrap to
  47701. * multiple lines. The other strategy is to set `style.textOverflow` to
  47702. * `ellipsis`, which will keep the text on one line plus it will break
  47703. * inside long words.
  47704. */
  47705. style?: CSSObject;
  47706. /**
  47707. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  47708. * should follow marker's shape. Border and background are disabled for a
  47709. * label that follows a path.
  47710. *
  47711. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  47712. * to true will disable this option.
  47713. */
  47714. textPath?: DataLabelsTextPathOptionsObject;
  47715. /**
  47716. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  47717. * the labels.
  47718. */
  47719. useHTML?: boolean;
  47720. /**
  47721. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  47722. * label. Can be one of `top`, `middle` or `bottom`. The default value
  47723. * depends on the data, for instance in a column chart, the label is above
  47724. * positive values and below negative values.
  47725. */
  47726. verticalAlign?: (VerticalAlignValue|null);
  47727. /**
  47728. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  47729. * label relative to the point in pixels.
  47730. */
  47731. x?: number;
  47732. /**
  47733. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  47734. * label relative to the point in pixels.
  47735. */
  47736. y?: number;
  47737. /**
  47738. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  47739. * The default Z index puts it above the series. Use a Z index of 2 to
  47740. * display it behind the series.
  47741. */
  47742. z?: number;
  47743. }
  47744. /**
  47745. * (Highcharts, Highstock) Options for the series data sorting.
  47746. */
  47747. export interface PlotIkhDataSortingOptions {
  47748. /**
  47749. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  47750. * Use xAxis.reversed to change the sorting order.
  47751. */
  47752. enabled?: boolean;
  47753. /**
  47754. * (Highcharts, Highstock) Whether to allow matching points by name in an
  47755. * update. If this option is disabled, points will be matched by order.
  47756. */
  47757. matchByName?: boolean;
  47758. /**
  47759. * (Highcharts, Highstock) Determines what data value should be used to sort
  47760. * by.
  47761. */
  47762. sortKey?: string;
  47763. }
  47764. /**
  47765. * (Highstock) The styles for Kijun line
  47766. */
  47767. export interface PlotIkhKijunLineOptions {
  47768. styles?: PlotIkhKijunLineStylesOptions;
  47769. }
  47770. export interface PlotIkhKijunLineStylesOptions {
  47771. /**
  47772. * (Highstock) Color of the line.
  47773. */
  47774. lineColor?: ColorString;
  47775. /**
  47776. * (Highstock) Pixel width of the line.
  47777. */
  47778. lineWidth?: number;
  47779. }
  47780. /**
  47781. * (Highstock) Ichimoku Kinko Hyo (IKH). This series requires `linkedTo` option
  47782. * to be set.
  47783. *
  47784. * In TypeScript the type option must always be set.
  47785. *
  47786. * Configuration options for the series are given in three levels:
  47787. *
  47788. * 1. Options for all series in a chart are defined in the plotOptions.series
  47789. * object.
  47790. *
  47791. * 2. Options for all `ikh` series are defined in plotOptions.ikh.
  47792. *
  47793. * 3. Options for one single series are given in the series instance array. (see
  47794. * online documentation for example)
  47795. */
  47796. export interface PlotIkhOptions {
  47797. /**
  47798. * (Highstock) Accessibility options for a series.
  47799. */
  47800. accessibility?: SeriesAccessibilityOptionsObject;
  47801. /**
  47802. * (Highstock) Allow this series' points to be selected by clicking on the
  47803. * graphic (columns, point markers, pie slices, map areas etc).
  47804. *
  47805. * The selected points can be handled by point select and unselect events,
  47806. * or collectively by the getSelectedPoints function.
  47807. *
  47808. * And alternative way of selecting points is through dragging.
  47809. */
  47810. allowPointSelect?: boolean;
  47811. /**
  47812. * (Highstock) Enable or disable the initial animation when a series is
  47813. * displayed. The animation can also be set as a configuration object.
  47814. * Please note that this option only applies to the initial animation of the
  47815. * series itself. For other animations, see chart.animation and the
  47816. * animation parameter under the API methods. The following properties are
  47817. * supported:
  47818. *
  47819. * - `defer`: The animation delay time in milliseconds.
  47820. *
  47821. * - `duration`: The duration of the animation in milliseconds.
  47822. *
  47823. * - `easing`: Can be a string reference to an easing function set on the
  47824. * `Math` object or a function. See the _Custom easing function_ demo below.
  47825. *
  47826. * Due to poor performance, animation is disabled in old IE browsers for
  47827. * several chart types.
  47828. */
  47829. animation?: (boolean|PlotIkhAnimationOptions|Partial<AnimationOptionsObject>);
  47830. /**
  47831. * (Highstock) For some series, there is a limit that shuts down initial
  47832. * animation by default when the total number of points in the chart is too
  47833. * high. For example, for a column chart and its derivatives, animation does
  47834. * not run if there is more than 250 points totally. To disable this cap,
  47835. * set `animationLimit` to `Infinity`.
  47836. */
  47837. animationLimit?: number;
  47838. /**
  47839. * (Highstock) Sets the color blending in the boost module.
  47840. */
  47841. boostBlending?: OptionsBoostBlendingValue;
  47842. /**
  47843. * (Highstock) Set the point threshold for when a series should enter boost
  47844. * mode.
  47845. *
  47846. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  47847. * there are 2000 or more points in the series.
  47848. *
  47849. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  47850. * it to 1 will force boosting.
  47851. *
  47852. * Note that the cropThreshold also affects this setting. When zooming in on
  47853. * a series that has fewer points than the `cropThreshold`, all points are
  47854. * rendered although outside the visible plot area, and the `boostThreshold`
  47855. * won't take effect.
  47856. */
  47857. boostThreshold?: number;
  47858. /**
  47859. * (Highmaps) The border color of the map areas.
  47860. *
  47861. * In styled mode, the border stroke is given in the `.highcharts-point`
  47862. * class.
  47863. */
  47864. borderColor?: (ColorString|GradientColorObject|PatternObject);
  47865. /**
  47866. * (Highmaps) The border width of each map area.
  47867. *
  47868. * In styled mode, the border stroke width is given in the
  47869. * `.highcharts-point` class.
  47870. */
  47871. borderWidth?: number;
  47872. /**
  47873. * (Highstock) The styles for Chikou line
  47874. */
  47875. chikouLine?: PlotIkhChikouLineOptions;
  47876. /**
  47877. * (Highstock) An additional class name to apply to the series' graphical
  47878. * elements. This option does not replace default class names of the
  47879. * graphical element.
  47880. */
  47881. className?: string;
  47882. /**
  47883. * (Highstock) Disable this option to allow series rendering in the whole
  47884. * plotting area.
  47885. *
  47886. * **Note:** Clipping should be always enabled when chart.zoomType is set
  47887. */
  47888. clip?: boolean;
  47889. /**
  47890. * (Highstock) The main color of the series. In line type series it applies
  47891. * to the line and the point markers unless otherwise specified. In bar type
  47892. * series it applies to the bars unless a color is specified per point. The
  47893. * default value is pulled from the `options.colors` array.
  47894. *
  47895. * In styled mode, the color can be defined by the colorIndex option. Also,
  47896. * the series color can be set with the `.highcharts-series`,
  47897. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  47898. * `.highcharts-series-{n}` class, or individual classes given by the
  47899. * `className` option.
  47900. */
  47901. color?: (ColorString|GradientColorObject|PatternObject);
  47902. /**
  47903. * (Highstock) Styled mode only. A specific color index to use for the
  47904. * series, so its graphic representations are given the class name
  47905. * `highcharts-color-{n}`.
  47906. */
  47907. colorIndex?: number;
  47908. /**
  47909. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  47910. * used to calculate point color if `colorAxis` is used. Requires to set
  47911. * `min` and `max` if some custom point property is used or if approximation
  47912. * for data grouping is set to `'sum'`.
  47913. */
  47914. colorKey?: string;
  47915. /**
  47916. * (Highstock) Defines if comparison should start from the first point
  47917. * within the visible range or should start from the first point **before**
  47918. * the range.
  47919. *
  47920. * In other words, this flag determines if first point within the visible
  47921. * range will have 0% (`compareStart=true`) or should have been already
  47922. * calculated according to the previous point (`compareStart=false`).
  47923. */
  47924. compareStart?: boolean;
  47925. /**
  47926. * (Highstock) Whether to compare indicator to the main series values or
  47927. * indicator values.
  47928. */
  47929. compareToMain?: boolean;
  47930. /**
  47931. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  47932. * series plot across the extremes.
  47933. */
  47934. connectEnds?: boolean;
  47935. /**
  47936. * (Highcharts, Highstock) Whether to connect a graph line across null
  47937. * points, or render a gap between the two points on either side of the
  47938. * null.
  47939. */
  47940. connectNulls?: boolean;
  47941. /**
  47942. * (Gantt) Override Pathfinder connector options for a series. Requires
  47943. * Highcharts Gantt to be loaded.
  47944. */
  47945. connectors?: SeriesConnectorsOptionsObject;
  47946. /**
  47947. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  47948. * rounded to its nearest pixel in order to render sharp on screen. In some
  47949. * cases, when there are a lot of densely packed columns, this leads to
  47950. * visible difference in column widths or distance between columns. In these
  47951. * cases, setting `crisp` to `false` may look better, even though each
  47952. * column is rendered blurry.
  47953. */
  47954. crisp?: boolean;
  47955. /**
  47956. * (Highcharts, Highstock) When the series contains less points than the
  47957. * crop threshold, all points are drawn, even if the points fall outside the
  47958. * visible plot area at the current zoom. The advantage of drawing all
  47959. * points (including markers and columns), is that animation is performed on
  47960. * updates. On the other hand, when the series contains more points than the
  47961. * crop threshold, the series data is cropped to only contain points that
  47962. * fall within the plot area. The advantage of cropping away invisible
  47963. * points is to increase performance on large series.
  47964. */
  47965. cropThreshold?: number;
  47966. /**
  47967. * (Highstock) You can set the cursor to "pointer" if you have click events
  47968. * attached to the series, to signal to the user that the points and lines
  47969. * can be clicked.
  47970. *
  47971. * In styled mode, the series cursor can be set with the same classes as
  47972. * listed under series.color.
  47973. */
  47974. cursor?: (string|CursorValue);
  47975. /**
  47976. * (Highstock) A reserved subspace to store options and values for
  47977. * customized functionality. Here you can add additional data for your own
  47978. * event callbacks and formatter callbacks.
  47979. */
  47980. custom?: Dictionary<any>;
  47981. /**
  47982. * (Highstock) Name of the dash style to use for the graph, or for some
  47983. * series types the outline of each shape.
  47984. *
  47985. * In styled mode, the stroke dash-array can be set with the same classes as
  47986. * listed under series.color.
  47987. */
  47988. dashStyle?: DashStyleValue;
  47989. /**
  47990. * (Highstock) Data grouping is the concept of sampling the data values into
  47991. * larger blocks in order to ease readability and increase performance of
  47992. * the JavaScript charts. Highstock by default applies data grouping when
  47993. * the points become closer than a certain pixel value, determined by the
  47994. * `groupPixelWidth` option.
  47995. *
  47996. * If data grouping is applied, the grouping information of grouped points
  47997. * can be read from the Point.dataGroup. If point options other than the
  47998. * data itself are set, for example `name` or `color` or custom properties,
  47999. * the grouping logic doesn't know how to group it. In this case the options
  48000. * of the first point instance are copied over to the group point. This can
  48001. * be altered through a custom `approximation` callback function.
  48002. */
  48003. dataGrouping?: DataGroupingOptionsObject;
  48004. /**
  48005. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  48006. * labels, appearing next to each data point.
  48007. *
  48008. * Since v6.2.0, multiple data labels can be applied to each single point by
  48009. * defining them as an array of configs.
  48010. *
  48011. * In styled mode, the data labels can be styled with the
  48012. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  48013. * (see example).
  48014. */
  48015. dataLabels?: (PlotIkhDataLabelsOptions|Array<PlotIkhDataLabelsOptions>);
  48016. /**
  48017. * (Highcharts, Highstock) Options for the series data sorting.
  48018. */
  48019. dataSorting?: (DataSortingOptionsObject|PlotIkhDataSortingOptions);
  48020. /**
  48021. * (Highstock) A description of the series to add to the screen reader
  48022. * information about the series.
  48023. */
  48024. description?: string;
  48025. /**
  48026. * (Highstock) Enable or disable the mouse tracking for a specific series.
  48027. * This includes point tooltips and click events on graphs and points. For
  48028. * large datasets it improves performance.
  48029. */
  48030. enableMouseTracking?: boolean;
  48031. /**
  48032. * (Highstock) General event handlers for the series items. These event
  48033. * hooks can also be attached to the series at run time using the
  48034. * `Highcharts.addEvent` function.
  48035. */
  48036. events?: SeriesEventsOptionsObject;
  48037. /**
  48038. * (Highstock) Determines whether the series should look for the nearest
  48039. * point in both dimensions or just the x-dimension when hovering the
  48040. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  48041. * series. If the data has duplicate x-values, it is recommended to set this
  48042. * to `'xy'` to allow hovering over all points.
  48043. *
  48044. * Applies only to series types using nearest neighbor search (not direct
  48045. * hover) for tooltip.
  48046. */
  48047. findNearestPointBy?: OptionsFindNearestPointByValue;
  48048. /**
  48049. * (Highstock) Defines when to display a gap in the graph, together with the
  48050. * gapUnit option.
  48051. *
  48052. * In case when `dataGrouping` is enabled, points can be grouped into a
  48053. * larger time span. This can make the grouped points to have a greater
  48054. * distance than the absolute value of `gapSize` property, which will result
  48055. * in disappearing graph completely. To prevent this situation the mentioned
  48056. * distance between grouped points is used instead of previously defined
  48057. * `gapSize`.
  48058. *
  48059. * In practice, this option is most often used to visualize gaps in time
  48060. * series. In a stock chart, intraday data is available for daytime hours,
  48061. * while gaps will appear in nights and weekends.
  48062. */
  48063. gapSize?: number;
  48064. /**
  48065. * (Highstock) Together with gapSize, this option defines where to draw gaps
  48066. * in the graph.
  48067. *
  48068. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  48069. * if the distance between two points is greater than 5 times that of the
  48070. * two closest points, the graph will be broken.
  48071. *
  48072. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  48073. * values, which on a datetime axis is milliseconds. This also applies to
  48074. * the navigator series that inherits gap options from the base series.
  48075. */
  48076. gapUnit?: OptionsGapUnitValue;
  48077. /**
  48078. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  48079. * chart width or only the zoomed area when zooming in on parts of the X
  48080. * axis. By default, the Y axis adjusts to the min and max of the visible
  48081. * data. Cartesian series only.
  48082. */
  48083. getExtremesFromAll?: boolean;
  48084. /**
  48085. * (Highstock) When set to `false` will prevent the series data from being
  48086. * included in any form of data export.
  48087. *
  48088. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  48089. * `includeInCSVExport`.
  48090. */
  48091. includeInDataExport?: boolean;
  48092. /**
  48093. * (Highstock) The styles for Kijun line
  48094. */
  48095. kijunLine?: PlotIkhKijunLineOptions;
  48096. /**
  48097. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  48098. * series as possible in a natural way, seeking to avoid other series. The
  48099. * goal of this feature is to make the chart more easily readable, like if a
  48100. * human designer placed the labels in the optimal position.
  48101. *
  48102. * The series labels currently work with series types having a `graph` or an
  48103. * `area`.
  48104. */
  48105. label?: SeriesLabelOptionsObject;
  48106. /**
  48107. * (Highstock) The line marks the last price from all points.
  48108. */
  48109. lastPrice?: SeriesLastPriceOptionsObject;
  48110. /**
  48111. * (Highstock) The line marks the last price from visible range of points.
  48112. */
  48113. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  48114. /**
  48115. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  48116. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  48117. * the ends and bends.
  48118. */
  48119. linecap?: SeriesLinecapValue;
  48120. /**
  48121. * (Highcharts, Highstock) Pixel width of the graph line.
  48122. */
  48123. lineWidth?: number;
  48124. /**
  48125. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  48126. * based on. Required for this indicator.
  48127. */
  48128. linkedTo?: string;
  48129. /**
  48130. * (Highstock) Options for the point markers of line-like series. Properties
  48131. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  48132. * appearance of the markers. Other series types, like column series, don't
  48133. * have markers, but have visual options on the series level instead.
  48134. *
  48135. * In styled mode, the markers can be styled with the `.highcharts-point`,
  48136. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  48137. */
  48138. marker?: PointMarkerOptionsObject;
  48139. /**
  48140. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  48141. * If not set, it will be based on a technical indicator type and default
  48142. * params.
  48143. */
  48144. name?: string;
  48145. /**
  48146. * (Highstock) The color for the parts of the graph or points that are below
  48147. * the threshold. Note that `zones` takes precedence over the negative
  48148. * color. Using `negativeColor` is equivalent to applying a zone with value
  48149. * of 0.
  48150. */
  48151. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  48152. /**
  48153. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  48154. * dataLabels.
  48155. */
  48156. opacity?: number;
  48157. /**
  48158. * (Highstock) Paramters used in calculation of regression series' points.
  48159. */
  48160. params?: PlotIkhParamsOptions;
  48161. /**
  48162. * (Highstock) Properties for each single point.
  48163. */
  48164. point?: PlotSeriesPointOptions;
  48165. /**
  48166. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  48167. * individual series. Overrides the chart wide configuration.
  48168. */
  48169. pointDescriptionFormatter?: Function;
  48170. /**
  48171. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  48172. * true, the checkbox next to the series name in the legend will be checked
  48173. * for a selected series.
  48174. */
  48175. selected?: boolean;
  48176. /**
  48177. * (Highstock) The styles for area between Senkou Span A and B.
  48178. */
  48179. senkouSpan?: PlotIkhSenkouSpanOptions;
  48180. /**
  48181. * (Highstock) The styles for Senkou Span A line
  48182. */
  48183. senkouSpanA?: PlotIkhSenkouSpanAOptions;
  48184. /**
  48185. * (Highstock) The styles for Senkou Span B line
  48186. */
  48187. senkouSpanB?: PlotIkhSenkouSpanBOptions;
  48188. /**
  48189. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  48190. * the shadow can be an object configuration containing `color`, `offsetX`,
  48191. * `offsetY`, `opacity` and `width`.
  48192. */
  48193. shadow?: (boolean|ShadowOptionsObject);
  48194. /**
  48195. * (Highstock) If true, a checkbox is displayed next to the legend item to
  48196. * allow selecting the series. The state of the checkbox is determined by
  48197. * the `selected` option.
  48198. */
  48199. showCheckbox?: boolean;
  48200. /**
  48201. * (Highstock) Whether to display this particular series or series type in
  48202. * the legend. Standalone series are shown in legend by default, and linked
  48203. * series are not. Since v7.2.0 it is possible to show series that use
  48204. * colorAxis by setting this option to `true`.
  48205. */
  48206. showInLegend?: boolean;
  48207. /**
  48208. * (Highstock) If set to `true`, the accessibility module will skip past the
  48209. * points in this series for keyboard navigation.
  48210. */
  48211. skipKeyboardNavigation?: boolean;
  48212. /**
  48213. * (Highcharts, Highstock) When this is true, the series will not cause the
  48214. * Y axis to cross the zero plane (or threshold option) unless the data
  48215. * actually crosses the plane.
  48216. *
  48217. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  48218. * make the Y axis show negative values according to the `minPadding`
  48219. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  48220. */
  48221. softThreshold?: boolean;
  48222. states?: SeriesStatesOptionsObject;
  48223. /**
  48224. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  48225. * values are `left`, `center` and `right`.
  48226. */
  48227. step?: OptionsStepValue;
  48228. /**
  48229. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  48230. * event on a series isn't triggered until the mouse moves over another
  48231. * series, or out of the plot area. When false, the `mouseOut` event on a
  48232. * series is triggered when the mouse leaves the area around the series'
  48233. * graph or markers. This also implies the tooltip when not shared. When
  48234. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  48235. * be hidden when moving the mouse between series. Defaults to true for line
  48236. * and area type series, but to false for columns, pies etc.
  48237. *
  48238. * **Note:** The boost module will force this option because of technical
  48239. * limitations.
  48240. */
  48241. stickyTracking?: boolean;
  48242. /**
  48243. * (Highstock) The styles for Tenkan line
  48244. */
  48245. tenkanLine?: PlotIkhTenkanLineOptions;
  48246. /**
  48247. * (Highcharts, Highstock) The threshold, also called zero level or base
  48248. * level. For line type series this is only used in conjunction with
  48249. * negativeColor.
  48250. */
  48251. threshold?: number;
  48252. /**
  48253. * (Highstock) A configuration object for the tooltip rendering of each
  48254. * single series. Properties are inherited from tooltip, but only the
  48255. * following properties can be defined on a series level.
  48256. */
  48257. tooltip?: SeriesTooltipOptionsObject;
  48258. /**
  48259. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  48260. * is longer than this, only one dimensional arrays of numbers, or two
  48261. * dimensional arrays with x and y values are allowed. Also, only the first
  48262. * point is tested, and the rest are assumed to be the same format. This
  48263. * saves expensive data checking and indexing in long series. Set it to `0`
  48264. * disable.
  48265. *
  48266. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  48267. * two dimensional arrays are allowed.
  48268. */
  48269. turboThreshold?: number;
  48270. /**
  48271. * (Highstock) Set the initial visibility of the series.
  48272. */
  48273. visible?: boolean;
  48274. /**
  48275. * (Highmaps) Define the z index of the series.
  48276. */
  48277. zIndex?: number;
  48278. /**
  48279. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  48280. */
  48281. zoneAxis?: string;
  48282. /**
  48283. * (Highcharts, Highstock) An array defining zones within a series. Zones
  48284. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  48285. * the `zoneAxis` option. The zone definitions have to be in ascending order
  48286. * regarding to the value.
  48287. *
  48288. * In styled mode, the color zones are styled with the
  48289. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  48290. * option (view live demo).
  48291. */
  48292. zones?: Array<SeriesZonesOptionsObject>;
  48293. }
  48294. /**
  48295. * (Highstock) Paramters used in calculation of regression series' points.
  48296. */
  48297. export interface PlotIkhParamsOptions {
  48298. /**
  48299. * (Highstock) The point index which indicator calculations will base. For
  48300. * example using OHLC data, index=2 means the indicator will be calculated
  48301. * using Low values.
  48302. */
  48303. index?: number;
  48304. /**
  48305. * (Highstock) The base period for indicator calculations. This is the
  48306. * number of data points which are taken into account for the indicator
  48307. * calculations.
  48308. */
  48309. period?: number;
  48310. /**
  48311. * (Highstock) The base period for Senkou Span B calculations
  48312. */
  48313. periodSenkouSpanB?: number;
  48314. /**
  48315. * (Highstock) The base period for Tenkan calculations.
  48316. */
  48317. periodTenkan?: number;
  48318. }
  48319. /**
  48320. * (Highstock) The styles for Senkou Span A line
  48321. */
  48322. export interface PlotIkhSenkouSpanAOptions {
  48323. styles?: PlotIkhSenkouSpanAStylesOptions;
  48324. }
  48325. export interface PlotIkhSenkouSpanAStylesOptions {
  48326. /**
  48327. * (Highstock) Color of the line.
  48328. */
  48329. lineColor?: ColorString;
  48330. /**
  48331. * (Highstock) Pixel width of the line.
  48332. */
  48333. lineWidth?: number;
  48334. }
  48335. /**
  48336. * (Highstock) The styles for Senkou Span B line
  48337. */
  48338. export interface PlotIkhSenkouSpanBOptions {
  48339. styles?: PlotIkhSenkouSpanBStylesOptions;
  48340. }
  48341. export interface PlotIkhSenkouSpanBStylesOptions {
  48342. /**
  48343. * (Highstock) Color of the line.
  48344. */
  48345. lineColor?: ColorString;
  48346. /**
  48347. * (Highstock) Pixel width of the line.
  48348. */
  48349. lineWidth?: number;
  48350. }
  48351. /**
  48352. * (Highstock) The styles for area between Senkou Span A and B.
  48353. */
  48354. export interface PlotIkhSenkouSpanOptions {
  48355. /**
  48356. * (Highstock) Color of the area between Senkou Span A and B, when Senkou
  48357. * Span A is above Senkou Span B. Note that if a `style.fill` is defined,
  48358. * the `color` takes precedence and the `style.fill` is ignored.
  48359. */
  48360. color?: (ColorString|GradientColorObject|PatternObject);
  48361. /**
  48362. * (Highstock) Color of the area between Senkou Span A and B, when Senkou
  48363. * Span A is under Senkou Span B.
  48364. */
  48365. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  48366. styles?: any;
  48367. }
  48368. /**
  48369. * (Highstock) The styles for Tenkan line
  48370. */
  48371. export interface PlotIkhTenkanLineOptions {
  48372. styles?: PlotIkhTenkanLineStylesOptions;
  48373. }
  48374. export interface PlotIkhTenkanLineStylesOptions {
  48375. /**
  48376. * (Highstock) Color of the line.
  48377. */
  48378. lineColor?: ColorString;
  48379. /**
  48380. * (Highstock) Pixel width of the line.
  48381. */
  48382. lineWidth?: number;
  48383. }
  48384. /**
  48385. * (Highcharts) Enable or disable the initial animation when a series is
  48386. * displayed. The animation can also be set as a configuration object. Please
  48387. * note that this option only applies to the initial animation of the series
  48388. * itself. For other animations, see chart.animation and the animation parameter
  48389. * under the API methods. The following properties are supported:
  48390. *
  48391. * - `defer`: The animation delay time in milliseconds.
  48392. *
  48393. * - `duration`: The duration of the animation in milliseconds.
  48394. *
  48395. * - `easing`: Can be a string reference to an easing function set on the `Math`
  48396. * object or a function. See the _Custom easing function_ demo below.
  48397. *
  48398. * Due to poor performance, animation is disabled in old IE browsers for several
  48399. * chart types.
  48400. */
  48401. export interface PlotItemAnimationOptions {
  48402. defer?: number;
  48403. }
  48404. /**
  48405. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  48406. * animation when a series is displayed for the `dataLabels`. The animation can
  48407. * also be set as a configuration object. Please note that this option only
  48408. * applies to the initial animation. For other animations, see chart.animation
  48409. * and the animation parameter under the API methods. The following properties
  48410. * are supported:
  48411. *
  48412. * - `defer`: The animation delay time in milliseconds.
  48413. */
  48414. export interface PlotItemDataLabelsAnimationOptions {
  48415. /**
  48416. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  48417. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  48418. * inherits defer time from the series.animation.defer.
  48419. */
  48420. defer?: number;
  48421. }
  48422. /**
  48423. * (Highcharts) An item chart is an infographic chart where a number of items
  48424. * are laid out in either a rectangular or circular pattern. It can be used to
  48425. * visualize counts within a group, or for the circular pattern, typically a
  48426. * parliament.
  48427. *
  48428. * The circular layout has much in common with a pie chart. Many of the item
  48429. * series options, like `center`, `size` and data label positioning, are
  48430. * inherited from the pie series and don't apply for rectangular layouts.
  48431. *
  48432. * In TypeScript the type option must always be set.
  48433. *
  48434. * Configuration options for the series are given in three levels:
  48435. *
  48436. * 1. Options for all series in a chart are defined in the plotOptions.series
  48437. * object.
  48438. *
  48439. * 2. Options for all `item` series are defined in plotOptions.item.
  48440. *
  48441. * 3. Options for one single series are given in the series instance array. (see
  48442. * online documentation for example)
  48443. */
  48444. export interface PlotItemOptions {
  48445. /**
  48446. * (Highcharts) Accessibility options for a series.
  48447. */
  48448. accessibility?: SeriesAccessibilityOptionsObject;
  48449. /**
  48450. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  48451. * rendered. If `true`, areas which don't correspond to a data point, are
  48452. * rendered as `null` points. If `false`, those areas are skipped.
  48453. */
  48454. allAreas?: boolean;
  48455. /**
  48456. * (Highcharts) Allow this series' points to be selected by clicking on the
  48457. * graphic (columns, point markers, pie slices, map areas etc).
  48458. *
  48459. * The selected points can be handled by point select and unselect events,
  48460. * or collectively by the getSelectedPoints function.
  48461. *
  48462. * And alternative way of selecting points is through dragging.
  48463. */
  48464. allowPointSelect?: boolean;
  48465. /**
  48466. * (Highcharts) Enable or disable the initial animation when a series is
  48467. * displayed. The animation can also be set as a configuration object.
  48468. * Please note that this option only applies to the initial animation of the
  48469. * series itself. For other animations, see chart.animation and the
  48470. * animation parameter under the API methods. The following properties are
  48471. * supported:
  48472. *
  48473. * - `defer`: The animation delay time in milliseconds.
  48474. *
  48475. * - `duration`: The duration of the animation in milliseconds.
  48476. *
  48477. * - `easing`: Can be a string reference to an easing function set on the
  48478. * `Math` object or a function. See the _Custom easing function_ demo below.
  48479. *
  48480. * Due to poor performance, animation is disabled in old IE browsers for
  48481. * several chart types.
  48482. */
  48483. animation?: (boolean|PlotItemAnimationOptions|Partial<AnimationOptionsObject>);
  48484. /**
  48485. * (Highcharts) The center of the pie chart relative to the plot area. Can
  48486. * be percentages or pixel values. The default behaviour (as of 3.0) is to
  48487. * center the pie so that all slices and data labels are within the plot
  48488. * area. As a consequence, the pie may actually jump around in a chart with
  48489. * dynamic values, as the data labels move. In that case, the center should
  48490. * be explicitly set, for example to `["50%", "50%"]`.
  48491. */
  48492. center?: [(number|string|null), (number|string|null)];
  48493. /**
  48494. * (Highcharts) An additional class name to apply to the series' graphical
  48495. * elements. This option does not replace default class names of the
  48496. * graphical element.
  48497. */
  48498. className?: string;
  48499. /**
  48500. * (Highcharts) Disable this option to allow series rendering in the whole
  48501. * plotting area.
  48502. *
  48503. * **Note:** Clipping should be always enabled when chart.zoomType is set
  48504. */
  48505. clip?: boolean;
  48506. /**
  48507. * (Highcharts) The color of the pie series. A pie series is represented as
  48508. * an empty circle if the total sum of its values is 0. Use this property to
  48509. * define the color of its border.
  48510. *
  48511. * In styled mode, the color can be defined by the colorIndex option. Also,
  48512. * the series color can be set with the `.highcharts-series`,
  48513. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  48514. * `.highcharts-series-{n}` class, or individual classes given by the
  48515. * `className` option.
  48516. */
  48517. color?: (ColorString|GradientColorObject|PatternObject);
  48518. /**
  48519. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  48520. * this number defines which colorAxis the particular series is connected
  48521. * to. It refers to either the axis id or the index of the axis in the
  48522. * colorAxis array, with 0 being the first. Set this option to false to
  48523. * prevent a series from connecting to the default color axis.
  48524. *
  48525. * Since v7.2.0 the option can also be an axis id or an axis index instead
  48526. * of a boolean flag.
  48527. */
  48528. colorAxis?: (boolean|number|string);
  48529. /**
  48530. * (Highcharts) Styled mode only. A specific color index to use for the
  48531. * series, so its graphic representations are given the class name
  48532. * `highcharts-color-{n}`.
  48533. */
  48534. colorIndex?: number;
  48535. /**
  48536. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  48537. * used to calculate point color if `colorAxis` is used. Requires to set
  48538. * `min` and `max` if some custom point property is used or if approximation
  48539. * for data grouping is set to `'sum'`.
  48540. */
  48541. colorKey?: string;
  48542. /**
  48543. * (Highcharts) A series specific or series type specific color set to use
  48544. * instead of the global colors.
  48545. */
  48546. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  48547. /**
  48548. * (Highstock) Compare the values of the series against the first non-null,
  48549. * non- zero value in the visible range. The y axis will show percentage or
  48550. * absolute change depending on whether `compare` is set to `"percent"` or
  48551. * `"value"`. When this is applied to multiple series, it allows comparing
  48552. * the development of the series against each other. Adds a `change` field
  48553. * to every point object.
  48554. */
  48555. compare?: string;
  48556. /**
  48557. * (Highstock) When compare is `percent`, this option dictates whether to
  48558. * use 0 or 100 as the base of comparison.
  48559. */
  48560. compareBase?: (0|100);
  48561. /**
  48562. * (Highstock) Defines if comparison should start from the first point
  48563. * within the visible range or should start from the first point **before**
  48564. * the range.
  48565. *
  48566. * In other words, this flag determines if first point within the visible
  48567. * range will have 0% (`compareStart=true`) or should have been already
  48568. * calculated according to the previous point (`compareStart=false`).
  48569. */
  48570. compareStart?: boolean;
  48571. /**
  48572. * (Gantt) Override Pathfinder connector options for a series. Requires
  48573. * Highcharts Gantt to be loaded.
  48574. */
  48575. connectors?: SeriesConnectorsOptionsObject;
  48576. /**
  48577. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  48578. * rounded to its nearest pixel in order to render sharp on screen. In some
  48579. * cases, when there are a lot of densely packed columns, this leads to
  48580. * visible difference in column widths or distance between columns. In these
  48581. * cases, setting `crisp` to `false` may look better, even though each
  48582. * column is rendered blurry.
  48583. */
  48584. crisp?: boolean;
  48585. /**
  48586. * (Highcharts) You can set the cursor to "pointer" if you have click events
  48587. * attached to the series, to signal to the user that the points and lines
  48588. * can be clicked.
  48589. *
  48590. * In styled mode, the series cursor can be set with the same classes as
  48591. * listed under series.color.
  48592. */
  48593. cursor?: (string|CursorValue);
  48594. /**
  48595. * (Highcharts) A reserved subspace to store options and values for
  48596. * customized functionality. Here you can add additional data for your own
  48597. * event callbacks and formatter callbacks.
  48598. */
  48599. custom?: Dictionary<any>;
  48600. /**
  48601. * (Highstock) Data grouping is the concept of sampling the data values into
  48602. * larger blocks in order to ease readability and increase performance of
  48603. * the JavaScript charts. Highstock by default applies data grouping when
  48604. * the points become closer than a certain pixel value, determined by the
  48605. * `groupPixelWidth` option.
  48606. *
  48607. * If data grouping is applied, the grouping information of grouped points
  48608. * can be read from the Point.dataGroup. If point options other than the
  48609. * data itself are set, for example `name` or `color` or custom properties,
  48610. * the grouping logic doesn't know how to group it. In this case the options
  48611. * of the first point instance are copied over to the group point. This can
  48612. * be altered through a custom `approximation` callback function.
  48613. */
  48614. dataGrouping?: DataGroupingOptionsObject;
  48615. /**
  48616. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  48617. * labels, appearing next to each data point.
  48618. *
  48619. * Since v6.2.0, multiple data labels can be applied to each single point by
  48620. * defining them as an array of configs.
  48621. *
  48622. * In styled mode, the data labels can be styled with the
  48623. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  48624. * (see example).
  48625. */
  48626. dataLabels?: (SeriesPieDataLabelsOptionsObject|Array<SeriesPieDataLabelsOptionsObject>);
  48627. /**
  48628. * (Highcharts) A description of the series to add to the screen reader
  48629. * information about the series.
  48630. */
  48631. description?: string;
  48632. /**
  48633. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  48634. * This includes point tooltips and click events on graphs and points. For
  48635. * large datasets it improves performance.
  48636. */
  48637. enableMouseTracking?: boolean;
  48638. /**
  48639. * (Highcharts) In circular view, the end angle of the item layout, in
  48640. * degrees where 0 is up.
  48641. */
  48642. endAngle?: (number|undefined);
  48643. /**
  48644. * (Highcharts) General event handlers for the series items. These event
  48645. * hooks can also be attached to the series at run time using the
  48646. * `Highcharts.addEvent` function.
  48647. */
  48648. events?: SeriesEventsOptionsObject;
  48649. /**
  48650. * (Highcharts) If the total sum of the pie's values is 0, the series is
  48651. * represented as an empty circle . The `fillColor` option defines the color
  48652. * of that circle. Use pie.borderWidth to set the border thickness.
  48653. */
  48654. fillColor?: (ColorString|GradientColorObject|PatternObject);
  48655. /**
  48656. * (Highstock) Defines when to display a gap in the graph, together with the
  48657. * gapUnit option.
  48658. *
  48659. * In case when `dataGrouping` is enabled, points can be grouped into a
  48660. * larger time span. This can make the grouped points to have a greater
  48661. * distance than the absolute value of `gapSize` property, which will result
  48662. * in disappearing graph completely. To prevent this situation the mentioned
  48663. * distance between grouped points is used instead of previously defined
  48664. * `gapSize`.
  48665. *
  48666. * In practice, this option is most often used to visualize gaps in time
  48667. * series. In a stock chart, intraday data is available for daytime hours,
  48668. * while gaps will appear in nights and weekends.
  48669. */
  48670. gapSize?: number;
  48671. /**
  48672. * (Highstock) Together with gapSize, this option defines where to draw gaps
  48673. * in the graph.
  48674. *
  48675. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  48676. * if the distance between two points is greater than 5 times that of the
  48677. * two closest points, the graph will be broken.
  48678. *
  48679. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  48680. * values, which on a datetime axis is milliseconds. This also applies to
  48681. * the navigator series that inherits gap options from the base series.
  48682. */
  48683. gapUnit?: OptionsGapUnitValue;
  48684. /**
  48685. * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
  48686. * whether the series shall be redrawn as if the hidden point were `null`.
  48687. *
  48688. * The default value changed from `false` to `true` with Highcharts 3.0.
  48689. */
  48690. ignoreHiddenPoint?: boolean;
  48691. /**
  48692. * (Highcharts) When set to `false` will prevent the series data from being
  48693. * included in any form of data export.
  48694. *
  48695. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  48696. * `includeInCSVExport`.
  48697. */
  48698. includeInDataExport?: boolean;
  48699. /**
  48700. * (Highcharts) In circular view, the size of the inner diameter of the
  48701. * circle. Can be a percentage or pixel value. Percentages are relative to
  48702. * the outer perimeter. Pixel values are given as integers.
  48703. *
  48704. * If the `rows` option is set, it overrides the `innerSize` setting.
  48705. */
  48706. innerSize?: (number|string);
  48707. /**
  48708. * (Highcharts) The padding between the items, given in relative size where
  48709. * the size of the item is 1.
  48710. */
  48711. itemPadding?: number;
  48712. /**
  48713. * (Highmaps) What property to join the `mapData` to the value data. For
  48714. * example, if joinBy is "code", the mapData items with a specific code is
  48715. * merged into the data with the same code. For maps loaded from GeoJSON,
  48716. * the keys may be held in each point's `properties` object.
  48717. *
  48718. * The joinBy option can also be an array of two values, where the first
  48719. * points to a key in the `mapData`, and the second points to another key in
  48720. * the `data`.
  48721. *
  48722. * When joinBy is `null`, the map items are joined by their position in the
  48723. * array, which performs much better in maps with many data points. This is
  48724. * the recommended option if you are printing more than a thousand data
  48725. * points and have a backend that can preprocess the data into a parallel
  48726. * array of the mapData.
  48727. */
  48728. joinBy?: (string|Array<string>);
  48729. /**
  48730. * (Highcharts) An array specifying which option maps to which key in the
  48731. * data point array. This makes it convenient to work with unstructured data
  48732. * arrays from different sources.
  48733. */
  48734. keys?: Array<string>;
  48735. /**
  48736. * (Highstock) The line marks the last price from all points.
  48737. */
  48738. lastPrice?: SeriesLastPriceOptionsObject;
  48739. /**
  48740. * (Highstock) The line marks the last price from visible range of points.
  48741. */
  48742. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  48743. /**
  48744. * (Highcharts) The layout of the items in rectangular view. Can be either
  48745. * `horizontal` or `vertical`.
  48746. */
  48747. layout?: string;
  48748. /**
  48749. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  48750. * Additionally, the value can be ":previous" to link to the previous
  48751. * series. When two series are linked, only the first one appears in the
  48752. * legend. Toggling the visibility of this also toggles the linked series.
  48753. *
  48754. * If master series uses data sorting and linked series does not have its
  48755. * own sorting definition, the linked series will be sorted in the same
  48756. * order as the master one.
  48757. */
  48758. linkedTo?: string;
  48759. /**
  48760. * (Highcharts) Options for the point markers of line-like series.
  48761. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  48762. * visual appearance of the markers. Other series types, like column series,
  48763. * don't have markers, but have visual options on the series level instead.
  48764. *
  48765. * In styled mode, the markers can be styled with the `.highcharts-point`,
  48766. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  48767. */
  48768. marker?: PointMarkerOptionsObject;
  48769. /**
  48770. * (Highcharts) The minimum size for a pie in response to auto margins. The
  48771. * pie will try to shrink to make room for data labels in side the plot
  48772. * area, but only to this size.
  48773. */
  48774. minSize?: (number|string);
  48775. /**
  48776. * (Highstock) Options for the corresponding navigator series if
  48777. * `showInNavigator` is `true` for this series. Available options are the
  48778. * same as any series, documented at plotOptions and series.
  48779. *
  48780. * These options are merged with options in navigator.series, and will take
  48781. * precedence if the same option is defined both places.
  48782. */
  48783. navigatorOptions?: PlotSeriesOptions;
  48784. /**
  48785. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  48786. * dataLabels.
  48787. */
  48788. opacity?: number;
  48789. /**
  48790. * (Highcharts) Properties for each single point.
  48791. */
  48792. point?: PlotSeriesPointOptions;
  48793. /**
  48794. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  48795. * individual series. Overrides the chart wide configuration.
  48796. */
  48797. pointDescriptionFormatter?: Function;
  48798. /**
  48799. * (Highstock) The width of each point on the x axis. For example in a
  48800. * column chart with one value each day, the pointRange would be 1 day (= 24
  48801. * * 3600
  48802. *
  48803. * * 1000 milliseconds). This is normally computed automatically, but this
  48804. * option can be used to override the automatic value.
  48805. */
  48806. pointRange?: number;
  48807. /**
  48808. * (Highcharts) The number of rows to display in the rectangular or circular
  48809. * view. If the `innerSize` is set, it will be overridden by the `rows`
  48810. * setting.
  48811. */
  48812. rows?: number;
  48813. /**
  48814. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  48815. * true, the checkbox next to the series name in the legend will be checked
  48816. * for a selected series.
  48817. */
  48818. selected?: boolean;
  48819. /**
  48820. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  48821. * allow selecting the series. The state of the checkbox is determined by
  48822. * the `selected` option.
  48823. */
  48824. showCheckbox?: boolean;
  48825. /**
  48826. * (Highcharts) Whether to display this particular series or series type in
  48827. * the legend. Since 2.1, pies are not shown in the legend by default.
  48828. */
  48829. showInLegend?: boolean;
  48830. /**
  48831. * (Highstock) Whether or not to show the series in the navigator. Takes
  48832. * precedence over navigator.baseSeries if defined.
  48833. */
  48834. showInNavigator?: boolean;
  48835. /**
  48836. * (Highcharts) The diameter of the pie relative to the plot area. Can be a
  48837. * percentage or pixel value. Pixel values are given as integers. The
  48838. * default behaviour (as of 3.0) is to scale to the plot area and give room
  48839. * for data labels within the plot area. slicedOffset is also included in
  48840. * the default size calculation. As a consequence, the size of the pie may
  48841. * vary when points are updated and data labels more around. In that case it
  48842. * is best to set a fixed value, for example `"75%"`.
  48843. */
  48844. size?: (number|string|null);
  48845. /**
  48846. * (Highcharts) If set to `true`, the accessibility module will skip past
  48847. * the points in this series for keyboard navigation.
  48848. */
  48849. skipKeyboardNavigation?: boolean;
  48850. /**
  48851. * (Highcharts) In circular view, the start angle of the item layout, in
  48852. * degrees where 0 is up.
  48853. */
  48854. startAngle?: (number|undefined);
  48855. states?: SeriesStatesOptionsObject;
  48856. /**
  48857. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  48858. * event on a series isn't triggered until the mouse moves over another
  48859. * series, or out of the plot area. When false, the `mouseOut` event on a
  48860. * series is triggered when the mouse leaves the area around the series'
  48861. * graph or markers. This also implies the tooltip. When `stickyTracking` is
  48862. * false and `tooltip.shared` is false, the tooltip will be hidden when
  48863. * moving the mouse between series.
  48864. */
  48865. stickyTracking?: boolean;
  48866. /**
  48867. * (Highcharts) A configuration object for the tooltip rendering of each
  48868. * single series. Properties are inherited from tooltip, but only the
  48869. * following properties can be defined on a series level.
  48870. */
  48871. tooltip?: SeriesTooltipOptionsObject;
  48872. /**
  48873. * (Highstock) The parameter allows setting line series type and use OHLC
  48874. * indicators. Data in OHLC format is required.
  48875. */
  48876. useOhlcData?: boolean;
  48877. /**
  48878. * (Highcharts) Set the initial visibility of the series.
  48879. */
  48880. visible?: boolean;
  48881. /**
  48882. * (Highmaps) Define the z index of the series.
  48883. */
  48884. zIndex?: number;
  48885. }
  48886. /**
  48887. * (Highstock) Enable or disable the initial animation when a series is
  48888. * displayed. The animation can also be set as a configuration object. Please
  48889. * note that this option only applies to the initial animation of the series
  48890. * itself. For other animations, see chart.animation and the animation parameter
  48891. * under the API methods. The following properties are supported:
  48892. *
  48893. * - `defer`: The animation delay time in milliseconds.
  48894. *
  48895. * - `duration`: The duration of the animation in milliseconds.
  48896. *
  48897. * - `easing`: Can be a string reference to an easing function set on the `Math`
  48898. * object or a function. See the _Custom easing function_ demo below.
  48899. *
  48900. * Due to poor performance, animation is disabled in old IE browsers for several
  48901. * chart types.
  48902. */
  48903. export interface PlotKeltnerchannelsAnimationOptions {
  48904. defer?: number;
  48905. }
  48906. /**
  48907. * (Highstock) Bottom line options.
  48908. */
  48909. export interface PlotKeltnerchannelsBottomLineOptions {
  48910. /**
  48911. * (Highstock) Styles for a bottom line.
  48912. */
  48913. styles?: PlotKeltnerchannelsBottomLineStylesOptions;
  48914. }
  48915. /**
  48916. * (Highstock) Styles for a bottom line.
  48917. */
  48918. export interface PlotKeltnerchannelsBottomLineStylesOptions {
  48919. /**
  48920. * (Highstock) Color of the line. If not set, it's inherited from
  48921. * `plotOptions.keltnerchannels.color`
  48922. */
  48923. lineColor?: string;
  48924. /**
  48925. * (Highstock) Pixel width of the line.
  48926. */
  48927. lineWidth?: number;
  48928. }
  48929. /**
  48930. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  48931. * animation when a series is displayed for the `dataLabels`. The animation can
  48932. * also be set as a configuration object. Please note that this option only
  48933. * applies to the initial animation. For other animations, see chart.animation
  48934. * and the animation parameter under the API methods. The following properties
  48935. * are supported:
  48936. *
  48937. * - `defer`: The animation delay time in milliseconds.
  48938. */
  48939. export interface PlotKeltnerchannelsDataLabelsAnimationOptions {
  48940. /**
  48941. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  48942. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  48943. * inherits defer time from the series.animation.defer.
  48944. */
  48945. defer?: number;
  48946. }
  48947. /**
  48948. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  48949. * appearing next to each data point.
  48950. *
  48951. * Since v6.2.0, multiple data labels can be applied to each single point by
  48952. * defining them as an array of configs.
  48953. *
  48954. * In styled mode, the data labels can be styled with the
  48955. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  48956. * example).
  48957. */
  48958. export interface PlotKeltnerchannelsDataLabelsOptions {
  48959. /**
  48960. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  48961. * compared to the point. If `right`, the right side of the label should be
  48962. * touching the point. For points with an extent, like columns, the
  48963. * alignments also dictates how to align it inside the box, as given with
  48964. * the inside option. Can be one of `left`, `center` or `right`.
  48965. */
  48966. align?: (AlignValue|null);
  48967. /**
  48968. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  48969. * overlap. To make the labels less sensitive for overlapping, the
  48970. * dataLabels.padding can be set to 0.
  48971. */
  48972. allowOverlap?: boolean;
  48973. /**
  48974. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  48975. * animation when a series is displayed for the `dataLabels`. The animation
  48976. * can also be set as a configuration object. Please note that this option
  48977. * only applies to the initial animation. For other animations, see
  48978. * chart.animation and the animation parameter under the API methods. The
  48979. * following properties are supported:
  48980. *
  48981. * - `defer`: The animation delay time in milliseconds.
  48982. */
  48983. animation?: (boolean|PlotKeltnerchannelsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  48984. /**
  48985. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  48986. * for the data label.
  48987. */
  48988. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  48989. /**
  48990. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  48991. * label. Defaults to `undefined`.
  48992. */
  48993. borderColor?: (ColorString|GradientColorObject|PatternObject);
  48994. /**
  48995. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  48996. * the data label.
  48997. */
  48998. borderRadius?: number;
  48999. /**
  49000. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  49001. * the data label.
  49002. */
  49003. borderWidth?: number;
  49004. /**
  49005. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  49006. * Particularly in styled mode, this can be used to give each series' or
  49007. * point's data label unique styling. In addition to this option, a default
  49008. * color class name is added so that we can give the labels a contrast text
  49009. * shadow.
  49010. */
  49011. className?: string;
  49012. /**
  49013. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  49014. * labels. Defaults to `undefined`. For certain series types, like column or
  49015. * map, the data labels can be drawn inside the points. In this case the
  49016. * data label will be drawn with maximum contrast by default. Additionally,
  49017. * it will be given a `text-outline` style with the opposite color, to
  49018. * further increase the contrast. This can be overridden by setting the
  49019. * `text-outline` style to `none` in the `dataLabels.style` option.
  49020. */
  49021. color?: (ColorString|GradientColorObject|PatternObject);
  49022. /**
  49023. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  49024. * are outside the plot area. By default, the data label is moved inside the
  49025. * plot area according to the overflow option.
  49026. */
  49027. crop?: boolean;
  49028. /**
  49029. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  49030. * labels until the initial series animation has finished. Setting to
  49031. * `false` renders the data label immediately. If set to `true` inherits the
  49032. * defer time set in plotOptions.series.animation.
  49033. */
  49034. defer?: boolean;
  49035. /**
  49036. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  49037. * labels.
  49038. */
  49039. enabled?: boolean;
  49040. /**
  49041. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  49042. * of which data labels to display. The declarative filter is designed for
  49043. * use when callback functions are not available, like when the chart
  49044. * options require a pure JSON structure or for use with graphical editors.
  49045. * For programmatic control, use the `formatter` instead, and return
  49046. * `undefined` to disable a single data label.
  49047. */
  49048. filter?: DataLabelsFilterOptionsObject;
  49049. /**
  49050. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  49051. * label. Available variables are the same as for `formatter`.
  49052. */
  49053. format?: string;
  49054. /**
  49055. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  49056. * format the data label. Note that if a `format` is defined, the format
  49057. * takes precedence and the formatter is ignored.
  49058. */
  49059. formatter?: DataLabelsFormatterCallbackFunction;
  49060. /**
  49061. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  49062. * columns or map areas, whether to align the data label inside the box or
  49063. * to the actual value point. Defaults to `false` in most cases, `true` in
  49064. * stacked columns.
  49065. */
  49066. inside?: boolean;
  49067. /**
  49068. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  49069. * of null. Works analogously to format. `nullFormat` can be applied only to
  49070. * series which support displaying null points.
  49071. */
  49072. nullFormat?: (boolean|string);
  49073. /**
  49074. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  49075. * that defines formatting for points with the value of null. Works
  49076. * analogously to formatter. `nullPointFormatter` can be applied only to
  49077. * series which support displaying null points.
  49078. */
  49079. nullFormatter?: DataLabelsFormatterCallbackFunction;
  49080. /**
  49081. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  49082. * flow outside the plot area. The default is `"justify"`, which aligns them
  49083. * inside the plot area. For columns and bars, this means it will be moved
  49084. * inside the bar. To display data labels outside the plot area, set `crop`
  49085. * to `false` and `overflow` to `"allow"`.
  49086. */
  49087. overflow?: DataLabelsOverflowValue;
  49088. /**
  49089. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  49090. * the `backgroundColor` is set, this is the padding within the box.
  49091. */
  49092. padding?: number;
  49093. /**
  49094. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  49095. * points. If `center` alignment is not possible, it defaults to `right`.
  49096. */
  49097. position?: AlignValue;
  49098. /**
  49099. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  49100. * that due to a more complex structure, backgrounds, borders and padding
  49101. * will be lost on a rotated data label.
  49102. */
  49103. rotation?: number;
  49104. /**
  49105. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  49106. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  49107. * an object configuration containing `color`, `offsetX`, `offsetY`,
  49108. * `opacity` and `width`.
  49109. */
  49110. shadow?: (boolean|ShadowOptionsObject);
  49111. /**
  49112. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  49113. * the border around the label. Symbols are predefined functions on the
  49114. * Renderer object.
  49115. */
  49116. shape?: string;
  49117. /**
  49118. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  49119. * default `color` setting is `"contrast"`, which is a pseudo color that
  49120. * Highcharts picks up and applies the maximum contrast to the underlying
  49121. * point item, for example the bar in a bar chart.
  49122. *
  49123. * The `textOutline` is a pseudo property that applies an outline of the
  49124. * given width with the given color, which by default is the maximum
  49125. * contrast to the text. So a bright text color will result in a black text
  49126. * outline for maximum readability on a mixed background. In some cases,
  49127. * especially with grayscale text, the text outline doesn't work well, in
  49128. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  49129. * is true, the `textOutline` will not be picked up. In this, case, the same
  49130. * effect can be acheived through the `text-shadow` CSS property.
  49131. *
  49132. * For some series types, where each point has an extent, like for example
  49133. * tree maps, the data label may overflow the point. There are two
  49134. * strategies for handling overflow. By default, the text will wrap to
  49135. * multiple lines. The other strategy is to set `style.textOverflow` to
  49136. * `ellipsis`, which will keep the text on one line plus it will break
  49137. * inside long words.
  49138. */
  49139. style?: CSSObject;
  49140. /**
  49141. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  49142. * should follow marker's shape. Border and background are disabled for a
  49143. * label that follows a path.
  49144. *
  49145. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  49146. * to true will disable this option.
  49147. */
  49148. textPath?: DataLabelsTextPathOptionsObject;
  49149. /**
  49150. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  49151. * the labels.
  49152. */
  49153. useHTML?: boolean;
  49154. /**
  49155. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  49156. * label. Can be one of `top`, `middle` or `bottom`. The default value
  49157. * depends on the data, for instance in a column chart, the label is above
  49158. * positive values and below negative values.
  49159. */
  49160. verticalAlign?: (VerticalAlignValue|null);
  49161. /**
  49162. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  49163. * label relative to the point in pixels.
  49164. */
  49165. x?: number;
  49166. /**
  49167. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  49168. * label relative to the point in pixels.
  49169. */
  49170. y?: number;
  49171. /**
  49172. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  49173. * The default Z index puts it above the series. Use a Z index of 2 to
  49174. * display it behind the series.
  49175. */
  49176. z?: number;
  49177. }
  49178. /**
  49179. * (Highcharts, Highstock) Options for the series data sorting.
  49180. */
  49181. export interface PlotKeltnerchannelsDataSortingOptions {
  49182. /**
  49183. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  49184. * Use xAxis.reversed to change the sorting order.
  49185. */
  49186. enabled?: boolean;
  49187. /**
  49188. * (Highcharts, Highstock) Whether to allow matching points by name in an
  49189. * update. If this option is disabled, points will be matched by order.
  49190. */
  49191. matchByName?: boolean;
  49192. /**
  49193. * (Highcharts, Highstock) Determines what data value should be used to sort
  49194. * by.
  49195. */
  49196. sortKey?: string;
  49197. }
  49198. /**
  49199. * (Highstock) Keltner Channels. This series requires the `linkedTo` option to
  49200. * be set and should be loaded after the `stock/indicators/indicators.js`,
  49201. * `stock/indicators/atr.js`, and `stock/ema/.js`.
  49202. *
  49203. * In TypeScript the type option must always be set.
  49204. *
  49205. * Configuration options for the series are given in three levels:
  49206. *
  49207. * 1. Options for all series in a chart are defined in the plotOptions.series
  49208. * object.
  49209. *
  49210. * 2. Options for all `keltnerchannels` series are defined in
  49211. * plotOptions.keltnerchannels.
  49212. *
  49213. * 3. Options for one single series are given in the series instance array. (see
  49214. * online documentation for example)
  49215. */
  49216. export interface PlotKeltnerchannelsOptions {
  49217. /**
  49218. * (Highstock) Accessibility options for a series.
  49219. */
  49220. accessibility?: SeriesAccessibilityOptionsObject;
  49221. /**
  49222. * (Highstock) Allow this series' points to be selected by clicking on the
  49223. * graphic (columns, point markers, pie slices, map areas etc).
  49224. *
  49225. * The selected points can be handled by point select and unselect events,
  49226. * or collectively by the getSelectedPoints function.
  49227. *
  49228. * And alternative way of selecting points is through dragging.
  49229. */
  49230. allowPointSelect?: boolean;
  49231. /**
  49232. * (Highstock) Enable or disable the initial animation when a series is
  49233. * displayed. The animation can also be set as a configuration object.
  49234. * Please note that this option only applies to the initial animation of the
  49235. * series itself. For other animations, see chart.animation and the
  49236. * animation parameter under the API methods. The following properties are
  49237. * supported:
  49238. *
  49239. * - `defer`: The animation delay time in milliseconds.
  49240. *
  49241. * - `duration`: The duration of the animation in milliseconds.
  49242. *
  49243. * - `easing`: Can be a string reference to an easing function set on the
  49244. * `Math` object or a function. See the _Custom easing function_ demo below.
  49245. *
  49246. * Due to poor performance, animation is disabled in old IE browsers for
  49247. * several chart types.
  49248. */
  49249. animation?: (boolean|PlotKeltnerchannelsAnimationOptions|Partial<AnimationOptionsObject>);
  49250. /**
  49251. * (Highstock) For some series, there is a limit that shuts down initial
  49252. * animation by default when the total number of points in the chart is too
  49253. * high. For example, for a column chart and its derivatives, animation does
  49254. * not run if there is more than 250 points totally. To disable this cap,
  49255. * set `animationLimit` to `Infinity`.
  49256. */
  49257. animationLimit?: number;
  49258. /**
  49259. * (Highstock) Sets the color blending in the boost module.
  49260. */
  49261. boostBlending?: OptionsBoostBlendingValue;
  49262. /**
  49263. * (Highstock) Set the point threshold for when a series should enter boost
  49264. * mode.
  49265. *
  49266. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  49267. * there are 2000 or more points in the series.
  49268. *
  49269. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  49270. * it to 1 will force boosting.
  49271. *
  49272. * Note that the cropThreshold also affects this setting. When zooming in on
  49273. * a series that has fewer points than the `cropThreshold`, all points are
  49274. * rendered although outside the visible plot area, and the `boostThreshold`
  49275. * won't take effect.
  49276. */
  49277. boostThreshold?: number;
  49278. /**
  49279. * (Highmaps) The border color of the map areas.
  49280. *
  49281. * In styled mode, the border stroke is given in the `.highcharts-point`
  49282. * class.
  49283. */
  49284. borderColor?: (ColorString|GradientColorObject|PatternObject);
  49285. /**
  49286. * (Highmaps) The border width of each map area.
  49287. *
  49288. * In styled mode, the border stroke width is given in the
  49289. * `.highcharts-point` class.
  49290. */
  49291. borderWidth?: number;
  49292. /**
  49293. * (Highstock) Bottom line options.
  49294. */
  49295. bottomLine?: PlotKeltnerchannelsBottomLineOptions;
  49296. /**
  49297. * (Highstock) An additional class name to apply to the series' graphical
  49298. * elements. This option does not replace default class names of the
  49299. * graphical element.
  49300. */
  49301. className?: string;
  49302. /**
  49303. * (Highstock) Disable this option to allow series rendering in the whole
  49304. * plotting area.
  49305. *
  49306. * **Note:** Clipping should be always enabled when chart.zoomType is set
  49307. */
  49308. clip?: boolean;
  49309. /**
  49310. * (Highstock) The main color of the series. In line type series it applies
  49311. * to the line and the point markers unless otherwise specified. In bar type
  49312. * series it applies to the bars unless a color is specified per point. The
  49313. * default value is pulled from the `options.colors` array.
  49314. *
  49315. * In styled mode, the color can be defined by the colorIndex option. Also,
  49316. * the series color can be set with the `.highcharts-series`,
  49317. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  49318. * `.highcharts-series-{n}` class, or individual classes given by the
  49319. * `className` option.
  49320. */
  49321. color?: (ColorString|GradientColorObject|PatternObject);
  49322. /**
  49323. * (Highstock) Styled mode only. A specific color index to use for the
  49324. * series, so its graphic representations are given the class name
  49325. * `highcharts-color-{n}`.
  49326. */
  49327. colorIndex?: number;
  49328. /**
  49329. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  49330. * used to calculate point color if `colorAxis` is used. Requires to set
  49331. * `min` and `max` if some custom point property is used or if approximation
  49332. * for data grouping is set to `'sum'`.
  49333. */
  49334. colorKey?: string;
  49335. /**
  49336. * (Highstock) Defines if comparison should start from the first point
  49337. * within the visible range or should start from the first point **before**
  49338. * the range.
  49339. *
  49340. * In other words, this flag determines if first point within the visible
  49341. * range will have 0% (`compareStart=true`) or should have been already
  49342. * calculated according to the previous point (`compareStart=false`).
  49343. */
  49344. compareStart?: boolean;
  49345. /**
  49346. * (Highstock) Whether to compare indicator to the main series values or
  49347. * indicator values.
  49348. */
  49349. compareToMain?: boolean;
  49350. /**
  49351. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  49352. * series plot across the extremes.
  49353. */
  49354. connectEnds?: boolean;
  49355. /**
  49356. * (Highcharts, Highstock) Whether to connect a graph line across null
  49357. * points, or render a gap between the two points on either side of the
  49358. * null.
  49359. */
  49360. connectNulls?: boolean;
  49361. /**
  49362. * (Gantt) Override Pathfinder connector options for a series. Requires
  49363. * Highcharts Gantt to be loaded.
  49364. */
  49365. connectors?: SeriesConnectorsOptionsObject;
  49366. /**
  49367. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  49368. * rounded to its nearest pixel in order to render sharp on screen. In some
  49369. * cases, when there are a lot of densely packed columns, this leads to
  49370. * visible difference in column widths or distance between columns. In these
  49371. * cases, setting `crisp` to `false` may look better, even though each
  49372. * column is rendered blurry.
  49373. */
  49374. crisp?: boolean;
  49375. /**
  49376. * (Highcharts, Highstock) When the series contains less points than the
  49377. * crop threshold, all points are drawn, even if the points fall outside the
  49378. * visible plot area at the current zoom. The advantage of drawing all
  49379. * points (including markers and columns), is that animation is performed on
  49380. * updates. On the other hand, when the series contains more points than the
  49381. * crop threshold, the series data is cropped to only contain points that
  49382. * fall within the plot area. The advantage of cropping away invisible
  49383. * points is to increase performance on large series.
  49384. */
  49385. cropThreshold?: number;
  49386. /**
  49387. * (Highstock) You can set the cursor to "pointer" if you have click events
  49388. * attached to the series, to signal to the user that the points and lines
  49389. * can be clicked.
  49390. *
  49391. * In styled mode, the series cursor can be set with the same classes as
  49392. * listed under series.color.
  49393. */
  49394. cursor?: (string|CursorValue);
  49395. /**
  49396. * (Highstock) A reserved subspace to store options and values for
  49397. * customized functionality. Here you can add additional data for your own
  49398. * event callbacks and formatter callbacks.
  49399. */
  49400. custom?: Dictionary<any>;
  49401. /**
  49402. * (Highstock) Name of the dash style to use for the graph, or for some
  49403. * series types the outline of each shape.
  49404. *
  49405. * In styled mode, the stroke dash-array can be set with the same classes as
  49406. * listed under series.color.
  49407. */
  49408. dashStyle?: DashStyleValue;
  49409. /**
  49410. * (Highstock) Data grouping is the concept of sampling the data values into
  49411. * larger blocks in order to ease readability and increase performance of
  49412. * the JavaScript charts. Highstock by default applies data grouping when
  49413. * the points become closer than a certain pixel value, determined by the
  49414. * `groupPixelWidth` option.
  49415. *
  49416. * If data grouping is applied, the grouping information of grouped points
  49417. * can be read from the Point.dataGroup. If point options other than the
  49418. * data itself are set, for example `name` or `color` or custom properties,
  49419. * the grouping logic doesn't know how to group it. In this case the options
  49420. * of the first point instance are copied over to the group point. This can
  49421. * be altered through a custom `approximation` callback function.
  49422. */
  49423. dataGrouping?: DataGroupingOptionsObject;
  49424. /**
  49425. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  49426. * labels, appearing next to each data point.
  49427. *
  49428. * Since v6.2.0, multiple data labels can be applied to each single point by
  49429. * defining them as an array of configs.
  49430. *
  49431. * In styled mode, the data labels can be styled with the
  49432. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  49433. * (see example).
  49434. */
  49435. dataLabels?: (PlotKeltnerchannelsDataLabelsOptions|Array<PlotKeltnerchannelsDataLabelsOptions>);
  49436. /**
  49437. * (Highcharts, Highstock) Options for the series data sorting.
  49438. */
  49439. dataSorting?: (DataSortingOptionsObject|PlotKeltnerchannelsDataSortingOptions);
  49440. /**
  49441. * (Highstock) A description of the series to add to the screen reader
  49442. * information about the series.
  49443. */
  49444. description?: string;
  49445. /**
  49446. * (Highstock) Enable or disable the mouse tracking for a specific series.
  49447. * This includes point tooltips and click events on graphs and points. For
  49448. * large datasets it improves performance.
  49449. */
  49450. enableMouseTracking?: boolean;
  49451. /**
  49452. * (Highstock) General event handlers for the series items. These event
  49453. * hooks can also be attached to the series at run time using the
  49454. * `Highcharts.addEvent` function.
  49455. */
  49456. events?: SeriesEventsOptionsObject;
  49457. /**
  49458. * (Highstock) Determines whether the series should look for the nearest
  49459. * point in both dimensions or just the x-dimension when hovering the
  49460. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  49461. * series. If the data has duplicate x-values, it is recommended to set this
  49462. * to `'xy'` to allow hovering over all points.
  49463. *
  49464. * Applies only to series types using nearest neighbor search (not direct
  49465. * hover) for tooltip.
  49466. */
  49467. findNearestPointBy?: OptionsFindNearestPointByValue;
  49468. /**
  49469. * (Highstock) Defines when to display a gap in the graph, together with the
  49470. * gapUnit option.
  49471. *
  49472. * In case when `dataGrouping` is enabled, points can be grouped into a
  49473. * larger time span. This can make the grouped points to have a greater
  49474. * distance than the absolute value of `gapSize` property, which will result
  49475. * in disappearing graph completely. To prevent this situation the mentioned
  49476. * distance between grouped points is used instead of previously defined
  49477. * `gapSize`.
  49478. *
  49479. * In practice, this option is most often used to visualize gaps in time
  49480. * series. In a stock chart, intraday data is available for daytime hours,
  49481. * while gaps will appear in nights and weekends.
  49482. */
  49483. gapSize?: number;
  49484. /**
  49485. * (Highstock) Together with gapSize, this option defines where to draw gaps
  49486. * in the graph.
  49487. *
  49488. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  49489. * if the distance between two points is greater than 5 times that of the
  49490. * two closest points, the graph will be broken.
  49491. *
  49492. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  49493. * values, which on a datetime axis is milliseconds. This also applies to
  49494. * the navigator series that inherits gap options from the base series.
  49495. */
  49496. gapUnit?: OptionsGapUnitValue;
  49497. /**
  49498. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  49499. * chart width or only the zoomed area when zooming in on parts of the X
  49500. * axis. By default, the Y axis adjusts to the min and max of the visible
  49501. * data. Cartesian series only.
  49502. */
  49503. getExtremesFromAll?: boolean;
  49504. /**
  49505. * (Highstock) When set to `false` will prevent the series data from being
  49506. * included in any form of data export.
  49507. *
  49508. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  49509. * `includeInCSVExport`.
  49510. */
  49511. includeInDataExport?: boolean;
  49512. /**
  49513. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  49514. * series as possible in a natural way, seeking to avoid other series. The
  49515. * goal of this feature is to make the chart more easily readable, like if a
  49516. * human designer placed the labels in the optimal position.
  49517. *
  49518. * The series labels currently work with series types having a `graph` or an
  49519. * `area`.
  49520. */
  49521. label?: SeriesLabelOptionsObject;
  49522. /**
  49523. * (Highstock) The line marks the last price from all points.
  49524. */
  49525. lastPrice?: SeriesLastPriceOptionsObject;
  49526. /**
  49527. * (Highstock) The line marks the last price from visible range of points.
  49528. */
  49529. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  49530. /**
  49531. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  49532. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  49533. * the ends and bends.
  49534. */
  49535. linecap?: SeriesLinecapValue;
  49536. /**
  49537. * (Highcharts, Highstock) Pixel width of the graph line.
  49538. */
  49539. lineWidth?: number;
  49540. /**
  49541. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  49542. * based on. Required for this indicator.
  49543. */
  49544. linkedTo?: string;
  49545. /**
  49546. * (Highstock) Options for the point markers of line-like series. Properties
  49547. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  49548. * appearance of the markers. Other series types, like column series, don't
  49549. * have markers, but have visual options on the series level instead.
  49550. *
  49551. * In styled mode, the markers can be styled with the `.highcharts-point`,
  49552. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  49553. */
  49554. marker?: PointMarkerOptionsObject;
  49555. /**
  49556. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  49557. * If not set, it will be based on a technical indicator type and default
  49558. * params.
  49559. */
  49560. name?: string;
  49561. /**
  49562. * (Highstock) The color for the parts of the graph or points that are below
  49563. * the threshold. Note that `zones` takes precedence over the negative
  49564. * color. Using `negativeColor` is equivalent to applying a zone with value
  49565. * of 0.
  49566. */
  49567. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  49568. /**
  49569. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  49570. * dataLabels.
  49571. */
  49572. opacity?: number;
  49573. /**
  49574. * (Highstock) Paramters used in calculation of regression series' points.
  49575. */
  49576. params?: PlotKeltnerchannelsParamsOptions;
  49577. /**
  49578. * (Highstock) Properties for each single point.
  49579. */
  49580. point?: PlotSeriesPointOptions;
  49581. /**
  49582. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  49583. * individual series. Overrides the chart wide configuration.
  49584. */
  49585. pointDescriptionFormatter?: Function;
  49586. /**
  49587. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  49588. * true, the checkbox next to the series name in the legend will be checked
  49589. * for a selected series.
  49590. */
  49591. selected?: boolean;
  49592. /**
  49593. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  49594. * the shadow can be an object configuration containing `color`, `offsetX`,
  49595. * `offsetY`, `opacity` and `width`.
  49596. */
  49597. shadow?: (boolean|ShadowOptionsObject);
  49598. /**
  49599. * (Highstock) If true, a checkbox is displayed next to the legend item to
  49600. * allow selecting the series. The state of the checkbox is determined by
  49601. * the `selected` option.
  49602. */
  49603. showCheckbox?: boolean;
  49604. /**
  49605. * (Highstock) Whether to display this particular series or series type in
  49606. * the legend. Standalone series are shown in legend by default, and linked
  49607. * series are not. Since v7.2.0 it is possible to show series that use
  49608. * colorAxis by setting this option to `true`.
  49609. */
  49610. showInLegend?: boolean;
  49611. /**
  49612. * (Highstock) If set to `true`, the accessibility module will skip past the
  49613. * points in this series for keyboard navigation.
  49614. */
  49615. skipKeyboardNavigation?: boolean;
  49616. /**
  49617. * (Highcharts, Highstock) When this is true, the series will not cause the
  49618. * Y axis to cross the zero plane (or threshold option) unless the data
  49619. * actually crosses the plane.
  49620. *
  49621. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  49622. * make the Y axis show negative values according to the `minPadding`
  49623. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  49624. */
  49625. softThreshold?: boolean;
  49626. states?: SeriesStatesOptionsObject;
  49627. /**
  49628. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  49629. * values are `left`, `center` and `right`.
  49630. */
  49631. step?: OptionsStepValue;
  49632. /**
  49633. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  49634. * event on a series isn't triggered until the mouse moves over another
  49635. * series, or out of the plot area. When false, the `mouseOut` event on a
  49636. * series is triggered when the mouse leaves the area around the series'
  49637. * graph or markers. This also implies the tooltip when not shared. When
  49638. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  49639. * be hidden when moving the mouse between series. Defaults to true for line
  49640. * and area type series, but to false for columns, pies etc.
  49641. *
  49642. * **Note:** The boost module will force this option because of technical
  49643. * limitations.
  49644. */
  49645. stickyTracking?: boolean;
  49646. /**
  49647. * (Highcharts, Highstock) The threshold, also called zero level or base
  49648. * level. For line type series this is only used in conjunction with
  49649. * negativeColor.
  49650. */
  49651. threshold?: number;
  49652. /**
  49653. * (Highstock) A configuration object for the tooltip rendering of each
  49654. * single series. Properties are inherited from tooltip, but only the
  49655. * following properties can be defined on a series level.
  49656. */
  49657. tooltip?: SeriesTooltipOptionsObject;
  49658. /**
  49659. * (Highstock) Top line options.
  49660. */
  49661. topLine?: PlotKeltnerchannelsTopLineOptions;
  49662. /**
  49663. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  49664. * is longer than this, only one dimensional arrays of numbers, or two
  49665. * dimensional arrays with x and y values are allowed. Also, only the first
  49666. * point is tested, and the rest are assumed to be the same format. This
  49667. * saves expensive data checking and indexing in long series. Set it to `0`
  49668. * disable.
  49669. *
  49670. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  49671. * two dimensional arrays are allowed.
  49672. */
  49673. turboThreshold?: number;
  49674. /**
  49675. * (Highstock) Set the initial visibility of the series.
  49676. */
  49677. visible?: boolean;
  49678. /**
  49679. * (Highmaps) Define the z index of the series.
  49680. */
  49681. zIndex?: number;
  49682. /**
  49683. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  49684. */
  49685. zoneAxis?: string;
  49686. /**
  49687. * (Highcharts, Highstock) An array defining zones within a series. Zones
  49688. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  49689. * the `zoneAxis` option. The zone definitions have to be in ascending order
  49690. * regarding to the value.
  49691. *
  49692. * In styled mode, the color zones are styled with the
  49693. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  49694. * option (view live demo).
  49695. */
  49696. zones?: Array<SeriesZonesOptionsObject>;
  49697. }
  49698. /**
  49699. * (Highstock) Paramters used in calculation of regression series' points.
  49700. */
  49701. export interface PlotKeltnerchannelsParamsOptions {
  49702. /**
  49703. * (Highstock) The point index which indicator calculations will base. For
  49704. * example using OHLC data, index=2 means the indicator will be calculated
  49705. * using Low values.
  49706. */
  49707. index?: number;
  49708. /**
  49709. * (Highstock) The ATR multiplier.
  49710. */
  49711. multiplierATR?: number;
  49712. /**
  49713. * (Highstock) The base period for indicator calculations. This is the
  49714. * number of data points which are taken into account for the indicator
  49715. * calculations.
  49716. */
  49717. period?: number;
  49718. /**
  49719. * (Highstock) The ATR period.
  49720. */
  49721. periodATR?: number;
  49722. }
  49723. /**
  49724. * (Highstock) Top line options.
  49725. */
  49726. export interface PlotKeltnerchannelsTopLineOptions {
  49727. /**
  49728. * (Highstock) Styles for a bottom line.
  49729. */
  49730. styles?: PlotKeltnerchannelsTopLineStylesOptions;
  49731. }
  49732. /**
  49733. * (Highstock) Styles for a bottom line.
  49734. */
  49735. export interface PlotKeltnerchannelsTopLineStylesOptions {
  49736. /**
  49737. * (Highstock) Color of the line. If not set, it's inherited from
  49738. * `plotOptions.keltnerchannels.color`
  49739. */
  49740. lineColor?: string;
  49741. /**
  49742. * (Highstock) Pixel width of the line.
  49743. */
  49744. lineWidth?: number;
  49745. }
  49746. /**
  49747. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  49748. * is displayed. The animation can also be set as a configuration object. Please
  49749. * note that this option only applies to the initial animation of the series
  49750. * itself. For other animations, see chart.animation and the animation parameter
  49751. * under the API methods. The following properties are supported:
  49752. *
  49753. * - `defer`: The animation delay time in milliseconds.
  49754. *
  49755. * - `duration`: The duration of the animation in milliseconds.
  49756. *
  49757. * - `easing`: Can be a string reference to an easing function set on the `Math`
  49758. * object or a function. See the _Custom easing function_ demo below.
  49759. *
  49760. * Due to poor performance, animation is disabled in old IE browsers for several
  49761. * chart types.
  49762. */
  49763. export interface PlotLineAnimationOptions {
  49764. defer?: number;
  49765. }
  49766. /**
  49767. * (Highstock) Enable or disable the initial animation when a series is
  49768. * displayed. The animation can also be set as a configuration object. Please
  49769. * note that this option only applies to the initial animation of the series
  49770. * itself. For other animations, see chart.animation and the animation parameter
  49771. * under the API methods. The following properties are supported:
  49772. *
  49773. * - `defer`: The animation delay time in milliseconds.
  49774. *
  49775. * - `duration`: The duration of the animation in milliseconds.
  49776. *
  49777. * - `easing`: Can be a string reference to an easing function set on the `Math`
  49778. * object or a function. See the _Custom easing function_ demo below.
  49779. *
  49780. * Due to poor performance, animation is disabled in old IE browsers for several
  49781. * chart types.
  49782. */
  49783. export interface PlotLinearregressionangleAnimationOptions {
  49784. defer?: number;
  49785. }
  49786. /**
  49787. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  49788. * animation when a series is displayed for the `dataLabels`. The animation can
  49789. * also be set as a configuration object. Please note that this option only
  49790. * applies to the initial animation. For other animations, see chart.animation
  49791. * and the animation parameter under the API methods. The following properties
  49792. * are supported:
  49793. *
  49794. * - `defer`: The animation delay time in milliseconds.
  49795. */
  49796. export interface PlotLinearregressionangleDataLabelsAnimationOptions {
  49797. /**
  49798. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  49799. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  49800. * inherits defer time from the series.animation.defer.
  49801. */
  49802. defer?: number;
  49803. }
  49804. /**
  49805. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  49806. * appearing next to each data point.
  49807. *
  49808. * Since v6.2.0, multiple data labels can be applied to each single point by
  49809. * defining them as an array of configs.
  49810. *
  49811. * In styled mode, the data labels can be styled with the
  49812. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  49813. * example).
  49814. */
  49815. export interface PlotLinearregressionangleDataLabelsOptions {
  49816. /**
  49817. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  49818. * compared to the point. If `right`, the right side of the label should be
  49819. * touching the point. For points with an extent, like columns, the
  49820. * alignments also dictates how to align it inside the box, as given with
  49821. * the inside option. Can be one of `left`, `center` or `right`.
  49822. */
  49823. align?: (AlignValue|null);
  49824. /**
  49825. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  49826. * overlap. To make the labels less sensitive for overlapping, the
  49827. * dataLabels.padding can be set to 0.
  49828. */
  49829. allowOverlap?: boolean;
  49830. /**
  49831. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  49832. * animation when a series is displayed for the `dataLabels`. The animation
  49833. * can also be set as a configuration object. Please note that this option
  49834. * only applies to the initial animation. For other animations, see
  49835. * chart.animation and the animation parameter under the API methods. The
  49836. * following properties are supported:
  49837. *
  49838. * - `defer`: The animation delay time in milliseconds.
  49839. */
  49840. animation?: (boolean|PlotLinearregressionangleDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  49841. /**
  49842. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  49843. * for the data label.
  49844. */
  49845. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  49846. /**
  49847. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  49848. * label. Defaults to `undefined`.
  49849. */
  49850. borderColor?: (ColorString|GradientColorObject|PatternObject);
  49851. /**
  49852. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  49853. * the data label.
  49854. */
  49855. borderRadius?: number;
  49856. /**
  49857. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  49858. * the data label.
  49859. */
  49860. borderWidth?: number;
  49861. /**
  49862. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  49863. * Particularly in styled mode, this can be used to give each series' or
  49864. * point's data label unique styling. In addition to this option, a default
  49865. * color class name is added so that we can give the labels a contrast text
  49866. * shadow.
  49867. */
  49868. className?: string;
  49869. /**
  49870. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  49871. * labels. Defaults to `undefined`. For certain series types, like column or
  49872. * map, the data labels can be drawn inside the points. In this case the
  49873. * data label will be drawn with maximum contrast by default. Additionally,
  49874. * it will be given a `text-outline` style with the opposite color, to
  49875. * further increase the contrast. This can be overridden by setting the
  49876. * `text-outline` style to `none` in the `dataLabels.style` option.
  49877. */
  49878. color?: (ColorString|GradientColorObject|PatternObject);
  49879. /**
  49880. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  49881. * are outside the plot area. By default, the data label is moved inside the
  49882. * plot area according to the overflow option.
  49883. */
  49884. crop?: boolean;
  49885. /**
  49886. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  49887. * labels until the initial series animation has finished. Setting to
  49888. * `false` renders the data label immediately. If set to `true` inherits the
  49889. * defer time set in plotOptions.series.animation.
  49890. */
  49891. defer?: boolean;
  49892. /**
  49893. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  49894. * labels.
  49895. */
  49896. enabled?: boolean;
  49897. /**
  49898. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  49899. * of which data labels to display. The declarative filter is designed for
  49900. * use when callback functions are not available, like when the chart
  49901. * options require a pure JSON structure or for use with graphical editors.
  49902. * For programmatic control, use the `formatter` instead, and return
  49903. * `undefined` to disable a single data label.
  49904. */
  49905. filter?: DataLabelsFilterOptionsObject;
  49906. /**
  49907. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  49908. * label. Available variables are the same as for `formatter`.
  49909. */
  49910. format?: string;
  49911. /**
  49912. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  49913. * format the data label. Note that if a `format` is defined, the format
  49914. * takes precedence and the formatter is ignored.
  49915. */
  49916. formatter?: DataLabelsFormatterCallbackFunction;
  49917. /**
  49918. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  49919. * columns or map areas, whether to align the data label inside the box or
  49920. * to the actual value point. Defaults to `false` in most cases, `true` in
  49921. * stacked columns.
  49922. */
  49923. inside?: boolean;
  49924. /**
  49925. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  49926. * of null. Works analogously to format. `nullFormat` can be applied only to
  49927. * series which support displaying null points.
  49928. */
  49929. nullFormat?: (boolean|string);
  49930. /**
  49931. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  49932. * that defines formatting for points with the value of null. Works
  49933. * analogously to formatter. `nullPointFormatter` can be applied only to
  49934. * series which support displaying null points.
  49935. */
  49936. nullFormatter?: DataLabelsFormatterCallbackFunction;
  49937. /**
  49938. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  49939. * flow outside the plot area. The default is `"justify"`, which aligns them
  49940. * inside the plot area. For columns and bars, this means it will be moved
  49941. * inside the bar. To display data labels outside the plot area, set `crop`
  49942. * to `false` and `overflow` to `"allow"`.
  49943. */
  49944. overflow?: DataLabelsOverflowValue;
  49945. /**
  49946. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  49947. * the `backgroundColor` is set, this is the padding within the box.
  49948. */
  49949. padding?: number;
  49950. /**
  49951. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  49952. * points. If `center` alignment is not possible, it defaults to `right`.
  49953. */
  49954. position?: AlignValue;
  49955. /**
  49956. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  49957. * that due to a more complex structure, backgrounds, borders and padding
  49958. * will be lost on a rotated data label.
  49959. */
  49960. rotation?: number;
  49961. /**
  49962. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  49963. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  49964. * an object configuration containing `color`, `offsetX`, `offsetY`,
  49965. * `opacity` and `width`.
  49966. */
  49967. shadow?: (boolean|ShadowOptionsObject);
  49968. /**
  49969. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  49970. * the border around the label. Symbols are predefined functions on the
  49971. * Renderer object.
  49972. */
  49973. shape?: string;
  49974. /**
  49975. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  49976. * default `color` setting is `"contrast"`, which is a pseudo color that
  49977. * Highcharts picks up and applies the maximum contrast to the underlying
  49978. * point item, for example the bar in a bar chart.
  49979. *
  49980. * The `textOutline` is a pseudo property that applies an outline of the
  49981. * given width with the given color, which by default is the maximum
  49982. * contrast to the text. So a bright text color will result in a black text
  49983. * outline for maximum readability on a mixed background. In some cases,
  49984. * especially with grayscale text, the text outline doesn't work well, in
  49985. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  49986. * is true, the `textOutline` will not be picked up. In this, case, the same
  49987. * effect can be acheived through the `text-shadow` CSS property.
  49988. *
  49989. * For some series types, where each point has an extent, like for example
  49990. * tree maps, the data label may overflow the point. There are two
  49991. * strategies for handling overflow. By default, the text will wrap to
  49992. * multiple lines. The other strategy is to set `style.textOverflow` to
  49993. * `ellipsis`, which will keep the text on one line plus it will break
  49994. * inside long words.
  49995. */
  49996. style?: CSSObject;
  49997. /**
  49998. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  49999. * should follow marker's shape. Border and background are disabled for a
  50000. * label that follows a path.
  50001. *
  50002. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  50003. * to true will disable this option.
  50004. */
  50005. textPath?: DataLabelsTextPathOptionsObject;
  50006. /**
  50007. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  50008. * the labels.
  50009. */
  50010. useHTML?: boolean;
  50011. /**
  50012. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  50013. * label. Can be one of `top`, `middle` or `bottom`. The default value
  50014. * depends on the data, for instance in a column chart, the label is above
  50015. * positive values and below negative values.
  50016. */
  50017. verticalAlign?: (VerticalAlignValue|null);
  50018. /**
  50019. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  50020. * label relative to the point in pixels.
  50021. */
  50022. x?: number;
  50023. /**
  50024. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  50025. * label relative to the point in pixels.
  50026. */
  50027. y?: number;
  50028. /**
  50029. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  50030. * The default Z index puts it above the series. Use a Z index of 2 to
  50031. * display it behind the series.
  50032. */
  50033. z?: number;
  50034. }
  50035. /**
  50036. * (Highcharts, Highstock) Options for the series data sorting.
  50037. */
  50038. export interface PlotLinearregressionangleDataSortingOptions {
  50039. /**
  50040. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  50041. * Use xAxis.reversed to change the sorting order.
  50042. */
  50043. enabled?: boolean;
  50044. /**
  50045. * (Highcharts, Highstock) Whether to allow matching points by name in an
  50046. * update. If this option is disabled, points will be matched by order.
  50047. */
  50048. matchByName?: boolean;
  50049. /**
  50050. * (Highcharts, Highstock) Determines what data value should be used to sort
  50051. * by.
  50052. */
  50053. sortKey?: string;
  50054. }
  50055. /**
  50056. * (Highstock) Linear regression angle indicator. This series requires
  50057. * `linkedTo` option to be set.
  50058. *
  50059. * In TypeScript the type option must always be set.
  50060. *
  50061. * Configuration options for the series are given in three levels:
  50062. *
  50063. * 1. Options for all series in a chart are defined in the plotOptions.series
  50064. * object.
  50065. *
  50066. * 2. Options for all `linearregressionangle` series are defined in
  50067. * plotOptions.linearregressionangle.
  50068. *
  50069. * 3. Options for one single series are given in the series instance array. (see
  50070. * online documentation for example)
  50071. */
  50072. export interface PlotLinearregressionangleOptions {
  50073. /**
  50074. * (Highstock) Accessibility options for a series.
  50075. */
  50076. accessibility?: SeriesAccessibilityOptionsObject;
  50077. /**
  50078. * (Highstock) Allow this series' points to be selected by clicking on the
  50079. * graphic (columns, point markers, pie slices, map areas etc).
  50080. *
  50081. * The selected points can be handled by point select and unselect events,
  50082. * or collectively by the getSelectedPoints function.
  50083. *
  50084. * And alternative way of selecting points is through dragging.
  50085. */
  50086. allowPointSelect?: boolean;
  50087. /**
  50088. * (Highstock) Enable or disable the initial animation when a series is
  50089. * displayed. The animation can also be set as a configuration object.
  50090. * Please note that this option only applies to the initial animation of the
  50091. * series itself. For other animations, see chart.animation and the
  50092. * animation parameter under the API methods. The following properties are
  50093. * supported:
  50094. *
  50095. * - `defer`: The animation delay time in milliseconds.
  50096. *
  50097. * - `duration`: The duration of the animation in milliseconds.
  50098. *
  50099. * - `easing`: Can be a string reference to an easing function set on the
  50100. * `Math` object or a function. See the _Custom easing function_ demo below.
  50101. *
  50102. * Due to poor performance, animation is disabled in old IE browsers for
  50103. * several chart types.
  50104. */
  50105. animation?: (boolean|PlotLinearregressionangleAnimationOptions|Partial<AnimationOptionsObject>);
  50106. /**
  50107. * (Highstock) For some series, there is a limit that shuts down initial
  50108. * animation by default when the total number of points in the chart is too
  50109. * high. For example, for a column chart and its derivatives, animation does
  50110. * not run if there is more than 250 points totally. To disable this cap,
  50111. * set `animationLimit` to `Infinity`.
  50112. */
  50113. animationLimit?: number;
  50114. /**
  50115. * (Highstock) Sets the color blending in the boost module.
  50116. */
  50117. boostBlending?: OptionsBoostBlendingValue;
  50118. /**
  50119. * (Highstock) Set the point threshold for when a series should enter boost
  50120. * mode.
  50121. *
  50122. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  50123. * there are 2000 or more points in the series.
  50124. *
  50125. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  50126. * it to 1 will force boosting.
  50127. *
  50128. * Note that the cropThreshold also affects this setting. When zooming in on
  50129. * a series that has fewer points than the `cropThreshold`, all points are
  50130. * rendered although outside the visible plot area, and the `boostThreshold`
  50131. * won't take effect.
  50132. */
  50133. boostThreshold?: number;
  50134. /**
  50135. * (Highmaps) The border color of the map areas.
  50136. *
  50137. * In styled mode, the border stroke is given in the `.highcharts-point`
  50138. * class.
  50139. */
  50140. borderColor?: (ColorString|GradientColorObject|PatternObject);
  50141. /**
  50142. * (Highmaps) The border width of each map area.
  50143. *
  50144. * In styled mode, the border stroke width is given in the
  50145. * `.highcharts-point` class.
  50146. */
  50147. borderWidth?: number;
  50148. /**
  50149. * (Highstock) An additional class name to apply to the series' graphical
  50150. * elements. This option does not replace default class names of the
  50151. * graphical element.
  50152. */
  50153. className?: string;
  50154. /**
  50155. * (Highstock) Disable this option to allow series rendering in the whole
  50156. * plotting area.
  50157. *
  50158. * **Note:** Clipping should be always enabled when chart.zoomType is set
  50159. */
  50160. clip?: boolean;
  50161. /**
  50162. * (Highstock) The main color of the series. In line type series it applies
  50163. * to the line and the point markers unless otherwise specified. In bar type
  50164. * series it applies to the bars unless a color is specified per point. The
  50165. * default value is pulled from the `options.colors` array.
  50166. *
  50167. * In styled mode, the color can be defined by the colorIndex option. Also,
  50168. * the series color can be set with the `.highcharts-series`,
  50169. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  50170. * `.highcharts-series-{n}` class, or individual classes given by the
  50171. * `className` option.
  50172. */
  50173. color?: (ColorString|GradientColorObject|PatternObject);
  50174. /**
  50175. * (Highstock) Styled mode only. A specific color index to use for the
  50176. * series, so its graphic representations are given the class name
  50177. * `highcharts-color-{n}`.
  50178. */
  50179. colorIndex?: number;
  50180. /**
  50181. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  50182. * used to calculate point color if `colorAxis` is used. Requires to set
  50183. * `min` and `max` if some custom point property is used or if approximation
  50184. * for data grouping is set to `'sum'`.
  50185. */
  50186. colorKey?: string;
  50187. /**
  50188. * (Highstock) Compare the values of the series against the first non-null,
  50189. * non- zero value in the visible range. The y axis will show percentage or
  50190. * absolute change depending on whether `compare` is set to `"percent"` or
  50191. * `"value"`. When this is applied to multiple series, it allows comparing
  50192. * the development of the series against each other. Adds a `change` field
  50193. * to every point object.
  50194. */
  50195. compare?: string;
  50196. /**
  50197. * (Highstock) When compare is `percent`, this option dictates whether to
  50198. * use 0 or 100 as the base of comparison.
  50199. */
  50200. compareBase?: (0|100);
  50201. /**
  50202. * (Highstock) Defines if comparison should start from the first point
  50203. * within the visible range or should start from the first point **before**
  50204. * the range.
  50205. *
  50206. * In other words, this flag determines if first point within the visible
  50207. * range will have 0% (`compareStart=true`) or should have been already
  50208. * calculated according to the previous point (`compareStart=false`).
  50209. */
  50210. compareStart?: boolean;
  50211. /**
  50212. * (Highstock) Whether to compare indicator to the main series values or
  50213. * indicator values.
  50214. */
  50215. compareToMain?: boolean;
  50216. /**
  50217. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  50218. * series plot across the extremes.
  50219. */
  50220. connectEnds?: boolean;
  50221. /**
  50222. * (Highcharts, Highstock) Whether to connect a graph line across null
  50223. * points, or render a gap between the two points on either side of the
  50224. * null.
  50225. */
  50226. connectNulls?: boolean;
  50227. /**
  50228. * (Gantt) Override Pathfinder connector options for a series. Requires
  50229. * Highcharts Gantt to be loaded.
  50230. */
  50231. connectors?: SeriesConnectorsOptionsObject;
  50232. /**
  50233. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  50234. * rounded to its nearest pixel in order to render sharp on screen. In some
  50235. * cases, when there are a lot of densely packed columns, this leads to
  50236. * visible difference in column widths or distance between columns. In these
  50237. * cases, setting `crisp` to `false` may look better, even though each
  50238. * column is rendered blurry.
  50239. */
  50240. crisp?: boolean;
  50241. /**
  50242. * (Highcharts, Highstock) When the series contains less points than the
  50243. * crop threshold, all points are drawn, even if the points fall outside the
  50244. * visible plot area at the current zoom. The advantage of drawing all
  50245. * points (including markers and columns), is that animation is performed on
  50246. * updates. On the other hand, when the series contains more points than the
  50247. * crop threshold, the series data is cropped to only contain points that
  50248. * fall within the plot area. The advantage of cropping away invisible
  50249. * points is to increase performance on large series.
  50250. */
  50251. cropThreshold?: number;
  50252. /**
  50253. * (Highstock) You can set the cursor to "pointer" if you have click events
  50254. * attached to the series, to signal to the user that the points and lines
  50255. * can be clicked.
  50256. *
  50257. * In styled mode, the series cursor can be set with the same classes as
  50258. * listed under series.color.
  50259. */
  50260. cursor?: (string|CursorValue);
  50261. /**
  50262. * (Highstock) A reserved subspace to store options and values for
  50263. * customized functionality. Here you can add additional data for your own
  50264. * event callbacks and formatter callbacks.
  50265. */
  50266. custom?: Dictionary<any>;
  50267. /**
  50268. * (Highstock) Name of the dash style to use for the graph, or for some
  50269. * series types the outline of each shape.
  50270. *
  50271. * In styled mode, the stroke dash-array can be set with the same classes as
  50272. * listed under series.color.
  50273. */
  50274. dashStyle?: DashStyleValue;
  50275. /**
  50276. * (Highstock) Data grouping is the concept of sampling the data values into
  50277. * larger blocks in order to ease readability and increase performance of
  50278. * the JavaScript charts. Highstock by default applies data grouping when
  50279. * the points become closer than a certain pixel value, determined by the
  50280. * `groupPixelWidth` option.
  50281. *
  50282. * If data grouping is applied, the grouping information of grouped points
  50283. * can be read from the Point.dataGroup. If point options other than the
  50284. * data itself are set, for example `name` or `color` or custom properties,
  50285. * the grouping logic doesn't know how to group it. In this case the options
  50286. * of the first point instance are copied over to the group point. This can
  50287. * be altered through a custom `approximation` callback function.
  50288. */
  50289. dataGrouping?: DataGroupingOptionsObject;
  50290. /**
  50291. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  50292. * labels, appearing next to each data point.
  50293. *
  50294. * Since v6.2.0, multiple data labels can be applied to each single point by
  50295. * defining them as an array of configs.
  50296. *
  50297. * In styled mode, the data labels can be styled with the
  50298. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  50299. * (see example).
  50300. */
  50301. dataLabels?: (PlotLinearregressionangleDataLabelsOptions|Array<PlotLinearregressionangleDataLabelsOptions>);
  50302. /**
  50303. * (Highcharts, Highstock) Options for the series data sorting.
  50304. */
  50305. dataSorting?: (DataSortingOptionsObject|PlotLinearregressionangleDataSortingOptions);
  50306. /**
  50307. * (Highstock) A description of the series to add to the screen reader
  50308. * information about the series.
  50309. */
  50310. description?: string;
  50311. /**
  50312. * (Highstock) Enable or disable the mouse tracking for a specific series.
  50313. * This includes point tooltips and click events on graphs and points. For
  50314. * large datasets it improves performance.
  50315. */
  50316. enableMouseTracking?: boolean;
  50317. /**
  50318. * (Highstock) General event handlers for the series items. These event
  50319. * hooks can also be attached to the series at run time using the
  50320. * `Highcharts.addEvent` function.
  50321. */
  50322. events?: SeriesEventsOptionsObject;
  50323. /**
  50324. * (Highstock) Determines whether the series should look for the nearest
  50325. * point in both dimensions or just the x-dimension when hovering the
  50326. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  50327. * series. If the data has duplicate x-values, it is recommended to set this
  50328. * to `'xy'` to allow hovering over all points.
  50329. *
  50330. * Applies only to series types using nearest neighbor search (not direct
  50331. * hover) for tooltip.
  50332. */
  50333. findNearestPointBy?: OptionsFindNearestPointByValue;
  50334. /**
  50335. * (Highstock) Defines when to display a gap in the graph, together with the
  50336. * gapUnit option.
  50337. *
  50338. * In case when `dataGrouping` is enabled, points can be grouped into a
  50339. * larger time span. This can make the grouped points to have a greater
  50340. * distance than the absolute value of `gapSize` property, which will result
  50341. * in disappearing graph completely. To prevent this situation the mentioned
  50342. * distance between grouped points is used instead of previously defined
  50343. * `gapSize`.
  50344. *
  50345. * In practice, this option is most often used to visualize gaps in time
  50346. * series. In a stock chart, intraday data is available for daytime hours,
  50347. * while gaps will appear in nights and weekends.
  50348. */
  50349. gapSize?: number;
  50350. /**
  50351. * (Highstock) Together with gapSize, this option defines where to draw gaps
  50352. * in the graph.
  50353. *
  50354. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  50355. * if the distance between two points is greater than 5 times that of the
  50356. * two closest points, the graph will be broken.
  50357. *
  50358. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  50359. * values, which on a datetime axis is milliseconds. This also applies to
  50360. * the navigator series that inherits gap options from the base series.
  50361. */
  50362. gapUnit?: OptionsGapUnitValue;
  50363. /**
  50364. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  50365. * chart width or only the zoomed area when zooming in on parts of the X
  50366. * axis. By default, the Y axis adjusts to the min and max of the visible
  50367. * data. Cartesian series only.
  50368. */
  50369. getExtremesFromAll?: boolean;
  50370. /**
  50371. * (Highstock) When set to `false` will prevent the series data from being
  50372. * included in any form of data export.
  50373. *
  50374. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  50375. * `includeInCSVExport`.
  50376. */
  50377. includeInDataExport?: boolean;
  50378. /**
  50379. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  50380. * series as possible in a natural way, seeking to avoid other series. The
  50381. * goal of this feature is to make the chart more easily readable, like if a
  50382. * human designer placed the labels in the optimal position.
  50383. *
  50384. * The series labels currently work with series types having a `graph` or an
  50385. * `area`.
  50386. */
  50387. label?: SeriesLabelOptionsObject;
  50388. /**
  50389. * (Highstock) The line marks the last price from all points.
  50390. */
  50391. lastPrice?: SeriesLastPriceOptionsObject;
  50392. /**
  50393. * (Highstock) The line marks the last price from visible range of points.
  50394. */
  50395. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  50396. /**
  50397. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  50398. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  50399. * the ends and bends.
  50400. */
  50401. linecap?: SeriesLinecapValue;
  50402. /**
  50403. * (Highcharts, Highstock) Pixel width of the graph line.
  50404. */
  50405. lineWidth?: number;
  50406. /**
  50407. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  50408. * based on. Required for this indicator.
  50409. */
  50410. linkedTo?: string;
  50411. /**
  50412. * (Highstock) Options for the point markers of line-like series. Properties
  50413. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  50414. * appearance of the markers. Other series types, like column series, don't
  50415. * have markers, but have visual options on the series level instead.
  50416. *
  50417. * In styled mode, the markers can be styled with the `.highcharts-point`,
  50418. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  50419. */
  50420. marker?: PointMarkerOptionsObject;
  50421. /**
  50422. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  50423. * If not set, it will be based on a technical indicator type and default
  50424. * params.
  50425. */
  50426. name?: string;
  50427. /**
  50428. * (Highstock) The color for the parts of the graph or points that are below
  50429. * the threshold. Note that `zones` takes precedence over the negative
  50430. * color. Using `negativeColor` is equivalent to applying a zone with value
  50431. * of 0.
  50432. */
  50433. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  50434. /**
  50435. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  50436. * dataLabels.
  50437. */
  50438. opacity?: number;
  50439. /**
  50440. * (Highstock) Paramters used in calculation of regression series' points.
  50441. */
  50442. params?: PlotLinearregressionangleParamsOptions;
  50443. /**
  50444. * (Highstock) Properties for each single point.
  50445. */
  50446. point?: PlotSeriesPointOptions;
  50447. /**
  50448. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  50449. * individual series. Overrides the chart wide configuration.
  50450. */
  50451. pointDescriptionFormatter?: Function;
  50452. /**
  50453. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  50454. * true, the checkbox next to the series name in the legend will be checked
  50455. * for a selected series.
  50456. */
  50457. selected?: boolean;
  50458. /**
  50459. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  50460. * the shadow can be an object configuration containing `color`, `offsetX`,
  50461. * `offsetY`, `opacity` and `width`.
  50462. */
  50463. shadow?: (boolean|ShadowOptionsObject);
  50464. /**
  50465. * (Highstock) If true, a checkbox is displayed next to the legend item to
  50466. * allow selecting the series. The state of the checkbox is determined by
  50467. * the `selected` option.
  50468. */
  50469. showCheckbox?: boolean;
  50470. /**
  50471. * (Highstock) Whether to display this particular series or series type in
  50472. * the legend. Standalone series are shown in legend by default, and linked
  50473. * series are not. Since v7.2.0 it is possible to show series that use
  50474. * colorAxis by setting this option to `true`.
  50475. */
  50476. showInLegend?: boolean;
  50477. /**
  50478. * (Highstock) If set to `true`, the accessibility module will skip past the
  50479. * points in this series for keyboard navigation.
  50480. */
  50481. skipKeyboardNavigation?: boolean;
  50482. /**
  50483. * (Highcharts, Highstock) When this is true, the series will not cause the
  50484. * Y axis to cross the zero plane (or threshold option) unless the data
  50485. * actually crosses the plane.
  50486. *
  50487. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  50488. * make the Y axis show negative values according to the `minPadding`
  50489. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  50490. */
  50491. softThreshold?: boolean;
  50492. states?: SeriesStatesOptionsObject;
  50493. /**
  50494. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  50495. * values are `left`, `center` and `right`.
  50496. */
  50497. step?: OptionsStepValue;
  50498. /**
  50499. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  50500. * event on a series isn't triggered until the mouse moves over another
  50501. * series, or out of the plot area. When false, the `mouseOut` event on a
  50502. * series is triggered when the mouse leaves the area around the series'
  50503. * graph or markers. This also implies the tooltip when not shared. When
  50504. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  50505. * be hidden when moving the mouse between series. Defaults to true for line
  50506. * and area type series, but to false for columns, pies etc.
  50507. *
  50508. * **Note:** The boost module will force this option because of technical
  50509. * limitations.
  50510. */
  50511. stickyTracking?: boolean;
  50512. /**
  50513. * (Highcharts, Highstock) The threshold, also called zero level or base
  50514. * level. For line type series this is only used in conjunction with
  50515. * negativeColor.
  50516. */
  50517. threshold?: number;
  50518. /**
  50519. * (Highstock) A configuration object for the tooltip rendering of each
  50520. * single series. Properties are inherited from tooltip, but only the
  50521. * following properties can be defined on a series level.
  50522. */
  50523. tooltip?: SeriesTooltipOptionsObject;
  50524. /**
  50525. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  50526. * is longer than this, only one dimensional arrays of numbers, or two
  50527. * dimensional arrays with x and y values are allowed. Also, only the first
  50528. * point is tested, and the rest are assumed to be the same format. This
  50529. * saves expensive data checking and indexing in long series. Set it to `0`
  50530. * disable.
  50531. *
  50532. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  50533. * two dimensional arrays are allowed.
  50534. */
  50535. turboThreshold?: number;
  50536. /**
  50537. * (Highstock) Set the initial visibility of the series.
  50538. */
  50539. visible?: boolean;
  50540. /**
  50541. * (Highmaps) Define the z index of the series.
  50542. */
  50543. zIndex?: number;
  50544. /**
  50545. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  50546. */
  50547. zoneAxis?: string;
  50548. /**
  50549. * (Highcharts, Highstock) An array defining zones within a series. Zones
  50550. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  50551. * the `zoneAxis` option. The zone definitions have to be in ascending order
  50552. * regarding to the value.
  50553. *
  50554. * In styled mode, the color zones are styled with the
  50555. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  50556. * option (view live demo).
  50557. */
  50558. zones?: Array<SeriesZonesOptionsObject>;
  50559. }
  50560. /**
  50561. * (Highstock) Paramters used in calculation of regression series' points.
  50562. */
  50563. export interface PlotLinearregressionangleParamsOptions {
  50564. /**
  50565. * (Highstock) The point index which indicator calculations will base. For
  50566. * example using OHLC data, index=2 means the indicator will be calculated
  50567. * using Low values.
  50568. */
  50569. index?: number;
  50570. /**
  50571. * (Highstock) The base period for indicator calculations. This is the
  50572. * number of data points which are taken into account for the indicator
  50573. * calculations.
  50574. */
  50575. period?: number;
  50576. /**
  50577. * (Highstock) Unit (in milliseconds) for the x axis distances used to
  50578. * compute the regression line paramters (slope & intercept) for every
  50579. * range. In Highstock the x axis values are always represented in
  50580. * milliseconds which may cause that distances between points are "big"
  50581. * integer numbers.
  50582. *
  50583. * Highstock's linear regression algorithm (least squares method) will
  50584. * utilize these "big" integers for finding the slope and the intercept of
  50585. * the regression line for each period. In consequence, this value may be a
  50586. * very "small" decimal number that's hard to interpret by a human.
  50587. *
  50588. * For instance: `xAxisUnit` equealed to `86400000` ms (1 day) forces the
  50589. * algorithm to treat `86400000` as `1` while computing the slope and the
  50590. * intercept. This may enchance the legiblitity of the indicator's values.
  50591. *
  50592. * Default value is the closest distance between two data points.
  50593. */
  50594. xAxisUnit?: number;
  50595. }
  50596. /**
  50597. * (Highstock) Enable or disable the initial animation when a series is
  50598. * displayed. The animation can also be set as a configuration object. Please
  50599. * note that this option only applies to the initial animation of the series
  50600. * itself. For other animations, see chart.animation and the animation parameter
  50601. * under the API methods. The following properties are supported:
  50602. *
  50603. * - `defer`: The animation delay time in milliseconds.
  50604. *
  50605. * - `duration`: The duration of the animation in milliseconds.
  50606. *
  50607. * - `easing`: Can be a string reference to an easing function set on the `Math`
  50608. * object or a function. See the _Custom easing function_ demo below.
  50609. *
  50610. * Due to poor performance, animation is disabled in old IE browsers for several
  50611. * chart types.
  50612. */
  50613. export interface PlotLinearregressionAnimationOptions {
  50614. defer?: number;
  50615. }
  50616. /**
  50617. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  50618. * animation when a series is displayed for the `dataLabels`. The animation can
  50619. * also be set as a configuration object. Please note that this option only
  50620. * applies to the initial animation. For other animations, see chart.animation
  50621. * and the animation parameter under the API methods. The following properties
  50622. * are supported:
  50623. *
  50624. * - `defer`: The animation delay time in milliseconds.
  50625. */
  50626. export interface PlotLinearregressionDataLabelsAnimationOptions {
  50627. /**
  50628. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  50629. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  50630. * inherits defer time from the series.animation.defer.
  50631. */
  50632. defer?: number;
  50633. }
  50634. /**
  50635. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  50636. * appearing next to each data point.
  50637. *
  50638. * Since v6.2.0, multiple data labels can be applied to each single point by
  50639. * defining them as an array of configs.
  50640. *
  50641. * In styled mode, the data labels can be styled with the
  50642. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  50643. * example).
  50644. */
  50645. export interface PlotLinearregressionDataLabelsOptions {
  50646. /**
  50647. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  50648. * compared to the point. If `right`, the right side of the label should be
  50649. * touching the point. For points with an extent, like columns, the
  50650. * alignments also dictates how to align it inside the box, as given with
  50651. * the inside option. Can be one of `left`, `center` or `right`.
  50652. */
  50653. align?: (AlignValue|null);
  50654. /**
  50655. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  50656. * overlap. To make the labels less sensitive for overlapping, the
  50657. * dataLabels.padding can be set to 0.
  50658. */
  50659. allowOverlap?: boolean;
  50660. /**
  50661. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  50662. * animation when a series is displayed for the `dataLabels`. The animation
  50663. * can also be set as a configuration object. Please note that this option
  50664. * only applies to the initial animation. For other animations, see
  50665. * chart.animation and the animation parameter under the API methods. The
  50666. * following properties are supported:
  50667. *
  50668. * - `defer`: The animation delay time in milliseconds.
  50669. */
  50670. animation?: (boolean|PlotLinearregressionDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  50671. /**
  50672. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  50673. * for the data label.
  50674. */
  50675. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  50676. /**
  50677. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  50678. * label. Defaults to `undefined`.
  50679. */
  50680. borderColor?: (ColorString|GradientColorObject|PatternObject);
  50681. /**
  50682. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  50683. * the data label.
  50684. */
  50685. borderRadius?: number;
  50686. /**
  50687. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  50688. * the data label.
  50689. */
  50690. borderWidth?: number;
  50691. /**
  50692. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  50693. * Particularly in styled mode, this can be used to give each series' or
  50694. * point's data label unique styling. In addition to this option, a default
  50695. * color class name is added so that we can give the labels a contrast text
  50696. * shadow.
  50697. */
  50698. className?: string;
  50699. /**
  50700. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  50701. * labels. Defaults to `undefined`. For certain series types, like column or
  50702. * map, the data labels can be drawn inside the points. In this case the
  50703. * data label will be drawn with maximum contrast by default. Additionally,
  50704. * it will be given a `text-outline` style with the opposite color, to
  50705. * further increase the contrast. This can be overridden by setting the
  50706. * `text-outline` style to `none` in the `dataLabels.style` option.
  50707. */
  50708. color?: (ColorString|GradientColorObject|PatternObject);
  50709. /**
  50710. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  50711. * are outside the plot area. By default, the data label is moved inside the
  50712. * plot area according to the overflow option.
  50713. */
  50714. crop?: boolean;
  50715. /**
  50716. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  50717. * labels until the initial series animation has finished. Setting to
  50718. * `false` renders the data label immediately. If set to `true` inherits the
  50719. * defer time set in plotOptions.series.animation.
  50720. */
  50721. defer?: boolean;
  50722. /**
  50723. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  50724. * labels.
  50725. */
  50726. enabled?: boolean;
  50727. /**
  50728. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  50729. * of which data labels to display. The declarative filter is designed for
  50730. * use when callback functions are not available, like when the chart
  50731. * options require a pure JSON structure or for use with graphical editors.
  50732. * For programmatic control, use the `formatter` instead, and return
  50733. * `undefined` to disable a single data label.
  50734. */
  50735. filter?: DataLabelsFilterOptionsObject;
  50736. /**
  50737. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  50738. * label. Available variables are the same as for `formatter`.
  50739. */
  50740. format?: string;
  50741. /**
  50742. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  50743. * format the data label. Note that if a `format` is defined, the format
  50744. * takes precedence and the formatter is ignored.
  50745. */
  50746. formatter?: DataLabelsFormatterCallbackFunction;
  50747. /**
  50748. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  50749. * columns or map areas, whether to align the data label inside the box or
  50750. * to the actual value point. Defaults to `false` in most cases, `true` in
  50751. * stacked columns.
  50752. */
  50753. inside?: boolean;
  50754. /**
  50755. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  50756. * of null. Works analogously to format. `nullFormat` can be applied only to
  50757. * series which support displaying null points.
  50758. */
  50759. nullFormat?: (boolean|string);
  50760. /**
  50761. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  50762. * that defines formatting for points with the value of null. Works
  50763. * analogously to formatter. `nullPointFormatter` can be applied only to
  50764. * series which support displaying null points.
  50765. */
  50766. nullFormatter?: DataLabelsFormatterCallbackFunction;
  50767. /**
  50768. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  50769. * flow outside the plot area. The default is `"justify"`, which aligns them
  50770. * inside the plot area. For columns and bars, this means it will be moved
  50771. * inside the bar. To display data labels outside the plot area, set `crop`
  50772. * to `false` and `overflow` to `"allow"`.
  50773. */
  50774. overflow?: DataLabelsOverflowValue;
  50775. /**
  50776. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  50777. * the `backgroundColor` is set, this is the padding within the box.
  50778. */
  50779. padding?: number;
  50780. /**
  50781. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  50782. * points. If `center` alignment is not possible, it defaults to `right`.
  50783. */
  50784. position?: AlignValue;
  50785. /**
  50786. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  50787. * that due to a more complex structure, backgrounds, borders and padding
  50788. * will be lost on a rotated data label.
  50789. */
  50790. rotation?: number;
  50791. /**
  50792. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  50793. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  50794. * an object configuration containing `color`, `offsetX`, `offsetY`,
  50795. * `opacity` and `width`.
  50796. */
  50797. shadow?: (boolean|ShadowOptionsObject);
  50798. /**
  50799. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  50800. * the border around the label. Symbols are predefined functions on the
  50801. * Renderer object.
  50802. */
  50803. shape?: string;
  50804. /**
  50805. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  50806. * default `color` setting is `"contrast"`, which is a pseudo color that
  50807. * Highcharts picks up and applies the maximum contrast to the underlying
  50808. * point item, for example the bar in a bar chart.
  50809. *
  50810. * The `textOutline` is a pseudo property that applies an outline of the
  50811. * given width with the given color, which by default is the maximum
  50812. * contrast to the text. So a bright text color will result in a black text
  50813. * outline for maximum readability on a mixed background. In some cases,
  50814. * especially with grayscale text, the text outline doesn't work well, in
  50815. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  50816. * is true, the `textOutline` will not be picked up. In this, case, the same
  50817. * effect can be acheived through the `text-shadow` CSS property.
  50818. *
  50819. * For some series types, where each point has an extent, like for example
  50820. * tree maps, the data label may overflow the point. There are two
  50821. * strategies for handling overflow. By default, the text will wrap to
  50822. * multiple lines. The other strategy is to set `style.textOverflow` to
  50823. * `ellipsis`, which will keep the text on one line plus it will break
  50824. * inside long words.
  50825. */
  50826. style?: CSSObject;
  50827. /**
  50828. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  50829. * should follow marker's shape. Border and background are disabled for a
  50830. * label that follows a path.
  50831. *
  50832. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  50833. * to true will disable this option.
  50834. */
  50835. textPath?: DataLabelsTextPathOptionsObject;
  50836. /**
  50837. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  50838. * the labels.
  50839. */
  50840. useHTML?: boolean;
  50841. /**
  50842. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  50843. * label. Can be one of `top`, `middle` or `bottom`. The default value
  50844. * depends on the data, for instance in a column chart, the label is above
  50845. * positive values and below negative values.
  50846. */
  50847. verticalAlign?: (VerticalAlignValue|null);
  50848. /**
  50849. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  50850. * label relative to the point in pixels.
  50851. */
  50852. x?: number;
  50853. /**
  50854. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  50855. * label relative to the point in pixels.
  50856. */
  50857. y?: number;
  50858. /**
  50859. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  50860. * The default Z index puts it above the series. Use a Z index of 2 to
  50861. * display it behind the series.
  50862. */
  50863. z?: number;
  50864. }
  50865. /**
  50866. * (Highcharts, Highstock) Options for the series data sorting.
  50867. */
  50868. export interface PlotLinearregressionDataSortingOptions {
  50869. /**
  50870. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  50871. * Use xAxis.reversed to change the sorting order.
  50872. */
  50873. enabled?: boolean;
  50874. /**
  50875. * (Highcharts, Highstock) Whether to allow matching points by name in an
  50876. * update. If this option is disabled, points will be matched by order.
  50877. */
  50878. matchByName?: boolean;
  50879. /**
  50880. * (Highcharts, Highstock) Determines what data value should be used to sort
  50881. * by.
  50882. */
  50883. sortKey?: string;
  50884. }
  50885. /**
  50886. * (Highstock) Enable or disable the initial animation when a series is
  50887. * displayed. The animation can also be set as a configuration object. Please
  50888. * note that this option only applies to the initial animation of the series
  50889. * itself. For other animations, see chart.animation and the animation parameter
  50890. * under the API methods. The following properties are supported:
  50891. *
  50892. * - `defer`: The animation delay time in milliseconds.
  50893. *
  50894. * - `duration`: The duration of the animation in milliseconds.
  50895. *
  50896. * - `easing`: Can be a string reference to an easing function set on the `Math`
  50897. * object or a function. See the _Custom easing function_ demo below.
  50898. *
  50899. * Due to poor performance, animation is disabled in old IE browsers for several
  50900. * chart types.
  50901. */
  50902. export interface PlotLinearregressioninterceptAnimationOptions {
  50903. defer?: number;
  50904. }
  50905. /**
  50906. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  50907. * animation when a series is displayed for the `dataLabels`. The animation can
  50908. * also be set as a configuration object. Please note that this option only
  50909. * applies to the initial animation. For other animations, see chart.animation
  50910. * and the animation parameter under the API methods. The following properties
  50911. * are supported:
  50912. *
  50913. * - `defer`: The animation delay time in milliseconds.
  50914. */
  50915. export interface PlotLinearregressioninterceptDataLabelsAnimationOptions {
  50916. /**
  50917. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  50918. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  50919. * inherits defer time from the series.animation.defer.
  50920. */
  50921. defer?: number;
  50922. }
  50923. /**
  50924. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  50925. * appearing next to each data point.
  50926. *
  50927. * Since v6.2.0, multiple data labels can be applied to each single point by
  50928. * defining them as an array of configs.
  50929. *
  50930. * In styled mode, the data labels can be styled with the
  50931. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  50932. * example).
  50933. */
  50934. export interface PlotLinearregressioninterceptDataLabelsOptions {
  50935. /**
  50936. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  50937. * compared to the point. If `right`, the right side of the label should be
  50938. * touching the point. For points with an extent, like columns, the
  50939. * alignments also dictates how to align it inside the box, as given with
  50940. * the inside option. Can be one of `left`, `center` or `right`.
  50941. */
  50942. align?: (AlignValue|null);
  50943. /**
  50944. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  50945. * overlap. To make the labels less sensitive for overlapping, the
  50946. * dataLabels.padding can be set to 0.
  50947. */
  50948. allowOverlap?: boolean;
  50949. /**
  50950. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  50951. * animation when a series is displayed for the `dataLabels`. The animation
  50952. * can also be set as a configuration object. Please note that this option
  50953. * only applies to the initial animation. For other animations, see
  50954. * chart.animation and the animation parameter under the API methods. The
  50955. * following properties are supported:
  50956. *
  50957. * - `defer`: The animation delay time in milliseconds.
  50958. */
  50959. animation?: (boolean|PlotLinearregressioninterceptDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  50960. /**
  50961. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  50962. * for the data label.
  50963. */
  50964. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  50965. /**
  50966. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  50967. * label. Defaults to `undefined`.
  50968. */
  50969. borderColor?: (ColorString|GradientColorObject|PatternObject);
  50970. /**
  50971. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  50972. * the data label.
  50973. */
  50974. borderRadius?: number;
  50975. /**
  50976. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  50977. * the data label.
  50978. */
  50979. borderWidth?: number;
  50980. /**
  50981. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  50982. * Particularly in styled mode, this can be used to give each series' or
  50983. * point's data label unique styling. In addition to this option, a default
  50984. * color class name is added so that we can give the labels a contrast text
  50985. * shadow.
  50986. */
  50987. className?: string;
  50988. /**
  50989. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  50990. * labels. Defaults to `undefined`. For certain series types, like column or
  50991. * map, the data labels can be drawn inside the points. In this case the
  50992. * data label will be drawn with maximum contrast by default. Additionally,
  50993. * it will be given a `text-outline` style with the opposite color, to
  50994. * further increase the contrast. This can be overridden by setting the
  50995. * `text-outline` style to `none` in the `dataLabels.style` option.
  50996. */
  50997. color?: (ColorString|GradientColorObject|PatternObject);
  50998. /**
  50999. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  51000. * are outside the plot area. By default, the data label is moved inside the
  51001. * plot area according to the overflow option.
  51002. */
  51003. crop?: boolean;
  51004. /**
  51005. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  51006. * labels until the initial series animation has finished. Setting to
  51007. * `false` renders the data label immediately. If set to `true` inherits the
  51008. * defer time set in plotOptions.series.animation.
  51009. */
  51010. defer?: boolean;
  51011. /**
  51012. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  51013. * labels.
  51014. */
  51015. enabled?: boolean;
  51016. /**
  51017. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  51018. * of which data labels to display. The declarative filter is designed for
  51019. * use when callback functions are not available, like when the chart
  51020. * options require a pure JSON structure or for use with graphical editors.
  51021. * For programmatic control, use the `formatter` instead, and return
  51022. * `undefined` to disable a single data label.
  51023. */
  51024. filter?: DataLabelsFilterOptionsObject;
  51025. /**
  51026. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  51027. * label. Available variables are the same as for `formatter`.
  51028. */
  51029. format?: string;
  51030. /**
  51031. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  51032. * format the data label. Note that if a `format` is defined, the format
  51033. * takes precedence and the formatter is ignored.
  51034. */
  51035. formatter?: DataLabelsFormatterCallbackFunction;
  51036. /**
  51037. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  51038. * columns or map areas, whether to align the data label inside the box or
  51039. * to the actual value point. Defaults to `false` in most cases, `true` in
  51040. * stacked columns.
  51041. */
  51042. inside?: boolean;
  51043. /**
  51044. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  51045. * of null. Works analogously to format. `nullFormat` can be applied only to
  51046. * series which support displaying null points.
  51047. */
  51048. nullFormat?: (boolean|string);
  51049. /**
  51050. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  51051. * that defines formatting for points with the value of null. Works
  51052. * analogously to formatter. `nullPointFormatter` can be applied only to
  51053. * series which support displaying null points.
  51054. */
  51055. nullFormatter?: DataLabelsFormatterCallbackFunction;
  51056. /**
  51057. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  51058. * flow outside the plot area. The default is `"justify"`, which aligns them
  51059. * inside the plot area. For columns and bars, this means it will be moved
  51060. * inside the bar. To display data labels outside the plot area, set `crop`
  51061. * to `false` and `overflow` to `"allow"`.
  51062. */
  51063. overflow?: DataLabelsOverflowValue;
  51064. /**
  51065. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  51066. * the `backgroundColor` is set, this is the padding within the box.
  51067. */
  51068. padding?: number;
  51069. /**
  51070. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  51071. * points. If `center` alignment is not possible, it defaults to `right`.
  51072. */
  51073. position?: AlignValue;
  51074. /**
  51075. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  51076. * that due to a more complex structure, backgrounds, borders and padding
  51077. * will be lost on a rotated data label.
  51078. */
  51079. rotation?: number;
  51080. /**
  51081. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  51082. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  51083. * an object configuration containing `color`, `offsetX`, `offsetY`,
  51084. * `opacity` and `width`.
  51085. */
  51086. shadow?: (boolean|ShadowOptionsObject);
  51087. /**
  51088. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  51089. * the border around the label. Symbols are predefined functions on the
  51090. * Renderer object.
  51091. */
  51092. shape?: string;
  51093. /**
  51094. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  51095. * default `color` setting is `"contrast"`, which is a pseudo color that
  51096. * Highcharts picks up and applies the maximum contrast to the underlying
  51097. * point item, for example the bar in a bar chart.
  51098. *
  51099. * The `textOutline` is a pseudo property that applies an outline of the
  51100. * given width with the given color, which by default is the maximum
  51101. * contrast to the text. So a bright text color will result in a black text
  51102. * outline for maximum readability on a mixed background. In some cases,
  51103. * especially with grayscale text, the text outline doesn't work well, in
  51104. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  51105. * is true, the `textOutline` will not be picked up. In this, case, the same
  51106. * effect can be acheived through the `text-shadow` CSS property.
  51107. *
  51108. * For some series types, where each point has an extent, like for example
  51109. * tree maps, the data label may overflow the point. There are two
  51110. * strategies for handling overflow. By default, the text will wrap to
  51111. * multiple lines. The other strategy is to set `style.textOverflow` to
  51112. * `ellipsis`, which will keep the text on one line plus it will break
  51113. * inside long words.
  51114. */
  51115. style?: CSSObject;
  51116. /**
  51117. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  51118. * should follow marker's shape. Border and background are disabled for a
  51119. * label that follows a path.
  51120. *
  51121. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  51122. * to true will disable this option.
  51123. */
  51124. textPath?: DataLabelsTextPathOptionsObject;
  51125. /**
  51126. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  51127. * the labels.
  51128. */
  51129. useHTML?: boolean;
  51130. /**
  51131. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  51132. * label. Can be one of `top`, `middle` or `bottom`. The default value
  51133. * depends on the data, for instance in a column chart, the label is above
  51134. * positive values and below negative values.
  51135. */
  51136. verticalAlign?: (VerticalAlignValue|null);
  51137. /**
  51138. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  51139. * label relative to the point in pixels.
  51140. */
  51141. x?: number;
  51142. /**
  51143. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  51144. * label relative to the point in pixels.
  51145. */
  51146. y?: number;
  51147. /**
  51148. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  51149. * The default Z index puts it above the series. Use a Z index of 2 to
  51150. * display it behind the series.
  51151. */
  51152. z?: number;
  51153. }
  51154. /**
  51155. * (Highcharts, Highstock) Options for the series data sorting.
  51156. */
  51157. export interface PlotLinearregressioninterceptDataSortingOptions {
  51158. /**
  51159. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  51160. * Use xAxis.reversed to change the sorting order.
  51161. */
  51162. enabled?: boolean;
  51163. /**
  51164. * (Highcharts, Highstock) Whether to allow matching points by name in an
  51165. * update. If this option is disabled, points will be matched by order.
  51166. */
  51167. matchByName?: boolean;
  51168. /**
  51169. * (Highcharts, Highstock) Determines what data value should be used to sort
  51170. * by.
  51171. */
  51172. sortKey?: string;
  51173. }
  51174. /**
  51175. * (Highstock) Linear regression intercept indicator. This series requires
  51176. * `linkedTo` option to be set.
  51177. *
  51178. * In TypeScript the type option must always be set.
  51179. *
  51180. * Configuration options for the series are given in three levels:
  51181. *
  51182. * 1. Options for all series in a chart are defined in the plotOptions.series
  51183. * object.
  51184. *
  51185. * 2. Options for all `linearregressionintercept` series are defined in
  51186. * plotOptions.linearregressionintercept.
  51187. *
  51188. * 3. Options for one single series are given in the series instance array. (see
  51189. * online documentation for example)
  51190. */
  51191. export interface PlotLinearregressioninterceptOptions {
  51192. /**
  51193. * (Highstock) Accessibility options for a series.
  51194. */
  51195. accessibility?: SeriesAccessibilityOptionsObject;
  51196. /**
  51197. * (Highstock) Allow this series' points to be selected by clicking on the
  51198. * graphic (columns, point markers, pie slices, map areas etc).
  51199. *
  51200. * The selected points can be handled by point select and unselect events,
  51201. * or collectively by the getSelectedPoints function.
  51202. *
  51203. * And alternative way of selecting points is through dragging.
  51204. */
  51205. allowPointSelect?: boolean;
  51206. /**
  51207. * (Highstock) Enable or disable the initial animation when a series is
  51208. * displayed. The animation can also be set as a configuration object.
  51209. * Please note that this option only applies to the initial animation of the
  51210. * series itself. For other animations, see chart.animation and the
  51211. * animation parameter under the API methods. The following properties are
  51212. * supported:
  51213. *
  51214. * - `defer`: The animation delay time in milliseconds.
  51215. *
  51216. * - `duration`: The duration of the animation in milliseconds.
  51217. *
  51218. * - `easing`: Can be a string reference to an easing function set on the
  51219. * `Math` object or a function. See the _Custom easing function_ demo below.
  51220. *
  51221. * Due to poor performance, animation is disabled in old IE browsers for
  51222. * several chart types.
  51223. */
  51224. animation?: (boolean|PlotLinearregressioninterceptAnimationOptions|Partial<AnimationOptionsObject>);
  51225. /**
  51226. * (Highstock) For some series, there is a limit that shuts down initial
  51227. * animation by default when the total number of points in the chart is too
  51228. * high. For example, for a column chart and its derivatives, animation does
  51229. * not run if there is more than 250 points totally. To disable this cap,
  51230. * set `animationLimit` to `Infinity`.
  51231. */
  51232. animationLimit?: number;
  51233. /**
  51234. * (Highstock) Sets the color blending in the boost module.
  51235. */
  51236. boostBlending?: OptionsBoostBlendingValue;
  51237. /**
  51238. * (Highstock) Set the point threshold for when a series should enter boost
  51239. * mode.
  51240. *
  51241. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  51242. * there are 2000 or more points in the series.
  51243. *
  51244. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  51245. * it to 1 will force boosting.
  51246. *
  51247. * Note that the cropThreshold also affects this setting. When zooming in on
  51248. * a series that has fewer points than the `cropThreshold`, all points are
  51249. * rendered although outside the visible plot area, and the `boostThreshold`
  51250. * won't take effect.
  51251. */
  51252. boostThreshold?: number;
  51253. /**
  51254. * (Highmaps) The border color of the map areas.
  51255. *
  51256. * In styled mode, the border stroke is given in the `.highcharts-point`
  51257. * class.
  51258. */
  51259. borderColor?: (ColorString|GradientColorObject|PatternObject);
  51260. /**
  51261. * (Highmaps) The border width of each map area.
  51262. *
  51263. * In styled mode, the border stroke width is given in the
  51264. * `.highcharts-point` class.
  51265. */
  51266. borderWidth?: number;
  51267. /**
  51268. * (Highstock) An additional class name to apply to the series' graphical
  51269. * elements. This option does not replace default class names of the
  51270. * graphical element.
  51271. */
  51272. className?: string;
  51273. /**
  51274. * (Highstock) Disable this option to allow series rendering in the whole
  51275. * plotting area.
  51276. *
  51277. * **Note:** Clipping should be always enabled when chart.zoomType is set
  51278. */
  51279. clip?: boolean;
  51280. /**
  51281. * (Highstock) The main color of the series. In line type series it applies
  51282. * to the line and the point markers unless otherwise specified. In bar type
  51283. * series it applies to the bars unless a color is specified per point. The
  51284. * default value is pulled from the `options.colors` array.
  51285. *
  51286. * In styled mode, the color can be defined by the colorIndex option. Also,
  51287. * the series color can be set with the `.highcharts-series`,
  51288. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  51289. * `.highcharts-series-{n}` class, or individual classes given by the
  51290. * `className` option.
  51291. */
  51292. color?: (ColorString|GradientColorObject|PatternObject);
  51293. /**
  51294. * (Highstock) Styled mode only. A specific color index to use for the
  51295. * series, so its graphic representations are given the class name
  51296. * `highcharts-color-{n}`.
  51297. */
  51298. colorIndex?: number;
  51299. /**
  51300. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  51301. * used to calculate point color if `colorAxis` is used. Requires to set
  51302. * `min` and `max` if some custom point property is used or if approximation
  51303. * for data grouping is set to `'sum'`.
  51304. */
  51305. colorKey?: string;
  51306. /**
  51307. * (Highstock) Compare the values of the series against the first non-null,
  51308. * non- zero value in the visible range. The y axis will show percentage or
  51309. * absolute change depending on whether `compare` is set to `"percent"` or
  51310. * `"value"`. When this is applied to multiple series, it allows comparing
  51311. * the development of the series against each other. Adds a `change` field
  51312. * to every point object.
  51313. */
  51314. compare?: string;
  51315. /**
  51316. * (Highstock) When compare is `percent`, this option dictates whether to
  51317. * use 0 or 100 as the base of comparison.
  51318. */
  51319. compareBase?: (0|100);
  51320. /**
  51321. * (Highstock) Defines if comparison should start from the first point
  51322. * within the visible range or should start from the first point **before**
  51323. * the range.
  51324. *
  51325. * In other words, this flag determines if first point within the visible
  51326. * range will have 0% (`compareStart=true`) or should have been already
  51327. * calculated according to the previous point (`compareStart=false`).
  51328. */
  51329. compareStart?: boolean;
  51330. /**
  51331. * (Highstock) Whether to compare indicator to the main series values or
  51332. * indicator values.
  51333. */
  51334. compareToMain?: boolean;
  51335. /**
  51336. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  51337. * series plot across the extremes.
  51338. */
  51339. connectEnds?: boolean;
  51340. /**
  51341. * (Highcharts, Highstock) Whether to connect a graph line across null
  51342. * points, or render a gap between the two points on either side of the
  51343. * null.
  51344. */
  51345. connectNulls?: boolean;
  51346. /**
  51347. * (Gantt) Override Pathfinder connector options for a series. Requires
  51348. * Highcharts Gantt to be loaded.
  51349. */
  51350. connectors?: SeriesConnectorsOptionsObject;
  51351. /**
  51352. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  51353. * rounded to its nearest pixel in order to render sharp on screen. In some
  51354. * cases, when there are a lot of densely packed columns, this leads to
  51355. * visible difference in column widths or distance between columns. In these
  51356. * cases, setting `crisp` to `false` may look better, even though each
  51357. * column is rendered blurry.
  51358. */
  51359. crisp?: boolean;
  51360. /**
  51361. * (Highcharts, Highstock) When the series contains less points than the
  51362. * crop threshold, all points are drawn, even if the points fall outside the
  51363. * visible plot area at the current zoom. The advantage of drawing all
  51364. * points (including markers and columns), is that animation is performed on
  51365. * updates. On the other hand, when the series contains more points than the
  51366. * crop threshold, the series data is cropped to only contain points that
  51367. * fall within the plot area. The advantage of cropping away invisible
  51368. * points is to increase performance on large series.
  51369. */
  51370. cropThreshold?: number;
  51371. /**
  51372. * (Highstock) You can set the cursor to "pointer" if you have click events
  51373. * attached to the series, to signal to the user that the points and lines
  51374. * can be clicked.
  51375. *
  51376. * In styled mode, the series cursor can be set with the same classes as
  51377. * listed under series.color.
  51378. */
  51379. cursor?: (string|CursorValue);
  51380. /**
  51381. * (Highstock) A reserved subspace to store options and values for
  51382. * customized functionality. Here you can add additional data for your own
  51383. * event callbacks and formatter callbacks.
  51384. */
  51385. custom?: Dictionary<any>;
  51386. /**
  51387. * (Highstock) Name of the dash style to use for the graph, or for some
  51388. * series types the outline of each shape.
  51389. *
  51390. * In styled mode, the stroke dash-array can be set with the same classes as
  51391. * listed under series.color.
  51392. */
  51393. dashStyle?: DashStyleValue;
  51394. /**
  51395. * (Highstock) Data grouping is the concept of sampling the data values into
  51396. * larger blocks in order to ease readability and increase performance of
  51397. * the JavaScript charts. Highstock by default applies data grouping when
  51398. * the points become closer than a certain pixel value, determined by the
  51399. * `groupPixelWidth` option.
  51400. *
  51401. * If data grouping is applied, the grouping information of grouped points
  51402. * can be read from the Point.dataGroup. If point options other than the
  51403. * data itself are set, for example `name` or `color` or custom properties,
  51404. * the grouping logic doesn't know how to group it. In this case the options
  51405. * of the first point instance are copied over to the group point. This can
  51406. * be altered through a custom `approximation` callback function.
  51407. */
  51408. dataGrouping?: DataGroupingOptionsObject;
  51409. /**
  51410. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  51411. * labels, appearing next to each data point.
  51412. *
  51413. * Since v6.2.0, multiple data labels can be applied to each single point by
  51414. * defining them as an array of configs.
  51415. *
  51416. * In styled mode, the data labels can be styled with the
  51417. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  51418. * (see example).
  51419. */
  51420. dataLabels?: (PlotLinearregressioninterceptDataLabelsOptions|Array<PlotLinearregressioninterceptDataLabelsOptions>);
  51421. /**
  51422. * (Highcharts, Highstock) Options for the series data sorting.
  51423. */
  51424. dataSorting?: (DataSortingOptionsObject|PlotLinearregressioninterceptDataSortingOptions);
  51425. /**
  51426. * (Highstock) A description of the series to add to the screen reader
  51427. * information about the series.
  51428. */
  51429. description?: string;
  51430. /**
  51431. * (Highstock) Enable or disable the mouse tracking for a specific series.
  51432. * This includes point tooltips and click events on graphs and points. For
  51433. * large datasets it improves performance.
  51434. */
  51435. enableMouseTracking?: boolean;
  51436. /**
  51437. * (Highstock) General event handlers for the series items. These event
  51438. * hooks can also be attached to the series at run time using the
  51439. * `Highcharts.addEvent` function.
  51440. */
  51441. events?: SeriesEventsOptionsObject;
  51442. /**
  51443. * (Highstock) Determines whether the series should look for the nearest
  51444. * point in both dimensions or just the x-dimension when hovering the
  51445. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  51446. * series. If the data has duplicate x-values, it is recommended to set this
  51447. * to `'xy'` to allow hovering over all points.
  51448. *
  51449. * Applies only to series types using nearest neighbor search (not direct
  51450. * hover) for tooltip.
  51451. */
  51452. findNearestPointBy?: OptionsFindNearestPointByValue;
  51453. /**
  51454. * (Highstock) Defines when to display a gap in the graph, together with the
  51455. * gapUnit option.
  51456. *
  51457. * In case when `dataGrouping` is enabled, points can be grouped into a
  51458. * larger time span. This can make the grouped points to have a greater
  51459. * distance than the absolute value of `gapSize` property, which will result
  51460. * in disappearing graph completely. To prevent this situation the mentioned
  51461. * distance between grouped points is used instead of previously defined
  51462. * `gapSize`.
  51463. *
  51464. * In practice, this option is most often used to visualize gaps in time
  51465. * series. In a stock chart, intraday data is available for daytime hours,
  51466. * while gaps will appear in nights and weekends.
  51467. */
  51468. gapSize?: number;
  51469. /**
  51470. * (Highstock) Together with gapSize, this option defines where to draw gaps
  51471. * in the graph.
  51472. *
  51473. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  51474. * if the distance between two points is greater than 5 times that of the
  51475. * two closest points, the graph will be broken.
  51476. *
  51477. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  51478. * values, which on a datetime axis is milliseconds. This also applies to
  51479. * the navigator series that inherits gap options from the base series.
  51480. */
  51481. gapUnit?: OptionsGapUnitValue;
  51482. /**
  51483. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  51484. * chart width or only the zoomed area when zooming in on parts of the X
  51485. * axis. By default, the Y axis adjusts to the min and max of the visible
  51486. * data. Cartesian series only.
  51487. */
  51488. getExtremesFromAll?: boolean;
  51489. /**
  51490. * (Highstock) When set to `false` will prevent the series data from being
  51491. * included in any form of data export.
  51492. *
  51493. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  51494. * `includeInCSVExport`.
  51495. */
  51496. includeInDataExport?: boolean;
  51497. /**
  51498. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  51499. * series as possible in a natural way, seeking to avoid other series. The
  51500. * goal of this feature is to make the chart more easily readable, like if a
  51501. * human designer placed the labels in the optimal position.
  51502. *
  51503. * The series labels currently work with series types having a `graph` or an
  51504. * `area`.
  51505. */
  51506. label?: SeriesLabelOptionsObject;
  51507. /**
  51508. * (Highstock) The line marks the last price from all points.
  51509. */
  51510. lastPrice?: SeriesLastPriceOptionsObject;
  51511. /**
  51512. * (Highstock) The line marks the last price from visible range of points.
  51513. */
  51514. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  51515. /**
  51516. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  51517. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  51518. * the ends and bends.
  51519. */
  51520. linecap?: SeriesLinecapValue;
  51521. /**
  51522. * (Highcharts, Highstock) Pixel width of the graph line.
  51523. */
  51524. lineWidth?: number;
  51525. /**
  51526. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  51527. * based on. Required for this indicator.
  51528. */
  51529. linkedTo?: string;
  51530. /**
  51531. * (Highstock) Options for the point markers of line-like series. Properties
  51532. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  51533. * appearance of the markers. Other series types, like column series, don't
  51534. * have markers, but have visual options on the series level instead.
  51535. *
  51536. * In styled mode, the markers can be styled with the `.highcharts-point`,
  51537. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  51538. */
  51539. marker?: PointMarkerOptionsObject;
  51540. /**
  51541. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  51542. * If not set, it will be based on a technical indicator type and default
  51543. * params.
  51544. */
  51545. name?: string;
  51546. /**
  51547. * (Highstock) The color for the parts of the graph or points that are below
  51548. * the threshold. Note that `zones` takes precedence over the negative
  51549. * color. Using `negativeColor` is equivalent to applying a zone with value
  51550. * of 0.
  51551. */
  51552. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  51553. /**
  51554. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  51555. * dataLabels.
  51556. */
  51557. opacity?: number;
  51558. /**
  51559. * (Highstock) Paramters used in calculation of regression series' points.
  51560. */
  51561. params?: PlotLinearregressioninterceptParamsOptions;
  51562. /**
  51563. * (Highstock) Properties for each single point.
  51564. */
  51565. point?: PlotSeriesPointOptions;
  51566. /**
  51567. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  51568. * individual series. Overrides the chart wide configuration.
  51569. */
  51570. pointDescriptionFormatter?: Function;
  51571. /**
  51572. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  51573. * true, the checkbox next to the series name in the legend will be checked
  51574. * for a selected series.
  51575. */
  51576. selected?: boolean;
  51577. /**
  51578. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  51579. * the shadow can be an object configuration containing `color`, `offsetX`,
  51580. * `offsetY`, `opacity` and `width`.
  51581. */
  51582. shadow?: (boolean|ShadowOptionsObject);
  51583. /**
  51584. * (Highstock) If true, a checkbox is displayed next to the legend item to
  51585. * allow selecting the series. The state of the checkbox is determined by
  51586. * the `selected` option.
  51587. */
  51588. showCheckbox?: boolean;
  51589. /**
  51590. * (Highstock) Whether to display this particular series or series type in
  51591. * the legend. Standalone series are shown in legend by default, and linked
  51592. * series are not. Since v7.2.0 it is possible to show series that use
  51593. * colorAxis by setting this option to `true`.
  51594. */
  51595. showInLegend?: boolean;
  51596. /**
  51597. * (Highstock) If set to `true`, the accessibility module will skip past the
  51598. * points in this series for keyboard navigation.
  51599. */
  51600. skipKeyboardNavigation?: boolean;
  51601. /**
  51602. * (Highcharts, Highstock) When this is true, the series will not cause the
  51603. * Y axis to cross the zero plane (or threshold option) unless the data
  51604. * actually crosses the plane.
  51605. *
  51606. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  51607. * make the Y axis show negative values according to the `minPadding`
  51608. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  51609. */
  51610. softThreshold?: boolean;
  51611. states?: SeriesStatesOptionsObject;
  51612. /**
  51613. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  51614. * values are `left`, `center` and `right`.
  51615. */
  51616. step?: OptionsStepValue;
  51617. /**
  51618. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  51619. * event on a series isn't triggered until the mouse moves over another
  51620. * series, or out of the plot area. When false, the `mouseOut` event on a
  51621. * series is triggered when the mouse leaves the area around the series'
  51622. * graph or markers. This also implies the tooltip when not shared. When
  51623. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  51624. * be hidden when moving the mouse between series. Defaults to true for line
  51625. * and area type series, but to false for columns, pies etc.
  51626. *
  51627. * **Note:** The boost module will force this option because of technical
  51628. * limitations.
  51629. */
  51630. stickyTracking?: boolean;
  51631. /**
  51632. * (Highcharts, Highstock) The threshold, also called zero level or base
  51633. * level. For line type series this is only used in conjunction with
  51634. * negativeColor.
  51635. */
  51636. threshold?: number;
  51637. /**
  51638. * (Highstock) A configuration object for the tooltip rendering of each
  51639. * single series. Properties are inherited from tooltip, but only the
  51640. * following properties can be defined on a series level.
  51641. */
  51642. tooltip?: SeriesTooltipOptionsObject;
  51643. /**
  51644. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  51645. * is longer than this, only one dimensional arrays of numbers, or two
  51646. * dimensional arrays with x and y values are allowed. Also, only the first
  51647. * point is tested, and the rest are assumed to be the same format. This
  51648. * saves expensive data checking and indexing in long series. Set it to `0`
  51649. * disable.
  51650. *
  51651. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  51652. * two dimensional arrays are allowed.
  51653. */
  51654. turboThreshold?: number;
  51655. /**
  51656. * (Highstock) Set the initial visibility of the series.
  51657. */
  51658. visible?: boolean;
  51659. /**
  51660. * (Highmaps) Define the z index of the series.
  51661. */
  51662. zIndex?: number;
  51663. /**
  51664. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  51665. */
  51666. zoneAxis?: string;
  51667. /**
  51668. * (Highcharts, Highstock) An array defining zones within a series. Zones
  51669. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  51670. * the `zoneAxis` option. The zone definitions have to be in ascending order
  51671. * regarding to the value.
  51672. *
  51673. * In styled mode, the color zones are styled with the
  51674. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  51675. * option (view live demo).
  51676. */
  51677. zones?: Array<SeriesZonesOptionsObject>;
  51678. }
  51679. /**
  51680. * (Highstock) Paramters used in calculation of regression series' points.
  51681. */
  51682. export interface PlotLinearregressioninterceptParamsOptions {
  51683. /**
  51684. * (Highstock) The point index which indicator calculations will base. For
  51685. * example using OHLC data, index=2 means the indicator will be calculated
  51686. * using Low values.
  51687. */
  51688. index?: number;
  51689. /**
  51690. * (Highstock) The base period for indicator calculations. This is the
  51691. * number of data points which are taken into account for the indicator
  51692. * calculations.
  51693. */
  51694. period?: number;
  51695. /**
  51696. * (Highstock) Unit (in milliseconds) for the x axis distances used to
  51697. * compute the regression line paramters (slope & intercept) for every
  51698. * range. In Highstock the x axis values are always represented in
  51699. * milliseconds which may cause that distances between points are "big"
  51700. * integer numbers.
  51701. *
  51702. * Highstock's linear regression algorithm (least squares method) will
  51703. * utilize these "big" integers for finding the slope and the intercept of
  51704. * the regression line for each period. In consequence, this value may be a
  51705. * very "small" decimal number that's hard to interpret by a human.
  51706. *
  51707. * For instance: `xAxisUnit` equealed to `86400000` ms (1 day) forces the
  51708. * algorithm to treat `86400000` as `1` while computing the slope and the
  51709. * intercept. This may enchance the legiblitity of the indicator's values.
  51710. *
  51711. * Default value is the closest distance between two data points.
  51712. */
  51713. xAxisUnit?: number;
  51714. }
  51715. /**
  51716. * (Highstock) Linear regression indicator. This series requires `linkedTo`
  51717. * option to be set.
  51718. *
  51719. * In TypeScript the type option must always be set.
  51720. *
  51721. * Configuration options for the series are given in three levels:
  51722. *
  51723. * 1. Options for all series in a chart are defined in the plotOptions.series
  51724. * object.
  51725. *
  51726. * 2. Options for all `linearregression` series are defined in
  51727. * plotOptions.linearregression.
  51728. *
  51729. * 3. Options for one single series are given in the series instance array. (see
  51730. * online documentation for example)
  51731. */
  51732. export interface PlotLinearregressionOptions {
  51733. /**
  51734. * (Highstock) Accessibility options for a series.
  51735. */
  51736. accessibility?: SeriesAccessibilityOptionsObject;
  51737. /**
  51738. * (Highstock) Allow this series' points to be selected by clicking on the
  51739. * graphic (columns, point markers, pie slices, map areas etc).
  51740. *
  51741. * The selected points can be handled by point select and unselect events,
  51742. * or collectively by the getSelectedPoints function.
  51743. *
  51744. * And alternative way of selecting points is through dragging.
  51745. */
  51746. allowPointSelect?: boolean;
  51747. /**
  51748. * (Highstock) Enable or disable the initial animation when a series is
  51749. * displayed. The animation can also be set as a configuration object.
  51750. * Please note that this option only applies to the initial animation of the
  51751. * series itself. For other animations, see chart.animation and the
  51752. * animation parameter under the API methods. The following properties are
  51753. * supported:
  51754. *
  51755. * - `defer`: The animation delay time in milliseconds.
  51756. *
  51757. * - `duration`: The duration of the animation in milliseconds.
  51758. *
  51759. * - `easing`: Can be a string reference to an easing function set on the
  51760. * `Math` object or a function. See the _Custom easing function_ demo below.
  51761. *
  51762. * Due to poor performance, animation is disabled in old IE browsers for
  51763. * several chart types.
  51764. */
  51765. animation?: (boolean|PlotLinearregressionAnimationOptions|Partial<AnimationOptionsObject>);
  51766. /**
  51767. * (Highstock) For some series, there is a limit that shuts down initial
  51768. * animation by default when the total number of points in the chart is too
  51769. * high. For example, for a column chart and its derivatives, animation does
  51770. * not run if there is more than 250 points totally. To disable this cap,
  51771. * set `animationLimit` to `Infinity`.
  51772. */
  51773. animationLimit?: number;
  51774. /**
  51775. * (Highstock) Sets the color blending in the boost module.
  51776. */
  51777. boostBlending?: OptionsBoostBlendingValue;
  51778. /**
  51779. * (Highstock) Set the point threshold for when a series should enter boost
  51780. * mode.
  51781. *
  51782. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  51783. * there are 2000 or more points in the series.
  51784. *
  51785. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  51786. * it to 1 will force boosting.
  51787. *
  51788. * Note that the cropThreshold also affects this setting. When zooming in on
  51789. * a series that has fewer points than the `cropThreshold`, all points are
  51790. * rendered although outside the visible plot area, and the `boostThreshold`
  51791. * won't take effect.
  51792. */
  51793. boostThreshold?: number;
  51794. /**
  51795. * (Highmaps) The border color of the map areas.
  51796. *
  51797. * In styled mode, the border stroke is given in the `.highcharts-point`
  51798. * class.
  51799. */
  51800. borderColor?: (ColorString|GradientColorObject|PatternObject);
  51801. /**
  51802. * (Highmaps) The border width of each map area.
  51803. *
  51804. * In styled mode, the border stroke width is given in the
  51805. * `.highcharts-point` class.
  51806. */
  51807. borderWidth?: number;
  51808. /**
  51809. * (Highstock) An additional class name to apply to the series' graphical
  51810. * elements. This option does not replace default class names of the
  51811. * graphical element.
  51812. */
  51813. className?: string;
  51814. /**
  51815. * (Highstock) Disable this option to allow series rendering in the whole
  51816. * plotting area.
  51817. *
  51818. * **Note:** Clipping should be always enabled when chart.zoomType is set
  51819. */
  51820. clip?: boolean;
  51821. /**
  51822. * (Highstock) The main color of the series. In line type series it applies
  51823. * to the line and the point markers unless otherwise specified. In bar type
  51824. * series it applies to the bars unless a color is specified per point. The
  51825. * default value is pulled from the `options.colors` array.
  51826. *
  51827. * In styled mode, the color can be defined by the colorIndex option. Also,
  51828. * the series color can be set with the `.highcharts-series`,
  51829. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  51830. * `.highcharts-series-{n}` class, or individual classes given by the
  51831. * `className` option.
  51832. */
  51833. color?: (ColorString|GradientColorObject|PatternObject);
  51834. /**
  51835. * (Highstock) Styled mode only. A specific color index to use for the
  51836. * series, so its graphic representations are given the class name
  51837. * `highcharts-color-{n}`.
  51838. */
  51839. colorIndex?: number;
  51840. /**
  51841. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  51842. * used to calculate point color if `colorAxis` is used. Requires to set
  51843. * `min` and `max` if some custom point property is used or if approximation
  51844. * for data grouping is set to `'sum'`.
  51845. */
  51846. colorKey?: string;
  51847. /**
  51848. * (Highstock) Compare the values of the series against the first non-null,
  51849. * non- zero value in the visible range. The y axis will show percentage or
  51850. * absolute change depending on whether `compare` is set to `"percent"` or
  51851. * `"value"`. When this is applied to multiple series, it allows comparing
  51852. * the development of the series against each other. Adds a `change` field
  51853. * to every point object.
  51854. */
  51855. compare?: string;
  51856. /**
  51857. * (Highstock) When compare is `percent`, this option dictates whether to
  51858. * use 0 or 100 as the base of comparison.
  51859. */
  51860. compareBase?: (0|100);
  51861. /**
  51862. * (Highstock) Defines if comparison should start from the first point
  51863. * within the visible range or should start from the first point **before**
  51864. * the range.
  51865. *
  51866. * In other words, this flag determines if first point within the visible
  51867. * range will have 0% (`compareStart=true`) or should have been already
  51868. * calculated according to the previous point (`compareStart=false`).
  51869. */
  51870. compareStart?: boolean;
  51871. /**
  51872. * (Highstock) Whether to compare indicator to the main series values or
  51873. * indicator values.
  51874. */
  51875. compareToMain?: boolean;
  51876. /**
  51877. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  51878. * series plot across the extremes.
  51879. */
  51880. connectEnds?: boolean;
  51881. /**
  51882. * (Highcharts, Highstock) Whether to connect a graph line across null
  51883. * points, or render a gap between the two points on either side of the
  51884. * null.
  51885. */
  51886. connectNulls?: boolean;
  51887. /**
  51888. * (Gantt) Override Pathfinder connector options for a series. Requires
  51889. * Highcharts Gantt to be loaded.
  51890. */
  51891. connectors?: SeriesConnectorsOptionsObject;
  51892. /**
  51893. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  51894. * rounded to its nearest pixel in order to render sharp on screen. In some
  51895. * cases, when there are a lot of densely packed columns, this leads to
  51896. * visible difference in column widths or distance between columns. In these
  51897. * cases, setting `crisp` to `false` may look better, even though each
  51898. * column is rendered blurry.
  51899. */
  51900. crisp?: boolean;
  51901. /**
  51902. * (Highcharts, Highstock) When the series contains less points than the
  51903. * crop threshold, all points are drawn, even if the points fall outside the
  51904. * visible plot area at the current zoom. The advantage of drawing all
  51905. * points (including markers and columns), is that animation is performed on
  51906. * updates. On the other hand, when the series contains more points than the
  51907. * crop threshold, the series data is cropped to only contain points that
  51908. * fall within the plot area. The advantage of cropping away invisible
  51909. * points is to increase performance on large series.
  51910. */
  51911. cropThreshold?: number;
  51912. /**
  51913. * (Highstock) You can set the cursor to "pointer" if you have click events
  51914. * attached to the series, to signal to the user that the points and lines
  51915. * can be clicked.
  51916. *
  51917. * In styled mode, the series cursor can be set with the same classes as
  51918. * listed under series.color.
  51919. */
  51920. cursor?: (string|CursorValue);
  51921. /**
  51922. * (Highstock) A reserved subspace to store options and values for
  51923. * customized functionality. Here you can add additional data for your own
  51924. * event callbacks and formatter callbacks.
  51925. */
  51926. custom?: Dictionary<any>;
  51927. /**
  51928. * (Highstock) Name of the dash style to use for the graph, or for some
  51929. * series types the outline of each shape.
  51930. *
  51931. * In styled mode, the stroke dash-array can be set with the same classes as
  51932. * listed under series.color.
  51933. */
  51934. dashStyle?: DashStyleValue;
  51935. /**
  51936. * (Highstock) Data grouping is the concept of sampling the data values into
  51937. * larger blocks in order to ease readability and increase performance of
  51938. * the JavaScript charts. Highstock by default applies data grouping when
  51939. * the points become closer than a certain pixel value, determined by the
  51940. * `groupPixelWidth` option.
  51941. *
  51942. * If data grouping is applied, the grouping information of grouped points
  51943. * can be read from the Point.dataGroup. If point options other than the
  51944. * data itself are set, for example `name` or `color` or custom properties,
  51945. * the grouping logic doesn't know how to group it. In this case the options
  51946. * of the first point instance are copied over to the group point. This can
  51947. * be altered through a custom `approximation` callback function.
  51948. */
  51949. dataGrouping?: DataGroupingOptionsObject;
  51950. /**
  51951. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  51952. * labels, appearing next to each data point.
  51953. *
  51954. * Since v6.2.0, multiple data labels can be applied to each single point by
  51955. * defining them as an array of configs.
  51956. *
  51957. * In styled mode, the data labels can be styled with the
  51958. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  51959. * (see example).
  51960. */
  51961. dataLabels?: (PlotLinearregressionDataLabelsOptions|Array<PlotLinearregressionDataLabelsOptions>);
  51962. /**
  51963. * (Highcharts, Highstock) Options for the series data sorting.
  51964. */
  51965. dataSorting?: (DataSortingOptionsObject|PlotLinearregressionDataSortingOptions);
  51966. /**
  51967. * (Highstock) A description of the series to add to the screen reader
  51968. * information about the series.
  51969. */
  51970. description?: string;
  51971. /**
  51972. * (Highstock) Enable or disable the mouse tracking for a specific series.
  51973. * This includes point tooltips and click events on graphs and points. For
  51974. * large datasets it improves performance.
  51975. */
  51976. enableMouseTracking?: boolean;
  51977. /**
  51978. * (Highstock) General event handlers for the series items. These event
  51979. * hooks can also be attached to the series at run time using the
  51980. * `Highcharts.addEvent` function.
  51981. */
  51982. events?: SeriesEventsOptionsObject;
  51983. /**
  51984. * (Highstock) Determines whether the series should look for the nearest
  51985. * point in both dimensions or just the x-dimension when hovering the
  51986. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  51987. * series. If the data has duplicate x-values, it is recommended to set this
  51988. * to `'xy'` to allow hovering over all points.
  51989. *
  51990. * Applies only to series types using nearest neighbor search (not direct
  51991. * hover) for tooltip.
  51992. */
  51993. findNearestPointBy?: OptionsFindNearestPointByValue;
  51994. /**
  51995. * (Highstock) Defines when to display a gap in the graph, together with the
  51996. * gapUnit option.
  51997. *
  51998. * In case when `dataGrouping` is enabled, points can be grouped into a
  51999. * larger time span. This can make the grouped points to have a greater
  52000. * distance than the absolute value of `gapSize` property, which will result
  52001. * in disappearing graph completely. To prevent this situation the mentioned
  52002. * distance between grouped points is used instead of previously defined
  52003. * `gapSize`.
  52004. *
  52005. * In practice, this option is most often used to visualize gaps in time
  52006. * series. In a stock chart, intraday data is available for daytime hours,
  52007. * while gaps will appear in nights and weekends.
  52008. */
  52009. gapSize?: number;
  52010. /**
  52011. * (Highstock) Together with gapSize, this option defines where to draw gaps
  52012. * in the graph.
  52013. *
  52014. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  52015. * if the distance between two points is greater than 5 times that of the
  52016. * two closest points, the graph will be broken.
  52017. *
  52018. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  52019. * values, which on a datetime axis is milliseconds. This also applies to
  52020. * the navigator series that inherits gap options from the base series.
  52021. */
  52022. gapUnit?: OptionsGapUnitValue;
  52023. /**
  52024. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  52025. * chart width or only the zoomed area when zooming in on parts of the X
  52026. * axis. By default, the Y axis adjusts to the min and max of the visible
  52027. * data. Cartesian series only.
  52028. */
  52029. getExtremesFromAll?: boolean;
  52030. /**
  52031. * (Highstock) When set to `false` will prevent the series data from being
  52032. * included in any form of data export.
  52033. *
  52034. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  52035. * `includeInCSVExport`.
  52036. */
  52037. includeInDataExport?: boolean;
  52038. /**
  52039. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  52040. * series as possible in a natural way, seeking to avoid other series. The
  52041. * goal of this feature is to make the chart more easily readable, like if a
  52042. * human designer placed the labels in the optimal position.
  52043. *
  52044. * The series labels currently work with series types having a `graph` or an
  52045. * `area`.
  52046. */
  52047. label?: SeriesLabelOptionsObject;
  52048. /**
  52049. * (Highstock) The line marks the last price from all points.
  52050. */
  52051. lastPrice?: SeriesLastPriceOptionsObject;
  52052. /**
  52053. * (Highstock) The line marks the last price from visible range of points.
  52054. */
  52055. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  52056. /**
  52057. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  52058. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  52059. * the ends and bends.
  52060. */
  52061. linecap?: SeriesLinecapValue;
  52062. /**
  52063. * (Highcharts, Highstock) Pixel width of the graph line.
  52064. */
  52065. lineWidth?: number;
  52066. /**
  52067. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  52068. * based on. Required for this indicator.
  52069. */
  52070. linkedTo?: string;
  52071. /**
  52072. * (Highstock) Options for the point markers of line-like series. Properties
  52073. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  52074. * appearance of the markers. Other series types, like column series, don't
  52075. * have markers, but have visual options on the series level instead.
  52076. *
  52077. * In styled mode, the markers can be styled with the `.highcharts-point`,
  52078. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  52079. */
  52080. marker?: PointMarkerOptionsObject;
  52081. /**
  52082. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  52083. * If not set, it will be based on a technical indicator type and default
  52084. * params.
  52085. */
  52086. name?: string;
  52087. /**
  52088. * (Highstock) The color for the parts of the graph or points that are below
  52089. * the threshold. Note that `zones` takes precedence over the negative
  52090. * color. Using `negativeColor` is equivalent to applying a zone with value
  52091. * of 0.
  52092. */
  52093. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  52094. /**
  52095. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  52096. * dataLabels.
  52097. */
  52098. opacity?: number;
  52099. /**
  52100. * (Highstock) Paramters used in calculation of regression series' points.
  52101. */
  52102. params?: PlotLinearregressionParamsOptions;
  52103. /**
  52104. * (Highstock) Properties for each single point.
  52105. */
  52106. point?: PlotSeriesPointOptions;
  52107. /**
  52108. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  52109. * individual series. Overrides the chart wide configuration.
  52110. */
  52111. pointDescriptionFormatter?: Function;
  52112. /**
  52113. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  52114. * true, the checkbox next to the series name in the legend will be checked
  52115. * for a selected series.
  52116. */
  52117. selected?: boolean;
  52118. /**
  52119. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  52120. * the shadow can be an object configuration containing `color`, `offsetX`,
  52121. * `offsetY`, `opacity` and `width`.
  52122. */
  52123. shadow?: (boolean|ShadowOptionsObject);
  52124. /**
  52125. * (Highstock) If true, a checkbox is displayed next to the legend item to
  52126. * allow selecting the series. The state of the checkbox is determined by
  52127. * the `selected` option.
  52128. */
  52129. showCheckbox?: boolean;
  52130. /**
  52131. * (Highstock) Whether to display this particular series or series type in
  52132. * the legend. Standalone series are shown in legend by default, and linked
  52133. * series are not. Since v7.2.0 it is possible to show series that use
  52134. * colorAxis by setting this option to `true`.
  52135. */
  52136. showInLegend?: boolean;
  52137. /**
  52138. * (Highstock) If set to `true`, the accessibility module will skip past the
  52139. * points in this series for keyboard navigation.
  52140. */
  52141. skipKeyboardNavigation?: boolean;
  52142. /**
  52143. * (Highcharts, Highstock) When this is true, the series will not cause the
  52144. * Y axis to cross the zero plane (or threshold option) unless the data
  52145. * actually crosses the plane.
  52146. *
  52147. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  52148. * make the Y axis show negative values according to the `minPadding`
  52149. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  52150. */
  52151. softThreshold?: boolean;
  52152. states?: SeriesStatesOptionsObject;
  52153. /**
  52154. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  52155. * values are `left`, `center` and `right`.
  52156. */
  52157. step?: OptionsStepValue;
  52158. /**
  52159. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  52160. * event on a series isn't triggered until the mouse moves over another
  52161. * series, or out of the plot area. When false, the `mouseOut` event on a
  52162. * series is triggered when the mouse leaves the area around the series'
  52163. * graph or markers. This also implies the tooltip when not shared. When
  52164. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  52165. * be hidden when moving the mouse between series. Defaults to true for line
  52166. * and area type series, but to false for columns, pies etc.
  52167. *
  52168. * **Note:** The boost module will force this option because of technical
  52169. * limitations.
  52170. */
  52171. stickyTracking?: boolean;
  52172. /**
  52173. * (Highcharts, Highstock) The threshold, also called zero level or base
  52174. * level. For line type series this is only used in conjunction with
  52175. * negativeColor.
  52176. */
  52177. threshold?: number;
  52178. /**
  52179. * (Highstock) A configuration object for the tooltip rendering of each
  52180. * single series. Properties are inherited from tooltip, but only the
  52181. * following properties can be defined on a series level.
  52182. */
  52183. tooltip?: SeriesTooltipOptionsObject;
  52184. /**
  52185. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  52186. * is longer than this, only one dimensional arrays of numbers, or two
  52187. * dimensional arrays with x and y values are allowed. Also, only the first
  52188. * point is tested, and the rest are assumed to be the same format. This
  52189. * saves expensive data checking and indexing in long series. Set it to `0`
  52190. * disable.
  52191. *
  52192. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  52193. * two dimensional arrays are allowed.
  52194. */
  52195. turboThreshold?: number;
  52196. /**
  52197. * (Highstock) Set the initial visibility of the series.
  52198. */
  52199. visible?: boolean;
  52200. /**
  52201. * (Highmaps) Define the z index of the series.
  52202. */
  52203. zIndex?: number;
  52204. /**
  52205. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  52206. */
  52207. zoneAxis?: string;
  52208. /**
  52209. * (Highcharts, Highstock) An array defining zones within a series. Zones
  52210. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  52211. * the `zoneAxis` option. The zone definitions have to be in ascending order
  52212. * regarding to the value.
  52213. *
  52214. * In styled mode, the color zones are styled with the
  52215. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  52216. * option (view live demo).
  52217. */
  52218. zones?: Array<SeriesZonesOptionsObject>;
  52219. }
  52220. /**
  52221. * (Highstock) Paramters used in calculation of regression series' points.
  52222. */
  52223. export interface PlotLinearregressionParamsOptions {
  52224. /**
  52225. * (Highstock) The point index which indicator calculations will base. For
  52226. * example using OHLC data, index=2 means the indicator will be calculated
  52227. * using Low values.
  52228. */
  52229. index?: number;
  52230. /**
  52231. * (Highstock) The base period for indicator calculations. This is the
  52232. * number of data points which are taken into account for the indicator
  52233. * calculations.
  52234. */
  52235. period?: number;
  52236. /**
  52237. * (Highstock) Unit (in milliseconds) for the x axis distances used to
  52238. * compute the regression line paramters (slope & intercept) for every
  52239. * range. In Highstock the x axis values are always represented in
  52240. * milliseconds which may cause that distances between points are "big"
  52241. * integer numbers.
  52242. *
  52243. * Highstock's linear regression algorithm (least squares method) will
  52244. * utilize these "big" integers for finding the slope and the intercept of
  52245. * the regression line for each period. In consequence, this value may be a
  52246. * very "small" decimal number that's hard to interpret by a human.
  52247. *
  52248. * For instance: `xAxisUnit` equealed to `86400000` ms (1 day) forces the
  52249. * algorithm to treat `86400000` as `1` while computing the slope and the
  52250. * intercept. This may enchance the legiblitity of the indicator's values.
  52251. *
  52252. * Default value is the closest distance between two data points.
  52253. */
  52254. xAxisUnit?: number;
  52255. }
  52256. /**
  52257. * (Highstock) Enable or disable the initial animation when a series is
  52258. * displayed. The animation can also be set as a configuration object. Please
  52259. * note that this option only applies to the initial animation of the series
  52260. * itself. For other animations, see chart.animation and the animation parameter
  52261. * under the API methods. The following properties are supported:
  52262. *
  52263. * - `defer`: The animation delay time in milliseconds.
  52264. *
  52265. * - `duration`: The duration of the animation in milliseconds.
  52266. *
  52267. * - `easing`: Can be a string reference to an easing function set on the `Math`
  52268. * object or a function. See the _Custom easing function_ demo below.
  52269. *
  52270. * Due to poor performance, animation is disabled in old IE browsers for several
  52271. * chart types.
  52272. */
  52273. export interface PlotLinearregressionslopeAnimationOptions {
  52274. defer?: number;
  52275. }
  52276. /**
  52277. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  52278. * animation when a series is displayed for the `dataLabels`. The animation can
  52279. * also be set as a configuration object. Please note that this option only
  52280. * applies to the initial animation. For other animations, see chart.animation
  52281. * and the animation parameter under the API methods. The following properties
  52282. * are supported:
  52283. *
  52284. * - `defer`: The animation delay time in milliseconds.
  52285. */
  52286. export interface PlotLinearregressionslopeDataLabelsAnimationOptions {
  52287. /**
  52288. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  52289. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  52290. * inherits defer time from the series.animation.defer.
  52291. */
  52292. defer?: number;
  52293. }
  52294. /**
  52295. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  52296. * appearing next to each data point.
  52297. *
  52298. * Since v6.2.0, multiple data labels can be applied to each single point by
  52299. * defining them as an array of configs.
  52300. *
  52301. * In styled mode, the data labels can be styled with the
  52302. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  52303. * example).
  52304. */
  52305. export interface PlotLinearregressionslopeDataLabelsOptions {
  52306. /**
  52307. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  52308. * compared to the point. If `right`, the right side of the label should be
  52309. * touching the point. For points with an extent, like columns, the
  52310. * alignments also dictates how to align it inside the box, as given with
  52311. * the inside option. Can be one of `left`, `center` or `right`.
  52312. */
  52313. align?: (AlignValue|null);
  52314. /**
  52315. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  52316. * overlap. To make the labels less sensitive for overlapping, the
  52317. * dataLabels.padding can be set to 0.
  52318. */
  52319. allowOverlap?: boolean;
  52320. /**
  52321. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  52322. * animation when a series is displayed for the `dataLabels`. The animation
  52323. * can also be set as a configuration object. Please note that this option
  52324. * only applies to the initial animation. For other animations, see
  52325. * chart.animation and the animation parameter under the API methods. The
  52326. * following properties are supported:
  52327. *
  52328. * - `defer`: The animation delay time in milliseconds.
  52329. */
  52330. animation?: (boolean|PlotLinearregressionslopeDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  52331. /**
  52332. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  52333. * for the data label.
  52334. */
  52335. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  52336. /**
  52337. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  52338. * label. Defaults to `undefined`.
  52339. */
  52340. borderColor?: (ColorString|GradientColorObject|PatternObject);
  52341. /**
  52342. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  52343. * the data label.
  52344. */
  52345. borderRadius?: number;
  52346. /**
  52347. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  52348. * the data label.
  52349. */
  52350. borderWidth?: number;
  52351. /**
  52352. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  52353. * Particularly in styled mode, this can be used to give each series' or
  52354. * point's data label unique styling. In addition to this option, a default
  52355. * color class name is added so that we can give the labels a contrast text
  52356. * shadow.
  52357. */
  52358. className?: string;
  52359. /**
  52360. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  52361. * labels. Defaults to `undefined`. For certain series types, like column or
  52362. * map, the data labels can be drawn inside the points. In this case the
  52363. * data label will be drawn with maximum contrast by default. Additionally,
  52364. * it will be given a `text-outline` style with the opposite color, to
  52365. * further increase the contrast. This can be overridden by setting the
  52366. * `text-outline` style to `none` in the `dataLabels.style` option.
  52367. */
  52368. color?: (ColorString|GradientColorObject|PatternObject);
  52369. /**
  52370. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  52371. * are outside the plot area. By default, the data label is moved inside the
  52372. * plot area according to the overflow option.
  52373. */
  52374. crop?: boolean;
  52375. /**
  52376. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  52377. * labels until the initial series animation has finished. Setting to
  52378. * `false` renders the data label immediately. If set to `true` inherits the
  52379. * defer time set in plotOptions.series.animation.
  52380. */
  52381. defer?: boolean;
  52382. /**
  52383. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  52384. * labels.
  52385. */
  52386. enabled?: boolean;
  52387. /**
  52388. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  52389. * of which data labels to display. The declarative filter is designed for
  52390. * use when callback functions are not available, like when the chart
  52391. * options require a pure JSON structure or for use with graphical editors.
  52392. * For programmatic control, use the `formatter` instead, and return
  52393. * `undefined` to disable a single data label.
  52394. */
  52395. filter?: DataLabelsFilterOptionsObject;
  52396. /**
  52397. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  52398. * label. Available variables are the same as for `formatter`.
  52399. */
  52400. format?: string;
  52401. /**
  52402. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  52403. * format the data label. Note that if a `format` is defined, the format
  52404. * takes precedence and the formatter is ignored.
  52405. */
  52406. formatter?: DataLabelsFormatterCallbackFunction;
  52407. /**
  52408. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  52409. * columns or map areas, whether to align the data label inside the box or
  52410. * to the actual value point. Defaults to `false` in most cases, `true` in
  52411. * stacked columns.
  52412. */
  52413. inside?: boolean;
  52414. /**
  52415. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  52416. * of null. Works analogously to format. `nullFormat` can be applied only to
  52417. * series which support displaying null points.
  52418. */
  52419. nullFormat?: (boolean|string);
  52420. /**
  52421. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  52422. * that defines formatting for points with the value of null. Works
  52423. * analogously to formatter. `nullPointFormatter` can be applied only to
  52424. * series which support displaying null points.
  52425. */
  52426. nullFormatter?: DataLabelsFormatterCallbackFunction;
  52427. /**
  52428. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  52429. * flow outside the plot area. The default is `"justify"`, which aligns them
  52430. * inside the plot area. For columns and bars, this means it will be moved
  52431. * inside the bar. To display data labels outside the plot area, set `crop`
  52432. * to `false` and `overflow` to `"allow"`.
  52433. */
  52434. overflow?: DataLabelsOverflowValue;
  52435. /**
  52436. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  52437. * the `backgroundColor` is set, this is the padding within the box.
  52438. */
  52439. padding?: number;
  52440. /**
  52441. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  52442. * points. If `center` alignment is not possible, it defaults to `right`.
  52443. */
  52444. position?: AlignValue;
  52445. /**
  52446. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  52447. * that due to a more complex structure, backgrounds, borders and padding
  52448. * will be lost on a rotated data label.
  52449. */
  52450. rotation?: number;
  52451. /**
  52452. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  52453. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  52454. * an object configuration containing `color`, `offsetX`, `offsetY`,
  52455. * `opacity` and `width`.
  52456. */
  52457. shadow?: (boolean|ShadowOptionsObject);
  52458. /**
  52459. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  52460. * the border around the label. Symbols are predefined functions on the
  52461. * Renderer object.
  52462. */
  52463. shape?: string;
  52464. /**
  52465. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  52466. * default `color` setting is `"contrast"`, which is a pseudo color that
  52467. * Highcharts picks up and applies the maximum contrast to the underlying
  52468. * point item, for example the bar in a bar chart.
  52469. *
  52470. * The `textOutline` is a pseudo property that applies an outline of the
  52471. * given width with the given color, which by default is the maximum
  52472. * contrast to the text. So a bright text color will result in a black text
  52473. * outline for maximum readability on a mixed background. In some cases,
  52474. * especially with grayscale text, the text outline doesn't work well, in
  52475. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  52476. * is true, the `textOutline` will not be picked up. In this, case, the same
  52477. * effect can be acheived through the `text-shadow` CSS property.
  52478. *
  52479. * For some series types, where each point has an extent, like for example
  52480. * tree maps, the data label may overflow the point. There are two
  52481. * strategies for handling overflow. By default, the text will wrap to
  52482. * multiple lines. The other strategy is to set `style.textOverflow` to
  52483. * `ellipsis`, which will keep the text on one line plus it will break
  52484. * inside long words.
  52485. */
  52486. style?: CSSObject;
  52487. /**
  52488. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  52489. * should follow marker's shape. Border and background are disabled for a
  52490. * label that follows a path.
  52491. *
  52492. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  52493. * to true will disable this option.
  52494. */
  52495. textPath?: DataLabelsTextPathOptionsObject;
  52496. /**
  52497. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  52498. * the labels.
  52499. */
  52500. useHTML?: boolean;
  52501. /**
  52502. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  52503. * label. Can be one of `top`, `middle` or `bottom`. The default value
  52504. * depends on the data, for instance in a column chart, the label is above
  52505. * positive values and below negative values.
  52506. */
  52507. verticalAlign?: (VerticalAlignValue|null);
  52508. /**
  52509. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  52510. * label relative to the point in pixels.
  52511. */
  52512. x?: number;
  52513. /**
  52514. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  52515. * label relative to the point in pixels.
  52516. */
  52517. y?: number;
  52518. /**
  52519. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  52520. * The default Z index puts it above the series. Use a Z index of 2 to
  52521. * display it behind the series.
  52522. */
  52523. z?: number;
  52524. }
  52525. /**
  52526. * (Highcharts, Highstock) Options for the series data sorting.
  52527. */
  52528. export interface PlotLinearregressionslopeDataSortingOptions {
  52529. /**
  52530. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  52531. * Use xAxis.reversed to change the sorting order.
  52532. */
  52533. enabled?: boolean;
  52534. /**
  52535. * (Highcharts, Highstock) Whether to allow matching points by name in an
  52536. * update. If this option is disabled, points will be matched by order.
  52537. */
  52538. matchByName?: boolean;
  52539. /**
  52540. * (Highcharts, Highstock) Determines what data value should be used to sort
  52541. * by.
  52542. */
  52543. sortKey?: string;
  52544. }
  52545. /**
  52546. * (Highstock) Linear regression slope indicator. This series requires
  52547. * `linkedTo` option to be set.
  52548. *
  52549. * In TypeScript the type option must always be set.
  52550. *
  52551. * Configuration options for the series are given in three levels:
  52552. *
  52553. * 1. Options for all series in a chart are defined in the plotOptions.series
  52554. * object.
  52555. *
  52556. * 2. Options for all `linearregressionslope` series are defined in
  52557. * plotOptions.linearregressionslope.
  52558. *
  52559. * 3. Options for one single series are given in the series instance array. (see
  52560. * online documentation for example)
  52561. */
  52562. export interface PlotLinearregressionslopeOptions {
  52563. /**
  52564. * (Highstock) Accessibility options for a series.
  52565. */
  52566. accessibility?: SeriesAccessibilityOptionsObject;
  52567. /**
  52568. * (Highstock) Allow this series' points to be selected by clicking on the
  52569. * graphic (columns, point markers, pie slices, map areas etc).
  52570. *
  52571. * The selected points can be handled by point select and unselect events,
  52572. * or collectively by the getSelectedPoints function.
  52573. *
  52574. * And alternative way of selecting points is through dragging.
  52575. */
  52576. allowPointSelect?: boolean;
  52577. /**
  52578. * (Highstock) Enable or disable the initial animation when a series is
  52579. * displayed. The animation can also be set as a configuration object.
  52580. * Please note that this option only applies to the initial animation of the
  52581. * series itself. For other animations, see chart.animation and the
  52582. * animation parameter under the API methods. The following properties are
  52583. * supported:
  52584. *
  52585. * - `defer`: The animation delay time in milliseconds.
  52586. *
  52587. * - `duration`: The duration of the animation in milliseconds.
  52588. *
  52589. * - `easing`: Can be a string reference to an easing function set on the
  52590. * `Math` object or a function. See the _Custom easing function_ demo below.
  52591. *
  52592. * Due to poor performance, animation is disabled in old IE browsers for
  52593. * several chart types.
  52594. */
  52595. animation?: (boolean|PlotLinearregressionslopeAnimationOptions|Partial<AnimationOptionsObject>);
  52596. /**
  52597. * (Highstock) For some series, there is a limit that shuts down initial
  52598. * animation by default when the total number of points in the chart is too
  52599. * high. For example, for a column chart and its derivatives, animation does
  52600. * not run if there is more than 250 points totally. To disable this cap,
  52601. * set `animationLimit` to `Infinity`.
  52602. */
  52603. animationLimit?: number;
  52604. /**
  52605. * (Highstock) Sets the color blending in the boost module.
  52606. */
  52607. boostBlending?: OptionsBoostBlendingValue;
  52608. /**
  52609. * (Highstock) Set the point threshold for when a series should enter boost
  52610. * mode.
  52611. *
  52612. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  52613. * there are 2000 or more points in the series.
  52614. *
  52615. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  52616. * it to 1 will force boosting.
  52617. *
  52618. * Note that the cropThreshold also affects this setting. When zooming in on
  52619. * a series that has fewer points than the `cropThreshold`, all points are
  52620. * rendered although outside the visible plot area, and the `boostThreshold`
  52621. * won't take effect.
  52622. */
  52623. boostThreshold?: number;
  52624. /**
  52625. * (Highmaps) The border color of the map areas.
  52626. *
  52627. * In styled mode, the border stroke is given in the `.highcharts-point`
  52628. * class.
  52629. */
  52630. borderColor?: (ColorString|GradientColorObject|PatternObject);
  52631. /**
  52632. * (Highmaps) The border width of each map area.
  52633. *
  52634. * In styled mode, the border stroke width is given in the
  52635. * `.highcharts-point` class.
  52636. */
  52637. borderWidth?: number;
  52638. /**
  52639. * (Highstock) An additional class name to apply to the series' graphical
  52640. * elements. This option does not replace default class names of the
  52641. * graphical element.
  52642. */
  52643. className?: string;
  52644. /**
  52645. * (Highstock) Disable this option to allow series rendering in the whole
  52646. * plotting area.
  52647. *
  52648. * **Note:** Clipping should be always enabled when chart.zoomType is set
  52649. */
  52650. clip?: boolean;
  52651. /**
  52652. * (Highstock) The main color of the series. In line type series it applies
  52653. * to the line and the point markers unless otherwise specified. In bar type
  52654. * series it applies to the bars unless a color is specified per point. The
  52655. * default value is pulled from the `options.colors` array.
  52656. *
  52657. * In styled mode, the color can be defined by the colorIndex option. Also,
  52658. * the series color can be set with the `.highcharts-series`,
  52659. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  52660. * `.highcharts-series-{n}` class, or individual classes given by the
  52661. * `className` option.
  52662. */
  52663. color?: (ColorString|GradientColorObject|PatternObject);
  52664. /**
  52665. * (Highstock) Styled mode only. A specific color index to use for the
  52666. * series, so its graphic representations are given the class name
  52667. * `highcharts-color-{n}`.
  52668. */
  52669. colorIndex?: number;
  52670. /**
  52671. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  52672. * used to calculate point color if `colorAxis` is used. Requires to set
  52673. * `min` and `max` if some custom point property is used or if approximation
  52674. * for data grouping is set to `'sum'`.
  52675. */
  52676. colorKey?: string;
  52677. /**
  52678. * (Highstock) Compare the values of the series against the first non-null,
  52679. * non- zero value in the visible range. The y axis will show percentage or
  52680. * absolute change depending on whether `compare` is set to `"percent"` or
  52681. * `"value"`. When this is applied to multiple series, it allows comparing
  52682. * the development of the series against each other. Adds a `change` field
  52683. * to every point object.
  52684. */
  52685. compare?: string;
  52686. /**
  52687. * (Highstock) When compare is `percent`, this option dictates whether to
  52688. * use 0 or 100 as the base of comparison.
  52689. */
  52690. compareBase?: (0|100);
  52691. /**
  52692. * (Highstock) Defines if comparison should start from the first point
  52693. * within the visible range or should start from the first point **before**
  52694. * the range.
  52695. *
  52696. * In other words, this flag determines if first point within the visible
  52697. * range will have 0% (`compareStart=true`) or should have been already
  52698. * calculated according to the previous point (`compareStart=false`).
  52699. */
  52700. compareStart?: boolean;
  52701. /**
  52702. * (Highstock) Whether to compare indicator to the main series values or
  52703. * indicator values.
  52704. */
  52705. compareToMain?: boolean;
  52706. /**
  52707. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  52708. * series plot across the extremes.
  52709. */
  52710. connectEnds?: boolean;
  52711. /**
  52712. * (Highcharts, Highstock) Whether to connect a graph line across null
  52713. * points, or render a gap between the two points on either side of the
  52714. * null.
  52715. */
  52716. connectNulls?: boolean;
  52717. /**
  52718. * (Gantt) Override Pathfinder connector options for a series. Requires
  52719. * Highcharts Gantt to be loaded.
  52720. */
  52721. connectors?: SeriesConnectorsOptionsObject;
  52722. /**
  52723. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  52724. * rounded to its nearest pixel in order to render sharp on screen. In some
  52725. * cases, when there are a lot of densely packed columns, this leads to
  52726. * visible difference in column widths or distance between columns. In these
  52727. * cases, setting `crisp` to `false` may look better, even though each
  52728. * column is rendered blurry.
  52729. */
  52730. crisp?: boolean;
  52731. /**
  52732. * (Highcharts, Highstock) When the series contains less points than the
  52733. * crop threshold, all points are drawn, even if the points fall outside the
  52734. * visible plot area at the current zoom. The advantage of drawing all
  52735. * points (including markers and columns), is that animation is performed on
  52736. * updates. On the other hand, when the series contains more points than the
  52737. * crop threshold, the series data is cropped to only contain points that
  52738. * fall within the plot area. The advantage of cropping away invisible
  52739. * points is to increase performance on large series.
  52740. */
  52741. cropThreshold?: number;
  52742. /**
  52743. * (Highstock) You can set the cursor to "pointer" if you have click events
  52744. * attached to the series, to signal to the user that the points and lines
  52745. * can be clicked.
  52746. *
  52747. * In styled mode, the series cursor can be set with the same classes as
  52748. * listed under series.color.
  52749. */
  52750. cursor?: (string|CursorValue);
  52751. /**
  52752. * (Highstock) A reserved subspace to store options and values for
  52753. * customized functionality. Here you can add additional data for your own
  52754. * event callbacks and formatter callbacks.
  52755. */
  52756. custom?: Dictionary<any>;
  52757. /**
  52758. * (Highstock) Name of the dash style to use for the graph, or for some
  52759. * series types the outline of each shape.
  52760. *
  52761. * In styled mode, the stroke dash-array can be set with the same classes as
  52762. * listed under series.color.
  52763. */
  52764. dashStyle?: DashStyleValue;
  52765. /**
  52766. * (Highstock) Data grouping is the concept of sampling the data values into
  52767. * larger blocks in order to ease readability and increase performance of
  52768. * the JavaScript charts. Highstock by default applies data grouping when
  52769. * the points become closer than a certain pixel value, determined by the
  52770. * `groupPixelWidth` option.
  52771. *
  52772. * If data grouping is applied, the grouping information of grouped points
  52773. * can be read from the Point.dataGroup. If point options other than the
  52774. * data itself are set, for example `name` or `color` or custom properties,
  52775. * the grouping logic doesn't know how to group it. In this case the options
  52776. * of the first point instance are copied over to the group point. This can
  52777. * be altered through a custom `approximation` callback function.
  52778. */
  52779. dataGrouping?: DataGroupingOptionsObject;
  52780. /**
  52781. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  52782. * labels, appearing next to each data point.
  52783. *
  52784. * Since v6.2.0, multiple data labels can be applied to each single point by
  52785. * defining them as an array of configs.
  52786. *
  52787. * In styled mode, the data labels can be styled with the
  52788. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  52789. * (see example).
  52790. */
  52791. dataLabels?: (PlotLinearregressionslopeDataLabelsOptions|Array<PlotLinearregressionslopeDataLabelsOptions>);
  52792. /**
  52793. * (Highcharts, Highstock) Options for the series data sorting.
  52794. */
  52795. dataSorting?: (DataSortingOptionsObject|PlotLinearregressionslopeDataSortingOptions);
  52796. /**
  52797. * (Highstock) A description of the series to add to the screen reader
  52798. * information about the series.
  52799. */
  52800. description?: string;
  52801. /**
  52802. * (Highstock) Enable or disable the mouse tracking for a specific series.
  52803. * This includes point tooltips and click events on graphs and points. For
  52804. * large datasets it improves performance.
  52805. */
  52806. enableMouseTracking?: boolean;
  52807. /**
  52808. * (Highstock) General event handlers for the series items. These event
  52809. * hooks can also be attached to the series at run time using the
  52810. * `Highcharts.addEvent` function.
  52811. */
  52812. events?: SeriesEventsOptionsObject;
  52813. /**
  52814. * (Highstock) Determines whether the series should look for the nearest
  52815. * point in both dimensions or just the x-dimension when hovering the
  52816. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  52817. * series. If the data has duplicate x-values, it is recommended to set this
  52818. * to `'xy'` to allow hovering over all points.
  52819. *
  52820. * Applies only to series types using nearest neighbor search (not direct
  52821. * hover) for tooltip.
  52822. */
  52823. findNearestPointBy?: OptionsFindNearestPointByValue;
  52824. /**
  52825. * (Highstock) Defines when to display a gap in the graph, together with the
  52826. * gapUnit option.
  52827. *
  52828. * In case when `dataGrouping` is enabled, points can be grouped into a
  52829. * larger time span. This can make the grouped points to have a greater
  52830. * distance than the absolute value of `gapSize` property, which will result
  52831. * in disappearing graph completely. To prevent this situation the mentioned
  52832. * distance between grouped points is used instead of previously defined
  52833. * `gapSize`.
  52834. *
  52835. * In practice, this option is most often used to visualize gaps in time
  52836. * series. In a stock chart, intraday data is available for daytime hours,
  52837. * while gaps will appear in nights and weekends.
  52838. */
  52839. gapSize?: number;
  52840. /**
  52841. * (Highstock) Together with gapSize, this option defines where to draw gaps
  52842. * in the graph.
  52843. *
  52844. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  52845. * if the distance between two points is greater than 5 times that of the
  52846. * two closest points, the graph will be broken.
  52847. *
  52848. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  52849. * values, which on a datetime axis is milliseconds. This also applies to
  52850. * the navigator series that inherits gap options from the base series.
  52851. */
  52852. gapUnit?: OptionsGapUnitValue;
  52853. /**
  52854. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  52855. * chart width or only the zoomed area when zooming in on parts of the X
  52856. * axis. By default, the Y axis adjusts to the min and max of the visible
  52857. * data. Cartesian series only.
  52858. */
  52859. getExtremesFromAll?: boolean;
  52860. /**
  52861. * (Highstock) When set to `false` will prevent the series data from being
  52862. * included in any form of data export.
  52863. *
  52864. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  52865. * `includeInCSVExport`.
  52866. */
  52867. includeInDataExport?: boolean;
  52868. /**
  52869. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  52870. * series as possible in a natural way, seeking to avoid other series. The
  52871. * goal of this feature is to make the chart more easily readable, like if a
  52872. * human designer placed the labels in the optimal position.
  52873. *
  52874. * The series labels currently work with series types having a `graph` or an
  52875. * `area`.
  52876. */
  52877. label?: SeriesLabelOptionsObject;
  52878. /**
  52879. * (Highstock) The line marks the last price from all points.
  52880. */
  52881. lastPrice?: SeriesLastPriceOptionsObject;
  52882. /**
  52883. * (Highstock) The line marks the last price from visible range of points.
  52884. */
  52885. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  52886. /**
  52887. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  52888. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  52889. * the ends and bends.
  52890. */
  52891. linecap?: SeriesLinecapValue;
  52892. /**
  52893. * (Highcharts, Highstock) Pixel width of the graph line.
  52894. */
  52895. lineWidth?: number;
  52896. /**
  52897. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  52898. * based on. Required for this indicator.
  52899. */
  52900. linkedTo?: string;
  52901. /**
  52902. * (Highstock) Options for the point markers of line-like series. Properties
  52903. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  52904. * appearance of the markers. Other series types, like column series, don't
  52905. * have markers, but have visual options on the series level instead.
  52906. *
  52907. * In styled mode, the markers can be styled with the `.highcharts-point`,
  52908. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  52909. */
  52910. marker?: PointMarkerOptionsObject;
  52911. /**
  52912. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  52913. * If not set, it will be based on a technical indicator type and default
  52914. * params.
  52915. */
  52916. name?: string;
  52917. /**
  52918. * (Highstock) The color for the parts of the graph or points that are below
  52919. * the threshold. Note that `zones` takes precedence over the negative
  52920. * color. Using `negativeColor` is equivalent to applying a zone with value
  52921. * of 0.
  52922. */
  52923. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  52924. /**
  52925. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  52926. * dataLabels.
  52927. */
  52928. opacity?: number;
  52929. /**
  52930. * (Highstock) Paramters used in calculation of regression series' points.
  52931. */
  52932. params?: PlotLinearregressionslopeParamsOptions;
  52933. /**
  52934. * (Highstock) Properties for each single point.
  52935. */
  52936. point?: PlotSeriesPointOptions;
  52937. /**
  52938. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  52939. * individual series. Overrides the chart wide configuration.
  52940. */
  52941. pointDescriptionFormatter?: Function;
  52942. /**
  52943. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  52944. * true, the checkbox next to the series name in the legend will be checked
  52945. * for a selected series.
  52946. */
  52947. selected?: boolean;
  52948. /**
  52949. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  52950. * the shadow can be an object configuration containing `color`, `offsetX`,
  52951. * `offsetY`, `opacity` and `width`.
  52952. */
  52953. shadow?: (boolean|ShadowOptionsObject);
  52954. /**
  52955. * (Highstock) If true, a checkbox is displayed next to the legend item to
  52956. * allow selecting the series. The state of the checkbox is determined by
  52957. * the `selected` option.
  52958. */
  52959. showCheckbox?: boolean;
  52960. /**
  52961. * (Highstock) Whether to display this particular series or series type in
  52962. * the legend. Standalone series are shown in legend by default, and linked
  52963. * series are not. Since v7.2.0 it is possible to show series that use
  52964. * colorAxis by setting this option to `true`.
  52965. */
  52966. showInLegend?: boolean;
  52967. /**
  52968. * (Highstock) If set to `true`, the accessibility module will skip past the
  52969. * points in this series for keyboard navigation.
  52970. */
  52971. skipKeyboardNavigation?: boolean;
  52972. /**
  52973. * (Highcharts, Highstock) When this is true, the series will not cause the
  52974. * Y axis to cross the zero plane (or threshold option) unless the data
  52975. * actually crosses the plane.
  52976. *
  52977. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  52978. * make the Y axis show negative values according to the `minPadding`
  52979. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  52980. */
  52981. softThreshold?: boolean;
  52982. states?: SeriesStatesOptionsObject;
  52983. /**
  52984. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  52985. * values are `left`, `center` and `right`.
  52986. */
  52987. step?: OptionsStepValue;
  52988. /**
  52989. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  52990. * event on a series isn't triggered until the mouse moves over another
  52991. * series, or out of the plot area. When false, the `mouseOut` event on a
  52992. * series is triggered when the mouse leaves the area around the series'
  52993. * graph or markers. This also implies the tooltip when not shared. When
  52994. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  52995. * be hidden when moving the mouse between series. Defaults to true for line
  52996. * and area type series, but to false for columns, pies etc.
  52997. *
  52998. * **Note:** The boost module will force this option because of technical
  52999. * limitations.
  53000. */
  53001. stickyTracking?: boolean;
  53002. /**
  53003. * (Highcharts, Highstock) The threshold, also called zero level or base
  53004. * level. For line type series this is only used in conjunction with
  53005. * negativeColor.
  53006. */
  53007. threshold?: number;
  53008. /**
  53009. * (Highstock) A configuration object for the tooltip rendering of each
  53010. * single series. Properties are inherited from tooltip, but only the
  53011. * following properties can be defined on a series level.
  53012. */
  53013. tooltip?: SeriesTooltipOptionsObject;
  53014. /**
  53015. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  53016. * is longer than this, only one dimensional arrays of numbers, or two
  53017. * dimensional arrays with x and y values are allowed. Also, only the first
  53018. * point is tested, and the rest are assumed to be the same format. This
  53019. * saves expensive data checking and indexing in long series. Set it to `0`
  53020. * disable.
  53021. *
  53022. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  53023. * two dimensional arrays are allowed.
  53024. */
  53025. turboThreshold?: number;
  53026. /**
  53027. * (Highstock) Set the initial visibility of the series.
  53028. */
  53029. visible?: boolean;
  53030. /**
  53031. * (Highmaps) Define the z index of the series.
  53032. */
  53033. zIndex?: number;
  53034. /**
  53035. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  53036. */
  53037. zoneAxis?: string;
  53038. /**
  53039. * (Highcharts, Highstock) An array defining zones within a series. Zones
  53040. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  53041. * the `zoneAxis` option. The zone definitions have to be in ascending order
  53042. * regarding to the value.
  53043. *
  53044. * In styled mode, the color zones are styled with the
  53045. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  53046. * option (view live demo).
  53047. */
  53048. zones?: Array<SeriesZonesOptionsObject>;
  53049. }
  53050. /**
  53051. * (Highstock) Paramters used in calculation of regression series' points.
  53052. */
  53053. export interface PlotLinearregressionslopeParamsOptions {
  53054. /**
  53055. * (Highstock) The point index which indicator calculations will base. For
  53056. * example using OHLC data, index=2 means the indicator will be calculated
  53057. * using Low values.
  53058. */
  53059. index?: number;
  53060. /**
  53061. * (Highstock) The base period for indicator calculations. This is the
  53062. * number of data points which are taken into account for the indicator
  53063. * calculations.
  53064. */
  53065. period?: number;
  53066. /**
  53067. * (Highstock) Unit (in milliseconds) for the x axis distances used to
  53068. * compute the regression line paramters (slope & intercept) for every
  53069. * range. In Highstock the x axis values are always represented in
  53070. * milliseconds which may cause that distances between points are "big"
  53071. * integer numbers.
  53072. *
  53073. * Highstock's linear regression algorithm (least squares method) will
  53074. * utilize these "big" integers for finding the slope and the intercept of
  53075. * the regression line for each period. In consequence, this value may be a
  53076. * very "small" decimal number that's hard to interpret by a human.
  53077. *
  53078. * For instance: `xAxisUnit` equealed to `86400000` ms (1 day) forces the
  53079. * algorithm to treat `86400000` as `1` while computing the slope and the
  53080. * intercept. This may enchance the legiblitity of the indicator's values.
  53081. *
  53082. * Default value is the closest distance between two data points.
  53083. */
  53084. xAxisUnit?: number;
  53085. }
  53086. /**
  53087. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  53088. * animation when a series is displayed for the `dataLabels`. The animation can
  53089. * also be set as a configuration object. Please note that this option only
  53090. * applies to the initial animation. For other animations, see chart.animation
  53091. * and the animation parameter under the API methods. The following properties
  53092. * are supported:
  53093. *
  53094. * - `defer`: The animation delay time in milliseconds.
  53095. */
  53096. export interface PlotLineDataLabelsAnimationOptions {
  53097. /**
  53098. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  53099. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  53100. * inherits defer time from the series.animation.defer.
  53101. */
  53102. defer?: number;
  53103. }
  53104. /**
  53105. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  53106. * appearing next to each data point.
  53107. *
  53108. * Since v6.2.0, multiple data labels can be applied to each single point by
  53109. * defining them as an array of configs.
  53110. *
  53111. * In styled mode, the data labels can be styled with the
  53112. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  53113. * example).
  53114. */
  53115. export interface PlotLineDataLabelsOptions {
  53116. /**
  53117. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  53118. * compared to the point. If `right`, the right side of the label should be
  53119. * touching the point. For points with an extent, like columns, the
  53120. * alignments also dictates how to align it inside the box, as given with
  53121. * the inside option. Can be one of `left`, `center` or `right`.
  53122. */
  53123. align?: (AlignValue|null);
  53124. /**
  53125. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  53126. * overlap. To make the labels less sensitive for overlapping, the
  53127. * dataLabels.padding can be set to 0.
  53128. */
  53129. allowOverlap?: boolean;
  53130. /**
  53131. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  53132. * animation when a series is displayed for the `dataLabels`. The animation
  53133. * can also be set as a configuration object. Please note that this option
  53134. * only applies to the initial animation. For other animations, see
  53135. * chart.animation and the animation parameter under the API methods. The
  53136. * following properties are supported:
  53137. *
  53138. * - `defer`: The animation delay time in milliseconds.
  53139. */
  53140. animation?: (boolean|PlotLineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  53141. /**
  53142. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  53143. * for the data label.
  53144. */
  53145. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  53146. /**
  53147. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  53148. * label. Defaults to `undefined`.
  53149. */
  53150. borderColor?: (ColorString|GradientColorObject|PatternObject);
  53151. /**
  53152. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  53153. * the data label.
  53154. */
  53155. borderRadius?: number;
  53156. /**
  53157. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  53158. * the data label.
  53159. */
  53160. borderWidth?: number;
  53161. /**
  53162. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  53163. * Particularly in styled mode, this can be used to give each series' or
  53164. * point's data label unique styling. In addition to this option, a default
  53165. * color class name is added so that we can give the labels a contrast text
  53166. * shadow.
  53167. */
  53168. className?: string;
  53169. /**
  53170. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  53171. * labels. Defaults to `undefined`. For certain series types, like column or
  53172. * map, the data labels can be drawn inside the points. In this case the
  53173. * data label will be drawn with maximum contrast by default. Additionally,
  53174. * it will be given a `text-outline` style with the opposite color, to
  53175. * further increase the contrast. This can be overridden by setting the
  53176. * `text-outline` style to `none` in the `dataLabels.style` option.
  53177. */
  53178. color?: (ColorString|GradientColorObject|PatternObject);
  53179. /**
  53180. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  53181. * are outside the plot area. By default, the data label is moved inside the
  53182. * plot area according to the overflow option.
  53183. */
  53184. crop?: boolean;
  53185. /**
  53186. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  53187. * labels until the initial series animation has finished. Setting to
  53188. * `false` renders the data label immediately. If set to `true` inherits the
  53189. * defer time set in plotOptions.series.animation.
  53190. */
  53191. defer?: boolean;
  53192. /**
  53193. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  53194. * labels.
  53195. */
  53196. enabled?: boolean;
  53197. /**
  53198. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  53199. * of which data labels to display. The declarative filter is designed for
  53200. * use when callback functions are not available, like when the chart
  53201. * options require a pure JSON structure or for use with graphical editors.
  53202. * For programmatic control, use the `formatter` instead, and return
  53203. * `undefined` to disable a single data label.
  53204. */
  53205. filter?: DataLabelsFilterOptionsObject;
  53206. /**
  53207. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  53208. * label. Available variables are the same as for `formatter`.
  53209. */
  53210. format?: string;
  53211. /**
  53212. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  53213. * format the data label. Note that if a `format` is defined, the format
  53214. * takes precedence and the formatter is ignored.
  53215. */
  53216. formatter?: DataLabelsFormatterCallbackFunction;
  53217. /**
  53218. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  53219. * columns or map areas, whether to align the data label inside the box or
  53220. * to the actual value point. Defaults to `false` in most cases, `true` in
  53221. * stacked columns.
  53222. */
  53223. inside?: boolean;
  53224. /**
  53225. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  53226. * of null. Works analogously to format. `nullFormat` can be applied only to
  53227. * series which support displaying null points.
  53228. */
  53229. nullFormat?: (boolean|string);
  53230. /**
  53231. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  53232. * that defines formatting for points with the value of null. Works
  53233. * analogously to formatter. `nullPointFormatter` can be applied only to
  53234. * series which support displaying null points.
  53235. */
  53236. nullFormatter?: DataLabelsFormatterCallbackFunction;
  53237. /**
  53238. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  53239. * flow outside the plot area. The default is `"justify"`, which aligns them
  53240. * inside the plot area. For columns and bars, this means it will be moved
  53241. * inside the bar. To display data labels outside the plot area, set `crop`
  53242. * to `false` and `overflow` to `"allow"`.
  53243. */
  53244. overflow?: DataLabelsOverflowValue;
  53245. /**
  53246. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  53247. * the `backgroundColor` is set, this is the padding within the box.
  53248. */
  53249. padding?: number;
  53250. /**
  53251. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  53252. * points. If `center` alignment is not possible, it defaults to `right`.
  53253. */
  53254. position?: AlignValue;
  53255. /**
  53256. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  53257. * that due to a more complex structure, backgrounds, borders and padding
  53258. * will be lost on a rotated data label.
  53259. */
  53260. rotation?: number;
  53261. /**
  53262. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  53263. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  53264. * an object configuration containing `color`, `offsetX`, `offsetY`,
  53265. * `opacity` and `width`.
  53266. */
  53267. shadow?: (boolean|ShadowOptionsObject);
  53268. /**
  53269. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  53270. * the border around the label. Symbols are predefined functions on the
  53271. * Renderer object.
  53272. */
  53273. shape?: string;
  53274. /**
  53275. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  53276. * default `color` setting is `"contrast"`, which is a pseudo color that
  53277. * Highcharts picks up and applies the maximum contrast to the underlying
  53278. * point item, for example the bar in a bar chart.
  53279. *
  53280. * The `textOutline` is a pseudo property that applies an outline of the
  53281. * given width with the given color, which by default is the maximum
  53282. * contrast to the text. So a bright text color will result in a black text
  53283. * outline for maximum readability on a mixed background. In some cases,
  53284. * especially with grayscale text, the text outline doesn't work well, in
  53285. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  53286. * is true, the `textOutline` will not be picked up. In this, case, the same
  53287. * effect can be acheived through the `text-shadow` CSS property.
  53288. *
  53289. * For some series types, where each point has an extent, like for example
  53290. * tree maps, the data label may overflow the point. There are two
  53291. * strategies for handling overflow. By default, the text will wrap to
  53292. * multiple lines. The other strategy is to set `style.textOverflow` to
  53293. * `ellipsis`, which will keep the text on one line plus it will break
  53294. * inside long words.
  53295. */
  53296. style?: CSSObject;
  53297. /**
  53298. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  53299. * should follow marker's shape. Border and background are disabled for a
  53300. * label that follows a path.
  53301. *
  53302. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  53303. * to true will disable this option.
  53304. */
  53305. textPath?: DataLabelsTextPathOptionsObject;
  53306. /**
  53307. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  53308. * the labels.
  53309. */
  53310. useHTML?: boolean;
  53311. /**
  53312. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  53313. * label. Can be one of `top`, `middle` or `bottom`. The default value
  53314. * depends on the data, for instance in a column chart, the label is above
  53315. * positive values and below negative values.
  53316. */
  53317. verticalAlign?: (VerticalAlignValue|null);
  53318. /**
  53319. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  53320. * label relative to the point in pixels.
  53321. */
  53322. x?: number;
  53323. /**
  53324. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  53325. * label relative to the point in pixels.
  53326. */
  53327. y?: number;
  53328. /**
  53329. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  53330. * The default Z index puts it above the series. Use a Z index of 2 to
  53331. * display it behind the series.
  53332. */
  53333. z?: number;
  53334. }
  53335. /**
  53336. * (Highcharts, Highstock) Options for the series data sorting.
  53337. */
  53338. export interface PlotLineDataSortingOptions {
  53339. /**
  53340. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  53341. * Use xAxis.reversed to change the sorting order.
  53342. */
  53343. enabled?: boolean;
  53344. /**
  53345. * (Highcharts, Highstock) Whether to allow matching points by name in an
  53346. * update. If this option is disabled, points will be matched by order.
  53347. */
  53348. matchByName?: boolean;
  53349. /**
  53350. * (Highcharts, Highstock) Determines what data value should be used to sort
  53351. * by.
  53352. */
  53353. sortKey?: string;
  53354. }
  53355. /**
  53356. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  53357. * one state by default, the `default` state.
  53358. */
  53359. export interface PlotLineDragDropGuideBoxOptions {
  53360. /**
  53361. * (Highcharts, Highstock) Style options for the guide box default state.
  53362. */
  53363. default?: DragDropGuideBoxOptionsObject;
  53364. }
  53365. /**
  53366. * (Highcharts, Highstock) A line series displays information as a series of
  53367. * data points connected by straight line segments.
  53368. *
  53369. * In TypeScript the type option must always be set.
  53370. *
  53371. * Configuration options for the series are given in three levels:
  53372. *
  53373. * 1. Options for all series in a chart are defined in the plotOptions.series
  53374. * object.
  53375. *
  53376. * 2. Options for all `line` series are defined in plotOptions.line.
  53377. *
  53378. * 3. Options for one single series are given in the series instance array. (see
  53379. * online documentation for example)
  53380. */
  53381. export interface PlotLineOptions {
  53382. /**
  53383. * (Highcharts, Highstock) Accessibility options for a series.
  53384. */
  53385. accessibility?: SeriesAccessibilityOptionsObject;
  53386. /**
  53387. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  53388. * rendered. If `true`, areas which don't correspond to a data point, are
  53389. * rendered as `null` points. If `false`, those areas are skipped.
  53390. */
  53391. allAreas?: boolean;
  53392. /**
  53393. * (Highcharts, Highstock) Allow this series' points to be selected by
  53394. * clicking on the graphic (columns, point markers, pie slices, map areas
  53395. * etc).
  53396. *
  53397. * The selected points can be handled by point select and unselect events,
  53398. * or collectively by the getSelectedPoints function.
  53399. *
  53400. * And alternative way of selecting points is through dragging.
  53401. */
  53402. allowPointSelect?: boolean;
  53403. /**
  53404. * (Highcharts, Highstock) Enable or disable the initial animation when a
  53405. * series is displayed. The animation can also be set as a configuration
  53406. * object. Please note that this option only applies to the initial
  53407. * animation of the series itself. For other animations, see chart.animation
  53408. * and the animation parameter under the API methods. The following
  53409. * properties are supported:
  53410. *
  53411. * - `defer`: The animation delay time in milliseconds.
  53412. *
  53413. * - `duration`: The duration of the animation in milliseconds.
  53414. *
  53415. * - `easing`: Can be a string reference to an easing function set on the
  53416. * `Math` object or a function. See the _Custom easing function_ demo below.
  53417. *
  53418. * Due to poor performance, animation is disabled in old IE browsers for
  53419. * several chart types.
  53420. */
  53421. animation?: (boolean|PlotLineAnimationOptions|Partial<AnimationOptionsObject>);
  53422. /**
  53423. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  53424. * initial animation by default when the total number of points in the chart
  53425. * is too high. For example, for a column chart and its derivatives,
  53426. * animation does not run if there is more than 250 points totally. To
  53427. * disable this cap, set `animationLimit` to `Infinity`.
  53428. */
  53429. animationLimit?: number;
  53430. /**
  53431. * (Highcharts, Highstock) Sets the color blending in the boost module.
  53432. */
  53433. boostBlending?: OptionsBoostBlendingValue;
  53434. /**
  53435. * (Highcharts, Highstock) Set the point threshold for when a series should
  53436. * enter boost mode.
  53437. *
  53438. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  53439. * there are 2000 or more points in the series.
  53440. *
  53441. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  53442. * it to 1 will force boosting.
  53443. *
  53444. * Note that the cropThreshold also affects this setting. When zooming in on
  53445. * a series that has fewer points than the `cropThreshold`, all points are
  53446. * rendered although outside the visible plot area, and the `boostThreshold`
  53447. * won't take effect.
  53448. */
  53449. boostThreshold?: number;
  53450. /**
  53451. * (Highmaps) The border color of the map areas.
  53452. *
  53453. * In styled mode, the border stroke is given in the `.highcharts-point`
  53454. * class.
  53455. */
  53456. borderColor?: (ColorString|GradientColorObject|PatternObject);
  53457. /**
  53458. * (Highmaps) The border width of each map area.
  53459. *
  53460. * In styled mode, the border stroke width is given in the
  53461. * `.highcharts-point` class.
  53462. */
  53463. borderWidth?: number;
  53464. /**
  53465. * (Highcharts, Highstock) An additional class name to apply to the series'
  53466. * graphical elements. This option does not replace default class names of
  53467. * the graphical element.
  53468. */
  53469. className?: string;
  53470. /**
  53471. * (Highcharts, Highstock) Disable this option to allow series rendering in
  53472. * the whole plotting area.
  53473. *
  53474. * **Note:** Clipping should be always enabled when chart.zoomType is set
  53475. */
  53476. clip?: boolean;
  53477. /**
  53478. * (Highcharts, Highstock) The main color of the series. In line type series
  53479. * it applies to the line and the point markers unless otherwise specified.
  53480. * In bar type series it applies to the bars unless a color is specified per
  53481. * point. The default value is pulled from the `options.colors` array.
  53482. *
  53483. * In styled mode, the color can be defined by the colorIndex option. Also,
  53484. * the series color can be set with the `.highcharts-series`,
  53485. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  53486. * `.highcharts-series-{n}` class, or individual classes given by the
  53487. * `className` option.
  53488. */
  53489. color?: (ColorString|GradientColorObject|PatternObject);
  53490. /**
  53491. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  53492. * this number defines which colorAxis the particular series is connected
  53493. * to. It refers to either the axis id or the index of the axis in the
  53494. * colorAxis array, with 0 being the first. Set this option to false to
  53495. * prevent a series from connecting to the default color axis.
  53496. *
  53497. * Since v7.2.0 the option can also be an axis id or an axis index instead
  53498. * of a boolean flag.
  53499. */
  53500. colorAxis?: (boolean|number|string);
  53501. /**
  53502. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  53503. * for the series, so its graphic representations are given the class name
  53504. * `highcharts-color-{n}`.
  53505. */
  53506. colorIndex?: number;
  53507. /**
  53508. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  53509. * used to calculate point color if `colorAxis` is used. Requires to set
  53510. * `min` and `max` if some custom point property is used or if approximation
  53511. * for data grouping is set to `'sum'`.
  53512. */
  53513. colorKey?: string;
  53514. /**
  53515. * (Highstock) Compare the values of the series against the first non-null,
  53516. * non- zero value in the visible range. The y axis will show percentage or
  53517. * absolute change depending on whether `compare` is set to `"percent"` or
  53518. * `"value"`. When this is applied to multiple series, it allows comparing
  53519. * the development of the series against each other. Adds a `change` field
  53520. * to every point object.
  53521. */
  53522. compare?: string;
  53523. /**
  53524. * (Highstock) When compare is `percent`, this option dictates whether to
  53525. * use 0 or 100 as the base of comparison.
  53526. */
  53527. compareBase?: (0|100);
  53528. /**
  53529. * (Highstock) Defines if comparison should start from the first point
  53530. * within the visible range or should start from the first point **before**
  53531. * the range.
  53532. *
  53533. * In other words, this flag determines if first point within the visible
  53534. * range will have 0% (`compareStart=true`) or should have been already
  53535. * calculated according to the previous point (`compareStart=false`).
  53536. */
  53537. compareStart?: boolean;
  53538. /**
  53539. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  53540. * series plot across the extremes.
  53541. */
  53542. connectEnds?: boolean;
  53543. /**
  53544. * (Highcharts, Highstock) Whether to connect a graph line across null
  53545. * points, or render a gap between the two points on either side of the
  53546. * null.
  53547. */
  53548. connectNulls?: boolean;
  53549. /**
  53550. * (Gantt) Override Pathfinder connector options for a series. Requires
  53551. * Highcharts Gantt to be loaded.
  53552. */
  53553. connectors?: SeriesConnectorsOptionsObject;
  53554. /**
  53555. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  53556. * rounded to its nearest pixel in order to render sharp on screen. In some
  53557. * cases, when there are a lot of densely packed columns, this leads to
  53558. * visible difference in column widths or distance between columns. In these
  53559. * cases, setting `crisp` to `false` may look better, even though each
  53560. * column is rendered blurry.
  53561. */
  53562. crisp?: boolean;
  53563. /**
  53564. * (Highcharts, Highstock) When the series contains less points than the
  53565. * crop threshold, all points are drawn, even if the points fall outside the
  53566. * visible plot area at the current zoom. The advantage of drawing all
  53567. * points (including markers and columns), is that animation is performed on
  53568. * updates. On the other hand, when the series contains more points than the
  53569. * crop threshold, the series data is cropped to only contain points that
  53570. * fall within the plot area. The advantage of cropping away invisible
  53571. * points is to increase performance on large series.
  53572. */
  53573. cropThreshold?: number;
  53574. /**
  53575. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  53576. * click events attached to the series, to signal to the user that the
  53577. * points and lines can be clicked.
  53578. *
  53579. * In styled mode, the series cursor can be set with the same classes as
  53580. * listed under series.color.
  53581. */
  53582. cursor?: (string|CursorValue);
  53583. /**
  53584. * (Highcharts, Highstock) A reserved subspace to store options and values
  53585. * for customized functionality. Here you can add additional data for your
  53586. * own event callbacks and formatter callbacks.
  53587. */
  53588. custom?: Dictionary<any>;
  53589. /**
  53590. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  53591. * for some series types the outline of each shape.
  53592. *
  53593. * In styled mode, the stroke dash-array can be set with the same classes as
  53594. * listed under series.color.
  53595. */
  53596. dashStyle?: DashStyleValue;
  53597. /**
  53598. * (Highstock) Data grouping is the concept of sampling the data values into
  53599. * larger blocks in order to ease readability and increase performance of
  53600. * the JavaScript charts. Highstock by default applies data grouping when
  53601. * the points become closer than a certain pixel value, determined by the
  53602. * `groupPixelWidth` option.
  53603. *
  53604. * If data grouping is applied, the grouping information of grouped points
  53605. * can be read from the Point.dataGroup. If point options other than the
  53606. * data itself are set, for example `name` or `color` or custom properties,
  53607. * the grouping logic doesn't know how to group it. In this case the options
  53608. * of the first point instance are copied over to the group point. This can
  53609. * be altered through a custom `approximation` callback function.
  53610. */
  53611. dataGrouping?: DataGroupingOptionsObject;
  53612. /**
  53613. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  53614. * labels, appearing next to each data point.
  53615. *
  53616. * Since v6.2.0, multiple data labels can be applied to each single point by
  53617. * defining them as an array of configs.
  53618. *
  53619. * In styled mode, the data labels can be styled with the
  53620. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  53621. * (see example).
  53622. */
  53623. dataLabels?: (PlotLineDataLabelsOptions|Array<PlotLineDataLabelsOptions>);
  53624. /**
  53625. * (Highcharts, Highstock) Options for the series data sorting.
  53626. */
  53627. dataSorting?: (DataSortingOptionsObject|PlotLineDataSortingOptions);
  53628. /**
  53629. * (Highcharts, Highstock) A description of the series to add to the screen
  53630. * reader information about the series.
  53631. */
  53632. description?: string;
  53633. /**
  53634. * (Highcharts, Highstock) The draggable-points module allows points to be
  53635. * moved around or modified in the chart. In addition to the options
  53636. * mentioned under the `dragDrop` API structure, the module fires three
  53637. * events, point.dragStart, point.drag and point.drop.
  53638. */
  53639. dragDrop?: SeriesDragDropOptionsObject;
  53640. /**
  53641. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  53642. * specific series. This includes point tooltips and click events on graphs
  53643. * and points. For large datasets it improves performance.
  53644. */
  53645. enableMouseTracking?: boolean;
  53646. /**
  53647. * (Highcharts, Highstock) General event handlers for the series items.
  53648. * These event hooks can also be attached to the series at run time using
  53649. * the `Highcharts.addEvent` function.
  53650. */
  53651. events?: SeriesEventsOptionsObject;
  53652. /**
  53653. * (Highcharts, Highstock) Determines whether the series should look for the
  53654. * nearest point in both dimensions or just the x-dimension when hovering
  53655. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  53656. * other series. If the data has duplicate x-values, it is recommended to
  53657. * set this to `'xy'` to allow hovering over all points.
  53658. *
  53659. * Applies only to series types using nearest neighbor search (not direct
  53660. * hover) for tooltip.
  53661. */
  53662. findNearestPointBy?: OptionsFindNearestPointByValue;
  53663. /**
  53664. * (Highstock) Defines when to display a gap in the graph, together with the
  53665. * gapUnit option.
  53666. *
  53667. * In case when `dataGrouping` is enabled, points can be grouped into a
  53668. * larger time span. This can make the grouped points to have a greater
  53669. * distance than the absolute value of `gapSize` property, which will result
  53670. * in disappearing graph completely. To prevent this situation the mentioned
  53671. * distance between grouped points is used instead of previously defined
  53672. * `gapSize`.
  53673. *
  53674. * In practice, this option is most often used to visualize gaps in time
  53675. * series. In a stock chart, intraday data is available for daytime hours,
  53676. * while gaps will appear in nights and weekends.
  53677. */
  53678. gapSize?: number;
  53679. /**
  53680. * (Highstock) Together with gapSize, this option defines where to draw gaps
  53681. * in the graph.
  53682. *
  53683. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  53684. * if the distance between two points is greater than 5 times that of the
  53685. * two closest points, the graph will be broken.
  53686. *
  53687. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  53688. * values, which on a datetime axis is milliseconds. This also applies to
  53689. * the navigator series that inherits gap options from the base series.
  53690. */
  53691. gapUnit?: OptionsGapUnitValue;
  53692. /**
  53693. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  53694. * chart width or only the zoomed area when zooming in on parts of the X
  53695. * axis. By default, the Y axis adjusts to the min and max of the visible
  53696. * data. Cartesian series only.
  53697. */
  53698. getExtremesFromAll?: boolean;
  53699. /**
  53700. * (Highcharts, Highstock) When set to `false` will prevent the series data
  53701. * from being included in any form of data export.
  53702. *
  53703. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  53704. * `includeInCSVExport`.
  53705. */
  53706. includeInDataExport?: boolean;
  53707. /**
  53708. * (Highmaps) What property to join the `mapData` to the value data. For
  53709. * example, if joinBy is "code", the mapData items with a specific code is
  53710. * merged into the data with the same code. For maps loaded from GeoJSON,
  53711. * the keys may be held in each point's `properties` object.
  53712. *
  53713. * The joinBy option can also be an array of two values, where the first
  53714. * points to a key in the `mapData`, and the second points to another key in
  53715. * the `data`.
  53716. *
  53717. * When joinBy is `null`, the map items are joined by their position in the
  53718. * array, which performs much better in maps with many data points. This is
  53719. * the recommended option if you are printing more than a thousand data
  53720. * points and have a backend that can preprocess the data into a parallel
  53721. * array of the mapData.
  53722. */
  53723. joinBy?: (string|Array<string>);
  53724. /**
  53725. * (Highcharts, Highstock) An array specifying which option maps to which
  53726. * key in the data point array. This makes it convenient to work with
  53727. * unstructured data arrays from different sources.
  53728. */
  53729. keys?: Array<string>;
  53730. /**
  53731. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  53732. * series as possible in a natural way, seeking to avoid other series. The
  53733. * goal of this feature is to make the chart more easily readable, like if a
  53734. * human designer placed the labels in the optimal position.
  53735. *
  53736. * The series labels currently work with series types having a `graph` or an
  53737. * `area`.
  53738. */
  53739. label?: SeriesLabelOptionsObject;
  53740. /**
  53741. * (Highstock) The line marks the last price from all points.
  53742. */
  53743. lastPrice?: SeriesLastPriceOptionsObject;
  53744. /**
  53745. * (Highstock) The line marks the last price from visible range of points.
  53746. */
  53747. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  53748. /**
  53749. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  53750. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  53751. * the ends and bends.
  53752. */
  53753. linecap?: SeriesLinecapValue;
  53754. /**
  53755. * (Highcharts, Highstock) Pixel width of the graph line.
  53756. */
  53757. lineWidth?: number;
  53758. /**
  53759. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  53760. * Additionally, the value can be ":previous" to link to the previous
  53761. * series. When two series are linked, only the first one appears in the
  53762. * legend. Toggling the visibility of this also toggles the linked series.
  53763. *
  53764. * If master series uses data sorting and linked series does not have its
  53765. * own sorting definition, the linked series will be sorted in the same
  53766. * order as the master one.
  53767. */
  53768. linkedTo?: string;
  53769. /**
  53770. * (Highcharts, Highstock) Options for the point markers of line-like
  53771. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  53772. * the visual appearance of the markers. Other series types, like column
  53773. * series, don't have markers, but have visual options on the series level
  53774. * instead.
  53775. *
  53776. * In styled mode, the markers can be styled with the `.highcharts-point`,
  53777. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  53778. */
  53779. marker?: PointMarkerOptionsObject;
  53780. /**
  53781. * (Highstock) Options for the corresponding navigator series if
  53782. * `showInNavigator` is `true` for this series. Available options are the
  53783. * same as any series, documented at plotOptions and series.
  53784. *
  53785. * These options are merged with options in navigator.series, and will take
  53786. * precedence if the same option is defined both places.
  53787. */
  53788. navigatorOptions?: PlotSeriesOptions;
  53789. /**
  53790. * (Highcharts, Highstock) The color for the parts of the graph or points
  53791. * that are below the threshold. Note that `zones` takes precedence over the
  53792. * negative color. Using `negativeColor` is equivalent to applying a zone
  53793. * with value of 0.
  53794. */
  53795. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  53796. /**
  53797. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  53798. * and dataLabels.
  53799. */
  53800. opacity?: number;
  53801. /**
  53802. * (Highcharts, Highstock) Properties for each single point.
  53803. */
  53804. point?: PlotSeriesPointOptions;
  53805. /**
  53806. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  53807. * but for an individual series. Overrides the chart wide configuration.
  53808. */
  53809. pointDescriptionFormatter?: Function;
  53810. /**
  53811. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  53812. * a series, `pointInterval` defines the interval of the x values. For
  53813. * example, if a series contains one value every decade starting from year
  53814. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  53815. * `pointInterval` is set in milliseconds.
  53816. *
  53817. * It can be also be combined with `pointIntervalUnit` to draw irregular
  53818. * time intervals.
  53819. *
  53820. * Please note that this options applies to the _series data_, not the
  53821. * interval of the axis ticks, which is independent.
  53822. */
  53823. pointInterval?: number;
  53824. /**
  53825. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  53826. * setting the pointInterval to irregular time units, `day`, `month` and
  53827. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  53828. * also takes the DST crossover into consideration when dealing with local
  53829. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  53830. * months, 10 years etc.
  53831. *
  53832. * Please note that this options applies to the _series data_, not the
  53833. * interval of the axis ticks, which is independent.
  53834. */
  53835. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  53836. /**
  53837. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  53838. * `number`.
  53839. *
  53840. * In a column chart, when pointPlacement is `"on"`, the point will not
  53841. * create any padding of the X axis. In a polar column chart this means that
  53842. * the first column points directly north. If the pointPlacement is
  53843. * `"between"`, the columns will be laid out between ticks. This is useful
  53844. * for example for visualising an amount between two points in time or in a
  53845. * certain sector of a polar chart.
  53846. *
  53847. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  53848. * is on the axis value, -0.5 is between this value and the previous, and
  53849. * 0.5 is between this value and the next. Unlike the textual options,
  53850. * numeric point placement options won't affect axis padding.
  53851. *
  53852. * Note that pointPlacement needs a pointRange to work. For column series
  53853. * this is computed, but for line-type series it needs to be set.
  53854. *
  53855. * For the `xrange` series type and gantt charts, if the Y axis is a
  53856. * category axis, the `pointPlacement` applies to the Y axis rather than the
  53857. * (typically datetime) X axis.
  53858. *
  53859. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  53860. */
  53861. pointPlacement?: (number|string);
  53862. /**
  53863. * (Highstock) The width of each point on the x axis. For example in a
  53864. * column chart with one value each day, the pointRange would be 1 day (= 24
  53865. * * 3600
  53866. *
  53867. * * 1000 milliseconds). This is normally computed automatically, but this
  53868. * option can be used to override the automatic value.
  53869. */
  53870. pointRange?: number;
  53871. /**
  53872. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  53873. * a series, pointStart defines on what value to start. For example, if a
  53874. * series contains one yearly value starting from 1945, set pointStart to
  53875. * 1945.
  53876. */
  53877. pointStart?: number;
  53878. /**
  53879. * (Highcharts, Highstock) Whether to select the series initially. If
  53880. * `showCheckbox` is true, the checkbox next to the series name in the
  53881. * legend will be checked for a selected series.
  53882. */
  53883. selected?: boolean;
  53884. /**
  53885. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  53886. * Since 2.3 the shadow can be an object configuration containing `color`,
  53887. * `offsetX`, `offsetY`, `opacity` and `width`.
  53888. */
  53889. shadow?: (boolean|ShadowOptionsObject);
  53890. /**
  53891. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  53892. * legend item to allow selecting the series. The state of the checkbox is
  53893. * determined by the `selected` option.
  53894. */
  53895. showCheckbox?: boolean;
  53896. /**
  53897. * (Highcharts, Highstock) Whether to display this particular series or
  53898. * series type in the legend. Standalone series are shown in legend by
  53899. * default, and linked series are not. Since v7.2.0 it is possible to show
  53900. * series that use colorAxis by setting this option to `true`.
  53901. */
  53902. showInLegend?: boolean;
  53903. /**
  53904. * (Highstock) Whether or not to show the series in the navigator. Takes
  53905. * precedence over navigator.baseSeries if defined.
  53906. */
  53907. showInNavigator?: boolean;
  53908. /**
  53909. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  53910. * skip past the points in this series for keyboard navigation.
  53911. */
  53912. skipKeyboardNavigation?: boolean;
  53913. /**
  53914. * (Highcharts, Highstock) When this is true, the series will not cause the
  53915. * Y axis to cross the zero plane (or threshold option) unless the data
  53916. * actually crosses the plane.
  53917. *
  53918. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  53919. * make the Y axis show negative values according to the `minPadding`
  53920. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  53921. */
  53922. softThreshold?: boolean;
  53923. /**
  53924. * (Highcharts, Highstock) Whether to stack the values of each series on top
  53925. * of each other. Possible values are `undefined` to disable, `"normal"` to
  53926. * stack by value or `"percent"`.
  53927. *
  53928. * When stacking is enabled, data must be sorted in ascending X order.
  53929. *
  53930. * Some stacking options are related to specific series types. In the
  53931. * streamgraph series type, the stacking option is set to `"stream"`. The
  53932. * second one is `"overlap"`, which only applies to waterfall series.
  53933. */
  53934. stacking?: OptionsStackingValue;
  53935. states?: SeriesStatesOptionsObject;
  53936. /**
  53937. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  53938. * values are `left`, `center` and `right`.
  53939. */
  53940. step?: OptionsStepValue;
  53941. /**
  53942. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  53943. * `mouseOut` event on a series isn't triggered until the mouse moves over
  53944. * another series, or out of the plot area. When false, the `mouseOut` event
  53945. * on a series is triggered when the mouse leaves the area around the
  53946. * series' graph or markers. This also implies the tooltip when not shared.
  53947. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  53948. * will be hidden when moving the mouse between series. Defaults to true for
  53949. * line and area type series, but to false for columns, pies etc.
  53950. *
  53951. * **Note:** The boost module will force this option because of technical
  53952. * limitations.
  53953. */
  53954. stickyTracking?: boolean;
  53955. /**
  53956. * (Highcharts, Highstock) The threshold, also called zero level or base
  53957. * level. For line type series this is only used in conjunction with
  53958. * negativeColor.
  53959. */
  53960. threshold?: number;
  53961. /**
  53962. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  53963. * of each single series. Properties are inherited from tooltip, but only
  53964. * the following properties can be defined on a series level.
  53965. */
  53966. tooltip?: SeriesTooltipOptionsObject;
  53967. /**
  53968. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  53969. * is longer than this, only one dimensional arrays of numbers, or two
  53970. * dimensional arrays with x and y values are allowed. Also, only the first
  53971. * point is tested, and the rest are assumed to be the same format. This
  53972. * saves expensive data checking and indexing in long series. Set it to `0`
  53973. * disable.
  53974. *
  53975. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  53976. * two dimensional arrays are allowed.
  53977. */
  53978. turboThreshold?: number;
  53979. /**
  53980. * (Highstock) The parameter allows setting line series type and use OHLC
  53981. * indicators. Data in OHLC format is required.
  53982. */
  53983. useOhlcData?: boolean;
  53984. /**
  53985. * (Highcharts, Highstock) Set the initial visibility of the series.
  53986. */
  53987. visible?: boolean;
  53988. /**
  53989. * (Highmaps) Define the z index of the series.
  53990. */
  53991. zIndex?: number;
  53992. /**
  53993. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  53994. */
  53995. zoneAxis?: string;
  53996. /**
  53997. * (Highcharts, Highstock) An array defining zones within a series. Zones
  53998. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  53999. * the `zoneAxis` option. The zone definitions have to be in ascending order
  54000. * regarding to the value.
  54001. *
  54002. * In styled mode, the color zones are styled with the
  54003. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  54004. * option (view live demo).
  54005. */
  54006. zones?: Array<SeriesZonesOptionsObject>;
  54007. }
  54008. /**
  54009. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  54010. * is displayed. The animation can also be set as a configuration object. Please
  54011. * note that this option only applies to the initial animation of the series
  54012. * itself. For other animations, see chart.animation and the animation parameter
  54013. * under the API methods. The following properties are supported:
  54014. *
  54015. * - `defer`: The animation delay time in milliseconds.
  54016. *
  54017. * - `duration`: The duration of the animation in milliseconds.
  54018. *
  54019. * - `easing`: Can be a string reference to an easing function set on the `Math`
  54020. * object or a function. See the _Custom easing function_ demo below.
  54021. *
  54022. * Due to poor performance, animation is disabled in old IE browsers for several
  54023. * chart types.
  54024. */
  54025. export interface PlotLollipopAnimationOptions {
  54026. defer?: number;
  54027. }
  54028. /**
  54029. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  54030. * is displayed for the `dataLabels`. The animation can also be set as a
  54031. * configuration object. Please note that this option only applies to the
  54032. * initial animation. For other animations, see chart.animation and the
  54033. * animation parameter under the API methods. The following properties are
  54034. * supported:
  54035. *
  54036. * - `defer`: The animation delay time in milliseconds.
  54037. */
  54038. export interface PlotLollipopDataLabelsAnimationOptions {
  54039. /**
  54040. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  54041. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  54042. * from the series.animation.defer.
  54043. */
  54044. defer?: number;
  54045. }
  54046. /**
  54047. * (Highcharts, Highstock) Options for the series data sorting.
  54048. */
  54049. export interface PlotLollipopDataSortingOptions {
  54050. /**
  54051. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  54052. * Use xAxis.reversed to change the sorting order.
  54053. */
  54054. enabled?: boolean;
  54055. /**
  54056. * (Highcharts, Highstock) Whether to allow matching points by name in an
  54057. * update. If this option is disabled, points will be matched by order.
  54058. */
  54059. matchByName?: boolean;
  54060. /**
  54061. * (Highcharts, Highstock) Determines what data value should be used to sort
  54062. * by.
  54063. */
  54064. sortKey?: string;
  54065. }
  54066. /**
  54067. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  54068. * one state by default, the `default` state.
  54069. */
  54070. export interface PlotLollipopDragDropGuideBoxOptions {
  54071. /**
  54072. * (Highcharts, Highstock) Style options for the guide box default state.
  54073. */
  54074. default?: DragDropGuideBoxOptionsObject;
  54075. }
  54076. /**
  54077. * (Highcharts, Highstock) The lollipop series is a carteseian series with a
  54078. * line anchored from the x axis and a dot at the end to mark the value.
  54079. * Requires `highcharts-more.js`, `modules/dumbbell.js` and
  54080. * `modules/lollipop.js`.
  54081. *
  54082. * In TypeScript the type option must always be set.
  54083. *
  54084. * Configuration options for the series are given in three levels:
  54085. *
  54086. * 1. Options for all series in a chart are defined in the plotOptions.series
  54087. * object.
  54088. *
  54089. * 2. Options for all `lollipop` series are defined in plotOptions.lollipop.
  54090. *
  54091. * 3. Options for one single series are given in the series instance array. (see
  54092. * online documentation for example)
  54093. */
  54094. export interface PlotLollipopOptions {
  54095. /**
  54096. * (Highcharts, Highstock) Accessibility options for a series.
  54097. */
  54098. accessibility?: SeriesAccessibilityOptionsObject;
  54099. /**
  54100. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  54101. * rendered. If `true`, areas which don't correspond to a data point, are
  54102. * rendered as `null` points. If `false`, those areas are skipped.
  54103. */
  54104. allAreas?: boolean;
  54105. /**
  54106. * (Highcharts, Highstock) Allow this series' points to be selected by
  54107. * clicking on the graphic (columns, point markers, pie slices, map areas
  54108. * etc).
  54109. *
  54110. * The selected points can be handled by point select and unselect events,
  54111. * or collectively by the getSelectedPoints function.
  54112. *
  54113. * And alternative way of selecting points is through dragging.
  54114. */
  54115. allowPointSelect?: boolean;
  54116. /**
  54117. * (Highcharts, Highstock) Enable or disable the initial animation when a
  54118. * series is displayed. The animation can also be set as a configuration
  54119. * object. Please note that this option only applies to the initial
  54120. * animation of the series itself. For other animations, see chart.animation
  54121. * and the animation parameter under the API methods. The following
  54122. * properties are supported:
  54123. *
  54124. * - `defer`: The animation delay time in milliseconds.
  54125. *
  54126. * - `duration`: The duration of the animation in milliseconds.
  54127. *
  54128. * - `easing`: Can be a string reference to an easing function set on the
  54129. * `Math` object or a function. See the _Custom easing function_ demo below.
  54130. *
  54131. * Due to poor performance, animation is disabled in old IE browsers for
  54132. * several chart types.
  54133. */
  54134. animation?: (boolean|PlotLollipopAnimationOptions|Partial<AnimationOptionsObject>);
  54135. /**
  54136. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  54137. * initial animation by default when the total number of points in the chart
  54138. * is too high. For example, for a column chart and its derivatives,
  54139. * animation does not run if there is more than 250 points totally. To
  54140. * disable this cap, set `animationLimit` to `Infinity`.
  54141. */
  54142. animationLimit?: number;
  54143. /**
  54144. * (Highmaps) The border color of the map areas.
  54145. *
  54146. * In styled mode, the border stroke is given in the `.highcharts-point`
  54147. * class.
  54148. */
  54149. borderColor?: (ColorString|GradientColorObject|PatternObject);
  54150. /**
  54151. * (Highmaps) The border width of each map area.
  54152. *
  54153. * In styled mode, the border stroke width is given in the
  54154. * `.highcharts-point` class.
  54155. */
  54156. borderWidth?: number;
  54157. /**
  54158. * (Highcharts, Highstock) An additional class name to apply to the series'
  54159. * graphical elements. This option does not replace default class names of
  54160. * the graphical element.
  54161. */
  54162. className?: string;
  54163. /**
  54164. * (Highcharts, Highstock) Disable this option to allow series rendering in
  54165. * the whole plotting area.
  54166. *
  54167. * **Note:** Clipping should be always enabled when chart.zoomType is set
  54168. */
  54169. clip?: boolean;
  54170. /**
  54171. * (Highcharts, Highstock) The main color of the series. In line type series
  54172. * it applies to the line and the point markers unless otherwise specified.
  54173. * In bar type series it applies to the bars unless a color is specified per
  54174. * point. The default value is pulled from the `options.colors` array.
  54175. *
  54176. * In styled mode, the color can be defined by the colorIndex option. Also,
  54177. * the series color can be set with the `.highcharts-series`,
  54178. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  54179. * `.highcharts-series-{n}` class, or individual classes given by the
  54180. * `className` option.
  54181. */
  54182. color?: (ColorString|GradientColorObject|PatternObject);
  54183. /**
  54184. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  54185. * this number defines which colorAxis the particular series is connected
  54186. * to. It refers to either the axis id or the index of the axis in the
  54187. * colorAxis array, with 0 being the first. Set this option to false to
  54188. * prevent a series from connecting to the default color axis.
  54189. *
  54190. * Since v7.2.0 the option can also be an axis id or an axis index instead
  54191. * of a boolean flag.
  54192. */
  54193. colorAxis?: (boolean|number|string);
  54194. /**
  54195. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  54196. * for the series, so its graphic representations are given the class name
  54197. * `highcharts-color-{n}`.
  54198. */
  54199. colorIndex?: number;
  54200. /**
  54201. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  54202. * used to calculate point color if `colorAxis` is used. Requires to set
  54203. * `min` and `max` if some custom point property is used or if approximation
  54204. * for data grouping is set to `'sum'`.
  54205. */
  54206. colorKey?: string;
  54207. /**
  54208. * (Highstock) Compare the values of the series against the first non-null,
  54209. * non- zero value in the visible range. The y axis will show percentage or
  54210. * absolute change depending on whether `compare` is set to `"percent"` or
  54211. * `"value"`. When this is applied to multiple series, it allows comparing
  54212. * the development of the series against each other. Adds a `change` field
  54213. * to every point object.
  54214. */
  54215. compare?: string;
  54216. /**
  54217. * (Highstock) When compare is `percent`, this option dictates whether to
  54218. * use 0 or 100 as the base of comparison.
  54219. */
  54220. compareBase?: (0|100);
  54221. /**
  54222. * (Highstock) Defines if comparison should start from the first point
  54223. * within the visible range or should start from the first point **before**
  54224. * the range.
  54225. *
  54226. * In other words, this flag determines if first point within the visible
  54227. * range will have 0% (`compareStart=true`) or should have been already
  54228. * calculated according to the previous point (`compareStart=false`).
  54229. */
  54230. compareStart?: boolean;
  54231. /**
  54232. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  54233. * series plot across the extremes.
  54234. */
  54235. connectEnds?: boolean;
  54236. /**
  54237. * (Highcharts, Highstock) Whether to connect a graph line across null
  54238. * points, or render a gap between the two points on either side of the
  54239. * null.
  54240. */
  54241. connectNulls?: boolean;
  54242. /**
  54243. * (Highcharts, Highstock) Color of the line that connects the dumbbell
  54244. * point's values. By default it is the series' color.
  54245. */
  54246. connectorColor?: string;
  54247. /**
  54248. * (Gantt) Override Pathfinder connector options for a series. Requires
  54249. * Highcharts Gantt to be loaded.
  54250. */
  54251. connectors?: SeriesConnectorsOptionsObject;
  54252. /**
  54253. * (Highcharts, Highstock) Pixel width of the line that connects the
  54254. * dumbbell point's values.
  54255. */
  54256. connectorWidth?: number;
  54257. /**
  54258. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  54259. * rounded to its nearest pixel in order to render sharp on screen. In some
  54260. * cases, when there are a lot of densely packed columns, this leads to
  54261. * visible difference in column widths or distance between columns. In these
  54262. * cases, setting `crisp` to `false` may look better, even though each
  54263. * column is rendered blurry.
  54264. */
  54265. crisp?: boolean;
  54266. /**
  54267. * (Highcharts, Highstock) When the series contains less points than the
  54268. * crop threshold, all points are drawn, even if the points fall outside the
  54269. * visible plot area at the current zoom. The advantage of drawing all
  54270. * points (including markers and columns), is that animation is performed on
  54271. * updates. On the other hand, when the series contains more points than the
  54272. * crop threshold, the series data is cropped to only contain points that
  54273. * fall within the plot area. The advantage of cropping away invisible
  54274. * points is to increase performance on large series.
  54275. */
  54276. cropThreshold?: number;
  54277. /**
  54278. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  54279. * click events attached to the series, to signal to the user that the
  54280. * points and lines can be clicked.
  54281. *
  54282. * In styled mode, the series cursor can be set with the same classes as
  54283. * listed under series.color.
  54284. */
  54285. cursor?: (string|CursorValue);
  54286. /**
  54287. * (Highcharts, Highstock) A reserved subspace to store options and values
  54288. * for customized functionality. Here you can add additional data for your
  54289. * own event callbacks and formatter callbacks.
  54290. */
  54291. custom?: Dictionary<any>;
  54292. /**
  54293. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  54294. * for some series types the outline of each shape.
  54295. *
  54296. * In styled mode, the stroke dash-array can be set with the same classes as
  54297. * listed under series.color.
  54298. */
  54299. dashStyle?: DashStyleValue;
  54300. /**
  54301. * (Highstock) Data grouping is the concept of sampling the data values into
  54302. * larger blocks in order to ease readability and increase performance of
  54303. * the JavaScript charts. Highstock by default applies data grouping when
  54304. * the points become closer than a certain pixel value, determined by the
  54305. * `groupPixelWidth` option.
  54306. *
  54307. * If data grouping is applied, the grouping information of grouped points
  54308. * can be read from the Point.dataGroup. If point options other than the
  54309. * data itself are set, for example `name` or `color` or custom properties,
  54310. * the grouping logic doesn't know how to group it. In this case the options
  54311. * of the first point instance are copied over to the group point. This can
  54312. * be altered through a custom `approximation` callback function.
  54313. */
  54314. dataGrouping?: DataGroupingOptionsObject;
  54315. /**
  54316. * (Highcharts, Highstock) Extended data labels for range series types.
  54317. * Range series data labels use no `x` and `y` options. Instead, they have
  54318. * `xLow`, `xHigh`, `yLow` and `yHigh` options to allow the higher and lower
  54319. * data label sets individually.
  54320. */
  54321. dataLabels?: (SeriesAreaRangeDataLabelsOptionsObject|Array<SeriesAreaRangeDataLabelsOptionsObject>);
  54322. /**
  54323. * (Highcharts, Highstock) Options for the series data sorting.
  54324. */
  54325. dataSorting?: (DataSortingOptionsObject|PlotLollipopDataSortingOptions);
  54326. /**
  54327. * (Highcharts, Highstock) A description of the series to add to the screen
  54328. * reader information about the series.
  54329. */
  54330. description?: string;
  54331. /**
  54332. * (Highcharts, Highstock) The draggable-points module allows points to be
  54333. * moved around or modified in the chart. In addition to the options
  54334. * mentioned under the `dragDrop` API structure, the module fires three
  54335. * events, point.dragStart, point.drag and point.drop.
  54336. */
  54337. dragDrop?: SeriesDragDropOptionsObject;
  54338. /**
  54339. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  54340. * specific series. This includes point tooltips and click events on graphs
  54341. * and points. For large datasets it improves performance.
  54342. */
  54343. enableMouseTracking?: boolean;
  54344. /**
  54345. * (Highcharts, Highstock) General event handlers for the series items.
  54346. * These event hooks can also be attached to the series at run time using
  54347. * the `Highcharts.addEvent` function.
  54348. */
  54349. events?: SeriesEventsOptionsObject;
  54350. /**
  54351. * (Highcharts, Highstock) Determines whether the series should look for the
  54352. * nearest point in both dimensions or just the x-dimension when hovering
  54353. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  54354. * other series. If the data has duplicate x-values, it is recommended to
  54355. * set this to `'xy'` to allow hovering over all points.
  54356. *
  54357. * Applies only to series types using nearest neighbor search (not direct
  54358. * hover) for tooltip.
  54359. */
  54360. findNearestPointBy?: OptionsFindNearestPointByValue;
  54361. /**
  54362. * (Highstock) Defines when to display a gap in the graph, together with the
  54363. * gapUnit option.
  54364. *
  54365. * In case when `dataGrouping` is enabled, points can be grouped into a
  54366. * larger time span. This can make the grouped points to have a greater
  54367. * distance than the absolute value of `gapSize` property, which will result
  54368. * in disappearing graph completely. To prevent this situation the mentioned
  54369. * distance between grouped points is used instead of previously defined
  54370. * `gapSize`.
  54371. *
  54372. * In practice, this option is most often used to visualize gaps in time
  54373. * series. In a stock chart, intraday data is available for daytime hours,
  54374. * while gaps will appear in nights and weekends.
  54375. */
  54376. gapSize?: number;
  54377. /**
  54378. * (Highstock) Together with gapSize, this option defines where to draw gaps
  54379. * in the graph.
  54380. *
  54381. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  54382. * if the distance between two points is greater than 5 times that of the
  54383. * two closest points, the graph will be broken.
  54384. *
  54385. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  54386. * values, which on a datetime axis is milliseconds. This also applies to
  54387. * the navigator series that inherits gap options from the base series.
  54388. */
  54389. gapUnit?: OptionsGapUnitValue;
  54390. /**
  54391. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  54392. * chart width or only the zoomed area when zooming in on parts of the X
  54393. * axis. By default, the Y axis adjusts to the min and max of the visible
  54394. * data. Cartesian series only.
  54395. */
  54396. getExtremesFromAll?: boolean;
  54397. groupPadding?: number;
  54398. /**
  54399. * (Highcharts, Highstock) When set to `false` will prevent the series data
  54400. * from being included in any form of data export.
  54401. *
  54402. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  54403. * `includeInCSVExport`.
  54404. */
  54405. includeInDataExport?: boolean;
  54406. /**
  54407. * (Highmaps) What property to join the `mapData` to the value data. For
  54408. * example, if joinBy is "code", the mapData items with a specific code is
  54409. * merged into the data with the same code. For maps loaded from GeoJSON,
  54410. * the keys may be held in each point's `properties` object.
  54411. *
  54412. * The joinBy option can also be an array of two values, where the first
  54413. * points to a key in the `mapData`, and the second points to another key in
  54414. * the `data`.
  54415. *
  54416. * When joinBy is `null`, the map items are joined by their position in the
  54417. * array, which performs much better in maps with many data points. This is
  54418. * the recommended option if you are printing more than a thousand data
  54419. * points and have a backend that can preprocess the data into a parallel
  54420. * array of the mapData.
  54421. */
  54422. joinBy?: (string|Array<string>);
  54423. /**
  54424. * (Highcharts, Highstock) An array specifying which option maps to which
  54425. * key in the data point array. This makes it convenient to work with
  54426. * unstructured data arrays from different sources.
  54427. */
  54428. keys?: Array<string>;
  54429. /**
  54430. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  54431. * series as possible in a natural way, seeking to avoid other series. The
  54432. * goal of this feature is to make the chart more easily readable, like if a
  54433. * human designer placed the labels in the optimal position.
  54434. *
  54435. * The series labels currently work with series types having a `graph` or an
  54436. * `area`.
  54437. */
  54438. label?: SeriesLabelOptionsObject;
  54439. /**
  54440. * (Highstock) The line marks the last price from all points.
  54441. */
  54442. lastPrice?: SeriesLastPriceOptionsObject;
  54443. /**
  54444. * (Highstock) The line marks the last price from visible range of points.
  54445. */
  54446. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  54447. /**
  54448. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  54449. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  54450. * the ends and bends.
  54451. */
  54452. linecap?: SeriesLinecapValue;
  54453. /**
  54454. * (Highcharts, Highstock) A separate color for the graph line. By default
  54455. * the line takes the `color` of the series, but the lineColor setting
  54456. * allows setting a separate color for the line without altering the
  54457. * `fillColor`.
  54458. *
  54459. * In styled mode, the line stroke can be set with the `.highcharts-graph`
  54460. * class name.
  54461. */
  54462. lineColor?: (ColorString|GradientColorObject|PatternObject);
  54463. /**
  54464. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  54465. * Additionally, the value can be ":previous" to link to the previous
  54466. * series. When two series are linked, only the first one appears in the
  54467. * legend. Toggling the visibility of this also toggles the linked series.
  54468. *
  54469. * If master series uses data sorting and linked series does not have its
  54470. * own sorting definition, the linked series will be sorted in the same
  54471. * order as the master one.
  54472. */
  54473. linkedTo?: string;
  54474. /**
  54475. * (Highcharts, Highstock) Options for the point markers of line-like
  54476. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  54477. * the visual appearance of the markers. Other series types, like column
  54478. * series, don't have markers, but have visual options on the series level
  54479. * instead.
  54480. *
  54481. * In styled mode, the markers can be styled with the `.highcharts-point`,
  54482. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  54483. */
  54484. marker?: PointMarkerOptionsObject;
  54485. /**
  54486. * (Highstock) Options for the corresponding navigator series if
  54487. * `showInNavigator` is `true` for this series. Available options are the
  54488. * same as any series, documented at plotOptions and series.
  54489. *
  54490. * These options are merged with options in navigator.series, and will take
  54491. * precedence if the same option is defined both places.
  54492. */
  54493. navigatorOptions?: PlotSeriesOptions;
  54494. /**
  54495. * (Highcharts, Highstock) The color for the parts of the graph or points
  54496. * that are below the threshold. Note that `zones` takes precedence over the
  54497. * negative color. Using `negativeColor` is equivalent to applying a zone
  54498. * with value of 0.
  54499. */
  54500. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  54501. /**
  54502. * (Highcharts) A separate color for the negative part of the area.
  54503. *
  54504. * In styled mode, a negative color is set with the `.highcharts-negative`
  54505. * class name.
  54506. */
  54507. negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
  54508. /**
  54509. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  54510. * and dataLabels.
  54511. */
  54512. opacity?: number;
  54513. /**
  54514. * (Highcharts, Highstock) Properties for each single point.
  54515. */
  54516. point?: PlotSeriesPointOptions;
  54517. /**
  54518. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  54519. * but for an individual series. Overrides the chart wide configuration.
  54520. */
  54521. pointDescriptionFormatter?: Function;
  54522. /**
  54523. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  54524. * a series, `pointInterval` defines the interval of the x values. For
  54525. * example, if a series contains one value every decade starting from year
  54526. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  54527. * `pointInterval` is set in milliseconds.
  54528. *
  54529. * It can be also be combined with `pointIntervalUnit` to draw irregular
  54530. * time intervals.
  54531. *
  54532. * Please note that this options applies to the _series data_, not the
  54533. * interval of the axis ticks, which is independent.
  54534. */
  54535. pointInterval?: number;
  54536. /**
  54537. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  54538. * setting the pointInterval to irregular time units, `day`, `month` and
  54539. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  54540. * also takes the DST crossover into consideration when dealing with local
  54541. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  54542. * months, 10 years etc.
  54543. *
  54544. * Please note that this options applies to the _series data_, not the
  54545. * interval of the axis ticks, which is independent.
  54546. */
  54547. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  54548. pointPadding?: number;
  54549. /**
  54550. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  54551. * `number`.
  54552. *
  54553. * In a column chart, when pointPlacement is `"on"`, the point will not
  54554. * create any padding of the X axis. In a polar column chart this means that
  54555. * the first column points directly north. If the pointPlacement is
  54556. * `"between"`, the columns will be laid out between ticks. This is useful
  54557. * for example for visualising an amount between two points in time or in a
  54558. * certain sector of a polar chart.
  54559. *
  54560. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  54561. * is on the axis value, -0.5 is between this value and the previous, and
  54562. * 0.5 is between this value and the next. Unlike the textual options,
  54563. * numeric point placement options won't affect axis padding.
  54564. *
  54565. * Note that pointPlacement needs a pointRange to work. For column series
  54566. * this is computed, but for line-type series it needs to be set.
  54567. *
  54568. * For the `xrange` series type and gantt charts, if the Y axis is a
  54569. * category axis, the `pointPlacement` applies to the Y axis rather than the
  54570. * (typically datetime) X axis.
  54571. *
  54572. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  54573. */
  54574. pointPlacement?: (number|string);
  54575. /**
  54576. * (Highstock) The width of each point on the x axis. For example in a
  54577. * column chart with one value each day, the pointRange would be 1 day (= 24
  54578. * * 3600
  54579. *
  54580. * * 1000 milliseconds). This is normally computed automatically, but this
  54581. * option can be used to override the automatic value.
  54582. */
  54583. pointRange?: number;
  54584. /**
  54585. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  54586. * a series, pointStart defines on what value to start. For example, if a
  54587. * series contains one yearly value starting from 1945, set pointStart to
  54588. * 1945.
  54589. */
  54590. pointStart?: number;
  54591. /**
  54592. * (Highcharts, Highstock) Whether to select the series initially. If
  54593. * `showCheckbox` is true, the checkbox next to the series name in the
  54594. * legend will be checked for a selected series.
  54595. */
  54596. selected?: boolean;
  54597. /**
  54598. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  54599. * the shadow can be an object configuration containing `color`, `offsetX`,
  54600. * `offsetY`, `opacity` and `width`.
  54601. */
  54602. shadow?: (boolean|ShadowOptionsObject);
  54603. /**
  54604. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  54605. * legend item to allow selecting the series. The state of the checkbox is
  54606. * determined by the `selected` option.
  54607. */
  54608. showCheckbox?: boolean;
  54609. /**
  54610. * (Highcharts, Highstock) Whether to display this particular series or
  54611. * series type in the legend. Standalone series are shown in legend by
  54612. * default, and linked series are not. Since v7.2.0 it is possible to show
  54613. * series that use colorAxis by setting this option to `true`.
  54614. */
  54615. showInLegend?: boolean;
  54616. /**
  54617. * (Highstock) Whether or not to show the series in the navigator. Takes
  54618. * precedence over navigator.baseSeries if defined.
  54619. */
  54620. showInNavigator?: boolean;
  54621. /**
  54622. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  54623. * skip past the points in this series for keyboard navigation.
  54624. */
  54625. skipKeyboardNavigation?: boolean;
  54626. /**
  54627. * (Highcharts, Highstock) When this is true, the series will not cause the
  54628. * Y axis to cross the zero plane (or threshold option) unless the data
  54629. * actually crosses the plane.
  54630. *
  54631. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  54632. * make the Y axis show negative values according to the `minPadding`
  54633. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  54634. */
  54635. softThreshold?: boolean;
  54636. states?: SeriesStatesOptionsObject;
  54637. /**
  54638. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  54639. * values are `left`, `center` and `right`.
  54640. */
  54641. step?: OptionsStepValue;
  54642. /**
  54643. * (Highcharts, Highstock) The Y axis value to serve as the base for the
  54644. * area, for distinguishing between values above and below a threshold. The
  54645. * area between the graph and the threshold is filled.
  54646. *
  54647. * * If a number is given, the Y axis will scale to the threshold.
  54648. *
  54649. * * If `null`, the scaling behaves like a line series with fill between the
  54650. * graph and the Y axis minimum.
  54651. *
  54652. * * If `Infinity` or `-Infinity`, the area between the graph and the
  54653. * corresponding Y axis extreme is filled (since v6.1.0).
  54654. */
  54655. threshold?: (number|null);
  54656. /**
  54657. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  54658. * of each single series. Properties are inherited from tooltip, but only
  54659. * the following properties can be defined on a series level.
  54660. */
  54661. tooltip?: SeriesTooltipOptionsObject;
  54662. /**
  54663. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  54664. * is longer than this, only one dimensional arrays of numbers, or two
  54665. * dimensional arrays with x and y values are allowed. Also, only the first
  54666. * point is tested, and the rest are assumed to be the same format. This
  54667. * saves expensive data checking and indexing in long series. Set it to `0`
  54668. * disable.
  54669. *
  54670. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  54671. * two dimensional arrays are allowed.
  54672. */
  54673. turboThreshold?: number;
  54674. /**
  54675. * (Highcharts, Highstock) Set the initial visibility of the series.
  54676. */
  54677. visible?: boolean;
  54678. /**
  54679. * (Highmaps) Define the z index of the series.
  54680. */
  54681. zIndex?: number;
  54682. /**
  54683. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  54684. */
  54685. zoneAxis?: string;
  54686. /**
  54687. * (Highcharts, Highstock) An array defining zones within a series. Zones
  54688. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  54689. * the `zoneAxis` option. The zone definitions have to be in ascending order
  54690. * regarding to the value.
  54691. *
  54692. * In styled mode, the color zones are styled with the
  54693. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  54694. * option (view live demo).
  54695. */
  54696. zones?: Array<SeriesZonesOptionsObject>;
  54697. }
  54698. /**
  54699. * (Highstock) Enable or disable the initial animation when a series is
  54700. * displayed. The animation can also be set as a configuration object. Please
  54701. * note that this option only applies to the initial animation of the series
  54702. * itself. For other animations, see chart.animation and the animation parameter
  54703. * under the API methods. The following properties are supported:
  54704. *
  54705. * - `defer`: The animation delay time in milliseconds.
  54706. *
  54707. * - `duration`: The duration of the animation in milliseconds.
  54708. *
  54709. * - `easing`: Can be a string reference to an easing function set on the `Math`
  54710. * object or a function. See the _Custom easing function_ demo below.
  54711. *
  54712. * Due to poor performance, animation is disabled in old IE browsers for several
  54713. * chart types.
  54714. */
  54715. export interface PlotMacdAnimationOptions {
  54716. defer?: number;
  54717. }
  54718. /**
  54719. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  54720. * animation when a series is displayed for the `dataLabels`. The animation can
  54721. * also be set as a configuration object. Please note that this option only
  54722. * applies to the initial animation. For other animations, see chart.animation
  54723. * and the animation parameter under the API methods. The following properties
  54724. * are supported:
  54725. *
  54726. * - `defer`: The animation delay time in milliseconds.
  54727. */
  54728. export interface PlotMacdDataLabelsAnimationOptions {
  54729. /**
  54730. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  54731. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  54732. * inherits defer time from the series.animation.defer.
  54733. */
  54734. defer?: number;
  54735. }
  54736. /**
  54737. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  54738. * appearing next to each data point.
  54739. *
  54740. * Since v6.2.0, multiple data labels can be applied to each single point by
  54741. * defining them as an array of configs.
  54742. *
  54743. * In styled mode, the data labels can be styled with the
  54744. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  54745. * example).
  54746. */
  54747. export interface PlotMacdDataLabelsOptions {
  54748. /**
  54749. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  54750. * compared to the point. If `right`, the right side of the label should be
  54751. * touching the point. For points with an extent, like columns, the
  54752. * alignments also dictates how to align it inside the box, as given with
  54753. * the inside option. Can be one of `left`, `center` or `right`.
  54754. */
  54755. align?: (AlignValue|null);
  54756. /**
  54757. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  54758. * overlap. To make the labels less sensitive for overlapping, the
  54759. * dataLabels.padding can be set to 0.
  54760. */
  54761. allowOverlap?: boolean;
  54762. /**
  54763. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  54764. * animation when a series is displayed for the `dataLabels`. The animation
  54765. * can also be set as a configuration object. Please note that this option
  54766. * only applies to the initial animation. For other animations, see
  54767. * chart.animation and the animation parameter under the API methods. The
  54768. * following properties are supported:
  54769. *
  54770. * - `defer`: The animation delay time in milliseconds.
  54771. */
  54772. animation?: (boolean|PlotMacdDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  54773. /**
  54774. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  54775. * for the data label.
  54776. */
  54777. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  54778. /**
  54779. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  54780. * label. Defaults to `undefined`.
  54781. */
  54782. borderColor?: (ColorString|GradientColorObject|PatternObject);
  54783. /**
  54784. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  54785. * the data label.
  54786. */
  54787. borderRadius?: number;
  54788. /**
  54789. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  54790. * the data label.
  54791. */
  54792. borderWidth?: number;
  54793. /**
  54794. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  54795. * Particularly in styled mode, this can be used to give each series' or
  54796. * point's data label unique styling. In addition to this option, a default
  54797. * color class name is added so that we can give the labels a contrast text
  54798. * shadow.
  54799. */
  54800. className?: string;
  54801. /**
  54802. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  54803. * labels. Defaults to `undefined`. For certain series types, like column or
  54804. * map, the data labels can be drawn inside the points. In this case the
  54805. * data label will be drawn with maximum contrast by default. Additionally,
  54806. * it will be given a `text-outline` style with the opposite color, to
  54807. * further increase the contrast. This can be overridden by setting the
  54808. * `text-outline` style to `none` in the `dataLabels.style` option.
  54809. */
  54810. color?: (ColorString|GradientColorObject|PatternObject);
  54811. /**
  54812. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  54813. * are outside the plot area. By default, the data label is moved inside the
  54814. * plot area according to the overflow option.
  54815. */
  54816. crop?: boolean;
  54817. /**
  54818. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  54819. * labels until the initial series animation has finished. Setting to
  54820. * `false` renders the data label immediately. If set to `true` inherits the
  54821. * defer time set in plotOptions.series.animation.
  54822. */
  54823. defer?: boolean;
  54824. /**
  54825. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  54826. * labels.
  54827. */
  54828. enabled?: boolean;
  54829. /**
  54830. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  54831. * of which data labels to display. The declarative filter is designed for
  54832. * use when callback functions are not available, like when the chart
  54833. * options require a pure JSON structure or for use with graphical editors.
  54834. * For programmatic control, use the `formatter` instead, and return
  54835. * `undefined` to disable a single data label.
  54836. */
  54837. filter?: DataLabelsFilterOptionsObject;
  54838. /**
  54839. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  54840. * label. Available variables are the same as for `formatter`.
  54841. */
  54842. format?: string;
  54843. /**
  54844. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  54845. * format the data label. Note that if a `format` is defined, the format
  54846. * takes precedence and the formatter is ignored.
  54847. */
  54848. formatter?: DataLabelsFormatterCallbackFunction;
  54849. /**
  54850. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  54851. * columns or map areas, whether to align the data label inside the box or
  54852. * to the actual value point. Defaults to `false` in most cases, `true` in
  54853. * stacked columns.
  54854. */
  54855. inside?: boolean;
  54856. /**
  54857. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  54858. * of null. Works analogously to format. `nullFormat` can be applied only to
  54859. * series which support displaying null points.
  54860. */
  54861. nullFormat?: (boolean|string);
  54862. /**
  54863. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  54864. * that defines formatting for points with the value of null. Works
  54865. * analogously to formatter. `nullPointFormatter` can be applied only to
  54866. * series which support displaying null points.
  54867. */
  54868. nullFormatter?: DataLabelsFormatterCallbackFunction;
  54869. /**
  54870. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  54871. * flow outside the plot area. The default is `"justify"`, which aligns them
  54872. * inside the plot area. For columns and bars, this means it will be moved
  54873. * inside the bar. To display data labels outside the plot area, set `crop`
  54874. * to `false` and `overflow` to `"allow"`.
  54875. */
  54876. overflow?: DataLabelsOverflowValue;
  54877. /**
  54878. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  54879. * the `backgroundColor` is set, this is the padding within the box.
  54880. */
  54881. padding?: number;
  54882. /**
  54883. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  54884. * points. If `center` alignment is not possible, it defaults to `right`.
  54885. */
  54886. position?: AlignValue;
  54887. /**
  54888. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  54889. * that due to a more complex structure, backgrounds, borders and padding
  54890. * will be lost on a rotated data label.
  54891. */
  54892. rotation?: number;
  54893. /**
  54894. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  54895. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  54896. * an object configuration containing `color`, `offsetX`, `offsetY`,
  54897. * `opacity` and `width`.
  54898. */
  54899. shadow?: (boolean|ShadowOptionsObject);
  54900. /**
  54901. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  54902. * the border around the label. Symbols are predefined functions on the
  54903. * Renderer object.
  54904. */
  54905. shape?: string;
  54906. /**
  54907. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  54908. * default `color` setting is `"contrast"`, which is a pseudo color that
  54909. * Highcharts picks up and applies the maximum contrast to the underlying
  54910. * point item, for example the bar in a bar chart.
  54911. *
  54912. * The `textOutline` is a pseudo property that applies an outline of the
  54913. * given width with the given color, which by default is the maximum
  54914. * contrast to the text. So a bright text color will result in a black text
  54915. * outline for maximum readability on a mixed background. In some cases,
  54916. * especially with grayscale text, the text outline doesn't work well, in
  54917. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  54918. * is true, the `textOutline` will not be picked up. In this, case, the same
  54919. * effect can be acheived through the `text-shadow` CSS property.
  54920. *
  54921. * For some series types, where each point has an extent, like for example
  54922. * tree maps, the data label may overflow the point. There are two
  54923. * strategies for handling overflow. By default, the text will wrap to
  54924. * multiple lines. The other strategy is to set `style.textOverflow` to
  54925. * `ellipsis`, which will keep the text on one line plus it will break
  54926. * inside long words.
  54927. */
  54928. style?: CSSObject;
  54929. /**
  54930. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  54931. * should follow marker's shape. Border and background are disabled for a
  54932. * label that follows a path.
  54933. *
  54934. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  54935. * to true will disable this option.
  54936. */
  54937. textPath?: DataLabelsTextPathOptionsObject;
  54938. /**
  54939. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  54940. * the labels.
  54941. */
  54942. useHTML?: boolean;
  54943. /**
  54944. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  54945. * label. Can be one of `top`, `middle` or `bottom`. The default value
  54946. * depends on the data, for instance in a column chart, the label is above
  54947. * positive values and below negative values.
  54948. */
  54949. verticalAlign?: (VerticalAlignValue|null);
  54950. /**
  54951. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  54952. * label relative to the point in pixels.
  54953. */
  54954. x?: number;
  54955. /**
  54956. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  54957. * label relative to the point in pixels.
  54958. */
  54959. y?: number;
  54960. /**
  54961. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  54962. * The default Z index puts it above the series. Use a Z index of 2 to
  54963. * display it behind the series.
  54964. */
  54965. z?: number;
  54966. }
  54967. /**
  54968. * (Highcharts, Highstock) Options for the series data sorting.
  54969. */
  54970. export interface PlotMacdDataSortingOptions {
  54971. /**
  54972. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  54973. * Use xAxis.reversed to change the sorting order.
  54974. */
  54975. enabled?: boolean;
  54976. /**
  54977. * (Highcharts, Highstock) Whether to allow matching points by name in an
  54978. * update. If this option is disabled, points will be matched by order.
  54979. */
  54980. matchByName?: boolean;
  54981. /**
  54982. * (Highcharts, Highstock) Determines what data value should be used to sort
  54983. * by.
  54984. */
  54985. sortKey?: string;
  54986. }
  54987. /**
  54988. * (Highstock) The styles for macd line
  54989. */
  54990. export interface PlotMacdMacdLineOptions {
  54991. styles?: PlotMacdMacdLineStylesOptions;
  54992. /**
  54993. * (Highcharts, Highstock) An array defining zones within a series. Zones
  54994. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  54995. * the `zoneAxis` option. The zone definitions have to be in ascending order
  54996. * regarding to the value.
  54997. *
  54998. * In styled mode, the color zones are styled with the
  54999. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  55000. * option (view live demo).
  55001. */
  55002. zones?: Array<SeriesZonesOptionsObject>;
  55003. }
  55004. export interface PlotMacdMacdLineStylesOptions {
  55005. /**
  55006. * (Highstock) Color of the line.
  55007. */
  55008. lineColor?: ColorString;
  55009. /**
  55010. * (Highstock) Pixel width of the line.
  55011. */
  55012. lineWidth?: number;
  55013. }
  55014. /**
  55015. * (Highstock) Moving Average Convergence Divergence (MACD). This series
  55016. * requires `linkedTo` option to be set and should be loaded after the
  55017. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  55018. *
  55019. * In TypeScript the type option must always be set.
  55020. *
  55021. * Configuration options for the series are given in three levels:
  55022. *
  55023. * 1. Options for all series in a chart are defined in the plotOptions.series
  55024. * object.
  55025. *
  55026. * 2. Options for all `macd` series are defined in plotOptions.macd.
  55027. *
  55028. * 3. Options for one single series are given in the series instance array. (see
  55029. * online documentation for example)
  55030. */
  55031. export interface PlotMacdOptions {
  55032. /**
  55033. * (Highstock) Accessibility options for a series.
  55034. */
  55035. accessibility?: SeriesAccessibilityOptionsObject;
  55036. /**
  55037. * (Highstock) Allow this series' points to be selected by clicking on the
  55038. * graphic (columns, point markers, pie slices, map areas etc).
  55039. *
  55040. * The selected points can be handled by point select and unselect events,
  55041. * or collectively by the getSelectedPoints function.
  55042. *
  55043. * And alternative way of selecting points is through dragging.
  55044. */
  55045. allowPointSelect?: boolean;
  55046. /**
  55047. * (Highstock) Enable or disable the initial animation when a series is
  55048. * displayed. The animation can also be set as a configuration object.
  55049. * Please note that this option only applies to the initial animation of the
  55050. * series itself. For other animations, see chart.animation and the
  55051. * animation parameter under the API methods. The following properties are
  55052. * supported:
  55053. *
  55054. * - `defer`: The animation delay time in milliseconds.
  55055. *
  55056. * - `duration`: The duration of the animation in milliseconds.
  55057. *
  55058. * - `easing`: Can be a string reference to an easing function set on the
  55059. * `Math` object or a function. See the _Custom easing function_ demo below.
  55060. *
  55061. * Due to poor performance, animation is disabled in old IE browsers for
  55062. * several chart types.
  55063. */
  55064. animation?: (boolean|PlotMacdAnimationOptions|Partial<AnimationOptionsObject>);
  55065. /**
  55066. * (Highstock) For some series, there is a limit that shuts down initial
  55067. * animation by default when the total number of points in the chart is too
  55068. * high. For example, for a column chart and its derivatives, animation does
  55069. * not run if there is more than 250 points totally. To disable this cap,
  55070. * set `animationLimit` to `Infinity`.
  55071. */
  55072. animationLimit?: number;
  55073. /**
  55074. * (Highstock) Sets the color blending in the boost module.
  55075. */
  55076. boostBlending?: OptionsBoostBlendingValue;
  55077. /**
  55078. * (Highstock) Set the point threshold for when a series should enter boost
  55079. * mode.
  55080. *
  55081. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  55082. * there are 2000 or more points in the series.
  55083. *
  55084. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  55085. * it to 1 will force boosting.
  55086. *
  55087. * Note that the cropThreshold also affects this setting. When zooming in on
  55088. * a series that has fewer points than the `cropThreshold`, all points are
  55089. * rendered although outside the visible plot area, and the `boostThreshold`
  55090. * won't take effect.
  55091. */
  55092. boostThreshold?: number;
  55093. /**
  55094. * (Highmaps) The border color of the map areas.
  55095. *
  55096. * In styled mode, the border stroke is given in the `.highcharts-point`
  55097. * class.
  55098. */
  55099. borderColor?: (ColorString|GradientColorObject|PatternObject);
  55100. /**
  55101. * (Highmaps) The border width of each map area.
  55102. *
  55103. * In styled mode, the border stroke width is given in the
  55104. * `.highcharts-point` class.
  55105. */
  55106. borderWidth?: number;
  55107. /**
  55108. * (Highstock) An additional class name to apply to the series' graphical
  55109. * elements. This option does not replace default class names of the
  55110. * graphical element.
  55111. */
  55112. className?: string;
  55113. /**
  55114. * (Highstock) Disable this option to allow series rendering in the whole
  55115. * plotting area.
  55116. *
  55117. * **Note:** Clipping should be always enabled when chart.zoomType is set
  55118. */
  55119. clip?: boolean;
  55120. /**
  55121. * (Highstock) The main color of the series. In line type series it applies
  55122. * to the line and the point markers unless otherwise specified. In bar type
  55123. * series it applies to the bars unless a color is specified per point. The
  55124. * default value is pulled from the `options.colors` array.
  55125. *
  55126. * In styled mode, the color can be defined by the colorIndex option. Also,
  55127. * the series color can be set with the `.highcharts-series`,
  55128. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  55129. * `.highcharts-series-{n}` class, or individual classes given by the
  55130. * `className` option.
  55131. */
  55132. color?: (ColorString|GradientColorObject|PatternObject);
  55133. /**
  55134. * (Highstock) Styled mode only. A specific color index to use for the
  55135. * series, so its graphic representations are given the class name
  55136. * `highcharts-color-{n}`.
  55137. */
  55138. colorIndex?: number;
  55139. /**
  55140. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  55141. * used to calculate point color if `colorAxis` is used. Requires to set
  55142. * `min` and `max` if some custom point property is used or if approximation
  55143. * for data grouping is set to `'sum'`.
  55144. */
  55145. colorKey?: string;
  55146. /**
  55147. * (Highstock) Compare the values of the series against the first non-null,
  55148. * non- zero value in the visible range. The y axis will show percentage or
  55149. * absolute change depending on whether `compare` is set to `"percent"` or
  55150. * `"value"`. When this is applied to multiple series, it allows comparing
  55151. * the development of the series against each other. Adds a `change` field
  55152. * to every point object.
  55153. */
  55154. compare?: string;
  55155. /**
  55156. * (Highstock) When compare is `percent`, this option dictates whether to
  55157. * use 0 or 100 as the base of comparison.
  55158. */
  55159. compareBase?: (0|100);
  55160. /**
  55161. * (Highstock) Defines if comparison should start from the first point
  55162. * within the visible range or should start from the first point **before**
  55163. * the range.
  55164. *
  55165. * In other words, this flag determines if first point within the visible
  55166. * range will have 0% (`compareStart=true`) or should have been already
  55167. * calculated according to the previous point (`compareStart=false`).
  55168. */
  55169. compareStart?: boolean;
  55170. /**
  55171. * (Highstock) Whether to compare indicator to the main series values or
  55172. * indicator values.
  55173. */
  55174. compareToMain?: boolean;
  55175. /**
  55176. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  55177. * series plot across the extremes.
  55178. */
  55179. connectEnds?: boolean;
  55180. /**
  55181. * (Highcharts, Highstock) Whether to connect a graph line across null
  55182. * points, or render a gap between the two points on either side of the
  55183. * null.
  55184. */
  55185. connectNulls?: boolean;
  55186. /**
  55187. * (Gantt) Override Pathfinder connector options for a series. Requires
  55188. * Highcharts Gantt to be loaded.
  55189. */
  55190. connectors?: SeriesConnectorsOptionsObject;
  55191. /**
  55192. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  55193. * rounded to its nearest pixel in order to render sharp on screen. In some
  55194. * cases, when there are a lot of densely packed columns, this leads to
  55195. * visible difference in column widths or distance between columns. In these
  55196. * cases, setting `crisp` to `false` may look better, even though each
  55197. * column is rendered blurry.
  55198. */
  55199. crisp?: boolean;
  55200. /**
  55201. * (Highcharts, Highstock) When the series contains less points than the
  55202. * crop threshold, all points are drawn, even if the points fall outside the
  55203. * visible plot area at the current zoom. The advantage of drawing all
  55204. * points (including markers and columns), is that animation is performed on
  55205. * updates. On the other hand, when the series contains more points than the
  55206. * crop threshold, the series data is cropped to only contain points that
  55207. * fall within the plot area. The advantage of cropping away invisible
  55208. * points is to increase performance on large series.
  55209. */
  55210. cropThreshold?: number;
  55211. /**
  55212. * (Highstock) You can set the cursor to "pointer" if you have click events
  55213. * attached to the series, to signal to the user that the points and lines
  55214. * can be clicked.
  55215. *
  55216. * In styled mode, the series cursor can be set with the same classes as
  55217. * listed under series.color.
  55218. */
  55219. cursor?: (string|CursorValue);
  55220. /**
  55221. * (Highstock) A reserved subspace to store options and values for
  55222. * customized functionality. Here you can add additional data for your own
  55223. * event callbacks and formatter callbacks.
  55224. */
  55225. custom?: Dictionary<any>;
  55226. /**
  55227. * (Highstock) Name of the dash style to use for the graph, or for some
  55228. * series types the outline of each shape.
  55229. *
  55230. * In styled mode, the stroke dash-array can be set with the same classes as
  55231. * listed under series.color.
  55232. */
  55233. dashStyle?: DashStyleValue;
  55234. /**
  55235. * (Highstock) Data grouping is the concept of sampling the data values into
  55236. * larger blocks in order to ease readability and increase performance of
  55237. * the JavaScript charts. Highstock by default applies data grouping when
  55238. * the points become closer than a certain pixel value, determined by the
  55239. * `groupPixelWidth` option.
  55240. *
  55241. * If data grouping is applied, the grouping information of grouped points
  55242. * can be read from the Point.dataGroup. If point options other than the
  55243. * data itself are set, for example `name` or `color` or custom properties,
  55244. * the grouping logic doesn't know how to group it. In this case the options
  55245. * of the first point instance are copied over to the group point. This can
  55246. * be altered through a custom `approximation` callback function.
  55247. */
  55248. dataGrouping?: DataGroupingOptionsObject;
  55249. /**
  55250. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  55251. * labels, appearing next to each data point.
  55252. *
  55253. * Since v6.2.0, multiple data labels can be applied to each single point by
  55254. * defining them as an array of configs.
  55255. *
  55256. * In styled mode, the data labels can be styled with the
  55257. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  55258. * (see example).
  55259. */
  55260. dataLabels?: (PlotMacdDataLabelsOptions|Array<PlotMacdDataLabelsOptions>);
  55261. /**
  55262. * (Highcharts, Highstock) Options for the series data sorting.
  55263. */
  55264. dataSorting?: (DataSortingOptionsObject|PlotMacdDataSortingOptions);
  55265. /**
  55266. * (Highstock) A description of the series to add to the screen reader
  55267. * information about the series.
  55268. */
  55269. description?: string;
  55270. /**
  55271. * (Highstock) Enable or disable the mouse tracking for a specific series.
  55272. * This includes point tooltips and click events on graphs and points. For
  55273. * large datasets it improves performance.
  55274. */
  55275. enableMouseTracking?: boolean;
  55276. /**
  55277. * (Highstock) General event handlers for the series items. These event
  55278. * hooks can also be attached to the series at run time using the
  55279. * `Highcharts.addEvent` function.
  55280. */
  55281. events?: SeriesEventsOptionsObject;
  55282. /**
  55283. * (Highstock) Determines whether the series should look for the nearest
  55284. * point in both dimensions or just the x-dimension when hovering the
  55285. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  55286. * series. If the data has duplicate x-values, it is recommended to set this
  55287. * to `'xy'` to allow hovering over all points.
  55288. *
  55289. * Applies only to series types using nearest neighbor search (not direct
  55290. * hover) for tooltip.
  55291. */
  55292. findNearestPointBy?: OptionsFindNearestPointByValue;
  55293. /**
  55294. * (Highstock) Defines when to display a gap in the graph, together with the
  55295. * gapUnit option.
  55296. *
  55297. * In case when `dataGrouping` is enabled, points can be grouped into a
  55298. * larger time span. This can make the grouped points to have a greater
  55299. * distance than the absolute value of `gapSize` property, which will result
  55300. * in disappearing graph completely. To prevent this situation the mentioned
  55301. * distance between grouped points is used instead of previously defined
  55302. * `gapSize`.
  55303. *
  55304. * In practice, this option is most often used to visualize gaps in time
  55305. * series. In a stock chart, intraday data is available for daytime hours,
  55306. * while gaps will appear in nights and weekends.
  55307. */
  55308. gapSize?: number;
  55309. /**
  55310. * (Highstock) Together with gapSize, this option defines where to draw gaps
  55311. * in the graph.
  55312. *
  55313. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  55314. * if the distance between two points is greater than 5 times that of the
  55315. * two closest points, the graph will be broken.
  55316. *
  55317. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  55318. * values, which on a datetime axis is milliseconds. This also applies to
  55319. * the navigator series that inherits gap options from the base series.
  55320. */
  55321. gapUnit?: OptionsGapUnitValue;
  55322. /**
  55323. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  55324. * chart width or only the zoomed area when zooming in on parts of the X
  55325. * axis. By default, the Y axis adjusts to the min and max of the visible
  55326. * data. Cartesian series only.
  55327. */
  55328. getExtremesFromAll?: boolean;
  55329. groupPadding?: number;
  55330. /**
  55331. * (Highstock) When set to `false` will prevent the series data from being
  55332. * included in any form of data export.
  55333. *
  55334. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  55335. * `includeInCSVExport`.
  55336. */
  55337. includeInDataExport?: boolean;
  55338. /**
  55339. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  55340. * series as possible in a natural way, seeking to avoid other series. The
  55341. * goal of this feature is to make the chart more easily readable, like if a
  55342. * human designer placed the labels in the optimal position.
  55343. *
  55344. * The series labels currently work with series types having a `graph` or an
  55345. * `area`.
  55346. */
  55347. label?: SeriesLabelOptionsObject;
  55348. /**
  55349. * (Highstock) The line marks the last price from all points.
  55350. */
  55351. lastPrice?: SeriesLastPriceOptionsObject;
  55352. /**
  55353. * (Highstock) The line marks the last price from visible range of points.
  55354. */
  55355. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  55356. /**
  55357. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  55358. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  55359. * the ends and bends.
  55360. */
  55361. linecap?: SeriesLinecapValue;
  55362. /**
  55363. * (Highcharts, Highstock) Pixel width of the graph line.
  55364. */
  55365. lineWidth?: number;
  55366. /**
  55367. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  55368. * based on. Required for this indicator.
  55369. */
  55370. linkedTo?: string;
  55371. /**
  55372. * (Highstock) The styles for macd line
  55373. */
  55374. macdLine?: PlotMacdMacdLineOptions;
  55375. /**
  55376. * (Highstock) Options for the point markers of line-like series. Properties
  55377. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  55378. * appearance of the markers. Other series types, like column series, don't
  55379. * have markers, but have visual options on the series level instead.
  55380. *
  55381. * In styled mode, the markers can be styled with the `.highcharts-point`,
  55382. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  55383. */
  55384. marker?: PointMarkerOptionsObject;
  55385. minPointLength?: number;
  55386. /**
  55387. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  55388. * If not set, it will be based on a technical indicator type and default
  55389. * params.
  55390. */
  55391. name?: string;
  55392. /**
  55393. * (Highstock) The color for the parts of the graph or points that are below
  55394. * the threshold. Note that `zones` takes precedence over the negative
  55395. * color. Using `negativeColor` is equivalent to applying a zone with value
  55396. * of 0.
  55397. */
  55398. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  55399. /**
  55400. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  55401. * dataLabels.
  55402. */
  55403. opacity?: number;
  55404. /**
  55405. * (Highstock) Paramters used in calculation of regression series' points.
  55406. */
  55407. params?: PlotMacdParamsOptions;
  55408. /**
  55409. * (Highstock) Properties for each single point.
  55410. */
  55411. point?: PlotSeriesPointOptions;
  55412. /**
  55413. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  55414. * individual series. Overrides the chart wide configuration.
  55415. */
  55416. pointDescriptionFormatter?: Function;
  55417. pointPadding?: number;
  55418. /**
  55419. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  55420. * true, the checkbox next to the series name in the legend will be checked
  55421. * for a selected series.
  55422. */
  55423. selected?: boolean;
  55424. /**
  55425. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  55426. * the shadow can be an object configuration containing `color`, `offsetX`,
  55427. * `offsetY`, `opacity` and `width`.
  55428. */
  55429. shadow?: (boolean|ShadowOptionsObject);
  55430. /**
  55431. * (Highstock) If true, a checkbox is displayed next to the legend item to
  55432. * allow selecting the series. The state of the checkbox is determined by
  55433. * the `selected` option.
  55434. */
  55435. showCheckbox?: boolean;
  55436. /**
  55437. * (Highstock) Whether to display this particular series or series type in
  55438. * the legend. Standalone series are shown in legend by default, and linked
  55439. * series are not. Since v7.2.0 it is possible to show series that use
  55440. * colorAxis by setting this option to `true`.
  55441. */
  55442. showInLegend?: boolean;
  55443. /**
  55444. * (Highstock) The styles for signal line
  55445. */
  55446. signalLine?: PlotMacdSignalLineOptions;
  55447. /**
  55448. * (Highstock) If set to `true`, the accessibility module will skip past the
  55449. * points in this series for keyboard navigation.
  55450. */
  55451. skipKeyboardNavigation?: boolean;
  55452. /**
  55453. * (Highcharts, Highstock) When this is true, the series will not cause the
  55454. * Y axis to cross the zero plane (or threshold option) unless the data
  55455. * actually crosses the plane.
  55456. *
  55457. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  55458. * make the Y axis show negative values according to the `minPadding`
  55459. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  55460. */
  55461. softThreshold?: boolean;
  55462. states?: SeriesStatesOptionsObject;
  55463. /**
  55464. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  55465. * values are `left`, `center` and `right`.
  55466. */
  55467. step?: OptionsStepValue;
  55468. /**
  55469. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  55470. * event on a series isn't triggered until the mouse moves over another
  55471. * series, or out of the plot area. When false, the `mouseOut` event on a
  55472. * series is triggered when the mouse leaves the area around the series'
  55473. * graph or markers. This also implies the tooltip when not shared. When
  55474. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  55475. * be hidden when moving the mouse between series. Defaults to true for line
  55476. * and area type series, but to false for columns, pies etc.
  55477. *
  55478. * **Note:** The boost module will force this option because of technical
  55479. * limitations.
  55480. */
  55481. stickyTracking?: boolean;
  55482. /**
  55483. * (Highcharts, Highstock) The threshold, also called zero level or base
  55484. * level. For line type series this is only used in conjunction with
  55485. * negativeColor.
  55486. */
  55487. threshold?: number;
  55488. /**
  55489. * (Highstock) A configuration object for the tooltip rendering of each
  55490. * single series. Properties are inherited from tooltip, but only the
  55491. * following properties can be defined on a series level.
  55492. */
  55493. tooltip?: SeriesTooltipOptionsObject;
  55494. /**
  55495. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  55496. * is longer than this, only one dimensional arrays of numbers, or two
  55497. * dimensional arrays with x and y values are allowed. Also, only the first
  55498. * point is tested, and the rest are assumed to be the same format. This
  55499. * saves expensive data checking and indexing in long series. Set it to `0`
  55500. * disable.
  55501. *
  55502. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  55503. * two dimensional arrays are allowed.
  55504. */
  55505. turboThreshold?: number;
  55506. /**
  55507. * (Highstock) Set the initial visibility of the series.
  55508. */
  55509. visible?: boolean;
  55510. /**
  55511. * (Highmaps) Define the z index of the series.
  55512. */
  55513. zIndex?: number;
  55514. /**
  55515. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  55516. */
  55517. zoneAxis?: string;
  55518. /**
  55519. * (Highcharts, Highstock) An array defining zones within a series. Zones
  55520. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  55521. * the `zoneAxis` option. The zone definitions have to be in ascending order
  55522. * regarding to the value.
  55523. *
  55524. * In styled mode, the color zones are styled with the
  55525. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  55526. * option (view live demo).
  55527. */
  55528. zones?: Array<SeriesZonesOptionsObject>;
  55529. }
  55530. /**
  55531. * (Highstock) Paramters used in calculation of regression series' points.
  55532. */
  55533. export interface PlotMacdParamsOptions {
  55534. /**
  55535. * (Highstock) The point index which indicator calculations will base. For
  55536. * example using OHLC data, index=2 means the indicator will be calculated
  55537. * using Low values.
  55538. */
  55539. index?: number;
  55540. /**
  55541. * (Highstock) The long period for indicator calculations.
  55542. */
  55543. longPeriod?: number;
  55544. /**
  55545. * (Highstock) The base period for indicator calculations. This is the
  55546. * number of data points which are taken into account for the indicator
  55547. * calculations.
  55548. */
  55549. period?: number;
  55550. /**
  55551. * (Highstock) The short period for indicator calculations.
  55552. */
  55553. shortPeriod?: number;
  55554. /**
  55555. * (Highstock) The base period for signal calculations.
  55556. */
  55557. signalPeriod?: number;
  55558. }
  55559. /**
  55560. * (Highstock) The styles for signal line
  55561. */
  55562. export interface PlotMacdSignalLineOptions {
  55563. styles?: PlotMacdSignalLineStylesOptions;
  55564. /**
  55565. * (Highcharts, Highstock) An array defining zones within a series. Zones
  55566. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  55567. * the `zoneAxis` option. The zone definitions have to be in ascending order
  55568. * regarding to the value.
  55569. *
  55570. * In styled mode, the color zones are styled with the
  55571. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  55572. * option (view live demo).
  55573. */
  55574. zones?: Array<SeriesZonesOptionsObject>;
  55575. }
  55576. export interface PlotMacdSignalLineStylesOptions {
  55577. /**
  55578. * (Highstock) Color of the line.
  55579. */
  55580. lineColor?: ColorString;
  55581. /**
  55582. * (Highstock) Pixel width of the line.
  55583. */
  55584. lineWidth?: number;
  55585. }
  55586. /**
  55587. * (Highmaps) Enable or disable the initial animation when a series is
  55588. * displayed. The animation can also be set as a configuration object. Please
  55589. * note that this option only applies to the initial animation of the series
  55590. * itself. For other animations, see chart.animation and the animation parameter
  55591. * under the API methods. The following properties are supported:
  55592. *
  55593. * - `defer`: The animation delay time in milliseconds.
  55594. *
  55595. * - `duration`: The duration of the animation in milliseconds.
  55596. *
  55597. * - `easing`: Can be a string reference to an easing function set on the `Math`
  55598. * object or a function. See the _Custom easing function_ demo below.
  55599. *
  55600. * Due to poor performance, animation is disabled in old IE browsers for several
  55601. * chart types.
  55602. */
  55603. export interface PlotMapAnimationOptions {
  55604. defer?: number;
  55605. }
  55606. /**
  55607. * (Highmaps) Enable or disable the initial animation when a series is
  55608. * displayed. The animation can also be set as a configuration object. Please
  55609. * note that this option only applies to the initial animation of the series
  55610. * itself. For other animations, see chart.animation and the animation parameter
  55611. * under the API methods. The following properties are supported:
  55612. *
  55613. * - `defer`: The animation delay time in milliseconds.
  55614. *
  55615. * - `duration`: The duration of the animation in milliseconds.
  55616. *
  55617. * - `easing`: Can be a string reference to an easing function set on the `Math`
  55618. * object or a function. See the _Custom easing function_ demo below.
  55619. *
  55620. * Due to poor performance, animation is disabled in old IE browsers for several
  55621. * chart types.
  55622. */
  55623. export interface PlotMapbubbleAnimationOptions {
  55624. defer?: number;
  55625. }
  55626. /**
  55627. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  55628. * animation when a series is displayed for the `dataLabels`. The animation can
  55629. * also be set as a configuration object. Please note that this option only
  55630. * applies to the initial animation. For other animations, see chart.animation
  55631. * and the animation parameter under the API methods. The following properties
  55632. * are supported:
  55633. *
  55634. * - `defer`: The animation delay time in milliseconds.
  55635. */
  55636. export interface PlotMapbubbleDataLabelsAnimationOptions {
  55637. /**
  55638. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  55639. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  55640. * inherits defer time from the series.animation.defer.
  55641. */
  55642. defer?: number;
  55643. }
  55644. /**
  55645. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  55646. * appearing next to each data point.
  55647. *
  55648. * Since v6.2.0, multiple data labels can be applied to each single point by
  55649. * defining them as an array of configs.
  55650. *
  55651. * In styled mode, the data labels can be styled with the
  55652. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  55653. * example).
  55654. */
  55655. export interface PlotMapbubbleDataLabelsOptions {
  55656. /**
  55657. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  55658. * compared to the point. If `right`, the right side of the label should be
  55659. * touching the point. For points with an extent, like columns, the
  55660. * alignments also dictates how to align it inside the box, as given with
  55661. * the inside option. Can be one of `left`, `center` or `right`.
  55662. */
  55663. align?: (AlignValue|null);
  55664. /**
  55665. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  55666. * overlap. To make the labels less sensitive for overlapping, the
  55667. * dataLabels.padding can be set to 0.
  55668. */
  55669. allowOverlap?: boolean;
  55670. /**
  55671. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  55672. * animation when a series is displayed for the `dataLabels`. The animation
  55673. * can also be set as a configuration object. Please note that this option
  55674. * only applies to the initial animation. For other animations, see
  55675. * chart.animation and the animation parameter under the API methods. The
  55676. * following properties are supported:
  55677. *
  55678. * - `defer`: The animation delay time in milliseconds.
  55679. */
  55680. animation?: (boolean|PlotMapbubbleDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  55681. /**
  55682. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  55683. * for the data label.
  55684. */
  55685. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  55686. /**
  55687. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  55688. * label. Defaults to `undefined`.
  55689. */
  55690. borderColor?: (ColorString|GradientColorObject|PatternObject);
  55691. /**
  55692. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  55693. * the data label.
  55694. */
  55695. borderRadius?: number;
  55696. /**
  55697. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  55698. * the data label.
  55699. */
  55700. borderWidth?: number;
  55701. /**
  55702. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  55703. * Particularly in styled mode, this can be used to give each series' or
  55704. * point's data label unique styling. In addition to this option, a default
  55705. * color class name is added so that we can give the labels a contrast text
  55706. * shadow.
  55707. */
  55708. className?: string;
  55709. /**
  55710. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  55711. * labels. Defaults to `undefined`. For certain series types, like column or
  55712. * map, the data labels can be drawn inside the points. In this case the
  55713. * data label will be drawn with maximum contrast by default. Additionally,
  55714. * it will be given a `text-outline` style with the opposite color, to
  55715. * further increase the contrast. This can be overridden by setting the
  55716. * `text-outline` style to `none` in the `dataLabels.style` option.
  55717. */
  55718. color?: (ColorString|GradientColorObject|PatternObject);
  55719. /**
  55720. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  55721. * are outside the plot area. By default, the data label is moved inside the
  55722. * plot area according to the overflow option.
  55723. */
  55724. crop?: boolean;
  55725. /**
  55726. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  55727. * labels until the initial series animation has finished. Setting to
  55728. * `false` renders the data label immediately. If set to `true` inherits the
  55729. * defer time set in plotOptions.series.animation.
  55730. */
  55731. defer?: boolean;
  55732. /**
  55733. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  55734. * labels.
  55735. */
  55736. enabled?: boolean;
  55737. /**
  55738. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  55739. * of which data labels to display. The declarative filter is designed for
  55740. * use when callback functions are not available, like when the chart
  55741. * options require a pure JSON structure or for use with graphical editors.
  55742. * For programmatic control, use the `formatter` instead, and return
  55743. * `undefined` to disable a single data label.
  55744. */
  55745. filter?: DataLabelsFilterOptionsObject;
  55746. /**
  55747. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  55748. * label. Available variables are the same as for `formatter`.
  55749. */
  55750. format?: string;
  55751. /**
  55752. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  55753. * format the data label. Note that if a `format` is defined, the format
  55754. * takes precedence and the formatter is ignored.
  55755. */
  55756. formatter?: DataLabelsFormatterCallbackFunction;
  55757. /**
  55758. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  55759. * columns or map areas, whether to align the data label inside the box or
  55760. * to the actual value point. Defaults to `false` in most cases, `true` in
  55761. * stacked columns.
  55762. */
  55763. inside?: boolean;
  55764. /**
  55765. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  55766. * of null. Works analogously to format. `nullFormat` can be applied only to
  55767. * series which support displaying null points.
  55768. */
  55769. nullFormat?: (boolean|string);
  55770. /**
  55771. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  55772. * that defines formatting for points with the value of null. Works
  55773. * analogously to formatter. `nullPointFormatter` can be applied only to
  55774. * series which support displaying null points.
  55775. */
  55776. nullFormatter?: DataLabelsFormatterCallbackFunction;
  55777. /**
  55778. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  55779. * flow outside the plot area. The default is `"justify"`, which aligns them
  55780. * inside the plot area. For columns and bars, this means it will be moved
  55781. * inside the bar. To display data labels outside the plot area, set `crop`
  55782. * to `false` and `overflow` to `"allow"`.
  55783. */
  55784. overflow?: DataLabelsOverflowValue;
  55785. /**
  55786. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  55787. * the `backgroundColor` is set, this is the padding within the box.
  55788. */
  55789. padding?: number;
  55790. /**
  55791. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  55792. * points. If `center` alignment is not possible, it defaults to `right`.
  55793. */
  55794. position?: AlignValue;
  55795. /**
  55796. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  55797. * that due to a more complex structure, backgrounds, borders and padding
  55798. * will be lost on a rotated data label.
  55799. */
  55800. rotation?: number;
  55801. /**
  55802. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  55803. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  55804. * an object configuration containing `color`, `offsetX`, `offsetY`,
  55805. * `opacity` and `width`.
  55806. */
  55807. shadow?: (boolean|ShadowOptionsObject);
  55808. /**
  55809. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  55810. * the border around the label. Symbols are predefined functions on the
  55811. * Renderer object.
  55812. */
  55813. shape?: string;
  55814. /**
  55815. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  55816. * default `color` setting is `"contrast"`, which is a pseudo color that
  55817. * Highcharts picks up and applies the maximum contrast to the underlying
  55818. * point item, for example the bar in a bar chart.
  55819. *
  55820. * The `textOutline` is a pseudo property that applies an outline of the
  55821. * given width with the given color, which by default is the maximum
  55822. * contrast to the text. So a bright text color will result in a black text
  55823. * outline for maximum readability on a mixed background. In some cases,
  55824. * especially with grayscale text, the text outline doesn't work well, in
  55825. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  55826. * is true, the `textOutline` will not be picked up. In this, case, the same
  55827. * effect can be acheived through the `text-shadow` CSS property.
  55828. *
  55829. * For some series types, where each point has an extent, like for example
  55830. * tree maps, the data label may overflow the point. There are two
  55831. * strategies for handling overflow. By default, the text will wrap to
  55832. * multiple lines. The other strategy is to set `style.textOverflow` to
  55833. * `ellipsis`, which will keep the text on one line plus it will break
  55834. * inside long words.
  55835. */
  55836. style?: CSSObject;
  55837. /**
  55838. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  55839. * should follow marker's shape. Border and background are disabled for a
  55840. * label that follows a path.
  55841. *
  55842. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  55843. * to true will disable this option.
  55844. */
  55845. textPath?: DataLabelsTextPathOptionsObject;
  55846. /**
  55847. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  55848. * the labels.
  55849. */
  55850. useHTML?: boolean;
  55851. /**
  55852. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  55853. * label. Can be one of `top`, `middle` or `bottom`. The default value
  55854. * depends on the data, for instance in a column chart, the label is above
  55855. * positive values and below negative values.
  55856. */
  55857. verticalAlign?: string;
  55858. /**
  55859. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  55860. * label relative to the point in pixels.
  55861. */
  55862. x?: number;
  55863. /**
  55864. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  55865. * label relative to the point in pixels.
  55866. */
  55867. y?: number;
  55868. /**
  55869. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  55870. * The default Z index puts it above the series. Use a Z index of 2 to
  55871. * display it behind the series.
  55872. */
  55873. z?: number;
  55874. }
  55875. /**
  55876. * (Highcharts, Highstock) Options for the series data sorting.
  55877. */
  55878. export interface PlotMapbubbleDataSortingOptions {
  55879. /**
  55880. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  55881. * Use xAxis.reversed to change the sorting order.
  55882. */
  55883. enabled?: boolean;
  55884. /**
  55885. * (Highcharts, Highstock) Whether to allow matching points by name in an
  55886. * update. If this option is disabled, points will be matched by order.
  55887. */
  55888. matchByName?: boolean;
  55889. /**
  55890. * (Highcharts, Highstock) Determines what data value should be used to sort
  55891. * by.
  55892. */
  55893. sortKey?: string;
  55894. }
  55895. /**
  55896. * (Highmaps) Style options for the guide box. The guide box has one state by
  55897. * default, the `default` state.
  55898. */
  55899. export interface PlotMapbubbleDragDropGuideBoxOptions {
  55900. /**
  55901. * (Highmaps) Style options for the guide box default state.
  55902. */
  55903. default?: DragDropGuideBoxOptionsObject;
  55904. }
  55905. /**
  55906. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
  55907. * plotting discrete values, a little random noise may help telling the points
  55908. * apart. The jitter setting applies a random displacement of up to `n` axis
  55909. * units in either direction. So for example on a horizontal X axis, setting the
  55910. * `jitter.x` to 0.24 will render the point in a random position between 0.24
  55911. * units to the left and 0.24 units to the right of the true axis position. On a
  55912. * category axis, setting it to 0.5 will fill up the bin and make the data
  55913. * appear continuous.
  55914. *
  55915. * When rendered on top of a box plot or a column series, a jitter value of 0.24
  55916. * will correspond to the underlying series' default groupPadding and
  55917. * pointPadding settings.
  55918. */
  55919. export interface PlotMapbubbleJitterOptions {
  55920. /**
  55921. * (Highcharts, Highstock) The maximal X offset for the random jitter
  55922. * effect.
  55923. */
  55924. x?: number;
  55925. /**
  55926. * (Highcharts, Highstock) The maximal Y offset for the random jitter
  55927. * effect.
  55928. */
  55929. y?: number;
  55930. }
  55931. /**
  55932. * (Highmaps) A map bubble series is a bubble series laid out on top of a map
  55933. * series, where each bubble is tied to a specific map area.
  55934. *
  55935. * In TypeScript the type option must always be set.
  55936. *
  55937. * Configuration options for the series are given in three levels:
  55938. *
  55939. * 1. Options for all series in a chart are defined in the plotOptions.series
  55940. * object.
  55941. *
  55942. * 2. Options for all `mapbubble` series are defined in plotOptions.mapbubble.
  55943. *
  55944. * 3. Options for one single series are given in the series instance array. (see
  55945. * online documentation for example)
  55946. */
  55947. export interface PlotMapbubbleOptions {
  55948. /**
  55949. * (Highmaps) Accessibility options for a series.
  55950. */
  55951. accessibility?: SeriesAccessibilityOptionsObject;
  55952. /**
  55953. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  55954. * rendered. If `true`, areas which don't correspond to a data point, are
  55955. * rendered as `null` points. If `false`, those areas are skipped.
  55956. */
  55957. allAreas?: boolean;
  55958. /**
  55959. * (Highmaps) Allow this series' points to be selected by clicking on the
  55960. * graphic (columns, point markers, pie slices, map areas etc).
  55961. *
  55962. * The selected points can be handled by point select and unselect events,
  55963. * or collectively by the getSelectedPoints function.
  55964. *
  55965. * And alternative way of selecting points is through dragging.
  55966. */
  55967. allowPointSelect?: boolean;
  55968. /**
  55969. * (Highmaps) Enable or disable the initial animation when a series is
  55970. * displayed. The animation can also be set as a configuration object.
  55971. * Please note that this option only applies to the initial animation of the
  55972. * series itself. For other animations, see chart.animation and the
  55973. * animation parameter under the API methods. The following properties are
  55974. * supported:
  55975. *
  55976. * - `defer`: The animation delay time in milliseconds.
  55977. *
  55978. * - `duration`: The duration of the animation in milliseconds.
  55979. *
  55980. * - `easing`: Can be a string reference to an easing function set on the
  55981. * `Math` object or a function. See the _Custom easing function_ demo below.
  55982. *
  55983. * Due to poor performance, animation is disabled in old IE browsers for
  55984. * several chart types.
  55985. */
  55986. animation?: (boolean|PlotMapbubbleAnimationOptions|Partial<AnimationOptionsObject>);
  55987. /**
  55988. * (Highmaps) If there are more points in the series than the
  55989. * `animationLimit`, the animation won't run. Animation affects overall
  55990. * performance and doesn't work well with heavy data series.
  55991. */
  55992. animationLimit?: number;
  55993. /**
  55994. * (Highmaps) Sets the color blending in the boost module.
  55995. */
  55996. boostBlending?: OptionsBoostBlendingValue;
  55997. /**
  55998. * (Highmaps) Set the point threshold for when a series should enter boost
  55999. * mode.
  56000. *
  56001. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  56002. * there are 2000 or more points in the series.
  56003. *
  56004. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  56005. * it to 1 will force boosting.
  56006. *
  56007. * Note that the cropThreshold also affects this setting. When zooming in on
  56008. * a series that has fewer points than the `cropThreshold`, all points are
  56009. * rendered although outside the visible plot area, and the `boostThreshold`
  56010. * won't take effect.
  56011. */
  56012. boostThreshold?: number;
  56013. /**
  56014. * (Highmaps) The border color of the map areas.
  56015. *
  56016. * In styled mode, the border stroke is given in the `.highcharts-point`
  56017. * class.
  56018. */
  56019. borderColor?: (ColorString|GradientColorObject|PatternObject);
  56020. /**
  56021. * (Highmaps) The border width of each map area.
  56022. *
  56023. * In styled mode, the border stroke width is given in the
  56024. * `.highcharts-point` class.
  56025. */
  56026. borderWidth?: number;
  56027. /**
  56028. * (Highmaps) An additional class name to apply to the series' graphical
  56029. * elements. This option does not replace default class names of the
  56030. * graphical element.
  56031. */
  56032. className?: string;
  56033. /**
  56034. * (Highmaps) Disable this option to allow series rendering in the whole
  56035. * plotting area.
  56036. *
  56037. * **Note:** Clipping should be always enabled when chart.zoomType is set
  56038. */
  56039. clip?: boolean;
  56040. /**
  56041. * (Highmaps) The main color of the series. This color affects both the fill
  56042. * and the stroke of the bubble. For enhanced control, use `marker` options.
  56043. */
  56044. color?: (ColorString|GradientColorObject|PatternObject);
  56045. /**
  56046. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  56047. * this number defines which colorAxis the particular series is connected
  56048. * to. It refers to either the axis id or the index of the axis in the
  56049. * colorAxis array, with 0 being the first. Set this option to false to
  56050. * prevent a series from connecting to the default color axis.
  56051. *
  56052. * Since v7.2.0 the option can also be an axis id or an axis index instead
  56053. * of a boolean flag.
  56054. */
  56055. colorAxis?: (boolean|number|string);
  56056. /**
  56057. * (Highmaps) Styled mode only. A specific color index to use for the
  56058. * series, so its graphic representations are given the class name
  56059. * `highcharts-color-{n}`.
  56060. */
  56061. colorIndex?: number;
  56062. /**
  56063. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  56064. * used to calculate point color if `colorAxis` is used. Requires to set
  56065. * `min` and `max` if some custom point property is used or if approximation
  56066. * for data grouping is set to `'sum'`.
  56067. */
  56068. colorKey?: string;
  56069. /**
  56070. * (Highstock) Compare the values of the series against the first non-null,
  56071. * non- zero value in the visible range. The y axis will show percentage or
  56072. * absolute change depending on whether `compare` is set to `"percent"` or
  56073. * `"value"`. When this is applied to multiple series, it allows comparing
  56074. * the development of the series against each other. Adds a `change` field
  56075. * to every point object.
  56076. */
  56077. compare?: string;
  56078. /**
  56079. * (Highstock) When compare is `percent`, this option dictates whether to
  56080. * use 0 or 100 as the base of comparison.
  56081. */
  56082. compareBase?: (0|100);
  56083. /**
  56084. * (Highstock) Defines if comparison should start from the first point
  56085. * within the visible range or should start from the first point **before**
  56086. * the range.
  56087. *
  56088. * In other words, this flag determines if first point within the visible
  56089. * range will have 0% (`compareStart=true`) or should have been already
  56090. * calculated according to the previous point (`compareStart=false`).
  56091. */
  56092. compareStart?: boolean;
  56093. /**
  56094. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  56095. * series plot across the extremes.
  56096. */
  56097. connectEnds?: boolean;
  56098. /**
  56099. * (Highcharts, Highstock) Whether to connect a graph line across null
  56100. * points, or render a gap between the two points on either side of the
  56101. * null.
  56102. */
  56103. connectNulls?: boolean;
  56104. /**
  56105. * (Gantt) Override Pathfinder connector options for a series. Requires
  56106. * Highcharts Gantt to be loaded.
  56107. */
  56108. connectors?: SeriesConnectorsOptionsObject;
  56109. /**
  56110. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  56111. * rounded to its nearest pixel in order to render sharp on screen. In some
  56112. * cases, when there are a lot of densely packed columns, this leads to
  56113. * visible difference in column widths or distance between columns. In these
  56114. * cases, setting `crisp` to `false` may look better, even though each
  56115. * column is rendered blurry.
  56116. */
  56117. crisp?: boolean;
  56118. /**
  56119. * (Highmaps) You can set the cursor to "pointer" if you have click events
  56120. * attached to the series, to signal to the user that the points and lines
  56121. * can be clicked.
  56122. *
  56123. * In styled mode, the series cursor can be set with the same classes as
  56124. * listed under series.color.
  56125. */
  56126. cursor?: (string|CursorValue);
  56127. /**
  56128. * (Highmaps) A reserved subspace to store options and values for customized
  56129. * functionality. Here you can add additional data for your own event
  56130. * callbacks and formatter callbacks.
  56131. */
  56132. custom?: Dictionary<any>;
  56133. /**
  56134. * (Highmaps) Name of the dash style to use for the graph, or for some
  56135. * series types the outline of each shape.
  56136. *
  56137. * In styled mode, the stroke dash-array can be set with the same classes as
  56138. * listed under series.color.
  56139. */
  56140. dashStyle?: DashStyleValue;
  56141. /**
  56142. * (Highstock) Data grouping is the concept of sampling the data values into
  56143. * larger blocks in order to ease readability and increase performance of
  56144. * the JavaScript charts. Highstock by default applies data grouping when
  56145. * the points become closer than a certain pixel value, determined by the
  56146. * `groupPixelWidth` option.
  56147. *
  56148. * If data grouping is applied, the grouping information of grouped points
  56149. * can be read from the Point.dataGroup. If point options other than the
  56150. * data itself are set, for example `name` or `color` or custom properties,
  56151. * the grouping logic doesn't know how to group it. In this case the options
  56152. * of the first point instance are copied over to the group point. This can
  56153. * be altered through a custom `approximation` callback function.
  56154. */
  56155. dataGrouping?: DataGroupingOptionsObject;
  56156. /**
  56157. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  56158. * labels, appearing next to each data point.
  56159. *
  56160. * Since v6.2.0, multiple data labels can be applied to each single point by
  56161. * defining them as an array of configs.
  56162. *
  56163. * In styled mode, the data labels can be styled with the
  56164. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  56165. * (see example).
  56166. */
  56167. dataLabels?: (PlotMapbubbleDataLabelsOptions|Array<PlotMapbubbleDataLabelsOptions>);
  56168. /**
  56169. * (Highcharts, Highstock) Options for the series data sorting.
  56170. */
  56171. dataSorting?: (DataSortingOptionsObject|PlotMapbubbleDataSortingOptions);
  56172. /**
  56173. * (Highmaps) A description of the series to add to the screen reader
  56174. * information about the series.
  56175. */
  56176. description?: string;
  56177. /**
  56178. * (Highmaps) Whether to display negative sized bubbles. The threshold is
  56179. * given by the zThreshold option, and negative bubbles can be visualized by
  56180. * setting negativeColor.
  56181. */
  56182. displayNegative?: boolean;
  56183. /**
  56184. * (Highmaps) The draggable-points module allows points to be moved around
  56185. * or modified in the chart. In addition to the options mentioned under the
  56186. * `dragDrop` API structure, the module fires three events, point.dragStart,
  56187. * point.drag and point.drop.
  56188. */
  56189. dragDrop?: SeriesDragDropOptionsObject;
  56190. /**
  56191. * (Highmaps) Enable or disable the mouse tracking for a specific series.
  56192. * This includes point tooltips and click events on graphs and points. For
  56193. * large datasets it improves performance.
  56194. */
  56195. enableMouseTracking?: boolean;
  56196. /**
  56197. * (Highmaps) General event handlers for the series items. These event hooks
  56198. * can also be attached to the series at run time using the
  56199. * `Highcharts.addEvent` function.
  56200. */
  56201. events?: SeriesEventsOptionsObject;
  56202. /**
  56203. * (Highmaps) Determines whether the series should look for the nearest
  56204. * point in both dimensions or just the x-dimension when hovering the
  56205. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  56206. * series. If the data has duplicate x-values, it is recommended to set this
  56207. * to `'xy'` to allow hovering over all points.
  56208. *
  56209. * Applies only to series types using nearest neighbor search (not direct
  56210. * hover) for tooltip.
  56211. */
  56212. findNearestPointBy?: OptionsFindNearestPointByValue;
  56213. /**
  56214. * (Highstock) Defines when to display a gap in the graph, together with the
  56215. * gapUnit option.
  56216. *
  56217. * In case when `dataGrouping` is enabled, points can be grouped into a
  56218. * larger time span. This can make the grouped points to have a greater
  56219. * distance than the absolute value of `gapSize` property, which will result
  56220. * in disappearing graph completely. To prevent this situation the mentioned
  56221. * distance between grouped points is used instead of previously defined
  56222. * `gapSize`.
  56223. *
  56224. * In practice, this option is most often used to visualize gaps in time
  56225. * series. In a stock chart, intraday data is available for daytime hours,
  56226. * while gaps will appear in nights and weekends.
  56227. */
  56228. gapSize?: number;
  56229. /**
  56230. * (Highstock) Together with gapSize, this option defines where to draw gaps
  56231. * in the graph.
  56232. *
  56233. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  56234. * if the distance between two points is greater than 5 times that of the
  56235. * two closest points, the graph will be broken.
  56236. *
  56237. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  56238. * values, which on a datetime axis is milliseconds. This also applies to
  56239. * the navigator series that inherits gap options from the base series.
  56240. */
  56241. gapUnit?: OptionsGapUnitValue;
  56242. /**
  56243. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  56244. * chart width or only the zoomed area when zooming in on parts of the X
  56245. * axis. By default, the Y axis adjusts to the min and max of the visible
  56246. * data. Cartesian series only.
  56247. */
  56248. getExtremesFromAll?: boolean;
  56249. /**
  56250. * (Highmaps) When set to `false` will prevent the series data from being
  56251. * included in any form of data export.
  56252. *
  56253. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  56254. * `includeInCSVExport`.
  56255. */
  56256. includeInDataExport?: boolean;
  56257. /**
  56258. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
  56259. * When plotting discrete values, a little random noise may help telling the
  56260. * points apart. The jitter setting applies a random displacement of up to
  56261. * `n` axis units in either direction. So for example on a horizontal X
  56262. * axis, setting the `jitter.x` to 0.24 will render the point in a random
  56263. * position between 0.24 units to the left and 0.24 units to the right of
  56264. * the true axis position. On a category axis, setting it to 0.5 will fill
  56265. * up the bin and make the data appear continuous.
  56266. *
  56267. * When rendered on top of a box plot or a column series, a jitter value of
  56268. * 0.24 will correspond to the underlying series' default groupPadding and
  56269. * pointPadding settings.
  56270. */
  56271. jitter?: PlotMapbubbleJitterOptions;
  56272. /**
  56273. * (Highmaps) What property to join the `mapData` to the value data. For
  56274. * example, if joinBy is "code", the mapData items with a specific code is
  56275. * merged into the data with the same code. For maps loaded from GeoJSON,
  56276. * the keys may be held in each point's `properties` object.
  56277. *
  56278. * The joinBy option can also be an array of two values, where the first
  56279. * points to a key in the `mapData`, and the second points to another key in
  56280. * the `data`.
  56281. *
  56282. * When joinBy is `null`, the map items are joined by their position in the
  56283. * array, which performs much better in maps with many data points. This is
  56284. * the recommended option if you are printing more than a thousand data
  56285. * points and have a backend that can preprocess the data into a parallel
  56286. * array of the mapData.
  56287. */
  56288. joinBy?: (string|Array<string>);
  56289. /**
  56290. * (Highmaps) An array specifying which option maps to which key in the data
  56291. * point array. This makes it convenient to work with unstructured data
  56292. * arrays from different sources.
  56293. */
  56294. keys?: Array<string>;
  56295. /**
  56296. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  56297. * series as possible in a natural way, seeking to avoid other series. The
  56298. * goal of this feature is to make the chart more easily readable, like if a
  56299. * human designer placed the labels in the optimal position.
  56300. *
  56301. * The series labels currently work with series types having a `graph` or an
  56302. * `area`.
  56303. */
  56304. label?: SeriesLabelOptionsObject;
  56305. /**
  56306. * (Highstock) The line marks the last price from all points.
  56307. */
  56308. lastPrice?: SeriesLastPriceOptionsObject;
  56309. /**
  56310. * (Highstock) The line marks the last price from visible range of points.
  56311. */
  56312. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  56313. /**
  56314. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  56315. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  56316. * the ends and bends.
  56317. */
  56318. linecap?: SeriesLinecapValue;
  56319. /**
  56320. * (Highcharts, Highstock) The width of the line connecting the data points.
  56321. */
  56322. lineWidth?: number;
  56323. /**
  56324. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  56325. * Additionally, the value can be ":previous" to link to the previous
  56326. * series. When two series are linked, only the first one appears in the
  56327. * legend. Toggling the visibility of this also toggles the linked series.
  56328. *
  56329. * If master series uses data sorting and linked series does not have its
  56330. * own sorting definition, the linked series will be sorted in the same
  56331. * order as the master one.
  56332. */
  56333. linkedTo?: string;
  56334. /**
  56335. * (Highmaps) Options for the point markers of line-like series. Properties
  56336. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  56337. * appearance of the markers. Other series types, like column series, don't
  56338. * have markers, but have visual options on the series level instead.
  56339. *
  56340. * In styled mode, the markers can be styled with the `.highcharts-point`,
  56341. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  56342. */
  56343. marker?: PointMarkerOptionsObject;
  56344. /**
  56345. * (Highcharts, Highstock) Maximum bubble size. Bubbles will automatically
  56346. * size between the `minSize` and `maxSize` to reflect the `z` value of each
  56347. * bubble. Can be either pixels (when no unit is given), or a percentage of
  56348. * the smallest one of the plot width and height.
  56349. */
  56350. maxSize?: (number|string);
  56351. /**
  56352. * (Highcharts, Highstock) Minimum bubble size. Bubbles will automatically
  56353. * size between the `minSize` and `maxSize` to reflect the `z` value of each
  56354. * bubble. Can be either pixels (when no unit is given), or a percentage of
  56355. * the smallest one of the plot width and height.
  56356. */
  56357. minSize?: (number|string);
  56358. /**
  56359. * (Highstock) Options for the corresponding navigator series if
  56360. * `showInNavigator` is `true` for this series. Available options are the
  56361. * same as any series, documented at plotOptions and series.
  56362. *
  56363. * These options are merged with options in navigator.series, and will take
  56364. * precedence if the same option is defined both places.
  56365. */
  56366. navigatorOptions?: PlotSeriesOptions;
  56367. /**
  56368. * (Highcharts) When a point's Z value is below the zThreshold setting, this
  56369. * color is used.
  56370. */
  56371. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  56372. /**
  56373. * (Highmaps) Opacity of a series parts: line, fill (e.g. area) and
  56374. * dataLabels.
  56375. */
  56376. opacity?: number;
  56377. /**
  56378. * (Highmaps) Properties for each single point.
  56379. */
  56380. point?: PlotSeriesPointOptions;
  56381. /**
  56382. * (Highmaps) Same as accessibility.pointDescriptionFormatter, but for an
  56383. * individual series. Overrides the chart wide configuration.
  56384. */
  56385. pointDescriptionFormatter?: Function;
  56386. /**
  56387. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  56388. * a series, `pointInterval` defines the interval of the x values. For
  56389. * example, if a series contains one value every decade starting from year
  56390. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  56391. * `pointInterval` is set in milliseconds.
  56392. *
  56393. * It can be also be combined with `pointIntervalUnit` to draw irregular
  56394. * time intervals.
  56395. *
  56396. * Please note that this options applies to the _series data_, not the
  56397. * interval of the axis ticks, which is independent.
  56398. */
  56399. pointInterval?: number;
  56400. /**
  56401. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  56402. * setting the pointInterval to irregular time units, `day`, `month` and
  56403. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  56404. * also takes the DST crossover into consideration when dealing with local
  56405. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  56406. * months, 10 years etc.
  56407. *
  56408. * Please note that this options applies to the _series data_, not the
  56409. * interval of the axis ticks, which is independent.
  56410. */
  56411. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  56412. /**
  56413. * (Highstock) The width of each point on the x axis. For example in a
  56414. * column chart with one value each day, the pointRange would be 1 day (= 24
  56415. * * 3600
  56416. *
  56417. * * 1000 milliseconds). This is normally computed automatically, but this
  56418. * option can be used to override the automatic value.
  56419. */
  56420. pointRange?: number;
  56421. /**
  56422. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  56423. * a series, pointStart defines on what value to start. For example, if a
  56424. * series contains one yearly value starting from 1945, set pointStart to
  56425. * 1945.
  56426. */
  56427. pointStart?: number;
  56428. /**
  56429. * (Highmaps) Whether to select the series initially. If `showCheckbox` is
  56430. * true, the checkbox next to the series name in the legend will be checked
  56431. * for a selected series.
  56432. */
  56433. selected?: boolean;
  56434. /**
  56435. * (Highmaps) If true, a checkbox is displayed next to the legend item to
  56436. * allow selecting the series. The state of the checkbox is determined by
  56437. * the `selected` option.
  56438. */
  56439. showCheckbox?: boolean;
  56440. /**
  56441. * (Highmaps) Whether to display this particular series or series type in
  56442. * the legend. Standalone series are shown in legend by default, and linked
  56443. * series are not. Since v7.2.0 it is possible to show series that use
  56444. * colorAxis by setting this option to `true`.
  56445. */
  56446. showInLegend?: boolean;
  56447. /**
  56448. * (Highstock) Whether or not to show the series in the navigator. Takes
  56449. * precedence over navigator.baseSeries if defined.
  56450. */
  56451. showInNavigator?: boolean;
  56452. /**
  56453. * (Highmaps) Whether the bubble's value should be represented by the area
  56454. * or the width of the bubble. The default, `area`, corresponds best to the
  56455. * human perception of the size of each bubble.
  56456. */
  56457. sizeBy?: BubbleSizeByValue;
  56458. /**
  56459. * (Highcharts) When this is true, the absolute value of z determines the
  56460. * size of the bubble. This means that with the default `zThreshold` of 0, a
  56461. * bubble of value -1 will have the same size as a bubble of value 1, while
  56462. * a bubble of value 0 will have a smaller size according to `minSize`.
  56463. */
  56464. sizeByAbsoluteValue?: boolean;
  56465. /**
  56466. * (Highmaps) If set to `true`, the accessibility module will skip past the
  56467. * points in this series for keyboard navigation.
  56468. */
  56469. skipKeyboardNavigation?: boolean;
  56470. /**
  56471. * (Highcharts) When this is true, the series will not cause the Y axis to
  56472. * cross the zero plane (or threshold option) unless the data actually
  56473. * crosses the plane.
  56474. *
  56475. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  56476. * make the Y axis show negative values according to the `minPadding`
  56477. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  56478. */
  56479. softThreshold?: boolean;
  56480. /**
  56481. * (Highcharts, Highstock) Whether to stack the values of each series on top
  56482. * of each other. Possible values are `undefined` to disable, `"normal"` to
  56483. * stack by value or `"percent"`.
  56484. *
  56485. * When stacking is enabled, data must be sorted in ascending X order.
  56486. *
  56487. * Some stacking options are related to specific series types. In the
  56488. * streamgraph series type, the stacking option is set to `"stream"`. The
  56489. * second one is `"overlap"`, which only applies to waterfall series.
  56490. */
  56491. stacking?: OptionsStackingValue;
  56492. states?: SeriesStatesOptionsObject;
  56493. /**
  56494. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  56495. * values are `left`, `center` and `right`.
  56496. */
  56497. step?: OptionsStepValue;
  56498. /**
  56499. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  56500. * `mouseOut` event on a series isn't triggered until the mouse moves over
  56501. * another series, or out of the plot area. When false, the `mouseOut` event
  56502. * on a series is triggered when the mouse leaves the area around the
  56503. * series' graph or markers. This also implies the tooltip. When
  56504. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  56505. * be hidden when moving the mouse between series.
  56506. */
  56507. stickyTracking?: boolean;
  56508. /**
  56509. * (Highcharts, Highstock) The threshold, also called zero level or base
  56510. * level. For line type series this is only used in conjunction with
  56511. * negativeColor.
  56512. */
  56513. threshold?: number;
  56514. /**
  56515. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  56516. * of each single series. Properties are inherited from tooltip. Overridable
  56517. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  56518. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  56519. * series.name by default shows in the headerFormat and point.x and point.y
  56520. * in the pointFormat.
  56521. */
  56522. tooltip?: SeriesTooltipOptionsObject;
  56523. /**
  56524. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  56525. * is longer than this, only one dimensional arrays of numbers, or two
  56526. * dimensional arrays with x and y values are allowed. Also, only the first
  56527. * point is tested, and the rest are assumed to be the same format. This
  56528. * saves expensive data checking and indexing in long series. Set it to `0`
  56529. * disable.
  56530. *
  56531. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  56532. * two dimensional arrays are allowed.
  56533. */
  56534. turboThreshold?: number;
  56535. /**
  56536. * (Highmaps) Set the initial visibility of the series.
  56537. */
  56538. visible?: boolean;
  56539. /**
  56540. * (Highmaps) Define the z index of the series.
  56541. */
  56542. zIndex?: number;
  56543. /**
  56544. * (Highcharts) The minimum for the Z value range. Defaults to the highest Z
  56545. * value in the data.
  56546. */
  56547. zMax?: number;
  56548. /**
  56549. * (Highcharts) The minimum for the Z value range. Defaults to the lowest Z
  56550. * value in the data.
  56551. */
  56552. zMin?: number;
  56553. /**
  56554. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  56555. */
  56556. zoneAxis?: string;
  56557. /**
  56558. * (Highcharts, Highstock) An array defining zones within a series. Zones
  56559. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  56560. * the `zoneAxis` option. The zone definitions have to be in ascending order
  56561. * regarding to the value.
  56562. *
  56563. * In styled mode, the color zones are styled with the
  56564. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  56565. * option (view live demo).
  56566. */
  56567. zones?: Array<SeriesZonesOptionsObject>;
  56568. /**
  56569. * (Highcharts) When displayNegative is `false`, bubbles with lower Z values
  56570. * are skipped. When `displayNegative` is `true` and a negativeColor is
  56571. * given, points with lower Z is colored.
  56572. */
  56573. zThreshold?: number;
  56574. }
  56575. /**
  56576. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  56577. * animation when a series is displayed for the `dataLabels`. The animation can
  56578. * also be set as a configuration object. Please note that this option only
  56579. * applies to the initial animation. For other animations, see chart.animation
  56580. * and the animation parameter under the API methods. The following properties
  56581. * are supported:
  56582. *
  56583. * - `defer`: The animation delay time in milliseconds.
  56584. */
  56585. export interface PlotMapDataLabelsAnimationOptions {
  56586. /**
  56587. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  56588. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  56589. * inherits defer time from the series.animation.defer.
  56590. */
  56591. defer?: number;
  56592. }
  56593. /**
  56594. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  56595. * appearing next to each data point.
  56596. *
  56597. * Since v6.2.0, multiple data labels can be applied to each single point by
  56598. * defining them as an array of configs.
  56599. *
  56600. * In styled mode, the data labels can be styled with the
  56601. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  56602. * example).
  56603. */
  56604. export interface PlotMapDataLabelsOptions {
  56605. /**
  56606. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  56607. * compared to the point. If `right`, the right side of the label should be
  56608. * touching the point. For points with an extent, like columns, the
  56609. * alignments also dictates how to align it inside the box, as given with
  56610. * the inside option. Can be one of `left`, `center` or `right`.
  56611. */
  56612. align?: (AlignValue|null);
  56613. /**
  56614. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  56615. * overlap. To make the labels less sensitive for overlapping, the
  56616. * dataLabels.padding can be set to 0.
  56617. */
  56618. allowOverlap?: boolean;
  56619. /**
  56620. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  56621. * animation when a series is displayed for the `dataLabels`. The animation
  56622. * can also be set as a configuration object. Please note that this option
  56623. * only applies to the initial animation. For other animations, see
  56624. * chart.animation and the animation parameter under the API methods. The
  56625. * following properties are supported:
  56626. *
  56627. * - `defer`: The animation delay time in milliseconds.
  56628. */
  56629. animation?: (boolean|PlotMapDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  56630. /**
  56631. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  56632. * for the data label.
  56633. */
  56634. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  56635. /**
  56636. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  56637. * label. Defaults to `undefined`.
  56638. */
  56639. borderColor?: (ColorString|GradientColorObject|PatternObject);
  56640. /**
  56641. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  56642. * the data label.
  56643. */
  56644. borderRadius?: number;
  56645. /**
  56646. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  56647. * the data label.
  56648. */
  56649. borderWidth?: number;
  56650. /**
  56651. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  56652. * Particularly in styled mode, this can be used to give each series' or
  56653. * point's data label unique styling. In addition to this option, a default
  56654. * color class name is added so that we can give the labels a contrast text
  56655. * shadow.
  56656. */
  56657. className?: string;
  56658. /**
  56659. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  56660. * labels. Defaults to `undefined`. For certain series types, like column or
  56661. * map, the data labels can be drawn inside the points. In this case the
  56662. * data label will be drawn with maximum contrast by default. Additionally,
  56663. * it will be given a `text-outline` style with the opposite color, to
  56664. * further increase the contrast. This can be overridden by setting the
  56665. * `text-outline` style to `none` in the `dataLabels.style` option.
  56666. */
  56667. color?: (ColorString|GradientColorObject|PatternObject);
  56668. /**
  56669. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  56670. * are outside the plot area. By default, the data label is moved inside the
  56671. * plot area according to the overflow option.
  56672. */
  56673. crop?: boolean;
  56674. /**
  56675. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  56676. * labels until the initial series animation has finished. Setting to
  56677. * `false` renders the data label immediately. If set to `true` inherits the
  56678. * defer time set in plotOptions.series.animation.
  56679. */
  56680. defer?: boolean;
  56681. /**
  56682. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  56683. * labels.
  56684. */
  56685. enabled?: boolean;
  56686. /**
  56687. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  56688. * of which data labels to display. The declarative filter is designed for
  56689. * use when callback functions are not available, like when the chart
  56690. * options require a pure JSON structure or for use with graphical editors.
  56691. * For programmatic control, use the `formatter` instead, and return
  56692. * `undefined` to disable a single data label.
  56693. */
  56694. filter?: DataLabelsFilterOptionsObject;
  56695. /**
  56696. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  56697. * label. Available variables are the same as for `formatter`.
  56698. */
  56699. format?: string;
  56700. /**
  56701. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  56702. * format the data label. Note that if a `format` is defined, the format
  56703. * takes precedence and the formatter is ignored.
  56704. */
  56705. formatter?: DataLabelsFormatterCallbackFunction;
  56706. /**
  56707. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  56708. * columns or map areas, whether to align the data label inside the box or
  56709. * to the actual value point. Defaults to `false` in most cases, `true` in
  56710. * stacked columns.
  56711. */
  56712. inside?: boolean;
  56713. /**
  56714. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  56715. * of null. Works analogously to format. `nullFormat` can be applied only to
  56716. * series which support displaying null points.
  56717. */
  56718. nullFormat?: (boolean|string);
  56719. /**
  56720. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  56721. * that defines formatting for points with the value of null. Works
  56722. * analogously to formatter. `nullPointFormatter` can be applied only to
  56723. * series which support displaying null points.
  56724. */
  56725. nullFormatter?: DataLabelsFormatterCallbackFunction;
  56726. /**
  56727. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  56728. * flow outside the plot area. The default is `"justify"`, which aligns them
  56729. * inside the plot area. For columns and bars, this means it will be moved
  56730. * inside the bar. To display data labels outside the plot area, set `crop`
  56731. * to `false` and `overflow` to `"allow"`.
  56732. */
  56733. overflow?: boolean;
  56734. /**
  56735. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  56736. * the `backgroundColor` is set, this is the padding within the box.
  56737. */
  56738. padding?: number;
  56739. /**
  56740. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  56741. * points. If `center` alignment is not possible, it defaults to `right`.
  56742. */
  56743. position?: AlignValue;
  56744. /**
  56745. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  56746. * that due to a more complex structure, backgrounds, borders and padding
  56747. * will be lost on a rotated data label.
  56748. */
  56749. rotation?: number;
  56750. /**
  56751. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  56752. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  56753. * an object configuration containing `color`, `offsetX`, `offsetY`,
  56754. * `opacity` and `width`.
  56755. */
  56756. shadow?: (boolean|ShadowOptionsObject);
  56757. /**
  56758. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  56759. * the border around the label. Symbols are predefined functions on the
  56760. * Renderer object.
  56761. */
  56762. shape?: string;
  56763. /**
  56764. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  56765. * default `color` setting is `"contrast"`, which is a pseudo color that
  56766. * Highcharts picks up and applies the maximum contrast to the underlying
  56767. * point item, for example the bar in a bar chart.
  56768. *
  56769. * The `textOutline` is a pseudo property that applies an outline of the
  56770. * given width with the given color, which by default is the maximum
  56771. * contrast to the text. So a bright text color will result in a black text
  56772. * outline for maximum readability on a mixed background. In some cases,
  56773. * especially with grayscale text, the text outline doesn't work well, in
  56774. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  56775. * is true, the `textOutline` will not be picked up. In this, case, the same
  56776. * effect can be acheived through the `text-shadow` CSS property.
  56777. *
  56778. * For some series types, where each point has an extent, like for example
  56779. * tree maps, the data label may overflow the point. There are two
  56780. * strategies for handling overflow. By default, the text will wrap to
  56781. * multiple lines. The other strategy is to set `style.textOverflow` to
  56782. * `ellipsis`, which will keep the text on one line plus it will break
  56783. * inside long words.
  56784. */
  56785. style?: CSSObject;
  56786. /**
  56787. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  56788. * should follow marker's shape. Border and background are disabled for a
  56789. * label that follows a path.
  56790. *
  56791. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  56792. * to true will disable this option.
  56793. */
  56794. textPath?: DataLabelsTextPathOptionsObject;
  56795. /**
  56796. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  56797. * the labels.
  56798. */
  56799. useHTML?: boolean;
  56800. /**
  56801. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  56802. * label. Can be one of `top`, `middle` or `bottom`. The default value
  56803. * depends on the data, for instance in a column chart, the label is above
  56804. * positive values and below negative values.
  56805. */
  56806. verticalAlign?: string;
  56807. /**
  56808. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  56809. * label relative to the point in pixels.
  56810. */
  56811. x?: number;
  56812. /**
  56813. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  56814. * label relative to the point in pixels.
  56815. */
  56816. y?: number;
  56817. /**
  56818. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  56819. * The default Z index puts it above the series. Use a Z index of 2 to
  56820. * display it behind the series.
  56821. */
  56822. z?: number;
  56823. }
  56824. /**
  56825. * (Highcharts, Highstock) Options for the series data sorting.
  56826. */
  56827. export interface PlotMapDataSortingOptions {
  56828. /**
  56829. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  56830. * Use xAxis.reversed to change the sorting order.
  56831. */
  56832. enabled?: boolean;
  56833. /**
  56834. * (Highcharts, Highstock) Whether to allow matching points by name in an
  56835. * update. If this option is disabled, points will be matched by order.
  56836. */
  56837. matchByName?: boolean;
  56838. /**
  56839. * (Highcharts, Highstock) Determines what data value should be used to sort
  56840. * by.
  56841. */
  56842. sortKey?: string;
  56843. }
  56844. /**
  56845. * (Highmaps) Style options for the guide box. The guide box has one state by
  56846. * default, the `default` state.
  56847. */
  56848. export interface PlotMapDragDropGuideBoxOptions {
  56849. /**
  56850. * (Highmaps) Style options for the guide box default state.
  56851. */
  56852. default?: DragDropGuideBoxOptionsObject;
  56853. }
  56854. /**
  56855. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
  56856. * plotting discrete values, a little random noise may help telling the points
  56857. * apart. The jitter setting applies a random displacement of up to `n` axis
  56858. * units in either direction. So for example on a horizontal X axis, setting the
  56859. * `jitter.x` to 0.24 will render the point in a random position between 0.24
  56860. * units to the left and 0.24 units to the right of the true axis position. On a
  56861. * category axis, setting it to 0.5 will fill up the bin and make the data
  56862. * appear continuous.
  56863. *
  56864. * When rendered on top of a box plot or a column series, a jitter value of 0.24
  56865. * will correspond to the underlying series' default groupPadding and
  56866. * pointPadding settings.
  56867. */
  56868. export interface PlotMapJitterOptions {
  56869. /**
  56870. * (Highcharts, Highstock) The maximal X offset for the random jitter
  56871. * effect.
  56872. */
  56873. x?: number;
  56874. /**
  56875. * (Highcharts, Highstock) The maximal Y offset for the random jitter
  56876. * effect.
  56877. */
  56878. y?: number;
  56879. }
  56880. /**
  56881. * (Highmaps) Enable or disable the initial animation when a series is
  56882. * displayed. The animation can also be set as a configuration object. Please
  56883. * note that this option only applies to the initial animation of the series
  56884. * itself. For other animations, see chart.animation and the animation parameter
  56885. * under the API methods. The following properties are supported:
  56886. *
  56887. * - `defer`: The animation delay time in milliseconds.
  56888. *
  56889. * - `duration`: The duration of the animation in milliseconds.
  56890. *
  56891. * - `easing`: Can be a string reference to an easing function set on the `Math`
  56892. * object or a function. See the _Custom easing function_ demo below.
  56893. *
  56894. * Due to poor performance, animation is disabled in old IE browsers for several
  56895. * chart types.
  56896. */
  56897. export interface PlotMaplineAnimationOptions {
  56898. defer?: number;
  56899. }
  56900. /**
  56901. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  56902. * animation when a series is displayed for the `dataLabels`. The animation can
  56903. * also be set as a configuration object. Please note that this option only
  56904. * applies to the initial animation. For other animations, see chart.animation
  56905. * and the animation parameter under the API methods. The following properties
  56906. * are supported:
  56907. *
  56908. * - `defer`: The animation delay time in milliseconds.
  56909. */
  56910. export interface PlotMaplineDataLabelsAnimationOptions {
  56911. /**
  56912. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  56913. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  56914. * inherits defer time from the series.animation.defer.
  56915. */
  56916. defer?: number;
  56917. }
  56918. /**
  56919. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  56920. * appearing next to each data point.
  56921. *
  56922. * Since v6.2.0, multiple data labels can be applied to each single point by
  56923. * defining them as an array of configs.
  56924. *
  56925. * In styled mode, the data labels can be styled with the
  56926. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  56927. * example).
  56928. */
  56929. export interface PlotMaplineDataLabelsOptions {
  56930. /**
  56931. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  56932. * compared to the point. If `right`, the right side of the label should be
  56933. * touching the point. For points with an extent, like columns, the
  56934. * alignments also dictates how to align it inside the box, as given with
  56935. * the inside option. Can be one of `left`, `center` or `right`.
  56936. */
  56937. align?: (AlignValue|null);
  56938. /**
  56939. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  56940. * overlap. To make the labels less sensitive for overlapping, the
  56941. * dataLabels.padding can be set to 0.
  56942. */
  56943. allowOverlap?: boolean;
  56944. /**
  56945. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  56946. * animation when a series is displayed for the `dataLabels`. The animation
  56947. * can also be set as a configuration object. Please note that this option
  56948. * only applies to the initial animation. For other animations, see
  56949. * chart.animation and the animation parameter under the API methods. The
  56950. * following properties are supported:
  56951. *
  56952. * - `defer`: The animation delay time in milliseconds.
  56953. */
  56954. animation?: (boolean|PlotMaplineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  56955. /**
  56956. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  56957. * for the data label.
  56958. */
  56959. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  56960. /**
  56961. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  56962. * label. Defaults to `undefined`.
  56963. */
  56964. borderColor?: (ColorString|GradientColorObject|PatternObject);
  56965. /**
  56966. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  56967. * the data label.
  56968. */
  56969. borderRadius?: number;
  56970. /**
  56971. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  56972. * the data label.
  56973. */
  56974. borderWidth?: number;
  56975. /**
  56976. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  56977. * Particularly in styled mode, this can be used to give each series' or
  56978. * point's data label unique styling. In addition to this option, a default
  56979. * color class name is added so that we can give the labels a contrast text
  56980. * shadow.
  56981. */
  56982. className?: string;
  56983. /**
  56984. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  56985. * labels. Defaults to `undefined`. For certain series types, like column or
  56986. * map, the data labels can be drawn inside the points. In this case the
  56987. * data label will be drawn with maximum contrast by default. Additionally,
  56988. * it will be given a `text-outline` style with the opposite color, to
  56989. * further increase the contrast. This can be overridden by setting the
  56990. * `text-outline` style to `none` in the `dataLabels.style` option.
  56991. */
  56992. color?: (ColorString|GradientColorObject|PatternObject);
  56993. /**
  56994. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  56995. * are outside the plot area. By default, the data label is moved inside the
  56996. * plot area according to the overflow option.
  56997. */
  56998. crop?: boolean;
  56999. /**
  57000. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  57001. * labels until the initial series animation has finished. Setting to
  57002. * `false` renders the data label immediately. If set to `true` inherits the
  57003. * defer time set in plotOptions.series.animation.
  57004. */
  57005. defer?: boolean;
  57006. /**
  57007. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  57008. * labels.
  57009. */
  57010. enabled?: boolean;
  57011. /**
  57012. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  57013. * of which data labels to display. The declarative filter is designed for
  57014. * use when callback functions are not available, like when the chart
  57015. * options require a pure JSON structure or for use with graphical editors.
  57016. * For programmatic control, use the `formatter` instead, and return
  57017. * `undefined` to disable a single data label.
  57018. */
  57019. filter?: DataLabelsFilterOptionsObject;
  57020. /**
  57021. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  57022. * label. Available variables are the same as for `formatter`.
  57023. */
  57024. format?: string;
  57025. /**
  57026. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  57027. * format the data label. Note that if a `format` is defined, the format
  57028. * takes precedence and the formatter is ignored.
  57029. */
  57030. formatter?: DataLabelsFormatterCallbackFunction;
  57031. /**
  57032. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  57033. * columns or map areas, whether to align the data label inside the box or
  57034. * to the actual value point. Defaults to `false` in most cases, `true` in
  57035. * stacked columns.
  57036. */
  57037. inside?: boolean;
  57038. /**
  57039. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  57040. * of null. Works analogously to format. `nullFormat` can be applied only to
  57041. * series which support displaying null points.
  57042. */
  57043. nullFormat?: (boolean|string);
  57044. /**
  57045. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  57046. * that defines formatting for points with the value of null. Works
  57047. * analogously to formatter. `nullPointFormatter` can be applied only to
  57048. * series which support displaying null points.
  57049. */
  57050. nullFormatter?: DataLabelsFormatterCallbackFunction;
  57051. /**
  57052. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  57053. * flow outside the plot area. The default is `"justify"`, which aligns them
  57054. * inside the plot area. For columns and bars, this means it will be moved
  57055. * inside the bar. To display data labels outside the plot area, set `crop`
  57056. * to `false` and `overflow` to `"allow"`.
  57057. */
  57058. overflow?: boolean;
  57059. /**
  57060. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  57061. * the `backgroundColor` is set, this is the padding within the box.
  57062. */
  57063. padding?: number;
  57064. /**
  57065. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  57066. * points. If `center` alignment is not possible, it defaults to `right`.
  57067. */
  57068. position?: AlignValue;
  57069. /**
  57070. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  57071. * that due to a more complex structure, backgrounds, borders and padding
  57072. * will be lost on a rotated data label.
  57073. */
  57074. rotation?: number;
  57075. /**
  57076. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  57077. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  57078. * an object configuration containing `color`, `offsetX`, `offsetY`,
  57079. * `opacity` and `width`.
  57080. */
  57081. shadow?: (boolean|ShadowOptionsObject);
  57082. /**
  57083. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  57084. * the border around the label. Symbols are predefined functions on the
  57085. * Renderer object.
  57086. */
  57087. shape?: string;
  57088. /**
  57089. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  57090. * default `color` setting is `"contrast"`, which is a pseudo color that
  57091. * Highcharts picks up and applies the maximum contrast to the underlying
  57092. * point item, for example the bar in a bar chart.
  57093. *
  57094. * The `textOutline` is a pseudo property that applies an outline of the
  57095. * given width with the given color, which by default is the maximum
  57096. * contrast to the text. So a bright text color will result in a black text
  57097. * outline for maximum readability on a mixed background. In some cases,
  57098. * especially with grayscale text, the text outline doesn't work well, in
  57099. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  57100. * is true, the `textOutline` will not be picked up. In this, case, the same
  57101. * effect can be acheived through the `text-shadow` CSS property.
  57102. *
  57103. * For some series types, where each point has an extent, like for example
  57104. * tree maps, the data label may overflow the point. There are two
  57105. * strategies for handling overflow. By default, the text will wrap to
  57106. * multiple lines. The other strategy is to set `style.textOverflow` to
  57107. * `ellipsis`, which will keep the text on one line plus it will break
  57108. * inside long words.
  57109. */
  57110. style?: CSSObject;
  57111. /**
  57112. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  57113. * should follow marker's shape. Border and background are disabled for a
  57114. * label that follows a path.
  57115. *
  57116. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  57117. * to true will disable this option.
  57118. */
  57119. textPath?: DataLabelsTextPathOptionsObject;
  57120. /**
  57121. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  57122. * the labels.
  57123. */
  57124. useHTML?: boolean;
  57125. /**
  57126. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  57127. * label. Can be one of `top`, `middle` or `bottom`. The default value
  57128. * depends on the data, for instance in a column chart, the label is above
  57129. * positive values and below negative values.
  57130. */
  57131. verticalAlign?: string;
  57132. /**
  57133. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  57134. * label relative to the point in pixels.
  57135. */
  57136. x?: number;
  57137. /**
  57138. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  57139. * label relative to the point in pixels.
  57140. */
  57141. y?: number;
  57142. /**
  57143. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  57144. * The default Z index puts it above the series. Use a Z index of 2 to
  57145. * display it behind the series.
  57146. */
  57147. z?: number;
  57148. }
  57149. /**
  57150. * (Highcharts, Highstock) Options for the series data sorting.
  57151. */
  57152. export interface PlotMaplineDataSortingOptions {
  57153. /**
  57154. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  57155. * Use xAxis.reversed to change the sorting order.
  57156. */
  57157. enabled?: boolean;
  57158. /**
  57159. * (Highcharts, Highstock) Whether to allow matching points by name in an
  57160. * update. If this option is disabled, points will be matched by order.
  57161. */
  57162. matchByName?: boolean;
  57163. /**
  57164. * (Highcharts, Highstock) Determines what data value should be used to sort
  57165. * by.
  57166. */
  57167. sortKey?: string;
  57168. }
  57169. /**
  57170. * (Highmaps) Style options for the guide box. The guide box has one state by
  57171. * default, the `default` state.
  57172. */
  57173. export interface PlotMaplineDragDropGuideBoxOptions {
  57174. /**
  57175. * (Highmaps) Style options for the guide box default state.
  57176. */
  57177. default?: DragDropGuideBoxOptionsObject;
  57178. }
  57179. /**
  57180. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
  57181. * plotting discrete values, a little random noise may help telling the points
  57182. * apart. The jitter setting applies a random displacement of up to `n` axis
  57183. * units in either direction. So for example on a horizontal X axis, setting the
  57184. * `jitter.x` to 0.24 will render the point in a random position between 0.24
  57185. * units to the left and 0.24 units to the right of the true axis position. On a
  57186. * category axis, setting it to 0.5 will fill up the bin and make the data
  57187. * appear continuous.
  57188. *
  57189. * When rendered on top of a box plot or a column series, a jitter value of 0.24
  57190. * will correspond to the underlying series' default groupPadding and
  57191. * pointPadding settings.
  57192. */
  57193. export interface PlotMaplineJitterOptions {
  57194. /**
  57195. * (Highcharts, Highstock) The maximal X offset for the random jitter
  57196. * effect.
  57197. */
  57198. x?: number;
  57199. /**
  57200. * (Highcharts, Highstock) The maximal Y offset for the random jitter
  57201. * effect.
  57202. */
  57203. y?: number;
  57204. }
  57205. /**
  57206. * (Highmaps) A mapline series is a special case of the map series where the
  57207. * value colors are applied to the strokes rather than the fills. It can also be
  57208. * used for freeform drawing, like dividers, in the map.
  57209. *
  57210. * In TypeScript the type option must always be set.
  57211. *
  57212. * Configuration options for the series are given in three levels:
  57213. *
  57214. * 1. Options for all series in a chart are defined in the plotOptions.series
  57215. * object.
  57216. *
  57217. * 2. Options for all `mapline` series are defined in plotOptions.mapline.
  57218. *
  57219. * 3. Options for one single series are given in the series instance array. (see
  57220. * online documentation for example)
  57221. */
  57222. export interface PlotMaplineOptions {
  57223. /**
  57224. * (Highmaps) Accessibility options for a series.
  57225. */
  57226. accessibility?: SeriesAccessibilityOptionsObject;
  57227. /**
  57228. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  57229. * rendered. If `true`, areas which don't correspond to a data point, are
  57230. * rendered as `null` points. If `false`, those areas are skipped.
  57231. */
  57232. allAreas?: boolean;
  57233. /**
  57234. * (Highmaps) Allow this series' points to be selected by clicking on the
  57235. * graphic (columns, point markers, pie slices, map areas etc).
  57236. *
  57237. * The selected points can be handled by point select and unselect events,
  57238. * or collectively by the getSelectedPoints function.
  57239. *
  57240. * And alternative way of selecting points is through dragging.
  57241. */
  57242. allowPointSelect?: boolean;
  57243. /**
  57244. * (Highmaps) Enable or disable the initial animation when a series is
  57245. * displayed. The animation can also be set as a configuration object.
  57246. * Please note that this option only applies to the initial animation of the
  57247. * series itself. For other animations, see chart.animation and the
  57248. * animation parameter under the API methods. The following properties are
  57249. * supported:
  57250. *
  57251. * - `defer`: The animation delay time in milliseconds.
  57252. *
  57253. * - `duration`: The duration of the animation in milliseconds.
  57254. *
  57255. * - `easing`: Can be a string reference to an easing function set on the
  57256. * `Math` object or a function. See the _Custom easing function_ demo below.
  57257. *
  57258. * Due to poor performance, animation is disabled in old IE browsers for
  57259. * several chart types.
  57260. */
  57261. animation?: (boolean|PlotMaplineAnimationOptions);
  57262. /**
  57263. * (Highmaps) For some series, there is a limit that shuts down initial
  57264. * animation by default when the total number of points in the chart is too
  57265. * high. For example, for a column chart and its derivatives, animation does
  57266. * not run if there is more than 250 points totally. To disable this cap,
  57267. * set `animationLimit` to `Infinity`.
  57268. */
  57269. animationLimit?: number;
  57270. /**
  57271. * (Highmaps) Sets the color blending in the boost module.
  57272. */
  57273. boostBlending?: OptionsBoostBlendingValue;
  57274. /**
  57275. * (Highmaps) Set the point threshold for when a series should enter boost
  57276. * mode.
  57277. *
  57278. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  57279. * there are 2000 or more points in the series.
  57280. *
  57281. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  57282. * it to 1 will force boosting.
  57283. *
  57284. * Note that the cropThreshold also affects this setting. When zooming in on
  57285. * a series that has fewer points than the `cropThreshold`, all points are
  57286. * rendered although outside the visible plot area, and the `boostThreshold`
  57287. * won't take effect.
  57288. */
  57289. boostThreshold?: number;
  57290. /**
  57291. * (Highmaps) The border color of the map areas.
  57292. *
  57293. * In styled mode, the border stroke is given in the `.highcharts-point`
  57294. * class.
  57295. */
  57296. borderColor?: string;
  57297. /**
  57298. * (Highmaps) The border width of each map area.
  57299. *
  57300. * In styled mode, the border stroke width is given in the
  57301. * `.highcharts-point` class.
  57302. */
  57303. borderWidth?: number;
  57304. /**
  57305. * (Highmaps) An additional class name to apply to the series' graphical
  57306. * elements. This option does not replace default class names of the
  57307. * graphical element.
  57308. */
  57309. className?: string;
  57310. /**
  57311. * (Highmaps) Disable this option to allow series rendering in the whole
  57312. * plotting area.
  57313. *
  57314. * **Note:** Clipping should be always enabled when chart.zoomType is set
  57315. */
  57316. clip?: boolean;
  57317. /**
  57318. * (Highmaps) The main color of the series. In line type series it applies
  57319. * to the line and the point markers unless otherwise specified. In bar type
  57320. * series it applies to the bars unless a color is specified per point. The
  57321. * default value is pulled from the `options.colors` array.
  57322. *
  57323. * In styled mode, the color can be defined by the colorIndex option. Also,
  57324. * the series color can be set with the `.highcharts-series`,
  57325. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  57326. * `.highcharts-series-{n}` class, or individual classes given by the
  57327. * `className` option.
  57328. */
  57329. color?: (ColorString|GradientColorObject|PatternObject);
  57330. /**
  57331. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  57332. * this number defines which colorAxis the particular series is connected
  57333. * to. It refers to either the axis id or the index of the axis in the
  57334. * colorAxis array, with 0 being the first. Set this option to false to
  57335. * prevent a series from connecting to the default color axis.
  57336. *
  57337. * Since v7.2.0 the option can also be an axis id or an axis index instead
  57338. * of a boolean flag.
  57339. */
  57340. colorAxis?: (boolean|number|string);
  57341. /**
  57342. * (Highmaps) Styled mode only. A specific color index to use for the
  57343. * series, so its graphic representations are given the class name
  57344. * `highcharts-color-{n}`.
  57345. */
  57346. colorIndex?: number;
  57347. /**
  57348. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  57349. * used to calculate point color if `colorAxis` is used. Requires to set
  57350. * `min` and `max` if some custom point property is used or if approximation
  57351. * for data grouping is set to `'sum'`.
  57352. */
  57353. colorKey?: string;
  57354. /**
  57355. * (Highstock) Compare the values of the series against the first non-null,
  57356. * non- zero value in the visible range. The y axis will show percentage or
  57357. * absolute change depending on whether `compare` is set to `"percent"` or
  57358. * `"value"`. When this is applied to multiple series, it allows comparing
  57359. * the development of the series against each other. Adds a `change` field
  57360. * to every point object.
  57361. */
  57362. compare?: string;
  57363. /**
  57364. * (Highstock) When compare is `percent`, this option dictates whether to
  57365. * use 0 or 100 as the base of comparison.
  57366. */
  57367. compareBase?: (0|100);
  57368. /**
  57369. * (Highstock) Defines if comparison should start from the first point
  57370. * within the visible range or should start from the first point **before**
  57371. * the range.
  57372. *
  57373. * In other words, this flag determines if first point within the visible
  57374. * range will have 0% (`compareStart=true`) or should have been already
  57375. * calculated according to the previous point (`compareStart=false`).
  57376. */
  57377. compareStart?: boolean;
  57378. /**
  57379. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  57380. * series plot across the extremes.
  57381. */
  57382. connectEnds?: boolean;
  57383. /**
  57384. * (Highcharts, Highstock) Whether to connect a graph line across null
  57385. * points, or render a gap between the two points on either side of the
  57386. * null.
  57387. */
  57388. connectNulls?: boolean;
  57389. /**
  57390. * (Gantt) Override Pathfinder connector options for a series. Requires
  57391. * Highcharts Gantt to be loaded.
  57392. */
  57393. connectors?: SeriesConnectorsOptionsObject;
  57394. /**
  57395. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  57396. * rounded to its nearest pixel in order to render sharp on screen. In some
  57397. * cases, when there are a lot of densely packed columns, this leads to
  57398. * visible difference in column widths or distance between columns. In these
  57399. * cases, setting `crisp` to `false` may look better, even though each
  57400. * column is rendered blurry.
  57401. */
  57402. crisp?: boolean;
  57403. /**
  57404. * (Highmaps) You can set the cursor to "pointer" if you have click events
  57405. * attached to the series, to signal to the user that the points and lines
  57406. * can be clicked.
  57407. *
  57408. * In styled mode, the series cursor can be set with the same classes as
  57409. * listed under series.color.
  57410. */
  57411. cursor?: (string|CursorValue);
  57412. /**
  57413. * (Highmaps) A reserved subspace to store options and values for customized
  57414. * functionality. Here you can add additional data for your own event
  57415. * callbacks and formatter callbacks.
  57416. */
  57417. custom?: Dictionary<any>;
  57418. /**
  57419. * (Highmaps) Name of the dash style to use for the graph, or for some
  57420. * series types the outline of each shape.
  57421. *
  57422. * In styled mode, the stroke dash-array can be set with the same classes as
  57423. * listed under series.color.
  57424. */
  57425. dashStyle?: DashStyleValue;
  57426. /**
  57427. * (Highstock) Data grouping is the concept of sampling the data values into
  57428. * larger blocks in order to ease readability and increase performance of
  57429. * the JavaScript charts. Highstock by default applies data grouping when
  57430. * the points become closer than a certain pixel value, determined by the
  57431. * `groupPixelWidth` option.
  57432. *
  57433. * If data grouping is applied, the grouping information of grouped points
  57434. * can be read from the Point.dataGroup. If point options other than the
  57435. * data itself are set, for example `name` or `color` or custom properties,
  57436. * the grouping logic doesn't know how to group it. In this case the options
  57437. * of the first point instance are copied over to the group point. This can
  57438. * be altered through a custom `approximation` callback function.
  57439. */
  57440. dataGrouping?: DataGroupingOptionsObject;
  57441. /**
  57442. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  57443. * labels, appearing next to each data point.
  57444. *
  57445. * Since v6.2.0, multiple data labels can be applied to each single point by
  57446. * defining them as an array of configs.
  57447. *
  57448. * In styled mode, the data labels can be styled with the
  57449. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  57450. * (see example).
  57451. */
  57452. dataLabels?: (PlotMaplineDataLabelsOptions|Array<PlotMaplineDataLabelsOptions>);
  57453. /**
  57454. * (Highcharts, Highstock) Options for the series data sorting.
  57455. */
  57456. dataSorting?: (DataSortingOptionsObject|PlotMaplineDataSortingOptions);
  57457. /**
  57458. * (Highmaps) A description of the series to add to the screen reader
  57459. * information about the series.
  57460. */
  57461. description?: string;
  57462. /**
  57463. * (Highmaps) The draggable-points module allows points to be moved around
  57464. * or modified in the chart. In addition to the options mentioned under the
  57465. * `dragDrop` API structure, the module fires three events, point.dragStart,
  57466. * point.drag and point.drop.
  57467. */
  57468. dragDrop?: SeriesDragDropOptionsObject;
  57469. /**
  57470. * (Highmaps) Enable or disable the mouse tracking for a specific series.
  57471. * This includes point tooltips and click events on graphs and points. For
  57472. * large datasets it improves performance.
  57473. */
  57474. enableMouseTracking?: boolean;
  57475. /**
  57476. * (Highmaps) General event handlers for the series items. These event hooks
  57477. * can also be attached to the series at run time using the
  57478. * `Highcharts.addEvent` function.
  57479. */
  57480. events?: SeriesEventsOptionsObject;
  57481. /**
  57482. * (Highmaps) Fill color for the map line shapes
  57483. */
  57484. fillColor?: (ColorString|GradientColorObject|PatternObject);
  57485. /**
  57486. * (Highmaps) Determines whether the series should look for the nearest
  57487. * point in both dimensions or just the x-dimension when hovering the
  57488. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  57489. * series. If the data has duplicate x-values, it is recommended to set this
  57490. * to `'xy'` to allow hovering over all points.
  57491. *
  57492. * Applies only to series types using nearest neighbor search (not direct
  57493. * hover) for tooltip.
  57494. */
  57495. findNearestPointBy?: OptionsFindNearestPointByValue;
  57496. /**
  57497. * (Highstock) Defines when to display a gap in the graph, together with the
  57498. * gapUnit option.
  57499. *
  57500. * In case when `dataGrouping` is enabled, points can be grouped into a
  57501. * larger time span. This can make the grouped points to have a greater
  57502. * distance than the absolute value of `gapSize` property, which will result
  57503. * in disappearing graph completely. To prevent this situation the mentioned
  57504. * distance between grouped points is used instead of previously defined
  57505. * `gapSize`.
  57506. *
  57507. * In practice, this option is most often used to visualize gaps in time
  57508. * series. In a stock chart, intraday data is available for daytime hours,
  57509. * while gaps will appear in nights and weekends.
  57510. */
  57511. gapSize?: number;
  57512. /**
  57513. * (Highstock) Together with gapSize, this option defines where to draw gaps
  57514. * in the graph.
  57515. *
  57516. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  57517. * if the distance between two points is greater than 5 times that of the
  57518. * two closest points, the graph will be broken.
  57519. *
  57520. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  57521. * values, which on a datetime axis is milliseconds. This also applies to
  57522. * the navigator series that inherits gap options from the base series.
  57523. */
  57524. gapUnit?: OptionsGapUnitValue;
  57525. /**
  57526. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  57527. * chart width or only the zoomed area when zooming in on parts of the X
  57528. * axis. By default, the Y axis adjusts to the min and max of the visible
  57529. * data. Cartesian series only.
  57530. */
  57531. getExtremesFromAll?: boolean;
  57532. /**
  57533. * (Highmaps) When set to `false` will prevent the series data from being
  57534. * included in any form of data export.
  57535. *
  57536. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  57537. * `includeInCSVExport`.
  57538. */
  57539. includeInDataExport?: boolean;
  57540. /**
  57541. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
  57542. * When plotting discrete values, a little random noise may help telling the
  57543. * points apart. The jitter setting applies a random displacement of up to
  57544. * `n` axis units in either direction. So for example on a horizontal X
  57545. * axis, setting the `jitter.x` to 0.24 will render the point in a random
  57546. * position between 0.24 units to the left and 0.24 units to the right of
  57547. * the true axis position. On a category axis, setting it to 0.5 will fill
  57548. * up the bin and make the data appear continuous.
  57549. *
  57550. * When rendered on top of a box plot or a column series, a jitter value of
  57551. * 0.24 will correspond to the underlying series' default groupPadding and
  57552. * pointPadding settings.
  57553. */
  57554. jitter?: PlotMaplineJitterOptions;
  57555. /**
  57556. * (Highmaps) What property to join the `mapData` to the value data. For
  57557. * example, if joinBy is "code", the mapData items with a specific code is
  57558. * merged into the data with the same code. For maps loaded from GeoJSON,
  57559. * the keys may be held in each point's `properties` object.
  57560. *
  57561. * The joinBy option can also be an array of two values, where the first
  57562. * points to a key in the `mapData`, and the second points to another key in
  57563. * the `data`.
  57564. *
  57565. * When joinBy is `null`, the map items are joined by their position in the
  57566. * array, which performs much better in maps with many data points. This is
  57567. * the recommended option if you are printing more than a thousand data
  57568. * points and have a backend that can preprocess the data into a parallel
  57569. * array of the mapData.
  57570. */
  57571. joinBy?: string;
  57572. /**
  57573. * (Highmaps) An array specifying which option maps to which key in the data
  57574. * point array. This makes it convenient to work with unstructured data
  57575. * arrays from different sources.
  57576. */
  57577. keys?: Array<string>;
  57578. /**
  57579. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  57580. * series as possible in a natural way, seeking to avoid other series. The
  57581. * goal of this feature is to make the chart more easily readable, like if a
  57582. * human designer placed the labels in the optimal position.
  57583. *
  57584. * The series labels currently work with series types having a `graph` or an
  57585. * `area`.
  57586. */
  57587. label?: SeriesLabelOptionsObject;
  57588. /**
  57589. * (Highstock) The line marks the last price from all points.
  57590. */
  57591. lastPrice?: SeriesLastPriceOptionsObject;
  57592. /**
  57593. * (Highstock) The line marks the last price from visible range of points.
  57594. */
  57595. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  57596. /**
  57597. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  57598. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  57599. * the ends and bends.
  57600. */
  57601. linecap?: SeriesLinecapValue;
  57602. /**
  57603. * (Highcharts, Highstock) The width of the map line.
  57604. */
  57605. lineWidth?: number;
  57606. /**
  57607. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  57608. * Additionally, the value can be ":previous" to link to the previous
  57609. * series. When two series are linked, only the first one appears in the
  57610. * legend. Toggling the visibility of this also toggles the linked series.
  57611. *
  57612. * If master series uses data sorting and linked series does not have its
  57613. * own sorting definition, the linked series will be sorted in the same
  57614. * order as the master one.
  57615. */
  57616. linkedTo?: string;
  57617. /**
  57618. * (Highstock) Options for the corresponding navigator series if
  57619. * `showInNavigator` is `true` for this series. Available options are the
  57620. * same as any series, documented at plotOptions and series.
  57621. *
  57622. * These options are merged with options in navigator.series, and will take
  57623. * precedence if the same option is defined both places.
  57624. */
  57625. navigatorOptions?: PlotSeriesOptions;
  57626. /**
  57627. * (Highmaps) The color for the parts of the graph or points that are below
  57628. * the threshold. Note that `zones` takes precedence over the negative
  57629. * color. Using `negativeColor` is equivalent to applying a zone with value
  57630. * of 0.
  57631. */
  57632. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  57633. /**
  57634. * (Highmaps) The color to apply to null points.
  57635. *
  57636. * In styled mode, the null point fill is set in the
  57637. * `.highcharts-null-point` class.
  57638. */
  57639. nullColor?: (ColorString|GradientColorObject|PatternObject);
  57640. /**
  57641. * (Highmaps) Whether to allow pointer interaction like tooltips and mouse
  57642. * events on null points.
  57643. */
  57644. nullInteraction?: boolean;
  57645. /**
  57646. * (Highmaps) Opacity of a series parts: line, fill (e.g. area) and
  57647. * dataLabels.
  57648. */
  57649. opacity?: number;
  57650. /**
  57651. * (Highmaps) Properties for each single point.
  57652. */
  57653. point?: PlotSeriesPointOptions;
  57654. /**
  57655. * (Highmaps) Same as accessibility.pointDescriptionFormatter, but for an
  57656. * individual series. Overrides the chart wide configuration.
  57657. */
  57658. pointDescriptionFormatter?: Function;
  57659. /**
  57660. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  57661. * a series, `pointInterval` defines the interval of the x values. For
  57662. * example, if a series contains one value every decade starting from year
  57663. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  57664. * `pointInterval` is set in milliseconds.
  57665. *
  57666. * It can be also be combined with `pointIntervalUnit` to draw irregular
  57667. * time intervals.
  57668. *
  57669. * Please note that this options applies to the _series data_, not the
  57670. * interval of the axis ticks, which is independent.
  57671. */
  57672. pointInterval?: number;
  57673. /**
  57674. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  57675. * setting the pointInterval to irregular time units, `day`, `month` and
  57676. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  57677. * also takes the DST crossover into consideration when dealing with local
  57678. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  57679. * months, 10 years etc.
  57680. *
  57681. * Please note that this options applies to the _series data_, not the
  57682. * interval of the axis ticks, which is independent.
  57683. */
  57684. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  57685. /**
  57686. * (Highstock) The width of each point on the x axis. For example in a
  57687. * column chart with one value each day, the pointRange would be 1 day (= 24
  57688. * * 3600
  57689. *
  57690. * * 1000 milliseconds). This is normally computed automatically, but this
  57691. * option can be used to override the automatic value.
  57692. */
  57693. pointRange?: number;
  57694. /**
  57695. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  57696. * a series, pointStart defines on what value to start. For example, if a
  57697. * series contains one yearly value starting from 1945, set pointStart to
  57698. * 1945.
  57699. */
  57700. pointStart?: number;
  57701. /**
  57702. * (Highmaps) Whether to select the series initially. If `showCheckbox` is
  57703. * true, the checkbox next to the series name in the legend will be checked
  57704. * for a selected series.
  57705. */
  57706. selected?: boolean;
  57707. /**
  57708. * (Highmaps) If true, a checkbox is displayed next to the legend item to
  57709. * allow selecting the series. The state of the checkbox is determined by
  57710. * the `selected` option.
  57711. */
  57712. showCheckbox?: boolean;
  57713. /**
  57714. * (Highmaps) Whether to display this particular series or series type in
  57715. * the legend. Standalone series are shown in legend by default, and linked
  57716. * series are not. Since v7.2.0 it is possible to show series that use
  57717. * colorAxis by setting this option to `true`.
  57718. */
  57719. showInLegend?: boolean;
  57720. /**
  57721. * (Highstock) Whether or not to show the series in the navigator. Takes
  57722. * precedence over navigator.baseSeries if defined.
  57723. */
  57724. showInNavigator?: boolean;
  57725. /**
  57726. * (Highmaps) If set to `true`, the accessibility module will skip past the
  57727. * points in this series for keyboard navigation.
  57728. */
  57729. skipKeyboardNavigation?: boolean;
  57730. /**
  57731. * (Highcharts, Highstock) When this is true, the series will not cause the
  57732. * Y axis to cross the zero plane (or threshold option) unless the data
  57733. * actually crosses the plane.
  57734. *
  57735. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  57736. * make the Y axis show negative values according to the `minPadding`
  57737. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  57738. */
  57739. softThreshold?: boolean;
  57740. /**
  57741. * (Highcharts, Highstock) Whether to stack the values of each series on top
  57742. * of each other. Possible values are `undefined` to disable, `"normal"` to
  57743. * stack by value or `"percent"`.
  57744. *
  57745. * When stacking is enabled, data must be sorted in ascending X order.
  57746. *
  57747. * Some stacking options are related to specific series types. In the
  57748. * streamgraph series type, the stacking option is set to `"stream"`. The
  57749. * second one is `"overlap"`, which only applies to waterfall series.
  57750. */
  57751. stacking?: OptionsStackingValue;
  57752. states?: SeriesStatesOptionsObject;
  57753. /**
  57754. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  57755. * values are `left`, `center` and `right`.
  57756. */
  57757. step?: OptionsStepValue;
  57758. /**
  57759. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  57760. * `mouseOut` event on a series isn't triggered until the mouse moves over
  57761. * another series, or out of the plot area. When false, the `mouseOut` event
  57762. * on a series is triggered when the mouse leaves the area around the
  57763. * series' graph or markers. This also implies the tooltip. When
  57764. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  57765. * be hidden when moving the mouse between series.
  57766. */
  57767. stickyTracking?: boolean;
  57768. /**
  57769. * (Highcharts, Highstock) The threshold, also called zero level or base
  57770. * level. For line type series this is only used in conjunction with
  57771. * negativeColor.
  57772. */
  57773. threshold?: number;
  57774. /**
  57775. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  57776. * of each single series. Properties are inherited from tooltip. Overridable
  57777. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  57778. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  57779. * series.name by default shows in the headerFormat and point.x and point.y
  57780. * in the pointFormat.
  57781. */
  57782. tooltip?: SeriesTooltipOptionsObject;
  57783. /**
  57784. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  57785. * is longer than this, only one dimensional arrays of numbers, or two
  57786. * dimensional arrays with x and y values are allowed. Also, only the first
  57787. * point is tested, and the rest are assumed to be the same format. This
  57788. * saves expensive data checking and indexing in long series. Set it to `0`
  57789. * disable.
  57790. *
  57791. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  57792. * two dimensional arrays are allowed.
  57793. */
  57794. turboThreshold?: number;
  57795. /**
  57796. * (Highmaps) Set the initial visibility of the series.
  57797. */
  57798. visible?: boolean;
  57799. /**
  57800. * (Highmaps) Define the z index of the series.
  57801. */
  57802. zIndex?: number;
  57803. /**
  57804. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  57805. */
  57806. zoneAxis?: string;
  57807. /**
  57808. * (Highcharts, Highstock) An array defining zones within a series. Zones
  57809. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  57810. * the `zoneAxis` option. The zone definitions have to be in ascending order
  57811. * regarding to the value.
  57812. *
  57813. * In styled mode, the color zones are styled with the
  57814. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  57815. * option (view live demo).
  57816. */
  57817. zones?: Array<SeriesZonesOptionsObject>;
  57818. }
  57819. /**
  57820. * (Highmaps) The map series is used for basic choropleth maps, where each map
  57821. * area has a color based on its value.
  57822. *
  57823. * In TypeScript the type option must always be set.
  57824. *
  57825. * Configuration options for the series are given in three levels:
  57826. *
  57827. * 1. Options for all series in a chart are defined in the plotOptions.series
  57828. * object.
  57829. *
  57830. * 2. Options for all `map` series are defined in plotOptions.map.
  57831. *
  57832. * 3. Options for one single series are given in the series instance array. (see
  57833. * online documentation for example)
  57834. */
  57835. export interface PlotMapOptions {
  57836. /**
  57837. * (Highmaps) Accessibility options for a series.
  57838. */
  57839. accessibility?: SeriesAccessibilityOptionsObject;
  57840. /**
  57841. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  57842. * rendered. If `true`, areas which don't correspond to a data point, are
  57843. * rendered as `null` points. If `false`, those areas are skipped.
  57844. */
  57845. allAreas?: boolean;
  57846. /**
  57847. * (Highmaps) Allow this series' points to be selected by clicking on the
  57848. * graphic (columns, point markers, pie slices, map areas etc).
  57849. *
  57850. * The selected points can be handled by point select and unselect events,
  57851. * or collectively by the getSelectedPoints function.
  57852. *
  57853. * And alternative way of selecting points is through dragging.
  57854. */
  57855. allowPointSelect?: boolean;
  57856. /**
  57857. * (Highmaps) Enable or disable the initial animation when a series is
  57858. * displayed. The animation can also be set as a configuration object.
  57859. * Please note that this option only applies to the initial animation of the
  57860. * series itself. For other animations, see chart.animation and the
  57861. * animation parameter under the API methods. The following properties are
  57862. * supported:
  57863. *
  57864. * - `defer`: The animation delay time in milliseconds.
  57865. *
  57866. * - `duration`: The duration of the animation in milliseconds.
  57867. *
  57868. * - `easing`: Can be a string reference to an easing function set on the
  57869. * `Math` object or a function. See the _Custom easing function_ demo below.
  57870. *
  57871. * Due to poor performance, animation is disabled in old IE browsers for
  57872. * several chart types.
  57873. */
  57874. animation?: (boolean|PlotMapAnimationOptions);
  57875. /**
  57876. * (Highmaps) For some series, there is a limit that shuts down initial
  57877. * animation by default when the total number of points in the chart is too
  57878. * high. For example, for a column chart and its derivatives, animation does
  57879. * not run if there is more than 250 points totally. To disable this cap,
  57880. * set `animationLimit` to `Infinity`.
  57881. */
  57882. animationLimit?: number;
  57883. /**
  57884. * (Highmaps) Sets the color blending in the boost module.
  57885. */
  57886. boostBlending?: OptionsBoostBlendingValue;
  57887. /**
  57888. * (Highmaps) Set the point threshold for when a series should enter boost
  57889. * mode.
  57890. *
  57891. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  57892. * there are 2000 or more points in the series.
  57893. *
  57894. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  57895. * it to 1 will force boosting.
  57896. *
  57897. * Note that the cropThreshold also affects this setting. When zooming in on
  57898. * a series that has fewer points than the `cropThreshold`, all points are
  57899. * rendered although outside the visible plot area, and the `boostThreshold`
  57900. * won't take effect.
  57901. */
  57902. boostThreshold?: number;
  57903. /**
  57904. * (Highmaps) The border color of the map areas.
  57905. *
  57906. * In styled mode, the border stroke is given in the `.highcharts-point`
  57907. * class.
  57908. */
  57909. borderColor?: string;
  57910. /**
  57911. * (Highmaps) The border width of each map area.
  57912. *
  57913. * In styled mode, the border stroke width is given in the
  57914. * `.highcharts-point` class.
  57915. */
  57916. borderWidth?: number;
  57917. /**
  57918. * (Highmaps) An additional class name to apply to the series' graphical
  57919. * elements. This option does not replace default class names of the
  57920. * graphical element.
  57921. */
  57922. className?: string;
  57923. /**
  57924. * (Highmaps) Disable this option to allow series rendering in the whole
  57925. * plotting area.
  57926. *
  57927. * **Note:** Clipping should be always enabled when chart.zoomType is set
  57928. */
  57929. clip?: boolean;
  57930. /**
  57931. * (Highmaps) The main color of the series. In line type series it applies
  57932. * to the line and the point markers unless otherwise specified. In bar type
  57933. * series it applies to the bars unless a color is specified per point. The
  57934. * default value is pulled from the `options.colors` array.
  57935. *
  57936. * In styled mode, the color can be defined by the colorIndex option. Also,
  57937. * the series color can be set with the `.highcharts-series`,
  57938. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  57939. * `.highcharts-series-{n}` class, or individual classes given by the
  57940. * `className` option.
  57941. */
  57942. color?: (ColorString|GradientColorObject|PatternObject);
  57943. /**
  57944. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  57945. * this number defines which colorAxis the particular series is connected
  57946. * to. It refers to either the axis id or the index of the axis in the
  57947. * colorAxis array, with 0 being the first. Set this option to false to
  57948. * prevent a series from connecting to the default color axis.
  57949. *
  57950. * Since v7.2.0 the option can also be an axis id or an axis index instead
  57951. * of a boolean flag.
  57952. */
  57953. colorAxis?: (boolean|number|string);
  57954. /**
  57955. * (Highmaps) Styled mode only. A specific color index to use for the
  57956. * series, so its graphic representations are given the class name
  57957. * `highcharts-color-{n}`.
  57958. */
  57959. colorIndex?: number;
  57960. /**
  57961. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  57962. * used to calculate point color if `colorAxis` is used. Requires to set
  57963. * `min` and `max` if some custom point property is used or if approximation
  57964. * for data grouping is set to `'sum'`.
  57965. */
  57966. colorKey?: string;
  57967. /**
  57968. * (Highstock) Compare the values of the series against the first non-null,
  57969. * non- zero value in the visible range. The y axis will show percentage or
  57970. * absolute change depending on whether `compare` is set to `"percent"` or
  57971. * `"value"`. When this is applied to multiple series, it allows comparing
  57972. * the development of the series against each other. Adds a `change` field
  57973. * to every point object.
  57974. */
  57975. compare?: string;
  57976. /**
  57977. * (Highstock) When compare is `percent`, this option dictates whether to
  57978. * use 0 or 100 as the base of comparison.
  57979. */
  57980. compareBase?: (0|100);
  57981. /**
  57982. * (Highstock) Defines if comparison should start from the first point
  57983. * within the visible range or should start from the first point **before**
  57984. * the range.
  57985. *
  57986. * In other words, this flag determines if first point within the visible
  57987. * range will have 0% (`compareStart=true`) or should have been already
  57988. * calculated according to the previous point (`compareStart=false`).
  57989. */
  57990. compareStart?: boolean;
  57991. /**
  57992. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  57993. * series plot across the extremes.
  57994. */
  57995. connectEnds?: boolean;
  57996. /**
  57997. * (Highcharts, Highstock) Whether to connect a graph line across null
  57998. * points, or render a gap between the two points on either side of the
  57999. * null.
  58000. */
  58001. connectNulls?: boolean;
  58002. /**
  58003. * (Gantt) Override Pathfinder connector options for a series. Requires
  58004. * Highcharts Gantt to be loaded.
  58005. */
  58006. connectors?: SeriesConnectorsOptionsObject;
  58007. /**
  58008. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  58009. * rounded to its nearest pixel in order to render sharp on screen. In some
  58010. * cases, when there are a lot of densely packed columns, this leads to
  58011. * visible difference in column widths or distance between columns. In these
  58012. * cases, setting `crisp` to `false` may look better, even though each
  58013. * column is rendered blurry.
  58014. */
  58015. crisp?: boolean;
  58016. /**
  58017. * (Highmaps) You can set the cursor to "pointer" if you have click events
  58018. * attached to the series, to signal to the user that the points and lines
  58019. * can be clicked.
  58020. *
  58021. * In styled mode, the series cursor can be set with the same classes as
  58022. * listed under series.color.
  58023. */
  58024. cursor?: (string|CursorValue);
  58025. /**
  58026. * (Highmaps) A reserved subspace to store options and values for customized
  58027. * functionality. Here you can add additional data for your own event
  58028. * callbacks and formatter callbacks.
  58029. */
  58030. custom?: Dictionary<any>;
  58031. /**
  58032. * (Highmaps) Name of the dash style to use for the graph, or for some
  58033. * series types the outline of each shape.
  58034. *
  58035. * In styled mode, the stroke dash-array can be set with the same classes as
  58036. * listed under series.color.
  58037. */
  58038. dashStyle?: DashStyleValue;
  58039. /**
  58040. * (Highstock) Data grouping is the concept of sampling the data values into
  58041. * larger blocks in order to ease readability and increase performance of
  58042. * the JavaScript charts. Highstock by default applies data grouping when
  58043. * the points become closer than a certain pixel value, determined by the
  58044. * `groupPixelWidth` option.
  58045. *
  58046. * If data grouping is applied, the grouping information of grouped points
  58047. * can be read from the Point.dataGroup. If point options other than the
  58048. * data itself are set, for example `name` or `color` or custom properties,
  58049. * the grouping logic doesn't know how to group it. In this case the options
  58050. * of the first point instance are copied over to the group point. This can
  58051. * be altered through a custom `approximation` callback function.
  58052. */
  58053. dataGrouping?: DataGroupingOptionsObject;
  58054. /**
  58055. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  58056. * labels, appearing next to each data point.
  58057. *
  58058. * Since v6.2.0, multiple data labels can be applied to each single point by
  58059. * defining them as an array of configs.
  58060. *
  58061. * In styled mode, the data labels can be styled with the
  58062. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  58063. * (see example).
  58064. */
  58065. dataLabels?: (PlotMapDataLabelsOptions|Array<PlotMapDataLabelsOptions>);
  58066. /**
  58067. * (Highcharts, Highstock) Options for the series data sorting.
  58068. */
  58069. dataSorting?: (DataSortingOptionsObject|PlotMapDataSortingOptions);
  58070. /**
  58071. * (Highmaps) A description of the series to add to the screen reader
  58072. * information about the series.
  58073. */
  58074. description?: string;
  58075. /**
  58076. * (Highmaps) The draggable-points module allows points to be moved around
  58077. * or modified in the chart. In addition to the options mentioned under the
  58078. * `dragDrop` API structure, the module fires three events, point.dragStart,
  58079. * point.drag and point.drop.
  58080. */
  58081. dragDrop?: SeriesDragDropOptionsObject;
  58082. /**
  58083. * (Highmaps) Enable or disable the mouse tracking for a specific series.
  58084. * This includes point tooltips and click events on graphs and points. For
  58085. * large datasets it improves performance.
  58086. */
  58087. enableMouseTracking?: boolean;
  58088. /**
  58089. * (Highmaps) General event handlers for the series items. These event hooks
  58090. * can also be attached to the series at run time using the
  58091. * `Highcharts.addEvent` function.
  58092. */
  58093. events?: SeriesEventsOptionsObject;
  58094. /**
  58095. * (Highmaps) Determines whether the series should look for the nearest
  58096. * point in both dimensions or just the x-dimension when hovering the
  58097. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  58098. * series. If the data has duplicate x-values, it is recommended to set this
  58099. * to `'xy'` to allow hovering over all points.
  58100. *
  58101. * Applies only to series types using nearest neighbor search (not direct
  58102. * hover) for tooltip.
  58103. */
  58104. findNearestPointBy?: OptionsFindNearestPointByValue;
  58105. /**
  58106. * (Highstock) Defines when to display a gap in the graph, together with the
  58107. * gapUnit option.
  58108. *
  58109. * In case when `dataGrouping` is enabled, points can be grouped into a
  58110. * larger time span. This can make the grouped points to have a greater
  58111. * distance than the absolute value of `gapSize` property, which will result
  58112. * in disappearing graph completely. To prevent this situation the mentioned
  58113. * distance between grouped points is used instead of previously defined
  58114. * `gapSize`.
  58115. *
  58116. * In practice, this option is most often used to visualize gaps in time
  58117. * series. In a stock chart, intraday data is available for daytime hours,
  58118. * while gaps will appear in nights and weekends.
  58119. */
  58120. gapSize?: number;
  58121. /**
  58122. * (Highstock) Together with gapSize, this option defines where to draw gaps
  58123. * in the graph.
  58124. *
  58125. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  58126. * if the distance between two points is greater than 5 times that of the
  58127. * two closest points, the graph will be broken.
  58128. *
  58129. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  58130. * values, which on a datetime axis is milliseconds. This also applies to
  58131. * the navigator series that inherits gap options from the base series.
  58132. */
  58133. gapUnit?: OptionsGapUnitValue;
  58134. /**
  58135. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  58136. * chart width or only the zoomed area when zooming in on parts of the X
  58137. * axis. By default, the Y axis adjusts to the min and max of the visible
  58138. * data. Cartesian series only.
  58139. */
  58140. getExtremesFromAll?: boolean;
  58141. /**
  58142. * (Highmaps) When set to `false` will prevent the series data from being
  58143. * included in any form of data export.
  58144. *
  58145. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  58146. * `includeInCSVExport`.
  58147. */
  58148. includeInDataExport?: boolean;
  58149. /**
  58150. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
  58151. * When plotting discrete values, a little random noise may help telling the
  58152. * points apart. The jitter setting applies a random displacement of up to
  58153. * `n` axis units in either direction. So for example on a horizontal X
  58154. * axis, setting the `jitter.x` to 0.24 will render the point in a random
  58155. * position between 0.24 units to the left and 0.24 units to the right of
  58156. * the true axis position. On a category axis, setting it to 0.5 will fill
  58157. * up the bin and make the data appear continuous.
  58158. *
  58159. * When rendered on top of a box plot or a column series, a jitter value of
  58160. * 0.24 will correspond to the underlying series' default groupPadding and
  58161. * pointPadding settings.
  58162. */
  58163. jitter?: PlotMapJitterOptions;
  58164. /**
  58165. * (Highmaps) What property to join the `mapData` to the value data. For
  58166. * example, if joinBy is "code", the mapData items with a specific code is
  58167. * merged into the data with the same code. For maps loaded from GeoJSON,
  58168. * the keys may be held in each point's `properties` object.
  58169. *
  58170. * The joinBy option can also be an array of two values, where the first
  58171. * points to a key in the `mapData`, and the second points to another key in
  58172. * the `data`.
  58173. *
  58174. * When joinBy is `null`, the map items are joined by their position in the
  58175. * array, which performs much better in maps with many data points. This is
  58176. * the recommended option if you are printing more than a thousand data
  58177. * points and have a backend that can preprocess the data into a parallel
  58178. * array of the mapData.
  58179. */
  58180. joinBy?: string;
  58181. /**
  58182. * (Highmaps) An array specifying which option maps to which key in the data
  58183. * point array. This makes it convenient to work with unstructured data
  58184. * arrays from different sources.
  58185. */
  58186. keys?: Array<string>;
  58187. /**
  58188. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  58189. * series as possible in a natural way, seeking to avoid other series. The
  58190. * goal of this feature is to make the chart more easily readable, like if a
  58191. * human designer placed the labels in the optimal position.
  58192. *
  58193. * The series labels currently work with series types having a `graph` or an
  58194. * `area`.
  58195. */
  58196. label?: SeriesLabelOptionsObject;
  58197. /**
  58198. * (Highstock) The line marks the last price from all points.
  58199. */
  58200. lastPrice?: SeriesLastPriceOptionsObject;
  58201. /**
  58202. * (Highstock) The line marks the last price from visible range of points.
  58203. */
  58204. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  58205. /**
  58206. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  58207. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  58208. * the ends and bends.
  58209. */
  58210. linecap?: SeriesLinecapValue;
  58211. /**
  58212. * (Highcharts, Highstock) The width of the line connecting the data points.
  58213. */
  58214. lineWidth?: number;
  58215. /**
  58216. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  58217. * Additionally, the value can be ":previous" to link to the previous
  58218. * series. When two series are linked, only the first one appears in the
  58219. * legend. Toggling the visibility of this also toggles the linked series.
  58220. *
  58221. * If master series uses data sorting and linked series does not have its
  58222. * own sorting definition, the linked series will be sorted in the same
  58223. * order as the master one.
  58224. */
  58225. linkedTo?: string;
  58226. /**
  58227. * (Highstock) Options for the corresponding navigator series if
  58228. * `showInNavigator` is `true` for this series. Available options are the
  58229. * same as any series, documented at plotOptions and series.
  58230. *
  58231. * These options are merged with options in navigator.series, and will take
  58232. * precedence if the same option is defined both places.
  58233. */
  58234. navigatorOptions?: PlotSeriesOptions;
  58235. /**
  58236. * (Highmaps) The color for the parts of the graph or points that are below
  58237. * the threshold. Note that `zones` takes precedence over the negative
  58238. * color. Using `negativeColor` is equivalent to applying a zone with value
  58239. * of 0.
  58240. */
  58241. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  58242. /**
  58243. * (Highmaps) The color to apply to null points.
  58244. *
  58245. * In styled mode, the null point fill is set in the
  58246. * `.highcharts-null-point` class.
  58247. */
  58248. nullColor?: (ColorString|GradientColorObject|PatternObject);
  58249. /**
  58250. * (Highmaps) Whether to allow pointer interaction like tooltips and mouse
  58251. * events on null points.
  58252. */
  58253. nullInteraction?: boolean;
  58254. /**
  58255. * (Highmaps) Opacity of a series parts: line, fill (e.g. area) and
  58256. * dataLabels.
  58257. */
  58258. opacity?: number;
  58259. /**
  58260. * (Highmaps) Properties for each single point.
  58261. */
  58262. point?: PlotSeriesPointOptions;
  58263. /**
  58264. * (Highmaps) Same as accessibility.pointDescriptionFormatter, but for an
  58265. * individual series. Overrides the chart wide configuration.
  58266. */
  58267. pointDescriptionFormatter?: Function;
  58268. /**
  58269. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  58270. * a series, `pointInterval` defines the interval of the x values. For
  58271. * example, if a series contains one value every decade starting from year
  58272. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  58273. * `pointInterval` is set in milliseconds.
  58274. *
  58275. * It can be also be combined with `pointIntervalUnit` to draw irregular
  58276. * time intervals.
  58277. *
  58278. * Please note that this options applies to the _series data_, not the
  58279. * interval of the axis ticks, which is independent.
  58280. */
  58281. pointInterval?: number;
  58282. /**
  58283. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  58284. * setting the pointInterval to irregular time units, `day`, `month` and
  58285. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  58286. * also takes the DST crossover into consideration when dealing with local
  58287. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  58288. * months, 10 years etc.
  58289. *
  58290. * Please note that this options applies to the _series data_, not the
  58291. * interval of the axis ticks, which is independent.
  58292. */
  58293. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  58294. /**
  58295. * (Highstock) The width of each point on the x axis. For example in a
  58296. * column chart with one value each day, the pointRange would be 1 day (= 24
  58297. * * 3600
  58298. *
  58299. * * 1000 milliseconds). This is normally computed automatically, but this
  58300. * option can be used to override the automatic value.
  58301. */
  58302. pointRange?: number;
  58303. /**
  58304. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  58305. * a series, pointStart defines on what value to start. For example, if a
  58306. * series contains one yearly value starting from 1945, set pointStart to
  58307. * 1945.
  58308. */
  58309. pointStart?: number;
  58310. /**
  58311. * (Highmaps) Whether to select the series initially. If `showCheckbox` is
  58312. * true, the checkbox next to the series name in the legend will be checked
  58313. * for a selected series.
  58314. */
  58315. selected?: boolean;
  58316. /**
  58317. * (Highmaps) If true, a checkbox is displayed next to the legend item to
  58318. * allow selecting the series. The state of the checkbox is determined by
  58319. * the `selected` option.
  58320. */
  58321. showCheckbox?: boolean;
  58322. /**
  58323. * (Highmaps) Whether to display this particular series or series type in
  58324. * the legend. Standalone series are shown in legend by default, and linked
  58325. * series are not. Since v7.2.0 it is possible to show series that use
  58326. * colorAxis by setting this option to `true`.
  58327. */
  58328. showInLegend?: boolean;
  58329. /**
  58330. * (Highstock) Whether or not to show the series in the navigator. Takes
  58331. * precedence over navigator.baseSeries if defined.
  58332. */
  58333. showInNavigator?: boolean;
  58334. /**
  58335. * (Highmaps) If set to `true`, the accessibility module will skip past the
  58336. * points in this series for keyboard navigation.
  58337. */
  58338. skipKeyboardNavigation?: boolean;
  58339. /**
  58340. * (Highcharts, Highstock) When this is true, the series will not cause the
  58341. * Y axis to cross the zero plane (or threshold option) unless the data
  58342. * actually crosses the plane.
  58343. *
  58344. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  58345. * make the Y axis show negative values according to the `minPadding`
  58346. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  58347. */
  58348. softThreshold?: boolean;
  58349. /**
  58350. * (Highcharts, Highstock) Whether to stack the values of each series on top
  58351. * of each other. Possible values are `undefined` to disable, `"normal"` to
  58352. * stack by value or `"percent"`.
  58353. *
  58354. * When stacking is enabled, data must be sorted in ascending X order.
  58355. *
  58356. * Some stacking options are related to specific series types. In the
  58357. * streamgraph series type, the stacking option is set to `"stream"`. The
  58358. * second one is `"overlap"`, which only applies to waterfall series.
  58359. */
  58360. stacking?: OptionsStackingValue;
  58361. states?: SeriesStatesOptionsObject;
  58362. /**
  58363. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  58364. * values are `left`, `center` and `right`.
  58365. */
  58366. step?: OptionsStepValue;
  58367. /**
  58368. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  58369. * `mouseOut` event on a series isn't triggered until the mouse moves over
  58370. * another series, or out of the plot area. When false, the `mouseOut` event
  58371. * on a series is triggered when the mouse leaves the area around the
  58372. * series' graph or markers. This also implies the tooltip. When
  58373. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  58374. * be hidden when moving the mouse between series.
  58375. */
  58376. stickyTracking?: boolean;
  58377. /**
  58378. * (Highcharts, Highstock) The threshold, also called zero level or base
  58379. * level. For line type series this is only used in conjunction with
  58380. * negativeColor.
  58381. */
  58382. threshold?: number;
  58383. /**
  58384. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  58385. * of each single series. Properties are inherited from tooltip. Overridable
  58386. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  58387. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  58388. * series.name by default shows in the headerFormat and point.x and point.y
  58389. * in the pointFormat.
  58390. */
  58391. tooltip?: SeriesTooltipOptionsObject;
  58392. /**
  58393. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  58394. * is longer than this, only one dimensional arrays of numbers, or two
  58395. * dimensional arrays with x and y values are allowed. Also, only the first
  58396. * point is tested, and the rest are assumed to be the same format. This
  58397. * saves expensive data checking and indexing in long series. Set it to `0`
  58398. * disable.
  58399. *
  58400. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  58401. * two dimensional arrays are allowed.
  58402. */
  58403. turboThreshold?: number;
  58404. /**
  58405. * (Highmaps) Set the initial visibility of the series.
  58406. */
  58407. visible?: boolean;
  58408. /**
  58409. * (Highmaps) Define the z index of the series.
  58410. */
  58411. zIndex?: number;
  58412. /**
  58413. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  58414. */
  58415. zoneAxis?: string;
  58416. /**
  58417. * (Highcharts, Highstock) An array defining zones within a series. Zones
  58418. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  58419. * the `zoneAxis` option. The zone definitions have to be in ascending order
  58420. * regarding to the value.
  58421. *
  58422. * In styled mode, the color zones are styled with the
  58423. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  58424. * option (view live demo).
  58425. */
  58426. zones?: Array<SeriesZonesOptionsObject>;
  58427. }
  58428. /**
  58429. * (Highmaps) Enable or disable the initial animation when a series is
  58430. * displayed. The animation can also be set as a configuration object. Please
  58431. * note that this option only applies to the initial animation of the series
  58432. * itself. For other animations, see chart.animation and the animation parameter
  58433. * under the API methods. The following properties are supported:
  58434. *
  58435. * - `defer`: The animation delay time in milliseconds.
  58436. *
  58437. * - `duration`: The duration of the animation in milliseconds.
  58438. *
  58439. * - `easing`: Can be a string reference to an easing function set on the `Math`
  58440. * object or a function. See the _Custom easing function_ demo below.
  58441. *
  58442. * Due to poor performance, animation is disabled in old IE browsers for several
  58443. * chart types.
  58444. */
  58445. export interface PlotMappointAnimationOptions {
  58446. defer?: number;
  58447. }
  58448. export interface PlotMappointClusterEventsOptions {
  58449. /**
  58450. * (Highcharts, Highmaps) Fires when the cluster point is clicked and
  58451. * `drillToCluster` is enabled. One parameter, `event`, is passed to the
  58452. * function. The default action is to zoom to the cluster points range. This
  58453. * can be prevented by calling `event.preventDefault()`.
  58454. */
  58455. drillToCluster?: MarkerClusterDrillCallbackFunction;
  58456. }
  58457. /**
  58458. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are options
  58459. * to change the type of the algorithm, gridSize, distance or iterations.
  58460. */
  58461. export interface PlotMappointClusterLayoutAlgorithmOptions {
  58462. /**
  58463. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `distance` is a
  58464. * maximum distance between point and cluster center so that this point will
  58465. * be inside the cluster. The distance is either a number defining pixels or
  58466. * a percentage defining a percentage of the plot area width.
  58467. */
  58468. distance?: (number|string);
  58469. /**
  58470. * (Highcharts, Highmaps) When `type` is set to the `grid`, `gridSize` is a
  58471. * size of a grid square element either as a number defining pixels, or a
  58472. * percentage defining a percentage of the plot area width.
  58473. */
  58474. gridSize?: (number|string);
  58475. /**
  58476. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `iterations` are
  58477. * the number of iterations that this algorithm will be repeated to find
  58478. * clusters positions.
  58479. */
  58480. iterations?: number;
  58481. /**
  58482. * (Highcharts, Highmaps) When `type` is set to `undefined` and there are
  58483. * more visible points than the kmeansThreshold the `grid` algorithm is used
  58484. * to find clusters, otherwise `kmeans`. It ensures good performance on
  58485. * large datasets and better clusters arrangement after the zoom.
  58486. */
  58487. kmeansThreshold?: number;
  58488. /**
  58489. * (Highcharts, Highmaps) Type of the algorithm used to combine points into
  58490. * a cluster. There are three available algorithms:
  58491. *
  58492. * 1) `grid` - grid-based clustering technique. Points are assigned to
  58493. * squares of set size depending on their position on the plot area. Points
  58494. * inside the grid square are combined into a cluster. The grid size can be
  58495. * controlled by `gridSize` property (grid size changes at certain zoom
  58496. * levels).
  58497. *
  58498. * 2) `kmeans` - based on K-Means clustering technique. In the first step,
  58499. * points are divided using the grid method (distance property is a grid
  58500. * size) to find the initial amount of clusters. Next, each point is
  58501. * classified by computing the distance between each cluster center and that
  58502. * point. When the closest cluster distance is lower than distance property
  58503. * set by a user the point is added to this cluster otherwise is classified
  58504. * as `noise`. The algorithm is repeated until each cluster center not
  58505. * change its previous position more than one pixel. This technique is more
  58506. * accurate but also more time consuming than the `grid` algorithm,
  58507. * especially for big datasets.
  58508. *
  58509. * 3) `optimizedKmeans` - based on K-Means clustering technique. This
  58510. * algorithm uses k-means algorithm only on the chart initialization or when
  58511. * chart extremes have greater range than on initialization. When a chart is
  58512. * redrawn the algorithm checks only clustered points distance from the
  58513. * cluster center and rebuild it when the point is spaced enough to be
  58514. * outside the cluster. It provides performance improvement and more stable
  58515. * clusters position yet can be used rather on small and sparse datasets.
  58516. *
  58517. * By default, the algorithm depends on visible quantity of points and
  58518. * `kmeansThreshold`. When there are more visible points than the
  58519. * `kmeansThreshold` the `grid` algorithm is used, otherwise `kmeans`.
  58520. *
  58521. * The custom clustering algorithm can be added by assigning a callback
  58522. * function as the type property. This function takes an array of
  58523. * `processedXData`, `processedYData`, `processedXData` indexes and
  58524. * `layoutAlgorithm` options as arguments and should return an object with
  58525. * grouped data.
  58526. *
  58527. * The algorithm should return an object like that: (see online
  58528. * documentation for example)
  58529. *
  58530. * `clusterId` (example above - unique id of a cluster or noise) is an array
  58531. * of points belonging to a cluster. If the array has only one point or
  58532. * fewer points than set in `cluster.minimumClusterSize` it won't be
  58533. * combined into a cluster.
  58534. */
  58535. type?: (string|Function);
  58536. }
  58537. /**
  58538. * (Highcharts, Highmaps) Options for marker clusters, the concept of sampling
  58539. * the data values into larger blocks in order to ease readability and increase
  58540. * performance of the JavaScript charts.
  58541. *
  58542. * Note: marker clusters module is not working with `boost` and
  58543. * `draggable-points` modules.
  58544. *
  58545. * The marker clusters feature requires the marker-clusters.js file to be
  58546. * loaded, found in the modules directory of the download package, or online at
  58547. * code.highcharts.com/modules/marker-clusters.js.
  58548. */
  58549. export interface PlotMappointClusterOptions {
  58550. /**
  58551. * (Highcharts, Highmaps) When set to `false` prevent cluster overlapping -
  58552. * this option works only when `layoutAlgorithm.type = "grid"`.
  58553. */
  58554. allowOverlap?: boolean;
  58555. /**
  58556. * (Highcharts, Highmaps) Options for the cluster marker animation.
  58557. */
  58558. animation?: (boolean|Partial<AnimationOptionsObject>);
  58559. /**
  58560. * (Highcharts, Highmaps) Options for the cluster data labels.
  58561. */
  58562. dataLabels?: DataLabelsOptions;
  58563. /**
  58564. * (Highcharts, Highmaps) Zoom the plot area to the cluster points range
  58565. * when a cluster is clicked.
  58566. */
  58567. drillToCluster?: boolean;
  58568. /**
  58569. * (Highcharts, Highmaps) Whether to enable the marker-clusters module.
  58570. */
  58571. enabled?: boolean;
  58572. events?: PlotMappointClusterEventsOptions;
  58573. /**
  58574. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are
  58575. * options to change the type of the algorithm, gridSize, distance or
  58576. * iterations.
  58577. */
  58578. layoutAlgorithm?: PlotMappointClusterLayoutAlgorithmOptions;
  58579. /**
  58580. * (Highcharts, Highmaps) Options for the cluster marker.
  58581. */
  58582. marker?: PointMarkerOptionsObject;
  58583. /**
  58584. * (Highcharts, Highmaps) The minimum amount of points to be combined into a
  58585. * cluster. This value has to be greater or equal to 2.
  58586. */
  58587. minimumClusterSize?: number;
  58588. states?: PlotMappointClusterStatesOptions;
  58589. /**
  58590. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  58591. *
  58592. * In styled mode, the color zones are styled with the
  58593. * `.highcharts-cluster-zone-{n}` class, or custom classed from the
  58594. * `className` option.
  58595. */
  58596. zones?: Array<PlotMappointClusterZonesOptions>;
  58597. }
  58598. export interface PlotMappointClusterStatesHoverOptions {
  58599. /**
  58600. * (Highcharts, Highmaps) The fill color of the cluster marker in hover
  58601. * state. When `undefined`, the series' or point's fillColor for normal
  58602. * state is used.
  58603. */
  58604. fillColor?: ColorType;
  58605. }
  58606. export interface PlotMappointClusterStatesOptions {
  58607. hover?: PlotMappointClusterStatesHoverOptions;
  58608. }
  58609. /**
  58610. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  58611. *
  58612. * In styled mode, the color zones are styled with the
  58613. * `.highcharts-cluster-zone-{n}` class, or custom classed from the `className`
  58614. * option.
  58615. */
  58616. export interface PlotMappointClusterZonesOptions {
  58617. /**
  58618. * (Highcharts, Highmaps) Styled mode only. A custom class name for the
  58619. * zone.
  58620. */
  58621. className?: string;
  58622. /**
  58623. * (Highcharts, Highmaps) The value where the zone starts.
  58624. */
  58625. from?: number;
  58626. /**
  58627. * (Highcharts, Highmaps) Settings for the cluster marker belonging to the
  58628. * zone.
  58629. */
  58630. marker?: PointMarkerOptionsObject;
  58631. /**
  58632. * (Highcharts, Highmaps) The value where the zone ends.
  58633. */
  58634. to?: number;
  58635. }
  58636. /**
  58637. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  58638. * animation when a series is displayed for the `dataLabels`. The animation can
  58639. * also be set as a configuration object. Please note that this option only
  58640. * applies to the initial animation. For other animations, see chart.animation
  58641. * and the animation parameter under the API methods. The following properties
  58642. * are supported:
  58643. *
  58644. * - `defer`: The animation delay time in milliseconds.
  58645. */
  58646. export interface PlotMappointDataLabelsAnimationOptions {
  58647. /**
  58648. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  58649. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  58650. * inherits defer time from the series.animation.defer.
  58651. */
  58652. defer?: number;
  58653. }
  58654. /**
  58655. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  58656. * appearing next to each data point.
  58657. *
  58658. * Since v6.2.0, multiple data labels can be applied to each single point by
  58659. * defining them as an array of configs.
  58660. *
  58661. * In styled mode, the data labels can be styled with the
  58662. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  58663. * example).
  58664. */
  58665. export interface PlotMappointDataLabelsOptions {
  58666. /**
  58667. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  58668. * compared to the point. If `right`, the right side of the label should be
  58669. * touching the point. For points with an extent, like columns, the
  58670. * alignments also dictates how to align it inside the box, as given with
  58671. * the inside option. Can be one of `left`, `center` or `right`.
  58672. */
  58673. align?: (AlignValue|null);
  58674. /**
  58675. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  58676. * overlap. To make the labels less sensitive for overlapping, the
  58677. * dataLabels.padding can be set to 0.
  58678. */
  58679. allowOverlap?: boolean;
  58680. /**
  58681. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  58682. * animation when a series is displayed for the `dataLabels`. The animation
  58683. * can also be set as a configuration object. Please note that this option
  58684. * only applies to the initial animation. For other animations, see
  58685. * chart.animation and the animation parameter under the API methods. The
  58686. * following properties are supported:
  58687. *
  58688. * - `defer`: The animation delay time in milliseconds.
  58689. */
  58690. animation?: (boolean|PlotMappointDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  58691. /**
  58692. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  58693. * for the data label.
  58694. */
  58695. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  58696. /**
  58697. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  58698. * label. Defaults to `undefined`.
  58699. */
  58700. borderColor?: (ColorString|GradientColorObject|PatternObject);
  58701. /**
  58702. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  58703. * the data label.
  58704. */
  58705. borderRadius?: number;
  58706. /**
  58707. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  58708. * the data label.
  58709. */
  58710. borderWidth?: number;
  58711. /**
  58712. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  58713. * Particularly in styled mode, this can be used to give each series' or
  58714. * point's data label unique styling. In addition to this option, a default
  58715. * color class name is added so that we can give the labels a contrast text
  58716. * shadow.
  58717. */
  58718. className?: string;
  58719. /**
  58720. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  58721. * labels. Defaults to `undefined`. For certain series types, like column or
  58722. * map, the data labels can be drawn inside the points. In this case the
  58723. * data label will be drawn with maximum contrast by default. Additionally,
  58724. * it will be given a `text-outline` style with the opposite color, to
  58725. * further increase the contrast. This can be overridden by setting the
  58726. * `text-outline` style to `none` in the `dataLabels.style` option.
  58727. */
  58728. color?: (ColorString|GradientColorObject|PatternObject);
  58729. /**
  58730. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  58731. * are outside the plot area. By default, the data label is moved inside the
  58732. * plot area according to the overflow option.
  58733. */
  58734. crop?: boolean;
  58735. /**
  58736. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  58737. * labels until the initial series animation has finished. Setting to
  58738. * `false` renders the data label immediately. If set to `true` inherits the
  58739. * defer time set in plotOptions.series.animation.
  58740. */
  58741. defer?: boolean;
  58742. /**
  58743. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  58744. * labels.
  58745. */
  58746. enabled?: boolean;
  58747. /**
  58748. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  58749. * of which data labels to display. The declarative filter is designed for
  58750. * use when callback functions are not available, like when the chart
  58751. * options require a pure JSON structure or for use with graphical editors.
  58752. * For programmatic control, use the `formatter` instead, and return
  58753. * `undefined` to disable a single data label.
  58754. */
  58755. filter?: DataLabelsFilterOptionsObject;
  58756. /**
  58757. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  58758. * label. Available variables are the same as for `formatter`.
  58759. */
  58760. format?: string;
  58761. /**
  58762. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  58763. * format the data label. Note that if a `format` is defined, the format
  58764. * takes precedence and the formatter is ignored.
  58765. */
  58766. formatter?: DataLabelsFormatterCallbackFunction;
  58767. /**
  58768. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  58769. * columns or map areas, whether to align the data label inside the box or
  58770. * to the actual value point. Defaults to `false` in most cases, `true` in
  58771. * stacked columns.
  58772. */
  58773. inside?: boolean;
  58774. /**
  58775. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  58776. * of null. Works analogously to format. `nullFormat` can be applied only to
  58777. * series which support displaying null points.
  58778. */
  58779. nullFormat?: (boolean|string);
  58780. /**
  58781. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  58782. * that defines formatting for points with the value of null. Works
  58783. * analogously to formatter. `nullPointFormatter` can be applied only to
  58784. * series which support displaying null points.
  58785. */
  58786. nullFormatter?: DataLabelsFormatterCallbackFunction;
  58787. /**
  58788. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  58789. * flow outside the plot area. The default is `"justify"`, which aligns them
  58790. * inside the plot area. For columns and bars, this means it will be moved
  58791. * inside the bar. To display data labels outside the plot area, set `crop`
  58792. * to `false` and `overflow` to `"allow"`.
  58793. */
  58794. overflow?: boolean;
  58795. /**
  58796. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  58797. * the `backgroundColor` is set, this is the padding within the box.
  58798. */
  58799. padding?: number;
  58800. /**
  58801. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  58802. * points. If `center` alignment is not possible, it defaults to `right`.
  58803. */
  58804. position?: AlignValue;
  58805. /**
  58806. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  58807. * that due to a more complex structure, backgrounds, borders and padding
  58808. * will be lost on a rotated data label.
  58809. */
  58810. rotation?: number;
  58811. /**
  58812. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  58813. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  58814. * an object configuration containing `color`, `offsetX`, `offsetY`,
  58815. * `opacity` and `width`.
  58816. */
  58817. shadow?: (boolean|ShadowOptionsObject);
  58818. /**
  58819. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  58820. * the border around the label. Symbols are predefined functions on the
  58821. * Renderer object.
  58822. */
  58823. shape?: string;
  58824. /**
  58825. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  58826. * default `color` setting is `"contrast"`, which is a pseudo color that
  58827. * Highcharts picks up and applies the maximum contrast to the underlying
  58828. * point item, for example the bar in a bar chart.
  58829. *
  58830. * The `textOutline` is a pseudo property that applies an outline of the
  58831. * given width with the given color, which by default is the maximum
  58832. * contrast to the text. So a bright text color will result in a black text
  58833. * outline for maximum readability on a mixed background. In some cases,
  58834. * especially with grayscale text, the text outline doesn't work well, in
  58835. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  58836. * is true, the `textOutline` will not be picked up. In this, case, the same
  58837. * effect can be acheived through the `text-shadow` CSS property.
  58838. *
  58839. * For some series types, where each point has an extent, like for example
  58840. * tree maps, the data label may overflow the point. There are two
  58841. * strategies for handling overflow. By default, the text will wrap to
  58842. * multiple lines. The other strategy is to set `style.textOverflow` to
  58843. * `ellipsis`, which will keep the text on one line plus it will break
  58844. * inside long words.
  58845. */
  58846. style?: CSSObject;
  58847. /**
  58848. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  58849. * should follow marker's shape. Border and background are disabled for a
  58850. * label that follows a path.
  58851. *
  58852. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  58853. * to true will disable this option.
  58854. */
  58855. textPath?: DataLabelsTextPathOptionsObject;
  58856. /**
  58857. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  58858. * the labels.
  58859. */
  58860. useHTML?: boolean;
  58861. /**
  58862. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  58863. * label. Can be one of `top`, `middle` or `bottom`. The default value
  58864. * depends on the data, for instance in a column chart, the label is above
  58865. * positive values and below negative values.
  58866. */
  58867. verticalAlign?: (VerticalAlignValue|null);
  58868. /**
  58869. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  58870. * label relative to the point in pixels.
  58871. */
  58872. x?: number;
  58873. /**
  58874. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  58875. * label relative to the point in pixels.
  58876. */
  58877. y?: number;
  58878. /**
  58879. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  58880. * The default Z index puts it above the series. Use a Z index of 2 to
  58881. * display it behind the series.
  58882. */
  58883. z?: number;
  58884. }
  58885. /**
  58886. * (Highcharts, Highstock) Options for the series data sorting.
  58887. */
  58888. export interface PlotMappointDataSortingOptions {
  58889. /**
  58890. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  58891. * Use xAxis.reversed to change the sorting order.
  58892. */
  58893. enabled?: boolean;
  58894. /**
  58895. * (Highcharts, Highstock) Whether to allow matching points by name in an
  58896. * update. If this option is disabled, points will be matched by order.
  58897. */
  58898. matchByName?: boolean;
  58899. /**
  58900. * (Highcharts, Highstock) Determines what data value should be used to sort
  58901. * by.
  58902. */
  58903. sortKey?: string;
  58904. }
  58905. /**
  58906. * (Highmaps) Style options for the guide box. The guide box has one state by
  58907. * default, the `default` state.
  58908. */
  58909. export interface PlotMappointDragDropGuideBoxOptions {
  58910. /**
  58911. * (Highmaps) Style options for the guide box default state.
  58912. */
  58913. default?: DragDropGuideBoxOptionsObject;
  58914. }
  58915. /**
  58916. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
  58917. * plotting discrete values, a little random noise may help telling the points
  58918. * apart. The jitter setting applies a random displacement of up to `n` axis
  58919. * units in either direction. So for example on a horizontal X axis, setting the
  58920. * `jitter.x` to 0.24 will render the point in a random position between 0.24
  58921. * units to the left and 0.24 units to the right of the true axis position. On a
  58922. * category axis, setting it to 0.5 will fill up the bin and make the data
  58923. * appear continuous.
  58924. *
  58925. * When rendered on top of a box plot or a column series, a jitter value of 0.24
  58926. * will correspond to the underlying series' default groupPadding and
  58927. * pointPadding settings.
  58928. */
  58929. export interface PlotMappointJitterOptions {
  58930. /**
  58931. * (Highcharts, Highstock) The maximal X offset for the random jitter
  58932. * effect.
  58933. */
  58934. x?: number;
  58935. /**
  58936. * (Highcharts, Highstock) The maximal Y offset for the random jitter
  58937. * effect.
  58938. */
  58939. y?: number;
  58940. }
  58941. /**
  58942. * (Highmaps) A mappoint series is a special form of scatter series where the
  58943. * points can be laid out in map coordinates on top of a map.
  58944. *
  58945. * In TypeScript the type option must always be set.
  58946. *
  58947. * Configuration options for the series are given in three levels:
  58948. *
  58949. * 1. Options for all series in a chart are defined in the plotOptions.series
  58950. * object.
  58951. *
  58952. * 2. Options for all `mappoint` series are defined in plotOptions.mappoint.
  58953. *
  58954. * 3. Options for one single series are given in the series instance array. (see
  58955. * online documentation for example)
  58956. */
  58957. export interface PlotMappointOptions {
  58958. /**
  58959. * (Highmaps) Accessibility options for a series.
  58960. */
  58961. accessibility?: SeriesAccessibilityOptionsObject;
  58962. /**
  58963. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  58964. * rendered. If `true`, areas which don't correspond to a data point, are
  58965. * rendered as `null` points. If `false`, those areas are skipped.
  58966. */
  58967. allAreas?: boolean;
  58968. /**
  58969. * (Highmaps) Allow this series' points to be selected by clicking on the
  58970. * graphic (columns, point markers, pie slices, map areas etc).
  58971. *
  58972. * The selected points can be handled by point select and unselect events,
  58973. * or collectively by the getSelectedPoints function.
  58974. *
  58975. * And alternative way of selecting points is through dragging.
  58976. */
  58977. allowPointSelect?: boolean;
  58978. /**
  58979. * (Highmaps) Enable or disable the initial animation when a series is
  58980. * displayed. The animation can also be set as a configuration object.
  58981. * Please note that this option only applies to the initial animation of the
  58982. * series itself. For other animations, see chart.animation and the
  58983. * animation parameter under the API methods. The following properties are
  58984. * supported:
  58985. *
  58986. * - `defer`: The animation delay time in milliseconds.
  58987. *
  58988. * - `duration`: The duration of the animation in milliseconds.
  58989. *
  58990. * - `easing`: Can be a string reference to an easing function set on the
  58991. * `Math` object or a function. See the _Custom easing function_ demo below.
  58992. *
  58993. * Due to poor performance, animation is disabled in old IE browsers for
  58994. * several chart types.
  58995. */
  58996. animation?: (boolean|PlotMappointAnimationOptions|Partial<AnimationOptionsObject>);
  58997. /**
  58998. * (Highmaps) For some series, there is a limit that shuts down initial
  58999. * animation by default when the total number of points in the chart is too
  59000. * high. For example, for a column chart and its derivatives, animation does
  59001. * not run if there is more than 250 points totally. To disable this cap,
  59002. * set `animationLimit` to `Infinity`.
  59003. */
  59004. animationLimit?: number;
  59005. /**
  59006. * (Highmaps) Sets the color blending in the boost module.
  59007. */
  59008. boostBlending?: OptionsBoostBlendingValue;
  59009. /**
  59010. * (Highmaps) Set the point threshold for when a series should enter boost
  59011. * mode.
  59012. *
  59013. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  59014. * there are 2000 or more points in the series.
  59015. *
  59016. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  59017. * it to 1 will force boosting.
  59018. *
  59019. * Note that the cropThreshold also affects this setting. When zooming in on
  59020. * a series that has fewer points than the `cropThreshold`, all points are
  59021. * rendered although outside the visible plot area, and the `boostThreshold`
  59022. * won't take effect.
  59023. */
  59024. boostThreshold?: number;
  59025. /**
  59026. * (Highmaps) The border color of the map areas.
  59027. *
  59028. * In styled mode, the border stroke is given in the `.highcharts-point`
  59029. * class.
  59030. */
  59031. borderColor?: (ColorString|GradientColorObject|PatternObject);
  59032. /**
  59033. * (Highmaps) The border width of each map area.
  59034. *
  59035. * In styled mode, the border stroke width is given in the
  59036. * `.highcharts-point` class.
  59037. */
  59038. borderWidth?: number;
  59039. /**
  59040. * (Highmaps) An additional class name to apply to the series' graphical
  59041. * elements. This option does not replace default class names of the
  59042. * graphical element.
  59043. */
  59044. className?: string;
  59045. /**
  59046. * (Highmaps) Disable this option to allow series rendering in the whole
  59047. * plotting area.
  59048. *
  59049. * **Note:** Clipping should be always enabled when chart.zoomType is set
  59050. */
  59051. clip?: boolean;
  59052. /**
  59053. * (Highcharts, Highmaps) Options for marker clusters, the concept of
  59054. * sampling the data values into larger blocks in order to ease readability
  59055. * and increase performance of the JavaScript charts.
  59056. *
  59057. * Note: marker clusters module is not working with `boost` and
  59058. * `draggable-points` modules.
  59059. *
  59060. * The marker clusters feature requires the marker-clusters.js file to be
  59061. * loaded, found in the modules directory of the download package, or online
  59062. * at code.highcharts.com/modules/marker-clusters.js.
  59063. */
  59064. cluster?: PlotMappointClusterOptions;
  59065. /**
  59066. * (Highmaps) The main color of the series. In line type series it applies
  59067. * to the line and the point markers unless otherwise specified. In bar type
  59068. * series it applies to the bars unless a color is specified per point. The
  59069. * default value is pulled from the `options.colors` array.
  59070. *
  59071. * In styled mode, the color can be defined by the colorIndex option. Also,
  59072. * the series color can be set with the `.highcharts-series`,
  59073. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  59074. * `.highcharts-series-{n}` class, or individual classes given by the
  59075. * `className` option.
  59076. */
  59077. color?: (ColorString|GradientColorObject|PatternObject);
  59078. /**
  59079. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  59080. * this number defines which colorAxis the particular series is connected
  59081. * to. It refers to either the axis id or the index of the axis in the
  59082. * colorAxis array, with 0 being the first. Set this option to false to
  59083. * prevent a series from connecting to the default color axis.
  59084. *
  59085. * Since v7.2.0 the option can also be an axis id or an axis index instead
  59086. * of a boolean flag.
  59087. */
  59088. colorAxis?: (boolean|number|string);
  59089. /**
  59090. * (Highmaps) Styled mode only. A specific color index to use for the
  59091. * series, so its graphic representations are given the class name
  59092. * `highcharts-color-{n}`.
  59093. */
  59094. colorIndex?: number;
  59095. /**
  59096. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  59097. * used to calculate point color if `colorAxis` is used. Requires to set
  59098. * `min` and `max` if some custom point property is used or if approximation
  59099. * for data grouping is set to `'sum'`.
  59100. */
  59101. colorKey?: string;
  59102. /**
  59103. * (Highstock) Compare the values of the series against the first non-null,
  59104. * non- zero value in the visible range. The y axis will show percentage or
  59105. * absolute change depending on whether `compare` is set to `"percent"` or
  59106. * `"value"`. When this is applied to multiple series, it allows comparing
  59107. * the development of the series against each other. Adds a `change` field
  59108. * to every point object.
  59109. */
  59110. compare?: string;
  59111. /**
  59112. * (Highstock) When compare is `percent`, this option dictates whether to
  59113. * use 0 or 100 as the base of comparison.
  59114. */
  59115. compareBase?: (0|100);
  59116. /**
  59117. * (Highstock) Defines if comparison should start from the first point
  59118. * within the visible range or should start from the first point **before**
  59119. * the range.
  59120. *
  59121. * In other words, this flag determines if first point within the visible
  59122. * range will have 0% (`compareStart=true`) or should have been already
  59123. * calculated according to the previous point (`compareStart=false`).
  59124. */
  59125. compareStart?: boolean;
  59126. /**
  59127. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  59128. * series plot across the extremes.
  59129. */
  59130. connectEnds?: boolean;
  59131. /**
  59132. * (Highcharts, Highstock) Whether to connect a graph line across null
  59133. * points, or render a gap between the two points on either side of the
  59134. * null.
  59135. */
  59136. connectNulls?: boolean;
  59137. /**
  59138. * (Gantt) Override Pathfinder connector options for a series. Requires
  59139. * Highcharts Gantt to be loaded.
  59140. */
  59141. connectors?: SeriesConnectorsOptionsObject;
  59142. /**
  59143. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  59144. * rounded to its nearest pixel in order to render sharp on screen. In some
  59145. * cases, when there are a lot of densely packed columns, this leads to
  59146. * visible difference in column widths or distance between columns. In these
  59147. * cases, setting `crisp` to `false` may look better, even though each
  59148. * column is rendered blurry.
  59149. */
  59150. crisp?: boolean;
  59151. /**
  59152. * (Highmaps) You can set the cursor to "pointer" if you have click events
  59153. * attached to the series, to signal to the user that the points and lines
  59154. * can be clicked.
  59155. *
  59156. * In styled mode, the series cursor can be set with the same classes as
  59157. * listed under series.color.
  59158. */
  59159. cursor?: (string|CursorValue);
  59160. /**
  59161. * (Highmaps) A reserved subspace to store options and values for customized
  59162. * functionality. Here you can add additional data for your own event
  59163. * callbacks and formatter callbacks.
  59164. */
  59165. custom?: Dictionary<any>;
  59166. /**
  59167. * (Highmaps) Name of the dash style to use for the graph, or for some
  59168. * series types the outline of each shape.
  59169. *
  59170. * In styled mode, the stroke dash-array can be set with the same classes as
  59171. * listed under series.color.
  59172. */
  59173. dashStyle?: DashStyleValue;
  59174. /**
  59175. * (Highstock) Data grouping is the concept of sampling the data values into
  59176. * larger blocks in order to ease readability and increase performance of
  59177. * the JavaScript charts. Highstock by default applies data grouping when
  59178. * the points become closer than a certain pixel value, determined by the
  59179. * `groupPixelWidth` option.
  59180. *
  59181. * If data grouping is applied, the grouping information of grouped points
  59182. * can be read from the Point.dataGroup. If point options other than the
  59183. * data itself are set, for example `name` or `color` or custom properties,
  59184. * the grouping logic doesn't know how to group it. In this case the options
  59185. * of the first point instance are copied over to the group point. This can
  59186. * be altered through a custom `approximation` callback function.
  59187. */
  59188. dataGrouping?: DataGroupingOptionsObject;
  59189. /**
  59190. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  59191. * labels, appearing next to each data point.
  59192. *
  59193. * Since v6.2.0, multiple data labels can be applied to each single point by
  59194. * defining them as an array of configs.
  59195. *
  59196. * In styled mode, the data labels can be styled with the
  59197. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  59198. * (see example).
  59199. */
  59200. dataLabels?: (PlotMappointDataLabelsOptions|Array<PlotMappointDataLabelsOptions>);
  59201. /**
  59202. * (Highcharts, Highstock) Options for the series data sorting.
  59203. */
  59204. dataSorting?: (DataSortingOptionsObject|PlotMappointDataSortingOptions);
  59205. /**
  59206. * (Highmaps) A description of the series to add to the screen reader
  59207. * information about the series.
  59208. */
  59209. description?: string;
  59210. /**
  59211. * (Highmaps) The draggable-points module allows points to be moved around
  59212. * or modified in the chart. In addition to the options mentioned under the
  59213. * `dragDrop` API structure, the module fires three events, point.dragStart,
  59214. * point.drag and point.drop.
  59215. */
  59216. dragDrop?: SeriesDragDropOptionsObject;
  59217. /**
  59218. * (Highmaps) Enable or disable the mouse tracking for a specific series.
  59219. * This includes point tooltips and click events on graphs and points. For
  59220. * large datasets it improves performance.
  59221. */
  59222. enableMouseTracking?: boolean;
  59223. /**
  59224. * (Highmaps) General event handlers for the series items. These event hooks
  59225. * can also be attached to the series at run time using the
  59226. * `Highcharts.addEvent` function.
  59227. */
  59228. events?: SeriesEventsOptionsObject;
  59229. /**
  59230. * (Highmaps) Determines whether the series should look for the nearest
  59231. * point in both dimensions or just the x-dimension when hovering the
  59232. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  59233. * series. If the data has duplicate x-values, it is recommended to set this
  59234. * to `'xy'` to allow hovering over all points.
  59235. *
  59236. * Applies only to series types using nearest neighbor search (not direct
  59237. * hover) for tooltip.
  59238. */
  59239. findNearestPointBy?: OptionsFindNearestPointByValue;
  59240. /**
  59241. * (Highstock) Defines when to display a gap in the graph, together with the
  59242. * gapUnit option.
  59243. *
  59244. * In case when `dataGrouping` is enabled, points can be grouped into a
  59245. * larger time span. This can make the grouped points to have a greater
  59246. * distance than the absolute value of `gapSize` property, which will result
  59247. * in disappearing graph completely. To prevent this situation the mentioned
  59248. * distance between grouped points is used instead of previously defined
  59249. * `gapSize`.
  59250. *
  59251. * In practice, this option is most often used to visualize gaps in time
  59252. * series. In a stock chart, intraday data is available for daytime hours,
  59253. * while gaps will appear in nights and weekends.
  59254. */
  59255. gapSize?: number;
  59256. /**
  59257. * (Highstock) Together with gapSize, this option defines where to draw gaps
  59258. * in the graph.
  59259. *
  59260. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  59261. * if the distance between two points is greater than 5 times that of the
  59262. * two closest points, the graph will be broken.
  59263. *
  59264. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  59265. * values, which on a datetime axis is milliseconds. This also applies to
  59266. * the navigator series that inherits gap options from the base series.
  59267. */
  59268. gapUnit?: OptionsGapUnitValue;
  59269. /**
  59270. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  59271. * chart width or only the zoomed area when zooming in on parts of the X
  59272. * axis. By default, the Y axis adjusts to the min and max of the visible
  59273. * data. Cartesian series only.
  59274. */
  59275. getExtremesFromAll?: boolean;
  59276. /**
  59277. * (Highmaps) When set to `false` will prevent the series data from being
  59278. * included in any form of data export.
  59279. *
  59280. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  59281. * `includeInCSVExport`.
  59282. */
  59283. includeInDataExport?: boolean;
  59284. /**
  59285. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
  59286. * When plotting discrete values, a little random noise may help telling the
  59287. * points apart. The jitter setting applies a random displacement of up to
  59288. * `n` axis units in either direction. So for example on a horizontal X
  59289. * axis, setting the `jitter.x` to 0.24 will render the point in a random
  59290. * position between 0.24 units to the left and 0.24 units to the right of
  59291. * the true axis position. On a category axis, setting it to 0.5 will fill
  59292. * up the bin and make the data appear continuous.
  59293. *
  59294. * When rendered on top of a box plot or a column series, a jitter value of
  59295. * 0.24 will correspond to the underlying series' default groupPadding and
  59296. * pointPadding settings.
  59297. */
  59298. jitter?: PlotMappointJitterOptions;
  59299. /**
  59300. * (Highmaps) What property to join the `mapData` to the value data. For
  59301. * example, if joinBy is "code", the mapData items with a specific code is
  59302. * merged into the data with the same code. For maps loaded from GeoJSON,
  59303. * the keys may be held in each point's `properties` object.
  59304. *
  59305. * The joinBy option can also be an array of two values, where the first
  59306. * points to a key in the `mapData`, and the second points to another key in
  59307. * the `data`.
  59308. *
  59309. * When joinBy is `null`, the map items are joined by their position in the
  59310. * array, which performs much better in maps with many data points. This is
  59311. * the recommended option if you are printing more than a thousand data
  59312. * points and have a backend that can preprocess the data into a parallel
  59313. * array of the mapData.
  59314. */
  59315. joinBy?: (string|Array<string>);
  59316. /**
  59317. * (Highmaps) An array specifying which option maps to which key in the data
  59318. * point array. This makes it convenient to work with unstructured data
  59319. * arrays from different sources.
  59320. */
  59321. keys?: Array<string>;
  59322. /**
  59323. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  59324. * series as possible in a natural way, seeking to avoid other series. The
  59325. * goal of this feature is to make the chart more easily readable, like if a
  59326. * human designer placed the labels in the optimal position.
  59327. *
  59328. * The series labels currently work with series types having a `graph` or an
  59329. * `area`.
  59330. */
  59331. label?: SeriesLabelOptionsObject;
  59332. /**
  59333. * (Highstock) The line marks the last price from all points.
  59334. */
  59335. lastPrice?: SeriesLastPriceOptionsObject;
  59336. /**
  59337. * (Highstock) The line marks the last price from visible range of points.
  59338. */
  59339. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  59340. /**
  59341. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  59342. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  59343. * the ends and bends.
  59344. */
  59345. linecap?: SeriesLinecapValue;
  59346. /**
  59347. * (Highcharts, Highstock) The width of the line connecting the data points.
  59348. */
  59349. lineWidth?: number;
  59350. /**
  59351. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  59352. * Additionally, the value can be ":previous" to link to the previous
  59353. * series. When two series are linked, only the first one appears in the
  59354. * legend. Toggling the visibility of this also toggles the linked series.
  59355. *
  59356. * If master series uses data sorting and linked series does not have its
  59357. * own sorting definition, the linked series will be sorted in the same
  59358. * order as the master one.
  59359. */
  59360. linkedTo?: string;
  59361. /**
  59362. * (Highmaps) Options for the point markers of line-like series. Properties
  59363. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  59364. * appearance of the markers. Other series types, like column series, don't
  59365. * have markers, but have visual options on the series level instead.
  59366. *
  59367. * In styled mode, the markers can be styled with the `.highcharts-point`,
  59368. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  59369. */
  59370. marker?: PointMarkerOptionsObject;
  59371. /**
  59372. * (Highstock) Options for the corresponding navigator series if
  59373. * `showInNavigator` is `true` for this series. Available options are the
  59374. * same as any series, documented at plotOptions and series.
  59375. *
  59376. * These options are merged with options in navigator.series, and will take
  59377. * precedence if the same option is defined both places.
  59378. */
  59379. navigatorOptions?: PlotSeriesOptions;
  59380. /**
  59381. * (Highmaps) The color for the parts of the graph or points that are below
  59382. * the threshold. Note that `zones` takes precedence over the negative
  59383. * color. Using `negativeColor` is equivalent to applying a zone with value
  59384. * of 0.
  59385. */
  59386. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  59387. /**
  59388. * (Highmaps) Opacity of a series parts: line, fill (e.g. area) and
  59389. * dataLabels.
  59390. */
  59391. opacity?: number;
  59392. /**
  59393. * (Highmaps) Properties for each single point.
  59394. */
  59395. point?: PlotSeriesPointOptions;
  59396. /**
  59397. * (Highmaps) Same as accessibility.pointDescriptionFormatter, but for an
  59398. * individual series. Overrides the chart wide configuration.
  59399. */
  59400. pointDescriptionFormatter?: Function;
  59401. /**
  59402. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  59403. * a series, `pointInterval` defines the interval of the x values. For
  59404. * example, if a series contains one value every decade starting from year
  59405. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  59406. * `pointInterval` is set in milliseconds.
  59407. *
  59408. * It can be also be combined with `pointIntervalUnit` to draw irregular
  59409. * time intervals.
  59410. *
  59411. * Please note that this options applies to the _series data_, not the
  59412. * interval of the axis ticks, which is independent.
  59413. */
  59414. pointInterval?: number;
  59415. /**
  59416. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  59417. * setting the pointInterval to irregular time units, `day`, `month` and
  59418. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  59419. * also takes the DST crossover into consideration when dealing with local
  59420. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  59421. * months, 10 years etc.
  59422. *
  59423. * Please note that this options applies to the _series data_, not the
  59424. * interval of the axis ticks, which is independent.
  59425. */
  59426. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  59427. /**
  59428. * (Highstock) The width of each point on the x axis. For example in a
  59429. * column chart with one value each day, the pointRange would be 1 day (= 24
  59430. * * 3600
  59431. *
  59432. * * 1000 milliseconds). This is normally computed automatically, but this
  59433. * option can be used to override the automatic value.
  59434. */
  59435. pointRange?: number;
  59436. /**
  59437. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  59438. * a series, pointStart defines on what value to start. For example, if a
  59439. * series contains one yearly value starting from 1945, set pointStart to
  59440. * 1945.
  59441. */
  59442. pointStart?: number;
  59443. /**
  59444. * (Highmaps) Whether to select the series initially. If `showCheckbox` is
  59445. * true, the checkbox next to the series name in the legend will be checked
  59446. * for a selected series.
  59447. */
  59448. selected?: boolean;
  59449. /**
  59450. * (Highmaps) If true, a checkbox is displayed next to the legend item to
  59451. * allow selecting the series. The state of the checkbox is determined by
  59452. * the `selected` option.
  59453. */
  59454. showCheckbox?: boolean;
  59455. /**
  59456. * (Highmaps) Whether to display this particular series or series type in
  59457. * the legend. Standalone series are shown in legend by default, and linked
  59458. * series are not. Since v7.2.0 it is possible to show series that use
  59459. * colorAxis by setting this option to `true`.
  59460. */
  59461. showInLegend?: boolean;
  59462. /**
  59463. * (Highstock) Whether or not to show the series in the navigator. Takes
  59464. * precedence over navigator.baseSeries if defined.
  59465. */
  59466. showInNavigator?: boolean;
  59467. /**
  59468. * (Highmaps) If set to `true`, the accessibility module will skip past the
  59469. * points in this series for keyboard navigation.
  59470. */
  59471. skipKeyboardNavigation?: boolean;
  59472. /**
  59473. * (Highcharts, Highstock) When this is true, the series will not cause the
  59474. * Y axis to cross the zero plane (or threshold option) unless the data
  59475. * actually crosses the plane.
  59476. *
  59477. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  59478. * make the Y axis show negative values according to the `minPadding`
  59479. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  59480. */
  59481. softThreshold?: boolean;
  59482. /**
  59483. * (Highcharts, Highstock) Whether to stack the values of each series on top
  59484. * of each other. Possible values are `undefined` to disable, `"normal"` to
  59485. * stack by value or `"percent"`.
  59486. *
  59487. * When stacking is enabled, data must be sorted in ascending X order.
  59488. *
  59489. * Some stacking options are related to specific series types. In the
  59490. * streamgraph series type, the stacking option is set to `"stream"`. The
  59491. * second one is `"overlap"`, which only applies to waterfall series.
  59492. */
  59493. stacking?: OptionsStackingValue;
  59494. states?: SeriesStatesOptionsObject;
  59495. /**
  59496. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  59497. * values are `left`, `center` and `right`.
  59498. */
  59499. step?: OptionsStepValue;
  59500. /**
  59501. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  59502. * `mouseOut` event on a series isn't triggered until the mouse moves over
  59503. * another series, or out of the plot area. When false, the `mouseOut` event
  59504. * on a series is triggered when the mouse leaves the area around the
  59505. * series' graph or markers. This also implies the tooltip. When
  59506. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  59507. * be hidden when moving the mouse between series.
  59508. */
  59509. stickyTracking?: boolean;
  59510. /**
  59511. * (Highcharts, Highstock) The threshold, also called zero level or base
  59512. * level. For line type series this is only used in conjunction with
  59513. * negativeColor.
  59514. */
  59515. threshold?: number;
  59516. /**
  59517. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  59518. * of each single series. Properties are inherited from tooltip. Overridable
  59519. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  59520. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  59521. * series.name by default shows in the headerFormat and point.x and point.y
  59522. * in the pointFormat.
  59523. */
  59524. tooltip?: SeriesTooltipOptionsObject;
  59525. /**
  59526. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  59527. * is longer than this, only one dimensional arrays of numbers, or two
  59528. * dimensional arrays with x and y values are allowed. Also, only the first
  59529. * point is tested, and the rest are assumed to be the same format. This
  59530. * saves expensive data checking and indexing in long series. Set it to `0`
  59531. * disable.
  59532. *
  59533. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  59534. * two dimensional arrays are allowed.
  59535. */
  59536. turboThreshold?: number;
  59537. /**
  59538. * (Highmaps) Set the initial visibility of the series.
  59539. */
  59540. visible?: boolean;
  59541. /**
  59542. * (Highmaps) Define the z index of the series.
  59543. */
  59544. zIndex?: number;
  59545. /**
  59546. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  59547. */
  59548. zoneAxis?: string;
  59549. /**
  59550. * (Highcharts, Highstock) An array defining zones within a series. Zones
  59551. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  59552. * the `zoneAxis` option. The zone definitions have to be in ascending order
  59553. * regarding to the value.
  59554. *
  59555. * In styled mode, the color zones are styled with the
  59556. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  59557. * option (view live demo).
  59558. */
  59559. zones?: Array<SeriesZonesOptionsObject>;
  59560. }
  59561. /**
  59562. * (Highstock) Enable or disable the initial animation when a series is
  59563. * displayed. The animation can also be set as a configuration object. Please
  59564. * note that this option only applies to the initial animation of the series
  59565. * itself. For other animations, see chart.animation and the animation parameter
  59566. * under the API methods. The following properties are supported:
  59567. *
  59568. * - `defer`: The animation delay time in milliseconds.
  59569. *
  59570. * - `duration`: The duration of the animation in milliseconds.
  59571. *
  59572. * - `easing`: Can be a string reference to an easing function set on the `Math`
  59573. * object or a function. See the _Custom easing function_ demo below.
  59574. *
  59575. * Due to poor performance, animation is disabled in old IE browsers for several
  59576. * chart types.
  59577. */
  59578. export interface PlotMfiAnimationOptions {
  59579. defer?: number;
  59580. }
  59581. /**
  59582. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  59583. * animation when a series is displayed for the `dataLabels`. The animation can
  59584. * also be set as a configuration object. Please note that this option only
  59585. * applies to the initial animation. For other animations, see chart.animation
  59586. * and the animation parameter under the API methods. The following properties
  59587. * are supported:
  59588. *
  59589. * - `defer`: The animation delay time in milliseconds.
  59590. */
  59591. export interface PlotMfiDataLabelsAnimationOptions {
  59592. /**
  59593. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  59594. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  59595. * inherits defer time from the series.animation.defer.
  59596. */
  59597. defer?: number;
  59598. }
  59599. /**
  59600. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  59601. * appearing next to each data point.
  59602. *
  59603. * Since v6.2.0, multiple data labels can be applied to each single point by
  59604. * defining them as an array of configs.
  59605. *
  59606. * In styled mode, the data labels can be styled with the
  59607. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  59608. * example).
  59609. */
  59610. export interface PlotMfiDataLabelsOptions {
  59611. /**
  59612. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  59613. * compared to the point. If `right`, the right side of the label should be
  59614. * touching the point. For points with an extent, like columns, the
  59615. * alignments also dictates how to align it inside the box, as given with
  59616. * the inside option. Can be one of `left`, `center` or `right`.
  59617. */
  59618. align?: (AlignValue|null);
  59619. /**
  59620. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  59621. * overlap. To make the labels less sensitive for overlapping, the
  59622. * dataLabels.padding can be set to 0.
  59623. */
  59624. allowOverlap?: boolean;
  59625. /**
  59626. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  59627. * animation when a series is displayed for the `dataLabels`. The animation
  59628. * can also be set as a configuration object. Please note that this option
  59629. * only applies to the initial animation. For other animations, see
  59630. * chart.animation and the animation parameter under the API methods. The
  59631. * following properties are supported:
  59632. *
  59633. * - `defer`: The animation delay time in milliseconds.
  59634. */
  59635. animation?: (boolean|PlotMfiDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  59636. /**
  59637. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  59638. * for the data label.
  59639. */
  59640. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  59641. /**
  59642. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  59643. * label. Defaults to `undefined`.
  59644. */
  59645. borderColor?: (ColorString|GradientColorObject|PatternObject);
  59646. /**
  59647. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  59648. * the data label.
  59649. */
  59650. borderRadius?: number;
  59651. /**
  59652. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  59653. * the data label.
  59654. */
  59655. borderWidth?: number;
  59656. /**
  59657. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  59658. * Particularly in styled mode, this can be used to give each series' or
  59659. * point's data label unique styling. In addition to this option, a default
  59660. * color class name is added so that we can give the labels a contrast text
  59661. * shadow.
  59662. */
  59663. className?: string;
  59664. /**
  59665. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  59666. * labels. Defaults to `undefined`. For certain series types, like column or
  59667. * map, the data labels can be drawn inside the points. In this case the
  59668. * data label will be drawn with maximum contrast by default. Additionally,
  59669. * it will be given a `text-outline` style with the opposite color, to
  59670. * further increase the contrast. This can be overridden by setting the
  59671. * `text-outline` style to `none` in the `dataLabels.style` option.
  59672. */
  59673. color?: (ColorString|GradientColorObject|PatternObject);
  59674. /**
  59675. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  59676. * are outside the plot area. By default, the data label is moved inside the
  59677. * plot area according to the overflow option.
  59678. */
  59679. crop?: boolean;
  59680. /**
  59681. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  59682. * labels until the initial series animation has finished. Setting to
  59683. * `false` renders the data label immediately. If set to `true` inherits the
  59684. * defer time set in plotOptions.series.animation.
  59685. */
  59686. defer?: boolean;
  59687. /**
  59688. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  59689. * labels.
  59690. */
  59691. enabled?: boolean;
  59692. /**
  59693. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  59694. * of which data labels to display. The declarative filter is designed for
  59695. * use when callback functions are not available, like when the chart
  59696. * options require a pure JSON structure or for use with graphical editors.
  59697. * For programmatic control, use the `formatter` instead, and return
  59698. * `undefined` to disable a single data label.
  59699. */
  59700. filter?: DataLabelsFilterOptionsObject;
  59701. /**
  59702. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  59703. * label. Available variables are the same as for `formatter`.
  59704. */
  59705. format?: string;
  59706. /**
  59707. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  59708. * format the data label. Note that if a `format` is defined, the format
  59709. * takes precedence and the formatter is ignored.
  59710. */
  59711. formatter?: DataLabelsFormatterCallbackFunction;
  59712. /**
  59713. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  59714. * columns or map areas, whether to align the data label inside the box or
  59715. * to the actual value point. Defaults to `false` in most cases, `true` in
  59716. * stacked columns.
  59717. */
  59718. inside?: boolean;
  59719. /**
  59720. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  59721. * of null. Works analogously to format. `nullFormat` can be applied only to
  59722. * series which support displaying null points.
  59723. */
  59724. nullFormat?: (boolean|string);
  59725. /**
  59726. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  59727. * that defines formatting for points with the value of null. Works
  59728. * analogously to formatter. `nullPointFormatter` can be applied only to
  59729. * series which support displaying null points.
  59730. */
  59731. nullFormatter?: DataLabelsFormatterCallbackFunction;
  59732. /**
  59733. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  59734. * flow outside the plot area. The default is `"justify"`, which aligns them
  59735. * inside the plot area. For columns and bars, this means it will be moved
  59736. * inside the bar. To display data labels outside the plot area, set `crop`
  59737. * to `false` and `overflow` to `"allow"`.
  59738. */
  59739. overflow?: DataLabelsOverflowValue;
  59740. /**
  59741. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  59742. * the `backgroundColor` is set, this is the padding within the box.
  59743. */
  59744. padding?: number;
  59745. /**
  59746. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  59747. * points. If `center` alignment is not possible, it defaults to `right`.
  59748. */
  59749. position?: AlignValue;
  59750. /**
  59751. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  59752. * that due to a more complex structure, backgrounds, borders and padding
  59753. * will be lost on a rotated data label.
  59754. */
  59755. rotation?: number;
  59756. /**
  59757. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  59758. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  59759. * an object configuration containing `color`, `offsetX`, `offsetY`,
  59760. * `opacity` and `width`.
  59761. */
  59762. shadow?: (boolean|ShadowOptionsObject);
  59763. /**
  59764. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  59765. * the border around the label. Symbols are predefined functions on the
  59766. * Renderer object.
  59767. */
  59768. shape?: string;
  59769. /**
  59770. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  59771. * default `color` setting is `"contrast"`, which is a pseudo color that
  59772. * Highcharts picks up and applies the maximum contrast to the underlying
  59773. * point item, for example the bar in a bar chart.
  59774. *
  59775. * The `textOutline` is a pseudo property that applies an outline of the
  59776. * given width with the given color, which by default is the maximum
  59777. * contrast to the text. So a bright text color will result in a black text
  59778. * outline for maximum readability on a mixed background. In some cases,
  59779. * especially with grayscale text, the text outline doesn't work well, in
  59780. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  59781. * is true, the `textOutline` will not be picked up. In this, case, the same
  59782. * effect can be acheived through the `text-shadow` CSS property.
  59783. *
  59784. * For some series types, where each point has an extent, like for example
  59785. * tree maps, the data label may overflow the point. There are two
  59786. * strategies for handling overflow. By default, the text will wrap to
  59787. * multiple lines. The other strategy is to set `style.textOverflow` to
  59788. * `ellipsis`, which will keep the text on one line plus it will break
  59789. * inside long words.
  59790. */
  59791. style?: CSSObject;
  59792. /**
  59793. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  59794. * should follow marker's shape. Border and background are disabled for a
  59795. * label that follows a path.
  59796. *
  59797. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  59798. * to true will disable this option.
  59799. */
  59800. textPath?: DataLabelsTextPathOptionsObject;
  59801. /**
  59802. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  59803. * the labels.
  59804. */
  59805. useHTML?: boolean;
  59806. /**
  59807. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  59808. * label. Can be one of `top`, `middle` or `bottom`. The default value
  59809. * depends on the data, for instance in a column chart, the label is above
  59810. * positive values and below negative values.
  59811. */
  59812. verticalAlign?: (VerticalAlignValue|null);
  59813. /**
  59814. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  59815. * label relative to the point in pixels.
  59816. */
  59817. x?: number;
  59818. /**
  59819. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  59820. * label relative to the point in pixels.
  59821. */
  59822. y?: number;
  59823. /**
  59824. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  59825. * The default Z index puts it above the series. Use a Z index of 2 to
  59826. * display it behind the series.
  59827. */
  59828. z?: number;
  59829. }
  59830. /**
  59831. * (Highcharts, Highstock) Options for the series data sorting.
  59832. */
  59833. export interface PlotMfiDataSortingOptions {
  59834. /**
  59835. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  59836. * Use xAxis.reversed to change the sorting order.
  59837. */
  59838. enabled?: boolean;
  59839. /**
  59840. * (Highcharts, Highstock) Whether to allow matching points by name in an
  59841. * update. If this option is disabled, points will be matched by order.
  59842. */
  59843. matchByName?: boolean;
  59844. /**
  59845. * (Highcharts, Highstock) Determines what data value should be used to sort
  59846. * by.
  59847. */
  59848. sortKey?: string;
  59849. }
  59850. /**
  59851. * (Highstock) Money Flow Index. This series requires `linkedTo` option to be
  59852. * set and should be loaded after the `stock/indicators/indicators.js` file.
  59853. *
  59854. * In TypeScript the type option must always be set.
  59855. *
  59856. * Configuration options for the series are given in three levels:
  59857. *
  59858. * 1. Options for all series in a chart are defined in the plotOptions.series
  59859. * object.
  59860. *
  59861. * 2. Options for all `mfi` series are defined in plotOptions.mfi.
  59862. *
  59863. * 3. Options for one single series are given in the series instance array. (see
  59864. * online documentation for example)
  59865. */
  59866. export interface PlotMfiOptions {
  59867. /**
  59868. * (Highstock) Accessibility options for a series.
  59869. */
  59870. accessibility?: SeriesAccessibilityOptionsObject;
  59871. /**
  59872. * (Highstock) Allow this series' points to be selected by clicking on the
  59873. * graphic (columns, point markers, pie slices, map areas etc).
  59874. *
  59875. * The selected points can be handled by point select and unselect events,
  59876. * or collectively by the getSelectedPoints function.
  59877. *
  59878. * And alternative way of selecting points is through dragging.
  59879. */
  59880. allowPointSelect?: boolean;
  59881. /**
  59882. * (Highstock) Enable or disable the initial animation when a series is
  59883. * displayed. The animation can also be set as a configuration object.
  59884. * Please note that this option only applies to the initial animation of the
  59885. * series itself. For other animations, see chart.animation and the
  59886. * animation parameter under the API methods. The following properties are
  59887. * supported:
  59888. *
  59889. * - `defer`: The animation delay time in milliseconds.
  59890. *
  59891. * - `duration`: The duration of the animation in milliseconds.
  59892. *
  59893. * - `easing`: Can be a string reference to an easing function set on the
  59894. * `Math` object or a function. See the _Custom easing function_ demo below.
  59895. *
  59896. * Due to poor performance, animation is disabled in old IE browsers for
  59897. * several chart types.
  59898. */
  59899. animation?: (boolean|PlotMfiAnimationOptions|Partial<AnimationOptionsObject>);
  59900. /**
  59901. * (Highstock) For some series, there is a limit that shuts down initial
  59902. * animation by default when the total number of points in the chart is too
  59903. * high. For example, for a column chart and its derivatives, animation does
  59904. * not run if there is more than 250 points totally. To disable this cap,
  59905. * set `animationLimit` to `Infinity`.
  59906. */
  59907. animationLimit?: number;
  59908. /**
  59909. * (Highstock) Sets the color blending in the boost module.
  59910. */
  59911. boostBlending?: OptionsBoostBlendingValue;
  59912. /**
  59913. * (Highstock) Set the point threshold for when a series should enter boost
  59914. * mode.
  59915. *
  59916. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  59917. * there are 2000 or more points in the series.
  59918. *
  59919. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  59920. * it to 1 will force boosting.
  59921. *
  59922. * Note that the cropThreshold also affects this setting. When zooming in on
  59923. * a series that has fewer points than the `cropThreshold`, all points are
  59924. * rendered although outside the visible plot area, and the `boostThreshold`
  59925. * won't take effect.
  59926. */
  59927. boostThreshold?: number;
  59928. /**
  59929. * (Highmaps) The border color of the map areas.
  59930. *
  59931. * In styled mode, the border stroke is given in the `.highcharts-point`
  59932. * class.
  59933. */
  59934. borderColor?: (ColorString|GradientColorObject|PatternObject);
  59935. /**
  59936. * (Highmaps) The border width of each map area.
  59937. *
  59938. * In styled mode, the border stroke width is given in the
  59939. * `.highcharts-point` class.
  59940. */
  59941. borderWidth?: number;
  59942. /**
  59943. * (Highstock) An additional class name to apply to the series' graphical
  59944. * elements. This option does not replace default class names of the
  59945. * graphical element.
  59946. */
  59947. className?: string;
  59948. /**
  59949. * (Highstock) Disable this option to allow series rendering in the whole
  59950. * plotting area.
  59951. *
  59952. * **Note:** Clipping should be always enabled when chart.zoomType is set
  59953. */
  59954. clip?: boolean;
  59955. /**
  59956. * (Highstock) The main color of the series. In line type series it applies
  59957. * to the line and the point markers unless otherwise specified. In bar type
  59958. * series it applies to the bars unless a color is specified per point. The
  59959. * default value is pulled from the `options.colors` array.
  59960. *
  59961. * In styled mode, the color can be defined by the colorIndex option. Also,
  59962. * the series color can be set with the `.highcharts-series`,
  59963. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  59964. * `.highcharts-series-{n}` class, or individual classes given by the
  59965. * `className` option.
  59966. */
  59967. color?: (ColorString|GradientColorObject|PatternObject);
  59968. /**
  59969. * (Highstock) Styled mode only. A specific color index to use for the
  59970. * series, so its graphic representations are given the class name
  59971. * `highcharts-color-{n}`.
  59972. */
  59973. colorIndex?: number;
  59974. /**
  59975. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  59976. * used to calculate point color if `colorAxis` is used. Requires to set
  59977. * `min` and `max` if some custom point property is used or if approximation
  59978. * for data grouping is set to `'sum'`.
  59979. */
  59980. colorKey?: string;
  59981. /**
  59982. * (Highstock) Compare the values of the series against the first non-null,
  59983. * non- zero value in the visible range. The y axis will show percentage or
  59984. * absolute change depending on whether `compare` is set to `"percent"` or
  59985. * `"value"`. When this is applied to multiple series, it allows comparing
  59986. * the development of the series against each other. Adds a `change` field
  59987. * to every point object.
  59988. */
  59989. compare?: string;
  59990. /**
  59991. * (Highstock) When compare is `percent`, this option dictates whether to
  59992. * use 0 or 100 as the base of comparison.
  59993. */
  59994. compareBase?: (0|100);
  59995. /**
  59996. * (Highstock) Defines if comparison should start from the first point
  59997. * within the visible range or should start from the first point **before**
  59998. * the range.
  59999. *
  60000. * In other words, this flag determines if first point within the visible
  60001. * range will have 0% (`compareStart=true`) or should have been already
  60002. * calculated according to the previous point (`compareStart=false`).
  60003. */
  60004. compareStart?: boolean;
  60005. /**
  60006. * (Highstock) Whether to compare indicator to the main series values or
  60007. * indicator values.
  60008. */
  60009. compareToMain?: boolean;
  60010. /**
  60011. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  60012. * series plot across the extremes.
  60013. */
  60014. connectEnds?: boolean;
  60015. /**
  60016. * (Highcharts, Highstock) Whether to connect a graph line across null
  60017. * points, or render a gap between the two points on either side of the
  60018. * null.
  60019. */
  60020. connectNulls?: boolean;
  60021. /**
  60022. * (Gantt) Override Pathfinder connector options for a series. Requires
  60023. * Highcharts Gantt to be loaded.
  60024. */
  60025. connectors?: SeriesConnectorsOptionsObject;
  60026. /**
  60027. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  60028. * rounded to its nearest pixel in order to render sharp on screen. In some
  60029. * cases, when there are a lot of densely packed columns, this leads to
  60030. * visible difference in column widths or distance between columns. In these
  60031. * cases, setting `crisp` to `false` may look better, even though each
  60032. * column is rendered blurry.
  60033. */
  60034. crisp?: boolean;
  60035. /**
  60036. * (Highcharts, Highstock) When the series contains less points than the
  60037. * crop threshold, all points are drawn, even if the points fall outside the
  60038. * visible plot area at the current zoom. The advantage of drawing all
  60039. * points (including markers and columns), is that animation is performed on
  60040. * updates. On the other hand, when the series contains more points than the
  60041. * crop threshold, the series data is cropped to only contain points that
  60042. * fall within the plot area. The advantage of cropping away invisible
  60043. * points is to increase performance on large series.
  60044. */
  60045. cropThreshold?: number;
  60046. /**
  60047. * (Highstock) You can set the cursor to "pointer" if you have click events
  60048. * attached to the series, to signal to the user that the points and lines
  60049. * can be clicked.
  60050. *
  60051. * In styled mode, the series cursor can be set with the same classes as
  60052. * listed under series.color.
  60053. */
  60054. cursor?: (string|CursorValue);
  60055. /**
  60056. * (Highstock) A reserved subspace to store options and values for
  60057. * customized functionality. Here you can add additional data for your own
  60058. * event callbacks and formatter callbacks.
  60059. */
  60060. custom?: Dictionary<any>;
  60061. /**
  60062. * (Highstock) Name of the dash style to use for the graph, or for some
  60063. * series types the outline of each shape.
  60064. *
  60065. * In styled mode, the stroke dash-array can be set with the same classes as
  60066. * listed under series.color.
  60067. */
  60068. dashStyle?: DashStyleValue;
  60069. /**
  60070. * (Highstock) Data grouping is the concept of sampling the data values into
  60071. * larger blocks in order to ease readability and increase performance of
  60072. * the JavaScript charts. Highstock by default applies data grouping when
  60073. * the points become closer than a certain pixel value, determined by the
  60074. * `groupPixelWidth` option.
  60075. *
  60076. * If data grouping is applied, the grouping information of grouped points
  60077. * can be read from the Point.dataGroup. If point options other than the
  60078. * data itself are set, for example `name` or `color` or custom properties,
  60079. * the grouping logic doesn't know how to group it. In this case the options
  60080. * of the first point instance are copied over to the group point. This can
  60081. * be altered through a custom `approximation` callback function.
  60082. */
  60083. dataGrouping?: DataGroupingOptionsObject;
  60084. /**
  60085. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  60086. * labels, appearing next to each data point.
  60087. *
  60088. * Since v6.2.0, multiple data labels can be applied to each single point by
  60089. * defining them as an array of configs.
  60090. *
  60091. * In styled mode, the data labels can be styled with the
  60092. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  60093. * (see example).
  60094. */
  60095. dataLabels?: (PlotMfiDataLabelsOptions|Array<PlotMfiDataLabelsOptions>);
  60096. /**
  60097. * (Highcharts, Highstock) Options for the series data sorting.
  60098. */
  60099. dataSorting?: (DataSortingOptionsObject|PlotMfiDataSortingOptions);
  60100. /**
  60101. * (Highstock) A description of the series to add to the screen reader
  60102. * information about the series.
  60103. */
  60104. description?: string;
  60105. /**
  60106. * (Highstock) Enable or disable the mouse tracking for a specific series.
  60107. * This includes point tooltips and click events on graphs and points. For
  60108. * large datasets it improves performance.
  60109. */
  60110. enableMouseTracking?: boolean;
  60111. /**
  60112. * (Highstock) General event handlers for the series items. These event
  60113. * hooks can also be attached to the series at run time using the
  60114. * `Highcharts.addEvent` function.
  60115. */
  60116. events?: SeriesEventsOptionsObject;
  60117. /**
  60118. * (Highstock) Determines whether the series should look for the nearest
  60119. * point in both dimensions or just the x-dimension when hovering the
  60120. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  60121. * series. If the data has duplicate x-values, it is recommended to set this
  60122. * to `'xy'` to allow hovering over all points.
  60123. *
  60124. * Applies only to series types using nearest neighbor search (not direct
  60125. * hover) for tooltip.
  60126. */
  60127. findNearestPointBy?: OptionsFindNearestPointByValue;
  60128. /**
  60129. * (Highstock) Defines when to display a gap in the graph, together with the
  60130. * gapUnit option.
  60131. *
  60132. * In case when `dataGrouping` is enabled, points can be grouped into a
  60133. * larger time span. This can make the grouped points to have a greater
  60134. * distance than the absolute value of `gapSize` property, which will result
  60135. * in disappearing graph completely. To prevent this situation the mentioned
  60136. * distance between grouped points is used instead of previously defined
  60137. * `gapSize`.
  60138. *
  60139. * In practice, this option is most often used to visualize gaps in time
  60140. * series. In a stock chart, intraday data is available for daytime hours,
  60141. * while gaps will appear in nights and weekends.
  60142. */
  60143. gapSize?: number;
  60144. /**
  60145. * (Highstock) Together with gapSize, this option defines where to draw gaps
  60146. * in the graph.
  60147. *
  60148. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  60149. * if the distance between two points is greater than 5 times that of the
  60150. * two closest points, the graph will be broken.
  60151. *
  60152. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  60153. * values, which on a datetime axis is milliseconds. This also applies to
  60154. * the navigator series that inherits gap options from the base series.
  60155. */
  60156. gapUnit?: OptionsGapUnitValue;
  60157. /**
  60158. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  60159. * chart width or only the zoomed area when zooming in on parts of the X
  60160. * axis. By default, the Y axis adjusts to the min and max of the visible
  60161. * data. Cartesian series only.
  60162. */
  60163. getExtremesFromAll?: boolean;
  60164. /**
  60165. * (Highstock) When set to `false` will prevent the series data from being
  60166. * included in any form of data export.
  60167. *
  60168. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  60169. * `includeInCSVExport`.
  60170. */
  60171. includeInDataExport?: boolean;
  60172. /**
  60173. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  60174. * series as possible in a natural way, seeking to avoid other series. The
  60175. * goal of this feature is to make the chart more easily readable, like if a
  60176. * human designer placed the labels in the optimal position.
  60177. *
  60178. * The series labels currently work with series types having a `graph` or an
  60179. * `area`.
  60180. */
  60181. label?: SeriesLabelOptionsObject;
  60182. /**
  60183. * (Highstock) The line marks the last price from all points.
  60184. */
  60185. lastPrice?: SeriesLastPriceOptionsObject;
  60186. /**
  60187. * (Highstock) The line marks the last price from visible range of points.
  60188. */
  60189. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  60190. /**
  60191. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  60192. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  60193. * the ends and bends.
  60194. */
  60195. linecap?: SeriesLinecapValue;
  60196. /**
  60197. * (Highcharts, Highstock) Pixel width of the graph line.
  60198. */
  60199. lineWidth?: number;
  60200. /**
  60201. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  60202. * based on. Required for this indicator.
  60203. */
  60204. linkedTo?: string;
  60205. /**
  60206. * (Highstock) Options for the point markers of line-like series. Properties
  60207. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  60208. * appearance of the markers. Other series types, like column series, don't
  60209. * have markers, but have visual options on the series level instead.
  60210. *
  60211. * In styled mode, the markers can be styled with the `.highcharts-point`,
  60212. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  60213. */
  60214. marker?: PointMarkerOptionsObject;
  60215. /**
  60216. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  60217. * If not set, it will be based on a technical indicator type and default
  60218. * params.
  60219. */
  60220. name?: string;
  60221. /**
  60222. * (Highstock) The color for the parts of the graph or points that are below
  60223. * the threshold. Note that `zones` takes precedence over the negative
  60224. * color. Using `negativeColor` is equivalent to applying a zone with value
  60225. * of 0.
  60226. */
  60227. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  60228. /**
  60229. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  60230. * dataLabels.
  60231. */
  60232. opacity?: number;
  60233. /**
  60234. * (Highstock) Paramters used in calculation of regression series' points.
  60235. */
  60236. params?: PlotMfiParamsOptions;
  60237. /**
  60238. * (Highstock) Properties for each single point.
  60239. */
  60240. point?: PlotSeriesPointOptions;
  60241. /**
  60242. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  60243. * individual series. Overrides the chart wide configuration.
  60244. */
  60245. pointDescriptionFormatter?: Function;
  60246. /**
  60247. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  60248. * true, the checkbox next to the series name in the legend will be checked
  60249. * for a selected series.
  60250. */
  60251. selected?: boolean;
  60252. /**
  60253. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  60254. * the shadow can be an object configuration containing `color`, `offsetX`,
  60255. * `offsetY`, `opacity` and `width`.
  60256. */
  60257. shadow?: (boolean|ShadowOptionsObject);
  60258. /**
  60259. * (Highstock) If true, a checkbox is displayed next to the legend item to
  60260. * allow selecting the series. The state of the checkbox is determined by
  60261. * the `selected` option.
  60262. */
  60263. showCheckbox?: boolean;
  60264. /**
  60265. * (Highstock) Whether to display this particular series or series type in
  60266. * the legend. Standalone series are shown in legend by default, and linked
  60267. * series are not. Since v7.2.0 it is possible to show series that use
  60268. * colorAxis by setting this option to `true`.
  60269. */
  60270. showInLegend?: boolean;
  60271. /**
  60272. * (Highstock) If set to `true`, the accessibility module will skip past the
  60273. * points in this series for keyboard navigation.
  60274. */
  60275. skipKeyboardNavigation?: boolean;
  60276. /**
  60277. * (Highcharts, Highstock) When this is true, the series will not cause the
  60278. * Y axis to cross the zero plane (or threshold option) unless the data
  60279. * actually crosses the plane.
  60280. *
  60281. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  60282. * make the Y axis show negative values according to the `minPadding`
  60283. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  60284. */
  60285. softThreshold?: boolean;
  60286. states?: SeriesStatesOptionsObject;
  60287. /**
  60288. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  60289. * values are `left`, `center` and `right`.
  60290. */
  60291. step?: OptionsStepValue;
  60292. /**
  60293. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  60294. * event on a series isn't triggered until the mouse moves over another
  60295. * series, or out of the plot area. When false, the `mouseOut` event on a
  60296. * series is triggered when the mouse leaves the area around the series'
  60297. * graph or markers. This also implies the tooltip when not shared. When
  60298. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  60299. * be hidden when moving the mouse between series. Defaults to true for line
  60300. * and area type series, but to false for columns, pies etc.
  60301. *
  60302. * **Note:** The boost module will force this option because of technical
  60303. * limitations.
  60304. */
  60305. stickyTracking?: boolean;
  60306. /**
  60307. * (Highcharts, Highstock) The threshold, also called zero level or base
  60308. * level. For line type series this is only used in conjunction with
  60309. * negativeColor.
  60310. */
  60311. threshold?: number;
  60312. /**
  60313. * (Highstock) A configuration object for the tooltip rendering of each
  60314. * single series. Properties are inherited from tooltip, but only the
  60315. * following properties can be defined on a series level.
  60316. */
  60317. tooltip?: SeriesTooltipOptionsObject;
  60318. /**
  60319. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  60320. * is longer than this, only one dimensional arrays of numbers, or two
  60321. * dimensional arrays with x and y values are allowed. Also, only the first
  60322. * point is tested, and the rest are assumed to be the same format. This
  60323. * saves expensive data checking and indexing in long series. Set it to `0`
  60324. * disable.
  60325. *
  60326. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  60327. * two dimensional arrays are allowed.
  60328. */
  60329. turboThreshold?: number;
  60330. /**
  60331. * (Highstock) Set the initial visibility of the series.
  60332. */
  60333. visible?: boolean;
  60334. /**
  60335. * (Highmaps) Define the z index of the series.
  60336. */
  60337. zIndex?: number;
  60338. /**
  60339. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  60340. */
  60341. zoneAxis?: string;
  60342. /**
  60343. * (Highcharts, Highstock) An array defining zones within a series. Zones
  60344. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  60345. * the `zoneAxis` option. The zone definitions have to be in ascending order
  60346. * regarding to the value.
  60347. *
  60348. * In styled mode, the color zones are styled with the
  60349. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  60350. * option (view live demo).
  60351. */
  60352. zones?: Array<SeriesZonesOptionsObject>;
  60353. }
  60354. /**
  60355. * (Highstock) Paramters used in calculation of regression series' points.
  60356. */
  60357. export interface PlotMfiParamsOptions {
  60358. /**
  60359. * (Highstock) Number of maximum decimals that are used in MFI calculations.
  60360. */
  60361. decimals?: number;
  60362. /**
  60363. * (Highstock) The base period for indicator calculations. This is the
  60364. * number of data points which are taken into account for the indicator
  60365. * calculations.
  60366. */
  60367. period?: number;
  60368. /**
  60369. * (Highstock) The id of volume series which is mandatory. For example using
  60370. * OHLC data, volumeSeriesID='volume' means the indicator will be calculated
  60371. * using OHLC and volume values.
  60372. */
  60373. volumeSeriesID?: string;
  60374. }
  60375. /**
  60376. * (Highstock) Enable or disable the initial animation when a series is
  60377. * displayed. The animation can also be set as a configuration object. Please
  60378. * note that this option only applies to the initial animation of the series
  60379. * itself. For other animations, see chart.animation and the animation parameter
  60380. * under the API methods. The following properties are supported:
  60381. *
  60382. * - `defer`: The animation delay time in milliseconds.
  60383. *
  60384. * - `duration`: The duration of the animation in milliseconds.
  60385. *
  60386. * - `easing`: Can be a string reference to an easing function set on the `Math`
  60387. * object or a function. See the _Custom easing function_ demo below.
  60388. *
  60389. * Due to poor performance, animation is disabled in old IE browsers for several
  60390. * chart types.
  60391. */
  60392. export interface PlotMomentumAnimationOptions {
  60393. defer?: number;
  60394. }
  60395. /**
  60396. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  60397. * animation when a series is displayed for the `dataLabels`. The animation can
  60398. * also be set as a configuration object. Please note that this option only
  60399. * applies to the initial animation. For other animations, see chart.animation
  60400. * and the animation parameter under the API methods. The following properties
  60401. * are supported:
  60402. *
  60403. * - `defer`: The animation delay time in milliseconds.
  60404. */
  60405. export interface PlotMomentumDataLabelsAnimationOptions {
  60406. /**
  60407. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  60408. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  60409. * inherits defer time from the series.animation.defer.
  60410. */
  60411. defer?: number;
  60412. }
  60413. /**
  60414. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  60415. * appearing next to each data point.
  60416. *
  60417. * Since v6.2.0, multiple data labels can be applied to each single point by
  60418. * defining them as an array of configs.
  60419. *
  60420. * In styled mode, the data labels can be styled with the
  60421. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  60422. * example).
  60423. */
  60424. export interface PlotMomentumDataLabelsOptions {
  60425. /**
  60426. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  60427. * compared to the point. If `right`, the right side of the label should be
  60428. * touching the point. For points with an extent, like columns, the
  60429. * alignments also dictates how to align it inside the box, as given with
  60430. * the inside option. Can be one of `left`, `center` or `right`.
  60431. */
  60432. align?: (AlignValue|null);
  60433. /**
  60434. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  60435. * overlap. To make the labels less sensitive for overlapping, the
  60436. * dataLabels.padding can be set to 0.
  60437. */
  60438. allowOverlap?: boolean;
  60439. /**
  60440. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  60441. * animation when a series is displayed for the `dataLabels`. The animation
  60442. * can also be set as a configuration object. Please note that this option
  60443. * only applies to the initial animation. For other animations, see
  60444. * chart.animation and the animation parameter under the API methods. The
  60445. * following properties are supported:
  60446. *
  60447. * - `defer`: The animation delay time in milliseconds.
  60448. */
  60449. animation?: (boolean|PlotMomentumDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  60450. /**
  60451. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  60452. * for the data label.
  60453. */
  60454. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  60455. /**
  60456. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  60457. * label. Defaults to `undefined`.
  60458. */
  60459. borderColor?: (ColorString|GradientColorObject|PatternObject);
  60460. /**
  60461. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  60462. * the data label.
  60463. */
  60464. borderRadius?: number;
  60465. /**
  60466. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  60467. * the data label.
  60468. */
  60469. borderWidth?: number;
  60470. /**
  60471. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  60472. * Particularly in styled mode, this can be used to give each series' or
  60473. * point's data label unique styling. In addition to this option, a default
  60474. * color class name is added so that we can give the labels a contrast text
  60475. * shadow.
  60476. */
  60477. className?: string;
  60478. /**
  60479. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  60480. * labels. Defaults to `undefined`. For certain series types, like column or
  60481. * map, the data labels can be drawn inside the points. In this case the
  60482. * data label will be drawn with maximum contrast by default. Additionally,
  60483. * it will be given a `text-outline` style with the opposite color, to
  60484. * further increase the contrast. This can be overridden by setting the
  60485. * `text-outline` style to `none` in the `dataLabels.style` option.
  60486. */
  60487. color?: (ColorString|GradientColorObject|PatternObject);
  60488. /**
  60489. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  60490. * are outside the plot area. By default, the data label is moved inside the
  60491. * plot area according to the overflow option.
  60492. */
  60493. crop?: boolean;
  60494. /**
  60495. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  60496. * labels until the initial series animation has finished. Setting to
  60497. * `false` renders the data label immediately. If set to `true` inherits the
  60498. * defer time set in plotOptions.series.animation.
  60499. */
  60500. defer?: boolean;
  60501. /**
  60502. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  60503. * labels.
  60504. */
  60505. enabled?: boolean;
  60506. /**
  60507. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  60508. * of which data labels to display. The declarative filter is designed for
  60509. * use when callback functions are not available, like when the chart
  60510. * options require a pure JSON structure or for use with graphical editors.
  60511. * For programmatic control, use the `formatter` instead, and return
  60512. * `undefined` to disable a single data label.
  60513. */
  60514. filter?: DataLabelsFilterOptionsObject;
  60515. /**
  60516. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  60517. * label. Available variables are the same as for `formatter`.
  60518. */
  60519. format?: string;
  60520. /**
  60521. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  60522. * format the data label. Note that if a `format` is defined, the format
  60523. * takes precedence and the formatter is ignored.
  60524. */
  60525. formatter?: DataLabelsFormatterCallbackFunction;
  60526. /**
  60527. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  60528. * columns or map areas, whether to align the data label inside the box or
  60529. * to the actual value point. Defaults to `false` in most cases, `true` in
  60530. * stacked columns.
  60531. */
  60532. inside?: boolean;
  60533. /**
  60534. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  60535. * of null. Works analogously to format. `nullFormat` can be applied only to
  60536. * series which support displaying null points.
  60537. */
  60538. nullFormat?: (boolean|string);
  60539. /**
  60540. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  60541. * that defines formatting for points with the value of null. Works
  60542. * analogously to formatter. `nullPointFormatter` can be applied only to
  60543. * series which support displaying null points.
  60544. */
  60545. nullFormatter?: DataLabelsFormatterCallbackFunction;
  60546. /**
  60547. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  60548. * flow outside the plot area. The default is `"justify"`, which aligns them
  60549. * inside the plot area. For columns and bars, this means it will be moved
  60550. * inside the bar. To display data labels outside the plot area, set `crop`
  60551. * to `false` and `overflow` to `"allow"`.
  60552. */
  60553. overflow?: DataLabelsOverflowValue;
  60554. /**
  60555. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  60556. * the `backgroundColor` is set, this is the padding within the box.
  60557. */
  60558. padding?: number;
  60559. /**
  60560. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  60561. * points. If `center` alignment is not possible, it defaults to `right`.
  60562. */
  60563. position?: AlignValue;
  60564. /**
  60565. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  60566. * that due to a more complex structure, backgrounds, borders and padding
  60567. * will be lost on a rotated data label.
  60568. */
  60569. rotation?: number;
  60570. /**
  60571. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  60572. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  60573. * an object configuration containing `color`, `offsetX`, `offsetY`,
  60574. * `opacity` and `width`.
  60575. */
  60576. shadow?: (boolean|ShadowOptionsObject);
  60577. /**
  60578. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  60579. * the border around the label. Symbols are predefined functions on the
  60580. * Renderer object.
  60581. */
  60582. shape?: string;
  60583. /**
  60584. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  60585. * default `color` setting is `"contrast"`, which is a pseudo color that
  60586. * Highcharts picks up and applies the maximum contrast to the underlying
  60587. * point item, for example the bar in a bar chart.
  60588. *
  60589. * The `textOutline` is a pseudo property that applies an outline of the
  60590. * given width with the given color, which by default is the maximum
  60591. * contrast to the text. So a bright text color will result in a black text
  60592. * outline for maximum readability on a mixed background. In some cases,
  60593. * especially with grayscale text, the text outline doesn't work well, in
  60594. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  60595. * is true, the `textOutline` will not be picked up. In this, case, the same
  60596. * effect can be acheived through the `text-shadow` CSS property.
  60597. *
  60598. * For some series types, where each point has an extent, like for example
  60599. * tree maps, the data label may overflow the point. There are two
  60600. * strategies for handling overflow. By default, the text will wrap to
  60601. * multiple lines. The other strategy is to set `style.textOverflow` to
  60602. * `ellipsis`, which will keep the text on one line plus it will break
  60603. * inside long words.
  60604. */
  60605. style?: CSSObject;
  60606. /**
  60607. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  60608. * should follow marker's shape. Border and background are disabled for a
  60609. * label that follows a path.
  60610. *
  60611. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  60612. * to true will disable this option.
  60613. */
  60614. textPath?: DataLabelsTextPathOptionsObject;
  60615. /**
  60616. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  60617. * the labels.
  60618. */
  60619. useHTML?: boolean;
  60620. /**
  60621. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  60622. * label. Can be one of `top`, `middle` or `bottom`. The default value
  60623. * depends on the data, for instance in a column chart, the label is above
  60624. * positive values and below negative values.
  60625. */
  60626. verticalAlign?: (VerticalAlignValue|null);
  60627. /**
  60628. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  60629. * label relative to the point in pixels.
  60630. */
  60631. x?: number;
  60632. /**
  60633. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  60634. * label relative to the point in pixels.
  60635. */
  60636. y?: number;
  60637. /**
  60638. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  60639. * The default Z index puts it above the series. Use a Z index of 2 to
  60640. * display it behind the series.
  60641. */
  60642. z?: number;
  60643. }
  60644. /**
  60645. * (Highcharts, Highstock) Options for the series data sorting.
  60646. */
  60647. export interface PlotMomentumDataSortingOptions {
  60648. /**
  60649. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  60650. * Use xAxis.reversed to change the sorting order.
  60651. */
  60652. enabled?: boolean;
  60653. /**
  60654. * (Highcharts, Highstock) Whether to allow matching points by name in an
  60655. * update. If this option is disabled, points will be matched by order.
  60656. */
  60657. matchByName?: boolean;
  60658. /**
  60659. * (Highcharts, Highstock) Determines what data value should be used to sort
  60660. * by.
  60661. */
  60662. sortKey?: string;
  60663. }
  60664. /**
  60665. * (Highstock) Momentum. This series requires `linkedTo` option to be set.
  60666. *
  60667. * In TypeScript the type option must always be set.
  60668. *
  60669. * Configuration options for the series are given in three levels:
  60670. *
  60671. * 1. Options for all series in a chart are defined in the plotOptions.series
  60672. * object.
  60673. *
  60674. * 2. Options for all `momentum` series are defined in plotOptions.momentum.
  60675. *
  60676. * 3. Options for one single series are given in the series instance array. (see
  60677. * online documentation for example)
  60678. */
  60679. export interface PlotMomentumOptions {
  60680. /**
  60681. * (Highstock) Accessibility options for a series.
  60682. */
  60683. accessibility?: SeriesAccessibilityOptionsObject;
  60684. /**
  60685. * (Highstock) Allow this series' points to be selected by clicking on the
  60686. * graphic (columns, point markers, pie slices, map areas etc).
  60687. *
  60688. * The selected points can be handled by point select and unselect events,
  60689. * or collectively by the getSelectedPoints function.
  60690. *
  60691. * And alternative way of selecting points is through dragging.
  60692. */
  60693. allowPointSelect?: boolean;
  60694. /**
  60695. * (Highstock) Enable or disable the initial animation when a series is
  60696. * displayed. The animation can also be set as a configuration object.
  60697. * Please note that this option only applies to the initial animation of the
  60698. * series itself. For other animations, see chart.animation and the
  60699. * animation parameter under the API methods. The following properties are
  60700. * supported:
  60701. *
  60702. * - `defer`: The animation delay time in milliseconds.
  60703. *
  60704. * - `duration`: The duration of the animation in milliseconds.
  60705. *
  60706. * - `easing`: Can be a string reference to an easing function set on the
  60707. * `Math` object or a function. See the _Custom easing function_ demo below.
  60708. *
  60709. * Due to poor performance, animation is disabled in old IE browsers for
  60710. * several chart types.
  60711. */
  60712. animation?: (boolean|PlotMomentumAnimationOptions|Partial<AnimationOptionsObject>);
  60713. /**
  60714. * (Highstock) For some series, there is a limit that shuts down initial
  60715. * animation by default when the total number of points in the chart is too
  60716. * high. For example, for a column chart and its derivatives, animation does
  60717. * not run if there is more than 250 points totally. To disable this cap,
  60718. * set `animationLimit` to `Infinity`.
  60719. */
  60720. animationLimit?: number;
  60721. /**
  60722. * (Highstock) Sets the color blending in the boost module.
  60723. */
  60724. boostBlending?: OptionsBoostBlendingValue;
  60725. /**
  60726. * (Highstock) Set the point threshold for when a series should enter boost
  60727. * mode.
  60728. *
  60729. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  60730. * there are 2000 or more points in the series.
  60731. *
  60732. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  60733. * it to 1 will force boosting.
  60734. *
  60735. * Note that the cropThreshold also affects this setting. When zooming in on
  60736. * a series that has fewer points than the `cropThreshold`, all points are
  60737. * rendered although outside the visible plot area, and the `boostThreshold`
  60738. * won't take effect.
  60739. */
  60740. boostThreshold?: number;
  60741. /**
  60742. * (Highmaps) The border color of the map areas.
  60743. *
  60744. * In styled mode, the border stroke is given in the `.highcharts-point`
  60745. * class.
  60746. */
  60747. borderColor?: (ColorString|GradientColorObject|PatternObject);
  60748. /**
  60749. * (Highmaps) The border width of each map area.
  60750. *
  60751. * In styled mode, the border stroke width is given in the
  60752. * `.highcharts-point` class.
  60753. */
  60754. borderWidth?: number;
  60755. /**
  60756. * (Highstock) An additional class name to apply to the series' graphical
  60757. * elements. This option does not replace default class names of the
  60758. * graphical element.
  60759. */
  60760. className?: string;
  60761. /**
  60762. * (Highstock) Disable this option to allow series rendering in the whole
  60763. * plotting area.
  60764. *
  60765. * **Note:** Clipping should be always enabled when chart.zoomType is set
  60766. */
  60767. clip?: boolean;
  60768. /**
  60769. * (Highstock) The main color of the series. In line type series it applies
  60770. * to the line and the point markers unless otherwise specified. In bar type
  60771. * series it applies to the bars unless a color is specified per point. The
  60772. * default value is pulled from the `options.colors` array.
  60773. *
  60774. * In styled mode, the color can be defined by the colorIndex option. Also,
  60775. * the series color can be set with the `.highcharts-series`,
  60776. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  60777. * `.highcharts-series-{n}` class, or individual classes given by the
  60778. * `className` option.
  60779. */
  60780. color?: (ColorString|GradientColorObject|PatternObject);
  60781. /**
  60782. * (Highstock) Styled mode only. A specific color index to use for the
  60783. * series, so its graphic representations are given the class name
  60784. * `highcharts-color-{n}`.
  60785. */
  60786. colorIndex?: number;
  60787. /**
  60788. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  60789. * used to calculate point color if `colorAxis` is used. Requires to set
  60790. * `min` and `max` if some custom point property is used or if approximation
  60791. * for data grouping is set to `'sum'`.
  60792. */
  60793. colorKey?: string;
  60794. /**
  60795. * (Highstock) Compare the values of the series against the first non-null,
  60796. * non- zero value in the visible range. The y axis will show percentage or
  60797. * absolute change depending on whether `compare` is set to `"percent"` or
  60798. * `"value"`. When this is applied to multiple series, it allows comparing
  60799. * the development of the series against each other. Adds a `change` field
  60800. * to every point object.
  60801. */
  60802. compare?: string;
  60803. /**
  60804. * (Highstock) When compare is `percent`, this option dictates whether to
  60805. * use 0 or 100 as the base of comparison.
  60806. */
  60807. compareBase?: (0|100);
  60808. /**
  60809. * (Highstock) Defines if comparison should start from the first point
  60810. * within the visible range or should start from the first point **before**
  60811. * the range.
  60812. *
  60813. * In other words, this flag determines if first point within the visible
  60814. * range will have 0% (`compareStart=true`) or should have been already
  60815. * calculated according to the previous point (`compareStart=false`).
  60816. */
  60817. compareStart?: boolean;
  60818. /**
  60819. * (Highstock) Whether to compare indicator to the main series values or
  60820. * indicator values.
  60821. */
  60822. compareToMain?: boolean;
  60823. /**
  60824. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  60825. * series plot across the extremes.
  60826. */
  60827. connectEnds?: boolean;
  60828. /**
  60829. * (Highcharts, Highstock) Whether to connect a graph line across null
  60830. * points, or render a gap between the two points on either side of the
  60831. * null.
  60832. */
  60833. connectNulls?: boolean;
  60834. /**
  60835. * (Gantt) Override Pathfinder connector options for a series. Requires
  60836. * Highcharts Gantt to be loaded.
  60837. */
  60838. connectors?: SeriesConnectorsOptionsObject;
  60839. /**
  60840. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  60841. * rounded to its nearest pixel in order to render sharp on screen. In some
  60842. * cases, when there are a lot of densely packed columns, this leads to
  60843. * visible difference in column widths or distance between columns. In these
  60844. * cases, setting `crisp` to `false` may look better, even though each
  60845. * column is rendered blurry.
  60846. */
  60847. crisp?: boolean;
  60848. /**
  60849. * (Highcharts, Highstock) When the series contains less points than the
  60850. * crop threshold, all points are drawn, even if the points fall outside the
  60851. * visible plot area at the current zoom. The advantage of drawing all
  60852. * points (including markers and columns), is that animation is performed on
  60853. * updates. On the other hand, when the series contains more points than the
  60854. * crop threshold, the series data is cropped to only contain points that
  60855. * fall within the plot area. The advantage of cropping away invisible
  60856. * points is to increase performance on large series.
  60857. */
  60858. cropThreshold?: number;
  60859. /**
  60860. * (Highstock) You can set the cursor to "pointer" if you have click events
  60861. * attached to the series, to signal to the user that the points and lines
  60862. * can be clicked.
  60863. *
  60864. * In styled mode, the series cursor can be set with the same classes as
  60865. * listed under series.color.
  60866. */
  60867. cursor?: (string|CursorValue);
  60868. /**
  60869. * (Highstock) A reserved subspace to store options and values for
  60870. * customized functionality. Here you can add additional data for your own
  60871. * event callbacks and formatter callbacks.
  60872. */
  60873. custom?: Dictionary<any>;
  60874. /**
  60875. * (Highstock) Name of the dash style to use for the graph, or for some
  60876. * series types the outline of each shape.
  60877. *
  60878. * In styled mode, the stroke dash-array can be set with the same classes as
  60879. * listed under series.color.
  60880. */
  60881. dashStyle?: DashStyleValue;
  60882. /**
  60883. * (Highstock) Data grouping is the concept of sampling the data values into
  60884. * larger blocks in order to ease readability and increase performance of
  60885. * the JavaScript charts. Highstock by default applies data grouping when
  60886. * the points become closer than a certain pixel value, determined by the
  60887. * `groupPixelWidth` option.
  60888. *
  60889. * If data grouping is applied, the grouping information of grouped points
  60890. * can be read from the Point.dataGroup. If point options other than the
  60891. * data itself are set, for example `name` or `color` or custom properties,
  60892. * the grouping logic doesn't know how to group it. In this case the options
  60893. * of the first point instance are copied over to the group point. This can
  60894. * be altered through a custom `approximation` callback function.
  60895. */
  60896. dataGrouping?: DataGroupingOptionsObject;
  60897. /**
  60898. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  60899. * labels, appearing next to each data point.
  60900. *
  60901. * Since v6.2.0, multiple data labels can be applied to each single point by
  60902. * defining them as an array of configs.
  60903. *
  60904. * In styled mode, the data labels can be styled with the
  60905. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  60906. * (see example).
  60907. */
  60908. dataLabels?: (PlotMomentumDataLabelsOptions|Array<PlotMomentumDataLabelsOptions>);
  60909. /**
  60910. * (Highcharts, Highstock) Options for the series data sorting.
  60911. */
  60912. dataSorting?: (DataSortingOptionsObject|PlotMomentumDataSortingOptions);
  60913. /**
  60914. * (Highstock) A description of the series to add to the screen reader
  60915. * information about the series.
  60916. */
  60917. description?: string;
  60918. /**
  60919. * (Highstock) Enable or disable the mouse tracking for a specific series.
  60920. * This includes point tooltips and click events on graphs and points. For
  60921. * large datasets it improves performance.
  60922. */
  60923. enableMouseTracking?: boolean;
  60924. /**
  60925. * (Highstock) General event handlers for the series items. These event
  60926. * hooks can also be attached to the series at run time using the
  60927. * `Highcharts.addEvent` function.
  60928. */
  60929. events?: SeriesEventsOptionsObject;
  60930. /**
  60931. * (Highstock) Determines whether the series should look for the nearest
  60932. * point in both dimensions or just the x-dimension when hovering the
  60933. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  60934. * series. If the data has duplicate x-values, it is recommended to set this
  60935. * to `'xy'` to allow hovering over all points.
  60936. *
  60937. * Applies only to series types using nearest neighbor search (not direct
  60938. * hover) for tooltip.
  60939. */
  60940. findNearestPointBy?: OptionsFindNearestPointByValue;
  60941. /**
  60942. * (Highstock) Defines when to display a gap in the graph, together with the
  60943. * gapUnit option.
  60944. *
  60945. * In case when `dataGrouping` is enabled, points can be grouped into a
  60946. * larger time span. This can make the grouped points to have a greater
  60947. * distance than the absolute value of `gapSize` property, which will result
  60948. * in disappearing graph completely. To prevent this situation the mentioned
  60949. * distance between grouped points is used instead of previously defined
  60950. * `gapSize`.
  60951. *
  60952. * In practice, this option is most often used to visualize gaps in time
  60953. * series. In a stock chart, intraday data is available for daytime hours,
  60954. * while gaps will appear in nights and weekends.
  60955. */
  60956. gapSize?: number;
  60957. /**
  60958. * (Highstock) Together with gapSize, this option defines where to draw gaps
  60959. * in the graph.
  60960. *
  60961. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  60962. * if the distance between two points is greater than 5 times that of the
  60963. * two closest points, the graph will be broken.
  60964. *
  60965. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  60966. * values, which on a datetime axis is milliseconds. This also applies to
  60967. * the navigator series that inherits gap options from the base series.
  60968. */
  60969. gapUnit?: OptionsGapUnitValue;
  60970. /**
  60971. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  60972. * chart width or only the zoomed area when zooming in on parts of the X
  60973. * axis. By default, the Y axis adjusts to the min and max of the visible
  60974. * data. Cartesian series only.
  60975. */
  60976. getExtremesFromAll?: boolean;
  60977. /**
  60978. * (Highstock) When set to `false` will prevent the series data from being
  60979. * included in any form of data export.
  60980. *
  60981. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  60982. * `includeInCSVExport`.
  60983. */
  60984. includeInDataExport?: boolean;
  60985. /**
  60986. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  60987. * series as possible in a natural way, seeking to avoid other series. The
  60988. * goal of this feature is to make the chart more easily readable, like if a
  60989. * human designer placed the labels in the optimal position.
  60990. *
  60991. * The series labels currently work with series types having a `graph` or an
  60992. * `area`.
  60993. */
  60994. label?: SeriesLabelOptionsObject;
  60995. /**
  60996. * (Highstock) The line marks the last price from all points.
  60997. */
  60998. lastPrice?: SeriesLastPriceOptionsObject;
  60999. /**
  61000. * (Highstock) The line marks the last price from visible range of points.
  61001. */
  61002. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  61003. /**
  61004. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  61005. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  61006. * the ends and bends.
  61007. */
  61008. linecap?: SeriesLinecapValue;
  61009. /**
  61010. * (Highcharts, Highstock) Pixel width of the graph line.
  61011. */
  61012. lineWidth?: number;
  61013. /**
  61014. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  61015. * based on. Required for this indicator.
  61016. */
  61017. linkedTo?: string;
  61018. /**
  61019. * (Highstock) Options for the point markers of line-like series. Properties
  61020. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  61021. * appearance of the markers. Other series types, like column series, don't
  61022. * have markers, but have visual options on the series level instead.
  61023. *
  61024. * In styled mode, the markers can be styled with the `.highcharts-point`,
  61025. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  61026. */
  61027. marker?: PointMarkerOptionsObject;
  61028. /**
  61029. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  61030. * If not set, it will be based on a technical indicator type and default
  61031. * params.
  61032. */
  61033. name?: string;
  61034. /**
  61035. * (Highstock) The color for the parts of the graph or points that are below
  61036. * the threshold. Note that `zones` takes precedence over the negative
  61037. * color. Using `negativeColor` is equivalent to applying a zone with value
  61038. * of 0.
  61039. */
  61040. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  61041. /**
  61042. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  61043. * dataLabels.
  61044. */
  61045. opacity?: number;
  61046. /**
  61047. * (Highstock) Paramters used in calculation of regression series' points.
  61048. */
  61049. params?: PlotMomentumParamsOptions;
  61050. /**
  61051. * (Highstock) Properties for each single point.
  61052. */
  61053. point?: PlotSeriesPointOptions;
  61054. /**
  61055. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  61056. * individual series. Overrides the chart wide configuration.
  61057. */
  61058. pointDescriptionFormatter?: Function;
  61059. /**
  61060. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  61061. * true, the checkbox next to the series name in the legend will be checked
  61062. * for a selected series.
  61063. */
  61064. selected?: boolean;
  61065. /**
  61066. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  61067. * the shadow can be an object configuration containing `color`, `offsetX`,
  61068. * `offsetY`, `opacity` and `width`.
  61069. */
  61070. shadow?: (boolean|ShadowOptionsObject);
  61071. /**
  61072. * (Highstock) If true, a checkbox is displayed next to the legend item to
  61073. * allow selecting the series. The state of the checkbox is determined by
  61074. * the `selected` option.
  61075. */
  61076. showCheckbox?: boolean;
  61077. /**
  61078. * (Highstock) Whether to display this particular series or series type in
  61079. * the legend. Standalone series are shown in legend by default, and linked
  61080. * series are not. Since v7.2.0 it is possible to show series that use
  61081. * colorAxis by setting this option to `true`.
  61082. */
  61083. showInLegend?: boolean;
  61084. /**
  61085. * (Highstock) If set to `true`, the accessibility module will skip past the
  61086. * points in this series for keyboard navigation.
  61087. */
  61088. skipKeyboardNavigation?: boolean;
  61089. /**
  61090. * (Highcharts, Highstock) When this is true, the series will not cause the
  61091. * Y axis to cross the zero plane (or threshold option) unless the data
  61092. * actually crosses the plane.
  61093. *
  61094. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  61095. * make the Y axis show negative values according to the `minPadding`
  61096. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  61097. */
  61098. softThreshold?: boolean;
  61099. states?: SeriesStatesOptionsObject;
  61100. /**
  61101. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  61102. * values are `left`, `center` and `right`.
  61103. */
  61104. step?: OptionsStepValue;
  61105. /**
  61106. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  61107. * event on a series isn't triggered until the mouse moves over another
  61108. * series, or out of the plot area. When false, the `mouseOut` event on a
  61109. * series is triggered when the mouse leaves the area around the series'
  61110. * graph or markers. This also implies the tooltip when not shared. When
  61111. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  61112. * be hidden when moving the mouse between series. Defaults to true for line
  61113. * and area type series, but to false for columns, pies etc.
  61114. *
  61115. * **Note:** The boost module will force this option because of technical
  61116. * limitations.
  61117. */
  61118. stickyTracking?: boolean;
  61119. /**
  61120. * (Highcharts, Highstock) The threshold, also called zero level or base
  61121. * level. For line type series this is only used in conjunction with
  61122. * negativeColor.
  61123. */
  61124. threshold?: number;
  61125. /**
  61126. * (Highstock) A configuration object for the tooltip rendering of each
  61127. * single series. Properties are inherited from tooltip, but only the
  61128. * following properties can be defined on a series level.
  61129. */
  61130. tooltip?: SeriesTooltipOptionsObject;
  61131. /**
  61132. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  61133. * is longer than this, only one dimensional arrays of numbers, or two
  61134. * dimensional arrays with x and y values are allowed. Also, only the first
  61135. * point is tested, and the rest are assumed to be the same format. This
  61136. * saves expensive data checking and indexing in long series. Set it to `0`
  61137. * disable.
  61138. *
  61139. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  61140. * two dimensional arrays are allowed.
  61141. */
  61142. turboThreshold?: number;
  61143. /**
  61144. * (Highstock) Set the initial visibility of the series.
  61145. */
  61146. visible?: boolean;
  61147. /**
  61148. * (Highmaps) Define the z index of the series.
  61149. */
  61150. zIndex?: number;
  61151. /**
  61152. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  61153. */
  61154. zoneAxis?: string;
  61155. /**
  61156. * (Highcharts, Highstock) An array defining zones within a series. Zones
  61157. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  61158. * the `zoneAxis` option. The zone definitions have to be in ascending order
  61159. * regarding to the value.
  61160. *
  61161. * In styled mode, the color zones are styled with the
  61162. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  61163. * option (view live demo).
  61164. */
  61165. zones?: Array<SeriesZonesOptionsObject>;
  61166. }
  61167. /**
  61168. * (Highstock) Paramters used in calculation of regression series' points.
  61169. */
  61170. export interface PlotMomentumParamsOptions {
  61171. /**
  61172. * (Highstock) The point index which indicator calculations will base. For
  61173. * example using OHLC data, index=2 means the indicator will be calculated
  61174. * using Low values.
  61175. */
  61176. index?: number;
  61177. /**
  61178. * (Highstock) The base period for indicator calculations. This is the
  61179. * number of data points which are taken into account for the indicator
  61180. * calculations.
  61181. */
  61182. period?: number;
  61183. }
  61184. /**
  61185. * (Highstock) Enable or disable the initial animation when a series is
  61186. * displayed. The animation can also be set as a configuration object. Please
  61187. * note that this option only applies to the initial animation of the series
  61188. * itself. For other animations, see chart.animation and the animation parameter
  61189. * under the API methods. The following properties are supported:
  61190. *
  61191. * - `defer`: The animation delay time in milliseconds.
  61192. *
  61193. * - `duration`: The duration of the animation in milliseconds.
  61194. *
  61195. * - `easing`: Can be a string reference to an easing function set on the `Math`
  61196. * object or a function. See the _Custom easing function_ demo below.
  61197. *
  61198. * Due to poor performance, animation is disabled in old IE browsers for several
  61199. * chart types.
  61200. */
  61201. export interface PlotNatrAnimationOptions {
  61202. defer?: number;
  61203. }
  61204. /**
  61205. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  61206. * animation when a series is displayed for the `dataLabels`. The animation can
  61207. * also be set as a configuration object. Please note that this option only
  61208. * applies to the initial animation. For other animations, see chart.animation
  61209. * and the animation parameter under the API methods. The following properties
  61210. * are supported:
  61211. *
  61212. * - `defer`: The animation delay time in milliseconds.
  61213. */
  61214. export interface PlotNatrDataLabelsAnimationOptions {
  61215. /**
  61216. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  61217. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  61218. * inherits defer time from the series.animation.defer.
  61219. */
  61220. defer?: number;
  61221. }
  61222. /**
  61223. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  61224. * appearing next to each data point.
  61225. *
  61226. * Since v6.2.0, multiple data labels can be applied to each single point by
  61227. * defining them as an array of configs.
  61228. *
  61229. * In styled mode, the data labels can be styled with the
  61230. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  61231. * example).
  61232. */
  61233. export interface PlotNatrDataLabelsOptions {
  61234. /**
  61235. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  61236. * compared to the point. If `right`, the right side of the label should be
  61237. * touching the point. For points with an extent, like columns, the
  61238. * alignments also dictates how to align it inside the box, as given with
  61239. * the inside option. Can be one of `left`, `center` or `right`.
  61240. */
  61241. align?: (AlignValue|null);
  61242. /**
  61243. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  61244. * overlap. To make the labels less sensitive for overlapping, the
  61245. * dataLabels.padding can be set to 0.
  61246. */
  61247. allowOverlap?: boolean;
  61248. /**
  61249. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  61250. * animation when a series is displayed for the `dataLabels`. The animation
  61251. * can also be set as a configuration object. Please note that this option
  61252. * only applies to the initial animation. For other animations, see
  61253. * chart.animation and the animation parameter under the API methods. The
  61254. * following properties are supported:
  61255. *
  61256. * - `defer`: The animation delay time in milliseconds.
  61257. */
  61258. animation?: (boolean|PlotNatrDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  61259. /**
  61260. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  61261. * for the data label.
  61262. */
  61263. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  61264. /**
  61265. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  61266. * label. Defaults to `undefined`.
  61267. */
  61268. borderColor?: (ColorString|GradientColorObject|PatternObject);
  61269. /**
  61270. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  61271. * the data label.
  61272. */
  61273. borderRadius?: number;
  61274. /**
  61275. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  61276. * the data label.
  61277. */
  61278. borderWidth?: number;
  61279. /**
  61280. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  61281. * Particularly in styled mode, this can be used to give each series' or
  61282. * point's data label unique styling. In addition to this option, a default
  61283. * color class name is added so that we can give the labels a contrast text
  61284. * shadow.
  61285. */
  61286. className?: string;
  61287. /**
  61288. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  61289. * labels. Defaults to `undefined`. For certain series types, like column or
  61290. * map, the data labels can be drawn inside the points. In this case the
  61291. * data label will be drawn with maximum contrast by default. Additionally,
  61292. * it will be given a `text-outline` style with the opposite color, to
  61293. * further increase the contrast. This can be overridden by setting the
  61294. * `text-outline` style to `none` in the `dataLabels.style` option.
  61295. */
  61296. color?: (ColorString|GradientColorObject|PatternObject);
  61297. /**
  61298. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  61299. * are outside the plot area. By default, the data label is moved inside the
  61300. * plot area according to the overflow option.
  61301. */
  61302. crop?: boolean;
  61303. /**
  61304. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  61305. * labels until the initial series animation has finished. Setting to
  61306. * `false` renders the data label immediately. If set to `true` inherits the
  61307. * defer time set in plotOptions.series.animation.
  61308. */
  61309. defer?: boolean;
  61310. /**
  61311. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  61312. * labels.
  61313. */
  61314. enabled?: boolean;
  61315. /**
  61316. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  61317. * of which data labels to display. The declarative filter is designed for
  61318. * use when callback functions are not available, like when the chart
  61319. * options require a pure JSON structure or for use with graphical editors.
  61320. * For programmatic control, use the `formatter` instead, and return
  61321. * `undefined` to disable a single data label.
  61322. */
  61323. filter?: DataLabelsFilterOptionsObject;
  61324. /**
  61325. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  61326. * label. Available variables are the same as for `formatter`.
  61327. */
  61328. format?: string;
  61329. /**
  61330. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  61331. * format the data label. Note that if a `format` is defined, the format
  61332. * takes precedence and the formatter is ignored.
  61333. */
  61334. formatter?: DataLabelsFormatterCallbackFunction;
  61335. /**
  61336. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  61337. * columns or map areas, whether to align the data label inside the box or
  61338. * to the actual value point. Defaults to `false` in most cases, `true` in
  61339. * stacked columns.
  61340. */
  61341. inside?: boolean;
  61342. /**
  61343. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  61344. * of null. Works analogously to format. `nullFormat` can be applied only to
  61345. * series which support displaying null points.
  61346. */
  61347. nullFormat?: (boolean|string);
  61348. /**
  61349. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  61350. * that defines formatting for points with the value of null. Works
  61351. * analogously to formatter. `nullPointFormatter` can be applied only to
  61352. * series which support displaying null points.
  61353. */
  61354. nullFormatter?: DataLabelsFormatterCallbackFunction;
  61355. /**
  61356. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  61357. * flow outside the plot area. The default is `"justify"`, which aligns them
  61358. * inside the plot area. For columns and bars, this means it will be moved
  61359. * inside the bar. To display data labels outside the plot area, set `crop`
  61360. * to `false` and `overflow` to `"allow"`.
  61361. */
  61362. overflow?: DataLabelsOverflowValue;
  61363. /**
  61364. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  61365. * the `backgroundColor` is set, this is the padding within the box.
  61366. */
  61367. padding?: number;
  61368. /**
  61369. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  61370. * points. If `center` alignment is not possible, it defaults to `right`.
  61371. */
  61372. position?: AlignValue;
  61373. /**
  61374. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  61375. * that due to a more complex structure, backgrounds, borders and padding
  61376. * will be lost on a rotated data label.
  61377. */
  61378. rotation?: number;
  61379. /**
  61380. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  61381. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  61382. * an object configuration containing `color`, `offsetX`, `offsetY`,
  61383. * `opacity` and `width`.
  61384. */
  61385. shadow?: (boolean|ShadowOptionsObject);
  61386. /**
  61387. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  61388. * the border around the label. Symbols are predefined functions on the
  61389. * Renderer object.
  61390. */
  61391. shape?: string;
  61392. /**
  61393. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  61394. * default `color` setting is `"contrast"`, which is a pseudo color that
  61395. * Highcharts picks up and applies the maximum contrast to the underlying
  61396. * point item, for example the bar in a bar chart.
  61397. *
  61398. * The `textOutline` is a pseudo property that applies an outline of the
  61399. * given width with the given color, which by default is the maximum
  61400. * contrast to the text. So a bright text color will result in a black text
  61401. * outline for maximum readability on a mixed background. In some cases,
  61402. * especially with grayscale text, the text outline doesn't work well, in
  61403. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  61404. * is true, the `textOutline` will not be picked up. In this, case, the same
  61405. * effect can be acheived through the `text-shadow` CSS property.
  61406. *
  61407. * For some series types, where each point has an extent, like for example
  61408. * tree maps, the data label may overflow the point. There are two
  61409. * strategies for handling overflow. By default, the text will wrap to
  61410. * multiple lines. The other strategy is to set `style.textOverflow` to
  61411. * `ellipsis`, which will keep the text on one line plus it will break
  61412. * inside long words.
  61413. */
  61414. style?: CSSObject;
  61415. /**
  61416. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  61417. * should follow marker's shape. Border and background are disabled for a
  61418. * label that follows a path.
  61419. *
  61420. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  61421. * to true will disable this option.
  61422. */
  61423. textPath?: DataLabelsTextPathOptionsObject;
  61424. /**
  61425. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  61426. * the labels.
  61427. */
  61428. useHTML?: boolean;
  61429. /**
  61430. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  61431. * label. Can be one of `top`, `middle` or `bottom`. The default value
  61432. * depends on the data, for instance in a column chart, the label is above
  61433. * positive values and below negative values.
  61434. */
  61435. verticalAlign?: (VerticalAlignValue|null);
  61436. /**
  61437. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  61438. * label relative to the point in pixels.
  61439. */
  61440. x?: number;
  61441. /**
  61442. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  61443. * label relative to the point in pixels.
  61444. */
  61445. y?: number;
  61446. /**
  61447. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  61448. * The default Z index puts it above the series. Use a Z index of 2 to
  61449. * display it behind the series.
  61450. */
  61451. z?: number;
  61452. }
  61453. /**
  61454. * (Highcharts, Highstock) Options for the series data sorting.
  61455. */
  61456. export interface PlotNatrDataSortingOptions {
  61457. /**
  61458. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  61459. * Use xAxis.reversed to change the sorting order.
  61460. */
  61461. enabled?: boolean;
  61462. /**
  61463. * (Highcharts, Highstock) Whether to allow matching points by name in an
  61464. * update. If this option is disabled, points will be matched by order.
  61465. */
  61466. matchByName?: boolean;
  61467. /**
  61468. * (Highcharts, Highstock) Determines what data value should be used to sort
  61469. * by.
  61470. */
  61471. sortKey?: string;
  61472. }
  61473. /**
  61474. * (Highstock) Normalized average true range indicator (NATR). This series
  61475. * requires `linkedTo` option to be set and should be loaded after the
  61476. * `stock/indicators/indicators.js` and `stock/indicators/atr.js`.
  61477. *
  61478. * In TypeScript the type option must always be set.
  61479. *
  61480. * Configuration options for the series are given in three levels:
  61481. *
  61482. * 1. Options for all series in a chart are defined in the plotOptions.series
  61483. * object.
  61484. *
  61485. * 2. Options for all `natr` series are defined in plotOptions.natr.
  61486. *
  61487. * 3. Options for one single series are given in the series instance array. (see
  61488. * online documentation for example)
  61489. */
  61490. export interface PlotNatrOptions {
  61491. /**
  61492. * (Highstock) Accessibility options for a series.
  61493. */
  61494. accessibility?: SeriesAccessibilityOptionsObject;
  61495. /**
  61496. * (Highstock) Allow this series' points to be selected by clicking on the
  61497. * graphic (columns, point markers, pie slices, map areas etc).
  61498. *
  61499. * The selected points can be handled by point select and unselect events,
  61500. * or collectively by the getSelectedPoints function.
  61501. *
  61502. * And alternative way of selecting points is through dragging.
  61503. */
  61504. allowPointSelect?: boolean;
  61505. /**
  61506. * (Highstock) Enable or disable the initial animation when a series is
  61507. * displayed. The animation can also be set as a configuration object.
  61508. * Please note that this option only applies to the initial animation of the
  61509. * series itself. For other animations, see chart.animation and the
  61510. * animation parameter under the API methods. The following properties are
  61511. * supported:
  61512. *
  61513. * - `defer`: The animation delay time in milliseconds.
  61514. *
  61515. * - `duration`: The duration of the animation in milliseconds.
  61516. *
  61517. * - `easing`: Can be a string reference to an easing function set on the
  61518. * `Math` object or a function. See the _Custom easing function_ demo below.
  61519. *
  61520. * Due to poor performance, animation is disabled in old IE browsers for
  61521. * several chart types.
  61522. */
  61523. animation?: (boolean|PlotNatrAnimationOptions|Partial<AnimationOptionsObject>);
  61524. /**
  61525. * (Highstock) For some series, there is a limit that shuts down initial
  61526. * animation by default when the total number of points in the chart is too
  61527. * high. For example, for a column chart and its derivatives, animation does
  61528. * not run if there is more than 250 points totally. To disable this cap,
  61529. * set `animationLimit` to `Infinity`.
  61530. */
  61531. animationLimit?: number;
  61532. /**
  61533. * (Highstock) Sets the color blending in the boost module.
  61534. */
  61535. boostBlending?: OptionsBoostBlendingValue;
  61536. /**
  61537. * (Highstock) Set the point threshold for when a series should enter boost
  61538. * mode.
  61539. *
  61540. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  61541. * there are 2000 or more points in the series.
  61542. *
  61543. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  61544. * it to 1 will force boosting.
  61545. *
  61546. * Note that the cropThreshold also affects this setting. When zooming in on
  61547. * a series that has fewer points than the `cropThreshold`, all points are
  61548. * rendered although outside the visible plot area, and the `boostThreshold`
  61549. * won't take effect.
  61550. */
  61551. boostThreshold?: number;
  61552. /**
  61553. * (Highmaps) The border color of the map areas.
  61554. *
  61555. * In styled mode, the border stroke is given in the `.highcharts-point`
  61556. * class.
  61557. */
  61558. borderColor?: (ColorString|GradientColorObject|PatternObject);
  61559. /**
  61560. * (Highmaps) The border width of each map area.
  61561. *
  61562. * In styled mode, the border stroke width is given in the
  61563. * `.highcharts-point` class.
  61564. */
  61565. borderWidth?: number;
  61566. /**
  61567. * (Highstock) An additional class name to apply to the series' graphical
  61568. * elements. This option does not replace default class names of the
  61569. * graphical element.
  61570. */
  61571. className?: string;
  61572. /**
  61573. * (Highstock) Disable this option to allow series rendering in the whole
  61574. * plotting area.
  61575. *
  61576. * **Note:** Clipping should be always enabled when chart.zoomType is set
  61577. */
  61578. clip?: boolean;
  61579. /**
  61580. * (Highstock) The main color of the series. In line type series it applies
  61581. * to the line and the point markers unless otherwise specified. In bar type
  61582. * series it applies to the bars unless a color is specified per point. The
  61583. * default value is pulled from the `options.colors` array.
  61584. *
  61585. * In styled mode, the color can be defined by the colorIndex option. Also,
  61586. * the series color can be set with the `.highcharts-series`,
  61587. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  61588. * `.highcharts-series-{n}` class, or individual classes given by the
  61589. * `className` option.
  61590. */
  61591. color?: (ColorString|GradientColorObject|PatternObject);
  61592. /**
  61593. * (Highstock) Styled mode only. A specific color index to use for the
  61594. * series, so its graphic representations are given the class name
  61595. * `highcharts-color-{n}`.
  61596. */
  61597. colorIndex?: number;
  61598. /**
  61599. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  61600. * used to calculate point color if `colorAxis` is used. Requires to set
  61601. * `min` and `max` if some custom point property is used or if approximation
  61602. * for data grouping is set to `'sum'`.
  61603. */
  61604. colorKey?: string;
  61605. /**
  61606. * (Highstock) Compare the values of the series against the first non-null,
  61607. * non- zero value in the visible range. The y axis will show percentage or
  61608. * absolute change depending on whether `compare` is set to `"percent"` or
  61609. * `"value"`. When this is applied to multiple series, it allows comparing
  61610. * the development of the series against each other. Adds a `change` field
  61611. * to every point object.
  61612. */
  61613. compare?: string;
  61614. /**
  61615. * (Highstock) When compare is `percent`, this option dictates whether to
  61616. * use 0 or 100 as the base of comparison.
  61617. */
  61618. compareBase?: (0|100);
  61619. /**
  61620. * (Highstock) Defines if comparison should start from the first point
  61621. * within the visible range or should start from the first point **before**
  61622. * the range.
  61623. *
  61624. * In other words, this flag determines if first point within the visible
  61625. * range will have 0% (`compareStart=true`) or should have been already
  61626. * calculated according to the previous point (`compareStart=false`).
  61627. */
  61628. compareStart?: boolean;
  61629. /**
  61630. * (Highstock) Whether to compare indicator to the main series values or
  61631. * indicator values.
  61632. */
  61633. compareToMain?: boolean;
  61634. /**
  61635. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  61636. * series plot across the extremes.
  61637. */
  61638. connectEnds?: boolean;
  61639. /**
  61640. * (Highcharts, Highstock) Whether to connect a graph line across null
  61641. * points, or render a gap between the two points on either side of the
  61642. * null.
  61643. */
  61644. connectNulls?: boolean;
  61645. /**
  61646. * (Gantt) Override Pathfinder connector options for a series. Requires
  61647. * Highcharts Gantt to be loaded.
  61648. */
  61649. connectors?: SeriesConnectorsOptionsObject;
  61650. /**
  61651. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  61652. * rounded to its nearest pixel in order to render sharp on screen. In some
  61653. * cases, when there are a lot of densely packed columns, this leads to
  61654. * visible difference in column widths or distance between columns. In these
  61655. * cases, setting `crisp` to `false` may look better, even though each
  61656. * column is rendered blurry.
  61657. */
  61658. crisp?: boolean;
  61659. /**
  61660. * (Highcharts, Highstock) When the series contains less points than the
  61661. * crop threshold, all points are drawn, even if the points fall outside the
  61662. * visible plot area at the current zoom. The advantage of drawing all
  61663. * points (including markers and columns), is that animation is performed on
  61664. * updates. On the other hand, when the series contains more points than the
  61665. * crop threshold, the series data is cropped to only contain points that
  61666. * fall within the plot area. The advantage of cropping away invisible
  61667. * points is to increase performance on large series.
  61668. */
  61669. cropThreshold?: number;
  61670. /**
  61671. * (Highstock) You can set the cursor to "pointer" if you have click events
  61672. * attached to the series, to signal to the user that the points and lines
  61673. * can be clicked.
  61674. *
  61675. * In styled mode, the series cursor can be set with the same classes as
  61676. * listed under series.color.
  61677. */
  61678. cursor?: (string|CursorValue);
  61679. /**
  61680. * (Highstock) A reserved subspace to store options and values for
  61681. * customized functionality. Here you can add additional data for your own
  61682. * event callbacks and formatter callbacks.
  61683. */
  61684. custom?: Dictionary<any>;
  61685. /**
  61686. * (Highstock) Name of the dash style to use for the graph, or for some
  61687. * series types the outline of each shape.
  61688. *
  61689. * In styled mode, the stroke dash-array can be set with the same classes as
  61690. * listed under series.color.
  61691. */
  61692. dashStyle?: DashStyleValue;
  61693. /**
  61694. * (Highstock) Data grouping is the concept of sampling the data values into
  61695. * larger blocks in order to ease readability and increase performance of
  61696. * the JavaScript charts. Highstock by default applies data grouping when
  61697. * the points become closer than a certain pixel value, determined by the
  61698. * `groupPixelWidth` option.
  61699. *
  61700. * If data grouping is applied, the grouping information of grouped points
  61701. * can be read from the Point.dataGroup. If point options other than the
  61702. * data itself are set, for example `name` or `color` or custom properties,
  61703. * the grouping logic doesn't know how to group it. In this case the options
  61704. * of the first point instance are copied over to the group point. This can
  61705. * be altered through a custom `approximation` callback function.
  61706. */
  61707. dataGrouping?: DataGroupingOptionsObject;
  61708. /**
  61709. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  61710. * labels, appearing next to each data point.
  61711. *
  61712. * Since v6.2.0, multiple data labels can be applied to each single point by
  61713. * defining them as an array of configs.
  61714. *
  61715. * In styled mode, the data labels can be styled with the
  61716. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  61717. * (see example).
  61718. */
  61719. dataLabels?: (PlotNatrDataLabelsOptions|Array<PlotNatrDataLabelsOptions>);
  61720. /**
  61721. * (Highcharts, Highstock) Options for the series data sorting.
  61722. */
  61723. dataSorting?: (DataSortingOptionsObject|PlotNatrDataSortingOptions);
  61724. /**
  61725. * (Highstock) A description of the series to add to the screen reader
  61726. * information about the series.
  61727. */
  61728. description?: string;
  61729. /**
  61730. * (Highstock) Enable or disable the mouse tracking for a specific series.
  61731. * This includes point tooltips and click events on graphs and points. For
  61732. * large datasets it improves performance.
  61733. */
  61734. enableMouseTracking?: boolean;
  61735. /**
  61736. * (Highstock) General event handlers for the series items. These event
  61737. * hooks can also be attached to the series at run time using the
  61738. * `Highcharts.addEvent` function.
  61739. */
  61740. events?: SeriesEventsOptionsObject;
  61741. /**
  61742. * (Highstock) Determines whether the series should look for the nearest
  61743. * point in both dimensions or just the x-dimension when hovering the
  61744. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  61745. * series. If the data has duplicate x-values, it is recommended to set this
  61746. * to `'xy'` to allow hovering over all points.
  61747. *
  61748. * Applies only to series types using nearest neighbor search (not direct
  61749. * hover) for tooltip.
  61750. */
  61751. findNearestPointBy?: OptionsFindNearestPointByValue;
  61752. /**
  61753. * (Highstock) Defines when to display a gap in the graph, together with the
  61754. * gapUnit option.
  61755. *
  61756. * In case when `dataGrouping` is enabled, points can be grouped into a
  61757. * larger time span. This can make the grouped points to have a greater
  61758. * distance than the absolute value of `gapSize` property, which will result
  61759. * in disappearing graph completely. To prevent this situation the mentioned
  61760. * distance between grouped points is used instead of previously defined
  61761. * `gapSize`.
  61762. *
  61763. * In practice, this option is most often used to visualize gaps in time
  61764. * series. In a stock chart, intraday data is available for daytime hours,
  61765. * while gaps will appear in nights and weekends.
  61766. */
  61767. gapSize?: number;
  61768. /**
  61769. * (Highstock) Together with gapSize, this option defines where to draw gaps
  61770. * in the graph.
  61771. *
  61772. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  61773. * if the distance between two points is greater than 5 times that of the
  61774. * two closest points, the graph will be broken.
  61775. *
  61776. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  61777. * values, which on a datetime axis is milliseconds. This also applies to
  61778. * the navigator series that inherits gap options from the base series.
  61779. */
  61780. gapUnit?: OptionsGapUnitValue;
  61781. /**
  61782. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  61783. * chart width or only the zoomed area when zooming in on parts of the X
  61784. * axis. By default, the Y axis adjusts to the min and max of the visible
  61785. * data. Cartesian series only.
  61786. */
  61787. getExtremesFromAll?: boolean;
  61788. /**
  61789. * (Highstock) When set to `false` will prevent the series data from being
  61790. * included in any form of data export.
  61791. *
  61792. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  61793. * `includeInCSVExport`.
  61794. */
  61795. includeInDataExport?: boolean;
  61796. /**
  61797. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  61798. * series as possible in a natural way, seeking to avoid other series. The
  61799. * goal of this feature is to make the chart more easily readable, like if a
  61800. * human designer placed the labels in the optimal position.
  61801. *
  61802. * The series labels currently work with series types having a `graph` or an
  61803. * `area`.
  61804. */
  61805. label?: SeriesLabelOptionsObject;
  61806. /**
  61807. * (Highstock) The line marks the last price from all points.
  61808. */
  61809. lastPrice?: SeriesLastPriceOptionsObject;
  61810. /**
  61811. * (Highstock) The line marks the last price from visible range of points.
  61812. */
  61813. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  61814. /**
  61815. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  61816. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  61817. * the ends and bends.
  61818. */
  61819. linecap?: SeriesLinecapValue;
  61820. /**
  61821. * (Highcharts, Highstock) Pixel width of the graph line.
  61822. */
  61823. lineWidth?: number;
  61824. /**
  61825. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  61826. * based on. Required for this indicator.
  61827. */
  61828. linkedTo?: string;
  61829. /**
  61830. * (Highstock) Options for the point markers of line-like series. Properties
  61831. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  61832. * appearance of the markers. Other series types, like column series, don't
  61833. * have markers, but have visual options on the series level instead.
  61834. *
  61835. * In styled mode, the markers can be styled with the `.highcharts-point`,
  61836. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  61837. */
  61838. marker?: PointMarkerOptionsObject;
  61839. /**
  61840. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  61841. * If not set, it will be based on a technical indicator type and default
  61842. * params.
  61843. */
  61844. name?: string;
  61845. /**
  61846. * (Highstock) The color for the parts of the graph or points that are below
  61847. * the threshold. Note that `zones` takes precedence over the negative
  61848. * color. Using `negativeColor` is equivalent to applying a zone with value
  61849. * of 0.
  61850. */
  61851. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  61852. /**
  61853. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  61854. * dataLabels.
  61855. */
  61856. opacity?: number;
  61857. /**
  61858. * (Highstock) Paramters used in calculation of regression series' points.
  61859. */
  61860. params?: PlotNatrParamsOptions;
  61861. /**
  61862. * (Highstock) Properties for each single point.
  61863. */
  61864. point?: PlotSeriesPointOptions;
  61865. /**
  61866. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  61867. * individual series. Overrides the chart wide configuration.
  61868. */
  61869. pointDescriptionFormatter?: Function;
  61870. /**
  61871. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  61872. * true, the checkbox next to the series name in the legend will be checked
  61873. * for a selected series.
  61874. */
  61875. selected?: boolean;
  61876. /**
  61877. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  61878. * the shadow can be an object configuration containing `color`, `offsetX`,
  61879. * `offsetY`, `opacity` and `width`.
  61880. */
  61881. shadow?: (boolean|ShadowOptionsObject);
  61882. /**
  61883. * (Highstock) If true, a checkbox is displayed next to the legend item to
  61884. * allow selecting the series. The state of the checkbox is determined by
  61885. * the `selected` option.
  61886. */
  61887. showCheckbox?: boolean;
  61888. /**
  61889. * (Highstock) Whether to display this particular series or series type in
  61890. * the legend. Standalone series are shown in legend by default, and linked
  61891. * series are not. Since v7.2.0 it is possible to show series that use
  61892. * colorAxis by setting this option to `true`.
  61893. */
  61894. showInLegend?: boolean;
  61895. /**
  61896. * (Highstock) If set to `true`, the accessibility module will skip past the
  61897. * points in this series for keyboard navigation.
  61898. */
  61899. skipKeyboardNavigation?: boolean;
  61900. /**
  61901. * (Highcharts, Highstock) When this is true, the series will not cause the
  61902. * Y axis to cross the zero plane (or threshold option) unless the data
  61903. * actually crosses the plane.
  61904. *
  61905. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  61906. * make the Y axis show negative values according to the `minPadding`
  61907. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  61908. */
  61909. softThreshold?: boolean;
  61910. states?: SeriesStatesOptionsObject;
  61911. /**
  61912. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  61913. * values are `left`, `center` and `right`.
  61914. */
  61915. step?: OptionsStepValue;
  61916. /**
  61917. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  61918. * event on a series isn't triggered until the mouse moves over another
  61919. * series, or out of the plot area. When false, the `mouseOut` event on a
  61920. * series is triggered when the mouse leaves the area around the series'
  61921. * graph or markers. This also implies the tooltip when not shared. When
  61922. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  61923. * be hidden when moving the mouse between series. Defaults to true for line
  61924. * and area type series, but to false for columns, pies etc.
  61925. *
  61926. * **Note:** The boost module will force this option because of technical
  61927. * limitations.
  61928. */
  61929. stickyTracking?: boolean;
  61930. /**
  61931. * (Highcharts, Highstock) The threshold, also called zero level or base
  61932. * level. For line type series this is only used in conjunction with
  61933. * negativeColor.
  61934. */
  61935. threshold?: number;
  61936. /**
  61937. * (Highstock) A configuration object for the tooltip rendering of each
  61938. * single series. Properties are inherited from tooltip, but only the
  61939. * following properties can be defined on a series level.
  61940. */
  61941. tooltip?: SeriesTooltipOptionsObject;
  61942. /**
  61943. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  61944. * is longer than this, only one dimensional arrays of numbers, or two
  61945. * dimensional arrays with x and y values are allowed. Also, only the first
  61946. * point is tested, and the rest are assumed to be the same format. This
  61947. * saves expensive data checking and indexing in long series. Set it to `0`
  61948. * disable.
  61949. *
  61950. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  61951. * two dimensional arrays are allowed.
  61952. */
  61953. turboThreshold?: number;
  61954. /**
  61955. * (Highstock) Set the initial visibility of the series.
  61956. */
  61957. visible?: boolean;
  61958. /**
  61959. * (Highmaps) Define the z index of the series.
  61960. */
  61961. zIndex?: number;
  61962. /**
  61963. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  61964. */
  61965. zoneAxis?: string;
  61966. /**
  61967. * (Highcharts, Highstock) An array defining zones within a series. Zones
  61968. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  61969. * the `zoneAxis` option. The zone definitions have to be in ascending order
  61970. * regarding to the value.
  61971. *
  61972. * In styled mode, the color zones are styled with the
  61973. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  61974. * option (view live demo).
  61975. */
  61976. zones?: Array<SeriesZonesOptionsObject>;
  61977. }
  61978. /**
  61979. * (Highstock) Paramters used in calculation of regression series' points.
  61980. */
  61981. export interface PlotNatrParamsOptions {
  61982. /**
  61983. * (Highstock) The point index which indicator calculations will base. For
  61984. * example using OHLC data, index=2 means the indicator will be calculated
  61985. * using Low values.
  61986. */
  61987. index?: number;
  61988. /**
  61989. * (Highstock) The base period for indicator calculations. This is the
  61990. * number of data points which are taken into account for the indicator
  61991. * calculations.
  61992. */
  61993. period?: number;
  61994. }
  61995. /**
  61996. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  61997. * animation when a series is displayed for the `dataLabels`. The animation can
  61998. * also be set as a configuration object. Please note that this option only
  61999. * applies to the initial animation. For other animations, see chart.animation
  62000. * and the animation parameter under the API methods. The following properties
  62001. * are supported:
  62002. *
  62003. * - `defer`: The animation delay time in milliseconds.
  62004. */
  62005. export interface PlotNetworkgraphDataLabelsAnimationOptions {
  62006. /**
  62007. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  62008. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  62009. * inherits defer time from the series.animation.defer.
  62010. */
  62011. defer?: number;
  62012. }
  62013. /**
  62014. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The default
  62015. * `color` setting is `"contrast"`, which is a pseudo color that Highcharts
  62016. * picks up and applies the maximum contrast to the underlying point item, for
  62017. * example the bar in a bar chart.
  62018. *
  62019. * The `textOutline` is a pseudo property that applies an outline of the given
  62020. * width with the given color, which by default is the maximum contrast to the
  62021. * text. So a bright text color will result in a black text outline for maximum
  62022. * readability on a mixed background. In some cases, especially with grayscale
  62023. * text, the text outline doesn't work well, in which cases it can be disabled
  62024. * by setting it to `"none"`. When `useHTML` is true, the `textOutline` will not
  62025. * be picked up. In this, case, the same effect can be acheived through the
  62026. * `text-shadow` CSS property.
  62027. *
  62028. * For some series types, where each point has an extent, like for example tree
  62029. * maps, the data label may overflow the point. There are two strategies for
  62030. * handling overflow. By default, the text will wrap to multiple lines. The
  62031. * other strategy is to set `style.textOverflow` to `ellipsis`, which will keep
  62032. * the text on one line plus it will break inside long words.
  62033. */
  62034. export interface PlotNetworkgraphDataLabelsStyleOptions {
  62035. transition?: string;
  62036. }
  62037. export interface PlotNetworkgraphLayoutAlgorithmOptions {
  62038. /**
  62039. * (Highcharts) Approximation used to calculate repulsive forces affecting
  62040. * nodes. By default, when calculateing net force, nodes are compared
  62041. * against each other, which gives O(N^2) complexity. Using Barnes-Hut
  62042. * approximation, we decrease this to O(N log N), but the resulting graph
  62043. * will have different layout. Barnes-Hut approximation divides space into
  62044. * rectangles via quad tree, where forces exerted on nodes are calculated
  62045. * directly for nearby cells, and for all others, cells are treated as a
  62046. * separate node with center of mass.
  62047. */
  62048. approximation?: OptionsApproximationValue;
  62049. /**
  62050. * (Highcharts) Attraction force applied on a node which is conected to
  62051. * another node by a link. Passed are two arguments:
  62052. *
  62053. * - `d` - which is current distance between two nodes
  62054. *
  62055. * - `k` - which is desired distance between two nodes
  62056. *
  62057. * In `verlet` integration, defaults to: `function (d, k) { return (k - d) /
  62058. * d; }`
  62059. */
  62060. attractiveForce?: Function;
  62061. /**
  62062. * (Highcharts) Experimental. Enables live simulation of the algorithm
  62063. * implementation. All nodes are animated as the forces applies on them.
  62064. */
  62065. enableSimulation?: boolean;
  62066. /**
  62067. * (Highcharts) Friction applied on forces to prevent nodes rushing to fast
  62068. * to the desired positions.
  62069. */
  62070. friction?: number;
  62071. /**
  62072. * (Highcharts) Gravitational const used in the barycenter force of the
  62073. * algorithm.
  62074. */
  62075. gravitationalConstant?: number;
  62076. /**
  62077. * (Highcharts) When `initialPositions` are set to 'circle',
  62078. * `initialPositionRadius` is a distance from the center of circle, in which
  62079. * nodes are created.
  62080. */
  62081. initialPositionRadius?: number;
  62082. /**
  62083. * (Highcharts) Initial layout algorithm for positioning nodes. Can be one
  62084. * of built-in options ("circle", "random") or a function where positions
  62085. * should be set on each node (`this.nodes`) as `node.plotX` and
  62086. * `node.plotY`
  62087. */
  62088. initialPositions?: ("circle"|"random"|Function);
  62089. /**
  62090. * (Highcharts) Integration type. Available options are `'euler'` and
  62091. * `'verlet'`. Integration determines how forces are applied on particles.
  62092. * In Euler integration, force is applied direct as `newPosition +=
  62093. * velocity;`. In Verlet integration, new position is based on a previous
  62094. * posittion without velocity: `newPosition += previousPosition -
  62095. * newPosition`.
  62096. *
  62097. * Note that different integrations give different results as forces are
  62098. * different.
  62099. *
  62100. * In Highcharts v7.0.x only `'euler'` integration was supported.
  62101. */
  62102. integration?: OptionsIntegrationValue;
  62103. /**
  62104. * (Highcharts) Ideal length (px) of the link between two nodes. When not
  62105. * defined, length is calculated as: `Math.pow(availableWidth *
  62106. * availableHeight / nodesLength, 0.4);`
  62107. *
  62108. * Note: Because of the algorithm specification, length of each link might
  62109. * be not exactly as specified.
  62110. */
  62111. linkLength?: number;
  62112. /**
  62113. * (Highcharts) Max number of iterations before algorithm will stop. In
  62114. * general, algorithm should find positions sooner, but when rendering huge
  62115. * number of nodes, it is recommended to increase this value as finding
  62116. * perfect graph positions can require more time.
  62117. */
  62118. maxIterations?: number;
  62119. /**
  62120. * (Highcharts) Verlet integration only. Max speed that node can get in one
  62121. * iteration. In terms of simulation, it's a maximum translation (in pixels)
  62122. * that node can move (in both, x and y, dimensions). While `friction` is
  62123. * applied on all nodes, max speed is applied only for nodes that move very
  62124. * fast, for example small or disconnected ones.
  62125. */
  62126. maxSpeed?: number;
  62127. /**
  62128. * (Highcharts) Repulsive force applied on a node. Passed are two arguments:
  62129. *
  62130. * - `d` - which is current distance between two nodes
  62131. *
  62132. * - `k` - which is desired distance between two nodes
  62133. *
  62134. * In `verlet` integration, defaults to: `function (d, k) { return (k - d) /
  62135. * d * (k > d ? 1 : 0) }`
  62136. */
  62137. repulsiveForce?: Function;
  62138. /**
  62139. * (Highcharts) Barnes-Hut approximation only. Deteremines when distance
  62140. * between cell and node is small enough to caculate forces. Value of
  62141. * `theta` is compared directly with quotient `s / d`, where `s` is the size
  62142. * of the cell, and `d` is distance between center of cell's mass and
  62143. * currently compared node.
  62144. */
  62145. theta?: number;
  62146. /**
  62147. * (Highcharts) Type of the algorithm used when positioning nodes.
  62148. */
  62149. type?: "reingold-fruchterman";
  62150. }
  62151. /**
  62152. * (Highcharts) Link style options
  62153. */
  62154. export interface PlotNetworkgraphLinkOptions {
  62155. /**
  62156. * (Highcharts) Color of the link between two nodes.
  62157. */
  62158. color?: string;
  62159. /**
  62160. * (Highcharts) A name for the dash style to use for links.
  62161. */
  62162. dashStyle?: string;
  62163. /**
  62164. * (Highcharts) Width (px) of the link between two nodes.
  62165. */
  62166. width?: number;
  62167. }
  62168. /**
  62169. * (Highcharts) A networkgraph is a type of relationship chart, where
  62170. * connnections (links) attracts nodes (points) and other nodes repulse each
  62171. * other.
  62172. *
  62173. * In TypeScript the type option must always be set.
  62174. *
  62175. * Configuration options for the series are given in three levels:
  62176. *
  62177. * 1. Options for all series in a chart are defined in the plotOptions.series
  62178. * object.
  62179. *
  62180. * 2. Options for all `networkgraph` series are defined in
  62181. * plotOptions.networkgraph.
  62182. *
  62183. * 3. Options for one single series are given in the series instance array. (see
  62184. * online documentation for example)
  62185. */
  62186. export interface PlotNetworkgraphOptions {
  62187. /**
  62188. * (Highcharts) Accessibility options for a series.
  62189. */
  62190. accessibility?: SeriesAccessibilityOptionsObject;
  62191. /**
  62192. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  62193. * rendered. If `true`, areas which don't correspond to a data point, are
  62194. * rendered as `null` points. If `false`, those areas are skipped.
  62195. */
  62196. allAreas?: boolean;
  62197. /**
  62198. * (Highcharts) Allow this series' points to be selected by clicking on the
  62199. * graphic (columns, point markers, pie slices, map areas etc).
  62200. *
  62201. * The selected points can be handled by point select and unselect events,
  62202. * or collectively by the getSelectedPoints function.
  62203. *
  62204. * And alternative way of selecting points is through dragging.
  62205. */
  62206. allowPointSelect?: boolean;
  62207. /**
  62208. * (Highmaps) The border color of the map areas.
  62209. *
  62210. * In styled mode, the border stroke is given in the `.highcharts-point`
  62211. * class.
  62212. */
  62213. borderColor?: (ColorString|GradientColorObject|PatternObject);
  62214. /**
  62215. * (Highmaps) The border width of each map area.
  62216. *
  62217. * In styled mode, the border stroke width is given in the
  62218. * `.highcharts-point` class.
  62219. */
  62220. borderWidth?: number;
  62221. /**
  62222. * (Highcharts) An additional class name to apply to the series' graphical
  62223. * elements. This option does not replace default class names of the
  62224. * graphical element.
  62225. */
  62226. className?: string;
  62227. /**
  62228. * (Highcharts) Disable this option to allow series rendering in the whole
  62229. * plotting area.
  62230. *
  62231. * **Note:** Clipping should be always enabled when chart.zoomType is set
  62232. */
  62233. clip?: boolean;
  62234. /**
  62235. * (Highcharts) The main color of the series. In line type series it applies
  62236. * to the line and the point markers unless otherwise specified. In bar type
  62237. * series it applies to the bars unless a color is specified per point. The
  62238. * default value is pulled from the `options.colors` array.
  62239. *
  62240. * In styled mode, the color can be defined by the colorIndex option. Also,
  62241. * the series color can be set with the `.highcharts-series`,
  62242. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  62243. * `.highcharts-series-{n}` class, or individual classes given by the
  62244. * `className` option.
  62245. */
  62246. color?: (ColorString|GradientColorObject|PatternObject);
  62247. /**
  62248. * (Highcharts) Styled mode only. A specific color index to use for the
  62249. * series, so its graphic representations are given the class name
  62250. * `highcharts-color-{n}`.
  62251. */
  62252. colorIndex?: number;
  62253. /**
  62254. * (Highstock) Compare the values of the series against the first non-null,
  62255. * non- zero value in the visible range. The y axis will show percentage or
  62256. * absolute change depending on whether `compare` is set to `"percent"` or
  62257. * `"value"`. When this is applied to multiple series, it allows comparing
  62258. * the development of the series against each other. Adds a `change` field
  62259. * to every point object.
  62260. */
  62261. compare?: string;
  62262. /**
  62263. * (Highstock) When compare is `percent`, this option dictates whether to
  62264. * use 0 or 100 as the base of comparison.
  62265. */
  62266. compareBase?: (0|100);
  62267. /**
  62268. * (Highstock) Defines if comparison should start from the first point
  62269. * within the visible range or should start from the first point **before**
  62270. * the range.
  62271. *
  62272. * In other words, this flag determines if first point within the visible
  62273. * range will have 0% (`compareStart=true`) or should have been already
  62274. * calculated according to the previous point (`compareStart=false`).
  62275. */
  62276. compareStart?: boolean;
  62277. /**
  62278. * (Gantt) Override Pathfinder connector options for a series. Requires
  62279. * Highcharts Gantt to be loaded.
  62280. */
  62281. connectors?: SeriesConnectorsOptionsObject;
  62282. /**
  62283. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  62284. * rounded to its nearest pixel in order to render sharp on screen. In some
  62285. * cases, when there are a lot of densely packed columns, this leads to
  62286. * visible difference in column widths or distance between columns. In these
  62287. * cases, setting `crisp` to `false` may look better, even though each
  62288. * column is rendered blurry.
  62289. */
  62290. crisp?: boolean;
  62291. /**
  62292. * (Highcharts) You can set the cursor to "pointer" if you have click events
  62293. * attached to the series, to signal to the user that the points and lines
  62294. * can be clicked.
  62295. *
  62296. * In styled mode, the series cursor can be set with the same classes as
  62297. * listed under series.color.
  62298. */
  62299. cursor?: (string|CursorValue);
  62300. /**
  62301. * (Highcharts) A reserved subspace to store options and values for
  62302. * customized functionality. Here you can add additional data for your own
  62303. * event callbacks and formatter callbacks.
  62304. */
  62305. custom?: Dictionary<any>;
  62306. /**
  62307. * (Highcharts) Name of the dash style to use for the graph, or for some
  62308. * series types the outline of each shape.
  62309. *
  62310. * In styled mode, the stroke dash-array can be set with the same classes as
  62311. * listed under series.color.
  62312. */
  62313. dashStyle?: DashStyleValue;
  62314. /**
  62315. * (Highstock) Data grouping is the concept of sampling the data values into
  62316. * larger blocks in order to ease readability and increase performance of
  62317. * the JavaScript charts. Highstock by default applies data grouping when
  62318. * the points become closer than a certain pixel value, determined by the
  62319. * `groupPixelWidth` option.
  62320. *
  62321. * If data grouping is applied, the grouping information of grouped points
  62322. * can be read from the Point.dataGroup. If point options other than the
  62323. * data itself are set, for example `name` or `color` or custom properties,
  62324. * the grouping logic doesn't know how to group it. In this case the options
  62325. * of the first point instance are copied over to the group point. This can
  62326. * be altered through a custom `approximation` callback function.
  62327. */
  62328. dataGrouping?: DataGroupingOptionsObject;
  62329. /**
  62330. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  62331. * labels, appearing next to each data point.
  62332. *
  62333. * Since v6.2.0, multiple data labels can be applied to each single point by
  62334. * defining them as an array of configs.
  62335. *
  62336. * In styled mode, the data labels can be styled with the
  62337. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  62338. * (see example).
  62339. */
  62340. dataLabels?: (SeriesNetworkgraphDataLabelsOptionsObject|Array<SeriesNetworkgraphDataLabelsOptionsObject>);
  62341. /**
  62342. * (Highcharts) A description of the series to add to the screen reader
  62343. * information about the series.
  62344. */
  62345. description?: string;
  62346. /**
  62347. * (Highcharts) Flag to determine if nodes are draggable or not.
  62348. */
  62349. draggable?: boolean;
  62350. /**
  62351. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  62352. * This includes point tooltips and click events on graphs and points. For
  62353. * large datasets it improves performance.
  62354. */
  62355. enableMouseTracking?: boolean;
  62356. /**
  62357. * (Highcharts) General event handlers for the series items. These event
  62358. * hooks can also be attached to the series at run time using the
  62359. * `Highcharts.addEvent` function.
  62360. */
  62361. events?: SeriesEventsOptionsObject;
  62362. /**
  62363. * (Highcharts) Determines whether the series should look for the nearest
  62364. * point in both dimensions or just the x-dimension when hovering the
  62365. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  62366. * series. If the data has duplicate x-values, it is recommended to set this
  62367. * to `'xy'` to allow hovering over all points.
  62368. *
  62369. * Applies only to series types using nearest neighbor search (not direct
  62370. * hover) for tooltip.
  62371. */
  62372. findNearestPointBy?: OptionsFindNearestPointByValue;
  62373. /**
  62374. * (Highstock) Defines when to display a gap in the graph, together with the
  62375. * gapUnit option.
  62376. *
  62377. * In case when `dataGrouping` is enabled, points can be grouped into a
  62378. * larger time span. This can make the grouped points to have a greater
  62379. * distance than the absolute value of `gapSize` property, which will result
  62380. * in disappearing graph completely. To prevent this situation the mentioned
  62381. * distance between grouped points is used instead of previously defined
  62382. * `gapSize`.
  62383. *
  62384. * In practice, this option is most often used to visualize gaps in time
  62385. * series. In a stock chart, intraday data is available for daytime hours,
  62386. * while gaps will appear in nights and weekends.
  62387. */
  62388. gapSize?: number;
  62389. /**
  62390. * (Highstock) Together with gapSize, this option defines where to draw gaps
  62391. * in the graph.
  62392. *
  62393. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  62394. * if the distance between two points is greater than 5 times that of the
  62395. * two closest points, the graph will be broken.
  62396. *
  62397. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  62398. * values, which on a datetime axis is milliseconds. This also applies to
  62399. * the navigator series that inherits gap options from the base series.
  62400. */
  62401. gapUnit?: OptionsGapUnitValue;
  62402. /**
  62403. * (Highcharts) When set to `false` will prevent the series data from being
  62404. * included in any form of data export.
  62405. *
  62406. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  62407. * `includeInCSVExport`.
  62408. */
  62409. includeInDataExport?: boolean;
  62410. /**
  62411. * (Highmaps) What property to join the `mapData` to the value data. For
  62412. * example, if joinBy is "code", the mapData items with a specific code is
  62413. * merged into the data with the same code. For maps loaded from GeoJSON,
  62414. * the keys may be held in each point's `properties` object.
  62415. *
  62416. * The joinBy option can also be an array of two values, where the first
  62417. * points to a key in the `mapData`, and the second points to another key in
  62418. * the `data`.
  62419. *
  62420. * When joinBy is `null`, the map items are joined by their position in the
  62421. * array, which performs much better in maps with many data points. This is
  62422. * the recommended option if you are printing more than a thousand data
  62423. * points and have a backend that can preprocess the data into a parallel
  62424. * array of the mapData.
  62425. */
  62426. joinBy?: (string|Array<string>);
  62427. /**
  62428. * (Highcharts) An array specifying which option maps to which key in the
  62429. * data point array. This makes it convenient to work with unstructured data
  62430. * arrays from different sources.
  62431. */
  62432. keys?: Array<string>;
  62433. /**
  62434. * (Highstock) The line marks the last price from all points.
  62435. */
  62436. lastPrice?: SeriesLastPriceOptionsObject;
  62437. /**
  62438. * (Highstock) The line marks the last price from visible range of points.
  62439. */
  62440. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  62441. layoutAlgorithm?: PlotNetworkgraphLayoutAlgorithmOptions;
  62442. /**
  62443. * (Highcharts, Highstock) Pixel width of the graph line.
  62444. */
  62445. lineWidth?: number;
  62446. /**
  62447. * (Highcharts) Link style options
  62448. */
  62449. link?: PlotNetworkgraphLinkOptions;
  62450. /**
  62451. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  62452. * Additionally, the value can be ":previous" to link to the previous
  62453. * series. When two series are linked, only the first one appears in the
  62454. * legend. Toggling the visibility of this also toggles the linked series.
  62455. *
  62456. * If master series uses data sorting and linked series does not have its
  62457. * own sorting definition, the linked series will be sorted in the same
  62458. * order as the master one.
  62459. */
  62460. linkedTo?: string;
  62461. /**
  62462. * (Highcharts) Options for the point markers of line-like series.
  62463. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  62464. * visual appearance of the markers. Other series types, like column series,
  62465. * don't have markers, but have visual options on the series level instead.
  62466. *
  62467. * In styled mode, the markers can be styled with the `.highcharts-point`,
  62468. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  62469. */
  62470. marker?: PointMarkerOptionsObject;
  62471. /**
  62472. * (Highstock) Options for the corresponding navigator series if
  62473. * `showInNavigator` is `true` for this series. Available options are the
  62474. * same as any series, documented at plotOptions and series.
  62475. *
  62476. * These options are merged with options in navigator.series, and will take
  62477. * precedence if the same option is defined both places.
  62478. */
  62479. navigatorOptions?: PlotSeriesOptions;
  62480. /**
  62481. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  62482. * dataLabels.
  62483. */
  62484. opacity?: number;
  62485. /**
  62486. * (Highcharts) Properties for each single point.
  62487. */
  62488. point?: PlotSeriesPointOptions;
  62489. /**
  62490. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  62491. * individual series. Overrides the chart wide configuration.
  62492. */
  62493. pointDescriptionFormatter?: Function;
  62494. /**
  62495. * (Highstock) The width of each point on the x axis. For example in a
  62496. * column chart with one value each day, the pointRange would be 1 day (= 24
  62497. * * 3600
  62498. *
  62499. * * 1000 milliseconds). This is normally computed automatically, but this
  62500. * option can be used to override the automatic value.
  62501. */
  62502. pointRange?: number;
  62503. /**
  62504. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  62505. * true, the checkbox next to the series name in the legend will be checked
  62506. * for a selected series.
  62507. */
  62508. selected?: boolean;
  62509. /**
  62510. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  62511. * the shadow can be an object configuration containing `color`, `offsetX`,
  62512. * `offsetY`, `opacity` and `width`.
  62513. */
  62514. shadow?: (boolean|ShadowOptionsObject);
  62515. /**
  62516. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  62517. * allow selecting the series. The state of the checkbox is determined by
  62518. * the `selected` option.
  62519. */
  62520. showCheckbox?: boolean;
  62521. /**
  62522. * (Highcharts) Whether to display this particular series or series type in
  62523. * the legend. Standalone series are shown in legend by default, and linked
  62524. * series are not. Since v7.2.0 it is possible to show series that use
  62525. * colorAxis by setting this option to `true`.
  62526. */
  62527. showInLegend?: boolean;
  62528. /**
  62529. * (Highstock) Whether or not to show the series in the navigator. Takes
  62530. * precedence over navigator.baseSeries if defined.
  62531. */
  62532. showInNavigator?: boolean;
  62533. /**
  62534. * (Highcharts) If set to `true`, the accessibility module will skip past
  62535. * the points in this series for keyboard navigation.
  62536. */
  62537. skipKeyboardNavigation?: boolean;
  62538. states?: SeriesStatesOptionsObject;
  62539. /**
  62540. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  62541. * event on a series isn't triggered until the mouse moves over another
  62542. * series, or out of the plot area. When false, the `mouseOut` event on a
  62543. * series is triggered when the mouse leaves the area around the series'
  62544. * graph or markers. This also implies the tooltip when not shared. When
  62545. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  62546. * be hidden when moving the mouse between series. Defaults to true for line
  62547. * and area type series, but to false for columns, pies etc.
  62548. *
  62549. * **Note:** The boost module will force this option because of technical
  62550. * limitations.
  62551. */
  62552. stickyTracking?: boolean;
  62553. /**
  62554. * (Highcharts) A configuration object for the tooltip rendering of each
  62555. * single series. Properties are inherited from tooltip, but only the
  62556. * following properties can be defined on a series level.
  62557. */
  62558. tooltip?: SeriesTooltipOptionsObject;
  62559. /**
  62560. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  62561. * is longer than this, only one dimensional arrays of numbers, or two
  62562. * dimensional arrays with x and y values are allowed. Also, only the first
  62563. * point is tested, and the rest are assumed to be the same format. This
  62564. * saves expensive data checking and indexing in long series. Set it to `0`
  62565. * disable.
  62566. *
  62567. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  62568. * two dimensional arrays are allowed.
  62569. */
  62570. turboThreshold?: number;
  62571. /**
  62572. * (Highstock) The parameter allows setting line series type and use OHLC
  62573. * indicators. Data in OHLC format is required.
  62574. */
  62575. useOhlcData?: boolean;
  62576. /**
  62577. * (Highcharts) Set the initial visibility of the series.
  62578. */
  62579. visible?: boolean;
  62580. /**
  62581. * (Highmaps) Define the z index of the series.
  62582. */
  62583. zIndex?: number;
  62584. /**
  62585. * (Highcharts, Highstock) An array defining zones within a series. Zones
  62586. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  62587. * the `zoneAxis` option. The zone definitions have to be in ascending order
  62588. * regarding to the value.
  62589. *
  62590. * In styled mode, the color zones are styled with the
  62591. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  62592. * option (view live demo).
  62593. */
  62594. zones?: Array<SeriesZonesOptionsObject>;
  62595. }
  62596. /**
  62597. * (Highstock) Enable or disable the initial animation when a series is
  62598. * displayed. The animation can also be set as a configuration object. Please
  62599. * note that this option only applies to the initial animation of the series
  62600. * itself. For other animations, see chart.animation and the animation parameter
  62601. * under the API methods. The following properties are supported:
  62602. *
  62603. * - `defer`: The animation delay time in milliseconds.
  62604. *
  62605. * - `duration`: The duration of the animation in milliseconds.
  62606. *
  62607. * - `easing`: Can be a string reference to an easing function set on the `Math`
  62608. * object or a function. See the _Custom easing function_ demo below.
  62609. *
  62610. * Due to poor performance, animation is disabled in old IE browsers for several
  62611. * chart types.
  62612. */
  62613. export interface PlotOhlcAnimationOptions {
  62614. defer?: number;
  62615. }
  62616. /**
  62617. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  62618. * animation when a series is displayed for the `dataLabels`. The animation can
  62619. * also be set as a configuration object. Please note that this option only
  62620. * applies to the initial animation. For other animations, see chart.animation
  62621. * and the animation parameter under the API methods. The following properties
  62622. * are supported:
  62623. *
  62624. * - `defer`: The animation delay time in milliseconds.
  62625. */
  62626. export interface PlotOhlcDataLabelsAnimationOptions {
  62627. /**
  62628. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  62629. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  62630. * inherits defer time from the series.animation.defer.
  62631. */
  62632. defer?: number;
  62633. }
  62634. /**
  62635. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  62636. * appearing next to each data point.
  62637. *
  62638. * Since v6.2.0, multiple data labels can be applied to each single point by
  62639. * defining them as an array of configs.
  62640. *
  62641. * In styled mode, the data labels can be styled with the
  62642. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  62643. * example).
  62644. */
  62645. export interface PlotOhlcDataLabelsOptions {
  62646. /**
  62647. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  62648. * compared to the point. If `right`, the right side of the label should be
  62649. * touching the point. For points with an extent, like columns, the
  62650. * alignments also dictates how to align it inside the box, as given with
  62651. * the inside option. Can be one of `left`, `center` or `right`.
  62652. */
  62653. align?: string;
  62654. /**
  62655. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  62656. * overlap. To make the labels less sensitive for overlapping, the
  62657. * dataLabels.padding can be set to 0.
  62658. */
  62659. allowOverlap?: boolean;
  62660. /**
  62661. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  62662. * animation when a series is displayed for the `dataLabels`. The animation
  62663. * can also be set as a configuration object. Please note that this option
  62664. * only applies to the initial animation. For other animations, see
  62665. * chart.animation and the animation parameter under the API methods. The
  62666. * following properties are supported:
  62667. *
  62668. * - `defer`: The animation delay time in milliseconds.
  62669. */
  62670. animation?: (boolean|PlotOhlcDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  62671. /**
  62672. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  62673. * for the data label.
  62674. */
  62675. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  62676. /**
  62677. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  62678. * label. Defaults to `undefined`.
  62679. */
  62680. borderColor?: (ColorString|GradientColorObject|PatternObject);
  62681. /**
  62682. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  62683. * the data label.
  62684. */
  62685. borderRadius?: number;
  62686. /**
  62687. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  62688. * the data label.
  62689. */
  62690. borderWidth?: number;
  62691. /**
  62692. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  62693. * Particularly in styled mode, this can be used to give each series' or
  62694. * point's data label unique styling. In addition to this option, a default
  62695. * color class name is added so that we can give the labels a contrast text
  62696. * shadow.
  62697. */
  62698. className?: string;
  62699. /**
  62700. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  62701. * labels. Defaults to `undefined`. For certain series types, like column or
  62702. * map, the data labels can be drawn inside the points. In this case the
  62703. * data label will be drawn with maximum contrast by default. Additionally,
  62704. * it will be given a `text-outline` style with the opposite color, to
  62705. * further increase the contrast. This can be overridden by setting the
  62706. * `text-outline` style to `none` in the `dataLabels.style` option.
  62707. */
  62708. color?: (ColorString|GradientColorObject|PatternObject);
  62709. /**
  62710. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  62711. * are outside the plot area. By default, the data label is moved inside the
  62712. * plot area according to the overflow option.
  62713. */
  62714. crop?: boolean;
  62715. /**
  62716. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  62717. * labels until the initial series animation has finished. Setting to
  62718. * `false` renders the data label immediately. If set to `true` inherits the
  62719. * defer time set in plotOptions.series.animation.
  62720. */
  62721. defer?: boolean;
  62722. /**
  62723. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  62724. * labels.
  62725. */
  62726. enabled?: boolean;
  62727. /**
  62728. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  62729. * of which data labels to display. The declarative filter is designed for
  62730. * use when callback functions are not available, like when the chart
  62731. * options require a pure JSON structure or for use with graphical editors.
  62732. * For programmatic control, use the `formatter` instead, and return
  62733. * `undefined` to disable a single data label.
  62734. */
  62735. filter?: DataLabelsFilterOptionsObject;
  62736. /**
  62737. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  62738. * label. Available variables are the same as for `formatter`.
  62739. */
  62740. format?: string;
  62741. /**
  62742. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  62743. * format the data label. Note that if a `format` is defined, the format
  62744. * takes precedence and the formatter is ignored.
  62745. */
  62746. formatter?: DataLabelsFormatterCallbackFunction;
  62747. /**
  62748. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  62749. * columns or map areas, whether to align the data label inside the box or
  62750. * to the actual value point. Defaults to `false` in most cases, `true` in
  62751. * stacked columns.
  62752. */
  62753. inside?: boolean;
  62754. /**
  62755. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  62756. * of null. Works analogously to format. `nullFormat` can be applied only to
  62757. * series which support displaying null points.
  62758. */
  62759. nullFormat?: (boolean|string);
  62760. /**
  62761. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  62762. * that defines formatting for points with the value of null. Works
  62763. * analogously to formatter. `nullPointFormatter` can be applied only to
  62764. * series which support displaying null points.
  62765. */
  62766. nullFormatter?: DataLabelsFormatterCallbackFunction;
  62767. /**
  62768. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  62769. * flow outside the plot area. The default is `"justify"`, which aligns them
  62770. * inside the plot area. For columns and bars, this means it will be moved
  62771. * inside the bar. To display data labels outside the plot area, set `crop`
  62772. * to `false` and `overflow` to `"allow"`.
  62773. */
  62774. overflow?: DataLabelsOverflowValue;
  62775. /**
  62776. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  62777. * the `backgroundColor` is set, this is the padding within the box.
  62778. */
  62779. padding?: number;
  62780. /**
  62781. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  62782. * points. If `center` alignment is not possible, it defaults to `right`.
  62783. */
  62784. position?: AlignValue;
  62785. /**
  62786. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  62787. * that due to a more complex structure, backgrounds, borders and padding
  62788. * will be lost on a rotated data label.
  62789. */
  62790. rotation?: number;
  62791. /**
  62792. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  62793. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  62794. * an object configuration containing `color`, `offsetX`, `offsetY`,
  62795. * `opacity` and `width`.
  62796. */
  62797. shadow?: (boolean|ShadowOptionsObject);
  62798. /**
  62799. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  62800. * the border around the label. Symbols are predefined functions on the
  62801. * Renderer object.
  62802. */
  62803. shape?: string;
  62804. /**
  62805. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  62806. * default `color` setting is `"contrast"`, which is a pseudo color that
  62807. * Highcharts picks up and applies the maximum contrast to the underlying
  62808. * point item, for example the bar in a bar chart.
  62809. *
  62810. * The `textOutline` is a pseudo property that applies an outline of the
  62811. * given width with the given color, which by default is the maximum
  62812. * contrast to the text. So a bright text color will result in a black text
  62813. * outline for maximum readability on a mixed background. In some cases,
  62814. * especially with grayscale text, the text outline doesn't work well, in
  62815. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  62816. * is true, the `textOutline` will not be picked up. In this, case, the same
  62817. * effect can be acheived through the `text-shadow` CSS property.
  62818. *
  62819. * For some series types, where each point has an extent, like for example
  62820. * tree maps, the data label may overflow the point. There are two
  62821. * strategies for handling overflow. By default, the text will wrap to
  62822. * multiple lines. The other strategy is to set `style.textOverflow` to
  62823. * `ellipsis`, which will keep the text on one line plus it will break
  62824. * inside long words.
  62825. */
  62826. style?: CSSObject;
  62827. /**
  62828. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  62829. * should follow marker's shape. Border and background are disabled for a
  62830. * label that follows a path.
  62831. *
  62832. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  62833. * to true will disable this option.
  62834. */
  62835. textPath?: DataLabelsTextPathOptionsObject;
  62836. /**
  62837. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  62838. * the labels.
  62839. */
  62840. useHTML?: boolean;
  62841. /**
  62842. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  62843. * label. Can be one of `top`, `middle` or `bottom`. The default value
  62844. * depends on the data, for instance in a column chart, the label is above
  62845. * positive values and below negative values.
  62846. */
  62847. verticalAlign?: string;
  62848. /**
  62849. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  62850. * label relative to the point in pixels.
  62851. */
  62852. x?: number;
  62853. /**
  62854. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  62855. * label relative to the point in pixels.
  62856. */
  62857. y?: number;
  62858. /**
  62859. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  62860. * The default Z index puts it above the series. Use a Z index of 2 to
  62861. * display it behind the series.
  62862. */
  62863. z?: number;
  62864. }
  62865. /**
  62866. * (Highcharts, Highstock) Options for the series data sorting.
  62867. */
  62868. export interface PlotOhlcDataSortingOptions {
  62869. /**
  62870. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  62871. * Use xAxis.reversed to change the sorting order.
  62872. */
  62873. enabled?: boolean;
  62874. /**
  62875. * (Highcharts, Highstock) Whether to allow matching points by name in an
  62876. * update. If this option is disabled, points will be matched by order.
  62877. */
  62878. matchByName?: boolean;
  62879. /**
  62880. * (Highcharts, Highstock) Determines what data value should be used to sort
  62881. * by.
  62882. */
  62883. sortKey?: string;
  62884. }
  62885. /**
  62886. * (Highstock) Style options for the guide box. The guide box has one state by
  62887. * default, the `default` state.
  62888. */
  62889. export interface PlotOhlcDragDropGuideBoxOptions {
  62890. /**
  62891. * (Highstock) Style options for the guide box default state.
  62892. */
  62893. default?: DragDropGuideBoxOptionsObject;
  62894. }
  62895. /**
  62896. * (Highstock) An OHLC chart is a style of financial chart used to describe
  62897. * price movements over time. It displays open, high, low and close values per
  62898. * data point.
  62899. *
  62900. * In TypeScript the type option must always be set.
  62901. *
  62902. * Configuration options for the series are given in three levels:
  62903. *
  62904. * 1. Options for all series in a chart are defined in the plotOptions.series
  62905. * object.
  62906. *
  62907. * 2. Options for all `ohlc` series are defined in plotOptions.ohlc.
  62908. *
  62909. * 3. Options for one single series are given in the series instance array. (see
  62910. * online documentation for example)
  62911. */
  62912. export interface PlotOhlcOptions {
  62913. /**
  62914. * (Highstock) Accessibility options for a series.
  62915. */
  62916. accessibility?: SeriesAccessibilityOptionsObject;
  62917. /**
  62918. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  62919. * rendered. If `true`, areas which don't correspond to a data point, are
  62920. * rendered as `null` points. If `false`, those areas are skipped.
  62921. */
  62922. allAreas?: boolean;
  62923. /**
  62924. * (Highstock) Allow this series' points to be selected by clicking on the
  62925. * graphic (columns, point markers, pie slices, map areas etc).
  62926. *
  62927. * The selected points can be handled by point select and unselect events,
  62928. * or collectively by the getSelectedPoints function.
  62929. *
  62930. * And alternative way of selecting points is through dragging.
  62931. */
  62932. allowPointSelect?: boolean;
  62933. /**
  62934. * (Highstock) Enable or disable the initial animation when a series is
  62935. * displayed. The animation can also be set as a configuration object.
  62936. * Please note that this option only applies to the initial animation of the
  62937. * series itself. For other animations, see chart.animation and the
  62938. * animation parameter under the API methods. The following properties are
  62939. * supported:
  62940. *
  62941. * - `defer`: The animation delay time in milliseconds.
  62942. *
  62943. * - `duration`: The duration of the animation in milliseconds.
  62944. *
  62945. * - `easing`: Can be a string reference to an easing function set on the
  62946. * `Math` object or a function. See the _Custom easing function_ demo below.
  62947. *
  62948. * Due to poor performance, animation is disabled in old IE browsers for
  62949. * several chart types.
  62950. */
  62951. animation?: (boolean|PlotOhlcAnimationOptions|Partial<AnimationOptionsObject>);
  62952. /**
  62953. * (Highstock) For some series, there is a limit that shuts down initial
  62954. * animation by default when the total number of points in the chart is too
  62955. * high. For example, for a column chart and its derivatives, animation does
  62956. * not run if there is more than 250 points totally. To disable this cap,
  62957. * set `animationLimit` to `Infinity`.
  62958. */
  62959. animationLimit?: number;
  62960. /**
  62961. * (Highstock) Sets the color blending in the boost module.
  62962. */
  62963. boostBlending?: OptionsBoostBlendingValue;
  62964. /**
  62965. * (Highstock) Set the point threshold for when a series should enter boost
  62966. * mode.
  62967. *
  62968. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  62969. * there are 2000 or more points in the series.
  62970. *
  62971. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  62972. * it to 1 will force boosting.
  62973. *
  62974. * Note that the cropThreshold also affects this setting. When zooming in on
  62975. * a series that has fewer points than the `cropThreshold`, all points are
  62976. * rendered although outside the visible plot area, and the `boostThreshold`
  62977. * won't take effect.
  62978. */
  62979. boostThreshold?: number;
  62980. /**
  62981. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  62982. * the category, ignoring null or missing points. When `false`, space will
  62983. * be reserved for null or missing points.
  62984. */
  62985. centerInCategory?: boolean;
  62986. /**
  62987. * (Highstock) An additional class name to apply to the series' graphical
  62988. * elements. This option does not replace default class names of the
  62989. * graphical element.
  62990. */
  62991. className?: string;
  62992. /**
  62993. * (Highstock) Disable this option to allow series rendering in the whole
  62994. * plotting area.
  62995. *
  62996. * **Note:** Clipping should be always enabled when chart.zoomType is set
  62997. */
  62998. clip?: boolean;
  62999. /**
  63000. * (Highstock) The main color of the series. In line type series it applies
  63001. * to the line and the point markers unless otherwise specified. In bar type
  63002. * series it applies to the bars unless a color is specified per point. The
  63003. * default value is pulled from the `options.colors` array.
  63004. *
  63005. * In styled mode, the color can be defined by the colorIndex option. Also,
  63006. * the series color can be set with the `.highcharts-series`,
  63007. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  63008. * `.highcharts-series-{n}` class, or individual classes given by the
  63009. * `className` option.
  63010. */
  63011. color?: (ColorString|GradientColorObject|PatternObject);
  63012. /**
  63013. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  63014. * this number defines which colorAxis the particular series is connected
  63015. * to. It refers to either the axis id or the index of the axis in the
  63016. * colorAxis array, with 0 being the first. Set this option to false to
  63017. * prevent a series from connecting to the default color axis.
  63018. *
  63019. * Since v7.2.0 the option can also be an axis id or an axis index instead
  63020. * of a boolean flag.
  63021. */
  63022. colorAxis?: (boolean|number|string);
  63023. /**
  63024. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  63025. * from the global colors or series-specific plotOptions.column.colors
  63026. * collections, this option determines whether the chart should receive one
  63027. * color per series or one color per point.
  63028. *
  63029. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  63030. * and instead this option gives the points individual color class names on
  63031. * the form `highcharts-color-{n}`.
  63032. */
  63033. colorByPoint?: boolean;
  63034. /**
  63035. * (Highstock) Styled mode only. A specific color index to use for the
  63036. * series, so its graphic representations are given the class name
  63037. * `highcharts-color-{n}`.
  63038. */
  63039. colorIndex?: number;
  63040. /**
  63041. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  63042. * used to calculate point color if `colorAxis` is used. Requires to set
  63043. * `min` and `max` if some custom point property is used or if approximation
  63044. * for data grouping is set to `'sum'`.
  63045. */
  63046. colorKey?: string;
  63047. /**
  63048. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  63049. * color set to apply instead of the global colors when colorByPoint is
  63050. * true.
  63051. */
  63052. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  63053. /**
  63054. * (Highstock) Compare the values of the series against the first non-null,
  63055. * non- zero value in the visible range. The y axis will show percentage or
  63056. * absolute change depending on whether `compare` is set to `"percent"` or
  63057. * `"value"`. When this is applied to multiple series, it allows comparing
  63058. * the development of the series against each other. Adds a `change` field
  63059. * to every point object.
  63060. */
  63061. compare?: string;
  63062. /**
  63063. * (Highstock) When compare is `percent`, this option dictates whether to
  63064. * use 0 or 100 as the base of comparison.
  63065. */
  63066. compareBase?: (0|100);
  63067. /**
  63068. * (Highstock) Defines if comparison should start from the first point
  63069. * within the visible range or should start from the first point **before**
  63070. * the range.
  63071. *
  63072. * In other words, this flag determines if first point within the visible
  63073. * range will have 0% (`compareStart=true`) or should have been already
  63074. * calculated according to the previous point (`compareStart=false`).
  63075. */
  63076. compareStart?: boolean;
  63077. /**
  63078. * (Gantt) Override Pathfinder connector options for a series. Requires
  63079. * Highcharts Gantt to be loaded.
  63080. */
  63081. connectors?: SeriesConnectorsOptionsObject;
  63082. /**
  63083. * (Highcharts, Highstock, Gantt) When the series contains less points than
  63084. * the crop threshold, all points are drawn, event if the points fall
  63085. * outside the visible plot area at the current zoom. The advantage of
  63086. * drawing all points (including markers and columns), is that animation is
  63087. * performed on updates. On the other hand, when the series contains more
  63088. * points than the crop threshold, the series data is cropped to only
  63089. * contain points that fall within the plot area. The advantage of cropping
  63090. * away invisible points is to increase performance on large series.
  63091. */
  63092. cropThreshold?: number;
  63093. /**
  63094. * (Highstock) You can set the cursor to "pointer" if you have click events
  63095. * attached to the series, to signal to the user that the points and lines
  63096. * can be clicked.
  63097. *
  63098. * In styled mode, the series cursor can be set with the same classes as
  63099. * listed under series.color.
  63100. */
  63101. cursor?: (string|CursorValue);
  63102. /**
  63103. * (Highstock) A reserved subspace to store options and values for
  63104. * customized functionality. Here you can add additional data for your own
  63105. * event callbacks and formatter callbacks.
  63106. */
  63107. custom?: Dictionary<any>;
  63108. /**
  63109. * (Highstock) Name of the dash style to use for the graph, or for some
  63110. * series types the outline of each shape.
  63111. *
  63112. * In styled mode, the stroke dash-array can be set with the same classes as
  63113. * listed under series.color.
  63114. */
  63115. dashStyle?: DashStyleValue;
  63116. /**
  63117. * (Highstock) Data grouping is the concept of sampling the data values into
  63118. * larger blocks in order to ease readability and increase performance of
  63119. * the JavaScript charts. Highstock by default applies data grouping when
  63120. * the points become closer than a certain pixel value, determined by the
  63121. * `groupPixelWidth` option.
  63122. *
  63123. * If data grouping is applied, the grouping information of grouped points
  63124. * can be read from the Point.dataGroup. If point options other than the
  63125. * data itself are set, for example `name` or `color` or custom properties,
  63126. * the grouping logic doesn't know how to group it. In this case the options
  63127. * of the first point instance are copied over to the group point. This can
  63128. * be altered through a custom `approximation` callback function.
  63129. */
  63130. dataGrouping?: DataGroupingOptionsObject;
  63131. /**
  63132. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  63133. * labels, appearing next to each data point.
  63134. *
  63135. * Since v6.2.0, multiple data labels can be applied to each single point by
  63136. * defining them as an array of configs.
  63137. *
  63138. * In styled mode, the data labels can be styled with the
  63139. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  63140. * (see example).
  63141. */
  63142. dataLabels?: (PlotOhlcDataLabelsOptions|Array<PlotOhlcDataLabelsOptions>);
  63143. /**
  63144. * (Highcharts, Highstock) Options for the series data sorting.
  63145. */
  63146. dataSorting?: (DataSortingOptionsObject|PlotOhlcDataSortingOptions);
  63147. /**
  63148. * (Highcharts) Depth of the columns in a 3D column chart.
  63149. */
  63150. depth?: number;
  63151. /**
  63152. * (Highstock) A description of the series to add to the screen reader
  63153. * information about the series.
  63154. */
  63155. description?: string;
  63156. /**
  63157. * (Highstock) The draggable-points module allows points to be moved around
  63158. * or modified in the chart. In addition to the options mentioned under the
  63159. * `dragDrop` API structure, the module fires three events, point.dragStart,
  63160. * point.drag and point.drop.
  63161. */
  63162. dragDrop?: SeriesDragDropOptionsObject;
  63163. /**
  63164. * (Highcharts) 3D columns only. The color of the edges. Similar to
  63165. * `borderColor`, except it defaults to the same color as the column.
  63166. */
  63167. edgeColor?: ColorString;
  63168. /**
  63169. * (Highcharts) 3D columns only. The width of the colored edges.
  63170. */
  63171. edgeWidth?: number;
  63172. /**
  63173. * (Highstock) Enable or disable the mouse tracking for a specific series.
  63174. * This includes point tooltips and click events on graphs and points. For
  63175. * large datasets it improves performance.
  63176. */
  63177. enableMouseTracking?: boolean;
  63178. /**
  63179. * (Highstock) General event handlers for the series items. These event
  63180. * hooks can also be attached to the series at run time using the
  63181. * `Highcharts.addEvent` function.
  63182. */
  63183. events?: SeriesEventsOptionsObject;
  63184. /**
  63185. * (Highstock) Determines whether the series should look for the nearest
  63186. * point in both dimensions or just the x-dimension when hovering the
  63187. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  63188. * series. If the data has duplicate x-values, it is recommended to set this
  63189. * to `'xy'` to allow hovering over all points.
  63190. *
  63191. * Applies only to series types using nearest neighbor search (not direct
  63192. * hover) for tooltip.
  63193. */
  63194. findNearestPointBy?: OptionsFindNearestPointByValue;
  63195. /**
  63196. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  63197. * chart width or only the zoomed area when zooming in on parts of the X
  63198. * axis. By default, the Y axis adjusts to the min and max of the visible
  63199. * data. Cartesian series only.
  63200. */
  63201. getExtremesFromAll?: boolean;
  63202. /**
  63203. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  63204. * let them render independent of each other. Non-grouped columns will be
  63205. * laid out individually and overlap each other.
  63206. */
  63207. grouping?: boolean;
  63208. /**
  63209. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  63210. * axis units.
  63211. */
  63212. groupPadding?: number;
  63213. /**
  63214. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  63215. */
  63216. groupZPadding?: number;
  63217. /**
  63218. * (Highstock) When set to `false` will prevent the series data from being
  63219. * included in any form of data export.
  63220. *
  63221. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  63222. * `includeInCSVExport`.
  63223. */
  63224. includeInDataExport?: boolean;
  63225. /**
  63226. * (Highmaps) What property to join the `mapData` to the value data. For
  63227. * example, if joinBy is "code", the mapData items with a specific code is
  63228. * merged into the data with the same code. For maps loaded from GeoJSON,
  63229. * the keys may be held in each point's `properties` object.
  63230. *
  63231. * The joinBy option can also be an array of two values, where the first
  63232. * points to a key in the `mapData`, and the second points to another key in
  63233. * the `data`.
  63234. *
  63235. * When joinBy is `null`, the map items are joined by their position in the
  63236. * array, which performs much better in maps with many data points. This is
  63237. * the recommended option if you are printing more than a thousand data
  63238. * points and have a backend that can preprocess the data into a parallel
  63239. * array of the mapData.
  63240. */
  63241. joinBy?: (string|Array<string>);
  63242. /**
  63243. * (Highstock) An array specifying which option maps to which key in the
  63244. * data point array. This makes it convenient to work with unstructured data
  63245. * arrays from different sources.
  63246. */
  63247. keys?: Array<string>;
  63248. /**
  63249. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  63250. * series as possible in a natural way, seeking to avoid other series. The
  63251. * goal of this feature is to make the chart more easily readable, like if a
  63252. * human designer placed the labels in the optimal position.
  63253. *
  63254. * The series labels currently work with series types having a `graph` or an
  63255. * `area`.
  63256. */
  63257. label?: SeriesLabelOptionsObject;
  63258. /**
  63259. * (Highstock) The line marks the last price from all points.
  63260. */
  63261. lastPrice?: SeriesLastPriceOptionsObject;
  63262. /**
  63263. * (Highstock) The line marks the last price from visible range of points.
  63264. */
  63265. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  63266. /**
  63267. * (Highstock) The pixel width of the line/border. Defaults to `1`.
  63268. */
  63269. lineWidth?: number;
  63270. /**
  63271. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  63272. * Additionally, the value can be ":previous" to link to the previous
  63273. * series. When two series are linked, only the first one appears in the
  63274. * legend. Toggling the visibility of this also toggles the linked series.
  63275. *
  63276. * If master series uses data sorting and linked series does not have its
  63277. * own sorting definition, the linked series will be sorted in the same
  63278. * order as the master one.
  63279. */
  63280. linkedTo?: string;
  63281. /**
  63282. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  63283. * column, translated to the height of a bar in a bar chart. This prevents
  63284. * the columns from becoming too wide when there is a small number of points
  63285. * in the chart.
  63286. */
  63287. maxPointWidth?: number;
  63288. /**
  63289. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  63290. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  63291. * to zero) point, set the minimal point length to a pixel value like 3\. In
  63292. * stacked column charts, minPointLength might not be respected for tightly
  63293. * packed values.
  63294. */
  63295. minPointLength?: number;
  63296. /**
  63297. * (Highstock) Options for the corresponding navigator series if
  63298. * `showInNavigator` is `true` for this series. Available options are the
  63299. * same as any series, documented at plotOptions and series.
  63300. *
  63301. * These options are merged with options in navigator.series, and will take
  63302. * precedence if the same option is defined both places.
  63303. */
  63304. navigatorOptions?: PlotSeriesOptions;
  63305. /**
  63306. * (Highstock) The color for the parts of the graph or points that are below
  63307. * the threshold. Note that `zones` takes precedence over the negative
  63308. * color. Using `negativeColor` is equivalent to applying a zone with value
  63309. * of 0.
  63310. */
  63311. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  63312. /**
  63313. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  63314. * dataLabels.
  63315. */
  63316. opacity?: number;
  63317. /**
  63318. * (Highstock) Properties for each single point.
  63319. */
  63320. point?: PlotSeriesPointOptions;
  63321. /**
  63322. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  63323. * individual series. Overrides the chart wide configuration.
  63324. */
  63325. pointDescriptionFormatter?: Function;
  63326. /**
  63327. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  63328. * a series, `pointInterval` defines the interval of the x values. For
  63329. * example, if a series contains one value every decade starting from year
  63330. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  63331. * `pointInterval` is set in milliseconds.
  63332. *
  63333. * It can be also be combined with `pointIntervalUnit` to draw irregular
  63334. * time intervals.
  63335. *
  63336. * Please note that this options applies to the _series data_, not the
  63337. * interval of the axis ticks, which is independent.
  63338. */
  63339. pointInterval?: number;
  63340. /**
  63341. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  63342. * setting the pointInterval to irregular time units, `day`, `month` and
  63343. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  63344. * also takes the DST crossover into consideration when dealing with local
  63345. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  63346. * months, 10 years etc.
  63347. *
  63348. * Please note that this options applies to the _series data_, not the
  63349. * interval of the axis ticks, which is independent.
  63350. */
  63351. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  63352. /**
  63353. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  63354. * axis units.
  63355. */
  63356. pointPadding?: number;
  63357. /**
  63358. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  63359. * `number`.
  63360. *
  63361. * In a column chart, when pointPlacement is `"on"`, the point will not
  63362. * create any padding of the X axis. In a polar column chart this means that
  63363. * the first column points directly north. If the pointPlacement is
  63364. * `"between"`, the columns will be laid out between ticks. This is useful
  63365. * for example for visualising an amount between two points in time or in a
  63366. * certain sector of a polar chart.
  63367. *
  63368. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  63369. * is on the axis value, -0.5 is between this value and the previous, and
  63370. * 0.5 is between this value and the next. Unlike the textual options,
  63371. * numeric point placement options won't affect axis padding.
  63372. *
  63373. * Note that pointPlacement needs a pointRange to work. For column series
  63374. * this is computed, but for line-type series it needs to be set.
  63375. *
  63376. * For the `xrange` series type and gantt charts, if the Y axis is a
  63377. * category axis, the `pointPlacement` applies to the Y axis rather than the
  63378. * (typically datetime) X axis.
  63379. *
  63380. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  63381. */
  63382. pointPlacement?: (number|string);
  63383. /**
  63384. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  63385. * for. This determines the width of the column. On a categorized axis, the
  63386. * range will be 1 by default (one category unit). On linear and datetime
  63387. * axes, the range will be computed as the distance between the two closest
  63388. * data points.
  63389. *
  63390. * The default `null` means it is computed automatically, but this option
  63391. * can be used to override the automatic value.
  63392. *
  63393. * This option is set by default to 1 if data sorting is enabled.
  63394. */
  63395. pointRange?: (number|null);
  63396. /**
  63397. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  63398. * a series, pointStart defines on what value to start. For example, if a
  63399. * series contains one yearly value starting from 1945, set pointStart to
  63400. * 1945.
  63401. */
  63402. pointStart?: number;
  63403. /**
  63404. * (Highstock) Determines which one of `open`, `high`, `low`, `close` values
  63405. * should be represented as `point.y`, which is later used to set dataLabel
  63406. * position and compare.
  63407. */
  63408. pointValKey?: OptionsPointValKeyValue;
  63409. /**
  63410. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  63411. * each column or bar point. When `null`, the width is calculated from the
  63412. * `pointPadding` and `groupPadding`. The width effects the dimension that
  63413. * is not based on the point value. For column series it is the hoizontal
  63414. * length and for bar series it is the vertical length.
  63415. */
  63416. pointWidth?: number;
  63417. /**
  63418. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  63419. * true, the checkbox next to the series name in the legend will be checked
  63420. * for a selected series.
  63421. */
  63422. selected?: boolean;
  63423. /**
  63424. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  63425. * the shadow can be an object configuration containing `color`, `offsetX`,
  63426. * `offsetY`, `opacity` and `width`.
  63427. */
  63428. shadow?: (boolean|ShadowOptionsObject);
  63429. /**
  63430. * (Highstock) If true, a checkbox is displayed next to the legend item to
  63431. * allow selecting the series. The state of the checkbox is determined by
  63432. * the `selected` option.
  63433. */
  63434. showCheckbox?: boolean;
  63435. /**
  63436. * (Highstock) Whether to display this particular series or series type in
  63437. * the legend. Standalone series are shown in legend by default, and linked
  63438. * series are not. Since v7.2.0 it is possible to show series that use
  63439. * colorAxis by setting this option to `true`.
  63440. */
  63441. showInLegend?: boolean;
  63442. /**
  63443. * (Highstock) Whether or not to show the series in the navigator. Takes
  63444. * precedence over navigator.baseSeries if defined.
  63445. */
  63446. showInNavigator?: boolean;
  63447. /**
  63448. * (Highstock) If set to `true`, the accessibility module will skip past the
  63449. * points in this series for keyboard navigation.
  63450. */
  63451. skipKeyboardNavigation?: boolean;
  63452. /**
  63453. * (Highcharts, Highstock) When this is true, the series will not cause the
  63454. * Y axis to cross the zero plane (or threshold option) unless the data
  63455. * actually crosses the plane.
  63456. *
  63457. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  63458. * make the Y axis show negative values according to the `minPadding`
  63459. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  63460. */
  63461. softThreshold?: boolean;
  63462. states?: SeriesStatesOptionsObject;
  63463. /**
  63464. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  63465. * event on a series isn't triggered until the mouse moves over another
  63466. * series, or out of the plot area. When false, the `mouseOut` event on a
  63467. * series is triggered when the mouse leaves the area around the series'
  63468. * graph or markers. This also implies the tooltip when not shared. When
  63469. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  63470. * be hidden when moving the mouse between series. Defaults to true for line
  63471. * and area type series, but to false for columns, pies etc.
  63472. *
  63473. * **Note:** The boost module will force this option because of technical
  63474. * limitations.
  63475. */
  63476. stickyTracking?: boolean;
  63477. /**
  63478. * (Highcharts) The Y axis value to serve as the base for the columns, for
  63479. * distinguishing between values above and below a threshold. If `null`, the
  63480. * columns extend from the padding Y axis minimum.
  63481. */
  63482. threshold?: (number|null);
  63483. /**
  63484. * (Highstock) A configuration object for the tooltip rendering of each
  63485. * single series. Properties are inherited from tooltip, but only the
  63486. * following properties can be defined on a series level.
  63487. */
  63488. tooltip?: SeriesTooltipOptionsObject;
  63489. /**
  63490. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  63491. * is longer than this, only one dimensional arrays of numbers, or two
  63492. * dimensional arrays with x and y values are allowed. Also, only the first
  63493. * point is tested, and the rest are assumed to be the same format. This
  63494. * saves expensive data checking and indexing in long series. Set it to `0`
  63495. * disable.
  63496. *
  63497. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  63498. * two dimensional arrays are allowed.
  63499. */
  63500. turboThreshold?: number;
  63501. /**
  63502. * (Highstock) Line color for up points.
  63503. */
  63504. upColor?: (ColorString|GradientColorObject|PatternObject);
  63505. /**
  63506. * (Highstock) Set the initial visibility of the series.
  63507. */
  63508. visible?: boolean;
  63509. /**
  63510. * (Highmaps) Define the z index of the series.
  63511. */
  63512. zIndex?: number;
  63513. /**
  63514. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  63515. */
  63516. zoneAxis?: string;
  63517. /**
  63518. * (Highcharts, Highstock) An array defining zones within a series. Zones
  63519. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  63520. * the `zoneAxis` option. The zone definitions have to be in ascending order
  63521. * regarding to the value.
  63522. *
  63523. * In styled mode, the color zones are styled with the
  63524. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  63525. * option (view live demo).
  63526. */
  63527. zones?: Array<SeriesZonesOptionsObject>;
  63528. }
  63529. /**
  63530. * (Highcharts, Highstock, Highmaps, Gantt) The plotOptions is a wrapper object
  63531. * for config objects for each series type. The config objects for each series
  63532. * can also be overridden for each series item as given in the series array.
  63533. *
  63534. * Configuration options for the series are given in three levels. Options for
  63535. * all series in a chart are given in the plotOptions.series object. Then
  63536. * options for all series of a specific type are given in the plotOptions of
  63537. * that type, for example `plotOptions.line`. Next, options for one single
  63538. * series are given in the series array.
  63539. */
  63540. export interface PlotOptions {
  63541. /**
  63542. * (Highstock) Acceleration bands (ABANDS). This series requires the
  63543. * `linkedTo` option to be set and should be loaded after the
  63544. * `stock/indicators/indicators.js`.
  63545. *
  63546. * In TypeScript the type option must always be set.
  63547. *
  63548. * Configuration options for the series are given in three levels:
  63549. *
  63550. * 1. Options for all series in a chart are defined in the
  63551. * plotOptions.series object.
  63552. *
  63553. * 2. Options for all `abands` series are defined in plotOptions.abands.
  63554. *
  63555. * 3. Options for one single series are given in the series instance array.
  63556. * (see online documentation for example)
  63557. */
  63558. abands?: PlotAbandsOptions;
  63559. /**
  63560. * (Highstock) Accumulation Distribution (AD). This series requires
  63561. * `linkedTo` option to be set.
  63562. *
  63563. * In TypeScript the type option must always be set.
  63564. *
  63565. * Configuration options for the series are given in three levels:
  63566. *
  63567. * 1. Options for all series in a chart are defined in the
  63568. * plotOptions.series object.
  63569. *
  63570. * 2. Options for all `ad` series are defined in plotOptions.ad.
  63571. *
  63572. * 3. Options for one single series are given in the series instance array.
  63573. * (see online documentation for example)
  63574. */
  63575. ad?: PlotAdOptions;
  63576. /**
  63577. * (Highstock) Awesome Oscillator. This series requires the `linkedTo`
  63578. * option to be set and should be loaded after the
  63579. * `stock/indicators/indicators.js`
  63580. *
  63581. * In TypeScript the type option must always be set.
  63582. *
  63583. * Configuration options for the series are given in three levels:
  63584. *
  63585. * 1. Options for all series in a chart are defined in the
  63586. * plotOptions.series object.
  63587. *
  63588. * 2. Options for all `ao` series are defined in plotOptions.ao.
  63589. *
  63590. * 3. Options for one single series are given in the series instance array.
  63591. * (see online documentation for example)
  63592. */
  63593. ao?: PlotAoOptions;
  63594. /**
  63595. * (Highstock) Absolute Price Oscillator. This series requires the
  63596. * `linkedTo` option to be set and should be loaded after the
  63597. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  63598. *
  63599. * In TypeScript the type option must always be set.
  63600. *
  63601. * Configuration options for the series are given in three levels:
  63602. *
  63603. * 1. Options for all series in a chart are defined in the
  63604. * plotOptions.series object.
  63605. *
  63606. * 2. Options for all `apo` series are defined in plotOptions.apo.
  63607. *
  63608. * 3. Options for one single series are given in the series instance array.
  63609. * (see online documentation for example)
  63610. */
  63611. apo?: PlotApoOptions;
  63612. /**
  63613. * (Highcharts, Highstock) The area series type.
  63614. *
  63615. * In TypeScript the type option must always be set.
  63616. *
  63617. * Configuration options for the series are given in three levels:
  63618. *
  63619. * 1. Options for all series in a chart are defined in the
  63620. * plotOptions.series object.
  63621. *
  63622. * 2. Options for all `area` series are defined in plotOptions.area.
  63623. *
  63624. * 3. Options for one single series are given in the series instance array.
  63625. * (see online documentation for example)
  63626. */
  63627. area?: PlotAreaOptions;
  63628. /**
  63629. * (Highcharts, Highstock) The area range series is a carteseian series with
  63630. * higher and lower values for each point along an X axis, where the area
  63631. * between the values is shaded.
  63632. *
  63633. * In TypeScript the type option must always be set.
  63634. *
  63635. * Configuration options for the series are given in three levels:
  63636. *
  63637. * 1. Options for all series in a chart are defined in the
  63638. * plotOptions.series object.
  63639. *
  63640. * 2. Options for all `arearange` series are defined in
  63641. * plotOptions.arearange.
  63642. *
  63643. * 3. Options for one single series are given in the series instance array.
  63644. * (see online documentation for example)
  63645. */
  63646. arearange?: PlotArearangeOptions;
  63647. /**
  63648. * (Highcharts, Highstock) The area spline series is an area series where
  63649. * the graph between the points is smoothed into a spline.
  63650. *
  63651. * In TypeScript the type option must always be set.
  63652. *
  63653. * Configuration options for the series are given in three levels:
  63654. *
  63655. * 1. Options for all series in a chart are defined in the
  63656. * plotOptions.series object.
  63657. *
  63658. * 2. Options for all `areaspline` series are defined in
  63659. * plotOptions.areaspline.
  63660. *
  63661. * 3. Options for one single series are given in the series instance array.
  63662. * (see online documentation for example)
  63663. */
  63664. areaspline?: PlotAreasplineOptions;
  63665. /**
  63666. * (Highcharts, Highstock) The area spline range is a cartesian series type
  63667. * with higher and lower Y values along an X axis. The area inside the range
  63668. * is colored, and the graph outlining the area is a smoothed spline.
  63669. *
  63670. * In TypeScript the type option must always be set.
  63671. *
  63672. * Configuration options for the series are given in three levels:
  63673. *
  63674. * 1. Options for all series in a chart are defined in the
  63675. * plotOptions.series object.
  63676. *
  63677. * 2. Options for all `areasplinerange` series are defined in
  63678. * plotOptions.areasplinerange.
  63679. *
  63680. * 3. Options for one single series are given in the series instance array.
  63681. * (see online documentation for example)
  63682. */
  63683. areasplinerange?: PlotAreasplinerangeOptions;
  63684. /**
  63685. * (Highstock) Aroon. This series requires the `linkedTo` option to be set
  63686. * and should be loaded after the `stock/indicators/indicators.js`.
  63687. *
  63688. * In TypeScript the type option must always be set.
  63689. *
  63690. * Configuration options for the series are given in three levels:
  63691. *
  63692. * 1. Options for all series in a chart are defined in the
  63693. * plotOptions.series object.
  63694. *
  63695. * 2. Options for all `aroon` series are defined in plotOptions.aroon.
  63696. *
  63697. * 3. Options for one single series are given in the series instance array.
  63698. * (see online documentation for example)
  63699. */
  63700. aroon?: PlotAroonOptions;
  63701. /**
  63702. * (Highstock) Aroon Oscillator. This series requires the `linkedTo` option
  63703. * to be set and should be loaded after the `stock/indicators/indicators.js`
  63704. * and `stock/indicators/aroon.js`.
  63705. *
  63706. * In TypeScript the type option must always be set.
  63707. *
  63708. * Configuration options for the series are given in three levels:
  63709. *
  63710. * 1. Options for all series in a chart are defined in the
  63711. * plotOptions.series object.
  63712. *
  63713. * 2. Options for all `aroonoscillator` series are defined in
  63714. * plotOptions.aroonoscillator.
  63715. *
  63716. * 3. Options for one single series are given in the series instance array.
  63717. * (see online documentation for example)
  63718. */
  63719. aroonoscillator?: PlotAroonoscillatorOptions;
  63720. /**
  63721. * (Highstock) Average true range indicator (ATR). This series requires
  63722. * `linkedTo` option to be set.
  63723. *
  63724. * In TypeScript the type option must always be set.
  63725. *
  63726. * Configuration options for the series are given in three levels:
  63727. *
  63728. * 1. Options for all series in a chart are defined in the
  63729. * plotOptions.series object.
  63730. *
  63731. * 2. Options for all `atr` series are defined in plotOptions.atr.
  63732. *
  63733. * 3. Options for one single series are given in the series instance array.
  63734. * (see online documentation for example)
  63735. */
  63736. atr?: PlotAtrOptions;
  63737. /**
  63738. * (Highcharts) A bar series is a special type of column series where the
  63739. * columns are horizontal.
  63740. *
  63741. * In TypeScript the type option must always be set.
  63742. *
  63743. * Configuration options for the series are given in three levels:
  63744. *
  63745. * 1. Options for all series in a chart are defined in the
  63746. * plotOptions.series object.
  63747. *
  63748. * 2. Options for all `bar` series are defined in plotOptions.bar.
  63749. *
  63750. * 3. Options for one single series are given in the series instance array.
  63751. * (see online documentation for example)
  63752. */
  63753. bar?: PlotBarOptions;
  63754. /**
  63755. * (Highstock) Bollinger bands (BB). This series requires the `linkedTo`
  63756. * option to be set and should be loaded after the
  63757. * `stock/indicators/indicators.js` file.
  63758. *
  63759. * In TypeScript the type option must always be set.
  63760. *
  63761. * Configuration options for the series are given in three levels:
  63762. *
  63763. * 1. Options for all series in a chart are defined in the
  63764. * plotOptions.series object.
  63765. *
  63766. * 2. Options for all `bb` series are defined in plotOptions.bb.
  63767. *
  63768. * 3. Options for one single series are given in the series instance array.
  63769. * (see online documentation for example)
  63770. */
  63771. bb?: PlotBbOptions;
  63772. /**
  63773. * (Highcharts) A bell curve is an areaspline series which represents the
  63774. * probability density function of the normal distribution. It calculates
  63775. * mean and standard deviation of the base series data and plots the curve
  63776. * according to the calculated parameters.
  63777. *
  63778. * In TypeScript the type option must always be set.
  63779. *
  63780. * Configuration options for the series are given in three levels:
  63781. *
  63782. * 1. Options for all series in a chart are defined in the
  63783. * plotOptions.series object.
  63784. *
  63785. * 2. Options for all `bellcurve` series are defined in
  63786. * plotOptions.bellcurve.
  63787. *
  63788. * 3. Options for one single series are given in the series instance array.
  63789. * (see online documentation for example)
  63790. */
  63791. bellcurve?: PlotBellcurveOptions;
  63792. /**
  63793. * (Highcharts) A box plot is a convenient way of depicting groups of data
  63794. * through their five-number summaries: the smallest observation (sample
  63795. * minimum), lower quartile (Q1), median (Q2), upper quartile (Q3), and
  63796. * largest observation (sample maximum).
  63797. *
  63798. * In TypeScript the type option must always be set.
  63799. *
  63800. * Configuration options for the series are given in three levels:
  63801. *
  63802. * 1. Options for all series in a chart are defined in the
  63803. * plotOptions.series object.
  63804. *
  63805. * 2. Options for all `boxplot` series are defined in plotOptions.boxplot.
  63806. *
  63807. * 3. Options for one single series are given in the series instance array.
  63808. * (see online documentation for example)
  63809. */
  63810. boxplot?: PlotBoxplotOptions;
  63811. /**
  63812. * (Highcharts, Highstock) A bubble series is a three dimensional series
  63813. * type where each point renders an X, Y and Z value. Each points is drawn
  63814. * as a bubble where the position along the X and Y axes mark the X and Y
  63815. * values, and the size of the bubble relates to the Z value.
  63816. *
  63817. * In TypeScript the type option must always be set.
  63818. *
  63819. * Configuration options for the series are given in three levels:
  63820. *
  63821. * 1. Options for all series in a chart are defined in the
  63822. * plotOptions.series object.
  63823. *
  63824. * 2. Options for all `bubble` series are defined in plotOptions.bubble.
  63825. *
  63826. * 3. Options for one single series are given in the series instance array.
  63827. * (see online documentation for example)
  63828. */
  63829. bubble?: PlotBubbleOptions;
  63830. /**
  63831. * (Highcharts) A bullet graph is a variation of a bar graph. The bullet
  63832. * graph features a single measure, compares it to a target, and displays it
  63833. * in the context of qualitative ranges of performance that could be set
  63834. * using plotBands on yAxis.
  63835. *
  63836. * In TypeScript the type option must always be set.
  63837. *
  63838. * Configuration options for the series are given in three levels:
  63839. *
  63840. * 1. Options for all series in a chart are defined in the
  63841. * plotOptions.series object.
  63842. *
  63843. * 2. Options for all `bullet` series are defined in plotOptions.bullet.
  63844. *
  63845. * 3. Options for one single series are given in the series instance array.
  63846. * (see online documentation for example)
  63847. */
  63848. bullet?: PlotBulletOptions;
  63849. /**
  63850. * (Highstock) A candlestick chart is a style of financial chart used to
  63851. * describe price movements over time.
  63852. *
  63853. * In TypeScript the type option must always be set.
  63854. *
  63855. * Configuration options for the series are given in three levels:
  63856. *
  63857. * 1. Options for all series in a chart are defined in the
  63858. * plotOptions.series object.
  63859. *
  63860. * 2. Options for all `candlestick` series are defined in
  63861. * plotOptions.candlestick.
  63862. *
  63863. * 3. Options for one single series are given in the series instance array.
  63864. * (see online documentation for example)
  63865. */
  63866. candlestick?: PlotCandlestickOptions;
  63867. /**
  63868. * (Highstock) Commodity Channel Index (CCI). This series requires
  63869. * `linkedTo` option to be set.
  63870. *
  63871. * In TypeScript the type option must always be set.
  63872. *
  63873. * Configuration options for the series are given in three levels:
  63874. *
  63875. * 1. Options for all series in a chart are defined in the
  63876. * plotOptions.series object.
  63877. *
  63878. * 2. Options for all `cci` series are defined in plotOptions.cci.
  63879. *
  63880. * 3. Options for one single series are given in the series instance array.
  63881. * (see online documentation for example)
  63882. */
  63883. cci?: PlotCciOptions;
  63884. /**
  63885. * (Highstock) Chaikin Oscillator. This series requires the `linkedTo`
  63886. * option to be set and should be loaded after the
  63887. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  63888. *
  63889. * In TypeScript the type option must always be set.
  63890. *
  63891. * Configuration options for the series are given in three levels:
  63892. *
  63893. * 1. Options for all series in a chart are defined in the
  63894. * plotOptions.series object.
  63895. *
  63896. * 2. Options for all `chaikin` series are defined in plotOptions.chaikin.
  63897. *
  63898. * 3. Options for one single series are given in the series instance array.
  63899. * (see online documentation for example)
  63900. */
  63901. chaikin?: PlotChaikinOptions;
  63902. /**
  63903. * (Highstock) Chaikin Money Flow indicator (cmf).
  63904. *
  63905. * In TypeScript the type option must always be set.
  63906. *
  63907. * Configuration options for the series are given in three levels:
  63908. *
  63909. * 1. Options for all series in a chart are defined in the
  63910. * plotOptions.series object.
  63911. *
  63912. * 2. Options for all `cmf` series are defined in plotOptions.cmf.
  63913. *
  63914. * 3. Options for one single series are given in the series instance array.
  63915. * (see online documentation for example)
  63916. */
  63917. cmf?: PlotCmfOptions;
  63918. /**
  63919. * (Highcharts, Highstock) Column series display one column per value along
  63920. * an X axis.
  63921. *
  63922. * In TypeScript the type option must always be set.
  63923. *
  63924. * Configuration options for the series are given in three levels:
  63925. *
  63926. * 1. Options for all series in a chart are defined in the
  63927. * plotOptions.series object.
  63928. *
  63929. * 2. Options for all `column` series are defined in plotOptions.column.
  63930. *
  63931. * 3. Options for one single series are given in the series instance array.
  63932. * (see online documentation for example)
  63933. */
  63934. column?: PlotColumnOptions;
  63935. /**
  63936. * (Highcharts, Highstock) Column pyramid series display one pyramid per
  63937. * value along an X axis. To display horizontal pyramids, set chart.inverted
  63938. * to `true`.
  63939. *
  63940. * In TypeScript the type option must always be set.
  63941. *
  63942. * Configuration options for the series are given in three levels:
  63943. *
  63944. * 1. Options for all series in a chart are defined in the
  63945. * plotOptions.series object.
  63946. *
  63947. * 2. Options for all `columnpyramid` series are defined in
  63948. * plotOptions.columnpyramid.
  63949. *
  63950. * 3. Options for one single series are given in the series instance array.
  63951. * (see online documentation for example)
  63952. */
  63953. columnpyramid?: PlotColumnpyramidOptions;
  63954. /**
  63955. * (Highcharts, Highstock) The column range is a cartesian series type with
  63956. * higher and lower Y values along an X axis. To display horizontal bars,
  63957. * set chart.inverted to `true`.
  63958. *
  63959. * In TypeScript the type option must always be set.
  63960. *
  63961. * Configuration options for the series are given in three levels:
  63962. *
  63963. * 1. Options for all series in a chart are defined in the
  63964. * plotOptions.series object.
  63965. *
  63966. * 2. Options for all `columnrange` series are defined in
  63967. * plotOptions.columnrange.
  63968. *
  63969. * 3. Options for one single series are given in the series instance array.
  63970. * (see online documentation for example)
  63971. */
  63972. columnrange?: PlotColumnrangeOptions;
  63973. /**
  63974. * (Highcharts) A cylinder graph is a variation of a 3d column graph. The
  63975. * cylinder graph features cylindrical points.
  63976. *
  63977. * In TypeScript the type option must always be set.
  63978. *
  63979. * Configuration options for the series are given in three levels:
  63980. *
  63981. * 1. Options for all series in a chart are defined in the
  63982. * plotOptions.series object.
  63983. *
  63984. * 2. Options for all `cylinder` series are defined in plotOptions.cylinder.
  63985. *
  63986. * 3. Options for one single series are given in the series instance array.
  63987. * (see online documentation for example)
  63988. */
  63989. cylinder?: PlotCylinderOptions;
  63990. /**
  63991. * (Highstock) Double exponential moving average (DEMA) indicator. This
  63992. * series requires `linkedTo` option to be set and should be loaded after
  63993. * the `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  63994. *
  63995. * In TypeScript the type option must always be set.
  63996. *
  63997. * Configuration options for the series are given in three levels:
  63998. *
  63999. * 1. Options for all series in a chart are defined in the
  64000. * plotOptions.series object.
  64001. *
  64002. * 2. Options for all `dema` series are defined in plotOptions.dema.
  64003. *
  64004. * 3. Options for one single series are given in the series instance array.
  64005. * (see online documentation for example)
  64006. */
  64007. dema?: PlotDemaOptions;
  64008. /**
  64009. * (Highcharts) A dependency wheel chart is a type of flow diagram, where
  64010. * all nodes are laid out in a circle, and the flow between the are drawn as
  64011. * link bands.
  64012. *
  64013. * In TypeScript the type option must always be set.
  64014. *
  64015. * Configuration options for the series are given in three levels:
  64016. *
  64017. * 1. Options for all series in a chart are defined in the
  64018. * plotOptions.series object.
  64019. *
  64020. * 2. Options for all `dependencywheel` series are defined in
  64021. * plotOptions.dependencywheel.
  64022. *
  64023. * 3. Options for one single series are given in the series instance array.
  64024. * (see online documentation for example)
  64025. */
  64026. dependencywheel?: PlotDependencywheelOptions;
  64027. /**
  64028. * (Highstock) Detrended Price Oscillator. This series requires the
  64029. * `linkedTo` option to be set and should be loaded after the
  64030. * `stock/indicators/indicators.js`.
  64031. *
  64032. * In TypeScript the type option must always be set.
  64033. *
  64034. * Configuration options for the series are given in three levels:
  64035. *
  64036. * 1. Options for all series in a chart are defined in the
  64037. * plotOptions.series object.
  64038. *
  64039. * 2. Options for all `dpo` series are defined in plotOptions.dpo.
  64040. *
  64041. * 3. Options for one single series are given in the series instance array.
  64042. * (see online documentation for example)
  64043. */
  64044. dpo?: PlotDpoOptions;
  64045. /**
  64046. * (Highcharts, Highstock) The dumbbell series is a cartesian series with
  64047. * higher and lower values for each point along an X axis, connected with a
  64048. * line between the values. Requires `highcharts-more.js` and
  64049. * `modules/dumbbell.js`.
  64050. *
  64051. * In TypeScript the type option must always be set.
  64052. *
  64053. * Configuration options for the series are given in three levels:
  64054. *
  64055. * 1. Options for all series in a chart are defined in the
  64056. * plotOptions.series object.
  64057. *
  64058. * 2. Options for all `dumbbell` series are defined in plotOptions.dumbbell.
  64059. *
  64060. * 3. Options for one single series are given in the series instance array.
  64061. * (see online documentation for example)
  64062. */
  64063. dumbbell?: PlotDumbbellOptions;
  64064. /**
  64065. * (Highstock) Exponential moving average indicator (EMA). This series
  64066. * requires the `linkedTo` option to be set.
  64067. *
  64068. * In TypeScript the type option must always be set.
  64069. *
  64070. * Configuration options for the series are given in three levels:
  64071. *
  64072. * 1. Options for all series in a chart are defined in the
  64073. * plotOptions.series object.
  64074. *
  64075. * 2. Options for all `ema` series are defined in plotOptions.ema.
  64076. *
  64077. * 3. Options for one single series are given in the series instance array.
  64078. * (see online documentation for example)
  64079. */
  64080. ema?: PlotEmaOptions;
  64081. /**
  64082. * (Highcharts, Highstock) Error bars are a graphical representation of the
  64083. * variability of data and are used on graphs to indicate the error, or
  64084. * uncertainty in a reported measurement.
  64085. *
  64086. * In TypeScript the type option must always be set.
  64087. *
  64088. * Configuration options for the series are given in three levels:
  64089. *
  64090. * 1. Options for all series in a chart are defined in the
  64091. * plotOptions.series object.
  64092. *
  64093. * 2. Options for all `errorbar` series are defined in plotOptions.errorbar.
  64094. *
  64095. * 3. Options for one single series are given in the series instance array.
  64096. * (see online documentation for example)
  64097. */
  64098. errorbar?: PlotErrorbarOptions;
  64099. /**
  64100. * (Highstock) Flags are used to mark events in stock charts. They can be
  64101. * added on the timeline, or attached to a specific series.
  64102. *
  64103. * In TypeScript the type option must always be set.
  64104. *
  64105. * Configuration options for the series are given in three levels:
  64106. *
  64107. * 1. Options for all series in a chart are defined in the
  64108. * plotOptions.series object.
  64109. *
  64110. * 2. Options for all `flags` series are defined in plotOptions.flags.
  64111. *
  64112. * 3. Options for one single series are given in the series instance array.
  64113. * (see online documentation for example)
  64114. */
  64115. flags?: PlotFlagsOptions;
  64116. /**
  64117. * (Highcharts) Funnel charts are a type of chart often used to visualize
  64118. * stages in a sales project, where the top are the initial stages with the
  64119. * most clients. It requires that the modules/funnel.js file is loaded.
  64120. *
  64121. * In TypeScript the type option must always be set.
  64122. *
  64123. * Configuration options for the series are given in three levels:
  64124. *
  64125. * 1. Options for all series in a chart are defined in the
  64126. * plotOptions.series object.
  64127. *
  64128. * 2. Options for all `funnel` series are defined in plotOptions.funnel.
  64129. *
  64130. * 3. Options for one single series are given in the series instance array.
  64131. * (see online documentation for example)
  64132. */
  64133. funnel?: PlotFunnelOptions;
  64134. /**
  64135. * (Highcharts) A funnel3d is a 3d version of funnel series type. Funnel
  64136. * charts are a type of chart often used to visualize stages in a sales
  64137. * project, where the top are the initial stages with the most clients.
  64138. *
  64139. * It requires that the `highcharts-3d.js`, `cylinder.js` and `funnel3d.js`
  64140. * module are loaded.
  64141. *
  64142. * In TypeScript the type option must always be set.
  64143. *
  64144. * Configuration options for the series are given in three levels:
  64145. *
  64146. * 1. Options for all series in a chart are defined in the
  64147. * plotOptions.series object.
  64148. *
  64149. * 2. Options for all `funnel3d` series are defined in plotOptions.funnel3d.
  64150. *
  64151. * 3. Options for one single series are given in the series instance array.
  64152. * (see online documentation for example)
  64153. */
  64154. funnel3d?: PlotFunnel3dOptions;
  64155. /**
  64156. * (Gantt) A `gantt` series. If the type option is not specified, it is
  64157. * inherited from chart.type.
  64158. *
  64159. * In TypeScript the type option must always be set.
  64160. *
  64161. * Configuration options for the series are given in three levels:
  64162. *
  64163. * 1. Options for all series in a chart are defined in the
  64164. * plotOptions.series object.
  64165. *
  64166. * 2. Options for all `gantt` series are defined in plotOptions.gantt.
  64167. *
  64168. * 3. Options for one single series are given in the series instance array.
  64169. * (see online documentation for example)
  64170. */
  64171. gantt?: PlotGanttOptions;
  64172. /**
  64173. * (Highcharts) Gauges are circular plots displaying one or more values with
  64174. * a dial pointing to values along the perimeter.
  64175. *
  64176. * In TypeScript the type option must always be set.
  64177. *
  64178. * Configuration options for the series are given in three levels:
  64179. *
  64180. * 1. Options for all series in a chart are defined in the
  64181. * plotOptions.series object.
  64182. *
  64183. * 2. Options for all `gauge` series are defined in plotOptions.gauge.
  64184. *
  64185. * 3. Options for one single series are given in the series instance array.
  64186. * (see online documentation for example)
  64187. */
  64188. gauge?: PlotGaugeOptions;
  64189. /**
  64190. * (Highcharts, Highmaps) A heatmap is a graphical representation of data
  64191. * where the individual values contained in a matrix are represented as
  64192. * colors.
  64193. *
  64194. * In TypeScript the type option must always be set.
  64195. *
  64196. * Configuration options for the series are given in three levels:
  64197. *
  64198. * 1. Options for all series in a chart are defined in the
  64199. * plotOptions.series object.
  64200. *
  64201. * 2. Options for all `heatmap` series are defined in plotOptions.heatmap.
  64202. *
  64203. * 3. Options for one single series are given in the series instance array.
  64204. * (see online documentation for example)
  64205. */
  64206. heatmap?: PlotHeatmapOptions;
  64207. /**
  64208. * (Highcharts) A histogram is a column series which represents the
  64209. * distribution of the data set in the base series. Histogram splits data
  64210. * into bins and shows their frequencies.
  64211. *
  64212. * In TypeScript the type option must always be set.
  64213. *
  64214. * Configuration options for the series are given in three levels:
  64215. *
  64216. * 1. Options for all series in a chart are defined in the
  64217. * plotOptions.series object.
  64218. *
  64219. * 2. Options for all `histogram` series are defined in
  64220. * plotOptions.histogram.
  64221. *
  64222. * 3. Options for one single series are given in the series instance array.
  64223. * (see online documentation for example)
  64224. */
  64225. histogram?: PlotHistogramOptions;
  64226. /**
  64227. * (Highstock) Ichimoku Kinko Hyo (IKH). This series requires `linkedTo`
  64228. * option to be set.
  64229. *
  64230. * In TypeScript the type option must always be set.
  64231. *
  64232. * Configuration options for the series are given in three levels:
  64233. *
  64234. * 1. Options for all series in a chart are defined in the
  64235. * plotOptions.series object.
  64236. *
  64237. * 2. Options for all `ikh` series are defined in plotOptions.ikh.
  64238. *
  64239. * 3. Options for one single series are given in the series instance array.
  64240. * (see online documentation for example)
  64241. */
  64242. ikh?: PlotIkhOptions;
  64243. /**
  64244. * (Highcharts) An item chart is an infographic chart where a number of
  64245. * items are laid out in either a rectangular or circular pattern. It can be
  64246. * used to visualize counts within a group, or for the circular pattern,
  64247. * typically a parliament.
  64248. *
  64249. * The circular layout has much in common with a pie chart. Many of the item
  64250. * series options, like `center`, `size` and data label positioning, are
  64251. * inherited from the pie series and don't apply for rectangular layouts.
  64252. *
  64253. * In TypeScript the type option must always be set.
  64254. *
  64255. * Configuration options for the series are given in three levels:
  64256. *
  64257. * 1. Options for all series in a chart are defined in the
  64258. * plotOptions.series object.
  64259. *
  64260. * 2. Options for all `item` series are defined in plotOptions.item.
  64261. *
  64262. * 3. Options for one single series are given in the series instance array.
  64263. * (see online documentation for example)
  64264. */
  64265. item?: PlotItemOptions;
  64266. /**
  64267. * (Highstock) Keltner Channels. This series requires the `linkedTo` option
  64268. * to be set and should be loaded after the
  64269. * `stock/indicators/indicators.js`, `stock/indicators/atr.js`, and
  64270. * `stock/ema/.js`.
  64271. *
  64272. * In TypeScript the type option must always be set.
  64273. *
  64274. * Configuration options for the series are given in three levels:
  64275. *
  64276. * 1. Options for all series in a chart are defined in the
  64277. * plotOptions.series object.
  64278. *
  64279. * 2. Options for all `keltnerchannels` series are defined in
  64280. * plotOptions.keltnerchannels.
  64281. *
  64282. * 3. Options for one single series are given in the series instance array.
  64283. * (see online documentation for example)
  64284. */
  64285. keltnerchannels?: PlotKeltnerchannelsOptions;
  64286. /**
  64287. * (Highcharts, Highstock) A line series displays information as a series of
  64288. * data points connected by straight line segments.
  64289. *
  64290. * In TypeScript the type option must always be set.
  64291. *
  64292. * Configuration options for the series are given in three levels:
  64293. *
  64294. * 1. Options for all series in a chart are defined in the
  64295. * plotOptions.series object.
  64296. *
  64297. * 2. Options for all `line` series are defined in plotOptions.line.
  64298. *
  64299. * 3. Options for one single series are given in the series instance array.
  64300. * (see online documentation for example)
  64301. */
  64302. line?: PlotLineOptions;
  64303. /**
  64304. * (Highstock) Linear regression indicator. This series requires `linkedTo`
  64305. * option to be set.
  64306. *
  64307. * In TypeScript the type option must always be set.
  64308. *
  64309. * Configuration options for the series are given in three levels:
  64310. *
  64311. * 1. Options for all series in a chart are defined in the
  64312. * plotOptions.series object.
  64313. *
  64314. * 2. Options for all `linearregression` series are defined in
  64315. * plotOptions.linearregression.
  64316. *
  64317. * 3. Options for one single series are given in the series instance array.
  64318. * (see online documentation for example)
  64319. */
  64320. linearregression?: PlotLinearregressionOptions;
  64321. /**
  64322. * (Highstock) Linear regression angle indicator. This series requires
  64323. * `linkedTo` option to be set.
  64324. *
  64325. * In TypeScript the type option must always be set.
  64326. *
  64327. * Configuration options for the series are given in three levels:
  64328. *
  64329. * 1. Options for all series in a chart are defined in the
  64330. * plotOptions.series object.
  64331. *
  64332. * 2. Options for all `linearregressionangle` series are defined in
  64333. * plotOptions.linearregressionangle.
  64334. *
  64335. * 3. Options for one single series are given in the series instance array.
  64336. * (see online documentation for example)
  64337. */
  64338. linearregressionangle?: PlotLinearregressionangleOptions;
  64339. /**
  64340. * (Highstock) Linear regression intercept indicator. This series requires
  64341. * `linkedTo` option to be set.
  64342. *
  64343. * In TypeScript the type option must always be set.
  64344. *
  64345. * Configuration options for the series are given in three levels:
  64346. *
  64347. * 1. Options for all series in a chart are defined in the
  64348. * plotOptions.series object.
  64349. *
  64350. * 2. Options for all `linearregressionintercept` series are defined in
  64351. * plotOptions.linearregressionintercept.
  64352. *
  64353. * 3. Options for one single series are given in the series instance array.
  64354. * (see online documentation for example)
  64355. */
  64356. linearregressionintercept?: PlotLinearregressioninterceptOptions;
  64357. /**
  64358. * (Highstock) Linear regression slope indicator. This series requires
  64359. * `linkedTo` option to be set.
  64360. *
  64361. * In TypeScript the type option must always be set.
  64362. *
  64363. * Configuration options for the series are given in three levels:
  64364. *
  64365. * 1. Options for all series in a chart are defined in the
  64366. * plotOptions.series object.
  64367. *
  64368. * 2. Options for all `linearregressionslope` series are defined in
  64369. * plotOptions.linearregressionslope.
  64370. *
  64371. * 3. Options for one single series are given in the series instance array.
  64372. * (see online documentation for example)
  64373. */
  64374. linearregressionslope?: PlotLinearregressionslopeOptions;
  64375. /**
  64376. * (Highcharts, Highstock) The lollipop series is a carteseian series with a
  64377. * line anchored from the x axis and a dot at the end to mark the value.
  64378. * Requires `highcharts-more.js`, `modules/dumbbell.js` and
  64379. * `modules/lollipop.js`.
  64380. *
  64381. * In TypeScript the type option must always be set.
  64382. *
  64383. * Configuration options for the series are given in three levels:
  64384. *
  64385. * 1. Options for all series in a chart are defined in the
  64386. * plotOptions.series object.
  64387. *
  64388. * 2. Options for all `lollipop` series are defined in plotOptions.lollipop.
  64389. *
  64390. * 3. Options for one single series are given in the series instance array.
  64391. * (see online documentation for example)
  64392. */
  64393. lollipop?: PlotLollipopOptions;
  64394. /**
  64395. * (Highstock) Moving Average Convergence Divergence (MACD). This series
  64396. * requires `linkedTo` option to be set and should be loaded after the
  64397. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  64398. *
  64399. * In TypeScript the type option must always be set.
  64400. *
  64401. * Configuration options for the series are given in three levels:
  64402. *
  64403. * 1. Options for all series in a chart are defined in the
  64404. * plotOptions.series object.
  64405. *
  64406. * 2. Options for all `macd` series are defined in plotOptions.macd.
  64407. *
  64408. * 3. Options for one single series are given in the series instance array.
  64409. * (see online documentation for example)
  64410. */
  64411. macd?: PlotMacdOptions;
  64412. /**
  64413. * (Highmaps) The map series is used for basic choropleth maps, where each
  64414. * map area has a color based on its value.
  64415. *
  64416. * In TypeScript the type option must always be set.
  64417. *
  64418. * Configuration options for the series are given in three levels:
  64419. *
  64420. * 1. Options for all series in a chart are defined in the
  64421. * plotOptions.series object.
  64422. *
  64423. * 2. Options for all `map` series are defined in plotOptions.map.
  64424. *
  64425. * 3. Options for one single series are given in the series instance array.
  64426. * (see online documentation for example)
  64427. */
  64428. map?: PlotMapOptions;
  64429. /**
  64430. * (Highmaps) A map bubble series is a bubble series laid out on top of a
  64431. * map series, where each bubble is tied to a specific map area.
  64432. *
  64433. * In TypeScript the type option must always be set.
  64434. *
  64435. * Configuration options for the series are given in three levels:
  64436. *
  64437. * 1. Options for all series in a chart are defined in the
  64438. * plotOptions.series object.
  64439. *
  64440. * 2. Options for all `mapbubble` series are defined in
  64441. * plotOptions.mapbubble.
  64442. *
  64443. * 3. Options for one single series are given in the series instance array.
  64444. * (see online documentation for example)
  64445. */
  64446. mapbubble?: PlotMapbubbleOptions;
  64447. /**
  64448. * (Highmaps) A mapline series is a special case of the map series where the
  64449. * value colors are applied to the strokes rather than the fills. It can
  64450. * also be used for freeform drawing, like dividers, in the map.
  64451. *
  64452. * In TypeScript the type option must always be set.
  64453. *
  64454. * Configuration options for the series are given in three levels:
  64455. *
  64456. * 1. Options for all series in a chart are defined in the
  64457. * plotOptions.series object.
  64458. *
  64459. * 2. Options for all `mapline` series are defined in plotOptions.mapline.
  64460. *
  64461. * 3. Options for one single series are given in the series instance array.
  64462. * (see online documentation for example)
  64463. */
  64464. mapline?: PlotMaplineOptions;
  64465. /**
  64466. * (Highmaps) A mappoint series is a special form of scatter series where
  64467. * the points can be laid out in map coordinates on top of a map.
  64468. *
  64469. * In TypeScript the type option must always be set.
  64470. *
  64471. * Configuration options for the series are given in three levels:
  64472. *
  64473. * 1. Options for all series in a chart are defined in the
  64474. * plotOptions.series object.
  64475. *
  64476. * 2. Options for all `mappoint` series are defined in plotOptions.mappoint.
  64477. *
  64478. * 3. Options for one single series are given in the series instance array.
  64479. * (see online documentation for example)
  64480. */
  64481. mappoint?: PlotMappointOptions;
  64482. /**
  64483. * (Highstock) Money Flow Index. This series requires `linkedTo` option to
  64484. * be set and should be loaded after the `stock/indicators/indicators.js`
  64485. * file.
  64486. *
  64487. * In TypeScript the type option must always be set.
  64488. *
  64489. * Configuration options for the series are given in three levels:
  64490. *
  64491. * 1. Options for all series in a chart are defined in the
  64492. * plotOptions.series object.
  64493. *
  64494. * 2. Options for all `mfi` series are defined in plotOptions.mfi.
  64495. *
  64496. * 3. Options for one single series are given in the series instance array.
  64497. * (see online documentation for example)
  64498. */
  64499. mfi?: PlotMfiOptions;
  64500. /**
  64501. * (Highstock) Momentum. This series requires `linkedTo` option to be set.
  64502. *
  64503. * In TypeScript the type option must always be set.
  64504. *
  64505. * Configuration options for the series are given in three levels:
  64506. *
  64507. * 1. Options for all series in a chart are defined in the
  64508. * plotOptions.series object.
  64509. *
  64510. * 2. Options for all `momentum` series are defined in plotOptions.momentum.
  64511. *
  64512. * 3. Options for one single series are given in the series instance array.
  64513. * (see online documentation for example)
  64514. */
  64515. momentum?: PlotMomentumOptions;
  64516. /**
  64517. * (Highstock) Normalized average true range indicator (NATR). This series
  64518. * requires `linkedTo` option to be set and should be loaded after the
  64519. * `stock/indicators/indicators.js` and `stock/indicators/atr.js`.
  64520. *
  64521. * In TypeScript the type option must always be set.
  64522. *
  64523. * Configuration options for the series are given in three levels:
  64524. *
  64525. * 1. Options for all series in a chart are defined in the
  64526. * plotOptions.series object.
  64527. *
  64528. * 2. Options for all `natr` series are defined in plotOptions.natr.
  64529. *
  64530. * 3. Options for one single series are given in the series instance array.
  64531. * (see online documentation for example)
  64532. */
  64533. natr?: PlotNatrOptions;
  64534. /**
  64535. * (Highcharts) A networkgraph is a type of relationship chart, where
  64536. * connnections (links) attracts nodes (points) and other nodes repulse each
  64537. * other.
  64538. *
  64539. * In TypeScript the type option must always be set.
  64540. *
  64541. * Configuration options for the series are given in three levels:
  64542. *
  64543. * 1. Options for all series in a chart are defined in the
  64544. * plotOptions.series object.
  64545. *
  64546. * 2. Options for all `networkgraph` series are defined in
  64547. * plotOptions.networkgraph.
  64548. *
  64549. * 3. Options for one single series are given in the series instance array.
  64550. * (see online documentation for example)
  64551. */
  64552. networkgraph?: PlotNetworkgraphOptions;
  64553. /**
  64554. * (Highstock) An OHLC chart is a style of financial chart used to describe
  64555. * price movements over time. It displays open, high, low and close values
  64556. * per data point.
  64557. *
  64558. * In TypeScript the type option must always be set.
  64559. *
  64560. * Configuration options for the series are given in three levels:
  64561. *
  64562. * 1. Options for all series in a chart are defined in the
  64563. * plotOptions.series object.
  64564. *
  64565. * 2. Options for all `ohlc` series are defined in plotOptions.ohlc.
  64566. *
  64567. * 3. Options for one single series are given in the series instance array.
  64568. * (see online documentation for example)
  64569. */
  64570. ohlc?: PlotOhlcOptions;
  64571. /**
  64572. * (Highcharts) An organization chart is a diagram that shows the structure
  64573. * of an organization and the relationships and relative ranks of its parts
  64574. * and positions.
  64575. *
  64576. * In TypeScript the type option must always be set.
  64577. *
  64578. * Configuration options for the series are given in three levels:
  64579. *
  64580. * 1. Options for all series in a chart are defined in the
  64581. * plotOptions.series object.
  64582. *
  64583. * 2. Options for all `organization` series are defined in
  64584. * plotOptions.organization.
  64585. *
  64586. * 3. Options for one single series are given in the series instance array.
  64587. * (see online documentation for example)
  64588. */
  64589. organization?: PlotOrganizationOptions;
  64590. /**
  64591. * (Highcharts) A packed bubble series is a two dimensional series type,
  64592. * where each point renders a value in X, Y position. Each point is drawn as
  64593. * a bubble where the bubbles don't overlap with each other and the radius
  64594. * of the bubble relates to the value.
  64595. *
  64596. * In TypeScript the type option must always be set.
  64597. *
  64598. * Configuration options for the series are given in three levels:
  64599. *
  64600. * 1. Options for all series in a chart are defined in the
  64601. * plotOptions.series object.
  64602. *
  64603. * 2. Options for all `packedbubble` series are defined in
  64604. * plotOptions.packedbubble.
  64605. *
  64606. * 3. Options for one single series are given in the series instance array.
  64607. * (see online documentation for example)
  64608. */
  64609. packedbubble?: PlotPackedbubbleOptions;
  64610. /**
  64611. * (Highcharts) A pareto diagram is a type of chart that contains both bars
  64612. * and a line graph, where individual values are represented in descending
  64613. * order by bars, and the cumulative total is represented by the line.
  64614. *
  64615. * In TypeScript the type option must always be set.
  64616. *
  64617. * Configuration options for the series are given in three levels:
  64618. *
  64619. * 1. Options for all series in a chart are defined in the
  64620. * plotOptions.series object.
  64621. *
  64622. * 2. Options for all `pareto` series are defined in plotOptions.pareto.
  64623. *
  64624. * 3. Options for one single series are given in the series instance array.
  64625. * (see online documentation for example)
  64626. */
  64627. pareto?: PlotParetoOptions;
  64628. /**
  64629. * (Highstock) Price channel (PC). This series requires the `linkedTo`
  64630. * option to be set and should be loaded after the
  64631. * `stock/indicators/indicators.js`.
  64632. *
  64633. * In TypeScript the type option must always be set.
  64634. *
  64635. * Configuration options for the series are given in three levels:
  64636. *
  64637. * 1. Options for all series in a chart are defined in the
  64638. * plotOptions.series object.
  64639. *
  64640. * 2. Options for all `pc` series are defined in plotOptions.pc.
  64641. *
  64642. * 3. Options for one single series are given in the series instance array.
  64643. * (see online documentation for example)
  64644. */
  64645. pc?: PlotPcOptions;
  64646. /**
  64647. * (Highcharts) A pie chart is a circular graphic which is divided into
  64648. * slices to illustrate numerical proportion.
  64649. *
  64650. * In TypeScript the type option must always be set.
  64651. *
  64652. * Configuration options for the series are given in three levels:
  64653. *
  64654. * 1. Options for all series in a chart are defined in the
  64655. * plotOptions.series object.
  64656. *
  64657. * 2. Options for all `pie` series are defined in plotOptions.pie.
  64658. *
  64659. * 3. Options for one single series are given in the series instance array.
  64660. * (see online documentation for example)
  64661. */
  64662. pie?: PlotPieOptions;
  64663. /**
  64664. * (Highstock) Pivot points indicator. This series requires the `linkedTo`
  64665. * option to be set and should be loaded after
  64666. * `stock/indicators/indicators.js` file.
  64667. *
  64668. * In TypeScript the type option must always be set.
  64669. *
  64670. * Configuration options for the series are given in three levels:
  64671. *
  64672. * 1. Options for all series in a chart are defined in the
  64673. * plotOptions.series object.
  64674. *
  64675. * 2. Options for all `pivotpoints` series are defined in
  64676. * plotOptions.pivotpoints.
  64677. *
  64678. * 3. Options for one single series are given in the series instance array.
  64679. * (see online documentation for example)
  64680. */
  64681. pivotpoints?: PlotPivotpointsOptions;
  64682. /**
  64683. * (Highcharts, Highstock) A polygon series can be used to draw any freeform
  64684. * shape in the cartesian coordinate system. A fill is applied with the
  64685. * `color` option, and stroke is applied through `lineWidth` and `lineColor`
  64686. * options.
  64687. *
  64688. * In TypeScript the type option must always be set.
  64689. *
  64690. * Configuration options for the series are given in three levels:
  64691. *
  64692. * 1. Options for all series in a chart are defined in the
  64693. * plotOptions.series object.
  64694. *
  64695. * 2. Options for all `polygon` series are defined in plotOptions.polygon.
  64696. *
  64697. * 3. Options for one single series are given in the series instance array.
  64698. * (see online documentation for example)
  64699. */
  64700. polygon?: PlotPolygonOptions;
  64701. /**
  64702. * (Highstock) Percentage Price Oscillator. This series requires the
  64703. * `linkedTo` option to be set and should be loaded after the
  64704. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  64705. *
  64706. * In TypeScript the type option must always be set.
  64707. *
  64708. * Configuration options for the series are given in three levels:
  64709. *
  64710. * 1. Options for all series in a chart are defined in the
  64711. * plotOptions.series object.
  64712. *
  64713. * 2. Options for all `ppo` series are defined in plotOptions.ppo.
  64714. *
  64715. * 3. Options for one single series are given in the series instance array.
  64716. * (see online documentation for example)
  64717. */
  64718. ppo?: PlotPpoOptions;
  64719. /**
  64720. * (Highstock) Price envelopes indicator based on SMA calculations. This
  64721. * series requires the `linkedTo` option to be set and should be loaded
  64722. * after the `stock/indicators/indicators.js` file.
  64723. *
  64724. * In TypeScript the type option must always be set.
  64725. *
  64726. * Configuration options for the series are given in three levels:
  64727. *
  64728. * 1. Options for all series in a chart are defined in the
  64729. * plotOptions.series object.
  64730. *
  64731. * 2. Options for all `priceenvelopes` series are defined in
  64732. * plotOptions.priceenvelopes.
  64733. *
  64734. * 3. Options for one single series are given in the series instance array.
  64735. * (see online documentation for example)
  64736. */
  64737. priceenvelopes?: PlotPriceenvelopesOptions;
  64738. /**
  64739. * (Highstock) Parabolic SAR. This series requires `linkedTo` option to be
  64740. * set and should be loaded after `stock/indicators/indicators.js` file.
  64741. *
  64742. * In TypeScript the type option must always be set.
  64743. *
  64744. * Configuration options for the series are given in three levels:
  64745. *
  64746. * 1. Options for all series in a chart are defined in the
  64747. * plotOptions.series object.
  64748. *
  64749. * 2. Options for all `psar` series are defined in plotOptions.psar.
  64750. *
  64751. * 3. Options for one single series are given in the series instance array.
  64752. * (see online documentation for example)
  64753. */
  64754. psar?: PlotPsarOptions;
  64755. /**
  64756. * (Highcharts) A pyramid series is a special type of funnel, without neck
  64757. * and reversed by default.
  64758. *
  64759. * In TypeScript the type option must always be set.
  64760. *
  64761. * Configuration options for the series are given in three levels:
  64762. *
  64763. * 1. Options for all series in a chart are defined in the
  64764. * plotOptions.series object.
  64765. *
  64766. * 2. Options for all `pyramid` series are defined in plotOptions.pyramid.
  64767. *
  64768. * 3. Options for one single series are given in the series instance array.
  64769. * (see online documentation for example)
  64770. */
  64771. pyramid?: PlotPyramidOptions;
  64772. /**
  64773. * (Highcharts) A pyramid3d is a 3d version of pyramid series type. Pyramid
  64774. * charts are a type of chart often used to visualize stages in a sales
  64775. * project, where the top are the initial stages with the most clients.
  64776. *
  64777. * In TypeScript the type option must always be set.
  64778. *
  64779. * Configuration options for the series are given in three levels:
  64780. *
  64781. * 1. Options for all series in a chart are defined in the
  64782. * plotOptions.series object.
  64783. *
  64784. * 2. Options for all `pyramid3d` series are defined in
  64785. * plotOptions.pyramid3d.
  64786. *
  64787. * 3. Options for one single series are given in the series instance array.
  64788. * (see online documentation for example)
  64789. */
  64790. pyramid3d?: PlotPyramid3dOptions;
  64791. /**
  64792. * (Highstock) Rate of change indicator (ROC). The indicator value for each
  64793. * point is defined as:
  64794. *
  64795. * `(C - Cn) / Cn * 100`
  64796. *
  64797. * where: `C` is the close value of the point of the same x in the linked
  64798. * series and `Cn` is the close value of the point `n` periods ago. `n` is
  64799. * set through period.
  64800. *
  64801. * This series requires `linkedTo` option to be set.
  64802. *
  64803. * In TypeScript the type option must always be set.
  64804. *
  64805. * Configuration options for the series are given in three levels:
  64806. *
  64807. * 1. Options for all series in a chart are defined in the
  64808. * plotOptions.series object.
  64809. *
  64810. * 2. Options for all `roc` series are defined in plotOptions.roc.
  64811. *
  64812. * 3. Options for one single series are given in the series instance array.
  64813. * (see online documentation for example)
  64814. */
  64815. roc?: PlotRocOptions;
  64816. /**
  64817. * (Highstock) Relative strength index (RSI) technical indicator. This
  64818. * series requires the `linkedTo` option to be set and should be loaded
  64819. * after the `stock/indicators/indicators.js` file.
  64820. *
  64821. * In TypeScript the type option must always be set.
  64822. *
  64823. * Configuration options for the series are given in three levels:
  64824. *
  64825. * 1. Options for all series in a chart are defined in the
  64826. * plotOptions.series object.
  64827. *
  64828. * 2. Options for all `rsi` series are defined in plotOptions.rsi.
  64829. *
  64830. * 3. Options for one single series are given in the series instance array.
  64831. * (see online documentation for example)
  64832. */
  64833. rsi?: PlotRsiOptions;
  64834. /**
  64835. * (Highcharts) A sankey diagram is a type of flow diagram, in which the
  64836. * width of the link between two nodes is shown proportionally to the flow
  64837. * quantity.
  64838. *
  64839. * In TypeScript the type option must always be set.
  64840. *
  64841. * Configuration options for the series are given in three levels:
  64842. *
  64843. * 1. Options for all series in a chart are defined in the
  64844. * plotOptions.series object.
  64845. *
  64846. * 2. Options for all `sankey` series are defined in plotOptions.sankey.
  64847. *
  64848. * 3. Options for one single series are given in the series instance array.
  64849. * (see online documentation for example)
  64850. */
  64851. sankey?: PlotSankeyOptions;
  64852. /**
  64853. * (Highcharts, Highstock) A scatter plot uses cartesian coordinates to
  64854. * display values for two variables for a set of data.
  64855. *
  64856. * In TypeScript the type option must always be set.
  64857. *
  64858. * Configuration options for the series are given in three levels:
  64859. *
  64860. * 1. Options for all series in a chart are defined in the
  64861. * plotOptions.series object.
  64862. *
  64863. * 2. Options for all `scatter` series are defined in plotOptions.scatter.
  64864. *
  64865. * 3. Options for one single series are given in the series instance array.
  64866. * (see online documentation for example)
  64867. */
  64868. scatter?: PlotScatterOptions;
  64869. /**
  64870. * (Highcharts) A 3D scatter plot uses x, y and z coordinates to display
  64871. * values for three variables for a set of data.
  64872. *
  64873. * In TypeScript the type option must always be set.
  64874. *
  64875. * Configuration options for the series are given in three levels:
  64876. *
  64877. * 1. Options for all series in a chart are defined in the
  64878. * plotOptions.series object.
  64879. *
  64880. * 2. Options for all `scatter3d` series are defined in
  64881. * plotOptions.scatter3d.
  64882. *
  64883. * 3. Options for one single series are given in the series instance array.
  64884. * (see online documentation for example)
  64885. */
  64886. scatter3d?: PlotScatter3dOptions;
  64887. /**
  64888. * (Highcharts, Highstock, Highmaps, Gantt) General options for all series
  64889. * types.
  64890. *
  64891. * In TypeScript the type option must always be set.
  64892. *
  64893. * Configuration options for the series are given in three levels:
  64894. *
  64895. * 1. Options for all series in a chart are defined in the
  64896. * plotOptions.series object.
  64897. *
  64898. * 2. Options for all `line` series are defined in plotOptions.line.
  64899. *
  64900. * 3. Options for one single series are given in the series instance array.
  64901. * (see online documentation for example)
  64902. */
  64903. series?: PlotSeriesOptions;
  64904. /**
  64905. * (Highstock) Slow Stochastic oscillator. This series requires the
  64906. * `linkedTo` option to be set and should be loaded after
  64907. * `stock/indicators/indicators.js` and `stock/indicators/stochastic.js`
  64908. * files.
  64909. *
  64910. * In TypeScript the type option must always be set.
  64911. *
  64912. * Configuration options for the series are given in three levels:
  64913. *
  64914. * 1. Options for all series in a chart are defined in the
  64915. * plotOptions.series object.
  64916. *
  64917. * 2. Options for all `slowstochastic` series are defined in
  64918. * plotOptions.slowstochastic.
  64919. *
  64920. * 3. Options for one single series are given in the series instance array.
  64921. * (see online documentation for example)
  64922. */
  64923. slowstochastic?: PlotSlowstochasticOptions;
  64924. /**
  64925. * (Highstock) Simple moving average indicator (SMA). This series requires
  64926. * `linkedTo` option to be set.
  64927. *
  64928. * In TypeScript the type option must always be set.
  64929. *
  64930. * Configuration options for the series are given in three levels:
  64931. *
  64932. * 1. Options for all series in a chart are defined in the
  64933. * plotOptions.series object.
  64934. *
  64935. * 2. Options for all `sma` series are defined in plotOptions.sma.
  64936. *
  64937. * 3. Options for one single series are given in the series instance array.
  64938. * (see online documentation for example)
  64939. */
  64940. sma?: PlotSmaOptions;
  64941. /**
  64942. * (Highcharts) A solid gauge is a circular gauge where the value is
  64943. * indicated by a filled arc, and the color of the arc may variate with the
  64944. * value.
  64945. *
  64946. * In TypeScript the type option must always be set.
  64947. *
  64948. * Configuration options for the series are given in three levels:
  64949. *
  64950. * 1. Options for all series in a chart are defined in the
  64951. * plotOptions.series object.
  64952. *
  64953. * 2. Options for all `solidgauge` series are defined in
  64954. * plotOptions.solidgauge.
  64955. *
  64956. * 3. Options for one single series are given in the series instance array.
  64957. * (see online documentation for example)
  64958. */
  64959. solidgauge?: PlotSolidgaugeOptions;
  64960. /**
  64961. * (Highcharts, Highstock) A spline series is a special type of line series,
  64962. * where the segments between the data points are smoothed.
  64963. *
  64964. * In TypeScript the type option must always be set.
  64965. *
  64966. * Configuration options for the series are given in three levels:
  64967. *
  64968. * 1. Options for all series in a chart are defined in the
  64969. * plotOptions.series object.
  64970. *
  64971. * 2. Options for all `spline` series are defined in plotOptions.spline.
  64972. *
  64973. * 3. Options for one single series are given in the series instance array.
  64974. * (see online documentation for example)
  64975. */
  64976. spline?: PlotSplineOptions;
  64977. /**
  64978. * (Highstock) Stochastic oscillator. This series requires the `linkedTo`
  64979. * option to be set and should be loaded after the
  64980. * `stock/indicators/indicators.js` file.
  64981. *
  64982. * In TypeScript the type option must always be set.
  64983. *
  64984. * Configuration options for the series are given in three levels:
  64985. *
  64986. * 1. Options for all series in a chart are defined in the
  64987. * plotOptions.series object.
  64988. *
  64989. * 2. Options for all `stochastic` series are defined in
  64990. * plotOptions.stochastic.
  64991. *
  64992. * 3. Options for one single series are given in the series instance array.
  64993. * (see online documentation for example)
  64994. */
  64995. stochastic?: PlotStochasticOptions;
  64996. /**
  64997. * (Highcharts, Highstock) A streamgraph is a type of stacked area graph
  64998. * which is displaced around a central axis, resulting in a flowing, organic
  64999. * shape.
  65000. *
  65001. * In TypeScript the type option must always be set.
  65002. *
  65003. * Configuration options for the series are given in three levels:
  65004. *
  65005. * 1. Options for all series in a chart are defined in the
  65006. * plotOptions.series object.
  65007. *
  65008. * 2. Options for all `streamgraph` series are defined in
  65009. * plotOptions.streamgraph.
  65010. *
  65011. * 3. Options for one single series are given in the series instance array.
  65012. * (see online documentation for example)
  65013. */
  65014. streamgraph?: PlotStreamgraphOptions;
  65015. /**
  65016. * (Highcharts) A Sunburst displays hierarchical data, where a level in the
  65017. * hierarchy is represented by a circle. The center represents the root node
  65018. * of the tree. The visualization bears a resemblance to both treemap and
  65019. * pie charts.
  65020. *
  65021. * In TypeScript the type option must always be set.
  65022. *
  65023. * Configuration options for the series are given in three levels:
  65024. *
  65025. * 1. Options for all series in a chart are defined in the
  65026. * plotOptions.series object.
  65027. *
  65028. * 2. Options for all `sunburst` series are defined in plotOptions.sunburst.
  65029. *
  65030. * 3. Options for one single series are given in the series instance array.
  65031. * (see online documentation for example)
  65032. */
  65033. sunburst?: PlotSunburstOptions;
  65034. /**
  65035. * (Highstock) Supertrend indicator. This series requires the `linkedTo`
  65036. * option to be set and should be loaded after the
  65037. * `stock/indicators/indicators.js` and `stock/indicators/sma.js`.
  65038. *
  65039. * In TypeScript the type option must always be set.
  65040. *
  65041. * Configuration options for the series are given in three levels:
  65042. *
  65043. * 1. Options for all series in a chart are defined in the
  65044. * plotOptions.series object.
  65045. *
  65046. * 2. Options for all `supertrend` series are defined in
  65047. * plotOptions.supertrend.
  65048. *
  65049. * 3. Options for one single series are given in the series instance array.
  65050. * (see online documentation for example)
  65051. */
  65052. supertrend?: PlotSupertrendOptions;
  65053. /**
  65054. * (Highstock) Triple exponential moving average (TEMA) indicator. This
  65055. * series requires `linkedTo` option to be set and should be loaded after
  65056. * the `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  65057. *
  65058. * In TypeScript the type option must always be set.
  65059. *
  65060. * Configuration options for the series are given in three levels:
  65061. *
  65062. * 1. Options for all series in a chart are defined in the
  65063. * plotOptions.series object.
  65064. *
  65065. * 2. Options for all `tema` series are defined in plotOptions.tema.
  65066. *
  65067. * 3. Options for one single series are given in the series instance array.
  65068. * (see online documentation for example)
  65069. */
  65070. tema?: PlotTemaOptions;
  65071. /**
  65072. * (Highcharts, Highmaps) A tilemap series is a type of heatmap where the
  65073. * tile shapes are configurable.
  65074. *
  65075. * In TypeScript the type option must always be set.
  65076. *
  65077. * Configuration options for the series are given in three levels:
  65078. *
  65079. * 1. Options for all series in a chart are defined in the
  65080. * plotOptions.series object.
  65081. *
  65082. * 2. Options for all `tilemap` series are defined in plotOptions.tilemap.
  65083. *
  65084. * 3. Options for one single series are given in the series instance array.
  65085. * (see online documentation for example)
  65086. */
  65087. tilemap?: PlotTilemapOptions;
  65088. /**
  65089. * (Highcharts) The timeline series presents given events along a drawn
  65090. * line.
  65091. *
  65092. * In TypeScript the type option must always be set.
  65093. *
  65094. * Configuration options for the series are given in three levels:
  65095. *
  65096. * 1. Options for all series in a chart are defined in the
  65097. * plotOptions.series object.
  65098. *
  65099. * 2. Options for all `timeline` series are defined in plotOptions.timeline.
  65100. *
  65101. * 3. Options for one single series are given in the series instance array.
  65102. * (see online documentation for example)
  65103. */
  65104. timeline?: PlotTimelineOptions;
  65105. /**
  65106. * (Highcharts) A treemap displays hierarchical data using nested
  65107. * rectangles. The data can be laid out in varying ways depending on
  65108. * options.
  65109. *
  65110. * In TypeScript the type option must always be set.
  65111. *
  65112. * Configuration options for the series are given in three levels:
  65113. *
  65114. * 1. Options for all series in a chart are defined in the
  65115. * plotOptions.series object.
  65116. *
  65117. * 2. Options for all `treemap` series are defined in plotOptions.treemap.
  65118. *
  65119. * 3. Options for one single series are given in the series instance array.
  65120. * (see online documentation for example)
  65121. */
  65122. treemap?: PlotTreemapOptions;
  65123. /**
  65124. * (Highstock) Trendline (linear regression) fits a straight line to the
  65125. * selected data using a method called the Sum Of Least Squares. This series
  65126. * requires the `linkedTo` option to be set.
  65127. *
  65128. * In TypeScript the type option must always be set.
  65129. *
  65130. * Configuration options for the series are given in three levels:
  65131. *
  65132. * 1. Options for all series in a chart are defined in the
  65133. * plotOptions.series object.
  65134. *
  65135. * 2. Options for all `trendline` series are defined in
  65136. * plotOptions.trendline.
  65137. *
  65138. * 3. Options for one single series are given in the series instance array.
  65139. * (see online documentation for example)
  65140. */
  65141. trendline?: PlotTrendlineOptions;
  65142. /**
  65143. * (Highstock) Triple exponential average (TRIX) oscillator. This series
  65144. * requires `linkedTo` option to be set.
  65145. *
  65146. * Requires https://code.highcharts.com/stock/indicators/ema.js and
  65147. * https://code.highcharts.com/stock/indicators/tema.js.
  65148. *
  65149. * In TypeScript the type option must always be set.
  65150. *
  65151. * Configuration options for the series are given in three levels:
  65152. *
  65153. * 1. Options for all series in a chart are defined in the
  65154. * plotOptions.series object.
  65155. *
  65156. * 2. Options for all `trix` series are defined in plotOptions.trix.
  65157. *
  65158. * 3. Options for one single series are given in the series instance array.
  65159. * (see online documentation for example)
  65160. */
  65161. trix?: PlotTrixOptions;
  65162. /**
  65163. * (Highcharts) A variable pie series is a two dimensional series type,
  65164. * where each point renders an Y and Z value. Each point is drawn as a pie
  65165. * slice where the size (arc) of the slice relates to the Y value and the
  65166. * radius of pie slice relates to the Z value.
  65167. *
  65168. * In TypeScript the type option must always be set.
  65169. *
  65170. * Configuration options for the series are given in three levels:
  65171. *
  65172. * 1. Options for all series in a chart are defined in the
  65173. * plotOptions.series object.
  65174. *
  65175. * 2. Options for all `variablepie` series are defined in
  65176. * plotOptions.variablepie.
  65177. *
  65178. * 3. Options for one single series are given in the series instance array.
  65179. * (see online documentation for example)
  65180. */
  65181. variablepie?: PlotVariablepieOptions;
  65182. /**
  65183. * (Highcharts) A variwide chart (related to marimekko chart) is a column
  65184. * chart with a variable width expressing a third dimension.
  65185. *
  65186. * In TypeScript the type option must always be set.
  65187. *
  65188. * Configuration options for the series are given in three levels:
  65189. *
  65190. * 1. Options for all series in a chart are defined in the
  65191. * plotOptions.series object.
  65192. *
  65193. * 2. Options for all `variwide` series are defined in plotOptions.variwide.
  65194. *
  65195. * 3. Options for one single series are given in the series instance array.
  65196. * (see online documentation for example)
  65197. */
  65198. variwide?: PlotVariwideOptions;
  65199. /**
  65200. * (Highstock) Volume By Price indicator.
  65201. *
  65202. * This series requires `linkedTo` option to be set.
  65203. *
  65204. * In TypeScript the type option must always be set.
  65205. *
  65206. * Configuration options for the series are given in three levels:
  65207. *
  65208. * 1. Options for all series in a chart are defined in the
  65209. * plotOptions.series object.
  65210. *
  65211. * 2. Options for all `vbp` series are defined in plotOptions.vbp.
  65212. *
  65213. * 3. Options for one single series are given in the series instance array.
  65214. * (see online documentation for example)
  65215. */
  65216. vbp?: PlotVbpOptions;
  65217. /**
  65218. * (Highcharts, Highstock) A vector plot is a type of cartesian chart where
  65219. * each point has an X and Y position, a length and a direction. Vectors are
  65220. * drawn as arrows.
  65221. *
  65222. * In TypeScript the type option must always be set.
  65223. *
  65224. * Configuration options for the series are given in three levels:
  65225. *
  65226. * 1. Options for all series in a chart are defined in the
  65227. * plotOptions.series object.
  65228. *
  65229. * 2. Options for all `vector` series are defined in plotOptions.vector.
  65230. *
  65231. * 3. Options for one single series are given in the series instance array.
  65232. * (see online documentation for example)
  65233. */
  65234. vector?: PlotVectorOptions;
  65235. /**
  65236. * (Highcharts) A Venn diagram displays all possible logical relations
  65237. * between a collection of different sets. The sets are represented by
  65238. * circles, and the relation between the sets are displayed by the overlap
  65239. * or lack of overlap between them. The venn diagram is a special case of
  65240. * Euler diagrams, which can also be displayed by this series type.
  65241. *
  65242. * In TypeScript the type option must always be set.
  65243. *
  65244. * Configuration options for the series are given in three levels:
  65245. *
  65246. * 1. Options for all series in a chart are defined in the
  65247. * plotOptions.series object.
  65248. *
  65249. * 2. Options for all `venn` series are defined in plotOptions.venn.
  65250. *
  65251. * 3. Options for one single series are given in the series instance array.
  65252. * (see online documentation for example)
  65253. */
  65254. venn?: PlotVennOptions;
  65255. /**
  65256. * (Highstock) Volume Weighted Average Price indicator.
  65257. *
  65258. * This series requires `linkedTo` option to be set.
  65259. *
  65260. * In TypeScript the type option must always be set.
  65261. *
  65262. * Configuration options for the series are given in three levels:
  65263. *
  65264. * 1. Options for all series in a chart are defined in the
  65265. * plotOptions.series object.
  65266. *
  65267. * 2. Options for all `vwap` series are defined in plotOptions.vwap.
  65268. *
  65269. * 3. Options for one single series are given in the series instance array.
  65270. * (see online documentation for example)
  65271. */
  65272. vwap?: PlotVwapOptions;
  65273. /**
  65274. * (Highcharts) A waterfall chart displays sequentially introduced positive
  65275. * or negative values in cumulative columns.
  65276. *
  65277. * In TypeScript the type option must always be set.
  65278. *
  65279. * Configuration options for the series are given in three levels:
  65280. *
  65281. * 1. Options for all series in a chart are defined in the
  65282. * plotOptions.series object.
  65283. *
  65284. * 2. Options for all `waterfall` series are defined in
  65285. * plotOptions.waterfall.
  65286. *
  65287. * 3. Options for one single series are given in the series instance array.
  65288. * (see online documentation for example)
  65289. */
  65290. waterfall?: PlotWaterfallOptions;
  65291. /**
  65292. * (Highstock) Williams %R. This series requires the `linkedTo` option to be
  65293. * set and should be loaded after the `stock/indicators/indicators.js`.
  65294. *
  65295. * In TypeScript the type option must always be set.
  65296. *
  65297. * Configuration options for the series are given in three levels:
  65298. *
  65299. * 1. Options for all series in a chart are defined in the
  65300. * plotOptions.series object.
  65301. *
  65302. * 2. Options for all `williamsr` series are defined in
  65303. * plotOptions.williamsr.
  65304. *
  65305. * 3. Options for one single series are given in the series instance array.
  65306. * (see online documentation for example)
  65307. */
  65308. williamsr?: PlotWilliamsrOptions;
  65309. /**
  65310. * (Highcharts, Highstock) Wind barbs are a convenient way to represent wind
  65311. * speed and direction in one graphical form. Wind direction is given by the
  65312. * stem direction, and wind speed by the number and shape of barbs.
  65313. *
  65314. * In TypeScript the type option must always be set.
  65315. *
  65316. * Configuration options for the series are given in three levels:
  65317. *
  65318. * 1. Options for all series in a chart are defined in the
  65319. * plotOptions.series object.
  65320. *
  65321. * 2. Options for all `windbarb` series are defined in plotOptions.windbarb.
  65322. *
  65323. * 3. Options for one single series are given in the series instance array.
  65324. * (see online documentation for example)
  65325. */
  65326. windbarb?: PlotWindbarbOptions;
  65327. /**
  65328. * (Highstock) Weighted moving average indicator (WMA). This series requires
  65329. * `linkedTo` option to be set.
  65330. *
  65331. * In TypeScript the type option must always be set.
  65332. *
  65333. * Configuration options for the series are given in three levels:
  65334. *
  65335. * 1. Options for all series in a chart are defined in the
  65336. * plotOptions.series object.
  65337. *
  65338. * 2. Options for all `wma` series are defined in plotOptions.wma.
  65339. *
  65340. * 3. Options for one single series are given in the series instance array.
  65341. * (see online documentation for example)
  65342. */
  65343. wma?: PlotWmaOptions;
  65344. /**
  65345. * (Highcharts) A word cloud is a visualization of a set of words, where the
  65346. * size and placement of a word is determined by how it is weighted.
  65347. *
  65348. * In TypeScript the type option must always be set.
  65349. *
  65350. * Configuration options for the series are given in three levels:
  65351. *
  65352. * 1. Options for all series in a chart are defined in the
  65353. * plotOptions.series object.
  65354. *
  65355. * 2. Options for all `wordcloud` series are defined in
  65356. * plotOptions.wordcloud.
  65357. *
  65358. * 3. Options for one single series are given in the series instance array.
  65359. * (see online documentation for example)
  65360. */
  65361. wordcloud?: PlotWordcloudOptions;
  65362. /**
  65363. * (Highcharts, Highstock, Gantt) The X-range series displays ranges on the
  65364. * X axis, typically time intervals with a start and end date.
  65365. *
  65366. * In TypeScript the type option must always be set.
  65367. *
  65368. * Configuration options for the series are given in three levels:
  65369. *
  65370. * 1. Options for all series in a chart are defined in the
  65371. * plotOptions.series object.
  65372. *
  65373. * 2. Options for all `xrange` series are defined in plotOptions.xrange.
  65374. *
  65375. * 3. Options for one single series are given in the series instance array.
  65376. * (see online documentation for example)
  65377. */
  65378. xrange?: PlotXrangeOptions;
  65379. /**
  65380. * (Highstock) Zig Zag indicator.
  65381. *
  65382. * This series requires `linkedTo` option to be set.
  65383. *
  65384. * In TypeScript the type option must always be set.
  65385. *
  65386. * Configuration options for the series are given in three levels:
  65387. *
  65388. * 1. Options for all series in a chart are defined in the
  65389. * plotOptions.series object.
  65390. *
  65391. * 2. Options for all `zigzag` series are defined in plotOptions.zigzag.
  65392. *
  65393. * 3. Options for one single series are given in the series instance array.
  65394. * (see online documentation for example)
  65395. */
  65396. zigzag?: PlotZigzagOptions;
  65397. }
  65398. /**
  65399. * (Highcharts) Enable or disable the initial animation when a series is
  65400. * displayed. The animation can also be set as a configuration object. Please
  65401. * note that this option only applies to the initial animation of the series
  65402. * itself. For other animations, see chart.animation and the animation parameter
  65403. * under the API methods. The following properties are supported:
  65404. *
  65405. * - `defer`: The animation delay time in milliseconds.
  65406. *
  65407. * - `duration`: The duration of the animation in milliseconds.
  65408. *
  65409. * - `easing`: Can be a string reference to an easing function set on the `Math`
  65410. * object or a function. See the _Custom easing function_ demo below.
  65411. *
  65412. * Due to poor performance, animation is disabled in old IE browsers for several
  65413. * chart types.
  65414. */
  65415. export interface PlotOrganizationAnimationOptions {
  65416. defer?: number;
  65417. }
  65418. /**
  65419. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  65420. * animation when a series is displayed for the `dataLabels`. The animation can
  65421. * also be set as a configuration object. Please note that this option only
  65422. * applies to the initial animation. For other animations, see chart.animation
  65423. * and the animation parameter under the API methods. The following properties
  65424. * are supported:
  65425. *
  65426. * - `defer`: The animation delay time in milliseconds.
  65427. */
  65428. export interface PlotOrganizationDataLabelsAnimationOptions {
  65429. /**
  65430. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  65431. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  65432. * inherits defer time from the series.animation.defer.
  65433. */
  65434. defer?: number;
  65435. }
  65436. /**
  65437. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  65438. * animation when a series is displayed for the `dataLabels`. The animation can
  65439. * also be set as a configuration object. Please note that this option only
  65440. * applies to the initial animation. For other animations, see chart.animation
  65441. * and the animation parameter under the API methods. The following properties
  65442. * are supported:
  65443. *
  65444. * - `defer`: The animation delay time in milliseconds.
  65445. */
  65446. export interface PlotOrganizationLevelsDataLabelsAnimationOptions {
  65447. /**
  65448. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  65449. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  65450. * inherits defer time from the series.animation.defer.
  65451. */
  65452. defer?: number;
  65453. }
  65454. /**
  65455. * (Highcharts) Set options on specific levels. Takes precedence over series
  65456. * options, but not node and link options.
  65457. */
  65458. export interface PlotOrganizationLevelsOptions {
  65459. /**
  65460. * (Highcharts) Can set `borderColor` on all nodes which lay on the same
  65461. * level.
  65462. */
  65463. borderColor?: ColorString;
  65464. /**
  65465. * (Highcharts) Can set `borderWidth` on all nodes which lay on the same
  65466. * level.
  65467. */
  65468. borderWidth?: number;
  65469. /**
  65470. * (Highcharts) Can set `color` on all nodes which lay on the same level.
  65471. */
  65472. color?: (ColorString|GradientColorObject|PatternObject);
  65473. /**
  65474. * (Highcharts) Can set `colorByPoint` on all nodes which lay on the same
  65475. * level.
  65476. */
  65477. colorByPoint?: boolean;
  65478. /**
  65479. * (Highcharts, Highstock, Highmaps, Gantt) Can set `dataLabels` on all
  65480. * points which lay on the same level.
  65481. */
  65482. dataLabels?: (SeriesSankeyDataLabelsOptionsObject|Array<SeriesSankeyDataLabelsOptionsObject>);
  65483. /**
  65484. * (Highcharts) Decides which level takes effect from the options set in the
  65485. * levels object.
  65486. */
  65487. level?: number;
  65488. /**
  65489. * (Highcharts) Can set `linkOpacity` on all points which lay on the same
  65490. * level.
  65491. */
  65492. linkOpacity?: number;
  65493. /**
  65494. * (Highcharts) Can set `states` on all nodes and points which lay on the
  65495. * same level.
  65496. */
  65497. states?: SeriesStatesOptionsObject;
  65498. }
  65499. /**
  65500. * (Highcharts) An organization chart is a diagram that shows the structure of
  65501. * an organization and the relationships and relative ranks of its parts and
  65502. * positions.
  65503. *
  65504. * In TypeScript the type option must always be set.
  65505. *
  65506. * Configuration options for the series are given in three levels:
  65507. *
  65508. * 1. Options for all series in a chart are defined in the plotOptions.series
  65509. * object.
  65510. *
  65511. * 2. Options for all `organization` series are defined in
  65512. * plotOptions.organization.
  65513. *
  65514. * 3. Options for one single series are given in the series instance array. (see
  65515. * online documentation for example)
  65516. */
  65517. export interface PlotOrganizationOptions {
  65518. /**
  65519. * (Highcharts) Accessibility options for a series.
  65520. */
  65521. accessibility?: SeriesAccessibilityOptionsObject;
  65522. /**
  65523. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  65524. * rendered. If `true`, areas which don't correspond to a data point, are
  65525. * rendered as `null` points. If `false`, those areas are skipped.
  65526. */
  65527. allAreas?: boolean;
  65528. /**
  65529. * (Highcharts) Enable or disable the initial animation when a series is
  65530. * displayed. The animation can also be set as a configuration object.
  65531. * Please note that this option only applies to the initial animation of the
  65532. * series itself. For other animations, see chart.animation and the
  65533. * animation parameter under the API methods. The following properties are
  65534. * supported:
  65535. *
  65536. * - `defer`: The animation delay time in milliseconds.
  65537. *
  65538. * - `duration`: The duration of the animation in milliseconds.
  65539. *
  65540. * - `easing`: Can be a string reference to an easing function set on the
  65541. * `Math` object or a function. See the _Custom easing function_ demo below.
  65542. *
  65543. * Due to poor performance, animation is disabled in old IE browsers for
  65544. * several chart types.
  65545. */
  65546. animation?: (boolean|PlotOrganizationAnimationOptions|Partial<AnimationOptionsObject>);
  65547. /**
  65548. * (Highcharts, Highstock, Gantt) The border color of the node cards.
  65549. */
  65550. borderColor?: ColorString;
  65551. /**
  65552. * (Highcharts) The border radius of the node cards.
  65553. */
  65554. borderRadius?: number;
  65555. /**
  65556. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  65557. * column or bar. Defaults to `1` when there is room for a border, but to
  65558. * `0` when the columns are so dense that a border would cover the next
  65559. * column.
  65560. *
  65561. * In styled mode, the stroke width can be set with the `.highcharts-point`
  65562. * rule.
  65563. */
  65564. borderWidth?: number;
  65565. /**
  65566. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  65567. * the category, ignoring null or missing points. When `false`, space will
  65568. * be reserved for null or missing points.
  65569. */
  65570. centerInCategory?: boolean;
  65571. /**
  65572. * (Highcharts) An additional class name to apply to the series' graphical
  65573. * elements. This option does not replace default class names of the
  65574. * graphical element.
  65575. */
  65576. className?: string;
  65577. /**
  65578. * (Highcharts) Disable this option to allow series rendering in the whole
  65579. * plotting area.
  65580. *
  65581. * **Note:** Clipping should be always enabled when chart.zoomType is set
  65582. */
  65583. clip?: boolean;
  65584. /**
  65585. * (Highcharts) The main color of the series. In line type series it applies
  65586. * to the line and the point markers unless otherwise specified. In bar type
  65587. * series it applies to the bars unless a color is specified per point. The
  65588. * default value is pulled from the `options.colors` array.
  65589. *
  65590. * In styled mode, the color can be defined by the colorIndex option. Also,
  65591. * the series color can be set with the `.highcharts-series`,
  65592. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  65593. * `.highcharts-series-{n}` class, or individual classes given by the
  65594. * `className` option.
  65595. */
  65596. color?: (ColorString|GradientColorObject|PatternObject);
  65597. /**
  65598. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  65599. * from the global colors or series-specific plotOptions.column.colors
  65600. * collections, this option determines whether the chart should receive one
  65601. * color per series or one color per point.
  65602. *
  65603. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  65604. * and instead this option gives the points individual color class names on
  65605. * the form `highcharts-color-{n}`.
  65606. */
  65607. colorByPoint?: boolean;
  65608. /**
  65609. * (Highcharts) Styled mode only. A specific color index to use for the
  65610. * series, so its graphic representations are given the class name
  65611. * `highcharts-color-{n}`.
  65612. */
  65613. colorIndex?: number;
  65614. /**
  65615. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  65616. * color set to apply instead of the global colors when colorByPoint is
  65617. * true.
  65618. */
  65619. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  65620. /**
  65621. * (Highstock) Compare the values of the series against the first non-null,
  65622. * non- zero value in the visible range. The y axis will show percentage or
  65623. * absolute change depending on whether `compare` is set to `"percent"` or
  65624. * `"value"`. When this is applied to multiple series, it allows comparing
  65625. * the development of the series against each other. Adds a `change` field
  65626. * to every point object.
  65627. */
  65628. compare?: string;
  65629. /**
  65630. * (Highstock) When compare is `percent`, this option dictates whether to
  65631. * use 0 or 100 as the base of comparison.
  65632. */
  65633. compareBase?: (0|100);
  65634. /**
  65635. * (Highstock) Defines if comparison should start from the first point
  65636. * within the visible range or should start from the first point **before**
  65637. * the range.
  65638. *
  65639. * In other words, this flag determines if first point within the visible
  65640. * range will have 0% (`compareStart=true`) or should have been already
  65641. * calculated according to the previous point (`compareStart=false`).
  65642. */
  65643. compareStart?: boolean;
  65644. /**
  65645. * (Gantt) Override Pathfinder connector options for a series. Requires
  65646. * Highcharts Gantt to be loaded.
  65647. */
  65648. connectors?: SeriesConnectorsOptionsObject;
  65649. /**
  65650. * (Highcharts) You can set the cursor to "pointer" if you have click events
  65651. * attached to the series, to signal to the user that the points and lines
  65652. * can be clicked.
  65653. *
  65654. * In styled mode, the series cursor can be set with the same classes as
  65655. * listed under series.color.
  65656. */
  65657. cursor?: (string|CursorValue);
  65658. /**
  65659. * (Highcharts) A reserved subspace to store options and values for
  65660. * customized functionality. Here you can add additional data for your own
  65661. * event callbacks and formatter callbacks.
  65662. */
  65663. custom?: Dictionary<any>;
  65664. /**
  65665. * (Highcharts) Name of the dash style to use for the graph, or for some
  65666. * series types the outline of each shape.
  65667. *
  65668. * In styled mode, the stroke dash-array can be set with the same classes as
  65669. * listed under series.color.
  65670. */
  65671. dashStyle?: DashStyleValue;
  65672. /**
  65673. * (Highstock) Data grouping is the concept of sampling the data values into
  65674. * larger blocks in order to ease readability and increase performance of
  65675. * the JavaScript charts. Highstock by default applies data grouping when
  65676. * the points become closer than a certain pixel value, determined by the
  65677. * `groupPixelWidth` option.
  65678. *
  65679. * If data grouping is applied, the grouping information of grouped points
  65680. * can be read from the Point.dataGroup. If point options other than the
  65681. * data itself are set, for example `name` or `color` or custom properties,
  65682. * the grouping logic doesn't know how to group it. In this case the options
  65683. * of the first point instance are copied over to the group point. This can
  65684. * be altered through a custom `approximation` callback function.
  65685. */
  65686. dataGrouping?: DataGroupingOptionsObject;
  65687. /**
  65688. * (Highcharts, Highstock, Highmaps, Gantt) Options for the data labels
  65689. * appearing on top of the nodes and links. For sankey charts, data labels
  65690. * are visible for the nodes by default, but hidden for links. This is
  65691. * controlled by modifying the `nodeFormat`, and the `format` that applies
  65692. * to links and is an empty string by default.
  65693. */
  65694. dataLabels?: (SeriesOrganizationDataLabelsOptionsObject|Array<SeriesOrganizationDataLabelsOptionsObject>);
  65695. /**
  65696. * (Highcharts) A description of the series to add to the screen reader
  65697. * information about the series.
  65698. */
  65699. description?: string;
  65700. /**
  65701. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  65702. * This includes point tooltips and click events on graphs and points. For
  65703. * large datasets it improves performance.
  65704. */
  65705. enableMouseTracking?: boolean;
  65706. /**
  65707. * (Highcharts) General event handlers for the series items. These event
  65708. * hooks can also be attached to the series at run time using the
  65709. * `Highcharts.addEvent` function.
  65710. */
  65711. events?: SeriesEventsOptionsObject;
  65712. /**
  65713. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  65714. * chart width or only the zoomed area when zooming in on parts of the X
  65715. * axis. By default, the Y axis adjusts to the min and max of the visible
  65716. * data. Cartesian series only.
  65717. */
  65718. getExtremesFromAll?: boolean;
  65719. /**
  65720. * (Highcharts) The indentation in pixels of hanging nodes, nodes which
  65721. * parent has layout set to `hanging`.
  65722. */
  65723. hangingIndent?: number;
  65724. /**
  65725. * (Highcharts) When set to `false` will prevent the series data from being
  65726. * included in any form of data export.
  65727. *
  65728. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  65729. * `includeInCSVExport`.
  65730. */
  65731. includeInDataExport?: boolean;
  65732. /**
  65733. * (Highmaps) What property to join the `mapData` to the value data. For
  65734. * example, if joinBy is "code", the mapData items with a specific code is
  65735. * merged into the data with the same code. For maps loaded from GeoJSON,
  65736. * the keys may be held in each point's `properties` object.
  65737. *
  65738. * The joinBy option can also be an array of two values, where the first
  65739. * points to a key in the `mapData`, and the second points to another key in
  65740. * the `data`.
  65741. *
  65742. * When joinBy is `null`, the map items are joined by their position in the
  65743. * array, which performs much better in maps with many data points. This is
  65744. * the recommended option if you are printing more than a thousand data
  65745. * points and have a backend that can preprocess the data into a parallel
  65746. * array of the mapData.
  65747. */
  65748. joinBy?: (string|Array<string>);
  65749. /**
  65750. * (Highcharts) An array specifying which option maps to which key in the
  65751. * data point array. This makes it convenient to work with unstructured data
  65752. * arrays from different sources.
  65753. */
  65754. keys?: Array<string>;
  65755. /**
  65756. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  65757. * series as possible in a natural way, seeking to avoid other series. The
  65758. * goal of this feature is to make the chart more easily readable, like if a
  65759. * human designer placed the labels in the optimal position.
  65760. *
  65761. * The series labels currently work with series types having a `graph` or an
  65762. * `area`.
  65763. */
  65764. label?: SeriesLabelOptionsObject;
  65765. /**
  65766. * (Highstock) The line marks the last price from all points.
  65767. */
  65768. lastPrice?: SeriesLastPriceOptionsObject;
  65769. /**
  65770. * (Highstock) The line marks the last price from visible range of points.
  65771. */
  65772. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  65773. /**
  65774. * (Highcharts) Set options on specific levels. Takes precedence over series
  65775. * options, but not node and link options.
  65776. */
  65777. levels?: Array<PlotOrganizationLevelsOptions>;
  65778. /**
  65779. * (Highcharts) The color of the links between nodes.
  65780. */
  65781. linkColor?: ColorString;
  65782. /**
  65783. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  65784. * Additionally, the value can be ":previous" to link to the previous
  65785. * series. When two series are linked, only the first one appears in the
  65786. * legend. Toggling the visibility of this also toggles the linked series.
  65787. *
  65788. * If master series uses data sorting and linked series does not have its
  65789. * own sorting definition, the linked series will be sorted in the same
  65790. * order as the master one.
  65791. */
  65792. linkedTo?: string;
  65793. /**
  65794. * (Highcharts) The line width of the links connecting nodes, in pixels.
  65795. */
  65796. linkLineWidth?: number;
  65797. /**
  65798. * (Highcharts) Opacity for the links between nodes in the sankey diagram.
  65799. */
  65800. linkOpacity?: number;
  65801. /**
  65802. * (Highcharts) Radius for the rounded corners of the links between nodes.
  65803. */
  65804. linkRadius?: number;
  65805. /**
  65806. * (Highcharts) The minimal width for a line of a sankey. By default, 0
  65807. * values are not shown.
  65808. */
  65809. minLinkWidth?: number;
  65810. /**
  65811. * (Highstock) Options for the corresponding navigator series if
  65812. * `showInNavigator` is `true` for this series. Available options are the
  65813. * same as any series, documented at plotOptions and series.
  65814. *
  65815. * These options are merged with options in navigator.series, and will take
  65816. * precedence if the same option is defined both places.
  65817. */
  65818. navigatorOptions?: PlotSeriesOptions;
  65819. /**
  65820. * (Highcharts) The padding between nodes in a sankey diagram or dependency
  65821. * wheel, in pixels.
  65822. *
  65823. * If the number of nodes is so great that it is possible to lay them out
  65824. * within the plot area with the given `nodePadding`, they will be rendered
  65825. * with a smaller padding as a strategy to avoid overflow.
  65826. */
  65827. nodePadding?: number;
  65828. /**
  65829. * (Highcharts) In a horizontal chart, the width of the nodes in pixels.
  65830. * Node that most organization charts are vertical, so the name of this
  65831. * option is counterintuitive.
  65832. */
  65833. nodeWidth?: number;
  65834. /**
  65835. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  65836. * dataLabels.
  65837. */
  65838. opacity?: number;
  65839. /**
  65840. * (Highcharts) Properties for each single point.
  65841. */
  65842. point?: PlotSeriesPointOptions;
  65843. /**
  65844. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  65845. * individual series. Overrides the chart wide configuration.
  65846. */
  65847. pointDescriptionFormatter?: Function;
  65848. /**
  65849. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  65850. * true, the checkbox next to the series name in the legend will be checked
  65851. * for a selected series.
  65852. */
  65853. selected?: boolean;
  65854. /**
  65855. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  65856. * allow selecting the series. The state of the checkbox is determined by
  65857. * the `selected` option.
  65858. */
  65859. showCheckbox?: boolean;
  65860. /**
  65861. * (Highcharts) Whether to display this particular series or series type in
  65862. * the legend. Standalone series are shown in legend by default, and linked
  65863. * series are not. Since v7.2.0 it is possible to show series that use
  65864. * colorAxis by setting this option to `true`.
  65865. */
  65866. showInLegend?: boolean;
  65867. /**
  65868. * (Highstock) Whether or not to show the series in the navigator. Takes
  65869. * precedence over navigator.baseSeries if defined.
  65870. */
  65871. showInNavigator?: boolean;
  65872. /**
  65873. * (Highcharts) If set to `true`, the accessibility module will skip past
  65874. * the points in this series for keyboard navigation.
  65875. */
  65876. skipKeyboardNavigation?: boolean;
  65877. states?: SeriesStatesOptionsObject;
  65878. /**
  65879. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  65880. * event on a series isn't triggered until the mouse moves over another
  65881. * series, or out of the plot area. When false, the `mouseOut` event on a
  65882. * series is triggered when the mouse leaves the area around the series'
  65883. * graph or markers. This also implies the tooltip when not shared. When
  65884. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  65885. * be hidden when moving the mouse between series. Defaults to true for line
  65886. * and area type series, but to false for columns, pies etc.
  65887. *
  65888. * **Note:** The boost module will force this option because of technical
  65889. * limitations.
  65890. */
  65891. stickyTracking?: boolean;
  65892. /**
  65893. * (Highcharts) A configuration object for the tooltip rendering of each
  65894. * single series. Properties are inherited from tooltip, but only the
  65895. * following properties can be defined on a series level.
  65896. */
  65897. tooltip?: SeriesTooltipOptionsObject;
  65898. /**
  65899. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  65900. * is longer than this, only one dimensional arrays of numbers, or two
  65901. * dimensional arrays with x and y values are allowed. Also, only the first
  65902. * point is tested, and the rest are assumed to be the same format. This
  65903. * saves expensive data checking and indexing in long series. Set it to `0`
  65904. * disable.
  65905. *
  65906. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  65907. * two dimensional arrays are allowed.
  65908. */
  65909. turboThreshold?: number;
  65910. /**
  65911. * (Highcharts) Set the initial visibility of the series.
  65912. */
  65913. visible?: boolean;
  65914. /**
  65915. * (Highmaps) Define the z index of the series.
  65916. */
  65917. zIndex?: number;
  65918. }
  65919. /**
  65920. * (Highcharts) Enable or disable the initial animation when a series is
  65921. * displayed. The animation can also be set as a configuration object. Please
  65922. * note that this option only applies to the initial animation of the series
  65923. * itself. For other animations, see chart.animation and the animation parameter
  65924. * under the API methods. The following properties are supported:
  65925. *
  65926. * - `defer`: The animation delay time in milliseconds.
  65927. *
  65928. * - `duration`: The duration of the animation in milliseconds.
  65929. *
  65930. * - `easing`: Can be a string reference to an easing function set on the `Math`
  65931. * object or a function. See the _Custom easing function_ demo below.
  65932. *
  65933. * Due to poor performance, animation is disabled in old IE browsers for several
  65934. * chart types.
  65935. */
  65936. export interface PlotPackedbubbleAnimationOptions {
  65937. defer?: number;
  65938. }
  65939. /**
  65940. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  65941. * animation when a series is displayed for the `dataLabels`. The animation can
  65942. * also be set as a configuration object. Please note that this option only
  65943. * applies to the initial animation. For other animations, see chart.animation
  65944. * and the animation parameter under the API methods. The following properties
  65945. * are supported:
  65946. *
  65947. * - `defer`: The animation delay time in milliseconds.
  65948. */
  65949. export interface PlotPackedbubbleDataLabelsAnimationOptions {
  65950. /**
  65951. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  65952. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  65953. * inherits defer time from the series.animation.defer.
  65954. */
  65955. defer?: number;
  65956. }
  65957. /**
  65958. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The default
  65959. * `color` setting is `"contrast"`, which is a pseudo color that Highcharts
  65960. * picks up and applies the maximum contrast to the underlying point item, for
  65961. * example the bar in a bar chart.
  65962. *
  65963. * The `textOutline` is a pseudo property that applies an outline of the given
  65964. * width with the given color, which by default is the maximum contrast to the
  65965. * text. So a bright text color will result in a black text outline for maximum
  65966. * readability on a mixed background. In some cases, especially with grayscale
  65967. * text, the text outline doesn't work well, in which cases it can be disabled
  65968. * by setting it to `"none"`. When `useHTML` is true, the `textOutline` will not
  65969. * be picked up. In this, case, the same effect can be acheived through the
  65970. * `text-shadow` CSS property.
  65971. *
  65972. * For some series types, where each point has an extent, like for example tree
  65973. * maps, the data label may overflow the point. There are two strategies for
  65974. * handling overflow. By default, the text will wrap to multiple lines. The
  65975. * other strategy is to set `style.textOverflow` to `ellipsis`, which will keep
  65976. * the text on one line plus it will break inside long words.
  65977. */
  65978. export interface PlotPackedbubbleDataLabelsStyleOptions {
  65979. transition?: string;
  65980. }
  65981. /**
  65982. * (Highcharts) Options for layout algorithm when simulation is enabled. Inside
  65983. * there are options to change the speed, padding, initial bubbles positions and
  65984. * more.
  65985. */
  65986. export interface PlotPackedbubbleLayoutAlgorithmOptions {
  65987. /**
  65988. * (Highcharts) The distance between two bubbles, when the algorithm starts
  65989. * to treat two bubbles as overlapping. The `bubblePadding` is also the
  65990. * expected distance between all the bubbles on simulation end.
  65991. */
  65992. bubblePadding?: number;
  65993. /**
  65994. * (Highcharts) In case of split series, this option allows user to drag and
  65995. * drop points between series, for changing point related series.
  65996. */
  65997. dragBetweenSeries?: boolean;
  65998. /**
  65999. * (Highcharts) Experimental. Enables live simulation of the algorithm
  66000. * implementation. All nodes are animated as the forces applies on them.
  66001. */
  66002. enableSimulation?: boolean;
  66003. /**
  66004. * (Highcharts) Friction applied on forces to prevent nodes rushing to fast
  66005. * to the desired positions.
  66006. */
  66007. friction?: number;
  66008. /**
  66009. * (Highcharts) Gravitational const used in the barycenter force of the
  66010. * algorithm.
  66011. */
  66012. gravitationalConstant?: number;
  66013. /**
  66014. * (Highcharts) When `initialPositions` are set to 'circle',
  66015. * `initialPositionRadius` is a distance from the center of circle, in which
  66016. * nodes are created.
  66017. */
  66018. initialPositionRadius?: number;
  66019. /**
  66020. * (Highcharts) Initial layout algorithm for positioning nodes. Can be one
  66021. * of the built-in options ("circle", "random") or a function where
  66022. * positions should be set on each node (`this.nodes`) as `node.plotX` and
  66023. * `node.plotY`.
  66024. */
  66025. initialPositions?: ("circle"|"random"|Function);
  66026. /**
  66027. * (Highcharts) Integration type. Available options are `'euler'` and
  66028. * `'verlet'`. Integration determines how forces are applied on particles.
  66029. * In Euler integration, force is applied direct as `newPosition +=
  66030. * velocity;`. In Verlet integration, new position is based on a previous
  66031. * posittion without velocity: `newPosition += previousPosition -
  66032. * newPosition`.
  66033. *
  66034. * Note that different integrations give different results as forces are
  66035. * different.
  66036. *
  66037. * In Highcharts v7.0.x only `'euler'` integration was supported.
  66038. */
  66039. integration?: OptionsIntegrationValue;
  66040. /**
  66041. * (Highcharts) Ideal length (px) of the link between two nodes. When not
  66042. * defined, length is calculated as: `Math.pow(availableWidth *
  66043. * availableHeight / nodesLength, 0.4);`
  66044. *
  66045. * Note: Because of the algorithm specification, length of each link might
  66046. * be not exactly as specified.
  66047. */
  66048. linkLength?: number;
  66049. /**
  66050. * (Highcharts) Max number of iterations before algorithm will stop. In
  66051. * general, algorithm should find positions sooner, but when rendering huge
  66052. * number of nodes, it is recommended to increase this value as finding
  66053. * perfect graph positions can require more time.
  66054. */
  66055. maxIterations?: number;
  66056. /**
  66057. * (Highcharts) Max speed that node can get in one iteration. In terms of
  66058. * simulation, it's a maximum translation (in pixels) that a node can move
  66059. * (in both, x and y, dimensions). While `friction` is applied on all nodes,
  66060. * max speed is applied only for nodes that move very fast, for example
  66061. * small or disconnected ones.
  66062. */
  66063. maxSpeed?: number;
  66064. /**
  66065. * (Highcharts) Whether bubbles should interact with their parentNode to
  66066. * keep them inside.
  66067. */
  66068. parentNodeLimit?: boolean;
  66069. /**
  66070. * (Highcharts) Layout algorithm options for parent nodes.
  66071. */
  66072. parentNodeOptions?: PlotPackedbubbleLayoutAlgorithmParentNodeOptions;
  66073. /**
  66074. * (Highcharts) Whether series should interact with each other or not. When
  66075. * `parentNodeLimit` is set to true, thi option should be set to false to
  66076. * avoid sticking points in wrong series parentNode.
  66077. */
  66078. seriesInteraction?: boolean;
  66079. /**
  66080. * (Highcharts) Whether to split series into individual groups or to mix all
  66081. * series together.
  66082. */
  66083. splitSeries?: string;
  66084. /**
  66085. * (Highcharts) Type of the algorithm used when positioning nodes.
  66086. */
  66087. type?: "reingold-fruchterman";
  66088. }
  66089. /**
  66090. * (Highcharts) Layout algorithm options for parent nodes.
  66091. */
  66092. export interface PlotPackedbubbleLayoutAlgorithmParentNodeOptions {
  66093. /**
  66094. * (Highcharts) Friction applied on forces to prevent nodes rushing to fast
  66095. * to the desired positions.
  66096. */
  66097. friction?: number;
  66098. /**
  66099. * (Highcharts) Gravitational const used in the barycenter force of the
  66100. * algorithm.
  66101. */
  66102. gravitationalConstant?: number;
  66103. /**
  66104. * (Highcharts) When `initialPositions` are set to 'circle',
  66105. * `initialPositionRadius` is a distance from the center of circle, in which
  66106. * nodes are created.
  66107. */
  66108. initialPositionRadius?: number;
  66109. /**
  66110. * (Highcharts) Initial layout algorithm for positioning nodes. Can be one
  66111. * of built-in options ("circle", "random") or a function where positions
  66112. * should be set on each node (`this.nodes`) as `node.plotX` and
  66113. * `node.plotY`
  66114. */
  66115. initialPositions?: ("circle"|"random"|Function);
  66116. /**
  66117. * (Highcharts) Integration type. Available options are `'euler'` and
  66118. * `'verlet'`. Integration determines how forces are applied on particles.
  66119. * In Euler integration, force is applied direct as `newPosition +=
  66120. * velocity;`. In Verlet integration, new position is based on a previous
  66121. * posittion without velocity: `newPosition += previousPosition -
  66122. * newPosition`.
  66123. *
  66124. * Note that different integrations give different results as forces are
  66125. * different.
  66126. *
  66127. * In Highcharts v7.0.x only `'euler'` integration was supported.
  66128. */
  66129. integration?: OptionsIntegrationValue;
  66130. /**
  66131. * (Highcharts) Ideal length (px) of the link between two nodes. When not
  66132. * defined, length is calculated as: `Math.pow(availableWidth *
  66133. * availableHeight / nodesLength, 0.4);`
  66134. *
  66135. * Note: Because of the algorithm specification, length of each link might
  66136. * be not exactly as specified.
  66137. */
  66138. linkLength?: number;
  66139. /**
  66140. * (Highcharts) Styling options for parentNodes markers. Similar to
  66141. * line.marker options.
  66142. */
  66143. marker?: PointMarkerOptionsObject;
  66144. /**
  66145. * (Highcharts) Max number of iterations before algorithm will stop. In
  66146. * general, algorithm should find positions sooner, but when rendering huge
  66147. * number of nodes, it is recommended to increase this value as finding
  66148. * perfect graph positions can require more time.
  66149. */
  66150. maxIterations?: number;
  66151. /**
  66152. * (Highcharts) Verlet integration only. Max speed that node can get in one
  66153. * iteration. In terms of simulation, it's a maximum translation (in pixels)
  66154. * that node can move (in both, x and y, dimensions). While `friction` is
  66155. * applied on all nodes, max speed is applied only for nodes that move very
  66156. * fast, for example small or disconnected ones.
  66157. */
  66158. maxSpeed?: number;
  66159. seriesInteraction?: boolean;
  66160. /**
  66161. * (Highcharts) Type of the algorithm used when positioning nodes.
  66162. */
  66163. type?: "reingold-fruchterman";
  66164. }
  66165. /**
  66166. * (Highcharts) A packed bubble series is a two dimensional series type, where
  66167. * each point renders a value in X, Y position. Each point is drawn as a bubble
  66168. * where the bubbles don't overlap with each other and the radius of the bubble
  66169. * relates to the value.
  66170. *
  66171. * In TypeScript the type option must always be set.
  66172. *
  66173. * Configuration options for the series are given in three levels:
  66174. *
  66175. * 1. Options for all series in a chart are defined in the plotOptions.series
  66176. * object.
  66177. *
  66178. * 2. Options for all `packedbubble` series are defined in
  66179. * plotOptions.packedbubble.
  66180. *
  66181. * 3. Options for one single series are given in the series instance array. (see
  66182. * online documentation for example)
  66183. */
  66184. export interface PlotPackedbubbleOptions {
  66185. /**
  66186. * (Highcharts) Accessibility options for a series.
  66187. */
  66188. accessibility?: SeriesAccessibilityOptionsObject;
  66189. /**
  66190. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  66191. * rendered. If `true`, areas which don't correspond to a data point, are
  66192. * rendered as `null` points. If `false`, those areas are skipped.
  66193. */
  66194. allAreas?: boolean;
  66195. /**
  66196. * (Highcharts) Allow this series' points to be selected by clicking on the
  66197. * graphic (columns, point markers, pie slices, map areas etc).
  66198. *
  66199. * The selected points can be handled by point select and unselect events,
  66200. * or collectively by the getSelectedPoints function.
  66201. *
  66202. * And alternative way of selecting points is through dragging.
  66203. */
  66204. allowPointSelect?: boolean;
  66205. /**
  66206. * (Highcharts) Enable or disable the initial animation when a series is
  66207. * displayed. The animation can also be set as a configuration object.
  66208. * Please note that this option only applies to the initial animation of the
  66209. * series itself. For other animations, see chart.animation and the
  66210. * animation parameter under the API methods. The following properties are
  66211. * supported:
  66212. *
  66213. * - `defer`: The animation delay time in milliseconds.
  66214. *
  66215. * - `duration`: The duration of the animation in milliseconds.
  66216. *
  66217. * - `easing`: Can be a string reference to an easing function set on the
  66218. * `Math` object or a function. See the _Custom easing function_ demo below.
  66219. *
  66220. * Due to poor performance, animation is disabled in old IE browsers for
  66221. * several chart types.
  66222. */
  66223. animation?: (boolean|PlotPackedbubbleAnimationOptions|Partial<AnimationOptionsObject>);
  66224. /**
  66225. * (Highcharts) If there are more points in the series than the
  66226. * `animationLimit`, the animation won't run. Animation affects overall
  66227. * performance and doesn't work well with heavy data series.
  66228. */
  66229. animationLimit?: number;
  66230. /**
  66231. * (Highmaps) The border color of the map areas.
  66232. *
  66233. * In styled mode, the border stroke is given in the `.highcharts-point`
  66234. * class.
  66235. */
  66236. borderColor?: (ColorString|GradientColorObject|PatternObject);
  66237. /**
  66238. * (Highmaps) The border width of each map area.
  66239. *
  66240. * In styled mode, the border stroke width is given in the
  66241. * `.highcharts-point` class.
  66242. */
  66243. borderWidth?: number;
  66244. /**
  66245. * (Highcharts) An additional class name to apply to the series' graphical
  66246. * elements. This option does not replace default class names of the
  66247. * graphical element.
  66248. */
  66249. className?: string;
  66250. /**
  66251. * (Highcharts) Disable this option to allow series rendering in the whole
  66252. * plotting area.
  66253. *
  66254. * **Note:** Clipping should be always enabled when chart.zoomType is set
  66255. */
  66256. clip?: boolean;
  66257. /**
  66258. * (Highcharts) The main color of the series. In line type series it applies
  66259. * to the line and the point markers unless otherwise specified. In bar type
  66260. * series it applies to the bars unless a color is specified per point. The
  66261. * default value is pulled from the `options.colors` array.
  66262. *
  66263. * In styled mode, the color can be defined by the colorIndex option. Also,
  66264. * the series color can be set with the `.highcharts-series`,
  66265. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  66266. * `.highcharts-series-{n}` class, or individual classes given by the
  66267. * `className` option.
  66268. */
  66269. color?: (ColorString|GradientColorObject|PatternObject);
  66270. /**
  66271. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  66272. * this number defines which colorAxis the particular series is connected
  66273. * to. It refers to either the axis id or the index of the axis in the
  66274. * colorAxis array, with 0 being the first. Set this option to false to
  66275. * prevent a series from connecting to the default color axis.
  66276. *
  66277. * Since v7.2.0 the option can also be an axis id or an axis index instead
  66278. * of a boolean flag.
  66279. */
  66280. colorAxis?: (boolean|number|string);
  66281. /**
  66282. * (Highcharts) Styled mode only. A specific color index to use for the
  66283. * series, so its graphic representations are given the class name
  66284. * `highcharts-color-{n}`.
  66285. */
  66286. colorIndex?: number;
  66287. /**
  66288. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  66289. * used to calculate point color if `colorAxis` is used. Requires to set
  66290. * `min` and `max` if some custom point property is used or if approximation
  66291. * for data grouping is set to `'sum'`.
  66292. */
  66293. colorKey?: string;
  66294. /**
  66295. * (Highstock) Compare the values of the series against the first non-null,
  66296. * non- zero value in the visible range. The y axis will show percentage or
  66297. * absolute change depending on whether `compare` is set to `"percent"` or
  66298. * `"value"`. When this is applied to multiple series, it allows comparing
  66299. * the development of the series against each other. Adds a `change` field
  66300. * to every point object.
  66301. */
  66302. compare?: string;
  66303. /**
  66304. * (Highstock) When compare is `percent`, this option dictates whether to
  66305. * use 0 or 100 as the base of comparison.
  66306. */
  66307. compareBase?: (0|100);
  66308. /**
  66309. * (Highstock) Defines if comparison should start from the first point
  66310. * within the visible range or should start from the first point **before**
  66311. * the range.
  66312. *
  66313. * In other words, this flag determines if first point within the visible
  66314. * range will have 0% (`compareStart=true`) or should have been already
  66315. * calculated according to the previous point (`compareStart=false`).
  66316. */
  66317. compareStart?: boolean;
  66318. /**
  66319. * (Gantt) Override Pathfinder connector options for a series. Requires
  66320. * Highcharts Gantt to be loaded.
  66321. */
  66322. connectors?: SeriesConnectorsOptionsObject;
  66323. /**
  66324. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  66325. * rounded to its nearest pixel in order to render sharp on screen. In some
  66326. * cases, when there are a lot of densely packed columns, this leads to
  66327. * visible difference in column widths or distance between columns. In these
  66328. * cases, setting `crisp` to `false` may look better, even though each
  66329. * column is rendered blurry.
  66330. */
  66331. crisp?: boolean;
  66332. /**
  66333. * (Highcharts) You can set the cursor to "pointer" if you have click events
  66334. * attached to the series, to signal to the user that the points and lines
  66335. * can be clicked.
  66336. *
  66337. * In styled mode, the series cursor can be set with the same classes as
  66338. * listed under series.color.
  66339. */
  66340. cursor?: (string|CursorValue);
  66341. /**
  66342. * (Highcharts) A reserved subspace to store options and values for
  66343. * customized functionality. Here you can add additional data for your own
  66344. * event callbacks and formatter callbacks.
  66345. */
  66346. custom?: Dictionary<any>;
  66347. /**
  66348. * (Highcharts) Name of the dash style to use for the graph, or for some
  66349. * series types the outline of each shape.
  66350. *
  66351. * In styled mode, the stroke dash-array can be set with the same classes as
  66352. * listed under series.color.
  66353. */
  66354. dashStyle?: DashStyleValue;
  66355. /**
  66356. * (Highstock) Data grouping is the concept of sampling the data values into
  66357. * larger blocks in order to ease readability and increase performance of
  66358. * the JavaScript charts. Highstock by default applies data grouping when
  66359. * the points become closer than a certain pixel value, determined by the
  66360. * `groupPixelWidth` option.
  66361. *
  66362. * If data grouping is applied, the grouping information of grouped points
  66363. * can be read from the Point.dataGroup. If point options other than the
  66364. * data itself are set, for example `name` or `color` or custom properties,
  66365. * the grouping logic doesn't know how to group it. In this case the options
  66366. * of the first point instance are copied over to the group point. This can
  66367. * be altered through a custom `approximation` callback function.
  66368. */
  66369. dataGrouping?: DataGroupingOptionsObject;
  66370. /**
  66371. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  66372. * labels, appearing next to each data point.
  66373. *
  66374. * Since v6.2.0, multiple data labels can be applied to each single point by
  66375. * defining them as an array of configs.
  66376. *
  66377. * In styled mode, the data labels can be styled with the
  66378. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  66379. * (see example).
  66380. */
  66381. dataLabels?: (SeriesPackedBubbleDataLabelsOptionsObject|Array<SeriesPackedBubbleDataLabelsOptionsObject>);
  66382. /**
  66383. * (Highcharts) A description of the series to add to the screen reader
  66384. * information about the series.
  66385. */
  66386. description?: string;
  66387. /**
  66388. * (Highcharts) Whether to display negative sized bubbles. The threshold is
  66389. * given by the zThreshold option, and negative bubbles can be visualized by
  66390. * setting negativeColor.
  66391. */
  66392. displayNegative?: boolean;
  66393. /**
  66394. * (Highcharts) Flag to determine if nodes are draggable or not. Available
  66395. * for graph with useSimulation set to true only.
  66396. */
  66397. draggable?: boolean;
  66398. /**
  66399. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  66400. * This includes point tooltips and click events on graphs and points. For
  66401. * large datasets it improves performance.
  66402. */
  66403. enableMouseTracking?: boolean;
  66404. /**
  66405. * (Highcharts) General event handlers for the series items. These event
  66406. * hooks can also be attached to the series at run time using the
  66407. * `Highcharts.addEvent` function.
  66408. */
  66409. events?: SeriesEventsOptionsObject;
  66410. /**
  66411. * (Highcharts) Determines whether the series should look for the nearest
  66412. * point in both dimensions or just the x-dimension when hovering the
  66413. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  66414. * series. If the data has duplicate x-values, it is recommended to set this
  66415. * to `'xy'` to allow hovering over all points.
  66416. *
  66417. * Applies only to series types using nearest neighbor search (not direct
  66418. * hover) for tooltip.
  66419. */
  66420. findNearestPointBy?: OptionsFindNearestPointByValue;
  66421. /**
  66422. * (Highstock) Defines when to display a gap in the graph, together with the
  66423. * gapUnit option.
  66424. *
  66425. * In case when `dataGrouping` is enabled, points can be grouped into a
  66426. * larger time span. This can make the grouped points to have a greater
  66427. * distance than the absolute value of `gapSize` property, which will result
  66428. * in disappearing graph completely. To prevent this situation the mentioned
  66429. * distance between grouped points is used instead of previously defined
  66430. * `gapSize`.
  66431. *
  66432. * In practice, this option is most often used to visualize gaps in time
  66433. * series. In a stock chart, intraday data is available for daytime hours,
  66434. * while gaps will appear in nights and weekends.
  66435. */
  66436. gapSize?: number;
  66437. /**
  66438. * (Highstock) Together with gapSize, this option defines where to draw gaps
  66439. * in the graph.
  66440. *
  66441. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  66442. * if the distance between two points is greater than 5 times that of the
  66443. * two closest points, the graph will be broken.
  66444. *
  66445. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  66446. * values, which on a datetime axis is milliseconds. This also applies to
  66447. * the navigator series that inherits gap options from the base series.
  66448. */
  66449. gapUnit?: OptionsGapUnitValue;
  66450. /**
  66451. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  66452. * chart width or only the zoomed area when zooming in on parts of the X
  66453. * axis. By default, the Y axis adjusts to the min and max of the visible
  66454. * data. Cartesian series only.
  66455. */
  66456. getExtremesFromAll?: boolean;
  66457. /**
  66458. * (Highcharts) When set to `false` will prevent the series data from being
  66459. * included in any form of data export.
  66460. *
  66461. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  66462. * `includeInCSVExport`.
  66463. */
  66464. includeInDataExport?: boolean;
  66465. /**
  66466. * (Highmaps) What property to join the `mapData` to the value data. For
  66467. * example, if joinBy is "code", the mapData items with a specific code is
  66468. * merged into the data with the same code. For maps loaded from GeoJSON,
  66469. * the keys may be held in each point's `properties` object.
  66470. *
  66471. * The joinBy option can also be an array of two values, where the first
  66472. * points to a key in the `mapData`, and the second points to another key in
  66473. * the `data`.
  66474. *
  66475. * When joinBy is `null`, the map items are joined by their position in the
  66476. * array, which performs much better in maps with many data points. This is
  66477. * the recommended option if you are printing more than a thousand data
  66478. * points and have a backend that can preprocess the data into a parallel
  66479. * array of the mapData.
  66480. */
  66481. joinBy?: (string|Array<string>);
  66482. /**
  66483. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  66484. * series as possible in a natural way, seeking to avoid other series. The
  66485. * goal of this feature is to make the chart more easily readable, like if a
  66486. * human designer placed the labels in the optimal position.
  66487. *
  66488. * The series labels currently work with series types having a `graph` or an
  66489. * `area`.
  66490. */
  66491. label?: SeriesLabelOptionsObject;
  66492. /**
  66493. * (Highstock) The line marks the last price from all points.
  66494. */
  66495. lastPrice?: SeriesLastPriceOptionsObject;
  66496. /**
  66497. * (Highstock) The line marks the last price from visible range of points.
  66498. */
  66499. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  66500. /**
  66501. * (Highcharts) Options for layout algorithm when simulation is enabled.
  66502. * Inside there are options to change the speed, padding, initial bubbles
  66503. * positions and more.
  66504. */
  66505. layoutAlgorithm?: PlotPackedbubbleLayoutAlgorithmOptions;
  66506. /**
  66507. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  66508. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  66509. * the ends and bends.
  66510. */
  66511. linecap?: SeriesLinecapValue;
  66512. /**
  66513. * (Highcharts, Highstock) The width of the line connecting the data points.
  66514. */
  66515. lineWidth?: number;
  66516. /**
  66517. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  66518. * Additionally, the value can be ":previous" to link to the previous
  66519. * series. When two series are linked, only the first one appears in the
  66520. * legend. Toggling the visibility of this also toggles the linked series.
  66521. *
  66522. * If master series uses data sorting and linked series does not have its
  66523. * own sorting definition, the linked series will be sorted in the same
  66524. * order as the master one.
  66525. */
  66526. linkedTo?: string;
  66527. /**
  66528. * (Highcharts) Options for the point markers of line-like series.
  66529. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  66530. * visual appearance of the markers. Other series types, like column series,
  66531. * don't have markers, but have visual options on the series level instead.
  66532. *
  66533. * In styled mode, the markers can be styled with the `.highcharts-point`,
  66534. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  66535. */
  66536. marker?: PointMarkerOptionsObject;
  66537. /**
  66538. * (Highcharts, Highstock) Maximum bubble size. Bubbles will automatically
  66539. * size between the `minSize` and `maxSize` to reflect the value of each
  66540. * bubble. Can be either pixels (when no unit is given), or a percentage of
  66541. * the smallest one of the plot width and height, divided by the square root
  66542. * of total number of points.
  66543. */
  66544. maxSize?: (number|string);
  66545. /**
  66546. * (Highcharts, Highstock) Minimum bubble size. Bubbles will automatically
  66547. * size between the `minSize` and `maxSize` to reflect the value of each
  66548. * bubble. Can be either pixels (when no unit is given), or a percentage of
  66549. * the smallest one of the plot width and height, divided by the square root
  66550. * of total number of points.
  66551. */
  66552. minSize?: (number|string);
  66553. /**
  66554. * (Highstock) Options for the corresponding navigator series if
  66555. * `showInNavigator` is `true` for this series. Available options are the
  66556. * same as any series, documented at plotOptions and series.
  66557. *
  66558. * These options are merged with options in navigator.series, and will take
  66559. * precedence if the same option is defined both places.
  66560. */
  66561. navigatorOptions?: PlotSeriesOptions;
  66562. /**
  66563. * (Highcharts) When a point's Z value is below the zThreshold setting, this
  66564. * color is used.
  66565. */
  66566. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  66567. /**
  66568. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  66569. * dataLabels.
  66570. */
  66571. opacity?: number;
  66572. /**
  66573. * (Highcharts) Series options for parent nodes.
  66574. */
  66575. parentNode?: PlotPackedbubbleParentNodeOptions;
  66576. /**
  66577. * (Highcharts) Properties for each single point.
  66578. */
  66579. point?: PlotSeriesPointOptions;
  66580. /**
  66581. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  66582. * individual series. Overrides the chart wide configuration.
  66583. */
  66584. pointDescriptionFormatter?: Function;
  66585. /**
  66586. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  66587. * a series, `pointInterval` defines the interval of the x values. For
  66588. * example, if a series contains one value every decade starting from year
  66589. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  66590. * `pointInterval` is set in milliseconds.
  66591. *
  66592. * It can be also be combined with `pointIntervalUnit` to draw irregular
  66593. * time intervals.
  66594. *
  66595. * Please note that this options applies to the _series data_, not the
  66596. * interval of the axis ticks, which is independent.
  66597. */
  66598. pointInterval?: number;
  66599. /**
  66600. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  66601. * setting the pointInterval to irregular time units, `day`, `month` and
  66602. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  66603. * also takes the DST crossover into consideration when dealing with local
  66604. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  66605. * months, 10 years etc.
  66606. *
  66607. * Please note that this options applies to the _series data_, not the
  66608. * interval of the axis ticks, which is independent.
  66609. */
  66610. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  66611. /**
  66612. * (Highstock) The width of each point on the x axis. For example in a
  66613. * column chart with one value each day, the pointRange would be 1 day (= 24
  66614. * * 3600
  66615. *
  66616. * * 1000 milliseconds). This is normally computed automatically, but this
  66617. * option can be used to override the automatic value.
  66618. */
  66619. pointRange?: number;
  66620. /**
  66621. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  66622. * a series, pointStart defines on what value to start. For example, if a
  66623. * series contains one yearly value starting from 1945, set pointStart to
  66624. * 1945.
  66625. */
  66626. pointStart?: number;
  66627. /**
  66628. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  66629. * true, the checkbox next to the series name in the legend will be checked
  66630. * for a selected series.
  66631. */
  66632. selected?: boolean;
  66633. /**
  66634. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  66635. * allow selecting the series. The state of the checkbox is determined by
  66636. * the `selected` option.
  66637. */
  66638. showCheckbox?: boolean;
  66639. /**
  66640. * (Highcharts) Whether to display this particular series or series type in
  66641. * the legend. Standalone series are shown in legend by default, and linked
  66642. * series are not. Since v7.2.0 it is possible to show series that use
  66643. * colorAxis by setting this option to `true`.
  66644. */
  66645. showInLegend?: boolean;
  66646. /**
  66647. * (Highstock) Whether or not to show the series in the navigator. Takes
  66648. * precedence over navigator.baseSeries if defined.
  66649. */
  66650. showInNavigator?: boolean;
  66651. /**
  66652. * (Highcharts) Whether the bubble's value should be represented by the area
  66653. * or the width of the bubble. The default, `area`, corresponds best to the
  66654. * human perception of the size of each bubble.
  66655. */
  66656. sizeBy?: string;
  66657. /**
  66658. * (Highcharts) If set to `true`, the accessibility module will skip past
  66659. * the points in this series for keyboard navigation.
  66660. */
  66661. skipKeyboardNavigation?: boolean;
  66662. /**
  66663. * (Highcharts) When this is true, the series will not cause the Y axis to
  66664. * cross the zero plane (or threshold option) unless the data actually
  66665. * crosses the plane.
  66666. *
  66667. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  66668. * make the Y axis show negative values according to the `minPadding`
  66669. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  66670. */
  66671. softThreshold?: boolean;
  66672. /**
  66673. * (Highcharts, Highstock) Whether to stack the values of each series on top
  66674. * of each other. Possible values are `undefined` to disable, `"normal"` to
  66675. * stack by value or `"percent"`.
  66676. *
  66677. * When stacking is enabled, data must be sorted in ascending X order.
  66678. *
  66679. * Some stacking options are related to specific series types. In the
  66680. * streamgraph series type, the stacking option is set to `"stream"`. The
  66681. * second one is `"overlap"`, which only applies to waterfall series.
  66682. */
  66683. stacking?: OptionsStackingValue;
  66684. states?: SeriesStatesOptionsObject;
  66685. /**
  66686. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  66687. * `mouseOut` event on a series isn't triggered until the mouse moves over
  66688. * another series, or out of the plot area. When false, the `mouseOut` event
  66689. * on a series is triggered when the mouse leaves the area around the
  66690. * series' graph or markers. This also implies the tooltip. When
  66691. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  66692. * be hidden when moving the mouse between series.
  66693. */
  66694. stickyTracking?: boolean;
  66695. /**
  66696. * (Highcharts, Highstock) The threshold, also called zero level or base
  66697. * level. For line type series this is only used in conjunction with
  66698. * negativeColor.
  66699. */
  66700. threshold?: number;
  66701. /**
  66702. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  66703. * of each single series. Properties are inherited from tooltip. Overridable
  66704. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  66705. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  66706. * series.name by default shows in the headerFormat and point.x and point.y
  66707. * in the pointFormat.
  66708. */
  66709. tooltip?: SeriesTooltipOptionsObject;
  66710. /**
  66711. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  66712. * is longer than this, only one dimensional arrays of numbers, or two
  66713. * dimensional arrays with x and y values are allowed. Also, only the first
  66714. * point is tested, and the rest are assumed to be the same format. This
  66715. * saves expensive data checking and indexing in long series. Set it to `0`
  66716. * disable.
  66717. *
  66718. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  66719. * two dimensional arrays are allowed.
  66720. */
  66721. turboThreshold?: number;
  66722. /**
  66723. * (Highcharts) An option is giving a possibility to choose between using
  66724. * simulation for calculating bubble positions. These reflects in both
  66725. * animation and final position of bubbles. Simulation is also adding
  66726. * options to the series graph based on used layout. In case of big data
  66727. * sets, with any performance issues, it is possible to disable animation
  66728. * and pack bubble in a simple circular way.
  66729. */
  66730. useSimulation?: boolean;
  66731. /**
  66732. * (Highcharts) Set the initial visibility of the series.
  66733. */
  66734. visible?: boolean;
  66735. /**
  66736. * (Highmaps) Define the z index of the series.
  66737. */
  66738. zIndex?: number;
  66739. /**
  66740. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  66741. */
  66742. zoneAxis?: string;
  66743. /**
  66744. * (Highcharts, Highstock) An array defining zones within a series. Zones
  66745. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  66746. * the `zoneAxis` option. The zone definitions have to be in ascending order
  66747. * regarding to the value.
  66748. *
  66749. * In styled mode, the color zones are styled with the
  66750. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  66751. * option (view live demo).
  66752. */
  66753. zones?: Array<SeriesZonesOptionsObject>;
  66754. /**
  66755. * (Highcharts) When displayNegative is `false`, bubbles with lower Z values
  66756. * are skipped. When `displayNegative` is `true` and a negativeColor is
  66757. * given, points with lower Z is colored.
  66758. */
  66759. zThreshold?: number;
  66760. }
  66761. /**
  66762. * (Highcharts) Series options for parent nodes.
  66763. */
  66764. export interface PlotPackedbubbleParentNodeOptions {
  66765. /**
  66766. * (Highcharts) Allow this series' parent nodes to be selected by clicking
  66767. * on the graph.
  66768. */
  66769. allowPointSelect?: boolean;
  66770. }
  66771. /**
  66772. * (Highcharts) Enable or disable the initial animation when a series is
  66773. * displayed. The animation can also be set as a configuration object. Please
  66774. * note that this option only applies to the initial animation of the series
  66775. * itself. For other animations, see chart.animation and the animation parameter
  66776. * under the API methods. The following properties are supported:
  66777. *
  66778. * - `defer`: The animation delay time in milliseconds.
  66779. *
  66780. * - `duration`: The duration of the animation in milliseconds.
  66781. *
  66782. * - `easing`: Can be a string reference to an easing function set on the `Math`
  66783. * object or a function. See the _Custom easing function_ demo below.
  66784. *
  66785. * Due to poor performance, animation is disabled in old IE browsers for several
  66786. * chart types.
  66787. */
  66788. export interface PlotParetoAnimationOptions {
  66789. defer?: number;
  66790. }
  66791. /**
  66792. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  66793. * animation when a series is displayed for the `dataLabels`. The animation can
  66794. * also be set as a configuration object. Please note that this option only
  66795. * applies to the initial animation. For other animations, see chart.animation
  66796. * and the animation parameter under the API methods. The following properties
  66797. * are supported:
  66798. *
  66799. * - `defer`: The animation delay time in milliseconds.
  66800. */
  66801. export interface PlotParetoDataLabelsAnimationOptions {
  66802. /**
  66803. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  66804. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  66805. * inherits defer time from the series.animation.defer.
  66806. */
  66807. defer?: number;
  66808. }
  66809. /**
  66810. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  66811. * appearing next to each data point.
  66812. *
  66813. * Since v6.2.0, multiple data labels can be applied to each single point by
  66814. * defining them as an array of configs.
  66815. *
  66816. * In styled mode, the data labels can be styled with the
  66817. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  66818. * example).
  66819. */
  66820. export interface PlotParetoDataLabelsOptions {
  66821. /**
  66822. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  66823. * compared to the point. If `right`, the right side of the label should be
  66824. * touching the point. For points with an extent, like columns, the
  66825. * alignments also dictates how to align it inside the box, as given with
  66826. * the inside option. Can be one of `left`, `center` or `right`.
  66827. */
  66828. align?: (AlignValue|null);
  66829. /**
  66830. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  66831. * overlap. To make the labels less sensitive for overlapping, the
  66832. * dataLabels.padding can be set to 0.
  66833. */
  66834. allowOverlap?: boolean;
  66835. /**
  66836. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  66837. * animation when a series is displayed for the `dataLabels`. The animation
  66838. * can also be set as a configuration object. Please note that this option
  66839. * only applies to the initial animation. For other animations, see
  66840. * chart.animation and the animation parameter under the API methods. The
  66841. * following properties are supported:
  66842. *
  66843. * - `defer`: The animation delay time in milliseconds.
  66844. */
  66845. animation?: (boolean|PlotParetoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  66846. /**
  66847. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  66848. * for the data label.
  66849. */
  66850. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  66851. /**
  66852. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  66853. * label. Defaults to `undefined`.
  66854. */
  66855. borderColor?: (ColorString|GradientColorObject|PatternObject);
  66856. /**
  66857. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  66858. * the data label.
  66859. */
  66860. borderRadius?: number;
  66861. /**
  66862. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  66863. * the data label.
  66864. */
  66865. borderWidth?: number;
  66866. /**
  66867. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  66868. * Particularly in styled mode, this can be used to give each series' or
  66869. * point's data label unique styling. In addition to this option, a default
  66870. * color class name is added so that we can give the labels a contrast text
  66871. * shadow.
  66872. */
  66873. className?: string;
  66874. /**
  66875. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  66876. * labels. Defaults to `undefined`. For certain series types, like column or
  66877. * map, the data labels can be drawn inside the points. In this case the
  66878. * data label will be drawn with maximum contrast by default. Additionally,
  66879. * it will be given a `text-outline` style with the opposite color, to
  66880. * further increase the contrast. This can be overridden by setting the
  66881. * `text-outline` style to `none` in the `dataLabels.style` option.
  66882. */
  66883. color?: (ColorString|GradientColorObject|PatternObject);
  66884. /**
  66885. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  66886. * are outside the plot area. By default, the data label is moved inside the
  66887. * plot area according to the overflow option.
  66888. */
  66889. crop?: boolean;
  66890. /**
  66891. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  66892. * labels until the initial series animation has finished. Setting to
  66893. * `false` renders the data label immediately. If set to `true` inherits the
  66894. * defer time set in plotOptions.series.animation.
  66895. */
  66896. defer?: boolean;
  66897. /**
  66898. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  66899. * labels.
  66900. */
  66901. enabled?: boolean;
  66902. /**
  66903. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  66904. * of which data labels to display. The declarative filter is designed for
  66905. * use when callback functions are not available, like when the chart
  66906. * options require a pure JSON structure or for use with graphical editors.
  66907. * For programmatic control, use the `formatter` instead, and return
  66908. * `undefined` to disable a single data label.
  66909. */
  66910. filter?: DataLabelsFilterOptionsObject;
  66911. /**
  66912. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  66913. * label. Available variables are the same as for `formatter`.
  66914. */
  66915. format?: string;
  66916. /**
  66917. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  66918. * format the data label. Note that if a `format` is defined, the format
  66919. * takes precedence and the formatter is ignored.
  66920. */
  66921. formatter?: DataLabelsFormatterCallbackFunction;
  66922. /**
  66923. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  66924. * columns or map areas, whether to align the data label inside the box or
  66925. * to the actual value point. Defaults to `false` in most cases, `true` in
  66926. * stacked columns.
  66927. */
  66928. inside?: boolean;
  66929. /**
  66930. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  66931. * of null. Works analogously to format. `nullFormat` can be applied only to
  66932. * series which support displaying null points.
  66933. */
  66934. nullFormat?: (boolean|string);
  66935. /**
  66936. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  66937. * that defines formatting for points with the value of null. Works
  66938. * analogously to formatter. `nullPointFormatter` can be applied only to
  66939. * series which support displaying null points.
  66940. */
  66941. nullFormatter?: DataLabelsFormatterCallbackFunction;
  66942. /**
  66943. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  66944. * flow outside the plot area. The default is `"justify"`, which aligns them
  66945. * inside the plot area. For columns and bars, this means it will be moved
  66946. * inside the bar. To display data labels outside the plot area, set `crop`
  66947. * to `false` and `overflow` to `"allow"`.
  66948. */
  66949. overflow?: DataLabelsOverflowValue;
  66950. /**
  66951. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  66952. * the `backgroundColor` is set, this is the padding within the box.
  66953. */
  66954. padding?: number;
  66955. /**
  66956. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  66957. * points. If `center` alignment is not possible, it defaults to `right`.
  66958. */
  66959. position?: AlignValue;
  66960. /**
  66961. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  66962. * that due to a more complex structure, backgrounds, borders and padding
  66963. * will be lost on a rotated data label.
  66964. */
  66965. rotation?: number;
  66966. /**
  66967. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  66968. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  66969. * an object configuration containing `color`, `offsetX`, `offsetY`,
  66970. * `opacity` and `width`.
  66971. */
  66972. shadow?: (boolean|ShadowOptionsObject);
  66973. /**
  66974. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  66975. * the border around the label. Symbols are predefined functions on the
  66976. * Renderer object.
  66977. */
  66978. shape?: string;
  66979. /**
  66980. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  66981. * default `color` setting is `"contrast"`, which is a pseudo color that
  66982. * Highcharts picks up and applies the maximum contrast to the underlying
  66983. * point item, for example the bar in a bar chart.
  66984. *
  66985. * The `textOutline` is a pseudo property that applies an outline of the
  66986. * given width with the given color, which by default is the maximum
  66987. * contrast to the text. So a bright text color will result in a black text
  66988. * outline for maximum readability on a mixed background. In some cases,
  66989. * especially with grayscale text, the text outline doesn't work well, in
  66990. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  66991. * is true, the `textOutline` will not be picked up. In this, case, the same
  66992. * effect can be acheived through the `text-shadow` CSS property.
  66993. *
  66994. * For some series types, where each point has an extent, like for example
  66995. * tree maps, the data label may overflow the point. There are two
  66996. * strategies for handling overflow. By default, the text will wrap to
  66997. * multiple lines. The other strategy is to set `style.textOverflow` to
  66998. * `ellipsis`, which will keep the text on one line plus it will break
  66999. * inside long words.
  67000. */
  67001. style?: CSSObject;
  67002. /**
  67003. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  67004. * should follow marker's shape. Border and background are disabled for a
  67005. * label that follows a path.
  67006. *
  67007. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  67008. * to true will disable this option.
  67009. */
  67010. textPath?: DataLabelsTextPathOptionsObject;
  67011. /**
  67012. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  67013. * the labels.
  67014. */
  67015. useHTML?: boolean;
  67016. /**
  67017. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  67018. * label. Can be one of `top`, `middle` or `bottom`. The default value
  67019. * depends on the data, for instance in a column chart, the label is above
  67020. * positive values and below negative values.
  67021. */
  67022. verticalAlign?: (VerticalAlignValue|null);
  67023. /**
  67024. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  67025. * label relative to the point in pixels.
  67026. */
  67027. x?: number;
  67028. /**
  67029. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  67030. * label relative to the point in pixels.
  67031. */
  67032. y?: number;
  67033. /**
  67034. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  67035. * The default Z index puts it above the series. Use a Z index of 2 to
  67036. * display it behind the series.
  67037. */
  67038. z?: number;
  67039. }
  67040. /**
  67041. * (Highcharts, Highstock) Options for the series data sorting.
  67042. */
  67043. export interface PlotParetoDataSortingOptions {
  67044. /**
  67045. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  67046. * Use xAxis.reversed to change the sorting order.
  67047. */
  67048. enabled?: boolean;
  67049. /**
  67050. * (Highcharts, Highstock) Whether to allow matching points by name in an
  67051. * update. If this option is disabled, points will be matched by order.
  67052. */
  67053. matchByName?: boolean;
  67054. /**
  67055. * (Highcharts, Highstock) Determines what data value should be used to sort
  67056. * by.
  67057. */
  67058. sortKey?: string;
  67059. }
  67060. /**
  67061. * (Highcharts) A pareto diagram is a type of chart that contains both bars and
  67062. * a line graph, where individual values are represented in descending order by
  67063. * bars, and the cumulative total is represented by the line.
  67064. *
  67065. * In TypeScript the type option must always be set.
  67066. *
  67067. * Configuration options for the series are given in three levels:
  67068. *
  67069. * 1. Options for all series in a chart are defined in the plotOptions.series
  67070. * object.
  67071. *
  67072. * 2. Options for all `pareto` series are defined in plotOptions.pareto.
  67073. *
  67074. * 3. Options for one single series are given in the series instance array. (see
  67075. * online documentation for example)
  67076. */
  67077. export interface PlotParetoOptions {
  67078. /**
  67079. * (Highcharts) Accessibility options for a series.
  67080. */
  67081. accessibility?: SeriesAccessibilityOptionsObject;
  67082. /**
  67083. * (Highcharts) Allow this series' points to be selected by clicking on the
  67084. * graphic (columns, point markers, pie slices, map areas etc).
  67085. *
  67086. * The selected points can be handled by point select and unselect events,
  67087. * or collectively by the getSelectedPoints function.
  67088. *
  67089. * And alternative way of selecting points is through dragging.
  67090. */
  67091. allowPointSelect?: boolean;
  67092. /**
  67093. * (Highcharts) Enable or disable the initial animation when a series is
  67094. * displayed. The animation can also be set as a configuration object.
  67095. * Please note that this option only applies to the initial animation of the
  67096. * series itself. For other animations, see chart.animation and the
  67097. * animation parameter under the API methods. The following properties are
  67098. * supported:
  67099. *
  67100. * - `defer`: The animation delay time in milliseconds.
  67101. *
  67102. * - `duration`: The duration of the animation in milliseconds.
  67103. *
  67104. * - `easing`: Can be a string reference to an easing function set on the
  67105. * `Math` object or a function. See the _Custom easing function_ demo below.
  67106. *
  67107. * Due to poor performance, animation is disabled in old IE browsers for
  67108. * several chart types.
  67109. */
  67110. animation?: (boolean|PlotParetoAnimationOptions|Partial<AnimationOptionsObject>);
  67111. /**
  67112. * (Highcharts) For some series, there is a limit that shuts down initial
  67113. * animation by default when the total number of points in the chart is too
  67114. * high. For example, for a column chart and its derivatives, animation does
  67115. * not run if there is more than 250 points totally. To disable this cap,
  67116. * set `animationLimit` to `Infinity`.
  67117. */
  67118. animationLimit?: number;
  67119. /**
  67120. * (Highcharts) An additional class name to apply to the series' graphical
  67121. * elements. This option does not replace default class names of the
  67122. * graphical element.
  67123. */
  67124. className?: string;
  67125. /**
  67126. * (Highcharts) Disable this option to allow series rendering in the whole
  67127. * plotting area.
  67128. *
  67129. * **Note:** Clipping should be always enabled when chart.zoomType is set
  67130. */
  67131. clip?: boolean;
  67132. /**
  67133. * (Highcharts) The main color of the series. In line type series it applies
  67134. * to the line and the point markers unless otherwise specified. In bar type
  67135. * series it applies to the bars unless a color is specified per point. The
  67136. * default value is pulled from the `options.colors` array.
  67137. *
  67138. * In styled mode, the color can be defined by the colorIndex option. Also,
  67139. * the series color can be set with the `.highcharts-series`,
  67140. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  67141. * `.highcharts-series-{n}` class, or individual classes given by the
  67142. * `className` option.
  67143. */
  67144. color?: (ColorString|GradientColorObject|PatternObject);
  67145. /**
  67146. * (Highcharts) Styled mode only. A specific color index to use for the
  67147. * series, so its graphic representations are given the class name
  67148. * `highcharts-color-{n}`.
  67149. */
  67150. colorIndex?: number;
  67151. /**
  67152. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  67153. * used to calculate point color if `colorAxis` is used. Requires to set
  67154. * `min` and `max` if some custom point property is used or if approximation
  67155. * for data grouping is set to `'sum'`.
  67156. */
  67157. colorKey?: string;
  67158. /**
  67159. * (Highstock) Compare the values of the series against the first non-null,
  67160. * non- zero value in the visible range. The y axis will show percentage or
  67161. * absolute change depending on whether `compare` is set to `"percent"` or
  67162. * `"value"`. When this is applied to multiple series, it allows comparing
  67163. * the development of the series against each other. Adds a `change` field
  67164. * to every point object.
  67165. */
  67166. compare?: string;
  67167. /**
  67168. * (Highstock) When compare is `percent`, this option dictates whether to
  67169. * use 0 or 100 as the base of comparison.
  67170. */
  67171. compareBase?: (0|100);
  67172. /**
  67173. * (Highstock) Defines if comparison should start from the first point
  67174. * within the visible range or should start from the first point **before**
  67175. * the range.
  67176. *
  67177. * In other words, this flag determines if first point within the visible
  67178. * range will have 0% (`compareStart=true`) or should have been already
  67179. * calculated according to the previous point (`compareStart=false`).
  67180. */
  67181. compareStart?: boolean;
  67182. /**
  67183. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  67184. * series plot across the extremes.
  67185. */
  67186. connectEnds?: boolean;
  67187. /**
  67188. * (Highcharts, Highstock) Whether to connect a graph line across null
  67189. * points, or render a gap between the two points on either side of the
  67190. * null.
  67191. */
  67192. connectNulls?: boolean;
  67193. /**
  67194. * (Gantt) Override Pathfinder connector options for a series. Requires
  67195. * Highcharts Gantt to be loaded.
  67196. */
  67197. connectors?: SeriesConnectorsOptionsObject;
  67198. /**
  67199. * (Highcharts, Highstock) When the series contains less points than the
  67200. * crop threshold, all points are drawn, even if the points fall outside the
  67201. * visible plot area at the current zoom. The advantage of drawing all
  67202. * points (including markers and columns), is that animation is performed on
  67203. * updates. On the other hand, when the series contains more points than the
  67204. * crop threshold, the series data is cropped to only contain points that
  67205. * fall within the plot area. The advantage of cropping away invisible
  67206. * points is to increase performance on large series.
  67207. */
  67208. cropThreshold?: number;
  67209. /**
  67210. * (Highcharts) You can set the cursor to "pointer" if you have click events
  67211. * attached to the series, to signal to the user that the points and lines
  67212. * can be clicked.
  67213. *
  67214. * In styled mode, the series cursor can be set with the same classes as
  67215. * listed under series.color.
  67216. */
  67217. cursor?: (string|CursorValue);
  67218. /**
  67219. * (Highcharts) A reserved subspace to store options and values for
  67220. * customized functionality. Here you can add additional data for your own
  67221. * event callbacks and formatter callbacks.
  67222. */
  67223. custom?: Dictionary<any>;
  67224. /**
  67225. * (Highcharts) Name of the dash style to use for the graph, or for some
  67226. * series types the outline of each shape.
  67227. *
  67228. * In styled mode, the stroke dash-array can be set with the same classes as
  67229. * listed under series.color.
  67230. */
  67231. dashStyle?: DashStyleValue;
  67232. /**
  67233. * (Highstock) Data grouping is the concept of sampling the data values into
  67234. * larger blocks in order to ease readability and increase performance of
  67235. * the JavaScript charts. Highstock by default applies data grouping when
  67236. * the points become closer than a certain pixel value, determined by the
  67237. * `groupPixelWidth` option.
  67238. *
  67239. * If data grouping is applied, the grouping information of grouped points
  67240. * can be read from the Point.dataGroup. If point options other than the
  67241. * data itself are set, for example `name` or `color` or custom properties,
  67242. * the grouping logic doesn't know how to group it. In this case the options
  67243. * of the first point instance are copied over to the group point. This can
  67244. * be altered through a custom `approximation` callback function.
  67245. */
  67246. dataGrouping?: DataGroupingOptionsObject;
  67247. /**
  67248. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  67249. * labels, appearing next to each data point.
  67250. *
  67251. * Since v6.2.0, multiple data labels can be applied to each single point by
  67252. * defining them as an array of configs.
  67253. *
  67254. * In styled mode, the data labels can be styled with the
  67255. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  67256. * (see example).
  67257. */
  67258. dataLabels?: (PlotParetoDataLabelsOptions|Array<PlotParetoDataLabelsOptions>);
  67259. /**
  67260. * (Highcharts, Highstock) Options for the series data sorting.
  67261. */
  67262. dataSorting?: (DataSortingOptionsObject|PlotParetoDataSortingOptions);
  67263. /**
  67264. * (Highcharts) A description of the series to add to the screen reader
  67265. * information about the series.
  67266. */
  67267. description?: string;
  67268. /**
  67269. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  67270. * This includes point tooltips and click events on graphs and points. For
  67271. * large datasets it improves performance.
  67272. */
  67273. enableMouseTracking?: boolean;
  67274. /**
  67275. * (Highcharts) General event handlers for the series items. These event
  67276. * hooks can also be attached to the series at run time using the
  67277. * `Highcharts.addEvent` function.
  67278. */
  67279. events?: SeriesEventsOptionsObject;
  67280. /**
  67281. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  67282. * chart width or only the zoomed area when zooming in on parts of the X
  67283. * axis. By default, the Y axis adjusts to the min and max of the visible
  67284. * data. Cartesian series only.
  67285. */
  67286. getExtremesFromAll?: boolean;
  67287. /**
  67288. * (Highcharts) When set to `false` will prevent the series data from being
  67289. * included in any form of data export.
  67290. *
  67291. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  67292. * `includeInCSVExport`.
  67293. */
  67294. includeInDataExport?: boolean;
  67295. /**
  67296. * (Highmaps) What property to join the `mapData` to the value data. For
  67297. * example, if joinBy is "code", the mapData items with a specific code is
  67298. * merged into the data with the same code. For maps loaded from GeoJSON,
  67299. * the keys may be held in each point's `properties` object.
  67300. *
  67301. * The joinBy option can also be an array of two values, where the first
  67302. * points to a key in the `mapData`, and the second points to another key in
  67303. * the `data`.
  67304. *
  67305. * When joinBy is `null`, the map items are joined by their position in the
  67306. * array, which performs much better in maps with many data points. This is
  67307. * the recommended option if you are printing more than a thousand data
  67308. * points and have a backend that can preprocess the data into a parallel
  67309. * array of the mapData.
  67310. */
  67311. joinBy?: (string|Array<string>);
  67312. /**
  67313. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  67314. * series as possible in a natural way, seeking to avoid other series. The
  67315. * goal of this feature is to make the chart more easily readable, like if a
  67316. * human designer placed the labels in the optimal position.
  67317. *
  67318. * The series labels currently work with series types having a `graph` or an
  67319. * `area`.
  67320. */
  67321. label?: SeriesLabelOptionsObject;
  67322. /**
  67323. * (Highstock) The line marks the last price from all points.
  67324. */
  67325. lastPrice?: SeriesLastPriceOptionsObject;
  67326. /**
  67327. * (Highstock) The line marks the last price from visible range of points.
  67328. */
  67329. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  67330. /**
  67331. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  67332. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  67333. * the ends and bends.
  67334. */
  67335. linecap?: SeriesLinecapValue;
  67336. /**
  67337. * (Highcharts, Highstock) Pixel width of the graph line.
  67338. */
  67339. lineWidth?: number;
  67340. /**
  67341. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  67342. * Additionally, the value can be ":previous" to link to the previous
  67343. * series. When two series are linked, only the first one appears in the
  67344. * legend. Toggling the visibility of this also toggles the linked series.
  67345. *
  67346. * If master series uses data sorting and linked series does not have its
  67347. * own sorting definition, the linked series will be sorted in the same
  67348. * order as the master one.
  67349. */
  67350. linkedTo?: string;
  67351. /**
  67352. * (Highcharts) Options for the point markers of line-like series.
  67353. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  67354. * visual appearance of the markers. Other series types, like column series,
  67355. * don't have markers, but have visual options on the series level instead.
  67356. *
  67357. * In styled mode, the markers can be styled with the `.highcharts-point`,
  67358. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  67359. */
  67360. marker?: PointMarkerOptionsObject;
  67361. /**
  67362. * (Highstock) Options for the corresponding navigator series if
  67363. * `showInNavigator` is `true` for this series. Available options are the
  67364. * same as any series, documented at plotOptions and series.
  67365. *
  67366. * These options are merged with options in navigator.series, and will take
  67367. * precedence if the same option is defined both places.
  67368. */
  67369. navigatorOptions?: PlotSeriesOptions;
  67370. /**
  67371. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  67372. * dataLabels.
  67373. */
  67374. opacity?: number;
  67375. /**
  67376. * (Highcharts) Properties for each single point.
  67377. */
  67378. point?: PlotSeriesPointOptions;
  67379. /**
  67380. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  67381. * individual series. Overrides the chart wide configuration.
  67382. */
  67383. pointDescriptionFormatter?: Function;
  67384. /**
  67385. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  67386. * true, the checkbox next to the series name in the legend will be checked
  67387. * for a selected series.
  67388. */
  67389. selected?: boolean;
  67390. /**
  67391. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  67392. * allow selecting the series. The state of the checkbox is determined by
  67393. * the `selected` option.
  67394. */
  67395. showCheckbox?: boolean;
  67396. /**
  67397. * (Highcharts) Whether to display this particular series or series type in
  67398. * the legend. Standalone series are shown in legend by default, and linked
  67399. * series are not. Since v7.2.0 it is possible to show series that use
  67400. * colorAxis by setting this option to `true`.
  67401. */
  67402. showInLegend?: boolean;
  67403. /**
  67404. * (Highstock) Whether or not to show the series in the navigator. Takes
  67405. * precedence over navigator.baseSeries if defined.
  67406. */
  67407. showInNavigator?: boolean;
  67408. /**
  67409. * (Highcharts) If set to `true`, the accessibility module will skip past
  67410. * the points in this series for keyboard navigation.
  67411. */
  67412. skipKeyboardNavigation?: boolean;
  67413. states?: SeriesStatesOptionsObject;
  67414. /**
  67415. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  67416. * event on a series isn't triggered until the mouse moves over another
  67417. * series, or out of the plot area. When false, the `mouseOut` event on a
  67418. * series is triggered when the mouse leaves the area around the series'
  67419. * graph or markers. This also implies the tooltip when not shared. When
  67420. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  67421. * be hidden when moving the mouse between series. Defaults to true for line
  67422. * and area type series, but to false for columns, pies etc.
  67423. *
  67424. * **Note:** The boost module will force this option because of technical
  67425. * limitations.
  67426. */
  67427. stickyTracking?: boolean;
  67428. /**
  67429. * (Highcharts) A configuration object for the tooltip rendering of each
  67430. * single series. Properties are inherited from tooltip, but only the
  67431. * following properties can be defined on a series level.
  67432. */
  67433. tooltip?: SeriesTooltipOptionsObject;
  67434. /**
  67435. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  67436. * is longer than this, only one dimensional arrays of numbers, or two
  67437. * dimensional arrays with x and y values are allowed. Also, only the first
  67438. * point is tested, and the rest are assumed to be the same format. This
  67439. * saves expensive data checking and indexing in long series. Set it to `0`
  67440. * disable.
  67441. *
  67442. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  67443. * two dimensional arrays are allowed.
  67444. */
  67445. turboThreshold?: number;
  67446. /**
  67447. * (Highstock) The parameter allows setting line series type and use OHLC
  67448. * indicators. Data in OHLC format is required.
  67449. */
  67450. useOhlcData?: boolean;
  67451. /**
  67452. * (Highcharts) Set the initial visibility of the series.
  67453. */
  67454. visible?: boolean;
  67455. /**
  67456. * (Highmaps) Higher zIndex than column series to draw line above shapes.
  67457. */
  67458. zIndex?: number;
  67459. }
  67460. /**
  67461. * (Highstock) Enable or disable the initial animation when a series is
  67462. * displayed. The animation can also be set as a configuration object. Please
  67463. * note that this option only applies to the initial animation of the series
  67464. * itself. For other animations, see chart.animation and the animation parameter
  67465. * under the API methods. The following properties are supported:
  67466. *
  67467. * - `defer`: The animation delay time in milliseconds.
  67468. *
  67469. * - `duration`: The duration of the animation in milliseconds.
  67470. *
  67471. * - `easing`: Can be a string reference to an easing function set on the `Math`
  67472. * object or a function. See the _Custom easing function_ demo below.
  67473. *
  67474. * Due to poor performance, animation is disabled in old IE browsers for several
  67475. * chart types.
  67476. */
  67477. export interface PlotPcAnimationOptions {
  67478. defer?: number;
  67479. }
  67480. export interface PlotPcBottomLineOptions {
  67481. styles?: PlotPcBottomLineStylesOptions;
  67482. }
  67483. export interface PlotPcBottomLineStylesOptions {
  67484. /**
  67485. * (Highstock) Color of the bottom line. If not set, it's inherited from
  67486. * plotOptions.pc.color.
  67487. */
  67488. lineColor?: ColorString;
  67489. /**
  67490. * (Highstock) Pixel width of the line.
  67491. */
  67492. lineWidth?: number;
  67493. }
  67494. /**
  67495. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  67496. * animation when a series is displayed for the `dataLabels`. The animation can
  67497. * also be set as a configuration object. Please note that this option only
  67498. * applies to the initial animation. For other animations, see chart.animation
  67499. * and the animation parameter under the API methods. The following properties
  67500. * are supported:
  67501. *
  67502. * - `defer`: The animation delay time in milliseconds.
  67503. */
  67504. export interface PlotPcDataLabelsAnimationOptions {
  67505. /**
  67506. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  67507. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  67508. * inherits defer time from the series.animation.defer.
  67509. */
  67510. defer?: number;
  67511. }
  67512. /**
  67513. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  67514. * appearing next to each data point.
  67515. *
  67516. * Since v6.2.0, multiple data labels can be applied to each single point by
  67517. * defining them as an array of configs.
  67518. *
  67519. * In styled mode, the data labels can be styled with the
  67520. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  67521. * example).
  67522. */
  67523. export interface PlotPcDataLabelsOptions {
  67524. /**
  67525. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  67526. * compared to the point. If `right`, the right side of the label should be
  67527. * touching the point. For points with an extent, like columns, the
  67528. * alignments also dictates how to align it inside the box, as given with
  67529. * the inside option. Can be one of `left`, `center` or `right`.
  67530. */
  67531. align?: (AlignValue|null);
  67532. /**
  67533. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  67534. * overlap. To make the labels less sensitive for overlapping, the
  67535. * dataLabels.padding can be set to 0.
  67536. */
  67537. allowOverlap?: boolean;
  67538. /**
  67539. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  67540. * animation when a series is displayed for the `dataLabels`. The animation
  67541. * can also be set as a configuration object. Please note that this option
  67542. * only applies to the initial animation. For other animations, see
  67543. * chart.animation and the animation parameter under the API methods. The
  67544. * following properties are supported:
  67545. *
  67546. * - `defer`: The animation delay time in milliseconds.
  67547. */
  67548. animation?: (boolean|PlotPcDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  67549. /**
  67550. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  67551. * for the data label.
  67552. */
  67553. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  67554. /**
  67555. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  67556. * label. Defaults to `undefined`.
  67557. */
  67558. borderColor?: (ColorString|GradientColorObject|PatternObject);
  67559. /**
  67560. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  67561. * the data label.
  67562. */
  67563. borderRadius?: number;
  67564. /**
  67565. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  67566. * the data label.
  67567. */
  67568. borderWidth?: number;
  67569. /**
  67570. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  67571. * Particularly in styled mode, this can be used to give each series' or
  67572. * point's data label unique styling. In addition to this option, a default
  67573. * color class name is added so that we can give the labels a contrast text
  67574. * shadow.
  67575. */
  67576. className?: string;
  67577. /**
  67578. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  67579. * labels. Defaults to `undefined`. For certain series types, like column or
  67580. * map, the data labels can be drawn inside the points. In this case the
  67581. * data label will be drawn with maximum contrast by default. Additionally,
  67582. * it will be given a `text-outline` style with the opposite color, to
  67583. * further increase the contrast. This can be overridden by setting the
  67584. * `text-outline` style to `none` in the `dataLabels.style` option.
  67585. */
  67586. color?: (ColorString|GradientColorObject|PatternObject);
  67587. /**
  67588. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  67589. * are outside the plot area. By default, the data label is moved inside the
  67590. * plot area according to the overflow option.
  67591. */
  67592. crop?: boolean;
  67593. /**
  67594. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  67595. * labels until the initial series animation has finished. Setting to
  67596. * `false` renders the data label immediately. If set to `true` inherits the
  67597. * defer time set in plotOptions.series.animation.
  67598. */
  67599. defer?: boolean;
  67600. /**
  67601. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  67602. * labels.
  67603. */
  67604. enabled?: boolean;
  67605. /**
  67606. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  67607. * of which data labels to display. The declarative filter is designed for
  67608. * use when callback functions are not available, like when the chart
  67609. * options require a pure JSON structure or for use with graphical editors.
  67610. * For programmatic control, use the `formatter` instead, and return
  67611. * `undefined` to disable a single data label.
  67612. */
  67613. filter?: DataLabelsFilterOptionsObject;
  67614. /**
  67615. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  67616. * label. Available variables are the same as for `formatter`.
  67617. */
  67618. format?: string;
  67619. /**
  67620. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  67621. * format the data label. Note that if a `format` is defined, the format
  67622. * takes precedence and the formatter is ignored.
  67623. */
  67624. formatter?: DataLabelsFormatterCallbackFunction;
  67625. /**
  67626. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  67627. * columns or map areas, whether to align the data label inside the box or
  67628. * to the actual value point. Defaults to `false` in most cases, `true` in
  67629. * stacked columns.
  67630. */
  67631. inside?: boolean;
  67632. /**
  67633. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  67634. * of null. Works analogously to format. `nullFormat` can be applied only to
  67635. * series which support displaying null points.
  67636. */
  67637. nullFormat?: (boolean|string);
  67638. /**
  67639. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  67640. * that defines formatting for points with the value of null. Works
  67641. * analogously to formatter. `nullPointFormatter` can be applied only to
  67642. * series which support displaying null points.
  67643. */
  67644. nullFormatter?: DataLabelsFormatterCallbackFunction;
  67645. /**
  67646. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  67647. * flow outside the plot area. The default is `"justify"`, which aligns them
  67648. * inside the plot area. For columns and bars, this means it will be moved
  67649. * inside the bar. To display data labels outside the plot area, set `crop`
  67650. * to `false` and `overflow` to `"allow"`.
  67651. */
  67652. overflow?: DataLabelsOverflowValue;
  67653. /**
  67654. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  67655. * the `backgroundColor` is set, this is the padding within the box.
  67656. */
  67657. padding?: number;
  67658. /**
  67659. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  67660. * points. If `center` alignment is not possible, it defaults to `right`.
  67661. */
  67662. position?: AlignValue;
  67663. /**
  67664. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  67665. * that due to a more complex structure, backgrounds, borders and padding
  67666. * will be lost on a rotated data label.
  67667. */
  67668. rotation?: number;
  67669. /**
  67670. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  67671. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  67672. * an object configuration containing `color`, `offsetX`, `offsetY`,
  67673. * `opacity` and `width`.
  67674. */
  67675. shadow?: (boolean|ShadowOptionsObject);
  67676. /**
  67677. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  67678. * the border around the label. Symbols are predefined functions on the
  67679. * Renderer object.
  67680. */
  67681. shape?: string;
  67682. /**
  67683. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  67684. * default `color` setting is `"contrast"`, which is a pseudo color that
  67685. * Highcharts picks up and applies the maximum contrast to the underlying
  67686. * point item, for example the bar in a bar chart.
  67687. *
  67688. * The `textOutline` is a pseudo property that applies an outline of the
  67689. * given width with the given color, which by default is the maximum
  67690. * contrast to the text. So a bright text color will result in a black text
  67691. * outline for maximum readability on a mixed background. In some cases,
  67692. * especially with grayscale text, the text outline doesn't work well, in
  67693. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  67694. * is true, the `textOutline` will not be picked up. In this, case, the same
  67695. * effect can be acheived through the `text-shadow` CSS property.
  67696. *
  67697. * For some series types, where each point has an extent, like for example
  67698. * tree maps, the data label may overflow the point. There are two
  67699. * strategies for handling overflow. By default, the text will wrap to
  67700. * multiple lines. The other strategy is to set `style.textOverflow` to
  67701. * `ellipsis`, which will keep the text on one line plus it will break
  67702. * inside long words.
  67703. */
  67704. style?: CSSObject;
  67705. /**
  67706. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  67707. * should follow marker's shape. Border and background are disabled for a
  67708. * label that follows a path.
  67709. *
  67710. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  67711. * to true will disable this option.
  67712. */
  67713. textPath?: DataLabelsTextPathOptionsObject;
  67714. /**
  67715. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  67716. * the labels.
  67717. */
  67718. useHTML?: boolean;
  67719. /**
  67720. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  67721. * label. Can be one of `top`, `middle` or `bottom`. The default value
  67722. * depends on the data, for instance in a column chart, the label is above
  67723. * positive values and below negative values.
  67724. */
  67725. verticalAlign?: (VerticalAlignValue|null);
  67726. /**
  67727. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  67728. * label relative to the point in pixels.
  67729. */
  67730. x?: number;
  67731. /**
  67732. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  67733. * label relative to the point in pixels.
  67734. */
  67735. y?: number;
  67736. /**
  67737. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  67738. * The default Z index puts it above the series. Use a Z index of 2 to
  67739. * display it behind the series.
  67740. */
  67741. z?: number;
  67742. }
  67743. /**
  67744. * (Highcharts, Highstock) Options for the series data sorting.
  67745. */
  67746. export interface PlotPcDataSortingOptions {
  67747. /**
  67748. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  67749. * Use xAxis.reversed to change the sorting order.
  67750. */
  67751. enabled?: boolean;
  67752. /**
  67753. * (Highcharts, Highstock) Whether to allow matching points by name in an
  67754. * update. If this option is disabled, points will be matched by order.
  67755. */
  67756. matchByName?: boolean;
  67757. /**
  67758. * (Highcharts, Highstock) Determines what data value should be used to sort
  67759. * by.
  67760. */
  67761. sortKey?: string;
  67762. }
  67763. /**
  67764. * (Highstock) Price channel (PC). This series requires the `linkedTo` option to
  67765. * be set and should be loaded after the `stock/indicators/indicators.js`.
  67766. *
  67767. * In TypeScript the type option must always be set.
  67768. *
  67769. * Configuration options for the series are given in three levels:
  67770. *
  67771. * 1. Options for all series in a chart are defined in the plotOptions.series
  67772. * object.
  67773. *
  67774. * 2. Options for all `pc` series are defined in plotOptions.pc.
  67775. *
  67776. * 3. Options for one single series are given in the series instance array. (see
  67777. * online documentation for example)
  67778. */
  67779. export interface PlotPcOptions {
  67780. /**
  67781. * (Highstock) Accessibility options for a series.
  67782. */
  67783. accessibility?: SeriesAccessibilityOptionsObject;
  67784. /**
  67785. * (Highstock) Allow this series' points to be selected by clicking on the
  67786. * graphic (columns, point markers, pie slices, map areas etc).
  67787. *
  67788. * The selected points can be handled by point select and unselect events,
  67789. * or collectively by the getSelectedPoints function.
  67790. *
  67791. * And alternative way of selecting points is through dragging.
  67792. */
  67793. allowPointSelect?: boolean;
  67794. /**
  67795. * (Highstock) Enable or disable the initial animation when a series is
  67796. * displayed. The animation can also be set as a configuration object.
  67797. * Please note that this option only applies to the initial animation of the
  67798. * series itself. For other animations, see chart.animation and the
  67799. * animation parameter under the API methods. The following properties are
  67800. * supported:
  67801. *
  67802. * - `defer`: The animation delay time in milliseconds.
  67803. *
  67804. * - `duration`: The duration of the animation in milliseconds.
  67805. *
  67806. * - `easing`: Can be a string reference to an easing function set on the
  67807. * `Math` object or a function. See the _Custom easing function_ demo below.
  67808. *
  67809. * Due to poor performance, animation is disabled in old IE browsers for
  67810. * several chart types.
  67811. */
  67812. animation?: (boolean|PlotPcAnimationOptions|Partial<AnimationOptionsObject>);
  67813. /**
  67814. * (Highstock) For some series, there is a limit that shuts down initial
  67815. * animation by default when the total number of points in the chart is too
  67816. * high. For example, for a column chart and its derivatives, animation does
  67817. * not run if there is more than 250 points totally. To disable this cap,
  67818. * set `animationLimit` to `Infinity`.
  67819. */
  67820. animationLimit?: number;
  67821. /**
  67822. * (Highstock) Sets the color blending in the boost module.
  67823. */
  67824. boostBlending?: OptionsBoostBlendingValue;
  67825. /**
  67826. * (Highstock) Set the point threshold for when a series should enter boost
  67827. * mode.
  67828. *
  67829. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  67830. * there are 2000 or more points in the series.
  67831. *
  67832. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  67833. * it to 1 will force boosting.
  67834. *
  67835. * Note that the cropThreshold also affects this setting. When zooming in on
  67836. * a series that has fewer points than the `cropThreshold`, all points are
  67837. * rendered although outside the visible plot area, and the `boostThreshold`
  67838. * won't take effect.
  67839. */
  67840. boostThreshold?: number;
  67841. /**
  67842. * (Highmaps) The border color of the map areas.
  67843. *
  67844. * In styled mode, the border stroke is given in the `.highcharts-point`
  67845. * class.
  67846. */
  67847. borderColor?: (ColorString|GradientColorObject|PatternObject);
  67848. /**
  67849. * (Highmaps) The border width of each map area.
  67850. *
  67851. * In styled mode, the border stroke width is given in the
  67852. * `.highcharts-point` class.
  67853. */
  67854. borderWidth?: number;
  67855. bottomLine?: PlotPcBottomLineOptions;
  67856. /**
  67857. * (Highstock) An additional class name to apply to the series' graphical
  67858. * elements. This option does not replace default class names of the
  67859. * graphical element.
  67860. */
  67861. className?: string;
  67862. /**
  67863. * (Highstock) Disable this option to allow series rendering in the whole
  67864. * plotting area.
  67865. *
  67866. * **Note:** Clipping should be always enabled when chart.zoomType is set
  67867. */
  67868. clip?: boolean;
  67869. /**
  67870. * (Highstock) The main color of the series. In line type series it applies
  67871. * to the line and the point markers unless otherwise specified. In bar type
  67872. * series it applies to the bars unless a color is specified per point. The
  67873. * default value is pulled from the `options.colors` array.
  67874. *
  67875. * In styled mode, the color can be defined by the colorIndex option. Also,
  67876. * the series color can be set with the `.highcharts-series`,
  67877. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  67878. * `.highcharts-series-{n}` class, or individual classes given by the
  67879. * `className` option.
  67880. */
  67881. color?: (ColorString|GradientColorObject|PatternObject);
  67882. /**
  67883. * (Highstock) Styled mode only. A specific color index to use for the
  67884. * series, so its graphic representations are given the class name
  67885. * `highcharts-color-{n}`.
  67886. */
  67887. colorIndex?: number;
  67888. /**
  67889. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  67890. * used to calculate point color if `colorAxis` is used. Requires to set
  67891. * `min` and `max` if some custom point property is used or if approximation
  67892. * for data grouping is set to `'sum'`.
  67893. */
  67894. colorKey?: string;
  67895. /**
  67896. * (Highstock) Defines if comparison should start from the first point
  67897. * within the visible range or should start from the first point **before**
  67898. * the range.
  67899. *
  67900. * In other words, this flag determines if first point within the visible
  67901. * range will have 0% (`compareStart=true`) or should have been already
  67902. * calculated according to the previous point (`compareStart=false`).
  67903. */
  67904. compareStart?: boolean;
  67905. /**
  67906. * (Highstock) Whether to compare indicator to the main series values or
  67907. * indicator values.
  67908. */
  67909. compareToMain?: boolean;
  67910. /**
  67911. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  67912. * series plot across the extremes.
  67913. */
  67914. connectEnds?: boolean;
  67915. /**
  67916. * (Highcharts, Highstock) Whether to connect a graph line across null
  67917. * points, or render a gap between the two points on either side of the
  67918. * null.
  67919. */
  67920. connectNulls?: boolean;
  67921. /**
  67922. * (Gantt) Override Pathfinder connector options for a series. Requires
  67923. * Highcharts Gantt to be loaded.
  67924. */
  67925. connectors?: SeriesConnectorsOptionsObject;
  67926. /**
  67927. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  67928. * rounded to its nearest pixel in order to render sharp on screen. In some
  67929. * cases, when there are a lot of densely packed columns, this leads to
  67930. * visible difference in column widths or distance between columns. In these
  67931. * cases, setting `crisp` to `false` may look better, even though each
  67932. * column is rendered blurry.
  67933. */
  67934. crisp?: boolean;
  67935. /**
  67936. * (Highcharts, Highstock) When the series contains less points than the
  67937. * crop threshold, all points are drawn, even if the points fall outside the
  67938. * visible plot area at the current zoom. The advantage of drawing all
  67939. * points (including markers and columns), is that animation is performed on
  67940. * updates. On the other hand, when the series contains more points than the
  67941. * crop threshold, the series data is cropped to only contain points that
  67942. * fall within the plot area. The advantage of cropping away invisible
  67943. * points is to increase performance on large series.
  67944. */
  67945. cropThreshold?: number;
  67946. /**
  67947. * (Highstock) You can set the cursor to "pointer" if you have click events
  67948. * attached to the series, to signal to the user that the points and lines
  67949. * can be clicked.
  67950. *
  67951. * In styled mode, the series cursor can be set with the same classes as
  67952. * listed under series.color.
  67953. */
  67954. cursor?: (string|CursorValue);
  67955. /**
  67956. * (Highstock) A reserved subspace to store options and values for
  67957. * customized functionality. Here you can add additional data for your own
  67958. * event callbacks and formatter callbacks.
  67959. */
  67960. custom?: Dictionary<any>;
  67961. /**
  67962. * (Highstock) Name of the dash style to use for the graph, or for some
  67963. * series types the outline of each shape.
  67964. *
  67965. * In styled mode, the stroke dash-array can be set with the same classes as
  67966. * listed under series.color.
  67967. */
  67968. dashStyle?: DashStyleValue;
  67969. /**
  67970. * (Highstock) Data grouping is the concept of sampling the data values into
  67971. * larger blocks in order to ease readability and increase performance of
  67972. * the JavaScript charts. Highstock by default applies data grouping when
  67973. * the points become closer than a certain pixel value, determined by the
  67974. * `groupPixelWidth` option.
  67975. *
  67976. * If data grouping is applied, the grouping information of grouped points
  67977. * can be read from the Point.dataGroup. If point options other than the
  67978. * data itself are set, for example `name` or `color` or custom properties,
  67979. * the grouping logic doesn't know how to group it. In this case the options
  67980. * of the first point instance are copied over to the group point. This can
  67981. * be altered through a custom `approximation` callback function.
  67982. */
  67983. dataGrouping?: DataGroupingOptionsObject;
  67984. /**
  67985. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  67986. * labels, appearing next to each data point.
  67987. *
  67988. * Since v6.2.0, multiple data labels can be applied to each single point by
  67989. * defining them as an array of configs.
  67990. *
  67991. * In styled mode, the data labels can be styled with the
  67992. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  67993. * (see example).
  67994. */
  67995. dataLabels?: (PlotPcDataLabelsOptions|Array<PlotPcDataLabelsOptions>);
  67996. /**
  67997. * (Highcharts, Highstock) Options for the series data sorting.
  67998. */
  67999. dataSorting?: (DataSortingOptionsObject|PlotPcDataSortingOptions);
  68000. /**
  68001. * (Highstock) A description of the series to add to the screen reader
  68002. * information about the series.
  68003. */
  68004. description?: string;
  68005. /**
  68006. * (Highstock) Enable or disable the mouse tracking for a specific series.
  68007. * This includes point tooltips and click events on graphs and points. For
  68008. * large datasets it improves performance.
  68009. */
  68010. enableMouseTracking?: boolean;
  68011. /**
  68012. * (Highstock) General event handlers for the series items. These event
  68013. * hooks can also be attached to the series at run time using the
  68014. * `Highcharts.addEvent` function.
  68015. */
  68016. events?: SeriesEventsOptionsObject;
  68017. /**
  68018. * (Highstock) Determines whether the series should look for the nearest
  68019. * point in both dimensions or just the x-dimension when hovering the
  68020. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  68021. * series. If the data has duplicate x-values, it is recommended to set this
  68022. * to `'xy'` to allow hovering over all points.
  68023. *
  68024. * Applies only to series types using nearest neighbor search (not direct
  68025. * hover) for tooltip.
  68026. */
  68027. findNearestPointBy?: OptionsFindNearestPointByValue;
  68028. /**
  68029. * (Highstock) Defines when to display a gap in the graph, together with the
  68030. * gapUnit option.
  68031. *
  68032. * In case when `dataGrouping` is enabled, points can be grouped into a
  68033. * larger time span. This can make the grouped points to have a greater
  68034. * distance than the absolute value of `gapSize` property, which will result
  68035. * in disappearing graph completely. To prevent this situation the mentioned
  68036. * distance between grouped points is used instead of previously defined
  68037. * `gapSize`.
  68038. *
  68039. * In practice, this option is most often used to visualize gaps in time
  68040. * series. In a stock chart, intraday data is available for daytime hours,
  68041. * while gaps will appear in nights and weekends.
  68042. */
  68043. gapSize?: number;
  68044. /**
  68045. * (Highstock) Together with gapSize, this option defines where to draw gaps
  68046. * in the graph.
  68047. *
  68048. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  68049. * if the distance between two points is greater than 5 times that of the
  68050. * two closest points, the graph will be broken.
  68051. *
  68052. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  68053. * values, which on a datetime axis is milliseconds. This also applies to
  68054. * the navigator series that inherits gap options from the base series.
  68055. */
  68056. gapUnit?: OptionsGapUnitValue;
  68057. /**
  68058. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  68059. * chart width or only the zoomed area when zooming in on parts of the X
  68060. * axis. By default, the Y axis adjusts to the min and max of the visible
  68061. * data. Cartesian series only.
  68062. */
  68063. getExtremesFromAll?: boolean;
  68064. /**
  68065. * (Highstock) When set to `false` will prevent the series data from being
  68066. * included in any form of data export.
  68067. *
  68068. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  68069. * `includeInCSVExport`.
  68070. */
  68071. includeInDataExport?: boolean;
  68072. /**
  68073. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  68074. * series as possible in a natural way, seeking to avoid other series. The
  68075. * goal of this feature is to make the chart more easily readable, like if a
  68076. * human designer placed the labels in the optimal position.
  68077. *
  68078. * The series labels currently work with series types having a `graph` or an
  68079. * `area`.
  68080. */
  68081. label?: SeriesLabelOptionsObject;
  68082. /**
  68083. * (Highstock) The line marks the last price from all points.
  68084. */
  68085. lastPrice?: SeriesLastPriceOptionsObject;
  68086. /**
  68087. * (Highstock) The line marks the last price from visible range of points.
  68088. */
  68089. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  68090. /**
  68091. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  68092. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  68093. * the ends and bends.
  68094. */
  68095. linecap?: SeriesLinecapValue;
  68096. /**
  68097. * (Highcharts, Highstock) Pixel width of the graph line.
  68098. */
  68099. lineWidth?: number;
  68100. /**
  68101. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  68102. * based on. Required for this indicator.
  68103. */
  68104. linkedTo?: string;
  68105. /**
  68106. * (Highstock) Options for the point markers of line-like series. Properties
  68107. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  68108. * appearance of the markers. Other series types, like column series, don't
  68109. * have markers, but have visual options on the series level instead.
  68110. *
  68111. * In styled mode, the markers can be styled with the `.highcharts-point`,
  68112. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  68113. */
  68114. marker?: PointMarkerOptionsObject;
  68115. /**
  68116. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  68117. * If not set, it will be based on a technical indicator type and default
  68118. * params.
  68119. */
  68120. name?: string;
  68121. /**
  68122. * (Highstock) The color for the parts of the graph or points that are below
  68123. * the threshold. Note that `zones` takes precedence over the negative
  68124. * color. Using `negativeColor` is equivalent to applying a zone with value
  68125. * of 0.
  68126. */
  68127. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  68128. /**
  68129. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  68130. * dataLabels.
  68131. */
  68132. opacity?: number;
  68133. /**
  68134. * (Highstock) Paramters used in calculation of regression series' points.
  68135. */
  68136. params?: PlotPcParamsOptions;
  68137. /**
  68138. * (Highstock) Properties for each single point.
  68139. */
  68140. point?: PlotSeriesPointOptions;
  68141. /**
  68142. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  68143. * individual series. Overrides the chart wide configuration.
  68144. */
  68145. pointDescriptionFormatter?: Function;
  68146. /**
  68147. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  68148. * true, the checkbox next to the series name in the legend will be checked
  68149. * for a selected series.
  68150. */
  68151. selected?: boolean;
  68152. /**
  68153. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  68154. * the shadow can be an object configuration containing `color`, `offsetX`,
  68155. * `offsetY`, `opacity` and `width`.
  68156. */
  68157. shadow?: (boolean|ShadowOptionsObject);
  68158. /**
  68159. * (Highstock) If true, a checkbox is displayed next to the legend item to
  68160. * allow selecting the series. The state of the checkbox is determined by
  68161. * the `selected` option.
  68162. */
  68163. showCheckbox?: boolean;
  68164. /**
  68165. * (Highstock) Whether to display this particular series or series type in
  68166. * the legend. Standalone series are shown in legend by default, and linked
  68167. * series are not. Since v7.2.0 it is possible to show series that use
  68168. * colorAxis by setting this option to `true`.
  68169. */
  68170. showInLegend?: boolean;
  68171. /**
  68172. * (Highstock) If set to `true`, the accessibility module will skip past the
  68173. * points in this series for keyboard navigation.
  68174. */
  68175. skipKeyboardNavigation?: boolean;
  68176. /**
  68177. * (Highcharts, Highstock) When this is true, the series will not cause the
  68178. * Y axis to cross the zero plane (or threshold option) unless the data
  68179. * actually crosses the plane.
  68180. *
  68181. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  68182. * make the Y axis show negative values according to the `minPadding`
  68183. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  68184. */
  68185. softThreshold?: boolean;
  68186. states?: SeriesStatesOptionsObject;
  68187. /**
  68188. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  68189. * values are `left`, `center` and `right`.
  68190. */
  68191. step?: OptionsStepValue;
  68192. /**
  68193. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  68194. * event on a series isn't triggered until the mouse moves over another
  68195. * series, or out of the plot area. When false, the `mouseOut` event on a
  68196. * series is triggered when the mouse leaves the area around the series'
  68197. * graph or markers. This also implies the tooltip when not shared. When
  68198. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  68199. * be hidden when moving the mouse between series. Defaults to true for line
  68200. * and area type series, but to false for columns, pies etc.
  68201. *
  68202. * **Note:** The boost module will force this option because of technical
  68203. * limitations.
  68204. */
  68205. stickyTracking?: boolean;
  68206. /**
  68207. * (Highcharts, Highstock) The threshold, also called zero level or base
  68208. * level. For line type series this is only used in conjunction with
  68209. * negativeColor.
  68210. */
  68211. threshold?: number;
  68212. /**
  68213. * (Highstock) A configuration object for the tooltip rendering of each
  68214. * single series. Properties are inherited from tooltip, but only the
  68215. * following properties can be defined on a series level.
  68216. */
  68217. tooltip?: SeriesTooltipOptionsObject;
  68218. topLine?: PlotPcTopLineOptions;
  68219. /**
  68220. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  68221. * is longer than this, only one dimensional arrays of numbers, or two
  68222. * dimensional arrays with x and y values are allowed. Also, only the first
  68223. * point is tested, and the rest are assumed to be the same format. This
  68224. * saves expensive data checking and indexing in long series. Set it to `0`
  68225. * disable.
  68226. *
  68227. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  68228. * two dimensional arrays are allowed.
  68229. */
  68230. turboThreshold?: number;
  68231. /**
  68232. * (Highstock) Set the initial visibility of the series.
  68233. */
  68234. visible?: boolean;
  68235. /**
  68236. * (Highmaps) Define the z index of the series.
  68237. */
  68238. zIndex?: number;
  68239. /**
  68240. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  68241. */
  68242. zoneAxis?: string;
  68243. /**
  68244. * (Highcharts, Highstock) An array defining zones within a series. Zones
  68245. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  68246. * the `zoneAxis` option. The zone definitions have to be in ascending order
  68247. * regarding to the value.
  68248. *
  68249. * In styled mode, the color zones are styled with the
  68250. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  68251. * option (view live demo).
  68252. */
  68253. zones?: Array<SeriesZonesOptionsObject>;
  68254. }
  68255. /**
  68256. * (Highstock) Paramters used in calculation of regression series' points.
  68257. */
  68258. export interface PlotPcParamsOptions {
  68259. /**
  68260. * (Highstock) The base period for indicator calculations. This is the
  68261. * number of data points which are taken into account for the indicator
  68262. * calculations.
  68263. */
  68264. period?: number;
  68265. }
  68266. export interface PlotPcTopLineOptions {
  68267. styles?: PlotPcTopLineStylesOptions;
  68268. }
  68269. export interface PlotPcTopLineStylesOptions {
  68270. /**
  68271. * (Highstock) Color of the top line. If not set, it's inherited from
  68272. * plotOptions.pc.color.
  68273. */
  68274. lineColor?: ColorString;
  68275. /**
  68276. * (Highstock) Pixel width of the line.
  68277. */
  68278. lineWidth?: number;
  68279. }
  68280. /**
  68281. * (Highcharts) Enable or disable the initial animation when a series is
  68282. * displayed. The animation can also be set as a configuration object. Please
  68283. * note that this option only applies to the initial animation of the series
  68284. * itself. For other animations, see chart.animation and the animation parameter
  68285. * under the API methods. The following properties are supported:
  68286. *
  68287. * - `defer`: The animation delay time in milliseconds.
  68288. *
  68289. * - `duration`: The duration of the animation in milliseconds.
  68290. *
  68291. * - `easing`: Can be a string reference to an easing function set on the `Math`
  68292. * object or a function. See the _Custom easing function_ demo below.
  68293. *
  68294. * Due to poor performance, animation is disabled in old IE browsers for several
  68295. * chart types.
  68296. */
  68297. export interface PlotPieAnimationOptions {
  68298. defer?: number;
  68299. }
  68300. /**
  68301. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  68302. * animation when a series is displayed for the `dataLabels`. The animation can
  68303. * also be set as a configuration object. Please note that this option only
  68304. * applies to the initial animation. For other animations, see chart.animation
  68305. * and the animation parameter under the API methods. The following properties
  68306. * are supported:
  68307. *
  68308. * - `defer`: The animation delay time in milliseconds.
  68309. */
  68310. export interface PlotPieDataLabelsAnimationOptions {
  68311. /**
  68312. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  68313. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  68314. * inherits defer time from the series.animation.defer.
  68315. */
  68316. defer?: number;
  68317. }
  68318. /**
  68319. * (Highcharts) A pie chart is a circular graphic which is divided into slices
  68320. * to illustrate numerical proportion.
  68321. *
  68322. * In TypeScript the type option must always be set.
  68323. *
  68324. * Configuration options for the series are given in three levels:
  68325. *
  68326. * 1. Options for all series in a chart are defined in the plotOptions.series
  68327. * object.
  68328. *
  68329. * 2. Options for all `pie` series are defined in plotOptions.pie.
  68330. *
  68331. * 3. Options for one single series are given in the series instance array. (see
  68332. * online documentation for example)
  68333. */
  68334. export interface PlotPieOptions {
  68335. /**
  68336. * (Highcharts) Accessibility options for a series.
  68337. */
  68338. accessibility?: SeriesAccessibilityOptionsObject;
  68339. /**
  68340. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  68341. * rendered. If `true`, areas which don't correspond to a data point, are
  68342. * rendered as `null` points. If `false`, those areas are skipped.
  68343. */
  68344. allAreas?: boolean;
  68345. /**
  68346. * (Highcharts) Allow this series' points to be selected by clicking on the
  68347. * graphic (columns, point markers, pie slices, map areas etc).
  68348. *
  68349. * The selected points can be handled by point select and unselect events,
  68350. * or collectively by the getSelectedPoints function.
  68351. *
  68352. * And alternative way of selecting points is through dragging.
  68353. */
  68354. allowPointSelect?: boolean;
  68355. /**
  68356. * (Highcharts) Enable or disable the initial animation when a series is
  68357. * displayed. The animation can also be set as a configuration object.
  68358. * Please note that this option only applies to the initial animation of the
  68359. * series itself. For other animations, see chart.animation and the
  68360. * animation parameter under the API methods. The following properties are
  68361. * supported:
  68362. *
  68363. * - `defer`: The animation delay time in milliseconds.
  68364. *
  68365. * - `duration`: The duration of the animation in milliseconds.
  68366. *
  68367. * - `easing`: Can be a string reference to an easing function set on the
  68368. * `Math` object or a function. See the _Custom easing function_ demo below.
  68369. *
  68370. * Due to poor performance, animation is disabled in old IE browsers for
  68371. * several chart types.
  68372. */
  68373. animation?: (boolean|PlotPieAnimationOptions|Partial<AnimationOptionsObject>);
  68374. /**
  68375. * (Highcharts) The color of the border surrounding each slice. When `null`,
  68376. * the border takes the same color as the slice fill. This can be used
  68377. * together with a `borderWidth` to fill drawing gaps created by
  68378. * antialiazing artefacts in borderless pies.
  68379. *
  68380. * In styled mode, the border stroke is given in the `.highcharts-point`
  68381. * class.
  68382. */
  68383. borderColor?: (ColorString|GradientColorObject|PatternObject);
  68384. /**
  68385. * (Highcharts) The width of the border surrounding each slice.
  68386. *
  68387. * When setting the border width to 0, there may be small gaps between the
  68388. * slices due to SVG antialiasing artefacts. To work around this, keep the
  68389. * border width at 0.5 or 1, but set the `borderColor` to `null` instead.
  68390. *
  68391. * In styled mode, the border stroke width is given in the
  68392. * `.highcharts-point` class.
  68393. */
  68394. borderWidth?: number;
  68395. /**
  68396. * (Highcharts) The center of the pie chart relative to the plot area. Can
  68397. * be percentages or pixel values. The default behaviour (as of 3.0) is to
  68398. * center the pie so that all slices and data labels are within the plot
  68399. * area. As a consequence, the pie may actually jump around in a chart with
  68400. * dynamic values, as the data labels move. In that case, the center should
  68401. * be explicitly set, for example to `["50%", "50%"]`.
  68402. */
  68403. center?: [(number|string|null), (number|string|null)];
  68404. /**
  68405. * (Highcharts) An additional class name to apply to the series' graphical
  68406. * elements. This option does not replace default class names of the
  68407. * graphical element.
  68408. */
  68409. className?: string;
  68410. /**
  68411. * (Highcharts) Disable this option to allow series rendering in the whole
  68412. * plotting area.
  68413. *
  68414. * **Note:** Clipping should be always enabled when chart.zoomType is set
  68415. */
  68416. clip?: boolean;
  68417. /**
  68418. * (Highcharts) The color of the pie series. A pie series is represented as
  68419. * an empty circle if the total sum of its values is 0. Use this property to
  68420. * define the color of its border.
  68421. *
  68422. * In styled mode, the color can be defined by the colorIndex option. Also,
  68423. * the series color can be set with the `.highcharts-series`,
  68424. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  68425. * `.highcharts-series-{n}` class, or individual classes given by the
  68426. * `className` option.
  68427. */
  68428. color?: (ColorString|GradientColorObject|PatternObject);
  68429. /**
  68430. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  68431. * this number defines which colorAxis the particular series is connected
  68432. * to. It refers to either the axis id or the index of the axis in the
  68433. * colorAxis array, with 0 being the first. Set this option to false to
  68434. * prevent a series from connecting to the default color axis.
  68435. *
  68436. * Since v7.2.0 the option can also be an axis id or an axis index instead
  68437. * of a boolean flag.
  68438. */
  68439. colorAxis?: (boolean|number|string);
  68440. /**
  68441. * (Highcharts) Styled mode only. A specific color index to use for the
  68442. * series, so its graphic representations are given the class name
  68443. * `highcharts-color-{n}`.
  68444. */
  68445. colorIndex?: number;
  68446. /**
  68447. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  68448. * used to calculate point color if `colorAxis` is used. Requires to set
  68449. * `min` and `max` if some custom point property is used or if approximation
  68450. * for data grouping is set to `'sum'`.
  68451. */
  68452. colorKey?: string;
  68453. /**
  68454. * (Highcharts) A series specific or series type specific color set to use
  68455. * instead of the global colors.
  68456. */
  68457. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  68458. /**
  68459. * (Highstock) Compare the values of the series against the first non-null,
  68460. * non- zero value in the visible range. The y axis will show percentage or
  68461. * absolute change depending on whether `compare` is set to `"percent"` or
  68462. * `"value"`. When this is applied to multiple series, it allows comparing
  68463. * the development of the series against each other. Adds a `change` field
  68464. * to every point object.
  68465. */
  68466. compare?: string;
  68467. /**
  68468. * (Highstock) When compare is `percent`, this option dictates whether to
  68469. * use 0 or 100 as the base of comparison.
  68470. */
  68471. compareBase?: (0|100);
  68472. /**
  68473. * (Highstock) Defines if comparison should start from the first point
  68474. * within the visible range or should start from the first point **before**
  68475. * the range.
  68476. *
  68477. * In other words, this flag determines if first point within the visible
  68478. * range will have 0% (`compareStart=true`) or should have been already
  68479. * calculated according to the previous point (`compareStart=false`).
  68480. */
  68481. compareStart?: boolean;
  68482. /**
  68483. * (Gantt) Override Pathfinder connector options for a series. Requires
  68484. * Highcharts Gantt to be loaded.
  68485. */
  68486. connectors?: SeriesConnectorsOptionsObject;
  68487. /**
  68488. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  68489. * rounded to its nearest pixel in order to render sharp on screen. In some
  68490. * cases, when there are a lot of densely packed columns, this leads to
  68491. * visible difference in column widths or distance between columns. In these
  68492. * cases, setting `crisp` to `false` may look better, even though each
  68493. * column is rendered blurry.
  68494. */
  68495. crisp?: boolean;
  68496. /**
  68497. * (Highcharts) You can set the cursor to "pointer" if you have click events
  68498. * attached to the series, to signal to the user that the points and lines
  68499. * can be clicked.
  68500. *
  68501. * In styled mode, the series cursor can be set with the same classes as
  68502. * listed under series.color.
  68503. */
  68504. cursor?: (string|CursorValue);
  68505. /**
  68506. * (Highcharts) A reserved subspace to store options and values for
  68507. * customized functionality. Here you can add additional data for your own
  68508. * event callbacks and formatter callbacks.
  68509. */
  68510. custom?: Dictionary<any>;
  68511. /**
  68512. * (Highstock) Data grouping is the concept of sampling the data values into
  68513. * larger blocks in order to ease readability and increase performance of
  68514. * the JavaScript charts. Highstock by default applies data grouping when
  68515. * the points become closer than a certain pixel value, determined by the
  68516. * `groupPixelWidth` option.
  68517. *
  68518. * If data grouping is applied, the grouping information of grouped points
  68519. * can be read from the Point.dataGroup. If point options other than the
  68520. * data itself are set, for example `name` or `color` or custom properties,
  68521. * the grouping logic doesn't know how to group it. In this case the options
  68522. * of the first point instance are copied over to the group point. This can
  68523. * be altered through a custom `approximation` callback function.
  68524. */
  68525. dataGrouping?: DataGroupingOptionsObject;
  68526. /**
  68527. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  68528. * labels, appearing next to each data point.
  68529. *
  68530. * Since v6.2.0, multiple data labels can be applied to each single point by
  68531. * defining them as an array of configs.
  68532. *
  68533. * In styled mode, the data labels can be styled with the
  68534. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  68535. * (see example).
  68536. */
  68537. dataLabels?: (SeriesPieDataLabelsOptionsObject|Array<SeriesPieDataLabelsOptionsObject>);
  68538. /**
  68539. * (Highcharts) The thickness of a 3D pie.
  68540. */
  68541. depth?: number;
  68542. /**
  68543. * (Highcharts) A description of the series to add to the screen reader
  68544. * information about the series.
  68545. */
  68546. description?: string;
  68547. /**
  68548. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  68549. * This includes point tooltips and click events on graphs and points. For
  68550. * large datasets it improves performance.
  68551. */
  68552. enableMouseTracking?: boolean;
  68553. /**
  68554. * (Highcharts) The end angle of the pie in degrees where 0 is top and 90 is
  68555. * right. Defaults to `startAngle` plus 360.
  68556. */
  68557. endAngle?: number;
  68558. /**
  68559. * (Highcharts) General event handlers for the series items. These event
  68560. * hooks can also be attached to the series at run time using the
  68561. * `Highcharts.addEvent` function.
  68562. */
  68563. events?: SeriesEventsOptionsObject;
  68564. /**
  68565. * (Highcharts) If the total sum of the pie's values is 0, the series is
  68566. * represented as an empty circle . The `fillColor` option defines the color
  68567. * of that circle. Use pie.borderWidth to set the border thickness.
  68568. */
  68569. fillColor?: (ColorString|GradientColorObject|PatternObject);
  68570. /**
  68571. * (Highstock) Defines when to display a gap in the graph, together with the
  68572. * gapUnit option.
  68573. *
  68574. * In case when `dataGrouping` is enabled, points can be grouped into a
  68575. * larger time span. This can make the grouped points to have a greater
  68576. * distance than the absolute value of `gapSize` property, which will result
  68577. * in disappearing graph completely. To prevent this situation the mentioned
  68578. * distance between grouped points is used instead of previously defined
  68579. * `gapSize`.
  68580. *
  68581. * In practice, this option is most often used to visualize gaps in time
  68582. * series. In a stock chart, intraday data is available for daytime hours,
  68583. * while gaps will appear in nights and weekends.
  68584. */
  68585. gapSize?: number;
  68586. /**
  68587. * (Highstock) Together with gapSize, this option defines where to draw gaps
  68588. * in the graph.
  68589. *
  68590. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  68591. * if the distance between two points is greater than 5 times that of the
  68592. * two closest points, the graph will be broken.
  68593. *
  68594. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  68595. * values, which on a datetime axis is milliseconds. This also applies to
  68596. * the navigator series that inherits gap options from the base series.
  68597. */
  68598. gapUnit?: OptionsGapUnitValue;
  68599. /**
  68600. * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
  68601. * whether the series shall be redrawn as if the hidden point were `null`.
  68602. *
  68603. * The default value changed from `false` to `true` with Highcharts 3.0.
  68604. */
  68605. ignoreHiddenPoint?: boolean;
  68606. /**
  68607. * (Highcharts) When set to `false` will prevent the series data from being
  68608. * included in any form of data export.
  68609. *
  68610. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  68611. * `includeInCSVExport`.
  68612. */
  68613. includeInDataExport?: boolean;
  68614. /**
  68615. * (Highcharts) The size of the inner diameter for the pie. A size greater
  68616. * than 0 renders a donut chart. Can be a percentage or pixel value.
  68617. * Percentages are relative to the pie size. Pixel values are given as
  68618. * integers.
  68619. *
  68620. * Note: in Highcharts < 4.1.2, the percentage was relative to the plot
  68621. * area, not the pie size.
  68622. */
  68623. innerSize?: (number|string);
  68624. /**
  68625. * (Highmaps) What property to join the `mapData` to the value data. For
  68626. * example, if joinBy is "code", the mapData items with a specific code is
  68627. * merged into the data with the same code. For maps loaded from GeoJSON,
  68628. * the keys may be held in each point's `properties` object.
  68629. *
  68630. * The joinBy option can also be an array of two values, where the first
  68631. * points to a key in the `mapData`, and the second points to another key in
  68632. * the `data`.
  68633. *
  68634. * When joinBy is `null`, the map items are joined by their position in the
  68635. * array, which performs much better in maps with many data points. This is
  68636. * the recommended option if you are printing more than a thousand data
  68637. * points and have a backend that can preprocess the data into a parallel
  68638. * array of the mapData.
  68639. */
  68640. joinBy?: (string|Array<string>);
  68641. /**
  68642. * (Highcharts) An array specifying which option maps to which key in the
  68643. * data point array. This makes it convenient to work with unstructured data
  68644. * arrays from different sources.
  68645. */
  68646. keys?: Array<string>;
  68647. /**
  68648. * (Highstock) The line marks the last price from all points.
  68649. */
  68650. lastPrice?: SeriesLastPriceOptionsObject;
  68651. /**
  68652. * (Highstock) The line marks the last price from visible range of points.
  68653. */
  68654. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  68655. /**
  68656. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  68657. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  68658. * the ends and bends.
  68659. */
  68660. linecap?: SeriesLinecapValue;
  68661. /**
  68662. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  68663. * Additionally, the value can be ":previous" to link to the previous
  68664. * series. When two series are linked, only the first one appears in the
  68665. * legend. Toggling the visibility of this also toggles the linked series.
  68666. *
  68667. * If master series uses data sorting and linked series does not have its
  68668. * own sorting definition, the linked series will be sorted in the same
  68669. * order as the master one.
  68670. */
  68671. linkedTo?: string;
  68672. /**
  68673. * (Highcharts) The minimum size for a pie in response to auto margins. The
  68674. * pie will try to shrink to make room for data labels in side the plot
  68675. * area, but only to this size.
  68676. */
  68677. minSize?: (number|string);
  68678. /**
  68679. * (Highstock) Options for the corresponding navigator series if
  68680. * `showInNavigator` is `true` for this series. Available options are the
  68681. * same as any series, documented at plotOptions and series.
  68682. *
  68683. * These options are merged with options in navigator.series, and will take
  68684. * precedence if the same option is defined both places.
  68685. */
  68686. navigatorOptions?: PlotSeriesOptions;
  68687. /**
  68688. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  68689. * dataLabels.
  68690. */
  68691. opacity?: number;
  68692. /**
  68693. * (Highcharts) Properties for each single point.
  68694. */
  68695. point?: PlotSeriesPointOptions;
  68696. /**
  68697. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  68698. * individual series. Overrides the chart wide configuration.
  68699. */
  68700. pointDescriptionFormatter?: Function;
  68701. /**
  68702. * (Highstock) The width of each point on the x axis. For example in a
  68703. * column chart with one value each day, the pointRange would be 1 day (= 24
  68704. * * 3600
  68705. *
  68706. * * 1000 milliseconds). This is normally computed automatically, but this
  68707. * option can be used to override the automatic value.
  68708. */
  68709. pointRange?: number;
  68710. /**
  68711. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  68712. * true, the checkbox next to the series name in the legend will be checked
  68713. * for a selected series.
  68714. */
  68715. selected?: boolean;
  68716. /**
  68717. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  68718. * the shadow can be an object configuration containing `color`, `offsetX`,
  68719. * `offsetY`, `opacity` and `width`.
  68720. */
  68721. shadow?: (boolean|ShadowOptionsObject);
  68722. /**
  68723. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  68724. * allow selecting the series. The state of the checkbox is determined by
  68725. * the `selected` option.
  68726. */
  68727. showCheckbox?: boolean;
  68728. /**
  68729. * (Highcharts) Whether to display this particular series or series type in
  68730. * the legend. Since 2.1, pies are not shown in the legend by default.
  68731. */
  68732. showInLegend?: boolean;
  68733. /**
  68734. * (Highstock) Whether or not to show the series in the navigator. Takes
  68735. * precedence over navigator.baseSeries if defined.
  68736. */
  68737. showInNavigator?: boolean;
  68738. /**
  68739. * (Highcharts) The diameter of the pie relative to the plot area. Can be a
  68740. * percentage or pixel value. Pixel values are given as integers. The
  68741. * default behaviour (as of 3.0) is to scale to the plot area and give room
  68742. * for data labels within the plot area. slicedOffset is also included in
  68743. * the default size calculation. As a consequence, the size of the pie may
  68744. * vary when points are updated and data labels more around. In that case it
  68745. * is best to set a fixed value, for example `"75%"`.
  68746. */
  68747. size?: (number|string|null);
  68748. /**
  68749. * (Highcharts) If set to `true`, the accessibility module will skip past
  68750. * the points in this series for keyboard navigation.
  68751. */
  68752. skipKeyboardNavigation?: boolean;
  68753. /**
  68754. * (Highcharts) If a point is sliced, moved out from the center, how many
  68755. * pixels should it be moved?.
  68756. */
  68757. slicedOffset?: number;
  68758. /**
  68759. * (Highcharts) The start angle of the pie slices in degrees where 0 is top
  68760. * and 90 right.
  68761. */
  68762. startAngle?: number;
  68763. states?: SeriesStatesOptionsObject;
  68764. /**
  68765. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  68766. * event on a series isn't triggered until the mouse moves over another
  68767. * series, or out of the plot area. When false, the `mouseOut` event on a
  68768. * series is triggered when the mouse leaves the area around the series'
  68769. * graph or markers. This also implies the tooltip. When `stickyTracking` is
  68770. * false and `tooltip.shared` is false, the tooltip will be hidden when
  68771. * moving the mouse between series.
  68772. */
  68773. stickyTracking?: boolean;
  68774. /**
  68775. * (Highcharts) A configuration object for the tooltip rendering of each
  68776. * single series. Properties are inherited from tooltip, but only the
  68777. * following properties can be defined on a series level.
  68778. */
  68779. tooltip?: SeriesTooltipOptionsObject;
  68780. /**
  68781. * (Highstock) The parameter allows setting line series type and use OHLC
  68782. * indicators. Data in OHLC format is required.
  68783. */
  68784. useOhlcData?: boolean;
  68785. /**
  68786. * (Highcharts) Set the initial visibility of the series.
  68787. */
  68788. visible?: boolean;
  68789. /**
  68790. * (Highmaps) Define the z index of the series.
  68791. */
  68792. zIndex?: number;
  68793. }
  68794. /**
  68795. * (Highstock) Enable or disable the initial animation when a series is
  68796. * displayed. The animation can also be set as a configuration object. Please
  68797. * note that this option only applies to the initial animation of the series
  68798. * itself. For other animations, see chart.animation and the animation parameter
  68799. * under the API methods. The following properties are supported:
  68800. *
  68801. * - `defer`: The animation delay time in milliseconds.
  68802. *
  68803. * - `duration`: The duration of the animation in milliseconds.
  68804. *
  68805. * - `easing`: Can be a string reference to an easing function set on the `Math`
  68806. * object or a function. See the _Custom easing function_ demo below.
  68807. *
  68808. * Due to poor performance, animation is disabled in old IE browsers for several
  68809. * chart types.
  68810. */
  68811. export interface PlotPivotpointsAnimationOptions {
  68812. defer?: number;
  68813. }
  68814. /**
  68815. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  68816. * animation when a series is displayed for the `dataLabels`. The animation can
  68817. * also be set as a configuration object. Please note that this option only
  68818. * applies to the initial animation. For other animations, see chart.animation
  68819. * and the animation parameter under the API methods. The following properties
  68820. * are supported:
  68821. *
  68822. * - `defer`: The animation delay time in milliseconds.
  68823. */
  68824. export interface PlotPivotpointsDataLabelsAnimationOptions {
  68825. /**
  68826. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  68827. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  68828. * inherits defer time from the series.animation.defer.
  68829. */
  68830. defer?: number;
  68831. }
  68832. /**
  68833. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  68834. * appearing next to each data point.
  68835. *
  68836. * Since v6.2.0, multiple data labels can be applied to each single point by
  68837. * defining them as an array of configs.
  68838. *
  68839. * In styled mode, the data labels can be styled with the
  68840. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  68841. * example).
  68842. */
  68843. export interface PlotPivotpointsDataLabelsOptions {
  68844. /**
  68845. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  68846. * compared to the point. If `right`, the right side of the label should be
  68847. * touching the point. For points with an extent, like columns, the
  68848. * alignments also dictates how to align it inside the box, as given with
  68849. * the inside option. Can be one of `left`, `center` or `right`.
  68850. */
  68851. align?: (AlignValue|null);
  68852. /**
  68853. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  68854. * overlap. To make the labels less sensitive for overlapping, the
  68855. * dataLabels.padding can be set to 0.
  68856. */
  68857. allowOverlap?: boolean;
  68858. /**
  68859. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  68860. * animation when a series is displayed for the `dataLabels`. The animation
  68861. * can also be set as a configuration object. Please note that this option
  68862. * only applies to the initial animation. For other animations, see
  68863. * chart.animation and the animation parameter under the API methods. The
  68864. * following properties are supported:
  68865. *
  68866. * - `defer`: The animation delay time in milliseconds.
  68867. */
  68868. animation?: (boolean|PlotPivotpointsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  68869. /**
  68870. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  68871. * for the data label.
  68872. */
  68873. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  68874. /**
  68875. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  68876. * label. Defaults to `undefined`.
  68877. */
  68878. borderColor?: (ColorString|GradientColorObject|PatternObject);
  68879. /**
  68880. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  68881. * the data label.
  68882. */
  68883. borderRadius?: number;
  68884. /**
  68885. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  68886. * the data label.
  68887. */
  68888. borderWidth?: number;
  68889. /**
  68890. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  68891. * Particularly in styled mode, this can be used to give each series' or
  68892. * point's data label unique styling. In addition to this option, a default
  68893. * color class name is added so that we can give the labels a contrast text
  68894. * shadow.
  68895. */
  68896. className?: string;
  68897. /**
  68898. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  68899. * labels. Defaults to `undefined`. For certain series types, like column or
  68900. * map, the data labels can be drawn inside the points. In this case the
  68901. * data label will be drawn with maximum contrast by default. Additionally,
  68902. * it will be given a `text-outline` style with the opposite color, to
  68903. * further increase the contrast. This can be overridden by setting the
  68904. * `text-outline` style to `none` in the `dataLabels.style` option.
  68905. */
  68906. color?: (ColorString|GradientColorObject|PatternObject);
  68907. /**
  68908. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  68909. * are outside the plot area. By default, the data label is moved inside the
  68910. * plot area according to the overflow option.
  68911. */
  68912. crop?: boolean;
  68913. /**
  68914. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  68915. * labels until the initial series animation has finished. Setting to
  68916. * `false` renders the data label immediately. If set to `true` inherits the
  68917. * defer time set in plotOptions.series.animation.
  68918. */
  68919. defer?: boolean;
  68920. /**
  68921. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  68922. * labels.
  68923. */
  68924. enabled?: boolean;
  68925. /**
  68926. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  68927. * of which data labels to display. The declarative filter is designed for
  68928. * use when callback functions are not available, like when the chart
  68929. * options require a pure JSON structure or for use with graphical editors.
  68930. * For programmatic control, use the `formatter` instead, and return
  68931. * `undefined` to disable a single data label.
  68932. */
  68933. filter?: DataLabelsFilterOptionsObject;
  68934. /**
  68935. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  68936. * label. Available variables are the same as for `formatter`.
  68937. */
  68938. format?: string;
  68939. /**
  68940. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  68941. * format the data label. Note that if a `format` is defined, the format
  68942. * takes precedence and the formatter is ignored.
  68943. */
  68944. formatter?: DataLabelsFormatterCallbackFunction;
  68945. /**
  68946. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  68947. * columns or map areas, whether to align the data label inside the box or
  68948. * to the actual value point. Defaults to `false` in most cases, `true` in
  68949. * stacked columns.
  68950. */
  68951. inside?: boolean;
  68952. /**
  68953. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  68954. * of null. Works analogously to format. `nullFormat` can be applied only to
  68955. * series which support displaying null points.
  68956. */
  68957. nullFormat?: (boolean|string);
  68958. /**
  68959. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  68960. * that defines formatting for points with the value of null. Works
  68961. * analogously to formatter. `nullPointFormatter` can be applied only to
  68962. * series which support displaying null points.
  68963. */
  68964. nullFormatter?: DataLabelsFormatterCallbackFunction;
  68965. /**
  68966. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  68967. * flow outside the plot area. The default is `"justify"`, which aligns them
  68968. * inside the plot area. For columns and bars, this means it will be moved
  68969. * inside the bar. To display data labels outside the plot area, set `crop`
  68970. * to `false` and `overflow` to `"allow"`.
  68971. */
  68972. overflow?: DataLabelsOverflowValue;
  68973. /**
  68974. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  68975. * the `backgroundColor` is set, this is the padding within the box.
  68976. */
  68977. padding?: number;
  68978. /**
  68979. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  68980. * points. If `center` alignment is not possible, it defaults to `right`.
  68981. */
  68982. position?: AlignValue;
  68983. /**
  68984. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  68985. * that due to a more complex structure, backgrounds, borders and padding
  68986. * will be lost on a rotated data label.
  68987. */
  68988. rotation?: number;
  68989. /**
  68990. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  68991. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  68992. * an object configuration containing `color`, `offsetX`, `offsetY`,
  68993. * `opacity` and `width`.
  68994. */
  68995. shadow?: (boolean|ShadowOptionsObject);
  68996. /**
  68997. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  68998. * the border around the label. Symbols are predefined functions on the
  68999. * Renderer object.
  69000. */
  69001. shape?: string;
  69002. /**
  69003. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  69004. * default `color` setting is `"contrast"`, which is a pseudo color that
  69005. * Highcharts picks up and applies the maximum contrast to the underlying
  69006. * point item, for example the bar in a bar chart.
  69007. *
  69008. * The `textOutline` is a pseudo property that applies an outline of the
  69009. * given width with the given color, which by default is the maximum
  69010. * contrast to the text. So a bright text color will result in a black text
  69011. * outline for maximum readability on a mixed background. In some cases,
  69012. * especially with grayscale text, the text outline doesn't work well, in
  69013. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  69014. * is true, the `textOutline` will not be picked up. In this, case, the same
  69015. * effect can be acheived through the `text-shadow` CSS property.
  69016. *
  69017. * For some series types, where each point has an extent, like for example
  69018. * tree maps, the data label may overflow the point. There are two
  69019. * strategies for handling overflow. By default, the text will wrap to
  69020. * multiple lines. The other strategy is to set `style.textOverflow` to
  69021. * `ellipsis`, which will keep the text on one line plus it will break
  69022. * inside long words.
  69023. */
  69024. style?: CSSObject;
  69025. /**
  69026. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  69027. * should follow marker's shape. Border and background are disabled for a
  69028. * label that follows a path.
  69029. *
  69030. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  69031. * to true will disable this option.
  69032. */
  69033. textPath?: DataLabelsTextPathOptionsObject;
  69034. /**
  69035. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  69036. * the labels.
  69037. */
  69038. useHTML?: boolean;
  69039. /**
  69040. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  69041. * label. Can be one of `top`, `middle` or `bottom`. The default value
  69042. * depends on the data, for instance in a column chart, the label is above
  69043. * positive values and below negative values.
  69044. */
  69045. verticalAlign?: (VerticalAlignValue|null);
  69046. /**
  69047. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  69048. * label relative to the point in pixels.
  69049. */
  69050. x?: number;
  69051. /**
  69052. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  69053. * label relative to the point in pixels.
  69054. */
  69055. y?: number;
  69056. /**
  69057. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  69058. * The default Z index puts it above the series. Use a Z index of 2 to
  69059. * display it behind the series.
  69060. */
  69061. z?: number;
  69062. }
  69063. /**
  69064. * (Highcharts, Highstock) Options for the series data sorting.
  69065. */
  69066. export interface PlotPivotpointsDataSortingOptions {
  69067. /**
  69068. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  69069. * Use xAxis.reversed to change the sorting order.
  69070. */
  69071. enabled?: boolean;
  69072. /**
  69073. * (Highcharts, Highstock) Whether to allow matching points by name in an
  69074. * update. If this option is disabled, points will be matched by order.
  69075. */
  69076. matchByName?: boolean;
  69077. /**
  69078. * (Highcharts, Highstock) Determines what data value should be used to sort
  69079. * by.
  69080. */
  69081. sortKey?: string;
  69082. }
  69083. /**
  69084. * (Highstock) Pivot points indicator. This series requires the `linkedTo`
  69085. * option to be set and should be loaded after `stock/indicators/indicators.js`
  69086. * file.
  69087. *
  69088. * In TypeScript the type option must always be set.
  69089. *
  69090. * Configuration options for the series are given in three levels:
  69091. *
  69092. * 1. Options for all series in a chart are defined in the plotOptions.series
  69093. * object.
  69094. *
  69095. * 2. Options for all `pivotpoints` series are defined in
  69096. * plotOptions.pivotpoints.
  69097. *
  69098. * 3. Options for one single series are given in the series instance array. (see
  69099. * online documentation for example)
  69100. */
  69101. export interface PlotPivotpointsOptions {
  69102. /**
  69103. * (Highstock) Accessibility options for a series.
  69104. */
  69105. accessibility?: SeriesAccessibilityOptionsObject;
  69106. /**
  69107. * (Highstock) Allow this series' points to be selected by clicking on the
  69108. * graphic (columns, point markers, pie slices, map areas etc).
  69109. *
  69110. * The selected points can be handled by point select and unselect events,
  69111. * or collectively by the getSelectedPoints function.
  69112. *
  69113. * And alternative way of selecting points is through dragging.
  69114. */
  69115. allowPointSelect?: boolean;
  69116. /**
  69117. * (Highstock) Enable or disable the initial animation when a series is
  69118. * displayed. The animation can also be set as a configuration object.
  69119. * Please note that this option only applies to the initial animation of the
  69120. * series itself. For other animations, see chart.animation and the
  69121. * animation parameter under the API methods. The following properties are
  69122. * supported:
  69123. *
  69124. * - `defer`: The animation delay time in milliseconds.
  69125. *
  69126. * - `duration`: The duration of the animation in milliseconds.
  69127. *
  69128. * - `easing`: Can be a string reference to an easing function set on the
  69129. * `Math` object or a function. See the _Custom easing function_ demo below.
  69130. *
  69131. * Due to poor performance, animation is disabled in old IE browsers for
  69132. * several chart types.
  69133. */
  69134. animation?: (boolean|PlotPivotpointsAnimationOptions|Partial<AnimationOptionsObject>);
  69135. /**
  69136. * (Highstock) For some series, there is a limit that shuts down initial
  69137. * animation by default when the total number of points in the chart is too
  69138. * high. For example, for a column chart and its derivatives, animation does
  69139. * not run if there is more than 250 points totally. To disable this cap,
  69140. * set `animationLimit` to `Infinity`.
  69141. */
  69142. animationLimit?: number;
  69143. /**
  69144. * (Highstock) Sets the color blending in the boost module.
  69145. */
  69146. boostBlending?: OptionsBoostBlendingValue;
  69147. /**
  69148. * (Highstock) Set the point threshold for when a series should enter boost
  69149. * mode.
  69150. *
  69151. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  69152. * there are 2000 or more points in the series.
  69153. *
  69154. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  69155. * it to 1 will force boosting.
  69156. *
  69157. * Note that the cropThreshold also affects this setting. When zooming in on
  69158. * a series that has fewer points than the `cropThreshold`, all points are
  69159. * rendered although outside the visible plot area, and the `boostThreshold`
  69160. * won't take effect.
  69161. */
  69162. boostThreshold?: number;
  69163. /**
  69164. * (Highmaps) The border color of the map areas.
  69165. *
  69166. * In styled mode, the border stroke is given in the `.highcharts-point`
  69167. * class.
  69168. */
  69169. borderColor?: (ColorString|GradientColorObject|PatternObject);
  69170. /**
  69171. * (Highmaps) The border width of each map area.
  69172. *
  69173. * In styled mode, the border stroke width is given in the
  69174. * `.highcharts-point` class.
  69175. */
  69176. borderWidth?: number;
  69177. /**
  69178. * (Highstock) An additional class name to apply to the series' graphical
  69179. * elements. This option does not replace default class names of the
  69180. * graphical element.
  69181. */
  69182. className?: string;
  69183. /**
  69184. * (Highstock) Disable this option to allow series rendering in the whole
  69185. * plotting area.
  69186. *
  69187. * **Note:** Clipping should be always enabled when chart.zoomType is set
  69188. */
  69189. clip?: boolean;
  69190. /**
  69191. * (Highstock) The main color of the series. In line type series it applies
  69192. * to the line and the point markers unless otherwise specified. In bar type
  69193. * series it applies to the bars unless a color is specified per point. The
  69194. * default value is pulled from the `options.colors` array.
  69195. *
  69196. * In styled mode, the color can be defined by the colorIndex option. Also,
  69197. * the series color can be set with the `.highcharts-series`,
  69198. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  69199. * `.highcharts-series-{n}` class, or individual classes given by the
  69200. * `className` option.
  69201. */
  69202. color?: (ColorString|GradientColorObject|PatternObject);
  69203. /**
  69204. * (Highstock) Styled mode only. A specific color index to use for the
  69205. * series, so its graphic representations are given the class name
  69206. * `highcharts-color-{n}`.
  69207. */
  69208. colorIndex?: number;
  69209. /**
  69210. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  69211. * used to calculate point color if `colorAxis` is used. Requires to set
  69212. * `min` and `max` if some custom point property is used or if approximation
  69213. * for data grouping is set to `'sum'`.
  69214. */
  69215. colorKey?: string;
  69216. /**
  69217. * (Highstock) Compare the values of the series against the first non-null,
  69218. * non- zero value in the visible range. The y axis will show percentage or
  69219. * absolute change depending on whether `compare` is set to `"percent"` or
  69220. * `"value"`. When this is applied to multiple series, it allows comparing
  69221. * the development of the series against each other. Adds a `change` field
  69222. * to every point object.
  69223. */
  69224. compare?: string;
  69225. /**
  69226. * (Highstock) When compare is `percent`, this option dictates whether to
  69227. * use 0 or 100 as the base of comparison.
  69228. */
  69229. compareBase?: (0|100);
  69230. /**
  69231. * (Highstock) Defines if comparison should start from the first point
  69232. * within the visible range or should start from the first point **before**
  69233. * the range.
  69234. *
  69235. * In other words, this flag determines if first point within the visible
  69236. * range will have 0% (`compareStart=true`) or should have been already
  69237. * calculated according to the previous point (`compareStart=false`).
  69238. */
  69239. compareStart?: boolean;
  69240. /**
  69241. * (Highstock) Whether to compare indicator to the main series values or
  69242. * indicator values.
  69243. */
  69244. compareToMain?: boolean;
  69245. /**
  69246. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  69247. * series plot across the extremes.
  69248. */
  69249. connectEnds?: boolean;
  69250. /**
  69251. * (Highcharts, Highstock) Whether to connect a graph line across null
  69252. * points, or render a gap between the two points on either side of the
  69253. * null.
  69254. */
  69255. connectNulls?: boolean;
  69256. /**
  69257. * (Gantt) Override Pathfinder connector options for a series. Requires
  69258. * Highcharts Gantt to be loaded.
  69259. */
  69260. connectors?: SeriesConnectorsOptionsObject;
  69261. /**
  69262. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  69263. * rounded to its nearest pixel in order to render sharp on screen. In some
  69264. * cases, when there are a lot of densely packed columns, this leads to
  69265. * visible difference in column widths or distance between columns. In these
  69266. * cases, setting `crisp` to `false` may look better, even though each
  69267. * column is rendered blurry.
  69268. */
  69269. crisp?: boolean;
  69270. /**
  69271. * (Highcharts, Highstock) When the series contains less points than the
  69272. * crop threshold, all points are drawn, even if the points fall outside the
  69273. * visible plot area at the current zoom. The advantage of drawing all
  69274. * points (including markers and columns), is that animation is performed on
  69275. * updates. On the other hand, when the series contains more points than the
  69276. * crop threshold, the series data is cropped to only contain points that
  69277. * fall within the plot area. The advantage of cropping away invisible
  69278. * points is to increase performance on large series.
  69279. */
  69280. cropThreshold?: number;
  69281. /**
  69282. * (Highstock) You can set the cursor to "pointer" if you have click events
  69283. * attached to the series, to signal to the user that the points and lines
  69284. * can be clicked.
  69285. *
  69286. * In styled mode, the series cursor can be set with the same classes as
  69287. * listed under series.color.
  69288. */
  69289. cursor?: (string|CursorValue);
  69290. /**
  69291. * (Highstock) A reserved subspace to store options and values for
  69292. * customized functionality. Here you can add additional data for your own
  69293. * event callbacks and formatter callbacks.
  69294. */
  69295. custom?: Dictionary<any>;
  69296. /**
  69297. * (Highstock) Name of the dash style to use for the graph, or for some
  69298. * series types the outline of each shape.
  69299. *
  69300. * In styled mode, the stroke dash-array can be set with the same classes as
  69301. * listed under series.color.
  69302. */
  69303. dashStyle?: DashStyleValue;
  69304. /**
  69305. * (Highstock) Data grouping is the concept of sampling the data values into
  69306. * larger blocks in order to ease readability and increase performance of
  69307. * the JavaScript charts. Highstock by default applies data grouping when
  69308. * the points become closer than a certain pixel value, determined by the
  69309. * `groupPixelWidth` option.
  69310. *
  69311. * If data grouping is applied, the grouping information of grouped points
  69312. * can be read from the Point.dataGroup. If point options other than the
  69313. * data itself are set, for example `name` or `color` or custom properties,
  69314. * the grouping logic doesn't know how to group it. In this case the options
  69315. * of the first point instance are copied over to the group point. This can
  69316. * be altered through a custom `approximation` callback function.
  69317. */
  69318. dataGrouping?: DataGroupingOptionsObject;
  69319. /**
  69320. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  69321. * labels, appearing next to each data point.
  69322. *
  69323. * Since v6.2.0, multiple data labels can be applied to each single point by
  69324. * defining them as an array of configs.
  69325. *
  69326. * In styled mode, the data labels can be styled with the
  69327. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  69328. * (see example).
  69329. */
  69330. dataLabels?: (PlotPivotpointsDataLabelsOptions|Array<PlotPivotpointsDataLabelsOptions>);
  69331. /**
  69332. * (Highcharts, Highstock) Options for the series data sorting.
  69333. */
  69334. dataSorting?: (DataSortingOptionsObject|PlotPivotpointsDataSortingOptions);
  69335. /**
  69336. * (Highstock) A description of the series to add to the screen reader
  69337. * information about the series.
  69338. */
  69339. description?: string;
  69340. /**
  69341. * (Highstock) Enable or disable the mouse tracking for a specific series.
  69342. * This includes point tooltips and click events on graphs and points. For
  69343. * large datasets it improves performance.
  69344. */
  69345. enableMouseTracking?: boolean;
  69346. /**
  69347. * (Highstock) General event handlers for the series items. These event
  69348. * hooks can also be attached to the series at run time using the
  69349. * `Highcharts.addEvent` function.
  69350. */
  69351. events?: SeriesEventsOptionsObject;
  69352. /**
  69353. * (Highstock) Determines whether the series should look for the nearest
  69354. * point in both dimensions or just the x-dimension when hovering the
  69355. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  69356. * series. If the data has duplicate x-values, it is recommended to set this
  69357. * to `'xy'` to allow hovering over all points.
  69358. *
  69359. * Applies only to series types using nearest neighbor search (not direct
  69360. * hover) for tooltip.
  69361. */
  69362. findNearestPointBy?: OptionsFindNearestPointByValue;
  69363. /**
  69364. * (Highstock) Defines when to display a gap in the graph, together with the
  69365. * gapUnit option.
  69366. *
  69367. * In case when `dataGrouping` is enabled, points can be grouped into a
  69368. * larger time span. This can make the grouped points to have a greater
  69369. * distance than the absolute value of `gapSize` property, which will result
  69370. * in disappearing graph completely. To prevent this situation the mentioned
  69371. * distance between grouped points is used instead of previously defined
  69372. * `gapSize`.
  69373. *
  69374. * In practice, this option is most often used to visualize gaps in time
  69375. * series. In a stock chart, intraday data is available for daytime hours,
  69376. * while gaps will appear in nights and weekends.
  69377. */
  69378. gapSize?: number;
  69379. /**
  69380. * (Highstock) Together with gapSize, this option defines where to draw gaps
  69381. * in the graph.
  69382. *
  69383. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  69384. * if the distance between two points is greater than 5 times that of the
  69385. * two closest points, the graph will be broken.
  69386. *
  69387. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  69388. * values, which on a datetime axis is milliseconds. This also applies to
  69389. * the navigator series that inherits gap options from the base series.
  69390. */
  69391. gapUnit?: OptionsGapUnitValue;
  69392. /**
  69393. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  69394. * chart width or only the zoomed area when zooming in on parts of the X
  69395. * axis. By default, the Y axis adjusts to the min and max of the visible
  69396. * data. Cartesian series only.
  69397. */
  69398. getExtremesFromAll?: boolean;
  69399. /**
  69400. * (Highstock) When set to `false` will prevent the series data from being
  69401. * included in any form of data export.
  69402. *
  69403. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  69404. * `includeInCSVExport`.
  69405. */
  69406. includeInDataExport?: boolean;
  69407. /**
  69408. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  69409. * series as possible in a natural way, seeking to avoid other series. The
  69410. * goal of this feature is to make the chart more easily readable, like if a
  69411. * human designer placed the labels in the optimal position.
  69412. *
  69413. * The series labels currently work with series types having a `graph` or an
  69414. * `area`.
  69415. */
  69416. label?: SeriesLabelOptionsObject;
  69417. /**
  69418. * (Highstock) The line marks the last price from all points.
  69419. */
  69420. lastPrice?: SeriesLastPriceOptionsObject;
  69421. /**
  69422. * (Highstock) The line marks the last price from visible range of points.
  69423. */
  69424. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  69425. /**
  69426. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  69427. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  69428. * the ends and bends.
  69429. */
  69430. linecap?: SeriesLinecapValue;
  69431. /**
  69432. * (Highcharts, Highstock) Pixel width of the graph line.
  69433. */
  69434. lineWidth?: number;
  69435. /**
  69436. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  69437. * based on. Required for this indicator.
  69438. */
  69439. linkedTo?: string;
  69440. /**
  69441. * (Highstock) Options for the point markers of line-like series. Properties
  69442. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  69443. * appearance of the markers. Other series types, like column series, don't
  69444. * have markers, but have visual options on the series level instead.
  69445. *
  69446. * In styled mode, the markers can be styled with the `.highcharts-point`,
  69447. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  69448. */
  69449. marker?: PointMarkerOptionsObject;
  69450. /**
  69451. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  69452. * If not set, it will be based on a technical indicator type and default
  69453. * params.
  69454. */
  69455. name?: string;
  69456. /**
  69457. * (Highstock) The color for the parts of the graph or points that are below
  69458. * the threshold. Note that `zones` takes precedence over the negative
  69459. * color. Using `negativeColor` is equivalent to applying a zone with value
  69460. * of 0.
  69461. */
  69462. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  69463. /**
  69464. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  69465. * dataLabels.
  69466. */
  69467. opacity?: number;
  69468. /**
  69469. * (Highstock) Paramters used in calculation of regression series' points.
  69470. */
  69471. params?: PlotPivotpointsParamsOptions;
  69472. /**
  69473. * (Highstock) Properties for each single point.
  69474. */
  69475. point?: PlotSeriesPointOptions;
  69476. /**
  69477. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  69478. * individual series. Overrides the chart wide configuration.
  69479. */
  69480. pointDescriptionFormatter?: Function;
  69481. /**
  69482. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  69483. * true, the checkbox next to the series name in the legend will be checked
  69484. * for a selected series.
  69485. */
  69486. selected?: boolean;
  69487. /**
  69488. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  69489. * the shadow can be an object configuration containing `color`, `offsetX`,
  69490. * `offsetY`, `opacity` and `width`.
  69491. */
  69492. shadow?: (boolean|ShadowOptionsObject);
  69493. /**
  69494. * (Highstock) If true, a checkbox is displayed next to the legend item to
  69495. * allow selecting the series. The state of the checkbox is determined by
  69496. * the `selected` option.
  69497. */
  69498. showCheckbox?: boolean;
  69499. /**
  69500. * (Highstock) Whether to display this particular series or series type in
  69501. * the legend. Standalone series are shown in legend by default, and linked
  69502. * series are not. Since v7.2.0 it is possible to show series that use
  69503. * colorAxis by setting this option to `true`.
  69504. */
  69505. showInLegend?: boolean;
  69506. /**
  69507. * (Highstock) If set to `true`, the accessibility module will skip past the
  69508. * points in this series for keyboard navigation.
  69509. */
  69510. skipKeyboardNavigation?: boolean;
  69511. /**
  69512. * (Highcharts, Highstock) When this is true, the series will not cause the
  69513. * Y axis to cross the zero plane (or threshold option) unless the data
  69514. * actually crosses the plane.
  69515. *
  69516. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  69517. * make the Y axis show negative values according to the `minPadding`
  69518. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  69519. */
  69520. softThreshold?: boolean;
  69521. states?: SeriesStatesOptionsObject;
  69522. /**
  69523. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  69524. * values are `left`, `center` and `right`.
  69525. */
  69526. step?: OptionsStepValue;
  69527. /**
  69528. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  69529. * event on a series isn't triggered until the mouse moves over another
  69530. * series, or out of the plot area. When false, the `mouseOut` event on a
  69531. * series is triggered when the mouse leaves the area around the series'
  69532. * graph or markers. This also implies the tooltip when not shared. When
  69533. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  69534. * be hidden when moving the mouse between series. Defaults to true for line
  69535. * and area type series, but to false for columns, pies etc.
  69536. *
  69537. * **Note:** The boost module will force this option because of technical
  69538. * limitations.
  69539. */
  69540. stickyTracking?: boolean;
  69541. /**
  69542. * (Highcharts, Highstock) The threshold, also called zero level or base
  69543. * level. For line type series this is only used in conjunction with
  69544. * negativeColor.
  69545. */
  69546. threshold?: number;
  69547. /**
  69548. * (Highstock) A configuration object for the tooltip rendering of each
  69549. * single series. Properties are inherited from tooltip, but only the
  69550. * following properties can be defined on a series level.
  69551. */
  69552. tooltip?: SeriesTooltipOptionsObject;
  69553. /**
  69554. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  69555. * is longer than this, only one dimensional arrays of numbers, or two
  69556. * dimensional arrays with x and y values are allowed. Also, only the first
  69557. * point is tested, and the rest are assumed to be the same format. This
  69558. * saves expensive data checking and indexing in long series. Set it to `0`
  69559. * disable.
  69560. *
  69561. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  69562. * two dimensional arrays are allowed.
  69563. */
  69564. turboThreshold?: number;
  69565. /**
  69566. * (Highstock) Set the initial visibility of the series.
  69567. */
  69568. visible?: boolean;
  69569. /**
  69570. * (Highmaps) Define the z index of the series.
  69571. */
  69572. zIndex?: number;
  69573. /**
  69574. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  69575. */
  69576. zoneAxis?: string;
  69577. /**
  69578. * (Highcharts, Highstock) An array defining zones within a series. Zones
  69579. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  69580. * the `zoneAxis` option. The zone definitions have to be in ascending order
  69581. * regarding to the value.
  69582. *
  69583. * In styled mode, the color zones are styled with the
  69584. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  69585. * option (view live demo).
  69586. */
  69587. zones?: Array<SeriesZonesOptionsObject>;
  69588. }
  69589. /**
  69590. * (Highstock) Paramters used in calculation of regression series' points.
  69591. */
  69592. export interface PlotPivotpointsParamsOptions {
  69593. /**
  69594. * (Highstock) Algorithm used to calculate ressistance and support lines
  69595. * based on pivot points. Implemented algorithms: `'standard'`,
  69596. * `'fibonacci'` and `'camarilla'`
  69597. */
  69598. algorithm?: string;
  69599. /**
  69600. * (Highstock) The base period for indicator calculations. This is the
  69601. * number of data points which are taken into account for the indicator
  69602. * calculations.
  69603. */
  69604. period?: number;
  69605. }
  69606. /**
  69607. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  69608. * is displayed. The animation can also be set as a configuration object. Please
  69609. * note that this option only applies to the initial animation of the series
  69610. * itself. For other animations, see chart.animation and the animation parameter
  69611. * under the API methods. The following properties are supported:
  69612. *
  69613. * - `defer`: The animation delay time in milliseconds.
  69614. *
  69615. * - `duration`: The duration of the animation in milliseconds.
  69616. *
  69617. * - `easing`: Can be a string reference to an easing function set on the `Math`
  69618. * object or a function. See the _Custom easing function_ demo below.
  69619. *
  69620. * Due to poor performance, animation is disabled in old IE browsers for several
  69621. * chart types.
  69622. */
  69623. export interface PlotPolygonAnimationOptions {
  69624. defer?: number;
  69625. }
  69626. /**
  69627. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  69628. * animation when a series is displayed for the `dataLabels`. The animation can
  69629. * also be set as a configuration object. Please note that this option only
  69630. * applies to the initial animation. For other animations, see chart.animation
  69631. * and the animation parameter under the API methods. The following properties
  69632. * are supported:
  69633. *
  69634. * - `defer`: The animation delay time in milliseconds.
  69635. */
  69636. export interface PlotPolygonDataLabelsAnimationOptions {
  69637. /**
  69638. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  69639. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  69640. * inherits defer time from the series.animation.defer.
  69641. */
  69642. defer?: number;
  69643. }
  69644. /**
  69645. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  69646. * appearing next to each data point.
  69647. *
  69648. * Since v6.2.0, multiple data labels can be applied to each single point by
  69649. * defining them as an array of configs.
  69650. *
  69651. * In styled mode, the data labels can be styled with the
  69652. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  69653. * example).
  69654. */
  69655. export interface PlotPolygonDataLabelsOptions {
  69656. /**
  69657. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  69658. * compared to the point. If `right`, the right side of the label should be
  69659. * touching the point. For points with an extent, like columns, the
  69660. * alignments also dictates how to align it inside the box, as given with
  69661. * the inside option. Can be one of `left`, `center` or `right`.
  69662. */
  69663. align?: (AlignValue|null);
  69664. /**
  69665. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  69666. * overlap. To make the labels less sensitive for overlapping, the
  69667. * dataLabels.padding can be set to 0.
  69668. */
  69669. allowOverlap?: boolean;
  69670. /**
  69671. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  69672. * animation when a series is displayed for the `dataLabels`. The animation
  69673. * can also be set as a configuration object. Please note that this option
  69674. * only applies to the initial animation. For other animations, see
  69675. * chart.animation and the animation parameter under the API methods. The
  69676. * following properties are supported:
  69677. *
  69678. * - `defer`: The animation delay time in milliseconds.
  69679. */
  69680. animation?: (boolean|PlotPolygonDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  69681. /**
  69682. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  69683. * for the data label.
  69684. */
  69685. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  69686. /**
  69687. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  69688. * label. Defaults to `undefined`.
  69689. */
  69690. borderColor?: (ColorString|GradientColorObject|PatternObject);
  69691. /**
  69692. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  69693. * the data label.
  69694. */
  69695. borderRadius?: number;
  69696. /**
  69697. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  69698. * the data label.
  69699. */
  69700. borderWidth?: number;
  69701. /**
  69702. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  69703. * Particularly in styled mode, this can be used to give each series' or
  69704. * point's data label unique styling. In addition to this option, a default
  69705. * color class name is added so that we can give the labels a contrast text
  69706. * shadow.
  69707. */
  69708. className?: string;
  69709. /**
  69710. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  69711. * labels. Defaults to `undefined`. For certain series types, like column or
  69712. * map, the data labels can be drawn inside the points. In this case the
  69713. * data label will be drawn with maximum contrast by default. Additionally,
  69714. * it will be given a `text-outline` style with the opposite color, to
  69715. * further increase the contrast. This can be overridden by setting the
  69716. * `text-outline` style to `none` in the `dataLabels.style` option.
  69717. */
  69718. color?: (ColorString|GradientColorObject|PatternObject);
  69719. /**
  69720. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  69721. * are outside the plot area. By default, the data label is moved inside the
  69722. * plot area according to the overflow option.
  69723. */
  69724. crop?: boolean;
  69725. /**
  69726. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  69727. * labels until the initial series animation has finished. Setting to
  69728. * `false` renders the data label immediately. If set to `true` inherits the
  69729. * defer time set in plotOptions.series.animation.
  69730. */
  69731. defer?: boolean;
  69732. /**
  69733. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  69734. * labels.
  69735. */
  69736. enabled?: boolean;
  69737. /**
  69738. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  69739. * of which data labels to display. The declarative filter is designed for
  69740. * use when callback functions are not available, like when the chart
  69741. * options require a pure JSON structure or for use with graphical editors.
  69742. * For programmatic control, use the `formatter` instead, and return
  69743. * `undefined` to disable a single data label.
  69744. */
  69745. filter?: DataLabelsFilterOptionsObject;
  69746. /**
  69747. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  69748. * label. Available variables are the same as for `formatter`.
  69749. */
  69750. format?: string;
  69751. /**
  69752. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  69753. * format the data label. Note that if a `format` is defined, the format
  69754. * takes precedence and the formatter is ignored.
  69755. */
  69756. formatter?: DataLabelsFormatterCallbackFunction;
  69757. /**
  69758. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  69759. * columns or map areas, whether to align the data label inside the box or
  69760. * to the actual value point. Defaults to `false` in most cases, `true` in
  69761. * stacked columns.
  69762. */
  69763. inside?: boolean;
  69764. /**
  69765. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  69766. * of null. Works analogously to format. `nullFormat` can be applied only to
  69767. * series which support displaying null points.
  69768. */
  69769. nullFormat?: (boolean|string);
  69770. /**
  69771. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  69772. * that defines formatting for points with the value of null. Works
  69773. * analogously to formatter. `nullPointFormatter` can be applied only to
  69774. * series which support displaying null points.
  69775. */
  69776. nullFormatter?: DataLabelsFormatterCallbackFunction;
  69777. /**
  69778. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  69779. * flow outside the plot area. The default is `"justify"`, which aligns them
  69780. * inside the plot area. For columns and bars, this means it will be moved
  69781. * inside the bar. To display data labels outside the plot area, set `crop`
  69782. * to `false` and `overflow` to `"allow"`.
  69783. */
  69784. overflow?: DataLabelsOverflowValue;
  69785. /**
  69786. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  69787. * the `backgroundColor` is set, this is the padding within the box.
  69788. */
  69789. padding?: number;
  69790. /**
  69791. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  69792. * points. If `center` alignment is not possible, it defaults to `right`.
  69793. */
  69794. position?: AlignValue;
  69795. /**
  69796. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  69797. * that due to a more complex structure, backgrounds, borders and padding
  69798. * will be lost on a rotated data label.
  69799. */
  69800. rotation?: number;
  69801. /**
  69802. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  69803. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  69804. * an object configuration containing `color`, `offsetX`, `offsetY`,
  69805. * `opacity` and `width`.
  69806. */
  69807. shadow?: (boolean|ShadowOptionsObject);
  69808. /**
  69809. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  69810. * the border around the label. Symbols are predefined functions on the
  69811. * Renderer object.
  69812. */
  69813. shape?: string;
  69814. /**
  69815. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  69816. * default `color` setting is `"contrast"`, which is a pseudo color that
  69817. * Highcharts picks up and applies the maximum contrast to the underlying
  69818. * point item, for example the bar in a bar chart.
  69819. *
  69820. * The `textOutline` is a pseudo property that applies an outline of the
  69821. * given width with the given color, which by default is the maximum
  69822. * contrast to the text. So a bright text color will result in a black text
  69823. * outline for maximum readability on a mixed background. In some cases,
  69824. * especially with grayscale text, the text outline doesn't work well, in
  69825. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  69826. * is true, the `textOutline` will not be picked up. In this, case, the same
  69827. * effect can be acheived through the `text-shadow` CSS property.
  69828. *
  69829. * For some series types, where each point has an extent, like for example
  69830. * tree maps, the data label may overflow the point. There are two
  69831. * strategies for handling overflow. By default, the text will wrap to
  69832. * multiple lines. The other strategy is to set `style.textOverflow` to
  69833. * `ellipsis`, which will keep the text on one line plus it will break
  69834. * inside long words.
  69835. */
  69836. style?: CSSObject;
  69837. /**
  69838. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  69839. * should follow marker's shape. Border and background are disabled for a
  69840. * label that follows a path.
  69841. *
  69842. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  69843. * to true will disable this option.
  69844. */
  69845. textPath?: DataLabelsTextPathOptionsObject;
  69846. /**
  69847. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  69848. * the labels.
  69849. */
  69850. useHTML?: boolean;
  69851. /**
  69852. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  69853. * label. Can be one of `top`, `middle` or `bottom`. The default value
  69854. * depends on the data, for instance in a column chart, the label is above
  69855. * positive values and below negative values.
  69856. */
  69857. verticalAlign?: (VerticalAlignValue|null);
  69858. /**
  69859. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  69860. * label relative to the point in pixels.
  69861. */
  69862. x?: number;
  69863. /**
  69864. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  69865. * label relative to the point in pixels.
  69866. */
  69867. y?: number;
  69868. /**
  69869. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  69870. * The default Z index puts it above the series. Use a Z index of 2 to
  69871. * display it behind the series.
  69872. */
  69873. z?: number;
  69874. }
  69875. /**
  69876. * (Highcharts, Highstock) Options for the series data sorting.
  69877. */
  69878. export interface PlotPolygonDataSortingOptions {
  69879. /**
  69880. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  69881. * Use xAxis.reversed to change the sorting order.
  69882. */
  69883. enabled?: boolean;
  69884. /**
  69885. * (Highcharts, Highstock) Whether to allow matching points by name in an
  69886. * update. If this option is disabled, points will be matched by order.
  69887. */
  69888. matchByName?: boolean;
  69889. /**
  69890. * (Highcharts, Highstock) Determines what data value should be used to sort
  69891. * by.
  69892. */
  69893. sortKey?: string;
  69894. }
  69895. /**
  69896. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  69897. * one state by default, the `default` state.
  69898. */
  69899. export interface PlotPolygonDragDropGuideBoxOptions {
  69900. /**
  69901. * (Highcharts, Highstock) Style options for the guide box default state.
  69902. */
  69903. default?: DragDropGuideBoxOptionsObject;
  69904. }
  69905. /**
  69906. * (Highcharts, Highstock) A polygon series can be used to draw any freeform
  69907. * shape in the cartesian coordinate system. A fill is applied with the `color`
  69908. * option, and stroke is applied through `lineWidth` and `lineColor` options.
  69909. *
  69910. * In TypeScript the type option must always be set.
  69911. *
  69912. * Configuration options for the series are given in three levels:
  69913. *
  69914. * 1. Options for all series in a chart are defined in the plotOptions.series
  69915. * object.
  69916. *
  69917. * 2. Options for all `polygon` series are defined in plotOptions.polygon.
  69918. *
  69919. * 3. Options for one single series are given in the series instance array. (see
  69920. * online documentation for example)
  69921. */
  69922. export interface PlotPolygonOptions {
  69923. /**
  69924. * (Highcharts, Highstock) Accessibility options for a series.
  69925. */
  69926. accessibility?: SeriesAccessibilityOptionsObject;
  69927. /**
  69928. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  69929. * rendered. If `true`, areas which don't correspond to a data point, are
  69930. * rendered as `null` points. If `false`, those areas are skipped.
  69931. */
  69932. allAreas?: boolean;
  69933. /**
  69934. * (Highcharts, Highstock) Allow this series' points to be selected by
  69935. * clicking on the graphic (columns, point markers, pie slices, map areas
  69936. * etc).
  69937. *
  69938. * The selected points can be handled by point select and unselect events,
  69939. * or collectively by the getSelectedPoints function.
  69940. *
  69941. * And alternative way of selecting points is through dragging.
  69942. */
  69943. allowPointSelect?: boolean;
  69944. /**
  69945. * (Highcharts, Highstock) Enable or disable the initial animation when a
  69946. * series is displayed. The animation can also be set as a configuration
  69947. * object. Please note that this option only applies to the initial
  69948. * animation of the series itself. For other animations, see chart.animation
  69949. * and the animation parameter under the API methods. The following
  69950. * properties are supported:
  69951. *
  69952. * - `defer`: The animation delay time in milliseconds.
  69953. *
  69954. * - `duration`: The duration of the animation in milliseconds.
  69955. *
  69956. * - `easing`: Can be a string reference to an easing function set on the
  69957. * `Math` object or a function. See the _Custom easing function_ demo below.
  69958. *
  69959. * Due to poor performance, animation is disabled in old IE browsers for
  69960. * several chart types.
  69961. */
  69962. animation?: (boolean|PlotPolygonAnimationOptions|Partial<AnimationOptionsObject>);
  69963. /**
  69964. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  69965. * initial animation by default when the total number of points in the chart
  69966. * is too high. For example, for a column chart and its derivatives,
  69967. * animation does not run if there is more than 250 points totally. To
  69968. * disable this cap, set `animationLimit` to `Infinity`.
  69969. */
  69970. animationLimit?: number;
  69971. /**
  69972. * (Highmaps) The border color of the map areas.
  69973. *
  69974. * In styled mode, the border stroke is given in the `.highcharts-point`
  69975. * class.
  69976. */
  69977. borderColor?: (ColorString|GradientColorObject|PatternObject);
  69978. /**
  69979. * (Highmaps) The border width of each map area.
  69980. *
  69981. * In styled mode, the border stroke width is given in the
  69982. * `.highcharts-point` class.
  69983. */
  69984. borderWidth?: number;
  69985. /**
  69986. * (Highcharts, Highstock) An additional class name to apply to the series'
  69987. * graphical elements. This option does not replace default class names of
  69988. * the graphical element.
  69989. */
  69990. className?: string;
  69991. /**
  69992. * (Highcharts, Highstock) Disable this option to allow series rendering in
  69993. * the whole plotting area.
  69994. *
  69995. * **Note:** Clipping should be always enabled when chart.zoomType is set
  69996. */
  69997. clip?: boolean;
  69998. /**
  69999. * (Highcharts, Highstock) The main color of the series. In line type series
  70000. * it applies to the line and the point markers unless otherwise specified.
  70001. * In bar type series it applies to the bars unless a color is specified per
  70002. * point. The default value is pulled from the `options.colors` array.
  70003. *
  70004. * In styled mode, the color can be defined by the colorIndex option. Also,
  70005. * the series color can be set with the `.highcharts-series`,
  70006. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  70007. * `.highcharts-series-{n}` class, or individual classes given by the
  70008. * `className` option.
  70009. */
  70010. color?: (ColorString|GradientColorObject|PatternObject);
  70011. /**
  70012. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  70013. * this number defines which colorAxis the particular series is connected
  70014. * to. It refers to either the axis id or the index of the axis in the
  70015. * colorAxis array, with 0 being the first. Set this option to false to
  70016. * prevent a series from connecting to the default color axis.
  70017. *
  70018. * Since v7.2.0 the option can also be an axis id or an axis index instead
  70019. * of a boolean flag.
  70020. */
  70021. colorAxis?: (boolean|number|string);
  70022. /**
  70023. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  70024. * for the series, so its graphic representations are given the class name
  70025. * `highcharts-color-{n}`.
  70026. */
  70027. colorIndex?: number;
  70028. /**
  70029. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  70030. * used to calculate point color if `colorAxis` is used. Requires to set
  70031. * `min` and `max` if some custom point property is used or if approximation
  70032. * for data grouping is set to `'sum'`.
  70033. */
  70034. colorKey?: string;
  70035. /**
  70036. * (Highstock) Compare the values of the series against the first non-null,
  70037. * non- zero value in the visible range. The y axis will show percentage or
  70038. * absolute change depending on whether `compare` is set to `"percent"` or
  70039. * `"value"`. When this is applied to multiple series, it allows comparing
  70040. * the development of the series against each other. Adds a `change` field
  70041. * to every point object.
  70042. */
  70043. compare?: string;
  70044. /**
  70045. * (Highstock) When compare is `percent`, this option dictates whether to
  70046. * use 0 or 100 as the base of comparison.
  70047. */
  70048. compareBase?: (0|100);
  70049. /**
  70050. * (Highstock) Defines if comparison should start from the first point
  70051. * within the visible range or should start from the first point **before**
  70052. * the range.
  70053. *
  70054. * In other words, this flag determines if first point within the visible
  70055. * range will have 0% (`compareStart=true`) or should have been already
  70056. * calculated according to the previous point (`compareStart=false`).
  70057. */
  70058. compareStart?: boolean;
  70059. /**
  70060. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  70061. * series plot across the extremes.
  70062. */
  70063. connectEnds?: boolean;
  70064. /**
  70065. * (Highcharts, Highstock) Whether to connect a graph line across null
  70066. * points, or render a gap between the two points on either side of the
  70067. * null.
  70068. */
  70069. connectNulls?: boolean;
  70070. /**
  70071. * (Gantt) Override Pathfinder connector options for a series. Requires
  70072. * Highcharts Gantt to be loaded.
  70073. */
  70074. connectors?: SeriesConnectorsOptionsObject;
  70075. /**
  70076. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  70077. * rounded to its nearest pixel in order to render sharp on screen. In some
  70078. * cases, when there are a lot of densely packed columns, this leads to
  70079. * visible difference in column widths or distance between columns. In these
  70080. * cases, setting `crisp` to `false` may look better, even though each
  70081. * column is rendered blurry.
  70082. */
  70083. crisp?: boolean;
  70084. /**
  70085. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  70086. * click events attached to the series, to signal to the user that the
  70087. * points and lines can be clicked.
  70088. *
  70089. * In styled mode, the series cursor can be set with the same classes as
  70090. * listed under series.color.
  70091. */
  70092. cursor?: (string|CursorValue);
  70093. /**
  70094. * (Highcharts, Highstock) A reserved subspace to store options and values
  70095. * for customized functionality. Here you can add additional data for your
  70096. * own event callbacks and formatter callbacks.
  70097. */
  70098. custom?: Dictionary<any>;
  70099. /**
  70100. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  70101. * for some series types the outline of each shape.
  70102. *
  70103. * In styled mode, the stroke dash-array can be set with the same classes as
  70104. * listed under series.color.
  70105. */
  70106. dashStyle?: DashStyleValue;
  70107. /**
  70108. * (Highstock) Data grouping is the concept of sampling the data values into
  70109. * larger blocks in order to ease readability and increase performance of
  70110. * the JavaScript charts. Highstock by default applies data grouping when
  70111. * the points become closer than a certain pixel value, determined by the
  70112. * `groupPixelWidth` option.
  70113. *
  70114. * If data grouping is applied, the grouping information of grouped points
  70115. * can be read from the Point.dataGroup. If point options other than the
  70116. * data itself are set, for example `name` or `color` or custom properties,
  70117. * the grouping logic doesn't know how to group it. In this case the options
  70118. * of the first point instance are copied over to the group point. This can
  70119. * be altered through a custom `approximation` callback function.
  70120. */
  70121. dataGrouping?: DataGroupingOptionsObject;
  70122. /**
  70123. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  70124. * labels, appearing next to each data point.
  70125. *
  70126. * Since v6.2.0, multiple data labels can be applied to each single point by
  70127. * defining them as an array of configs.
  70128. *
  70129. * In styled mode, the data labels can be styled with the
  70130. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  70131. * (see example).
  70132. */
  70133. dataLabels?: (PlotPolygonDataLabelsOptions|Array<PlotPolygonDataLabelsOptions>);
  70134. /**
  70135. * (Highcharts, Highstock) Options for the series data sorting.
  70136. */
  70137. dataSorting?: (DataSortingOptionsObject|PlotPolygonDataSortingOptions);
  70138. /**
  70139. * (Highcharts, Highstock) A description of the series to add to the screen
  70140. * reader information about the series.
  70141. */
  70142. description?: string;
  70143. /**
  70144. * (Highcharts, Highstock) The draggable-points module allows points to be
  70145. * moved around or modified in the chart. In addition to the options
  70146. * mentioned under the `dragDrop` API structure, the module fires three
  70147. * events, point.dragStart, point.drag and point.drop.
  70148. */
  70149. dragDrop?: SeriesDragDropOptionsObject;
  70150. /**
  70151. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  70152. * specific series. This includes point tooltips and click events on graphs
  70153. * and points. For large datasets it improves performance.
  70154. */
  70155. enableMouseTracking?: boolean;
  70156. /**
  70157. * (Highcharts, Highstock) General event handlers for the series items.
  70158. * These event hooks can also be attached to the series at run time using
  70159. * the `Highcharts.addEvent` function.
  70160. */
  70161. events?: SeriesEventsOptionsObject;
  70162. /**
  70163. * (Highcharts, Highstock) Determines whether the series should look for the
  70164. * nearest point in both dimensions or just the x-dimension when hovering
  70165. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  70166. * other series. If the data has duplicate x-values, it is recommended to
  70167. * set this to `'xy'` to allow hovering over all points.
  70168. *
  70169. * Applies only to series types using nearest neighbor search (not direct
  70170. * hover) for tooltip.
  70171. */
  70172. findNearestPointBy?: OptionsFindNearestPointByValue;
  70173. /**
  70174. * (Highstock) Defines when to display a gap in the graph, together with the
  70175. * gapUnit option.
  70176. *
  70177. * In case when `dataGrouping` is enabled, points can be grouped into a
  70178. * larger time span. This can make the grouped points to have a greater
  70179. * distance than the absolute value of `gapSize` property, which will result
  70180. * in disappearing graph completely. To prevent this situation the mentioned
  70181. * distance between grouped points is used instead of previously defined
  70182. * `gapSize`.
  70183. *
  70184. * In practice, this option is most often used to visualize gaps in time
  70185. * series. In a stock chart, intraday data is available for daytime hours,
  70186. * while gaps will appear in nights and weekends.
  70187. */
  70188. gapSize?: number;
  70189. /**
  70190. * (Highstock) Together with gapSize, this option defines where to draw gaps
  70191. * in the graph.
  70192. *
  70193. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  70194. * if the distance between two points is greater than 5 times that of the
  70195. * two closest points, the graph will be broken.
  70196. *
  70197. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  70198. * values, which on a datetime axis is milliseconds. This also applies to
  70199. * the navigator series that inherits gap options from the base series.
  70200. */
  70201. gapUnit?: OptionsGapUnitValue;
  70202. /**
  70203. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  70204. * chart width or only the zoomed area when zooming in on parts of the X
  70205. * axis. By default, the Y axis adjusts to the min and max of the visible
  70206. * data. Cartesian series only.
  70207. */
  70208. getExtremesFromAll?: boolean;
  70209. /**
  70210. * (Highcharts, Highstock) When set to `false` will prevent the series data
  70211. * from being included in any form of data export.
  70212. *
  70213. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  70214. * `includeInCSVExport`.
  70215. */
  70216. includeInDataExport?: boolean;
  70217. /**
  70218. * (Highmaps) What property to join the `mapData` to the value data. For
  70219. * example, if joinBy is "code", the mapData items with a specific code is
  70220. * merged into the data with the same code. For maps loaded from GeoJSON,
  70221. * the keys may be held in each point's `properties` object.
  70222. *
  70223. * The joinBy option can also be an array of two values, where the first
  70224. * points to a key in the `mapData`, and the second points to another key in
  70225. * the `data`.
  70226. *
  70227. * When joinBy is `null`, the map items are joined by their position in the
  70228. * array, which performs much better in maps with many data points. This is
  70229. * the recommended option if you are printing more than a thousand data
  70230. * points and have a backend that can preprocess the data into a parallel
  70231. * array of the mapData.
  70232. */
  70233. joinBy?: (string|Array<string>);
  70234. /**
  70235. * (Highcharts, Highstock) An array specifying which option maps to which
  70236. * key in the data point array. This makes it convenient to work with
  70237. * unstructured data arrays from different sources.
  70238. */
  70239. keys?: Array<string>;
  70240. /**
  70241. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  70242. * series as possible in a natural way, seeking to avoid other series. The
  70243. * goal of this feature is to make the chart more easily readable, like if a
  70244. * human designer placed the labels in the optimal position.
  70245. *
  70246. * The series labels currently work with series types having a `graph` or an
  70247. * `area`.
  70248. */
  70249. label?: SeriesLabelOptionsObject;
  70250. /**
  70251. * (Highstock) The line marks the last price from all points.
  70252. */
  70253. lastPrice?: SeriesLastPriceOptionsObject;
  70254. /**
  70255. * (Highstock) The line marks the last price from visible range of points.
  70256. */
  70257. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  70258. /**
  70259. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  70260. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  70261. * the ends and bends.
  70262. */
  70263. linecap?: SeriesLinecapValue;
  70264. /**
  70265. * (Highcharts, Highstock) The width of the line connecting the data points.
  70266. */
  70267. lineWidth?: number;
  70268. /**
  70269. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  70270. * Additionally, the value can be ":previous" to link to the previous
  70271. * series. When two series are linked, only the first one appears in the
  70272. * legend. Toggling the visibility of this also toggles the linked series.
  70273. *
  70274. * If master series uses data sorting and linked series does not have its
  70275. * own sorting definition, the linked series will be sorted in the same
  70276. * order as the master one.
  70277. */
  70278. linkedTo?: string;
  70279. /**
  70280. * (Highcharts, Highstock) Options for the point markers of line-like
  70281. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  70282. * the visual appearance of the markers. Other series types, like column
  70283. * series, don't have markers, but have visual options on the series level
  70284. * instead.
  70285. *
  70286. * In styled mode, the markers can be styled with the `.highcharts-point`,
  70287. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  70288. */
  70289. marker?: PointMarkerOptionsObject;
  70290. /**
  70291. * (Highstock) Options for the corresponding navigator series if
  70292. * `showInNavigator` is `true` for this series. Available options are the
  70293. * same as any series, documented at plotOptions and series.
  70294. *
  70295. * These options are merged with options in navigator.series, and will take
  70296. * precedence if the same option is defined both places.
  70297. */
  70298. navigatorOptions?: PlotSeriesOptions;
  70299. /**
  70300. * (Highcharts, Highstock) The color for the parts of the graph or points
  70301. * that are below the threshold. Note that `zones` takes precedence over the
  70302. * negative color. Using `negativeColor` is equivalent to applying a zone
  70303. * with value of 0.
  70304. */
  70305. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  70306. /**
  70307. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  70308. * and dataLabels.
  70309. */
  70310. opacity?: number;
  70311. /**
  70312. * (Highcharts, Highstock) Properties for each single point.
  70313. */
  70314. point?: PlotSeriesPointOptions;
  70315. /**
  70316. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  70317. * but for an individual series. Overrides the chart wide configuration.
  70318. */
  70319. pointDescriptionFormatter?: Function;
  70320. /**
  70321. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  70322. * a series, `pointInterval` defines the interval of the x values. For
  70323. * example, if a series contains one value every decade starting from year
  70324. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  70325. * `pointInterval` is set in milliseconds.
  70326. *
  70327. * It can be also be combined with `pointIntervalUnit` to draw irregular
  70328. * time intervals.
  70329. *
  70330. * Please note that this options applies to the _series data_, not the
  70331. * interval of the axis ticks, which is independent.
  70332. */
  70333. pointInterval?: number;
  70334. /**
  70335. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  70336. * setting the pointInterval to irregular time units, `day`, `month` and
  70337. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  70338. * also takes the DST crossover into consideration when dealing with local
  70339. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  70340. * months, 10 years etc.
  70341. *
  70342. * Please note that this options applies to the _series data_, not the
  70343. * interval of the axis ticks, which is independent.
  70344. */
  70345. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  70346. /**
  70347. * (Highstock) The width of each point on the x axis. For example in a
  70348. * column chart with one value each day, the pointRange would be 1 day (= 24
  70349. * * 3600
  70350. *
  70351. * * 1000 milliseconds). This is normally computed automatically, but this
  70352. * option can be used to override the automatic value.
  70353. */
  70354. pointRange?: number;
  70355. /**
  70356. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  70357. * a series, pointStart defines on what value to start. For example, if a
  70358. * series contains one yearly value starting from 1945, set pointStart to
  70359. * 1945.
  70360. */
  70361. pointStart?: number;
  70362. /**
  70363. * (Highcharts, Highstock) Whether to select the series initially. If
  70364. * `showCheckbox` is true, the checkbox next to the series name in the
  70365. * legend will be checked for a selected series.
  70366. */
  70367. selected?: boolean;
  70368. /**
  70369. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  70370. * legend item to allow selecting the series. The state of the checkbox is
  70371. * determined by the `selected` option.
  70372. */
  70373. showCheckbox?: boolean;
  70374. /**
  70375. * (Highcharts, Highstock) Whether to display this particular series or
  70376. * series type in the legend. Standalone series are shown in legend by
  70377. * default, and linked series are not. Since v7.2.0 it is possible to show
  70378. * series that use colorAxis by setting this option to `true`.
  70379. */
  70380. showInLegend?: boolean;
  70381. /**
  70382. * (Highstock) Whether or not to show the series in the navigator. Takes
  70383. * precedence over navigator.baseSeries if defined.
  70384. */
  70385. showInNavigator?: boolean;
  70386. /**
  70387. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  70388. * skip past the points in this series for keyboard navigation.
  70389. */
  70390. skipKeyboardNavigation?: boolean;
  70391. /**
  70392. * (Highcharts, Highstock) Whether to stack the values of each series on top
  70393. * of each other. Possible values are `undefined` to disable, `"normal"` to
  70394. * stack by value or `"percent"`.
  70395. *
  70396. * When stacking is enabled, data must be sorted in ascending X order.
  70397. *
  70398. * Some stacking options are related to specific series types. In the
  70399. * streamgraph series type, the stacking option is set to `"stream"`. The
  70400. * second one is `"overlap"`, which only applies to waterfall series.
  70401. */
  70402. stacking?: OptionsStackingValue;
  70403. states?: SeriesStatesOptionsObject;
  70404. /**
  70405. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  70406. * values are `left`, `center` and `right`.
  70407. */
  70408. step?: OptionsStepValue;
  70409. /**
  70410. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  70411. * `mouseOut` event on a series isn't triggered until the mouse moves over
  70412. * another series, or out of the plot area. When false, the `mouseOut` event
  70413. * on a series is triggered when the mouse leaves the area around the
  70414. * series' graph or markers. This also implies the tooltip. When
  70415. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  70416. * be hidden when moving the mouse between series.
  70417. */
  70418. stickyTracking?: boolean;
  70419. /**
  70420. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  70421. * of each single series. Properties are inherited from tooltip. Overridable
  70422. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  70423. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  70424. * series.name by default shows in the headerFormat and point.x and point.y
  70425. * in the pointFormat.
  70426. */
  70427. tooltip?: SeriesTooltipOptionsObject;
  70428. trackByArea?: boolean;
  70429. /**
  70430. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  70431. * is longer than this, only one dimensional arrays of numbers, or two
  70432. * dimensional arrays with x and y values are allowed. Also, only the first
  70433. * point is tested, and the rest are assumed to be the same format. This
  70434. * saves expensive data checking and indexing in long series. Set it to `0`
  70435. * disable.
  70436. *
  70437. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  70438. * two dimensional arrays are allowed.
  70439. */
  70440. turboThreshold?: number;
  70441. /**
  70442. * (Highcharts, Highstock) Set the initial visibility of the series.
  70443. */
  70444. visible?: boolean;
  70445. /**
  70446. * (Highmaps) Define the z index of the series.
  70447. */
  70448. zIndex?: number;
  70449. /**
  70450. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  70451. */
  70452. zoneAxis?: string;
  70453. /**
  70454. * (Highcharts, Highstock) An array defining zones within a series. Zones
  70455. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  70456. * the `zoneAxis` option. The zone definitions have to be in ascending order
  70457. * regarding to the value.
  70458. *
  70459. * In styled mode, the color zones are styled with the
  70460. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  70461. * option (view live demo).
  70462. */
  70463. zones?: Array<SeriesZonesOptionsObject>;
  70464. }
  70465. /**
  70466. * (Highstock) Enable or disable the initial animation when a series is
  70467. * displayed. The animation can also be set as a configuration object. Please
  70468. * note that this option only applies to the initial animation of the series
  70469. * itself. For other animations, see chart.animation and the animation parameter
  70470. * under the API methods. The following properties are supported:
  70471. *
  70472. * - `defer`: The animation delay time in milliseconds.
  70473. *
  70474. * - `duration`: The duration of the animation in milliseconds.
  70475. *
  70476. * - `easing`: Can be a string reference to an easing function set on the `Math`
  70477. * object or a function. See the _Custom easing function_ demo below.
  70478. *
  70479. * Due to poor performance, animation is disabled in old IE browsers for several
  70480. * chart types.
  70481. */
  70482. export interface PlotPpoAnimationOptions {
  70483. defer?: number;
  70484. }
  70485. /**
  70486. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  70487. * animation when a series is displayed for the `dataLabels`. The animation can
  70488. * also be set as a configuration object. Please note that this option only
  70489. * applies to the initial animation. For other animations, see chart.animation
  70490. * and the animation parameter under the API methods. The following properties
  70491. * are supported:
  70492. *
  70493. * - `defer`: The animation delay time in milliseconds.
  70494. */
  70495. export interface PlotPpoDataLabelsAnimationOptions {
  70496. /**
  70497. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  70498. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  70499. * inherits defer time from the series.animation.defer.
  70500. */
  70501. defer?: number;
  70502. }
  70503. /**
  70504. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  70505. * appearing next to each data point.
  70506. *
  70507. * Since v6.2.0, multiple data labels can be applied to each single point by
  70508. * defining them as an array of configs.
  70509. *
  70510. * In styled mode, the data labels can be styled with the
  70511. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  70512. * example).
  70513. */
  70514. export interface PlotPpoDataLabelsOptions {
  70515. /**
  70516. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  70517. * compared to the point. If `right`, the right side of the label should be
  70518. * touching the point. For points with an extent, like columns, the
  70519. * alignments also dictates how to align it inside the box, as given with
  70520. * the inside option. Can be one of `left`, `center` or `right`.
  70521. */
  70522. align?: (AlignValue|null);
  70523. /**
  70524. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  70525. * overlap. To make the labels less sensitive for overlapping, the
  70526. * dataLabels.padding can be set to 0.
  70527. */
  70528. allowOverlap?: boolean;
  70529. /**
  70530. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  70531. * animation when a series is displayed for the `dataLabels`. The animation
  70532. * can also be set as a configuration object. Please note that this option
  70533. * only applies to the initial animation. For other animations, see
  70534. * chart.animation and the animation parameter under the API methods. The
  70535. * following properties are supported:
  70536. *
  70537. * - `defer`: The animation delay time in milliseconds.
  70538. */
  70539. animation?: (boolean|PlotPpoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  70540. /**
  70541. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  70542. * for the data label.
  70543. */
  70544. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  70545. /**
  70546. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  70547. * label. Defaults to `undefined`.
  70548. */
  70549. borderColor?: (ColorString|GradientColorObject|PatternObject);
  70550. /**
  70551. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  70552. * the data label.
  70553. */
  70554. borderRadius?: number;
  70555. /**
  70556. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  70557. * the data label.
  70558. */
  70559. borderWidth?: number;
  70560. /**
  70561. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  70562. * Particularly in styled mode, this can be used to give each series' or
  70563. * point's data label unique styling. In addition to this option, a default
  70564. * color class name is added so that we can give the labels a contrast text
  70565. * shadow.
  70566. */
  70567. className?: string;
  70568. /**
  70569. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  70570. * labels. Defaults to `undefined`. For certain series types, like column or
  70571. * map, the data labels can be drawn inside the points. In this case the
  70572. * data label will be drawn with maximum contrast by default. Additionally,
  70573. * it will be given a `text-outline` style with the opposite color, to
  70574. * further increase the contrast. This can be overridden by setting the
  70575. * `text-outline` style to `none` in the `dataLabels.style` option.
  70576. */
  70577. color?: (ColorString|GradientColorObject|PatternObject);
  70578. /**
  70579. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  70580. * are outside the plot area. By default, the data label is moved inside the
  70581. * plot area according to the overflow option.
  70582. */
  70583. crop?: boolean;
  70584. /**
  70585. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  70586. * labels until the initial series animation has finished. Setting to
  70587. * `false` renders the data label immediately. If set to `true` inherits the
  70588. * defer time set in plotOptions.series.animation.
  70589. */
  70590. defer?: boolean;
  70591. /**
  70592. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  70593. * labels.
  70594. */
  70595. enabled?: boolean;
  70596. /**
  70597. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  70598. * of which data labels to display. The declarative filter is designed for
  70599. * use when callback functions are not available, like when the chart
  70600. * options require a pure JSON structure or for use with graphical editors.
  70601. * For programmatic control, use the `formatter` instead, and return
  70602. * `undefined` to disable a single data label.
  70603. */
  70604. filter?: DataLabelsFilterOptionsObject;
  70605. /**
  70606. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  70607. * label. Available variables are the same as for `formatter`.
  70608. */
  70609. format?: string;
  70610. /**
  70611. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  70612. * format the data label. Note that if a `format` is defined, the format
  70613. * takes precedence and the formatter is ignored.
  70614. */
  70615. formatter?: DataLabelsFormatterCallbackFunction;
  70616. /**
  70617. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  70618. * columns or map areas, whether to align the data label inside the box or
  70619. * to the actual value point. Defaults to `false` in most cases, `true` in
  70620. * stacked columns.
  70621. */
  70622. inside?: boolean;
  70623. /**
  70624. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  70625. * of null. Works analogously to format. `nullFormat` can be applied only to
  70626. * series which support displaying null points.
  70627. */
  70628. nullFormat?: (boolean|string);
  70629. /**
  70630. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  70631. * that defines formatting for points with the value of null. Works
  70632. * analogously to formatter. `nullPointFormatter` can be applied only to
  70633. * series which support displaying null points.
  70634. */
  70635. nullFormatter?: DataLabelsFormatterCallbackFunction;
  70636. /**
  70637. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  70638. * flow outside the plot area. The default is `"justify"`, which aligns them
  70639. * inside the plot area. For columns and bars, this means it will be moved
  70640. * inside the bar. To display data labels outside the plot area, set `crop`
  70641. * to `false` and `overflow` to `"allow"`.
  70642. */
  70643. overflow?: DataLabelsOverflowValue;
  70644. /**
  70645. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  70646. * the `backgroundColor` is set, this is the padding within the box.
  70647. */
  70648. padding?: number;
  70649. /**
  70650. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  70651. * points. If `center` alignment is not possible, it defaults to `right`.
  70652. */
  70653. position?: AlignValue;
  70654. /**
  70655. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  70656. * that due to a more complex structure, backgrounds, borders and padding
  70657. * will be lost on a rotated data label.
  70658. */
  70659. rotation?: number;
  70660. /**
  70661. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  70662. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  70663. * an object configuration containing `color`, `offsetX`, `offsetY`,
  70664. * `opacity` and `width`.
  70665. */
  70666. shadow?: (boolean|ShadowOptionsObject);
  70667. /**
  70668. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  70669. * the border around the label. Symbols are predefined functions on the
  70670. * Renderer object.
  70671. */
  70672. shape?: string;
  70673. /**
  70674. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  70675. * default `color` setting is `"contrast"`, which is a pseudo color that
  70676. * Highcharts picks up and applies the maximum contrast to the underlying
  70677. * point item, for example the bar in a bar chart.
  70678. *
  70679. * The `textOutline` is a pseudo property that applies an outline of the
  70680. * given width with the given color, which by default is the maximum
  70681. * contrast to the text. So a bright text color will result in a black text
  70682. * outline for maximum readability on a mixed background. In some cases,
  70683. * especially with grayscale text, the text outline doesn't work well, in
  70684. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  70685. * is true, the `textOutline` will not be picked up. In this, case, the same
  70686. * effect can be acheived through the `text-shadow` CSS property.
  70687. *
  70688. * For some series types, where each point has an extent, like for example
  70689. * tree maps, the data label may overflow the point. There are two
  70690. * strategies for handling overflow. By default, the text will wrap to
  70691. * multiple lines. The other strategy is to set `style.textOverflow` to
  70692. * `ellipsis`, which will keep the text on one line plus it will break
  70693. * inside long words.
  70694. */
  70695. style?: CSSObject;
  70696. /**
  70697. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  70698. * should follow marker's shape. Border and background are disabled for a
  70699. * label that follows a path.
  70700. *
  70701. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  70702. * to true will disable this option.
  70703. */
  70704. textPath?: DataLabelsTextPathOptionsObject;
  70705. /**
  70706. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  70707. * the labels.
  70708. */
  70709. useHTML?: boolean;
  70710. /**
  70711. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  70712. * label. Can be one of `top`, `middle` or `bottom`. The default value
  70713. * depends on the data, for instance in a column chart, the label is above
  70714. * positive values and below negative values.
  70715. */
  70716. verticalAlign?: (VerticalAlignValue|null);
  70717. /**
  70718. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  70719. * label relative to the point in pixels.
  70720. */
  70721. x?: number;
  70722. /**
  70723. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  70724. * label relative to the point in pixels.
  70725. */
  70726. y?: number;
  70727. /**
  70728. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  70729. * The default Z index puts it above the series. Use a Z index of 2 to
  70730. * display it behind the series.
  70731. */
  70732. z?: number;
  70733. }
  70734. /**
  70735. * (Highcharts, Highstock) Options for the series data sorting.
  70736. */
  70737. export interface PlotPpoDataSortingOptions {
  70738. /**
  70739. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  70740. * Use xAxis.reversed to change the sorting order.
  70741. */
  70742. enabled?: boolean;
  70743. /**
  70744. * (Highcharts, Highstock) Whether to allow matching points by name in an
  70745. * update. If this option is disabled, points will be matched by order.
  70746. */
  70747. matchByName?: boolean;
  70748. /**
  70749. * (Highcharts, Highstock) Determines what data value should be used to sort
  70750. * by.
  70751. */
  70752. sortKey?: string;
  70753. }
  70754. /**
  70755. * (Highstock) Percentage Price Oscillator. This series requires the `linkedTo`
  70756. * option to be set and should be loaded after the
  70757. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  70758. *
  70759. * In TypeScript the type option must always be set.
  70760. *
  70761. * Configuration options for the series are given in three levels:
  70762. *
  70763. * 1. Options for all series in a chart are defined in the plotOptions.series
  70764. * object.
  70765. *
  70766. * 2. Options for all `ppo` series are defined in plotOptions.ppo.
  70767. *
  70768. * 3. Options for one single series are given in the series instance array. (see
  70769. * online documentation for example)
  70770. */
  70771. export interface PlotPpoOptions {
  70772. /**
  70773. * (Highstock) Accessibility options for a series.
  70774. */
  70775. accessibility?: SeriesAccessibilityOptionsObject;
  70776. /**
  70777. * (Highstock) Allow this series' points to be selected by clicking on the
  70778. * graphic (columns, point markers, pie slices, map areas etc).
  70779. *
  70780. * The selected points can be handled by point select and unselect events,
  70781. * or collectively by the getSelectedPoints function.
  70782. *
  70783. * And alternative way of selecting points is through dragging.
  70784. */
  70785. allowPointSelect?: boolean;
  70786. /**
  70787. * (Highstock) Enable or disable the initial animation when a series is
  70788. * displayed. The animation can also be set as a configuration object.
  70789. * Please note that this option only applies to the initial animation of the
  70790. * series itself. For other animations, see chart.animation and the
  70791. * animation parameter under the API methods. The following properties are
  70792. * supported:
  70793. *
  70794. * - `defer`: The animation delay time in milliseconds.
  70795. *
  70796. * - `duration`: The duration of the animation in milliseconds.
  70797. *
  70798. * - `easing`: Can be a string reference to an easing function set on the
  70799. * `Math` object or a function. See the _Custom easing function_ demo below.
  70800. *
  70801. * Due to poor performance, animation is disabled in old IE browsers for
  70802. * several chart types.
  70803. */
  70804. animation?: (boolean|PlotPpoAnimationOptions|Partial<AnimationOptionsObject>);
  70805. /**
  70806. * (Highstock) For some series, there is a limit that shuts down initial
  70807. * animation by default when the total number of points in the chart is too
  70808. * high. For example, for a column chart and its derivatives, animation does
  70809. * not run if there is more than 250 points totally. To disable this cap,
  70810. * set `animationLimit` to `Infinity`.
  70811. */
  70812. animationLimit?: number;
  70813. /**
  70814. * (Highstock) Sets the color blending in the boost module.
  70815. */
  70816. boostBlending?: OptionsBoostBlendingValue;
  70817. /**
  70818. * (Highstock) Set the point threshold for when a series should enter boost
  70819. * mode.
  70820. *
  70821. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  70822. * there are 2000 or more points in the series.
  70823. *
  70824. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  70825. * it to 1 will force boosting.
  70826. *
  70827. * Note that the cropThreshold also affects this setting. When zooming in on
  70828. * a series that has fewer points than the `cropThreshold`, all points are
  70829. * rendered although outside the visible plot area, and the `boostThreshold`
  70830. * won't take effect.
  70831. */
  70832. boostThreshold?: number;
  70833. /**
  70834. * (Highmaps) The border color of the map areas.
  70835. *
  70836. * In styled mode, the border stroke is given in the `.highcharts-point`
  70837. * class.
  70838. */
  70839. borderColor?: (ColorString|GradientColorObject|PatternObject);
  70840. /**
  70841. * (Highmaps) The border width of each map area.
  70842. *
  70843. * In styled mode, the border stroke width is given in the
  70844. * `.highcharts-point` class.
  70845. */
  70846. borderWidth?: number;
  70847. /**
  70848. * (Highstock) An additional class name to apply to the series' graphical
  70849. * elements. This option does not replace default class names of the
  70850. * graphical element.
  70851. */
  70852. className?: string;
  70853. /**
  70854. * (Highstock) Disable this option to allow series rendering in the whole
  70855. * plotting area.
  70856. *
  70857. * **Note:** Clipping should be always enabled when chart.zoomType is set
  70858. */
  70859. clip?: boolean;
  70860. /**
  70861. * (Highstock) The main color of the series. In line type series it applies
  70862. * to the line and the point markers unless otherwise specified. In bar type
  70863. * series it applies to the bars unless a color is specified per point. The
  70864. * default value is pulled from the `options.colors` array.
  70865. *
  70866. * In styled mode, the color can be defined by the colorIndex option. Also,
  70867. * the series color can be set with the `.highcharts-series`,
  70868. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  70869. * `.highcharts-series-{n}` class, or individual classes given by the
  70870. * `className` option.
  70871. */
  70872. color?: (ColorString|GradientColorObject|PatternObject);
  70873. /**
  70874. * (Highstock) Styled mode only. A specific color index to use for the
  70875. * series, so its graphic representations are given the class name
  70876. * `highcharts-color-{n}`.
  70877. */
  70878. colorIndex?: number;
  70879. /**
  70880. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  70881. * used to calculate point color if `colorAxis` is used. Requires to set
  70882. * `min` and `max` if some custom point property is used or if approximation
  70883. * for data grouping is set to `'sum'`.
  70884. */
  70885. colorKey?: string;
  70886. /**
  70887. * (Highstock) Compare the values of the series against the first non-null,
  70888. * non- zero value in the visible range. The y axis will show percentage or
  70889. * absolute change depending on whether `compare` is set to `"percent"` or
  70890. * `"value"`. When this is applied to multiple series, it allows comparing
  70891. * the development of the series against each other. Adds a `change` field
  70892. * to every point object.
  70893. */
  70894. compare?: string;
  70895. /**
  70896. * (Highstock) When compare is `percent`, this option dictates whether to
  70897. * use 0 or 100 as the base of comparison.
  70898. */
  70899. compareBase?: (0|100);
  70900. /**
  70901. * (Highstock) Defines if comparison should start from the first point
  70902. * within the visible range or should start from the first point **before**
  70903. * the range.
  70904. *
  70905. * In other words, this flag determines if first point within the visible
  70906. * range will have 0% (`compareStart=true`) or should have been already
  70907. * calculated according to the previous point (`compareStart=false`).
  70908. */
  70909. compareStart?: boolean;
  70910. /**
  70911. * (Highstock) Whether to compare indicator to the main series values or
  70912. * indicator values.
  70913. */
  70914. compareToMain?: boolean;
  70915. /**
  70916. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  70917. * series plot across the extremes.
  70918. */
  70919. connectEnds?: boolean;
  70920. /**
  70921. * (Highcharts, Highstock) Whether to connect a graph line across null
  70922. * points, or render a gap between the two points on either side of the
  70923. * null.
  70924. */
  70925. connectNulls?: boolean;
  70926. /**
  70927. * (Gantt) Override Pathfinder connector options for a series. Requires
  70928. * Highcharts Gantt to be loaded.
  70929. */
  70930. connectors?: SeriesConnectorsOptionsObject;
  70931. /**
  70932. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  70933. * rounded to its nearest pixel in order to render sharp on screen. In some
  70934. * cases, when there are a lot of densely packed columns, this leads to
  70935. * visible difference in column widths or distance between columns. In these
  70936. * cases, setting `crisp` to `false` may look better, even though each
  70937. * column is rendered blurry.
  70938. */
  70939. crisp?: boolean;
  70940. /**
  70941. * (Highcharts, Highstock) When the series contains less points than the
  70942. * crop threshold, all points are drawn, even if the points fall outside the
  70943. * visible plot area at the current zoom. The advantage of drawing all
  70944. * points (including markers and columns), is that animation is performed on
  70945. * updates. On the other hand, when the series contains more points than the
  70946. * crop threshold, the series data is cropped to only contain points that
  70947. * fall within the plot area. The advantage of cropping away invisible
  70948. * points is to increase performance on large series.
  70949. */
  70950. cropThreshold?: number;
  70951. /**
  70952. * (Highstock) You can set the cursor to "pointer" if you have click events
  70953. * attached to the series, to signal to the user that the points and lines
  70954. * can be clicked.
  70955. *
  70956. * In styled mode, the series cursor can be set with the same classes as
  70957. * listed under series.color.
  70958. */
  70959. cursor?: (string|CursorValue);
  70960. /**
  70961. * (Highstock) A reserved subspace to store options and values for
  70962. * customized functionality. Here you can add additional data for your own
  70963. * event callbacks and formatter callbacks.
  70964. */
  70965. custom?: Dictionary<any>;
  70966. /**
  70967. * (Highstock) Name of the dash style to use for the graph, or for some
  70968. * series types the outline of each shape.
  70969. *
  70970. * In styled mode, the stroke dash-array can be set with the same classes as
  70971. * listed under series.color.
  70972. */
  70973. dashStyle?: DashStyleValue;
  70974. /**
  70975. * (Highstock) Data grouping is the concept of sampling the data values into
  70976. * larger blocks in order to ease readability and increase performance of
  70977. * the JavaScript charts. Highstock by default applies data grouping when
  70978. * the points become closer than a certain pixel value, determined by the
  70979. * `groupPixelWidth` option.
  70980. *
  70981. * If data grouping is applied, the grouping information of grouped points
  70982. * can be read from the Point.dataGroup. If point options other than the
  70983. * data itself are set, for example `name` or `color` or custom properties,
  70984. * the grouping logic doesn't know how to group it. In this case the options
  70985. * of the first point instance are copied over to the group point. This can
  70986. * be altered through a custom `approximation` callback function.
  70987. */
  70988. dataGrouping?: DataGroupingOptionsObject;
  70989. /**
  70990. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  70991. * labels, appearing next to each data point.
  70992. *
  70993. * Since v6.2.0, multiple data labels can be applied to each single point by
  70994. * defining them as an array of configs.
  70995. *
  70996. * In styled mode, the data labels can be styled with the
  70997. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  70998. * (see example).
  70999. */
  71000. dataLabels?: (PlotPpoDataLabelsOptions|Array<PlotPpoDataLabelsOptions>);
  71001. /**
  71002. * (Highcharts, Highstock) Options for the series data sorting.
  71003. */
  71004. dataSorting?: (DataSortingOptionsObject|PlotPpoDataSortingOptions);
  71005. /**
  71006. * (Highstock) A description of the series to add to the screen reader
  71007. * information about the series.
  71008. */
  71009. description?: string;
  71010. /**
  71011. * (Highstock) Enable or disable the mouse tracking for a specific series.
  71012. * This includes point tooltips and click events on graphs and points. For
  71013. * large datasets it improves performance.
  71014. */
  71015. enableMouseTracking?: boolean;
  71016. /**
  71017. * (Highstock) General event handlers for the series items. These event
  71018. * hooks can also be attached to the series at run time using the
  71019. * `Highcharts.addEvent` function.
  71020. */
  71021. events?: SeriesEventsOptionsObject;
  71022. /**
  71023. * (Highstock) Determines whether the series should look for the nearest
  71024. * point in both dimensions or just the x-dimension when hovering the
  71025. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  71026. * series. If the data has duplicate x-values, it is recommended to set this
  71027. * to `'xy'` to allow hovering over all points.
  71028. *
  71029. * Applies only to series types using nearest neighbor search (not direct
  71030. * hover) for tooltip.
  71031. */
  71032. findNearestPointBy?: OptionsFindNearestPointByValue;
  71033. /**
  71034. * (Highstock) Defines when to display a gap in the graph, together with the
  71035. * gapUnit option.
  71036. *
  71037. * In case when `dataGrouping` is enabled, points can be grouped into a
  71038. * larger time span. This can make the grouped points to have a greater
  71039. * distance than the absolute value of `gapSize` property, which will result
  71040. * in disappearing graph completely. To prevent this situation the mentioned
  71041. * distance between grouped points is used instead of previously defined
  71042. * `gapSize`.
  71043. *
  71044. * In practice, this option is most often used to visualize gaps in time
  71045. * series. In a stock chart, intraday data is available for daytime hours,
  71046. * while gaps will appear in nights and weekends.
  71047. */
  71048. gapSize?: number;
  71049. /**
  71050. * (Highstock) Together with gapSize, this option defines where to draw gaps
  71051. * in the graph.
  71052. *
  71053. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  71054. * if the distance between two points is greater than 5 times that of the
  71055. * two closest points, the graph will be broken.
  71056. *
  71057. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  71058. * values, which on a datetime axis is milliseconds. This also applies to
  71059. * the navigator series that inherits gap options from the base series.
  71060. */
  71061. gapUnit?: OptionsGapUnitValue;
  71062. /**
  71063. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  71064. * chart width or only the zoomed area when zooming in on parts of the X
  71065. * axis. By default, the Y axis adjusts to the min and max of the visible
  71066. * data. Cartesian series only.
  71067. */
  71068. getExtremesFromAll?: boolean;
  71069. /**
  71070. * (Highstock) When set to `false` will prevent the series data from being
  71071. * included in any form of data export.
  71072. *
  71073. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  71074. * `includeInCSVExport`.
  71075. */
  71076. includeInDataExport?: boolean;
  71077. /**
  71078. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  71079. * series as possible in a natural way, seeking to avoid other series. The
  71080. * goal of this feature is to make the chart more easily readable, like if a
  71081. * human designer placed the labels in the optimal position.
  71082. *
  71083. * The series labels currently work with series types having a `graph` or an
  71084. * `area`.
  71085. */
  71086. label?: SeriesLabelOptionsObject;
  71087. /**
  71088. * (Highstock) The line marks the last price from all points.
  71089. */
  71090. lastPrice?: SeriesLastPriceOptionsObject;
  71091. /**
  71092. * (Highstock) The line marks the last price from visible range of points.
  71093. */
  71094. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  71095. /**
  71096. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  71097. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  71098. * the ends and bends.
  71099. */
  71100. linecap?: SeriesLinecapValue;
  71101. /**
  71102. * (Highcharts, Highstock) Pixel width of the graph line.
  71103. */
  71104. lineWidth?: number;
  71105. /**
  71106. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  71107. * based on. Required for this indicator.
  71108. */
  71109. linkedTo?: string;
  71110. /**
  71111. * (Highstock) Options for the point markers of line-like series. Properties
  71112. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  71113. * appearance of the markers. Other series types, like column series, don't
  71114. * have markers, but have visual options on the series level instead.
  71115. *
  71116. * In styled mode, the markers can be styled with the `.highcharts-point`,
  71117. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  71118. */
  71119. marker?: PointMarkerOptionsObject;
  71120. /**
  71121. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  71122. * If not set, it will be based on a technical indicator type and default
  71123. * params.
  71124. */
  71125. name?: string;
  71126. /**
  71127. * (Highstock) The color for the parts of the graph or points that are below
  71128. * the threshold. Note that `zones` takes precedence over the negative
  71129. * color. Using `negativeColor` is equivalent to applying a zone with value
  71130. * of 0.
  71131. */
  71132. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  71133. /**
  71134. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  71135. * dataLabels.
  71136. */
  71137. opacity?: number;
  71138. /**
  71139. * (Highstock) Paramters used in calculation of Percentage Price Oscillator
  71140. * series points.
  71141. */
  71142. params?: PlotPpoParamsOptions;
  71143. /**
  71144. * (Highstock) Properties for each single point.
  71145. */
  71146. point?: PlotSeriesPointOptions;
  71147. /**
  71148. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  71149. * individual series. Overrides the chart wide configuration.
  71150. */
  71151. pointDescriptionFormatter?: Function;
  71152. /**
  71153. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  71154. * true, the checkbox next to the series name in the legend will be checked
  71155. * for a selected series.
  71156. */
  71157. selected?: boolean;
  71158. /**
  71159. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  71160. * the shadow can be an object configuration containing `color`, `offsetX`,
  71161. * `offsetY`, `opacity` and `width`.
  71162. */
  71163. shadow?: (boolean|ShadowOptionsObject);
  71164. /**
  71165. * (Highstock) If true, a checkbox is displayed next to the legend item to
  71166. * allow selecting the series. The state of the checkbox is determined by
  71167. * the `selected` option.
  71168. */
  71169. showCheckbox?: boolean;
  71170. /**
  71171. * (Highstock) Whether to display this particular series or series type in
  71172. * the legend. Standalone series are shown in legend by default, and linked
  71173. * series are not. Since v7.2.0 it is possible to show series that use
  71174. * colorAxis by setting this option to `true`.
  71175. */
  71176. showInLegend?: boolean;
  71177. /**
  71178. * (Highstock) If set to `true`, the accessibility module will skip past the
  71179. * points in this series for keyboard navigation.
  71180. */
  71181. skipKeyboardNavigation?: boolean;
  71182. /**
  71183. * (Highcharts, Highstock) When this is true, the series will not cause the
  71184. * Y axis to cross the zero plane (or threshold option) unless the data
  71185. * actually crosses the plane.
  71186. *
  71187. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  71188. * make the Y axis show negative values according to the `minPadding`
  71189. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  71190. */
  71191. softThreshold?: boolean;
  71192. states?: SeriesStatesOptionsObject;
  71193. /**
  71194. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  71195. * values are `left`, `center` and `right`.
  71196. */
  71197. step?: OptionsStepValue;
  71198. /**
  71199. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  71200. * event on a series isn't triggered until the mouse moves over another
  71201. * series, or out of the plot area. When false, the `mouseOut` event on a
  71202. * series is triggered when the mouse leaves the area around the series'
  71203. * graph or markers. This also implies the tooltip when not shared. When
  71204. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  71205. * be hidden when moving the mouse between series. Defaults to true for line
  71206. * and area type series, but to false for columns, pies etc.
  71207. *
  71208. * **Note:** The boost module will force this option because of technical
  71209. * limitations.
  71210. */
  71211. stickyTracking?: boolean;
  71212. /**
  71213. * (Highcharts, Highstock) The threshold, also called zero level or base
  71214. * level. For line type series this is only used in conjunction with
  71215. * negativeColor.
  71216. */
  71217. threshold?: number;
  71218. /**
  71219. * (Highstock) A configuration object for the tooltip rendering of each
  71220. * single series. Properties are inherited from tooltip, but only the
  71221. * following properties can be defined on a series level.
  71222. */
  71223. tooltip?: SeriesTooltipOptionsObject;
  71224. /**
  71225. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  71226. * is longer than this, only one dimensional arrays of numbers, or two
  71227. * dimensional arrays with x and y values are allowed. Also, only the first
  71228. * point is tested, and the rest are assumed to be the same format. This
  71229. * saves expensive data checking and indexing in long series. Set it to `0`
  71230. * disable.
  71231. *
  71232. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  71233. * two dimensional arrays are allowed.
  71234. */
  71235. turboThreshold?: number;
  71236. /**
  71237. * (Highstock) Set the initial visibility of the series.
  71238. */
  71239. visible?: boolean;
  71240. /**
  71241. * (Highmaps) Define the z index of the series.
  71242. */
  71243. zIndex?: number;
  71244. /**
  71245. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  71246. */
  71247. zoneAxis?: string;
  71248. /**
  71249. * (Highcharts, Highstock) An array defining zones within a series. Zones
  71250. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  71251. * the `zoneAxis` option. The zone definitions have to be in ascending order
  71252. * regarding to the value.
  71253. *
  71254. * In styled mode, the color zones are styled with the
  71255. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  71256. * option (view live demo).
  71257. */
  71258. zones?: Array<SeriesZonesOptionsObject>;
  71259. }
  71260. /**
  71261. * (Highstock) Paramters used in calculation of Percentage Price Oscillator
  71262. * series points.
  71263. */
  71264. export interface PlotPpoParamsOptions {
  71265. /**
  71266. * (Highstock) The point index which indicator calculations will base. For
  71267. * example using OHLC data, index=2 means the indicator will be calculated
  71268. * using Low values.
  71269. *
  71270. * By default index value used to be set to 0. Since Highstock 7 by default
  71271. * index is set to 3 which means that the ema indicator will be calculated
  71272. * using Close values.
  71273. */
  71274. index?: number;
  71275. /**
  71276. * (Highstock) Periods for Percentage Price Oscillator calculations.
  71277. */
  71278. periods?: Array<number>;
  71279. }
  71280. /**
  71281. * (Highstock) Enable or disable the initial animation when a series is
  71282. * displayed. The animation can also be set as a configuration object. Please
  71283. * note that this option only applies to the initial animation of the series
  71284. * itself. For other animations, see chart.animation and the animation parameter
  71285. * under the API methods. The following properties are supported:
  71286. *
  71287. * - `defer`: The animation delay time in milliseconds.
  71288. *
  71289. * - `duration`: The duration of the animation in milliseconds.
  71290. *
  71291. * - `easing`: Can be a string reference to an easing function set on the `Math`
  71292. * object or a function. See the _Custom easing function_ demo below.
  71293. *
  71294. * Due to poor performance, animation is disabled in old IE browsers for several
  71295. * chart types.
  71296. */
  71297. export interface PlotPriceenvelopesAnimationOptions {
  71298. defer?: number;
  71299. }
  71300. /**
  71301. * (Highstock) Bottom line options.
  71302. */
  71303. export interface PlotPriceenvelopesBottomLineOptions {
  71304. styles?: PlotPriceenvelopesBottomLineStylesOptions;
  71305. }
  71306. export interface PlotPriceenvelopesBottomLineStylesOptions {
  71307. /**
  71308. * (Highstock) Color of the line. If not set, it's inherited from
  71309. * plotOptions.priceenvelopes.color.
  71310. */
  71311. lineColor?: ColorString;
  71312. /**
  71313. * (Highstock) Pixel width of the line.
  71314. */
  71315. lineWidth?: number;
  71316. }
  71317. /**
  71318. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  71319. * animation when a series is displayed for the `dataLabels`. The animation can
  71320. * also be set as a configuration object. Please note that this option only
  71321. * applies to the initial animation. For other animations, see chart.animation
  71322. * and the animation parameter under the API methods. The following properties
  71323. * are supported:
  71324. *
  71325. * - `defer`: The animation delay time in milliseconds.
  71326. */
  71327. export interface PlotPriceenvelopesDataLabelsAnimationOptions {
  71328. /**
  71329. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  71330. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  71331. * inherits defer time from the series.animation.defer.
  71332. */
  71333. defer?: number;
  71334. }
  71335. /**
  71336. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  71337. * appearing next to each data point.
  71338. *
  71339. * Since v6.2.0, multiple data labels can be applied to each single point by
  71340. * defining them as an array of configs.
  71341. *
  71342. * In styled mode, the data labels can be styled with the
  71343. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  71344. * example).
  71345. */
  71346. export interface PlotPriceenvelopesDataLabelsOptions {
  71347. /**
  71348. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  71349. * compared to the point. If `right`, the right side of the label should be
  71350. * touching the point. For points with an extent, like columns, the
  71351. * alignments also dictates how to align it inside the box, as given with
  71352. * the inside option. Can be one of `left`, `center` or `right`.
  71353. */
  71354. align?: (AlignValue|null);
  71355. /**
  71356. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  71357. * overlap. To make the labels less sensitive for overlapping, the
  71358. * dataLabels.padding can be set to 0.
  71359. */
  71360. allowOverlap?: boolean;
  71361. /**
  71362. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  71363. * animation when a series is displayed for the `dataLabels`. The animation
  71364. * can also be set as a configuration object. Please note that this option
  71365. * only applies to the initial animation. For other animations, see
  71366. * chart.animation and the animation parameter under the API methods. The
  71367. * following properties are supported:
  71368. *
  71369. * - `defer`: The animation delay time in milliseconds.
  71370. */
  71371. animation?: (boolean|PlotPriceenvelopesDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  71372. /**
  71373. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  71374. * for the data label.
  71375. */
  71376. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  71377. /**
  71378. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  71379. * label. Defaults to `undefined`.
  71380. */
  71381. borderColor?: (ColorString|GradientColorObject|PatternObject);
  71382. /**
  71383. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  71384. * the data label.
  71385. */
  71386. borderRadius?: number;
  71387. /**
  71388. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  71389. * the data label.
  71390. */
  71391. borderWidth?: number;
  71392. /**
  71393. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  71394. * Particularly in styled mode, this can be used to give each series' or
  71395. * point's data label unique styling. In addition to this option, a default
  71396. * color class name is added so that we can give the labels a contrast text
  71397. * shadow.
  71398. */
  71399. className?: string;
  71400. /**
  71401. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  71402. * labels. Defaults to `undefined`. For certain series types, like column or
  71403. * map, the data labels can be drawn inside the points. In this case the
  71404. * data label will be drawn with maximum contrast by default. Additionally,
  71405. * it will be given a `text-outline` style with the opposite color, to
  71406. * further increase the contrast. This can be overridden by setting the
  71407. * `text-outline` style to `none` in the `dataLabels.style` option.
  71408. */
  71409. color?: (ColorString|GradientColorObject|PatternObject);
  71410. /**
  71411. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  71412. * are outside the plot area. By default, the data label is moved inside the
  71413. * plot area according to the overflow option.
  71414. */
  71415. crop?: boolean;
  71416. /**
  71417. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  71418. * labels until the initial series animation has finished. Setting to
  71419. * `false` renders the data label immediately. If set to `true` inherits the
  71420. * defer time set in plotOptions.series.animation.
  71421. */
  71422. defer?: boolean;
  71423. /**
  71424. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  71425. * labels.
  71426. */
  71427. enabled?: boolean;
  71428. /**
  71429. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  71430. * of which data labels to display. The declarative filter is designed for
  71431. * use when callback functions are not available, like when the chart
  71432. * options require a pure JSON structure or for use with graphical editors.
  71433. * For programmatic control, use the `formatter` instead, and return
  71434. * `undefined` to disable a single data label.
  71435. */
  71436. filter?: DataLabelsFilterOptionsObject;
  71437. /**
  71438. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  71439. * label. Available variables are the same as for `formatter`.
  71440. */
  71441. format?: string;
  71442. /**
  71443. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  71444. * format the data label. Note that if a `format` is defined, the format
  71445. * takes precedence and the formatter is ignored.
  71446. */
  71447. formatter?: DataLabelsFormatterCallbackFunction;
  71448. /**
  71449. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  71450. * columns or map areas, whether to align the data label inside the box or
  71451. * to the actual value point. Defaults to `false` in most cases, `true` in
  71452. * stacked columns.
  71453. */
  71454. inside?: boolean;
  71455. /**
  71456. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  71457. * of null. Works analogously to format. `nullFormat` can be applied only to
  71458. * series which support displaying null points.
  71459. */
  71460. nullFormat?: (boolean|string);
  71461. /**
  71462. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  71463. * that defines formatting for points with the value of null. Works
  71464. * analogously to formatter. `nullPointFormatter` can be applied only to
  71465. * series which support displaying null points.
  71466. */
  71467. nullFormatter?: DataLabelsFormatterCallbackFunction;
  71468. /**
  71469. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  71470. * flow outside the plot area. The default is `"justify"`, which aligns them
  71471. * inside the plot area. For columns and bars, this means it will be moved
  71472. * inside the bar. To display data labels outside the plot area, set `crop`
  71473. * to `false` and `overflow` to `"allow"`.
  71474. */
  71475. overflow?: DataLabelsOverflowValue;
  71476. /**
  71477. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  71478. * the `backgroundColor` is set, this is the padding within the box.
  71479. */
  71480. padding?: number;
  71481. /**
  71482. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  71483. * points. If `center` alignment is not possible, it defaults to `right`.
  71484. */
  71485. position?: AlignValue;
  71486. /**
  71487. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  71488. * that due to a more complex structure, backgrounds, borders and padding
  71489. * will be lost on a rotated data label.
  71490. */
  71491. rotation?: number;
  71492. /**
  71493. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  71494. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  71495. * an object configuration containing `color`, `offsetX`, `offsetY`,
  71496. * `opacity` and `width`.
  71497. */
  71498. shadow?: (boolean|ShadowOptionsObject);
  71499. /**
  71500. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  71501. * the border around the label. Symbols are predefined functions on the
  71502. * Renderer object.
  71503. */
  71504. shape?: string;
  71505. /**
  71506. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  71507. * default `color` setting is `"contrast"`, which is a pseudo color that
  71508. * Highcharts picks up and applies the maximum contrast to the underlying
  71509. * point item, for example the bar in a bar chart.
  71510. *
  71511. * The `textOutline` is a pseudo property that applies an outline of the
  71512. * given width with the given color, which by default is the maximum
  71513. * contrast to the text. So a bright text color will result in a black text
  71514. * outline for maximum readability on a mixed background. In some cases,
  71515. * especially with grayscale text, the text outline doesn't work well, in
  71516. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  71517. * is true, the `textOutline` will not be picked up. In this, case, the same
  71518. * effect can be acheived through the `text-shadow` CSS property.
  71519. *
  71520. * For some series types, where each point has an extent, like for example
  71521. * tree maps, the data label may overflow the point. There are two
  71522. * strategies for handling overflow. By default, the text will wrap to
  71523. * multiple lines. The other strategy is to set `style.textOverflow` to
  71524. * `ellipsis`, which will keep the text on one line plus it will break
  71525. * inside long words.
  71526. */
  71527. style?: CSSObject;
  71528. /**
  71529. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  71530. * should follow marker's shape. Border and background are disabled for a
  71531. * label that follows a path.
  71532. *
  71533. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  71534. * to true will disable this option.
  71535. */
  71536. textPath?: DataLabelsTextPathOptionsObject;
  71537. /**
  71538. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  71539. * the labels.
  71540. */
  71541. useHTML?: boolean;
  71542. /**
  71543. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  71544. * label. Can be one of `top`, `middle` or `bottom`. The default value
  71545. * depends on the data, for instance in a column chart, the label is above
  71546. * positive values and below negative values.
  71547. */
  71548. verticalAlign?: (VerticalAlignValue|null);
  71549. /**
  71550. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  71551. * label relative to the point in pixels.
  71552. */
  71553. x?: number;
  71554. /**
  71555. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  71556. * label relative to the point in pixels.
  71557. */
  71558. y?: number;
  71559. /**
  71560. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  71561. * The default Z index puts it above the series. Use a Z index of 2 to
  71562. * display it behind the series.
  71563. */
  71564. z?: number;
  71565. }
  71566. /**
  71567. * (Highcharts, Highstock) Options for the series data sorting.
  71568. */
  71569. export interface PlotPriceenvelopesDataSortingOptions {
  71570. /**
  71571. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  71572. * Use xAxis.reversed to change the sorting order.
  71573. */
  71574. enabled?: boolean;
  71575. /**
  71576. * (Highcharts, Highstock) Whether to allow matching points by name in an
  71577. * update. If this option is disabled, points will be matched by order.
  71578. */
  71579. matchByName?: boolean;
  71580. /**
  71581. * (Highcharts, Highstock) Determines what data value should be used to sort
  71582. * by.
  71583. */
  71584. sortKey?: string;
  71585. }
  71586. /**
  71587. * (Highstock) Price envelopes indicator based on SMA calculations. This series
  71588. * requires the `linkedTo` option to be set and should be loaded after the
  71589. * `stock/indicators/indicators.js` file.
  71590. *
  71591. * In TypeScript the type option must always be set.
  71592. *
  71593. * Configuration options for the series are given in three levels:
  71594. *
  71595. * 1. Options for all series in a chart are defined in the plotOptions.series
  71596. * object.
  71597. *
  71598. * 2. Options for all `priceenvelopes` series are defined in
  71599. * plotOptions.priceenvelopes.
  71600. *
  71601. * 3. Options for one single series are given in the series instance array. (see
  71602. * online documentation for example)
  71603. */
  71604. export interface PlotPriceenvelopesOptions {
  71605. /**
  71606. * (Highstock) Accessibility options for a series.
  71607. */
  71608. accessibility?: SeriesAccessibilityOptionsObject;
  71609. /**
  71610. * (Highstock) Allow this series' points to be selected by clicking on the
  71611. * graphic (columns, point markers, pie slices, map areas etc).
  71612. *
  71613. * The selected points can be handled by point select and unselect events,
  71614. * or collectively by the getSelectedPoints function.
  71615. *
  71616. * And alternative way of selecting points is through dragging.
  71617. */
  71618. allowPointSelect?: boolean;
  71619. /**
  71620. * (Highstock) Enable or disable the initial animation when a series is
  71621. * displayed. The animation can also be set as a configuration object.
  71622. * Please note that this option only applies to the initial animation of the
  71623. * series itself. For other animations, see chart.animation and the
  71624. * animation parameter under the API methods. The following properties are
  71625. * supported:
  71626. *
  71627. * - `defer`: The animation delay time in milliseconds.
  71628. *
  71629. * - `duration`: The duration of the animation in milliseconds.
  71630. *
  71631. * - `easing`: Can be a string reference to an easing function set on the
  71632. * `Math` object or a function. See the _Custom easing function_ demo below.
  71633. *
  71634. * Due to poor performance, animation is disabled in old IE browsers for
  71635. * several chart types.
  71636. */
  71637. animation?: (boolean|PlotPriceenvelopesAnimationOptions|Partial<AnimationOptionsObject>);
  71638. /**
  71639. * (Highstock) For some series, there is a limit that shuts down initial
  71640. * animation by default when the total number of points in the chart is too
  71641. * high. For example, for a column chart and its derivatives, animation does
  71642. * not run if there is more than 250 points totally. To disable this cap,
  71643. * set `animationLimit` to `Infinity`.
  71644. */
  71645. animationLimit?: number;
  71646. /**
  71647. * (Highstock) Sets the color blending in the boost module.
  71648. */
  71649. boostBlending?: OptionsBoostBlendingValue;
  71650. /**
  71651. * (Highstock) Set the point threshold for when a series should enter boost
  71652. * mode.
  71653. *
  71654. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  71655. * there are 2000 or more points in the series.
  71656. *
  71657. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  71658. * it to 1 will force boosting.
  71659. *
  71660. * Note that the cropThreshold also affects this setting. When zooming in on
  71661. * a series that has fewer points than the `cropThreshold`, all points are
  71662. * rendered although outside the visible plot area, and the `boostThreshold`
  71663. * won't take effect.
  71664. */
  71665. boostThreshold?: number;
  71666. /**
  71667. * (Highmaps) The border color of the map areas.
  71668. *
  71669. * In styled mode, the border stroke is given in the `.highcharts-point`
  71670. * class.
  71671. */
  71672. borderColor?: (ColorString|GradientColorObject|PatternObject);
  71673. /**
  71674. * (Highmaps) The border width of each map area.
  71675. *
  71676. * In styled mode, the border stroke width is given in the
  71677. * `.highcharts-point` class.
  71678. */
  71679. borderWidth?: number;
  71680. /**
  71681. * (Highstock) Bottom line options.
  71682. */
  71683. bottomLine?: PlotPriceenvelopesBottomLineOptions;
  71684. /**
  71685. * (Highstock) An additional class name to apply to the series' graphical
  71686. * elements. This option does not replace default class names of the
  71687. * graphical element.
  71688. */
  71689. className?: string;
  71690. /**
  71691. * (Highstock) Disable this option to allow series rendering in the whole
  71692. * plotting area.
  71693. *
  71694. * **Note:** Clipping should be always enabled when chart.zoomType is set
  71695. */
  71696. clip?: boolean;
  71697. /**
  71698. * (Highstock) The main color of the series. In line type series it applies
  71699. * to the line and the point markers unless otherwise specified. In bar type
  71700. * series it applies to the bars unless a color is specified per point. The
  71701. * default value is pulled from the `options.colors` array.
  71702. *
  71703. * In styled mode, the color can be defined by the colorIndex option. Also,
  71704. * the series color can be set with the `.highcharts-series`,
  71705. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  71706. * `.highcharts-series-{n}` class, or individual classes given by the
  71707. * `className` option.
  71708. */
  71709. color?: (ColorString|GradientColorObject|PatternObject);
  71710. /**
  71711. * (Highstock) Styled mode only. A specific color index to use for the
  71712. * series, so its graphic representations are given the class name
  71713. * `highcharts-color-{n}`.
  71714. */
  71715. colorIndex?: number;
  71716. /**
  71717. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  71718. * used to calculate point color if `colorAxis` is used. Requires to set
  71719. * `min` and `max` if some custom point property is used or if approximation
  71720. * for data grouping is set to `'sum'`.
  71721. */
  71722. colorKey?: string;
  71723. /**
  71724. * (Highstock) Compare the values of the series against the first non-null,
  71725. * non- zero value in the visible range. The y axis will show percentage or
  71726. * absolute change depending on whether `compare` is set to `"percent"` or
  71727. * `"value"`. When this is applied to multiple series, it allows comparing
  71728. * the development of the series against each other. Adds a `change` field
  71729. * to every point object.
  71730. */
  71731. compare?: string;
  71732. /**
  71733. * (Highstock) When compare is `percent`, this option dictates whether to
  71734. * use 0 or 100 as the base of comparison.
  71735. */
  71736. compareBase?: (0|100);
  71737. /**
  71738. * (Highstock) Defines if comparison should start from the first point
  71739. * within the visible range or should start from the first point **before**
  71740. * the range.
  71741. *
  71742. * In other words, this flag determines if first point within the visible
  71743. * range will have 0% (`compareStart=true`) or should have been already
  71744. * calculated according to the previous point (`compareStart=false`).
  71745. */
  71746. compareStart?: boolean;
  71747. /**
  71748. * (Highstock) Whether to compare indicator to the main series values or
  71749. * indicator values.
  71750. */
  71751. compareToMain?: boolean;
  71752. /**
  71753. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  71754. * series plot across the extremes.
  71755. */
  71756. connectEnds?: boolean;
  71757. /**
  71758. * (Highcharts, Highstock) Whether to connect a graph line across null
  71759. * points, or render a gap between the two points on either side of the
  71760. * null.
  71761. */
  71762. connectNulls?: boolean;
  71763. /**
  71764. * (Gantt) Override Pathfinder connector options for a series. Requires
  71765. * Highcharts Gantt to be loaded.
  71766. */
  71767. connectors?: SeriesConnectorsOptionsObject;
  71768. /**
  71769. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  71770. * rounded to its nearest pixel in order to render sharp on screen. In some
  71771. * cases, when there are a lot of densely packed columns, this leads to
  71772. * visible difference in column widths or distance between columns. In these
  71773. * cases, setting `crisp` to `false` may look better, even though each
  71774. * column is rendered blurry.
  71775. */
  71776. crisp?: boolean;
  71777. /**
  71778. * (Highcharts, Highstock) When the series contains less points than the
  71779. * crop threshold, all points are drawn, even if the points fall outside the
  71780. * visible plot area at the current zoom. The advantage of drawing all
  71781. * points (including markers and columns), is that animation is performed on
  71782. * updates. On the other hand, when the series contains more points than the
  71783. * crop threshold, the series data is cropped to only contain points that
  71784. * fall within the plot area. The advantage of cropping away invisible
  71785. * points is to increase performance on large series.
  71786. */
  71787. cropThreshold?: number;
  71788. /**
  71789. * (Highstock) You can set the cursor to "pointer" if you have click events
  71790. * attached to the series, to signal to the user that the points and lines
  71791. * can be clicked.
  71792. *
  71793. * In styled mode, the series cursor can be set with the same classes as
  71794. * listed under series.color.
  71795. */
  71796. cursor?: (string|CursorValue);
  71797. /**
  71798. * (Highstock) A reserved subspace to store options and values for
  71799. * customized functionality. Here you can add additional data for your own
  71800. * event callbacks and formatter callbacks.
  71801. */
  71802. custom?: Dictionary<any>;
  71803. /**
  71804. * (Highstock) Name of the dash style to use for the graph, or for some
  71805. * series types the outline of each shape.
  71806. *
  71807. * In styled mode, the stroke dash-array can be set with the same classes as
  71808. * listed under series.color.
  71809. */
  71810. dashStyle?: DashStyleValue;
  71811. /**
  71812. * (Highstock) Data grouping is the concept of sampling the data values into
  71813. * larger blocks in order to ease readability and increase performance of
  71814. * the JavaScript charts. Highstock by default applies data grouping when
  71815. * the points become closer than a certain pixel value, determined by the
  71816. * `groupPixelWidth` option.
  71817. *
  71818. * If data grouping is applied, the grouping information of grouped points
  71819. * can be read from the Point.dataGroup. If point options other than the
  71820. * data itself are set, for example `name` or `color` or custom properties,
  71821. * the grouping logic doesn't know how to group it. In this case the options
  71822. * of the first point instance are copied over to the group point. This can
  71823. * be altered through a custom `approximation` callback function.
  71824. */
  71825. dataGrouping?: DataGroupingOptionsObject;
  71826. /**
  71827. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  71828. * labels, appearing next to each data point.
  71829. *
  71830. * Since v6.2.0, multiple data labels can be applied to each single point by
  71831. * defining them as an array of configs.
  71832. *
  71833. * In styled mode, the data labels can be styled with the
  71834. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  71835. * (see example).
  71836. */
  71837. dataLabels?: (PlotPriceenvelopesDataLabelsOptions|Array<PlotPriceenvelopesDataLabelsOptions>);
  71838. /**
  71839. * (Highcharts, Highstock) Options for the series data sorting.
  71840. */
  71841. dataSorting?: (DataSortingOptionsObject|PlotPriceenvelopesDataSortingOptions);
  71842. /**
  71843. * (Highstock) A description of the series to add to the screen reader
  71844. * information about the series.
  71845. */
  71846. description?: string;
  71847. /**
  71848. * (Highstock) Enable or disable the mouse tracking for a specific series.
  71849. * This includes point tooltips and click events on graphs and points. For
  71850. * large datasets it improves performance.
  71851. */
  71852. enableMouseTracking?: boolean;
  71853. /**
  71854. * (Highstock) General event handlers for the series items. These event
  71855. * hooks can also be attached to the series at run time using the
  71856. * `Highcharts.addEvent` function.
  71857. */
  71858. events?: SeriesEventsOptionsObject;
  71859. /**
  71860. * (Highstock) Determines whether the series should look for the nearest
  71861. * point in both dimensions or just the x-dimension when hovering the
  71862. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  71863. * series. If the data has duplicate x-values, it is recommended to set this
  71864. * to `'xy'` to allow hovering over all points.
  71865. *
  71866. * Applies only to series types using nearest neighbor search (not direct
  71867. * hover) for tooltip.
  71868. */
  71869. findNearestPointBy?: OptionsFindNearestPointByValue;
  71870. /**
  71871. * (Highstock) Defines when to display a gap in the graph, together with the
  71872. * gapUnit option.
  71873. *
  71874. * In case when `dataGrouping` is enabled, points can be grouped into a
  71875. * larger time span. This can make the grouped points to have a greater
  71876. * distance than the absolute value of `gapSize` property, which will result
  71877. * in disappearing graph completely. To prevent this situation the mentioned
  71878. * distance between grouped points is used instead of previously defined
  71879. * `gapSize`.
  71880. *
  71881. * In practice, this option is most often used to visualize gaps in time
  71882. * series. In a stock chart, intraday data is available for daytime hours,
  71883. * while gaps will appear in nights and weekends.
  71884. */
  71885. gapSize?: number;
  71886. /**
  71887. * (Highstock) Together with gapSize, this option defines where to draw gaps
  71888. * in the graph.
  71889. *
  71890. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  71891. * if the distance between two points is greater than 5 times that of the
  71892. * two closest points, the graph will be broken.
  71893. *
  71894. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  71895. * values, which on a datetime axis is milliseconds. This also applies to
  71896. * the navigator series that inherits gap options from the base series.
  71897. */
  71898. gapUnit?: OptionsGapUnitValue;
  71899. /**
  71900. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  71901. * chart width or only the zoomed area when zooming in on parts of the X
  71902. * axis. By default, the Y axis adjusts to the min and max of the visible
  71903. * data. Cartesian series only.
  71904. */
  71905. getExtremesFromAll?: boolean;
  71906. /**
  71907. * (Highstock) When set to `false` will prevent the series data from being
  71908. * included in any form of data export.
  71909. *
  71910. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  71911. * `includeInCSVExport`.
  71912. */
  71913. includeInDataExport?: boolean;
  71914. /**
  71915. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  71916. * series as possible in a natural way, seeking to avoid other series. The
  71917. * goal of this feature is to make the chart more easily readable, like if a
  71918. * human designer placed the labels in the optimal position.
  71919. *
  71920. * The series labels currently work with series types having a `graph` or an
  71921. * `area`.
  71922. */
  71923. label?: SeriesLabelOptionsObject;
  71924. /**
  71925. * (Highstock) The line marks the last price from all points.
  71926. */
  71927. lastPrice?: SeriesLastPriceOptionsObject;
  71928. /**
  71929. * (Highstock) The line marks the last price from visible range of points.
  71930. */
  71931. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  71932. /**
  71933. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  71934. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  71935. * the ends and bends.
  71936. */
  71937. linecap?: SeriesLinecapValue;
  71938. /**
  71939. * (Highcharts, Highstock) Pixel width of the graph line.
  71940. */
  71941. lineWidth?: number;
  71942. /**
  71943. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  71944. * based on. Required for this indicator.
  71945. */
  71946. linkedTo?: string;
  71947. /**
  71948. * (Highstock) Options for the point markers of line-like series. Properties
  71949. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  71950. * appearance of the markers. Other series types, like column series, don't
  71951. * have markers, but have visual options on the series level instead.
  71952. *
  71953. * In styled mode, the markers can be styled with the `.highcharts-point`,
  71954. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  71955. */
  71956. marker?: PointMarkerOptionsObject;
  71957. /**
  71958. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  71959. * If not set, it will be based on a technical indicator type and default
  71960. * params.
  71961. */
  71962. name?: string;
  71963. /**
  71964. * (Highstock) The color for the parts of the graph or points that are below
  71965. * the threshold. Note that `zones` takes precedence over the negative
  71966. * color. Using `negativeColor` is equivalent to applying a zone with value
  71967. * of 0.
  71968. */
  71969. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  71970. /**
  71971. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  71972. * dataLabels.
  71973. */
  71974. opacity?: number;
  71975. /**
  71976. * (Highstock) Paramters used in calculation of regression series' points.
  71977. */
  71978. params?: PlotPriceenvelopesParamsOptions;
  71979. /**
  71980. * (Highstock) Properties for each single point.
  71981. */
  71982. point?: PlotSeriesPointOptions;
  71983. /**
  71984. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  71985. * individual series. Overrides the chart wide configuration.
  71986. */
  71987. pointDescriptionFormatter?: Function;
  71988. /**
  71989. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  71990. * true, the checkbox next to the series name in the legend will be checked
  71991. * for a selected series.
  71992. */
  71993. selected?: boolean;
  71994. /**
  71995. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  71996. * the shadow can be an object configuration containing `color`, `offsetX`,
  71997. * `offsetY`, `opacity` and `width`.
  71998. */
  71999. shadow?: (boolean|ShadowOptionsObject);
  72000. /**
  72001. * (Highstock) If true, a checkbox is displayed next to the legend item to
  72002. * allow selecting the series. The state of the checkbox is determined by
  72003. * the `selected` option.
  72004. */
  72005. showCheckbox?: boolean;
  72006. /**
  72007. * (Highstock) Whether to display this particular series or series type in
  72008. * the legend. Standalone series are shown in legend by default, and linked
  72009. * series are not. Since v7.2.0 it is possible to show series that use
  72010. * colorAxis by setting this option to `true`.
  72011. */
  72012. showInLegend?: boolean;
  72013. /**
  72014. * (Highstock) If set to `true`, the accessibility module will skip past the
  72015. * points in this series for keyboard navigation.
  72016. */
  72017. skipKeyboardNavigation?: boolean;
  72018. /**
  72019. * (Highcharts, Highstock) When this is true, the series will not cause the
  72020. * Y axis to cross the zero plane (or threshold option) unless the data
  72021. * actually crosses the plane.
  72022. *
  72023. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  72024. * make the Y axis show negative values according to the `minPadding`
  72025. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  72026. */
  72027. softThreshold?: boolean;
  72028. states?: SeriesStatesOptionsObject;
  72029. /**
  72030. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  72031. * values are `left`, `center` and `right`.
  72032. */
  72033. step?: OptionsStepValue;
  72034. /**
  72035. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  72036. * event on a series isn't triggered until the mouse moves over another
  72037. * series, or out of the plot area. When false, the `mouseOut` event on a
  72038. * series is triggered when the mouse leaves the area around the series'
  72039. * graph or markers. This also implies the tooltip when not shared. When
  72040. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  72041. * be hidden when moving the mouse between series. Defaults to true for line
  72042. * and area type series, but to false for columns, pies etc.
  72043. *
  72044. * **Note:** The boost module will force this option because of technical
  72045. * limitations.
  72046. */
  72047. stickyTracking?: boolean;
  72048. /**
  72049. * (Highcharts, Highstock) The threshold, also called zero level or base
  72050. * level. For line type series this is only used in conjunction with
  72051. * negativeColor.
  72052. */
  72053. threshold?: number;
  72054. /**
  72055. * (Highstock) A configuration object for the tooltip rendering of each
  72056. * single series. Properties are inherited from tooltip, but only the
  72057. * following properties can be defined on a series level.
  72058. */
  72059. tooltip?: SeriesTooltipOptionsObject;
  72060. /**
  72061. * (Highstock) Top line options.
  72062. */
  72063. topLine?: PlotPriceenvelopesTopLineOptions;
  72064. /**
  72065. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  72066. * is longer than this, only one dimensional arrays of numbers, or two
  72067. * dimensional arrays with x and y values are allowed. Also, only the first
  72068. * point is tested, and the rest are assumed to be the same format. This
  72069. * saves expensive data checking and indexing in long series. Set it to `0`
  72070. * disable.
  72071. *
  72072. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  72073. * two dimensional arrays are allowed.
  72074. */
  72075. turboThreshold?: number;
  72076. /**
  72077. * (Highstock) Set the initial visibility of the series.
  72078. */
  72079. visible?: boolean;
  72080. /**
  72081. * (Highmaps) Define the z index of the series.
  72082. */
  72083. zIndex?: number;
  72084. /**
  72085. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  72086. */
  72087. zoneAxis?: string;
  72088. /**
  72089. * (Highcharts, Highstock) An array defining zones within a series. Zones
  72090. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  72091. * the `zoneAxis` option. The zone definitions have to be in ascending order
  72092. * regarding to the value.
  72093. *
  72094. * In styled mode, the color zones are styled with the
  72095. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  72096. * option (view live demo).
  72097. */
  72098. zones?: Array<SeriesZonesOptionsObject>;
  72099. }
  72100. /**
  72101. * (Highstock) Paramters used in calculation of regression series' points.
  72102. */
  72103. export interface PlotPriceenvelopesParamsOptions {
  72104. /**
  72105. * (Highstock) Percentage below the moving average that should be displayed.
  72106. * 0.1 means 90%. Relative to the calculated value.
  72107. */
  72108. bottomBand?: number;
  72109. /**
  72110. * (Highstock) The point index which indicator calculations will base. For
  72111. * example using OHLC data, index=2 means the indicator will be calculated
  72112. * using Low values.
  72113. */
  72114. index?: number;
  72115. /**
  72116. * (Highstock) The base period for indicator calculations. This is the
  72117. * number of data points which are taken into account for the indicator
  72118. * calculations.
  72119. */
  72120. period?: number;
  72121. /**
  72122. * (Highstock) Percentage above the moving average that should be displayed.
  72123. * 0.1 means 110%. Relative to the calculated value.
  72124. */
  72125. topBand?: number;
  72126. }
  72127. /**
  72128. * (Highstock) Top line options.
  72129. */
  72130. export interface PlotPriceenvelopesTopLineOptions {
  72131. styles?: PlotPriceenvelopesTopLineStylesOptions;
  72132. }
  72133. export interface PlotPriceenvelopesTopLineStylesOptions {
  72134. /**
  72135. * (Highstock) Color of the line. If not set, it's inherited from
  72136. * plotOptions.priceenvelopes.color.
  72137. */
  72138. lineColor?: ColorString;
  72139. /**
  72140. * (Highstock) Pixel width of the line.
  72141. */
  72142. lineWidth?: number;
  72143. }
  72144. /**
  72145. * (Highstock) Enable or disable the initial animation when a series is
  72146. * displayed. The animation can also be set as a configuration object. Please
  72147. * note that this option only applies to the initial animation of the series
  72148. * itself. For other animations, see chart.animation and the animation parameter
  72149. * under the API methods. The following properties are supported:
  72150. *
  72151. * - `defer`: The animation delay time in milliseconds.
  72152. *
  72153. * - `duration`: The duration of the animation in milliseconds.
  72154. *
  72155. * - `easing`: Can be a string reference to an easing function set on the `Math`
  72156. * object or a function. See the _Custom easing function_ demo below.
  72157. *
  72158. * Due to poor performance, animation is disabled in old IE browsers for several
  72159. * chart types.
  72160. */
  72161. export interface PlotPsarAnimationOptions {
  72162. defer?: number;
  72163. }
  72164. /**
  72165. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  72166. * animation when a series is displayed for the `dataLabels`. The animation can
  72167. * also be set as a configuration object. Please note that this option only
  72168. * applies to the initial animation. For other animations, see chart.animation
  72169. * and the animation parameter under the API methods. The following properties
  72170. * are supported:
  72171. *
  72172. * - `defer`: The animation delay time in milliseconds.
  72173. */
  72174. export interface PlotPsarDataLabelsAnimationOptions {
  72175. /**
  72176. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  72177. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  72178. * inherits defer time from the series.animation.defer.
  72179. */
  72180. defer?: number;
  72181. }
  72182. /**
  72183. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  72184. * appearing next to each data point.
  72185. *
  72186. * Since v6.2.0, multiple data labels can be applied to each single point by
  72187. * defining them as an array of configs.
  72188. *
  72189. * In styled mode, the data labels can be styled with the
  72190. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  72191. * example).
  72192. */
  72193. export interface PlotPsarDataLabelsOptions {
  72194. /**
  72195. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  72196. * compared to the point. If `right`, the right side of the label should be
  72197. * touching the point. For points with an extent, like columns, the
  72198. * alignments also dictates how to align it inside the box, as given with
  72199. * the inside option. Can be one of `left`, `center` or `right`.
  72200. */
  72201. align?: (AlignValue|null);
  72202. /**
  72203. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  72204. * overlap. To make the labels less sensitive for overlapping, the
  72205. * dataLabels.padding can be set to 0.
  72206. */
  72207. allowOverlap?: boolean;
  72208. /**
  72209. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  72210. * animation when a series is displayed for the `dataLabels`. The animation
  72211. * can also be set as a configuration object. Please note that this option
  72212. * only applies to the initial animation. For other animations, see
  72213. * chart.animation and the animation parameter under the API methods. The
  72214. * following properties are supported:
  72215. *
  72216. * - `defer`: The animation delay time in milliseconds.
  72217. */
  72218. animation?: (boolean|PlotPsarDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  72219. /**
  72220. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  72221. * for the data label.
  72222. */
  72223. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  72224. /**
  72225. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  72226. * label. Defaults to `undefined`.
  72227. */
  72228. borderColor?: (ColorString|GradientColorObject|PatternObject);
  72229. /**
  72230. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  72231. * the data label.
  72232. */
  72233. borderRadius?: number;
  72234. /**
  72235. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  72236. * the data label.
  72237. */
  72238. borderWidth?: number;
  72239. /**
  72240. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  72241. * Particularly in styled mode, this can be used to give each series' or
  72242. * point's data label unique styling. In addition to this option, a default
  72243. * color class name is added so that we can give the labels a contrast text
  72244. * shadow.
  72245. */
  72246. className?: string;
  72247. /**
  72248. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  72249. * labels. Defaults to `undefined`. For certain series types, like column or
  72250. * map, the data labels can be drawn inside the points. In this case the
  72251. * data label will be drawn with maximum contrast by default. Additionally,
  72252. * it will be given a `text-outline` style with the opposite color, to
  72253. * further increase the contrast. This can be overridden by setting the
  72254. * `text-outline` style to `none` in the `dataLabels.style` option.
  72255. */
  72256. color?: (ColorString|GradientColorObject|PatternObject);
  72257. /**
  72258. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  72259. * are outside the plot area. By default, the data label is moved inside the
  72260. * plot area according to the overflow option.
  72261. */
  72262. crop?: boolean;
  72263. /**
  72264. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  72265. * labels until the initial series animation has finished. Setting to
  72266. * `false` renders the data label immediately. If set to `true` inherits the
  72267. * defer time set in plotOptions.series.animation.
  72268. */
  72269. defer?: boolean;
  72270. /**
  72271. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  72272. * labels.
  72273. */
  72274. enabled?: boolean;
  72275. /**
  72276. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  72277. * of which data labels to display. The declarative filter is designed for
  72278. * use when callback functions are not available, like when the chart
  72279. * options require a pure JSON structure or for use with graphical editors.
  72280. * For programmatic control, use the `formatter` instead, and return
  72281. * `undefined` to disable a single data label.
  72282. */
  72283. filter?: DataLabelsFilterOptionsObject;
  72284. /**
  72285. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  72286. * label. Available variables are the same as for `formatter`.
  72287. */
  72288. format?: string;
  72289. /**
  72290. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  72291. * format the data label. Note that if a `format` is defined, the format
  72292. * takes precedence and the formatter is ignored.
  72293. */
  72294. formatter?: DataLabelsFormatterCallbackFunction;
  72295. /**
  72296. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  72297. * columns or map areas, whether to align the data label inside the box or
  72298. * to the actual value point. Defaults to `false` in most cases, `true` in
  72299. * stacked columns.
  72300. */
  72301. inside?: boolean;
  72302. /**
  72303. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  72304. * of null. Works analogously to format. `nullFormat` can be applied only to
  72305. * series which support displaying null points.
  72306. */
  72307. nullFormat?: (boolean|string);
  72308. /**
  72309. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  72310. * that defines formatting for points with the value of null. Works
  72311. * analogously to formatter. `nullPointFormatter` can be applied only to
  72312. * series which support displaying null points.
  72313. */
  72314. nullFormatter?: DataLabelsFormatterCallbackFunction;
  72315. /**
  72316. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  72317. * flow outside the plot area. The default is `"justify"`, which aligns them
  72318. * inside the plot area. For columns and bars, this means it will be moved
  72319. * inside the bar. To display data labels outside the plot area, set `crop`
  72320. * to `false` and `overflow` to `"allow"`.
  72321. */
  72322. overflow?: DataLabelsOverflowValue;
  72323. /**
  72324. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  72325. * the `backgroundColor` is set, this is the padding within the box.
  72326. */
  72327. padding?: number;
  72328. /**
  72329. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  72330. * points. If `center` alignment is not possible, it defaults to `right`.
  72331. */
  72332. position?: AlignValue;
  72333. /**
  72334. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  72335. * that due to a more complex structure, backgrounds, borders and padding
  72336. * will be lost on a rotated data label.
  72337. */
  72338. rotation?: number;
  72339. /**
  72340. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  72341. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  72342. * an object configuration containing `color`, `offsetX`, `offsetY`,
  72343. * `opacity` and `width`.
  72344. */
  72345. shadow?: (boolean|ShadowOptionsObject);
  72346. /**
  72347. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  72348. * the border around the label. Symbols are predefined functions on the
  72349. * Renderer object.
  72350. */
  72351. shape?: string;
  72352. /**
  72353. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  72354. * default `color` setting is `"contrast"`, which is a pseudo color that
  72355. * Highcharts picks up and applies the maximum contrast to the underlying
  72356. * point item, for example the bar in a bar chart.
  72357. *
  72358. * The `textOutline` is a pseudo property that applies an outline of the
  72359. * given width with the given color, which by default is the maximum
  72360. * contrast to the text. So a bright text color will result in a black text
  72361. * outline for maximum readability on a mixed background. In some cases,
  72362. * especially with grayscale text, the text outline doesn't work well, in
  72363. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  72364. * is true, the `textOutline` will not be picked up. In this, case, the same
  72365. * effect can be acheived through the `text-shadow` CSS property.
  72366. *
  72367. * For some series types, where each point has an extent, like for example
  72368. * tree maps, the data label may overflow the point. There are two
  72369. * strategies for handling overflow. By default, the text will wrap to
  72370. * multiple lines. The other strategy is to set `style.textOverflow` to
  72371. * `ellipsis`, which will keep the text on one line plus it will break
  72372. * inside long words.
  72373. */
  72374. style?: CSSObject;
  72375. /**
  72376. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  72377. * should follow marker's shape. Border and background are disabled for a
  72378. * label that follows a path.
  72379. *
  72380. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  72381. * to true will disable this option.
  72382. */
  72383. textPath?: DataLabelsTextPathOptionsObject;
  72384. /**
  72385. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  72386. * the labels.
  72387. */
  72388. useHTML?: boolean;
  72389. /**
  72390. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  72391. * label. Can be one of `top`, `middle` or `bottom`. The default value
  72392. * depends on the data, for instance in a column chart, the label is above
  72393. * positive values and below negative values.
  72394. */
  72395. verticalAlign?: (VerticalAlignValue|null);
  72396. /**
  72397. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  72398. * label relative to the point in pixels.
  72399. */
  72400. x?: number;
  72401. /**
  72402. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  72403. * label relative to the point in pixels.
  72404. */
  72405. y?: number;
  72406. /**
  72407. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  72408. * The default Z index puts it above the series. Use a Z index of 2 to
  72409. * display it behind the series.
  72410. */
  72411. z?: number;
  72412. }
  72413. /**
  72414. * (Highcharts, Highstock) Options for the series data sorting.
  72415. */
  72416. export interface PlotPsarDataSortingOptions {
  72417. /**
  72418. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  72419. * Use xAxis.reversed to change the sorting order.
  72420. */
  72421. enabled?: boolean;
  72422. /**
  72423. * (Highcharts, Highstock) Whether to allow matching points by name in an
  72424. * update. If this option is disabled, points will be matched by order.
  72425. */
  72426. matchByName?: boolean;
  72427. /**
  72428. * (Highcharts, Highstock) Determines what data value should be used to sort
  72429. * by.
  72430. */
  72431. sortKey?: string;
  72432. }
  72433. /**
  72434. * (Highstock) Parabolic SAR. This series requires `linkedTo` option to be set
  72435. * and should be loaded after `stock/indicators/indicators.js` file.
  72436. *
  72437. * In TypeScript the type option must always be set.
  72438. *
  72439. * Configuration options for the series are given in three levels:
  72440. *
  72441. * 1. Options for all series in a chart are defined in the plotOptions.series
  72442. * object.
  72443. *
  72444. * 2. Options for all `psar` series are defined in plotOptions.psar.
  72445. *
  72446. * 3. Options for one single series are given in the series instance array. (see
  72447. * online documentation for example)
  72448. */
  72449. export interface PlotPsarOptions {
  72450. /**
  72451. * (Highstock) Accessibility options for a series.
  72452. */
  72453. accessibility?: SeriesAccessibilityOptionsObject;
  72454. /**
  72455. * (Highstock) Allow this series' points to be selected by clicking on the
  72456. * graphic (columns, point markers, pie slices, map areas etc).
  72457. *
  72458. * The selected points can be handled by point select and unselect events,
  72459. * or collectively by the getSelectedPoints function.
  72460. *
  72461. * And alternative way of selecting points is through dragging.
  72462. */
  72463. allowPointSelect?: boolean;
  72464. /**
  72465. * (Highstock) Enable or disable the initial animation when a series is
  72466. * displayed. The animation can also be set as a configuration object.
  72467. * Please note that this option only applies to the initial animation of the
  72468. * series itself. For other animations, see chart.animation and the
  72469. * animation parameter under the API methods. The following properties are
  72470. * supported:
  72471. *
  72472. * - `defer`: The animation delay time in milliseconds.
  72473. *
  72474. * - `duration`: The duration of the animation in milliseconds.
  72475. *
  72476. * - `easing`: Can be a string reference to an easing function set on the
  72477. * `Math` object or a function. See the _Custom easing function_ demo below.
  72478. *
  72479. * Due to poor performance, animation is disabled in old IE browsers for
  72480. * several chart types.
  72481. */
  72482. animation?: (boolean|PlotPsarAnimationOptions|Partial<AnimationOptionsObject>);
  72483. /**
  72484. * (Highstock) For some series, there is a limit that shuts down initial
  72485. * animation by default when the total number of points in the chart is too
  72486. * high. For example, for a column chart and its derivatives, animation does
  72487. * not run if there is more than 250 points totally. To disable this cap,
  72488. * set `animationLimit` to `Infinity`.
  72489. */
  72490. animationLimit?: number;
  72491. /**
  72492. * (Highstock) Sets the color blending in the boost module.
  72493. */
  72494. boostBlending?: OptionsBoostBlendingValue;
  72495. /**
  72496. * (Highstock) Set the point threshold for when a series should enter boost
  72497. * mode.
  72498. *
  72499. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  72500. * there are 2000 or more points in the series.
  72501. *
  72502. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  72503. * it to 1 will force boosting.
  72504. *
  72505. * Note that the cropThreshold also affects this setting. When zooming in on
  72506. * a series that has fewer points than the `cropThreshold`, all points are
  72507. * rendered although outside the visible plot area, and the `boostThreshold`
  72508. * won't take effect.
  72509. */
  72510. boostThreshold?: number;
  72511. /**
  72512. * (Highmaps) The border color of the map areas.
  72513. *
  72514. * In styled mode, the border stroke is given in the `.highcharts-point`
  72515. * class.
  72516. */
  72517. borderColor?: (ColorString|GradientColorObject|PatternObject);
  72518. /**
  72519. * (Highmaps) The border width of each map area.
  72520. *
  72521. * In styled mode, the border stroke width is given in the
  72522. * `.highcharts-point` class.
  72523. */
  72524. borderWidth?: number;
  72525. /**
  72526. * (Highstock) An additional class name to apply to the series' graphical
  72527. * elements. This option does not replace default class names of the
  72528. * graphical element.
  72529. */
  72530. className?: string;
  72531. /**
  72532. * (Highstock) Disable this option to allow series rendering in the whole
  72533. * plotting area.
  72534. *
  72535. * **Note:** Clipping should be always enabled when chart.zoomType is set
  72536. */
  72537. clip?: boolean;
  72538. /**
  72539. * (Highstock) The main color of the series. In line type series it applies
  72540. * to the line and the point markers unless otherwise specified. In bar type
  72541. * series it applies to the bars unless a color is specified per point. The
  72542. * default value is pulled from the `options.colors` array.
  72543. *
  72544. * In styled mode, the color can be defined by the colorIndex option. Also,
  72545. * the series color can be set with the `.highcharts-series`,
  72546. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  72547. * `.highcharts-series-{n}` class, or individual classes given by the
  72548. * `className` option.
  72549. */
  72550. color?: (ColorString|GradientColorObject|PatternObject);
  72551. /**
  72552. * (Highstock) Styled mode only. A specific color index to use for the
  72553. * series, so its graphic representations are given the class name
  72554. * `highcharts-color-{n}`.
  72555. */
  72556. colorIndex?: number;
  72557. /**
  72558. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  72559. * used to calculate point color if `colorAxis` is used. Requires to set
  72560. * `min` and `max` if some custom point property is used or if approximation
  72561. * for data grouping is set to `'sum'`.
  72562. */
  72563. colorKey?: string;
  72564. /**
  72565. * (Highstock) Compare the values of the series against the first non-null,
  72566. * non- zero value in the visible range. The y axis will show percentage or
  72567. * absolute change depending on whether `compare` is set to `"percent"` or
  72568. * `"value"`. When this is applied to multiple series, it allows comparing
  72569. * the development of the series against each other. Adds a `change` field
  72570. * to every point object.
  72571. */
  72572. compare?: string;
  72573. /**
  72574. * (Highstock) When compare is `percent`, this option dictates whether to
  72575. * use 0 or 100 as the base of comparison.
  72576. */
  72577. compareBase?: (0|100);
  72578. /**
  72579. * (Highstock) Defines if comparison should start from the first point
  72580. * within the visible range or should start from the first point **before**
  72581. * the range.
  72582. *
  72583. * In other words, this flag determines if first point within the visible
  72584. * range will have 0% (`compareStart=true`) or should have been already
  72585. * calculated according to the previous point (`compareStart=false`).
  72586. */
  72587. compareStart?: boolean;
  72588. /**
  72589. * (Highstock) Whether to compare indicator to the main series values or
  72590. * indicator values.
  72591. */
  72592. compareToMain?: boolean;
  72593. /**
  72594. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  72595. * series plot across the extremes.
  72596. */
  72597. connectEnds?: boolean;
  72598. /**
  72599. * (Highcharts, Highstock) Whether to connect a graph line across null
  72600. * points, or render a gap between the two points on either side of the
  72601. * null.
  72602. */
  72603. connectNulls?: boolean;
  72604. /**
  72605. * (Gantt) Override Pathfinder connector options for a series. Requires
  72606. * Highcharts Gantt to be loaded.
  72607. */
  72608. connectors?: SeriesConnectorsOptionsObject;
  72609. /**
  72610. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  72611. * rounded to its nearest pixel in order to render sharp on screen. In some
  72612. * cases, when there are a lot of densely packed columns, this leads to
  72613. * visible difference in column widths or distance between columns. In these
  72614. * cases, setting `crisp` to `false` may look better, even though each
  72615. * column is rendered blurry.
  72616. */
  72617. crisp?: boolean;
  72618. /**
  72619. * (Highcharts, Highstock) When the series contains less points than the
  72620. * crop threshold, all points are drawn, even if the points fall outside the
  72621. * visible plot area at the current zoom. The advantage of drawing all
  72622. * points (including markers and columns), is that animation is performed on
  72623. * updates. On the other hand, when the series contains more points than the
  72624. * crop threshold, the series data is cropped to only contain points that
  72625. * fall within the plot area. The advantage of cropping away invisible
  72626. * points is to increase performance on large series.
  72627. */
  72628. cropThreshold?: number;
  72629. /**
  72630. * (Highstock) You can set the cursor to "pointer" if you have click events
  72631. * attached to the series, to signal to the user that the points and lines
  72632. * can be clicked.
  72633. *
  72634. * In styled mode, the series cursor can be set with the same classes as
  72635. * listed under series.color.
  72636. */
  72637. cursor?: (string|CursorValue);
  72638. /**
  72639. * (Highstock) A reserved subspace to store options and values for
  72640. * customized functionality. Here you can add additional data for your own
  72641. * event callbacks and formatter callbacks.
  72642. */
  72643. custom?: Dictionary<any>;
  72644. /**
  72645. * (Highstock) Name of the dash style to use for the graph, or for some
  72646. * series types the outline of each shape.
  72647. *
  72648. * In styled mode, the stroke dash-array can be set with the same classes as
  72649. * listed under series.color.
  72650. */
  72651. dashStyle?: DashStyleValue;
  72652. /**
  72653. * (Highstock) Data grouping is the concept of sampling the data values into
  72654. * larger blocks in order to ease readability and increase performance of
  72655. * the JavaScript charts. Highstock by default applies data grouping when
  72656. * the points become closer than a certain pixel value, determined by the
  72657. * `groupPixelWidth` option.
  72658. *
  72659. * If data grouping is applied, the grouping information of grouped points
  72660. * can be read from the Point.dataGroup. If point options other than the
  72661. * data itself are set, for example `name` or `color` or custom properties,
  72662. * the grouping logic doesn't know how to group it. In this case the options
  72663. * of the first point instance are copied over to the group point. This can
  72664. * be altered through a custom `approximation` callback function.
  72665. */
  72666. dataGrouping?: DataGroupingOptionsObject;
  72667. /**
  72668. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  72669. * labels, appearing next to each data point.
  72670. *
  72671. * Since v6.2.0, multiple data labels can be applied to each single point by
  72672. * defining them as an array of configs.
  72673. *
  72674. * In styled mode, the data labels can be styled with the
  72675. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  72676. * (see example).
  72677. */
  72678. dataLabels?: (PlotPsarDataLabelsOptions|Array<PlotPsarDataLabelsOptions>);
  72679. /**
  72680. * (Highcharts, Highstock) Options for the series data sorting.
  72681. */
  72682. dataSorting?: (DataSortingOptionsObject|PlotPsarDataSortingOptions);
  72683. /**
  72684. * (Highstock) A description of the series to add to the screen reader
  72685. * information about the series.
  72686. */
  72687. description?: string;
  72688. /**
  72689. * (Highstock) Enable or disable the mouse tracking for a specific series.
  72690. * This includes point tooltips and click events on graphs and points. For
  72691. * large datasets it improves performance.
  72692. */
  72693. enableMouseTracking?: boolean;
  72694. /**
  72695. * (Highstock) General event handlers for the series items. These event
  72696. * hooks can also be attached to the series at run time using the
  72697. * `Highcharts.addEvent` function.
  72698. */
  72699. events?: SeriesEventsOptionsObject;
  72700. /**
  72701. * (Highstock) Determines whether the series should look for the nearest
  72702. * point in both dimensions or just the x-dimension when hovering the
  72703. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  72704. * series. If the data has duplicate x-values, it is recommended to set this
  72705. * to `'xy'` to allow hovering over all points.
  72706. *
  72707. * Applies only to series types using nearest neighbor search (not direct
  72708. * hover) for tooltip.
  72709. */
  72710. findNearestPointBy?: OptionsFindNearestPointByValue;
  72711. /**
  72712. * (Highstock) Defines when to display a gap in the graph, together with the
  72713. * gapUnit option.
  72714. *
  72715. * In case when `dataGrouping` is enabled, points can be grouped into a
  72716. * larger time span. This can make the grouped points to have a greater
  72717. * distance than the absolute value of `gapSize` property, which will result
  72718. * in disappearing graph completely. To prevent this situation the mentioned
  72719. * distance between grouped points is used instead of previously defined
  72720. * `gapSize`.
  72721. *
  72722. * In practice, this option is most often used to visualize gaps in time
  72723. * series. In a stock chart, intraday data is available for daytime hours,
  72724. * while gaps will appear in nights and weekends.
  72725. */
  72726. gapSize?: number;
  72727. /**
  72728. * (Highstock) Together with gapSize, this option defines where to draw gaps
  72729. * in the graph.
  72730. *
  72731. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  72732. * if the distance between two points is greater than 5 times that of the
  72733. * two closest points, the graph will be broken.
  72734. *
  72735. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  72736. * values, which on a datetime axis is milliseconds. This also applies to
  72737. * the navigator series that inherits gap options from the base series.
  72738. */
  72739. gapUnit?: OptionsGapUnitValue;
  72740. /**
  72741. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  72742. * chart width or only the zoomed area when zooming in on parts of the X
  72743. * axis. By default, the Y axis adjusts to the min and max of the visible
  72744. * data. Cartesian series only.
  72745. */
  72746. getExtremesFromAll?: boolean;
  72747. /**
  72748. * (Highstock) When set to `false` will prevent the series data from being
  72749. * included in any form of data export.
  72750. *
  72751. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  72752. * `includeInCSVExport`.
  72753. */
  72754. includeInDataExport?: boolean;
  72755. /**
  72756. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  72757. * series as possible in a natural way, seeking to avoid other series. The
  72758. * goal of this feature is to make the chart more easily readable, like if a
  72759. * human designer placed the labels in the optimal position.
  72760. *
  72761. * The series labels currently work with series types having a `graph` or an
  72762. * `area`.
  72763. */
  72764. label?: SeriesLabelOptionsObject;
  72765. /**
  72766. * (Highstock) The line marks the last price from all points.
  72767. */
  72768. lastPrice?: SeriesLastPriceOptionsObject;
  72769. /**
  72770. * (Highstock) The line marks the last price from visible range of points.
  72771. */
  72772. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  72773. /**
  72774. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  72775. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  72776. * the ends and bends.
  72777. */
  72778. linecap?: SeriesLinecapValue;
  72779. /**
  72780. * (Highcharts, Highstock) Pixel width of the graph line.
  72781. */
  72782. lineWidth?: number;
  72783. /**
  72784. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  72785. * based on. Required for this indicator.
  72786. */
  72787. linkedTo?: string;
  72788. /**
  72789. * (Highstock) Options for the point markers of line-like series. Properties
  72790. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  72791. * appearance of the markers. Other series types, like column series, don't
  72792. * have markers, but have visual options on the series level instead.
  72793. *
  72794. * In styled mode, the markers can be styled with the `.highcharts-point`,
  72795. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  72796. */
  72797. marker?: PointMarkerOptionsObject;
  72798. /**
  72799. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  72800. * If not set, it will be based on a technical indicator type and default
  72801. * params.
  72802. */
  72803. name?: string;
  72804. /**
  72805. * (Highstock) The color for the parts of the graph or points that are below
  72806. * the threshold. Note that `zones` takes precedence over the negative
  72807. * color. Using `negativeColor` is equivalent to applying a zone with value
  72808. * of 0.
  72809. */
  72810. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  72811. /**
  72812. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  72813. * dataLabels.
  72814. */
  72815. opacity?: number;
  72816. /**
  72817. * (Highstock) Paramters used in calculation of regression series' points.
  72818. */
  72819. params?: PlotPsarParamsOptions;
  72820. /**
  72821. * (Highstock) Properties for each single point.
  72822. */
  72823. point?: PlotSeriesPointOptions;
  72824. /**
  72825. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  72826. * individual series. Overrides the chart wide configuration.
  72827. */
  72828. pointDescriptionFormatter?: Function;
  72829. /**
  72830. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  72831. * true, the checkbox next to the series name in the legend will be checked
  72832. * for a selected series.
  72833. */
  72834. selected?: boolean;
  72835. /**
  72836. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  72837. * the shadow can be an object configuration containing `color`, `offsetX`,
  72838. * `offsetY`, `opacity` and `width`.
  72839. */
  72840. shadow?: (boolean|ShadowOptionsObject);
  72841. /**
  72842. * (Highstock) If true, a checkbox is displayed next to the legend item to
  72843. * allow selecting the series. The state of the checkbox is determined by
  72844. * the `selected` option.
  72845. */
  72846. showCheckbox?: boolean;
  72847. /**
  72848. * (Highstock) Whether to display this particular series or series type in
  72849. * the legend. Standalone series are shown in legend by default, and linked
  72850. * series are not. Since v7.2.0 it is possible to show series that use
  72851. * colorAxis by setting this option to `true`.
  72852. */
  72853. showInLegend?: boolean;
  72854. /**
  72855. * (Highstock) If set to `true`, the accessibility module will skip past the
  72856. * points in this series for keyboard navigation.
  72857. */
  72858. skipKeyboardNavigation?: boolean;
  72859. /**
  72860. * (Highcharts, Highstock) When this is true, the series will not cause the
  72861. * Y axis to cross the zero plane (or threshold option) unless the data
  72862. * actually crosses the plane.
  72863. *
  72864. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  72865. * make the Y axis show negative values according to the `minPadding`
  72866. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  72867. */
  72868. softThreshold?: boolean;
  72869. states?: SeriesStatesOptionsObject;
  72870. /**
  72871. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  72872. * values are `left`, `center` and `right`.
  72873. */
  72874. step?: OptionsStepValue;
  72875. /**
  72876. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  72877. * event on a series isn't triggered until the mouse moves over another
  72878. * series, or out of the plot area. When false, the `mouseOut` event on a
  72879. * series is triggered when the mouse leaves the area around the series'
  72880. * graph or markers. This also implies the tooltip when not shared. When
  72881. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  72882. * be hidden when moving the mouse between series. Defaults to true for line
  72883. * and area type series, but to false for columns, pies etc.
  72884. *
  72885. * **Note:** The boost module will force this option because of technical
  72886. * limitations.
  72887. */
  72888. stickyTracking?: boolean;
  72889. /**
  72890. * (Highcharts, Highstock) The threshold, also called zero level or base
  72891. * level. For line type series this is only used in conjunction with
  72892. * negativeColor.
  72893. */
  72894. threshold?: number;
  72895. /**
  72896. * (Highstock) A configuration object for the tooltip rendering of each
  72897. * single series. Properties are inherited from tooltip, but only the
  72898. * following properties can be defined on a series level.
  72899. */
  72900. tooltip?: SeriesTooltipOptionsObject;
  72901. /**
  72902. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  72903. * is longer than this, only one dimensional arrays of numbers, or two
  72904. * dimensional arrays with x and y values are allowed. Also, only the first
  72905. * point is tested, and the rest are assumed to be the same format. This
  72906. * saves expensive data checking and indexing in long series. Set it to `0`
  72907. * disable.
  72908. *
  72909. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  72910. * two dimensional arrays are allowed.
  72911. */
  72912. turboThreshold?: number;
  72913. /**
  72914. * (Highstock) Set the initial visibility of the series.
  72915. */
  72916. visible?: boolean;
  72917. /**
  72918. * (Highmaps) Define the z index of the series.
  72919. */
  72920. zIndex?: number;
  72921. /**
  72922. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  72923. */
  72924. zoneAxis?: string;
  72925. /**
  72926. * (Highcharts, Highstock) An array defining zones within a series. Zones
  72927. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  72928. * the `zoneAxis` option. The zone definitions have to be in ascending order
  72929. * regarding to the value.
  72930. *
  72931. * In styled mode, the color zones are styled with the
  72932. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  72933. * option (view live demo).
  72934. */
  72935. zones?: Array<SeriesZonesOptionsObject>;
  72936. }
  72937. /**
  72938. * (Highstock) Paramters used in calculation of regression series' points.
  72939. */
  72940. export interface PlotPsarParamsOptions {
  72941. /**
  72942. * (Highstock) Number of maximum decimals that are used in PSAR
  72943. * calculations.
  72944. */
  72945. decimals?: number;
  72946. /**
  72947. * (Highstock) Acceleration factor increases by increment each time the
  72948. * extreme point makes a new high.
  72949. */
  72950. increment?: number;
  72951. /**
  72952. * (Highstock) Index from which PSAR is starting calculation
  72953. */
  72954. index?: number;
  72955. /**
  72956. * (Highstock) The initial value for acceleration factor. Acceleration
  72957. * factor is starting with this value and increases by specified increment
  72958. * each time the extreme point makes a new high. AF can reach a maximum of
  72959. * maxAccelerationFactor, no matter how long the uptrend extends.
  72960. */
  72961. initialAccelerationFactor?: number;
  72962. /**
  72963. * (Highstock) The Maximum value for acceleration factor. AF can reach a
  72964. * maximum of maxAccelerationFactor, no matter how long the uptrend extends.
  72965. */
  72966. maxAccelerationFactor?: number;
  72967. }
  72968. /**
  72969. * (Highcharts) Enable or disable the initial animation when a series is
  72970. * displayed. The animation can also be set as a configuration object. Please
  72971. * note that this option only applies to the initial animation of the series
  72972. * itself. For other animations, see chart.animation and the animation parameter
  72973. * under the API methods. The following properties are supported:
  72974. *
  72975. * - `defer`: The animation delay time in milliseconds.
  72976. *
  72977. * - `duration`: The duration of the animation in milliseconds.
  72978. *
  72979. * - `easing`: Can be a string reference to an easing function set on the `Math`
  72980. * object or a function. See the _Custom easing function_ demo below.
  72981. *
  72982. * Due to poor performance, animation is disabled in old IE browsers for several
  72983. * chart types.
  72984. */
  72985. export interface PlotPyramid3dAnimationOptions {
  72986. defer?: number;
  72987. }
  72988. /**
  72989. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  72990. * animation when a series is displayed for the `dataLabels`. The animation can
  72991. * also be set as a configuration object. Please note that this option only
  72992. * applies to the initial animation. For other animations, see chart.animation
  72993. * and the animation parameter under the API methods. The following properties
  72994. * are supported:
  72995. *
  72996. * - `defer`: The animation delay time in milliseconds.
  72997. */
  72998. export interface PlotPyramid3dDataLabelsAnimationOptions {
  72999. /**
  73000. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  73001. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  73002. * inherits defer time from the series.animation.defer.
  73003. */
  73004. defer?: number;
  73005. }
  73006. /**
  73007. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  73008. * appearing next to each data point.
  73009. *
  73010. * Since v6.2.0, multiple data labels can be applied to each single point by
  73011. * defining them as an array of configs.
  73012. *
  73013. * In styled mode, the data labels can be styled with the
  73014. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  73015. * example).
  73016. */
  73017. export interface PlotPyramid3dDataLabelsOptions {
  73018. /**
  73019. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  73020. * compared to the point. If `right`, the right side of the label should be
  73021. * touching the point. For points with an extent, like columns, the
  73022. * alignments also dictates how to align it inside the box, as given with
  73023. * the inside option. Can be one of `left`, `center` or `right`.
  73024. */
  73025. align?: string;
  73026. /**
  73027. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  73028. * overlap. To make the labels less sensitive for overlapping, the
  73029. * dataLabels.padding can be set to 0.
  73030. */
  73031. allowOverlap?: boolean;
  73032. /**
  73033. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  73034. * animation when a series is displayed for the `dataLabels`. The animation
  73035. * can also be set as a configuration object. Please note that this option
  73036. * only applies to the initial animation. For other animations, see
  73037. * chart.animation and the animation parameter under the API methods. The
  73038. * following properties are supported:
  73039. *
  73040. * - `defer`: The animation delay time in milliseconds.
  73041. */
  73042. animation?: (boolean|PlotPyramid3dDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  73043. /**
  73044. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  73045. * for the data label.
  73046. */
  73047. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  73048. /**
  73049. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  73050. * label. Defaults to `undefined`.
  73051. */
  73052. borderColor?: (ColorString|GradientColorObject|PatternObject);
  73053. /**
  73054. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  73055. * the data label.
  73056. */
  73057. borderRadius?: number;
  73058. /**
  73059. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  73060. * the data label.
  73061. */
  73062. borderWidth?: number;
  73063. /**
  73064. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  73065. * Particularly in styled mode, this can be used to give each series' or
  73066. * point's data label unique styling. In addition to this option, a default
  73067. * color class name is added so that we can give the labels a contrast text
  73068. * shadow.
  73069. */
  73070. className?: string;
  73071. /**
  73072. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  73073. * labels. Defaults to `undefined`. For certain series types, like column or
  73074. * map, the data labels can be drawn inside the points. In this case the
  73075. * data label will be drawn with maximum contrast by default. Additionally,
  73076. * it will be given a `text-outline` style with the opposite color, to
  73077. * further increase the contrast. This can be overridden by setting the
  73078. * `text-outline` style to `none` in the `dataLabels.style` option.
  73079. */
  73080. color?: (ColorString|GradientColorObject|PatternObject);
  73081. /**
  73082. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  73083. * are outside the plot area. By default, the data label is moved inside the
  73084. * plot area according to the overflow option.
  73085. */
  73086. crop?: boolean;
  73087. /**
  73088. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  73089. * labels until the initial series animation has finished. Setting to
  73090. * `false` renders the data label immediately. If set to `true` inherits the
  73091. * defer time set in plotOptions.series.animation.
  73092. */
  73093. defer?: boolean;
  73094. /**
  73095. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  73096. * labels.
  73097. */
  73098. enabled?: boolean;
  73099. /**
  73100. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  73101. * of which data labels to display. The declarative filter is designed for
  73102. * use when callback functions are not available, like when the chart
  73103. * options require a pure JSON structure or for use with graphical editors.
  73104. * For programmatic control, use the `formatter` instead, and return
  73105. * `undefined` to disable a single data label.
  73106. */
  73107. filter?: DataLabelsFilterOptionsObject;
  73108. /**
  73109. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  73110. * label. Available variables are the same as for `formatter`.
  73111. */
  73112. format?: string;
  73113. /**
  73114. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  73115. * format the data label. Note that if a `format` is defined, the format
  73116. * takes precedence and the formatter is ignored.
  73117. */
  73118. formatter?: DataLabelsFormatterCallbackFunction;
  73119. /**
  73120. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  73121. * columns or map areas, whether to align the data label inside the box or
  73122. * to the actual value point. Defaults to `false` in most cases, `true` in
  73123. * stacked columns.
  73124. */
  73125. inside?: boolean;
  73126. /**
  73127. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  73128. * of null. Works analogously to format. `nullFormat` can be applied only to
  73129. * series which support displaying null points.
  73130. */
  73131. nullFormat?: (boolean|string);
  73132. /**
  73133. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  73134. * that defines formatting for points with the value of null. Works
  73135. * analogously to formatter. `nullPointFormatter` can be applied only to
  73136. * series which support displaying null points.
  73137. */
  73138. nullFormatter?: DataLabelsFormatterCallbackFunction;
  73139. /**
  73140. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  73141. * flow outside the plot area. The default is `"justify"`, which aligns them
  73142. * inside the plot area. For columns and bars, this means it will be moved
  73143. * inside the bar. To display data labels outside the plot area, set `crop`
  73144. * to `false` and `overflow` to `"allow"`.
  73145. */
  73146. overflow?: string;
  73147. /**
  73148. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  73149. * the `backgroundColor` is set, this is the padding within the box.
  73150. */
  73151. padding?: number;
  73152. /**
  73153. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  73154. * points. If `center` alignment is not possible, it defaults to `right`.
  73155. */
  73156. position?: AlignValue;
  73157. /**
  73158. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  73159. * that due to a more complex structure, backgrounds, borders and padding
  73160. * will be lost on a rotated data label.
  73161. */
  73162. rotation?: number;
  73163. /**
  73164. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  73165. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  73166. * an object configuration containing `color`, `offsetX`, `offsetY`,
  73167. * `opacity` and `width`.
  73168. */
  73169. shadow?: (boolean|ShadowOptionsObject);
  73170. /**
  73171. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  73172. * the border around the label. Symbols are predefined functions on the
  73173. * Renderer object.
  73174. */
  73175. shape?: string;
  73176. /**
  73177. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  73178. * default `color` setting is `"contrast"`, which is a pseudo color that
  73179. * Highcharts picks up and applies the maximum contrast to the underlying
  73180. * point item, for example the bar in a bar chart.
  73181. *
  73182. * The `textOutline` is a pseudo property that applies an outline of the
  73183. * given width with the given color, which by default is the maximum
  73184. * contrast to the text. So a bright text color will result in a black text
  73185. * outline for maximum readability on a mixed background. In some cases,
  73186. * especially with grayscale text, the text outline doesn't work well, in
  73187. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  73188. * is true, the `textOutline` will not be picked up. In this, case, the same
  73189. * effect can be acheived through the `text-shadow` CSS property.
  73190. *
  73191. * For some series types, where each point has an extent, like for example
  73192. * tree maps, the data label may overflow the point. There are two
  73193. * strategies for handling overflow. By default, the text will wrap to
  73194. * multiple lines. The other strategy is to set `style.textOverflow` to
  73195. * `ellipsis`, which will keep the text on one line plus it will break
  73196. * inside long words.
  73197. */
  73198. style?: CSSObject;
  73199. /**
  73200. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  73201. * should follow marker's shape. Border and background are disabled for a
  73202. * label that follows a path.
  73203. *
  73204. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  73205. * to true will disable this option.
  73206. */
  73207. textPath?: DataLabelsTextPathOptionsObject;
  73208. /**
  73209. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  73210. * the labels.
  73211. */
  73212. useHTML?: boolean;
  73213. /**
  73214. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  73215. * label. Can be one of `top`, `middle` or `bottom`. The default value
  73216. * depends on the data, for instance in a column chart, the label is above
  73217. * positive values and below negative values.
  73218. */
  73219. verticalAlign?: string;
  73220. /**
  73221. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  73222. * label relative to the point in pixels.
  73223. */
  73224. x?: number;
  73225. /**
  73226. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  73227. * label relative to the point in pixels.
  73228. */
  73229. y?: number;
  73230. /**
  73231. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  73232. * The default Z index puts it above the series. Use a Z index of 2 to
  73233. * display it behind the series.
  73234. */
  73235. z?: number;
  73236. }
  73237. /**
  73238. * (Highcharts) Style options for the guide box. The guide box has one state by
  73239. * default, the `default` state.
  73240. */
  73241. export interface PlotPyramid3dDragDropGuideBoxOptions {
  73242. /**
  73243. * (Highcharts) Style options for the guide box default state.
  73244. */
  73245. default?: DragDropGuideBoxOptionsObject;
  73246. }
  73247. /**
  73248. * (Highcharts) A pyramid3d is a 3d version of pyramid series type. Pyramid
  73249. * charts are a type of chart often used to visualize stages in a sales project,
  73250. * where the top are the initial stages with the most clients.
  73251. *
  73252. * In TypeScript the type option must always be set.
  73253. *
  73254. * Configuration options for the series are given in three levels:
  73255. *
  73256. * 1. Options for all series in a chart are defined in the plotOptions.series
  73257. * object.
  73258. *
  73259. * 2. Options for all `pyramid3d` series are defined in plotOptions.pyramid3d.
  73260. *
  73261. * 3. Options for one single series are given in the series instance array. (see
  73262. * online documentation for example)
  73263. */
  73264. export interface PlotPyramid3dOptions {
  73265. /**
  73266. * (Highcharts) Accessibility options for a series.
  73267. */
  73268. accessibility?: SeriesAccessibilityOptionsObject;
  73269. /**
  73270. * (Highcharts) Allow this series' points to be selected by clicking on the
  73271. * graphic (columns, point markers, pie slices, map areas etc).
  73272. *
  73273. * The selected points can be handled by point select and unselect events,
  73274. * or collectively by the getSelectedPoints function.
  73275. *
  73276. * And alternative way of selecting points is through dragging.
  73277. */
  73278. allowPointSelect?: boolean;
  73279. /**
  73280. * (Highcharts) Enable or disable the initial animation when a series is
  73281. * displayed. The animation can also be set as a configuration object.
  73282. * Please note that this option only applies to the initial animation of the
  73283. * series itself. For other animations, see chart.animation and the
  73284. * animation parameter under the API methods. The following properties are
  73285. * supported:
  73286. *
  73287. * - `defer`: The animation delay time in milliseconds.
  73288. *
  73289. * - `duration`: The duration of the animation in milliseconds.
  73290. *
  73291. * - `easing`: Can be a string reference to an easing function set on the
  73292. * `Math` object or a function. See the _Custom easing function_ demo below.
  73293. *
  73294. * Due to poor performance, animation is disabled in old IE browsers for
  73295. * several chart types.
  73296. */
  73297. animation?: (boolean|PlotPyramid3dAnimationOptions);
  73298. /**
  73299. * (Highcharts) For some series, there is a limit that shuts down initial
  73300. * animation by default when the total number of points in the chart is too
  73301. * high. For example, for a column chart and its derivatives, animation does
  73302. * not run if there is more than 250 points totally. To disable this cap,
  73303. * set `animationLimit` to `Infinity`.
  73304. */
  73305. animationLimit?: number;
  73306. /**
  73307. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  73308. * column or bar.
  73309. *
  73310. * In styled mode, the border stroke can be set with the `.highcharts-point`
  73311. * rule.
  73312. */
  73313. borderColor?: (ColorString|GradientColorObject|PatternObject);
  73314. /**
  73315. * (Highcharts, Highstock, Gantt) The corner radius of the border
  73316. * surrounding each column or bar.
  73317. */
  73318. borderRadius?: number;
  73319. /**
  73320. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  73321. * column or bar. Defaults to `1` when there is room for a border, but to
  73322. * `0` when the columns are so dense that a border would cover the next
  73323. * column.
  73324. *
  73325. * In styled mode, the stroke width can be set with the `.highcharts-point`
  73326. * rule.
  73327. */
  73328. borderWidth?: number;
  73329. /**
  73330. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  73331. * the category, ignoring null or missing points. When `false`, space will
  73332. * be reserved for null or missing points.
  73333. */
  73334. centerInCategory?: boolean;
  73335. /**
  73336. * (Highcharts) An additional class name to apply to the series' graphical
  73337. * elements. This option does not replace default class names of the
  73338. * graphical element.
  73339. */
  73340. className?: string;
  73341. /**
  73342. * (Highcharts) Disable this option to allow series rendering in the whole
  73343. * plotting area.
  73344. *
  73345. * **Note:** Clipping should be always enabled when chart.zoomType is set
  73346. */
  73347. clip?: boolean;
  73348. /**
  73349. * (Highcharts) The main color of the series. In line type series it applies
  73350. * to the line and the point markers unless otherwise specified. In bar type
  73351. * series it applies to the bars unless a color is specified per point. The
  73352. * default value is pulled from the `options.colors` array.
  73353. *
  73354. * In styled mode, the color can be defined by the colorIndex option. Also,
  73355. * the series color can be set with the `.highcharts-series`,
  73356. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  73357. * `.highcharts-series-{n}` class, or individual classes given by the
  73358. * `className` option.
  73359. */
  73360. color?: (ColorString|GradientColorObject|PatternObject);
  73361. /**
  73362. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  73363. * from the global colors or series-specific plotOptions.column.colors
  73364. * collections, this option determines whether the chart should receive one
  73365. * color per series or one color per point.
  73366. *
  73367. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  73368. * and instead this option gives the points individual color class names on
  73369. * the form `highcharts-color-{n}`.
  73370. */
  73371. colorByPoint?: boolean;
  73372. /**
  73373. * (Highcharts) Styled mode only. A specific color index to use for the
  73374. * series, so its graphic representations are given the class name
  73375. * `highcharts-color-{n}`.
  73376. */
  73377. colorIndex?: number;
  73378. /**
  73379. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  73380. * used to calculate point color if `colorAxis` is used. Requires to set
  73381. * `min` and `max` if some custom point property is used or if approximation
  73382. * for data grouping is set to `'sum'`.
  73383. */
  73384. colorKey?: string;
  73385. /**
  73386. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  73387. * color set to apply instead of the global colors when colorByPoint is
  73388. * true.
  73389. */
  73390. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  73391. /**
  73392. * (Highstock) Defines if comparison should start from the first point
  73393. * within the visible range or should start from the first point **before**
  73394. * the range.
  73395. *
  73396. * In other words, this flag determines if first point within the visible
  73397. * range will have 0% (`compareStart=true`) or should have been already
  73398. * calculated according to the previous point (`compareStart=false`).
  73399. */
  73400. compareStart?: boolean;
  73401. /**
  73402. * (Gantt) Override Pathfinder connector options for a series. Requires
  73403. * Highcharts Gantt to be loaded.
  73404. */
  73405. connectors?: SeriesConnectorsOptionsObject;
  73406. /**
  73407. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  73408. * rounded to its nearest pixel in order to render sharp on screen. In some
  73409. * cases, when there are a lot of densely packed columns, this leads to
  73410. * visible difference in column widths or distance between columns. In these
  73411. * cases, setting `crisp` to `false` may look better, even though each
  73412. * column is rendered blurry.
  73413. */
  73414. crisp?: boolean;
  73415. /**
  73416. * (Highcharts, Highstock, Gantt) When the series contains less points than
  73417. * the crop threshold, all points are drawn, event if the points fall
  73418. * outside the visible plot area at the current zoom. The advantage of
  73419. * drawing all points (including markers and columns), is that animation is
  73420. * performed on updates. On the other hand, when the series contains more
  73421. * points than the crop threshold, the series data is cropped to only
  73422. * contain points that fall within the plot area. The advantage of cropping
  73423. * away invisible points is to increase performance on large series.
  73424. */
  73425. cropThreshold?: number;
  73426. /**
  73427. * (Highcharts) You can set the cursor to "pointer" if you have click events
  73428. * attached to the series, to signal to the user that the points and lines
  73429. * can be clicked.
  73430. *
  73431. * In styled mode, the series cursor can be set with the same classes as
  73432. * listed under series.color.
  73433. */
  73434. cursor?: (string|CursorValue);
  73435. /**
  73436. * (Highcharts) A reserved subspace to store options and values for
  73437. * customized functionality. Here you can add additional data for your own
  73438. * event callbacks and formatter callbacks.
  73439. */
  73440. custom?: Dictionary<any>;
  73441. /**
  73442. * (Highcharts) Name of the dash style to use for the graph, or for some
  73443. * series types the outline of each shape.
  73444. *
  73445. * In styled mode, the stroke dash-array can be set with the same classes as
  73446. * listed under series.color.
  73447. */
  73448. dashStyle?: DashStyleValue;
  73449. /**
  73450. * (Highstock) Data grouping is the concept of sampling the data values into
  73451. * larger blocks in order to ease readability and increase performance of
  73452. * the JavaScript charts. Highstock by default applies data grouping when
  73453. * the points become closer than a certain pixel value, determined by the
  73454. * `groupPixelWidth` option.
  73455. *
  73456. * If data grouping is applied, the grouping information of grouped points
  73457. * can be read from the Point.dataGroup. If point options other than the
  73458. * data itself are set, for example `name` or `color` or custom properties,
  73459. * the grouping logic doesn't know how to group it. In this case the options
  73460. * of the first point instance are copied over to the group point. This can
  73461. * be altered through a custom `approximation` callback function.
  73462. */
  73463. dataGrouping?: DataGroupingOptionsObject;
  73464. /**
  73465. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  73466. * labels, appearing next to each data point.
  73467. *
  73468. * Since v6.2.0, multiple data labels can be applied to each single point by
  73469. * defining them as an array of configs.
  73470. *
  73471. * In styled mode, the data labels can be styled with the
  73472. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  73473. * (see example).
  73474. */
  73475. dataLabels?: (PlotPyramid3dDataLabelsOptions|Array<PlotPyramid3dDataLabelsOptions>);
  73476. /**
  73477. * (Highcharts) Depth of the columns in a 3D column chart.
  73478. */
  73479. depth?: number;
  73480. /**
  73481. * (Highcharts) A description of the series to add to the screen reader
  73482. * information about the series.
  73483. */
  73484. description?: string;
  73485. /**
  73486. * (Highcharts) The draggable-points module allows points to be moved around
  73487. * or modified in the chart. In addition to the options mentioned under the
  73488. * `dragDrop` API structure, the module fires three events, point.dragStart,
  73489. * point.drag and point.drop.
  73490. */
  73491. dragDrop?: SeriesDragDropOptionsObject;
  73492. /**
  73493. * (Highcharts) 3D columns only. The color of the edges. Similar to
  73494. * `borderColor`, except it defaults to the same color as the column.
  73495. */
  73496. edgeColor?: ColorString;
  73497. /**
  73498. * (Highcharts) 3D columns only. The width of the colored edges.
  73499. */
  73500. edgeWidth?: number;
  73501. /**
  73502. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  73503. * This includes point tooltips and click events on graphs and points. For
  73504. * large datasets it improves performance.
  73505. */
  73506. enableMouseTracking?: boolean;
  73507. /**
  73508. * (Highcharts) General event handlers for the series items. These event
  73509. * hooks can also be attached to the series at run time using the
  73510. * `Highcharts.addEvent` function.
  73511. */
  73512. events?: SeriesEventsOptionsObject;
  73513. /**
  73514. * (Highcharts) Determines whether the series should look for the nearest
  73515. * point in both dimensions or just the x-dimension when hovering the
  73516. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  73517. * series. If the data has duplicate x-values, it is recommended to set this
  73518. * to `'xy'` to allow hovering over all points.
  73519. *
  73520. * Applies only to series types using nearest neighbor search (not direct
  73521. * hover) for tooltip.
  73522. */
  73523. findNearestPointBy?: OptionsFindNearestPointByValue;
  73524. /**
  73525. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  73526. * chart width or only the zoomed area when zooming in on parts of the X
  73527. * axis. By default, the Y axis adjusts to the min and max of the visible
  73528. * data. Cartesian series only.
  73529. */
  73530. getExtremesFromAll?: boolean;
  73531. /**
  73532. * (Highcharts) By deafult sides fill is set to a gradient through this
  73533. * option being set to `true`. Set to `false` to get solid color for the
  73534. * sides.
  73535. */
  73536. gradientForSides?: boolean;
  73537. /**
  73538. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  73539. * let them render independent of each other. Non-grouped columns will be
  73540. * laid out individually and overlap each other.
  73541. */
  73542. grouping?: boolean;
  73543. /**
  73544. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  73545. * axis units.
  73546. */
  73547. groupPadding?: number;
  73548. /**
  73549. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  73550. */
  73551. groupZPadding?: number;
  73552. /**
  73553. * (Highcharts) The height of the series. If it is a number it defines the
  73554. * pixel height, if it is a percentage string it is the percentage of the
  73555. * plot area height.
  73556. */
  73557. height?: (number|string);
  73558. /**
  73559. * (Highcharts) When set to `false` will prevent the series data from being
  73560. * included in any form of data export.
  73561. *
  73562. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  73563. * `includeInCSVExport`.
  73564. */
  73565. includeInDataExport?: boolean;
  73566. /**
  73567. * (Highmaps) What property to join the `mapData` to the value data. For
  73568. * example, if joinBy is "code", the mapData items with a specific code is
  73569. * merged into the data with the same code. For maps loaded from GeoJSON,
  73570. * the keys may be held in each point's `properties` object.
  73571. *
  73572. * The joinBy option can also be an array of two values, where the first
  73573. * points to a key in the `mapData`, and the second points to another key in
  73574. * the `data`.
  73575. *
  73576. * When joinBy is `null`, the map items are joined by their position in the
  73577. * array, which performs much better in maps with many data points. This is
  73578. * the recommended option if you are printing more than a thousand data
  73579. * points and have a backend that can preprocess the data into a parallel
  73580. * array of the mapData.
  73581. */
  73582. joinBy?: (string|Array<string>);
  73583. /**
  73584. * (Highcharts) An array specifying which option maps to which key in the
  73585. * data point array. This makes it convenient to work with unstructured data
  73586. * arrays from different sources.
  73587. */
  73588. keys?: Array<string>;
  73589. /**
  73590. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  73591. * series as possible in a natural way, seeking to avoid other series. The
  73592. * goal of this feature is to make the chart more easily readable, like if a
  73593. * human designer placed the labels in the optimal position.
  73594. *
  73595. * The series labels currently work with series types having a `graph` or an
  73596. * `area`.
  73597. */
  73598. label?: SeriesLabelOptionsObject;
  73599. /**
  73600. * (Highstock) The line marks the last price from all points.
  73601. */
  73602. lastPrice?: SeriesLastPriceOptionsObject;
  73603. /**
  73604. * (Highstock) The line marks the last price from visible range of points.
  73605. */
  73606. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  73607. /**
  73608. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  73609. * Additionally, the value can be ":previous" to link to the previous
  73610. * series. When two series are linked, only the first one appears in the
  73611. * legend. Toggling the visibility of this also toggles the linked series.
  73612. *
  73613. * If master series uses data sorting and linked series does not have its
  73614. * own sorting definition, the linked series will be sorted in the same
  73615. * order as the master one.
  73616. */
  73617. linkedTo?: string;
  73618. /**
  73619. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  73620. * column, translated to the height of a bar in a bar chart. This prevents
  73621. * the columns from becoming too wide when there is a small number of points
  73622. * in the chart.
  73623. */
  73624. maxPointWidth?: number;
  73625. /**
  73626. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  73627. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  73628. * to zero) point, set the minimal point length to a pixel value like 3\. In
  73629. * stacked column charts, minPointLength might not be respected for tightly
  73630. * packed values.
  73631. */
  73632. minPointLength?: number;
  73633. /**
  73634. * (Highstock) Options for the corresponding navigator series if
  73635. * `showInNavigator` is `true` for this series. Available options are the
  73636. * same as any series, documented at plotOptions and series.
  73637. *
  73638. * These options are merged with options in navigator.series, and will take
  73639. * precedence if the same option is defined both places.
  73640. */
  73641. navigatorOptions?: PlotSeriesOptions;
  73642. neckHeight?: number;
  73643. neckWidth?: number;
  73644. /**
  73645. * (Highcharts) The color for the parts of the graph or points that are
  73646. * below the threshold. Note that `zones` takes precedence over the negative
  73647. * color. Using `negativeColor` is equivalent to applying a zone with value
  73648. * of 0.
  73649. */
  73650. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  73651. /**
  73652. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  73653. * dataLabels.
  73654. */
  73655. opacity?: number;
  73656. /**
  73657. * (Highcharts) Properties for each single point.
  73658. */
  73659. point?: PlotSeriesPointOptions;
  73660. /**
  73661. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  73662. * individual series. Overrides the chart wide configuration.
  73663. */
  73664. pointDescriptionFormatter?: Function;
  73665. /**
  73666. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  73667. * a series, `pointInterval` defines the interval of the x values. For
  73668. * example, if a series contains one value every decade starting from year
  73669. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  73670. * `pointInterval` is set in milliseconds.
  73671. *
  73672. * It can be also be combined with `pointIntervalUnit` to draw irregular
  73673. * time intervals.
  73674. *
  73675. * Please note that this options applies to the _series data_, not the
  73676. * interval of the axis ticks, which is independent.
  73677. */
  73678. pointInterval?: number;
  73679. /**
  73680. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  73681. * setting the pointInterval to irregular time units, `day`, `month` and
  73682. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  73683. * also takes the DST crossover into consideration when dealing with local
  73684. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  73685. * months, 10 years etc.
  73686. *
  73687. * Please note that this options applies to the _series data_, not the
  73688. * interval of the axis ticks, which is independent.
  73689. */
  73690. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  73691. /**
  73692. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  73693. * axis units.
  73694. */
  73695. pointPadding?: number;
  73696. /**
  73697. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  73698. * `number`.
  73699. *
  73700. * In a column chart, when pointPlacement is `"on"`, the point will not
  73701. * create any padding of the X axis. In a polar column chart this means that
  73702. * the first column points directly north. If the pointPlacement is
  73703. * `"between"`, the columns will be laid out between ticks. This is useful
  73704. * for example for visualising an amount between two points in time or in a
  73705. * certain sector of a polar chart.
  73706. *
  73707. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  73708. * is on the axis value, -0.5 is between this value and the previous, and
  73709. * 0.5 is between this value and the next. Unlike the textual options,
  73710. * numeric point placement options won't affect axis padding.
  73711. *
  73712. * Note that pointPlacement needs a pointRange to work. For column series
  73713. * this is computed, but for line-type series it needs to be set.
  73714. *
  73715. * For the `xrange` series type and gantt charts, if the Y axis is a
  73716. * category axis, the `pointPlacement` applies to the Y axis rather than the
  73717. * (typically datetime) X axis.
  73718. *
  73719. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  73720. */
  73721. pointPlacement?: (number|string);
  73722. /**
  73723. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  73724. * for. This determines the width of the column. On a categorized axis, the
  73725. * range will be 1 by default (one category unit). On linear and datetime
  73726. * axes, the range will be computed as the distance between the two closest
  73727. * data points.
  73728. *
  73729. * The default `null` means it is computed automatically, but this option
  73730. * can be used to override the automatic value.
  73731. *
  73732. * This option is set by default to 1 if data sorting is enabled.
  73733. */
  73734. pointRange?: (number|null);
  73735. /**
  73736. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  73737. * a series, pointStart defines on what value to start. For example, if a
  73738. * series contains one yearly value starting from 1945, set pointStart to
  73739. * 1945.
  73740. */
  73741. pointStart?: number;
  73742. /**
  73743. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  73744. * each column or bar point. When `null`, the width is calculated from the
  73745. * `pointPadding` and `groupPadding`. The width effects the dimension that
  73746. * is not based on the point value. For column series it is the hoizontal
  73747. * length and for bar series it is the vertical length.
  73748. */
  73749. pointWidth?: number;
  73750. /**
  73751. * (Highcharts) A reversed pyramid3d is funnel3d, but the latter supports
  73752. * neck related options: neckHeight and neckWidth
  73753. */
  73754. reversed?: boolean;
  73755. /**
  73756. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  73757. * true, the checkbox next to the series name in the legend will be checked
  73758. * for a selected series.
  73759. */
  73760. selected?: boolean;
  73761. /**
  73762. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  73763. * the shadow can be an object configuration containing `color`, `offsetX`,
  73764. * `offsetY`, `opacity` and `width`.
  73765. */
  73766. shadow?: (boolean|ShadowOptionsObject);
  73767. /**
  73768. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  73769. * allow selecting the series. The state of the checkbox is determined by
  73770. * the `selected` option.
  73771. */
  73772. showCheckbox?: boolean;
  73773. /**
  73774. * (Highcharts) Whether to display this particular series or series type in
  73775. * the legend. Standalone series are shown in legend by default, and linked
  73776. * series are not. Since v7.2.0 it is possible to show series that use
  73777. * colorAxis by setting this option to `true`.
  73778. */
  73779. showInLegend?: boolean;
  73780. /**
  73781. * (Highstock) Whether or not to show the series in the navigator. Takes
  73782. * precedence over navigator.baseSeries if defined.
  73783. */
  73784. showInNavigator?: boolean;
  73785. /**
  73786. * (Highcharts) If set to `true`, the accessibility module will skip past
  73787. * the points in this series for keyboard navigation.
  73788. */
  73789. skipKeyboardNavigation?: boolean;
  73790. /**
  73791. * (Highcharts, Highstock) When this is true, the series will not cause the
  73792. * Y axis to cross the zero plane (or threshold option) unless the data
  73793. * actually crosses the plane.
  73794. *
  73795. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  73796. * make the Y axis show negative values according to the `minPadding`
  73797. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  73798. */
  73799. softThreshold?: boolean;
  73800. /**
  73801. * (Highcharts, Highstock) Whether to stack the values of each series on top
  73802. * of each other. Possible values are `undefined` to disable, `"normal"` to
  73803. * stack by value or `"percent"`.
  73804. *
  73805. * When stacking is enabled, data must be sorted in ascending X order.
  73806. *
  73807. * Some stacking options are related to specific series types. In the
  73808. * streamgraph series type, the stacking option is set to `"stream"`. The
  73809. * second one is `"overlap"`, which only applies to waterfall series.
  73810. */
  73811. stacking?: OptionsStackingValue;
  73812. states?: SeriesStatesOptionsObject;
  73813. /**
  73814. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  73815. * event on a series isn't triggered until the mouse moves over another
  73816. * series, or out of the plot area. When false, the `mouseOut` event on a
  73817. * series is triggered when the mouse leaves the area around the series'
  73818. * graph or markers. This also implies the tooltip when not shared. When
  73819. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  73820. * be hidden when moving the mouse between series. Defaults to true for line
  73821. * and area type series, but to false for columns, pies etc.
  73822. *
  73823. * **Note:** The boost module will force this option because of technical
  73824. * limitations.
  73825. */
  73826. stickyTracking?: boolean;
  73827. /**
  73828. * (Highcharts) The Y axis value to serve as the base for the columns, for
  73829. * distinguishing between values above and below a threshold. If `null`, the
  73830. * columns extend from the padding Y axis minimum.
  73831. */
  73832. threshold?: (number|null);
  73833. /**
  73834. * (Highcharts) A configuration object for the tooltip rendering of each
  73835. * single series. Properties are inherited from tooltip, but only the
  73836. * following properties can be defined on a series level.
  73837. */
  73838. tooltip?: SeriesTooltipOptionsObject;
  73839. /**
  73840. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  73841. * is longer than this, only one dimensional arrays of numbers, or two
  73842. * dimensional arrays with x and y values are allowed. Also, only the first
  73843. * point is tested, and the rest are assumed to be the same format. This
  73844. * saves expensive data checking and indexing in long series. Set it to `0`
  73845. * disable.
  73846. *
  73847. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  73848. * two dimensional arrays are allowed.
  73849. */
  73850. turboThreshold?: number;
  73851. /**
  73852. * (Highcharts) Set the initial visibility of the series.
  73853. */
  73854. visible?: boolean;
  73855. /**
  73856. * (Highcharts) The max width of the series compared to the width of the
  73857. * plot area, or the pixel width if it is a number.
  73858. */
  73859. width?: (number|string);
  73860. /**
  73861. * (Highmaps) Define the z index of the series.
  73862. */
  73863. zIndex?: number;
  73864. /**
  73865. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  73866. */
  73867. zoneAxis?: string;
  73868. /**
  73869. * (Highcharts, Highstock) An array defining zones within a series. Zones
  73870. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  73871. * the `zoneAxis` option. The zone definitions have to be in ascending order
  73872. * regarding to the value.
  73873. *
  73874. * In styled mode, the color zones are styled with the
  73875. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  73876. * option (view live demo).
  73877. */
  73878. zones?: Array<SeriesZonesOptionsObject>;
  73879. }
  73880. /**
  73881. * (Highcharts) Initial animation is by default disabled for the funnel chart.
  73882. */
  73883. export interface PlotPyramidAnimationOptions {
  73884. defer?: number;
  73885. }
  73886. /**
  73887. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  73888. * animation when a series is displayed for the `dataLabels`. The animation can
  73889. * also be set as a configuration object. Please note that this option only
  73890. * applies to the initial animation. For other animations, see chart.animation
  73891. * and the animation parameter under the API methods. The following properties
  73892. * are supported:
  73893. *
  73894. * - `defer`: The animation delay time in milliseconds.
  73895. */
  73896. export interface PlotPyramidDataLabelsAnimationOptions {
  73897. /**
  73898. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  73899. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  73900. * inherits defer time from the series.animation.defer.
  73901. */
  73902. defer?: number;
  73903. }
  73904. /**
  73905. * (Highcharts) A pyramid series is a special type of funnel, without neck and
  73906. * reversed by default.
  73907. *
  73908. * In TypeScript the type option must always be set.
  73909. *
  73910. * Configuration options for the series are given in three levels:
  73911. *
  73912. * 1. Options for all series in a chart are defined in the plotOptions.series
  73913. * object.
  73914. *
  73915. * 2. Options for all `pyramid` series are defined in plotOptions.pyramid.
  73916. *
  73917. * 3. Options for one single series are given in the series instance array. (see
  73918. * online documentation for example)
  73919. */
  73920. export interface PlotPyramidOptions {
  73921. /**
  73922. * (Highcharts) Accessibility options for a series.
  73923. */
  73924. accessibility?: SeriesAccessibilityOptionsObject;
  73925. /**
  73926. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  73927. * rendered. If `true`, areas which don't correspond to a data point, are
  73928. * rendered as `null` points. If `false`, those areas are skipped.
  73929. */
  73930. allAreas?: boolean;
  73931. /**
  73932. * (Highcharts) Allow this series' points to be selected by clicking on the
  73933. * graphic (columns, point markers, pie slices, map areas etc).
  73934. *
  73935. * The selected points can be handled by point select and unselect events,
  73936. * or collectively by the getSelectedPoints function.
  73937. *
  73938. * And alternative way of selecting points is through dragging.
  73939. */
  73940. allowPointSelect?: boolean;
  73941. /**
  73942. * (Highcharts) Initial animation is by default disabled for the funnel
  73943. * chart.
  73944. */
  73945. animation?: (boolean|PlotPyramidAnimationOptions);
  73946. /**
  73947. * (Highcharts) The color of the border surrounding each slice. When `null`,
  73948. * the border takes the same color as the slice fill. This can be used
  73949. * together with a `borderWidth` to fill drawing gaps created by
  73950. * antialiazing artefacts in borderless pies.
  73951. *
  73952. * In styled mode, the border stroke is given in the `.highcharts-point`
  73953. * class.
  73954. */
  73955. borderColor?: (ColorString|GradientColorObject|PatternObject);
  73956. /**
  73957. * (Highcharts) The width of the border surrounding each slice.
  73958. *
  73959. * When setting the border width to 0, there may be small gaps between the
  73960. * slices due to SVG antialiasing artefacts. To work around this, keep the
  73961. * border width at 0.5 or 1, but set the `borderColor` to `null` instead.
  73962. *
  73963. * In styled mode, the border stroke width is given in the
  73964. * `.highcharts-point` class.
  73965. */
  73966. borderWidth?: number;
  73967. /**
  73968. * (Highcharts) The center of the series. By default, it is centered in the
  73969. * middle of the plot area, so it fills the plot area height.
  73970. */
  73971. center?: Array<(number|string)>;
  73972. /**
  73973. * (Highcharts) An additional class name to apply to the series' graphical
  73974. * elements. This option does not replace default class names of the
  73975. * graphical element.
  73976. */
  73977. className?: string;
  73978. /**
  73979. * (Highcharts) Disable this option to allow series rendering in the whole
  73980. * plotting area.
  73981. *
  73982. * **Note:** Clipping should be always enabled when chart.zoomType is set
  73983. */
  73984. clip?: boolean;
  73985. /**
  73986. * (Highcharts) The color of the pie series. A pie series is represented as
  73987. * an empty circle if the total sum of its values is 0. Use this property to
  73988. * define the color of its border.
  73989. *
  73990. * In styled mode, the color can be defined by the colorIndex option. Also,
  73991. * the series color can be set with the `.highcharts-series`,
  73992. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  73993. * `.highcharts-series-{n}` class, or individual classes given by the
  73994. * `className` option.
  73995. */
  73996. color?: (ColorString|GradientColorObject|PatternObject);
  73997. /**
  73998. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  73999. * this number defines which colorAxis the particular series is connected
  74000. * to. It refers to either the axis id or the index of the axis in the
  74001. * colorAxis array, with 0 being the first. Set this option to false to
  74002. * prevent a series from connecting to the default color axis.
  74003. *
  74004. * Since v7.2.0 the option can also be an axis id or an axis index instead
  74005. * of a boolean flag.
  74006. */
  74007. colorAxis?: (boolean|number|string);
  74008. /**
  74009. * (Highcharts) Styled mode only. A specific color index to use for the
  74010. * series, so its graphic representations are given the class name
  74011. * `highcharts-color-{n}`.
  74012. */
  74013. colorIndex?: number;
  74014. /**
  74015. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  74016. * used to calculate point color if `colorAxis` is used. Requires to set
  74017. * `min` and `max` if some custom point property is used or if approximation
  74018. * for data grouping is set to `'sum'`.
  74019. */
  74020. colorKey?: string;
  74021. /**
  74022. * (Highcharts) A series specific or series type specific color set to use
  74023. * instead of the global colors.
  74024. */
  74025. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  74026. /**
  74027. * (Highstock) Compare the values of the series against the first non-null,
  74028. * non- zero value in the visible range. The y axis will show percentage or
  74029. * absolute change depending on whether `compare` is set to `"percent"` or
  74030. * `"value"`. When this is applied to multiple series, it allows comparing
  74031. * the development of the series against each other. Adds a `change` field
  74032. * to every point object.
  74033. */
  74034. compare?: string;
  74035. /**
  74036. * (Highstock) When compare is `percent`, this option dictates whether to
  74037. * use 0 or 100 as the base of comparison.
  74038. */
  74039. compareBase?: (0|100);
  74040. /**
  74041. * (Highstock) Defines if comparison should start from the first point
  74042. * within the visible range or should start from the first point **before**
  74043. * the range.
  74044. *
  74045. * In other words, this flag determines if first point within the visible
  74046. * range will have 0% (`compareStart=true`) or should have been already
  74047. * calculated according to the previous point (`compareStart=false`).
  74048. */
  74049. compareStart?: boolean;
  74050. /**
  74051. * (Gantt) Override Pathfinder connector options for a series. Requires
  74052. * Highcharts Gantt to be loaded.
  74053. */
  74054. connectors?: SeriesConnectorsOptionsObject;
  74055. /**
  74056. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  74057. * rounded to its nearest pixel in order to render sharp on screen. In some
  74058. * cases, when there are a lot of densely packed columns, this leads to
  74059. * visible difference in column widths or distance between columns. In these
  74060. * cases, setting `crisp` to `false` may look better, even though each
  74061. * column is rendered blurry.
  74062. */
  74063. crisp?: boolean;
  74064. /**
  74065. * (Highcharts) You can set the cursor to "pointer" if you have click events
  74066. * attached to the series, to signal to the user that the points and lines
  74067. * can be clicked.
  74068. *
  74069. * In styled mode, the series cursor can be set with the same classes as
  74070. * listed under series.color.
  74071. */
  74072. cursor?: (string|CursorValue);
  74073. /**
  74074. * (Highcharts) A reserved subspace to store options and values for
  74075. * customized functionality. Here you can add additional data for your own
  74076. * event callbacks and formatter callbacks.
  74077. */
  74078. custom?: Dictionary<any>;
  74079. /**
  74080. * (Highstock) Data grouping is the concept of sampling the data values into
  74081. * larger blocks in order to ease readability and increase performance of
  74082. * the JavaScript charts. Highstock by default applies data grouping when
  74083. * the points become closer than a certain pixel value, determined by the
  74084. * `groupPixelWidth` option.
  74085. *
  74086. * If data grouping is applied, the grouping information of grouped points
  74087. * can be read from the Point.dataGroup. If point options other than the
  74088. * data itself are set, for example `name` or `color` or custom properties,
  74089. * the grouping logic doesn't know how to group it. In this case the options
  74090. * of the first point instance are copied over to the group point. This can
  74091. * be altered through a custom `approximation` callback function.
  74092. */
  74093. dataGrouping?: DataGroupingOptionsObject;
  74094. /**
  74095. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  74096. * labels, appearing next to each data point.
  74097. *
  74098. * Since v6.2.0, multiple data labels can be applied to each single point by
  74099. * defining them as an array of configs.
  74100. *
  74101. * In styled mode, the data labels can be styled with the
  74102. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  74103. * (see example).
  74104. */
  74105. dataLabels?: (SeriesPieDataLabelsOptionsObject|Array<SeriesPieDataLabelsOptionsObject>);
  74106. /**
  74107. * (Highcharts) The thickness of a 3D pie.
  74108. */
  74109. depth?: number;
  74110. /**
  74111. * (Highcharts) A description of the series to add to the screen reader
  74112. * information about the series.
  74113. */
  74114. description?: string;
  74115. /**
  74116. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  74117. * This includes point tooltips and click events on graphs and points. For
  74118. * large datasets it improves performance.
  74119. */
  74120. enableMouseTracking?: boolean;
  74121. /**
  74122. * (Highcharts) The end angle of the pie in degrees where 0 is top and 90 is
  74123. * right. Defaults to `startAngle` plus 360.
  74124. */
  74125. endAngle?: number;
  74126. /**
  74127. * (Highcharts) General event handlers for the series items. These event
  74128. * hooks can also be attached to the series at run time using the
  74129. * `Highcharts.addEvent` function.
  74130. */
  74131. events?: SeriesEventsOptionsObject;
  74132. /**
  74133. * (Highcharts) If the total sum of the pie's values is 0, the series is
  74134. * represented as an empty circle . The `fillColor` option defines the color
  74135. * of that circle. Use pie.borderWidth to set the border thickness.
  74136. */
  74137. fillColor?: (ColorString|GradientColorObject|PatternObject);
  74138. /**
  74139. * (Highstock) Defines when to display a gap in the graph, together with the
  74140. * gapUnit option.
  74141. *
  74142. * In case when `dataGrouping` is enabled, points can be grouped into a
  74143. * larger time span. This can make the grouped points to have a greater
  74144. * distance than the absolute value of `gapSize` property, which will result
  74145. * in disappearing graph completely. To prevent this situation the mentioned
  74146. * distance between grouped points is used instead of previously defined
  74147. * `gapSize`.
  74148. *
  74149. * In practice, this option is most often used to visualize gaps in time
  74150. * series. In a stock chart, intraday data is available for daytime hours,
  74151. * while gaps will appear in nights and weekends.
  74152. */
  74153. gapSize?: number;
  74154. /**
  74155. * (Highstock) Together with gapSize, this option defines where to draw gaps
  74156. * in the graph.
  74157. *
  74158. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  74159. * if the distance between two points is greater than 5 times that of the
  74160. * two closest points, the graph will be broken.
  74161. *
  74162. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  74163. * values, which on a datetime axis is milliseconds. This also applies to
  74164. * the navigator series that inherits gap options from the base series.
  74165. */
  74166. gapUnit?: OptionsGapUnitValue;
  74167. /**
  74168. * (Highcharts) The height of the funnel or pyramid. If it is a number it
  74169. * defines the pixel height, if it is a percentage string it is the
  74170. * percentage of the plot area height.
  74171. */
  74172. height?: (number|string);
  74173. /**
  74174. * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
  74175. * whether the series shall be redrawn as if the hidden point were `null`.
  74176. *
  74177. * The default value changed from `false` to `true` with Highcharts 3.0.
  74178. */
  74179. ignoreHiddenPoint?: boolean;
  74180. /**
  74181. * (Highcharts) When set to `false` will prevent the series data from being
  74182. * included in any form of data export.
  74183. *
  74184. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  74185. * `includeInCSVExport`.
  74186. */
  74187. includeInDataExport?: boolean;
  74188. /**
  74189. * (Highmaps) What property to join the `mapData` to the value data. For
  74190. * example, if joinBy is "code", the mapData items with a specific code is
  74191. * merged into the data with the same code. For maps loaded from GeoJSON,
  74192. * the keys may be held in each point's `properties` object.
  74193. *
  74194. * The joinBy option can also be an array of two values, where the first
  74195. * points to a key in the `mapData`, and the second points to another key in
  74196. * the `data`.
  74197. *
  74198. * When joinBy is `null`, the map items are joined by their position in the
  74199. * array, which performs much better in maps with many data points. This is
  74200. * the recommended option if you are printing more than a thousand data
  74201. * points and have a backend that can preprocess the data into a parallel
  74202. * array of the mapData.
  74203. */
  74204. joinBy?: (string|Array<string>);
  74205. /**
  74206. * (Highcharts) An array specifying which option maps to which key in the
  74207. * data point array. This makes it convenient to work with unstructured data
  74208. * arrays from different sources.
  74209. */
  74210. keys?: Array<string>;
  74211. /**
  74212. * (Highstock) The line marks the last price from all points.
  74213. */
  74214. lastPrice?: SeriesLastPriceOptionsObject;
  74215. /**
  74216. * (Highstock) The line marks the last price from visible range of points.
  74217. */
  74218. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  74219. /**
  74220. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  74221. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  74222. * the ends and bends.
  74223. */
  74224. linecap?: SeriesLinecapValue;
  74225. /**
  74226. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  74227. * Additionally, the value can be ":previous" to link to the previous
  74228. * series. When two series are linked, only the first one appears in the
  74229. * legend. Toggling the visibility of this also toggles the linked series.
  74230. *
  74231. * If master series uses data sorting and linked series does not have its
  74232. * own sorting definition, the linked series will be sorted in the same
  74233. * order as the master one.
  74234. */
  74235. linkedTo?: string;
  74236. /**
  74237. * (Highcharts) The minimum size for a pie in response to auto margins. The
  74238. * pie will try to shrink to make room for data labels in side the plot
  74239. * area, but only to this size.
  74240. */
  74241. minSize?: (number|string);
  74242. /**
  74243. * (Highstock) Options for the corresponding navigator series if
  74244. * `showInNavigator` is `true` for this series. Available options are the
  74245. * same as any series, documented at plotOptions and series.
  74246. *
  74247. * These options are merged with options in navigator.series, and will take
  74248. * precedence if the same option is defined both places.
  74249. */
  74250. navigatorOptions?: PlotSeriesOptions;
  74251. /**
  74252. * (Highcharts) The pyramid neck width is zero by default, as opposed to the
  74253. * funnel, which shares the same layout logic.
  74254. */
  74255. neckHeight?: string;
  74256. /**
  74257. * (Highcharts) The pyramid neck width is zero by default, as opposed to the
  74258. * funnel, which shares the same layout logic.
  74259. */
  74260. neckWidth?: string;
  74261. /**
  74262. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  74263. * dataLabels.
  74264. */
  74265. opacity?: number;
  74266. /**
  74267. * (Highcharts) Properties for each single point.
  74268. */
  74269. point?: PlotSeriesPointOptions;
  74270. /**
  74271. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  74272. * individual series. Overrides the chart wide configuration.
  74273. */
  74274. pointDescriptionFormatter?: Function;
  74275. /**
  74276. * (Highstock) The width of each point on the x axis. For example in a
  74277. * column chart with one value each day, the pointRange would be 1 day (= 24
  74278. * * 3600
  74279. *
  74280. * * 1000 milliseconds). This is normally computed automatically, but this
  74281. * option can be used to override the automatic value.
  74282. */
  74283. pointRange?: number;
  74284. /**
  74285. * (Highcharts) The pyramid is reversed by default, as opposed to the
  74286. * funnel, which shares the layout engine, and is not reversed.
  74287. */
  74288. reversed?: boolean;
  74289. /**
  74290. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  74291. * true, the checkbox next to the series name in the legend will be checked
  74292. * for a selected series.
  74293. */
  74294. selected?: boolean;
  74295. /**
  74296. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  74297. * the shadow can be an object configuration containing `color`, `offsetX`,
  74298. * `offsetY`, `opacity` and `width`.
  74299. */
  74300. shadow?: (boolean|ShadowOptionsObject);
  74301. /**
  74302. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  74303. * allow selecting the series. The state of the checkbox is determined by
  74304. * the `selected` option.
  74305. */
  74306. showCheckbox?: boolean;
  74307. /**
  74308. * (Highcharts) Whether to display this particular series or series type in
  74309. * the legend. Since 2.1, pies are not shown in the legend by default.
  74310. */
  74311. showInLegend?: boolean;
  74312. /**
  74313. * (Highstock) Whether or not to show the series in the navigator. Takes
  74314. * precedence over navigator.baseSeries if defined.
  74315. */
  74316. showInNavigator?: boolean;
  74317. /**
  74318. * (Highcharts) If set to `true`, the accessibility module will skip past
  74319. * the points in this series for keyboard navigation.
  74320. */
  74321. skipKeyboardNavigation?: boolean;
  74322. /**
  74323. * (Highcharts) If a point is sliced, moved out from the center, how many
  74324. * pixels should it be moved?.
  74325. */
  74326. slicedOffset?: number;
  74327. /**
  74328. * (Highcharts) The start angle of the pie slices in degrees where 0 is top
  74329. * and 90 right.
  74330. */
  74331. startAngle?: number;
  74332. /**
  74333. * (Highcharts) Options for the series states.
  74334. */
  74335. states?: SeriesStatesOptionsObject;
  74336. /**
  74337. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  74338. * event on a series isn't triggered until the mouse moves over another
  74339. * series, or out of the plot area. When false, the `mouseOut` event on a
  74340. * series is triggered when the mouse leaves the area around the series'
  74341. * graph or markers. This also implies the tooltip. When `stickyTracking` is
  74342. * false and `tooltip.shared` is false, the tooltip will be hidden when
  74343. * moving the mouse between series.
  74344. */
  74345. stickyTracking?: boolean;
  74346. /**
  74347. * (Highcharts) A configuration object for the tooltip rendering of each
  74348. * single series. Properties are inherited from tooltip, but only the
  74349. * following properties can be defined on a series level.
  74350. */
  74351. tooltip?: SeriesTooltipOptionsObject;
  74352. /**
  74353. * (Highstock) The parameter allows setting line series type and use OHLC
  74354. * indicators. Data in OHLC format is required.
  74355. */
  74356. useOhlcData?: boolean;
  74357. /**
  74358. * (Highcharts) Set the initial visibility of the series.
  74359. */
  74360. visible?: boolean;
  74361. /**
  74362. * (Highcharts) The width of the funnel compared to the width of the plot
  74363. * area, or the pixel width if it is a number.
  74364. */
  74365. width?: (number|string);
  74366. /**
  74367. * (Highmaps) Define the z index of the series.
  74368. */
  74369. zIndex?: number;
  74370. }
  74371. /**
  74372. * (Highstock) Enable or disable the initial animation when a series is
  74373. * displayed. The animation can also be set as a configuration object. Please
  74374. * note that this option only applies to the initial animation of the series
  74375. * itself. For other animations, see chart.animation and the animation parameter
  74376. * under the API methods. The following properties are supported:
  74377. *
  74378. * - `defer`: The animation delay time in milliseconds.
  74379. *
  74380. * - `duration`: The duration of the animation in milliseconds.
  74381. *
  74382. * - `easing`: Can be a string reference to an easing function set on the `Math`
  74383. * object or a function. See the _Custom easing function_ demo below.
  74384. *
  74385. * Due to poor performance, animation is disabled in old IE browsers for several
  74386. * chart types.
  74387. */
  74388. export interface PlotRocAnimationOptions {
  74389. defer?: number;
  74390. }
  74391. /**
  74392. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  74393. * animation when a series is displayed for the `dataLabels`. The animation can
  74394. * also be set as a configuration object. Please note that this option only
  74395. * applies to the initial animation. For other animations, see chart.animation
  74396. * and the animation parameter under the API methods. The following properties
  74397. * are supported:
  74398. *
  74399. * - `defer`: The animation delay time in milliseconds.
  74400. */
  74401. export interface PlotRocDataLabelsAnimationOptions {
  74402. /**
  74403. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  74404. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  74405. * inherits defer time from the series.animation.defer.
  74406. */
  74407. defer?: number;
  74408. }
  74409. /**
  74410. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  74411. * appearing next to each data point.
  74412. *
  74413. * Since v6.2.0, multiple data labels can be applied to each single point by
  74414. * defining them as an array of configs.
  74415. *
  74416. * In styled mode, the data labels can be styled with the
  74417. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  74418. * example).
  74419. */
  74420. export interface PlotRocDataLabelsOptions {
  74421. /**
  74422. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  74423. * compared to the point. If `right`, the right side of the label should be
  74424. * touching the point. For points with an extent, like columns, the
  74425. * alignments also dictates how to align it inside the box, as given with
  74426. * the inside option. Can be one of `left`, `center` or `right`.
  74427. */
  74428. align?: (AlignValue|null);
  74429. /**
  74430. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  74431. * overlap. To make the labels less sensitive for overlapping, the
  74432. * dataLabels.padding can be set to 0.
  74433. */
  74434. allowOverlap?: boolean;
  74435. /**
  74436. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  74437. * animation when a series is displayed for the `dataLabels`. The animation
  74438. * can also be set as a configuration object. Please note that this option
  74439. * only applies to the initial animation. For other animations, see
  74440. * chart.animation and the animation parameter under the API methods. The
  74441. * following properties are supported:
  74442. *
  74443. * - `defer`: The animation delay time in milliseconds.
  74444. */
  74445. animation?: (boolean|PlotRocDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  74446. /**
  74447. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  74448. * for the data label.
  74449. */
  74450. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  74451. /**
  74452. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  74453. * label. Defaults to `undefined`.
  74454. */
  74455. borderColor?: (ColorString|GradientColorObject|PatternObject);
  74456. /**
  74457. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  74458. * the data label.
  74459. */
  74460. borderRadius?: number;
  74461. /**
  74462. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  74463. * the data label.
  74464. */
  74465. borderWidth?: number;
  74466. /**
  74467. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  74468. * Particularly in styled mode, this can be used to give each series' or
  74469. * point's data label unique styling. In addition to this option, a default
  74470. * color class name is added so that we can give the labels a contrast text
  74471. * shadow.
  74472. */
  74473. className?: string;
  74474. /**
  74475. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  74476. * labels. Defaults to `undefined`. For certain series types, like column or
  74477. * map, the data labels can be drawn inside the points. In this case the
  74478. * data label will be drawn with maximum contrast by default. Additionally,
  74479. * it will be given a `text-outline` style with the opposite color, to
  74480. * further increase the contrast. This can be overridden by setting the
  74481. * `text-outline` style to `none` in the `dataLabels.style` option.
  74482. */
  74483. color?: (ColorString|GradientColorObject|PatternObject);
  74484. /**
  74485. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  74486. * are outside the plot area. By default, the data label is moved inside the
  74487. * plot area according to the overflow option.
  74488. */
  74489. crop?: boolean;
  74490. /**
  74491. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  74492. * labels until the initial series animation has finished. Setting to
  74493. * `false` renders the data label immediately. If set to `true` inherits the
  74494. * defer time set in plotOptions.series.animation.
  74495. */
  74496. defer?: boolean;
  74497. /**
  74498. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  74499. * labels.
  74500. */
  74501. enabled?: boolean;
  74502. /**
  74503. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  74504. * of which data labels to display. The declarative filter is designed for
  74505. * use when callback functions are not available, like when the chart
  74506. * options require a pure JSON structure or for use with graphical editors.
  74507. * For programmatic control, use the `formatter` instead, and return
  74508. * `undefined` to disable a single data label.
  74509. */
  74510. filter?: DataLabelsFilterOptionsObject;
  74511. /**
  74512. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  74513. * label. Available variables are the same as for `formatter`.
  74514. */
  74515. format?: string;
  74516. /**
  74517. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  74518. * format the data label. Note that if a `format` is defined, the format
  74519. * takes precedence and the formatter is ignored.
  74520. */
  74521. formatter?: DataLabelsFormatterCallbackFunction;
  74522. /**
  74523. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  74524. * columns or map areas, whether to align the data label inside the box or
  74525. * to the actual value point. Defaults to `false` in most cases, `true` in
  74526. * stacked columns.
  74527. */
  74528. inside?: boolean;
  74529. /**
  74530. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  74531. * of null. Works analogously to format. `nullFormat` can be applied only to
  74532. * series which support displaying null points.
  74533. */
  74534. nullFormat?: (boolean|string);
  74535. /**
  74536. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  74537. * that defines formatting for points with the value of null. Works
  74538. * analogously to formatter. `nullPointFormatter` can be applied only to
  74539. * series which support displaying null points.
  74540. */
  74541. nullFormatter?: DataLabelsFormatterCallbackFunction;
  74542. /**
  74543. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  74544. * flow outside the plot area. The default is `"justify"`, which aligns them
  74545. * inside the plot area. For columns and bars, this means it will be moved
  74546. * inside the bar. To display data labels outside the plot area, set `crop`
  74547. * to `false` and `overflow` to `"allow"`.
  74548. */
  74549. overflow?: DataLabelsOverflowValue;
  74550. /**
  74551. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  74552. * the `backgroundColor` is set, this is the padding within the box.
  74553. */
  74554. padding?: number;
  74555. /**
  74556. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  74557. * points. If `center` alignment is not possible, it defaults to `right`.
  74558. */
  74559. position?: AlignValue;
  74560. /**
  74561. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  74562. * that due to a more complex structure, backgrounds, borders and padding
  74563. * will be lost on a rotated data label.
  74564. */
  74565. rotation?: number;
  74566. /**
  74567. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  74568. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  74569. * an object configuration containing `color`, `offsetX`, `offsetY`,
  74570. * `opacity` and `width`.
  74571. */
  74572. shadow?: (boolean|ShadowOptionsObject);
  74573. /**
  74574. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  74575. * the border around the label. Symbols are predefined functions on the
  74576. * Renderer object.
  74577. */
  74578. shape?: string;
  74579. /**
  74580. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  74581. * default `color` setting is `"contrast"`, which is a pseudo color that
  74582. * Highcharts picks up and applies the maximum contrast to the underlying
  74583. * point item, for example the bar in a bar chart.
  74584. *
  74585. * The `textOutline` is a pseudo property that applies an outline of the
  74586. * given width with the given color, which by default is the maximum
  74587. * contrast to the text. So a bright text color will result in a black text
  74588. * outline for maximum readability on a mixed background. In some cases,
  74589. * especially with grayscale text, the text outline doesn't work well, in
  74590. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  74591. * is true, the `textOutline` will not be picked up. In this, case, the same
  74592. * effect can be acheived through the `text-shadow` CSS property.
  74593. *
  74594. * For some series types, where each point has an extent, like for example
  74595. * tree maps, the data label may overflow the point. There are two
  74596. * strategies for handling overflow. By default, the text will wrap to
  74597. * multiple lines. The other strategy is to set `style.textOverflow` to
  74598. * `ellipsis`, which will keep the text on one line plus it will break
  74599. * inside long words.
  74600. */
  74601. style?: CSSObject;
  74602. /**
  74603. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  74604. * should follow marker's shape. Border and background are disabled for a
  74605. * label that follows a path.
  74606. *
  74607. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  74608. * to true will disable this option.
  74609. */
  74610. textPath?: DataLabelsTextPathOptionsObject;
  74611. /**
  74612. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  74613. * the labels.
  74614. */
  74615. useHTML?: boolean;
  74616. /**
  74617. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  74618. * label. Can be one of `top`, `middle` or `bottom`. The default value
  74619. * depends on the data, for instance in a column chart, the label is above
  74620. * positive values and below negative values.
  74621. */
  74622. verticalAlign?: (VerticalAlignValue|null);
  74623. /**
  74624. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  74625. * label relative to the point in pixels.
  74626. */
  74627. x?: number;
  74628. /**
  74629. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  74630. * label relative to the point in pixels.
  74631. */
  74632. y?: number;
  74633. /**
  74634. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  74635. * The default Z index puts it above the series. Use a Z index of 2 to
  74636. * display it behind the series.
  74637. */
  74638. z?: number;
  74639. }
  74640. /**
  74641. * (Highcharts, Highstock) Options for the series data sorting.
  74642. */
  74643. export interface PlotRocDataSortingOptions {
  74644. /**
  74645. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  74646. * Use xAxis.reversed to change the sorting order.
  74647. */
  74648. enabled?: boolean;
  74649. /**
  74650. * (Highcharts, Highstock) Whether to allow matching points by name in an
  74651. * update. If this option is disabled, points will be matched by order.
  74652. */
  74653. matchByName?: boolean;
  74654. /**
  74655. * (Highcharts, Highstock) Determines what data value should be used to sort
  74656. * by.
  74657. */
  74658. sortKey?: string;
  74659. }
  74660. /**
  74661. * (Highstock) Rate of change indicator (ROC). The indicator value for each
  74662. * point is defined as:
  74663. *
  74664. * `(C - Cn) / Cn * 100`
  74665. *
  74666. * where: `C` is the close value of the point of the same x in the linked series
  74667. * and `Cn` is the close value of the point `n` periods ago. `n` is set through
  74668. * period.
  74669. *
  74670. * This series requires `linkedTo` option to be set.
  74671. *
  74672. * In TypeScript the type option must always be set.
  74673. *
  74674. * Configuration options for the series are given in three levels:
  74675. *
  74676. * 1. Options for all series in a chart are defined in the plotOptions.series
  74677. * object.
  74678. *
  74679. * 2. Options for all `roc` series are defined in plotOptions.roc.
  74680. *
  74681. * 3. Options for one single series are given in the series instance array. (see
  74682. * online documentation for example)
  74683. */
  74684. export interface PlotRocOptions {
  74685. /**
  74686. * (Highstock) Accessibility options for a series.
  74687. */
  74688. accessibility?: SeriesAccessibilityOptionsObject;
  74689. /**
  74690. * (Highstock) Allow this series' points to be selected by clicking on the
  74691. * graphic (columns, point markers, pie slices, map areas etc).
  74692. *
  74693. * The selected points can be handled by point select and unselect events,
  74694. * or collectively by the getSelectedPoints function.
  74695. *
  74696. * And alternative way of selecting points is through dragging.
  74697. */
  74698. allowPointSelect?: boolean;
  74699. /**
  74700. * (Highstock) Enable or disable the initial animation when a series is
  74701. * displayed. The animation can also be set as a configuration object.
  74702. * Please note that this option only applies to the initial animation of the
  74703. * series itself. For other animations, see chart.animation and the
  74704. * animation parameter under the API methods. The following properties are
  74705. * supported:
  74706. *
  74707. * - `defer`: The animation delay time in milliseconds.
  74708. *
  74709. * - `duration`: The duration of the animation in milliseconds.
  74710. *
  74711. * - `easing`: Can be a string reference to an easing function set on the
  74712. * `Math` object or a function. See the _Custom easing function_ demo below.
  74713. *
  74714. * Due to poor performance, animation is disabled in old IE browsers for
  74715. * several chart types.
  74716. */
  74717. animation?: (boolean|PlotRocAnimationOptions|Partial<AnimationOptionsObject>);
  74718. /**
  74719. * (Highstock) For some series, there is a limit that shuts down initial
  74720. * animation by default when the total number of points in the chart is too
  74721. * high. For example, for a column chart and its derivatives, animation does
  74722. * not run if there is more than 250 points totally. To disable this cap,
  74723. * set `animationLimit` to `Infinity`.
  74724. */
  74725. animationLimit?: number;
  74726. /**
  74727. * (Highstock) Sets the color blending in the boost module.
  74728. */
  74729. boostBlending?: OptionsBoostBlendingValue;
  74730. /**
  74731. * (Highstock) Set the point threshold for when a series should enter boost
  74732. * mode.
  74733. *
  74734. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  74735. * there are 2000 or more points in the series.
  74736. *
  74737. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  74738. * it to 1 will force boosting.
  74739. *
  74740. * Note that the cropThreshold also affects this setting. When zooming in on
  74741. * a series that has fewer points than the `cropThreshold`, all points are
  74742. * rendered although outside the visible plot area, and the `boostThreshold`
  74743. * won't take effect.
  74744. */
  74745. boostThreshold?: number;
  74746. /**
  74747. * (Highmaps) The border color of the map areas.
  74748. *
  74749. * In styled mode, the border stroke is given in the `.highcharts-point`
  74750. * class.
  74751. */
  74752. borderColor?: (ColorString|GradientColorObject|PatternObject);
  74753. /**
  74754. * (Highmaps) The border width of each map area.
  74755. *
  74756. * In styled mode, the border stroke width is given in the
  74757. * `.highcharts-point` class.
  74758. */
  74759. borderWidth?: number;
  74760. /**
  74761. * (Highstock) An additional class name to apply to the series' graphical
  74762. * elements. This option does not replace default class names of the
  74763. * graphical element.
  74764. */
  74765. className?: string;
  74766. /**
  74767. * (Highstock) Disable this option to allow series rendering in the whole
  74768. * plotting area.
  74769. *
  74770. * **Note:** Clipping should be always enabled when chart.zoomType is set
  74771. */
  74772. clip?: boolean;
  74773. /**
  74774. * (Highstock) The main color of the series. In line type series it applies
  74775. * to the line and the point markers unless otherwise specified. In bar type
  74776. * series it applies to the bars unless a color is specified per point. The
  74777. * default value is pulled from the `options.colors` array.
  74778. *
  74779. * In styled mode, the color can be defined by the colorIndex option. Also,
  74780. * the series color can be set with the `.highcharts-series`,
  74781. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  74782. * `.highcharts-series-{n}` class, or individual classes given by the
  74783. * `className` option.
  74784. */
  74785. color?: (ColorString|GradientColorObject|PatternObject);
  74786. /**
  74787. * (Highstock) Styled mode only. A specific color index to use for the
  74788. * series, so its graphic representations are given the class name
  74789. * `highcharts-color-{n}`.
  74790. */
  74791. colorIndex?: number;
  74792. /**
  74793. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  74794. * used to calculate point color if `colorAxis` is used. Requires to set
  74795. * `min` and `max` if some custom point property is used or if approximation
  74796. * for data grouping is set to `'sum'`.
  74797. */
  74798. colorKey?: string;
  74799. /**
  74800. * (Highstock) Compare the values of the series against the first non-null,
  74801. * non- zero value in the visible range. The y axis will show percentage or
  74802. * absolute change depending on whether `compare` is set to `"percent"` or
  74803. * `"value"`. When this is applied to multiple series, it allows comparing
  74804. * the development of the series against each other. Adds a `change` field
  74805. * to every point object.
  74806. */
  74807. compare?: string;
  74808. /**
  74809. * (Highstock) When compare is `percent`, this option dictates whether to
  74810. * use 0 or 100 as the base of comparison.
  74811. */
  74812. compareBase?: (0|100);
  74813. /**
  74814. * (Highstock) Defines if comparison should start from the first point
  74815. * within the visible range or should start from the first point **before**
  74816. * the range.
  74817. *
  74818. * In other words, this flag determines if first point within the visible
  74819. * range will have 0% (`compareStart=true`) or should have been already
  74820. * calculated according to the previous point (`compareStart=false`).
  74821. */
  74822. compareStart?: boolean;
  74823. /**
  74824. * (Highstock) Whether to compare indicator to the main series values or
  74825. * indicator values.
  74826. */
  74827. compareToMain?: boolean;
  74828. /**
  74829. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  74830. * series plot across the extremes.
  74831. */
  74832. connectEnds?: boolean;
  74833. /**
  74834. * (Highcharts, Highstock) Whether to connect a graph line across null
  74835. * points, or render a gap between the two points on either side of the
  74836. * null.
  74837. */
  74838. connectNulls?: boolean;
  74839. /**
  74840. * (Gantt) Override Pathfinder connector options for a series. Requires
  74841. * Highcharts Gantt to be loaded.
  74842. */
  74843. connectors?: SeriesConnectorsOptionsObject;
  74844. /**
  74845. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  74846. * rounded to its nearest pixel in order to render sharp on screen. In some
  74847. * cases, when there are a lot of densely packed columns, this leads to
  74848. * visible difference in column widths or distance between columns. In these
  74849. * cases, setting `crisp` to `false` may look better, even though each
  74850. * column is rendered blurry.
  74851. */
  74852. crisp?: boolean;
  74853. /**
  74854. * (Highcharts, Highstock) When the series contains less points than the
  74855. * crop threshold, all points are drawn, even if the points fall outside the
  74856. * visible plot area at the current zoom. The advantage of drawing all
  74857. * points (including markers and columns), is that animation is performed on
  74858. * updates. On the other hand, when the series contains more points than the
  74859. * crop threshold, the series data is cropped to only contain points that
  74860. * fall within the plot area. The advantage of cropping away invisible
  74861. * points is to increase performance on large series.
  74862. */
  74863. cropThreshold?: number;
  74864. /**
  74865. * (Highstock) You can set the cursor to "pointer" if you have click events
  74866. * attached to the series, to signal to the user that the points and lines
  74867. * can be clicked.
  74868. *
  74869. * In styled mode, the series cursor can be set with the same classes as
  74870. * listed under series.color.
  74871. */
  74872. cursor?: (string|CursorValue);
  74873. /**
  74874. * (Highstock) A reserved subspace to store options and values for
  74875. * customized functionality. Here you can add additional data for your own
  74876. * event callbacks and formatter callbacks.
  74877. */
  74878. custom?: Dictionary<any>;
  74879. /**
  74880. * (Highstock) Name of the dash style to use for the graph, or for some
  74881. * series types the outline of each shape.
  74882. *
  74883. * In styled mode, the stroke dash-array can be set with the same classes as
  74884. * listed under series.color.
  74885. */
  74886. dashStyle?: DashStyleValue;
  74887. /**
  74888. * (Highstock) Data grouping is the concept of sampling the data values into
  74889. * larger blocks in order to ease readability and increase performance of
  74890. * the JavaScript charts. Highstock by default applies data grouping when
  74891. * the points become closer than a certain pixel value, determined by the
  74892. * `groupPixelWidth` option.
  74893. *
  74894. * If data grouping is applied, the grouping information of grouped points
  74895. * can be read from the Point.dataGroup. If point options other than the
  74896. * data itself are set, for example `name` or `color` or custom properties,
  74897. * the grouping logic doesn't know how to group it. In this case the options
  74898. * of the first point instance are copied over to the group point. This can
  74899. * be altered through a custom `approximation` callback function.
  74900. */
  74901. dataGrouping?: DataGroupingOptionsObject;
  74902. /**
  74903. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  74904. * labels, appearing next to each data point.
  74905. *
  74906. * Since v6.2.0, multiple data labels can be applied to each single point by
  74907. * defining them as an array of configs.
  74908. *
  74909. * In styled mode, the data labels can be styled with the
  74910. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  74911. * (see example).
  74912. */
  74913. dataLabels?: (PlotRocDataLabelsOptions|Array<PlotRocDataLabelsOptions>);
  74914. /**
  74915. * (Highcharts, Highstock) Options for the series data sorting.
  74916. */
  74917. dataSorting?: (DataSortingOptionsObject|PlotRocDataSortingOptions);
  74918. /**
  74919. * (Highstock) A description of the series to add to the screen reader
  74920. * information about the series.
  74921. */
  74922. description?: string;
  74923. /**
  74924. * (Highstock) Enable or disable the mouse tracking for a specific series.
  74925. * This includes point tooltips and click events on graphs and points. For
  74926. * large datasets it improves performance.
  74927. */
  74928. enableMouseTracking?: boolean;
  74929. /**
  74930. * (Highstock) General event handlers for the series items. These event
  74931. * hooks can also be attached to the series at run time using the
  74932. * `Highcharts.addEvent` function.
  74933. */
  74934. events?: SeriesEventsOptionsObject;
  74935. /**
  74936. * (Highstock) Determines whether the series should look for the nearest
  74937. * point in both dimensions or just the x-dimension when hovering the
  74938. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  74939. * series. If the data has duplicate x-values, it is recommended to set this
  74940. * to `'xy'` to allow hovering over all points.
  74941. *
  74942. * Applies only to series types using nearest neighbor search (not direct
  74943. * hover) for tooltip.
  74944. */
  74945. findNearestPointBy?: OptionsFindNearestPointByValue;
  74946. /**
  74947. * (Highstock) Defines when to display a gap in the graph, together with the
  74948. * gapUnit option.
  74949. *
  74950. * In case when `dataGrouping` is enabled, points can be grouped into a
  74951. * larger time span. This can make the grouped points to have a greater
  74952. * distance than the absolute value of `gapSize` property, which will result
  74953. * in disappearing graph completely. To prevent this situation the mentioned
  74954. * distance between grouped points is used instead of previously defined
  74955. * `gapSize`.
  74956. *
  74957. * In practice, this option is most often used to visualize gaps in time
  74958. * series. In a stock chart, intraday data is available for daytime hours,
  74959. * while gaps will appear in nights and weekends.
  74960. */
  74961. gapSize?: number;
  74962. /**
  74963. * (Highstock) Together with gapSize, this option defines where to draw gaps
  74964. * in the graph.
  74965. *
  74966. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  74967. * if the distance between two points is greater than 5 times that of the
  74968. * two closest points, the graph will be broken.
  74969. *
  74970. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  74971. * values, which on a datetime axis is milliseconds. This also applies to
  74972. * the navigator series that inherits gap options from the base series.
  74973. */
  74974. gapUnit?: OptionsGapUnitValue;
  74975. /**
  74976. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  74977. * chart width or only the zoomed area when zooming in on parts of the X
  74978. * axis. By default, the Y axis adjusts to the min and max of the visible
  74979. * data. Cartesian series only.
  74980. */
  74981. getExtremesFromAll?: boolean;
  74982. /**
  74983. * (Highstock) When set to `false` will prevent the series data from being
  74984. * included in any form of data export.
  74985. *
  74986. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  74987. * `includeInCSVExport`.
  74988. */
  74989. includeInDataExport?: boolean;
  74990. /**
  74991. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  74992. * series as possible in a natural way, seeking to avoid other series. The
  74993. * goal of this feature is to make the chart more easily readable, like if a
  74994. * human designer placed the labels in the optimal position.
  74995. *
  74996. * The series labels currently work with series types having a `graph` or an
  74997. * `area`.
  74998. */
  74999. label?: SeriesLabelOptionsObject;
  75000. /**
  75001. * (Highstock) The line marks the last price from all points.
  75002. */
  75003. lastPrice?: SeriesLastPriceOptionsObject;
  75004. /**
  75005. * (Highstock) The line marks the last price from visible range of points.
  75006. */
  75007. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  75008. /**
  75009. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  75010. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  75011. * the ends and bends.
  75012. */
  75013. linecap?: SeriesLinecapValue;
  75014. /**
  75015. * (Highcharts, Highstock) Pixel width of the graph line.
  75016. */
  75017. lineWidth?: number;
  75018. /**
  75019. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  75020. * based on. Required for this indicator.
  75021. */
  75022. linkedTo?: string;
  75023. /**
  75024. * (Highstock) Options for the point markers of line-like series. Properties
  75025. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  75026. * appearance of the markers. Other series types, like column series, don't
  75027. * have markers, but have visual options on the series level instead.
  75028. *
  75029. * In styled mode, the markers can be styled with the `.highcharts-point`,
  75030. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  75031. */
  75032. marker?: PointMarkerOptionsObject;
  75033. /**
  75034. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  75035. * If not set, it will be based on a technical indicator type and default
  75036. * params.
  75037. */
  75038. name?: string;
  75039. /**
  75040. * (Highstock) The color for the parts of the graph or points that are below
  75041. * the threshold. Note that `zones` takes precedence over the negative
  75042. * color. Using `negativeColor` is equivalent to applying a zone with value
  75043. * of 0.
  75044. */
  75045. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  75046. /**
  75047. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  75048. * dataLabels.
  75049. */
  75050. opacity?: number;
  75051. /**
  75052. * (Highstock) Paramters used in calculation of regression series' points.
  75053. */
  75054. params?: PlotRocParamsOptions;
  75055. /**
  75056. * (Highstock) Properties for each single point.
  75057. */
  75058. point?: PlotSeriesPointOptions;
  75059. /**
  75060. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  75061. * individual series. Overrides the chart wide configuration.
  75062. */
  75063. pointDescriptionFormatter?: Function;
  75064. /**
  75065. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  75066. * true, the checkbox next to the series name in the legend will be checked
  75067. * for a selected series.
  75068. */
  75069. selected?: boolean;
  75070. /**
  75071. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  75072. * the shadow can be an object configuration containing `color`, `offsetX`,
  75073. * `offsetY`, `opacity` and `width`.
  75074. */
  75075. shadow?: (boolean|ShadowOptionsObject);
  75076. /**
  75077. * (Highstock) If true, a checkbox is displayed next to the legend item to
  75078. * allow selecting the series. The state of the checkbox is determined by
  75079. * the `selected` option.
  75080. */
  75081. showCheckbox?: boolean;
  75082. /**
  75083. * (Highstock) Whether to display this particular series or series type in
  75084. * the legend. Standalone series are shown in legend by default, and linked
  75085. * series are not. Since v7.2.0 it is possible to show series that use
  75086. * colorAxis by setting this option to `true`.
  75087. */
  75088. showInLegend?: boolean;
  75089. /**
  75090. * (Highstock) If set to `true`, the accessibility module will skip past the
  75091. * points in this series for keyboard navigation.
  75092. */
  75093. skipKeyboardNavigation?: boolean;
  75094. /**
  75095. * (Highcharts, Highstock) When this is true, the series will not cause the
  75096. * Y axis to cross the zero plane (or threshold option) unless the data
  75097. * actually crosses the plane.
  75098. *
  75099. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  75100. * make the Y axis show negative values according to the `minPadding`
  75101. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  75102. */
  75103. softThreshold?: boolean;
  75104. states?: SeriesStatesOptionsObject;
  75105. /**
  75106. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  75107. * values are `left`, `center` and `right`.
  75108. */
  75109. step?: OptionsStepValue;
  75110. /**
  75111. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  75112. * event on a series isn't triggered until the mouse moves over another
  75113. * series, or out of the plot area. When false, the `mouseOut` event on a
  75114. * series is triggered when the mouse leaves the area around the series'
  75115. * graph or markers. This also implies the tooltip when not shared. When
  75116. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  75117. * be hidden when moving the mouse between series. Defaults to true for line
  75118. * and area type series, but to false for columns, pies etc.
  75119. *
  75120. * **Note:** The boost module will force this option because of technical
  75121. * limitations.
  75122. */
  75123. stickyTracking?: boolean;
  75124. /**
  75125. * (Highcharts, Highstock) The threshold, also called zero level or base
  75126. * level. For line type series this is only used in conjunction with
  75127. * negativeColor.
  75128. */
  75129. threshold?: number;
  75130. /**
  75131. * (Highstock) A configuration object for the tooltip rendering of each
  75132. * single series. Properties are inherited from tooltip, but only the
  75133. * following properties can be defined on a series level.
  75134. */
  75135. tooltip?: SeriesTooltipOptionsObject;
  75136. /**
  75137. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  75138. * is longer than this, only one dimensional arrays of numbers, or two
  75139. * dimensional arrays with x and y values are allowed. Also, only the first
  75140. * point is tested, and the rest are assumed to be the same format. This
  75141. * saves expensive data checking and indexing in long series. Set it to `0`
  75142. * disable.
  75143. *
  75144. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  75145. * two dimensional arrays are allowed.
  75146. */
  75147. turboThreshold?: number;
  75148. /**
  75149. * (Highstock) Set the initial visibility of the series.
  75150. */
  75151. visible?: boolean;
  75152. /**
  75153. * (Highmaps) Define the z index of the series.
  75154. */
  75155. zIndex?: number;
  75156. /**
  75157. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  75158. */
  75159. zoneAxis?: string;
  75160. /**
  75161. * (Highcharts, Highstock) An array defining zones within a series. Zones
  75162. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  75163. * the `zoneAxis` option. The zone definitions have to be in ascending order
  75164. * regarding to the value.
  75165. *
  75166. * In styled mode, the color zones are styled with the
  75167. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  75168. * option (view live demo).
  75169. */
  75170. zones?: Array<SeriesZonesOptionsObject>;
  75171. }
  75172. /**
  75173. * (Highstock) Paramters used in calculation of regression series' points.
  75174. */
  75175. export interface PlotRocParamsOptions {
  75176. /**
  75177. * (Highstock) The point index which indicator calculations will base. For
  75178. * example using OHLC data, index=2 means the indicator will be calculated
  75179. * using Low values.
  75180. */
  75181. index?: number;
  75182. /**
  75183. * (Highstock) The base period for indicator calculations. This is the
  75184. * number of data points which are taken into account for the indicator
  75185. * calculations.
  75186. */
  75187. period?: number;
  75188. }
  75189. /**
  75190. * (Highstock) Enable or disable the initial animation when a series is
  75191. * displayed. The animation can also be set as a configuration object. Please
  75192. * note that this option only applies to the initial animation of the series
  75193. * itself. For other animations, see chart.animation and the animation parameter
  75194. * under the API methods. The following properties are supported:
  75195. *
  75196. * - `defer`: The animation delay time in milliseconds.
  75197. *
  75198. * - `duration`: The duration of the animation in milliseconds.
  75199. *
  75200. * - `easing`: Can be a string reference to an easing function set on the `Math`
  75201. * object or a function. See the _Custom easing function_ demo below.
  75202. *
  75203. * Due to poor performance, animation is disabled in old IE browsers for several
  75204. * chart types.
  75205. */
  75206. export interface PlotRsiAnimationOptions {
  75207. defer?: number;
  75208. }
  75209. /**
  75210. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  75211. * animation when a series is displayed for the `dataLabels`. The animation can
  75212. * also be set as a configuration object. Please note that this option only
  75213. * applies to the initial animation. For other animations, see chart.animation
  75214. * and the animation parameter under the API methods. The following properties
  75215. * are supported:
  75216. *
  75217. * - `defer`: The animation delay time in milliseconds.
  75218. */
  75219. export interface PlotRsiDataLabelsAnimationOptions {
  75220. /**
  75221. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  75222. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  75223. * inherits defer time from the series.animation.defer.
  75224. */
  75225. defer?: number;
  75226. }
  75227. /**
  75228. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  75229. * appearing next to each data point.
  75230. *
  75231. * Since v6.2.0, multiple data labels can be applied to each single point by
  75232. * defining them as an array of configs.
  75233. *
  75234. * In styled mode, the data labels can be styled with the
  75235. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  75236. * example).
  75237. */
  75238. export interface PlotRsiDataLabelsOptions {
  75239. /**
  75240. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  75241. * compared to the point. If `right`, the right side of the label should be
  75242. * touching the point. For points with an extent, like columns, the
  75243. * alignments also dictates how to align it inside the box, as given with
  75244. * the inside option. Can be one of `left`, `center` or `right`.
  75245. */
  75246. align?: (AlignValue|null);
  75247. /**
  75248. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  75249. * overlap. To make the labels less sensitive for overlapping, the
  75250. * dataLabels.padding can be set to 0.
  75251. */
  75252. allowOverlap?: boolean;
  75253. /**
  75254. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  75255. * animation when a series is displayed for the `dataLabels`. The animation
  75256. * can also be set as a configuration object. Please note that this option
  75257. * only applies to the initial animation. For other animations, see
  75258. * chart.animation and the animation parameter under the API methods. The
  75259. * following properties are supported:
  75260. *
  75261. * - `defer`: The animation delay time in milliseconds.
  75262. */
  75263. animation?: (boolean|PlotRsiDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  75264. /**
  75265. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  75266. * for the data label.
  75267. */
  75268. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  75269. /**
  75270. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  75271. * label. Defaults to `undefined`.
  75272. */
  75273. borderColor?: (ColorString|GradientColorObject|PatternObject);
  75274. /**
  75275. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  75276. * the data label.
  75277. */
  75278. borderRadius?: number;
  75279. /**
  75280. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  75281. * the data label.
  75282. */
  75283. borderWidth?: number;
  75284. /**
  75285. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  75286. * Particularly in styled mode, this can be used to give each series' or
  75287. * point's data label unique styling. In addition to this option, a default
  75288. * color class name is added so that we can give the labels a contrast text
  75289. * shadow.
  75290. */
  75291. className?: string;
  75292. /**
  75293. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  75294. * labels. Defaults to `undefined`. For certain series types, like column or
  75295. * map, the data labels can be drawn inside the points. In this case the
  75296. * data label will be drawn with maximum contrast by default. Additionally,
  75297. * it will be given a `text-outline` style with the opposite color, to
  75298. * further increase the contrast. This can be overridden by setting the
  75299. * `text-outline` style to `none` in the `dataLabels.style` option.
  75300. */
  75301. color?: (ColorString|GradientColorObject|PatternObject);
  75302. /**
  75303. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  75304. * are outside the plot area. By default, the data label is moved inside the
  75305. * plot area according to the overflow option.
  75306. */
  75307. crop?: boolean;
  75308. /**
  75309. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  75310. * labels until the initial series animation has finished. Setting to
  75311. * `false` renders the data label immediately. If set to `true` inherits the
  75312. * defer time set in plotOptions.series.animation.
  75313. */
  75314. defer?: boolean;
  75315. /**
  75316. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  75317. * labels.
  75318. */
  75319. enabled?: boolean;
  75320. /**
  75321. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  75322. * of which data labels to display. The declarative filter is designed for
  75323. * use when callback functions are not available, like when the chart
  75324. * options require a pure JSON structure or for use with graphical editors.
  75325. * For programmatic control, use the `formatter` instead, and return
  75326. * `undefined` to disable a single data label.
  75327. */
  75328. filter?: DataLabelsFilterOptionsObject;
  75329. /**
  75330. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  75331. * label. Available variables are the same as for `formatter`.
  75332. */
  75333. format?: string;
  75334. /**
  75335. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  75336. * format the data label. Note that if a `format` is defined, the format
  75337. * takes precedence and the formatter is ignored.
  75338. */
  75339. formatter?: DataLabelsFormatterCallbackFunction;
  75340. /**
  75341. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  75342. * columns or map areas, whether to align the data label inside the box or
  75343. * to the actual value point. Defaults to `false` in most cases, `true` in
  75344. * stacked columns.
  75345. */
  75346. inside?: boolean;
  75347. /**
  75348. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  75349. * of null. Works analogously to format. `nullFormat` can be applied only to
  75350. * series which support displaying null points.
  75351. */
  75352. nullFormat?: (boolean|string);
  75353. /**
  75354. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  75355. * that defines formatting for points with the value of null. Works
  75356. * analogously to formatter. `nullPointFormatter` can be applied only to
  75357. * series which support displaying null points.
  75358. */
  75359. nullFormatter?: DataLabelsFormatterCallbackFunction;
  75360. /**
  75361. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  75362. * flow outside the plot area. The default is `"justify"`, which aligns them
  75363. * inside the plot area. For columns and bars, this means it will be moved
  75364. * inside the bar. To display data labels outside the plot area, set `crop`
  75365. * to `false` and `overflow` to `"allow"`.
  75366. */
  75367. overflow?: DataLabelsOverflowValue;
  75368. /**
  75369. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  75370. * the `backgroundColor` is set, this is the padding within the box.
  75371. */
  75372. padding?: number;
  75373. /**
  75374. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  75375. * points. If `center` alignment is not possible, it defaults to `right`.
  75376. */
  75377. position?: AlignValue;
  75378. /**
  75379. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  75380. * that due to a more complex structure, backgrounds, borders and padding
  75381. * will be lost on a rotated data label.
  75382. */
  75383. rotation?: number;
  75384. /**
  75385. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  75386. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  75387. * an object configuration containing `color`, `offsetX`, `offsetY`,
  75388. * `opacity` and `width`.
  75389. */
  75390. shadow?: (boolean|ShadowOptionsObject);
  75391. /**
  75392. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  75393. * the border around the label. Symbols are predefined functions on the
  75394. * Renderer object.
  75395. */
  75396. shape?: string;
  75397. /**
  75398. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  75399. * default `color` setting is `"contrast"`, which is a pseudo color that
  75400. * Highcharts picks up and applies the maximum contrast to the underlying
  75401. * point item, for example the bar in a bar chart.
  75402. *
  75403. * The `textOutline` is a pseudo property that applies an outline of the
  75404. * given width with the given color, which by default is the maximum
  75405. * contrast to the text. So a bright text color will result in a black text
  75406. * outline for maximum readability on a mixed background. In some cases,
  75407. * especially with grayscale text, the text outline doesn't work well, in
  75408. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  75409. * is true, the `textOutline` will not be picked up. In this, case, the same
  75410. * effect can be acheived through the `text-shadow` CSS property.
  75411. *
  75412. * For some series types, where each point has an extent, like for example
  75413. * tree maps, the data label may overflow the point. There are two
  75414. * strategies for handling overflow. By default, the text will wrap to
  75415. * multiple lines. The other strategy is to set `style.textOverflow` to
  75416. * `ellipsis`, which will keep the text on one line plus it will break
  75417. * inside long words.
  75418. */
  75419. style?: CSSObject;
  75420. /**
  75421. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  75422. * should follow marker's shape. Border and background are disabled for a
  75423. * label that follows a path.
  75424. *
  75425. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  75426. * to true will disable this option.
  75427. */
  75428. textPath?: DataLabelsTextPathOptionsObject;
  75429. /**
  75430. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  75431. * the labels.
  75432. */
  75433. useHTML?: boolean;
  75434. /**
  75435. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  75436. * label. Can be one of `top`, `middle` or `bottom`. The default value
  75437. * depends on the data, for instance in a column chart, the label is above
  75438. * positive values and below negative values.
  75439. */
  75440. verticalAlign?: (VerticalAlignValue|null);
  75441. /**
  75442. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  75443. * label relative to the point in pixels.
  75444. */
  75445. x?: number;
  75446. /**
  75447. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  75448. * label relative to the point in pixels.
  75449. */
  75450. y?: number;
  75451. /**
  75452. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  75453. * The default Z index puts it above the series. Use a Z index of 2 to
  75454. * display it behind the series.
  75455. */
  75456. z?: number;
  75457. }
  75458. /**
  75459. * (Highcharts, Highstock) Options for the series data sorting.
  75460. */
  75461. export interface PlotRsiDataSortingOptions {
  75462. /**
  75463. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  75464. * Use xAxis.reversed to change the sorting order.
  75465. */
  75466. enabled?: boolean;
  75467. /**
  75468. * (Highcharts, Highstock) Whether to allow matching points by name in an
  75469. * update. If this option is disabled, points will be matched by order.
  75470. */
  75471. matchByName?: boolean;
  75472. /**
  75473. * (Highcharts, Highstock) Determines what data value should be used to sort
  75474. * by.
  75475. */
  75476. sortKey?: string;
  75477. }
  75478. /**
  75479. * (Highstock) Relative strength index (RSI) technical indicator. This series
  75480. * requires the `linkedTo` option to be set and should be loaded after the
  75481. * `stock/indicators/indicators.js` file.
  75482. *
  75483. * In TypeScript the type option must always be set.
  75484. *
  75485. * Configuration options for the series are given in three levels:
  75486. *
  75487. * 1. Options for all series in a chart are defined in the plotOptions.series
  75488. * object.
  75489. *
  75490. * 2. Options for all `rsi` series are defined in plotOptions.rsi.
  75491. *
  75492. * 3. Options for one single series are given in the series instance array. (see
  75493. * online documentation for example)
  75494. */
  75495. export interface PlotRsiOptions {
  75496. /**
  75497. * (Highstock) Accessibility options for a series.
  75498. */
  75499. accessibility?: SeriesAccessibilityOptionsObject;
  75500. /**
  75501. * (Highstock) Allow this series' points to be selected by clicking on the
  75502. * graphic (columns, point markers, pie slices, map areas etc).
  75503. *
  75504. * The selected points can be handled by point select and unselect events,
  75505. * or collectively by the getSelectedPoints function.
  75506. *
  75507. * And alternative way of selecting points is through dragging.
  75508. */
  75509. allowPointSelect?: boolean;
  75510. /**
  75511. * (Highstock) Enable or disable the initial animation when a series is
  75512. * displayed. The animation can also be set as a configuration object.
  75513. * Please note that this option only applies to the initial animation of the
  75514. * series itself. For other animations, see chart.animation and the
  75515. * animation parameter under the API methods. The following properties are
  75516. * supported:
  75517. *
  75518. * - `defer`: The animation delay time in milliseconds.
  75519. *
  75520. * - `duration`: The duration of the animation in milliseconds.
  75521. *
  75522. * - `easing`: Can be a string reference to an easing function set on the
  75523. * `Math` object or a function. See the _Custom easing function_ demo below.
  75524. *
  75525. * Due to poor performance, animation is disabled in old IE browsers for
  75526. * several chart types.
  75527. */
  75528. animation?: (boolean|PlotRsiAnimationOptions|Partial<AnimationOptionsObject>);
  75529. /**
  75530. * (Highstock) For some series, there is a limit that shuts down initial
  75531. * animation by default when the total number of points in the chart is too
  75532. * high. For example, for a column chart and its derivatives, animation does
  75533. * not run if there is more than 250 points totally. To disable this cap,
  75534. * set `animationLimit` to `Infinity`.
  75535. */
  75536. animationLimit?: number;
  75537. /**
  75538. * (Highstock) Sets the color blending in the boost module.
  75539. */
  75540. boostBlending?: OptionsBoostBlendingValue;
  75541. /**
  75542. * (Highstock) Set the point threshold for when a series should enter boost
  75543. * mode.
  75544. *
  75545. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  75546. * there are 2000 or more points in the series.
  75547. *
  75548. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  75549. * it to 1 will force boosting.
  75550. *
  75551. * Note that the cropThreshold also affects this setting. When zooming in on
  75552. * a series that has fewer points than the `cropThreshold`, all points are
  75553. * rendered although outside the visible plot area, and the `boostThreshold`
  75554. * won't take effect.
  75555. */
  75556. boostThreshold?: number;
  75557. /**
  75558. * (Highmaps) The border color of the map areas.
  75559. *
  75560. * In styled mode, the border stroke is given in the `.highcharts-point`
  75561. * class.
  75562. */
  75563. borderColor?: (ColorString|GradientColorObject|PatternObject);
  75564. /**
  75565. * (Highmaps) The border width of each map area.
  75566. *
  75567. * In styled mode, the border stroke width is given in the
  75568. * `.highcharts-point` class.
  75569. */
  75570. borderWidth?: number;
  75571. /**
  75572. * (Highstock) An additional class name to apply to the series' graphical
  75573. * elements. This option does not replace default class names of the
  75574. * graphical element.
  75575. */
  75576. className?: string;
  75577. /**
  75578. * (Highstock) Disable this option to allow series rendering in the whole
  75579. * plotting area.
  75580. *
  75581. * **Note:** Clipping should be always enabled when chart.zoomType is set
  75582. */
  75583. clip?: boolean;
  75584. /**
  75585. * (Highstock) The main color of the series. In line type series it applies
  75586. * to the line and the point markers unless otherwise specified. In bar type
  75587. * series it applies to the bars unless a color is specified per point. The
  75588. * default value is pulled from the `options.colors` array.
  75589. *
  75590. * In styled mode, the color can be defined by the colorIndex option. Also,
  75591. * the series color can be set with the `.highcharts-series`,
  75592. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  75593. * `.highcharts-series-{n}` class, or individual classes given by the
  75594. * `className` option.
  75595. */
  75596. color?: (ColorString|GradientColorObject|PatternObject);
  75597. /**
  75598. * (Highstock) Styled mode only. A specific color index to use for the
  75599. * series, so its graphic representations are given the class name
  75600. * `highcharts-color-{n}`.
  75601. */
  75602. colorIndex?: number;
  75603. /**
  75604. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  75605. * used to calculate point color if `colorAxis` is used. Requires to set
  75606. * `min` and `max` if some custom point property is used or if approximation
  75607. * for data grouping is set to `'sum'`.
  75608. */
  75609. colorKey?: string;
  75610. /**
  75611. * (Highstock) Compare the values of the series against the first non-null,
  75612. * non- zero value in the visible range. The y axis will show percentage or
  75613. * absolute change depending on whether `compare` is set to `"percent"` or
  75614. * `"value"`. When this is applied to multiple series, it allows comparing
  75615. * the development of the series against each other. Adds a `change` field
  75616. * to every point object.
  75617. */
  75618. compare?: string;
  75619. /**
  75620. * (Highstock) When compare is `percent`, this option dictates whether to
  75621. * use 0 or 100 as the base of comparison.
  75622. */
  75623. compareBase?: (0|100);
  75624. /**
  75625. * (Highstock) Defines if comparison should start from the first point
  75626. * within the visible range or should start from the first point **before**
  75627. * the range.
  75628. *
  75629. * In other words, this flag determines if first point within the visible
  75630. * range will have 0% (`compareStart=true`) or should have been already
  75631. * calculated according to the previous point (`compareStart=false`).
  75632. */
  75633. compareStart?: boolean;
  75634. /**
  75635. * (Highstock) Whether to compare indicator to the main series values or
  75636. * indicator values.
  75637. */
  75638. compareToMain?: boolean;
  75639. /**
  75640. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  75641. * series plot across the extremes.
  75642. */
  75643. connectEnds?: boolean;
  75644. /**
  75645. * (Highcharts, Highstock) Whether to connect a graph line across null
  75646. * points, or render a gap between the two points on either side of the
  75647. * null.
  75648. */
  75649. connectNulls?: boolean;
  75650. /**
  75651. * (Gantt) Override Pathfinder connector options for a series. Requires
  75652. * Highcharts Gantt to be loaded.
  75653. */
  75654. connectors?: SeriesConnectorsOptionsObject;
  75655. /**
  75656. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  75657. * rounded to its nearest pixel in order to render sharp on screen. In some
  75658. * cases, when there are a lot of densely packed columns, this leads to
  75659. * visible difference in column widths or distance between columns. In these
  75660. * cases, setting `crisp` to `false` may look better, even though each
  75661. * column is rendered blurry.
  75662. */
  75663. crisp?: boolean;
  75664. /**
  75665. * (Highcharts, Highstock) When the series contains less points than the
  75666. * crop threshold, all points are drawn, even if the points fall outside the
  75667. * visible plot area at the current zoom. The advantage of drawing all
  75668. * points (including markers and columns), is that animation is performed on
  75669. * updates. On the other hand, when the series contains more points than the
  75670. * crop threshold, the series data is cropped to only contain points that
  75671. * fall within the plot area. The advantage of cropping away invisible
  75672. * points is to increase performance on large series.
  75673. */
  75674. cropThreshold?: number;
  75675. /**
  75676. * (Highstock) You can set the cursor to "pointer" if you have click events
  75677. * attached to the series, to signal to the user that the points and lines
  75678. * can be clicked.
  75679. *
  75680. * In styled mode, the series cursor can be set with the same classes as
  75681. * listed under series.color.
  75682. */
  75683. cursor?: (string|CursorValue);
  75684. /**
  75685. * (Highstock) A reserved subspace to store options and values for
  75686. * customized functionality. Here you can add additional data for your own
  75687. * event callbacks and formatter callbacks.
  75688. */
  75689. custom?: Dictionary<any>;
  75690. /**
  75691. * (Highstock) Name of the dash style to use for the graph, or for some
  75692. * series types the outline of each shape.
  75693. *
  75694. * In styled mode, the stroke dash-array can be set with the same classes as
  75695. * listed under series.color.
  75696. */
  75697. dashStyle?: DashStyleValue;
  75698. /**
  75699. * (Highstock) Data grouping is the concept of sampling the data values into
  75700. * larger blocks in order to ease readability and increase performance of
  75701. * the JavaScript charts. Highstock by default applies data grouping when
  75702. * the points become closer than a certain pixel value, determined by the
  75703. * `groupPixelWidth` option.
  75704. *
  75705. * If data grouping is applied, the grouping information of grouped points
  75706. * can be read from the Point.dataGroup. If point options other than the
  75707. * data itself are set, for example `name` or `color` or custom properties,
  75708. * the grouping logic doesn't know how to group it. In this case the options
  75709. * of the first point instance are copied over to the group point. This can
  75710. * be altered through a custom `approximation` callback function.
  75711. */
  75712. dataGrouping?: DataGroupingOptionsObject;
  75713. /**
  75714. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  75715. * labels, appearing next to each data point.
  75716. *
  75717. * Since v6.2.0, multiple data labels can be applied to each single point by
  75718. * defining them as an array of configs.
  75719. *
  75720. * In styled mode, the data labels can be styled with the
  75721. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  75722. * (see example).
  75723. */
  75724. dataLabels?: (PlotRsiDataLabelsOptions|Array<PlotRsiDataLabelsOptions>);
  75725. /**
  75726. * (Highcharts, Highstock) Options for the series data sorting.
  75727. */
  75728. dataSorting?: (DataSortingOptionsObject|PlotRsiDataSortingOptions);
  75729. /**
  75730. * (Highstock) A description of the series to add to the screen reader
  75731. * information about the series.
  75732. */
  75733. description?: string;
  75734. /**
  75735. * (Highstock) Enable or disable the mouse tracking for a specific series.
  75736. * This includes point tooltips and click events on graphs and points. For
  75737. * large datasets it improves performance.
  75738. */
  75739. enableMouseTracking?: boolean;
  75740. /**
  75741. * (Highstock) General event handlers for the series items. These event
  75742. * hooks can also be attached to the series at run time using the
  75743. * `Highcharts.addEvent` function.
  75744. */
  75745. events?: SeriesEventsOptionsObject;
  75746. /**
  75747. * (Highstock) Determines whether the series should look for the nearest
  75748. * point in both dimensions or just the x-dimension when hovering the
  75749. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  75750. * series. If the data has duplicate x-values, it is recommended to set this
  75751. * to `'xy'` to allow hovering over all points.
  75752. *
  75753. * Applies only to series types using nearest neighbor search (not direct
  75754. * hover) for tooltip.
  75755. */
  75756. findNearestPointBy?: OptionsFindNearestPointByValue;
  75757. /**
  75758. * (Highstock) Defines when to display a gap in the graph, together with the
  75759. * gapUnit option.
  75760. *
  75761. * In case when `dataGrouping` is enabled, points can be grouped into a
  75762. * larger time span. This can make the grouped points to have a greater
  75763. * distance than the absolute value of `gapSize` property, which will result
  75764. * in disappearing graph completely. To prevent this situation the mentioned
  75765. * distance between grouped points is used instead of previously defined
  75766. * `gapSize`.
  75767. *
  75768. * In practice, this option is most often used to visualize gaps in time
  75769. * series. In a stock chart, intraday data is available for daytime hours,
  75770. * while gaps will appear in nights and weekends.
  75771. */
  75772. gapSize?: number;
  75773. /**
  75774. * (Highstock) Together with gapSize, this option defines where to draw gaps
  75775. * in the graph.
  75776. *
  75777. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  75778. * if the distance between two points is greater than 5 times that of the
  75779. * two closest points, the graph will be broken.
  75780. *
  75781. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  75782. * values, which on a datetime axis is milliseconds. This also applies to
  75783. * the navigator series that inherits gap options from the base series.
  75784. */
  75785. gapUnit?: OptionsGapUnitValue;
  75786. /**
  75787. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  75788. * chart width or only the zoomed area when zooming in on parts of the X
  75789. * axis. By default, the Y axis adjusts to the min and max of the visible
  75790. * data. Cartesian series only.
  75791. */
  75792. getExtremesFromAll?: boolean;
  75793. /**
  75794. * (Highstock) When set to `false` will prevent the series data from being
  75795. * included in any form of data export.
  75796. *
  75797. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  75798. * `includeInCSVExport`.
  75799. */
  75800. includeInDataExport?: boolean;
  75801. /**
  75802. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  75803. * series as possible in a natural way, seeking to avoid other series. The
  75804. * goal of this feature is to make the chart more easily readable, like if a
  75805. * human designer placed the labels in the optimal position.
  75806. *
  75807. * The series labels currently work with series types having a `graph` or an
  75808. * `area`.
  75809. */
  75810. label?: SeriesLabelOptionsObject;
  75811. /**
  75812. * (Highstock) The line marks the last price from all points.
  75813. */
  75814. lastPrice?: SeriesLastPriceOptionsObject;
  75815. /**
  75816. * (Highstock) The line marks the last price from visible range of points.
  75817. */
  75818. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  75819. /**
  75820. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  75821. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  75822. * the ends and bends.
  75823. */
  75824. linecap?: SeriesLinecapValue;
  75825. /**
  75826. * (Highcharts, Highstock) Pixel width of the graph line.
  75827. */
  75828. lineWidth?: number;
  75829. /**
  75830. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  75831. * based on. Required for this indicator.
  75832. */
  75833. linkedTo?: string;
  75834. /**
  75835. * (Highstock) Options for the point markers of line-like series. Properties
  75836. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  75837. * appearance of the markers. Other series types, like column series, don't
  75838. * have markers, but have visual options on the series level instead.
  75839. *
  75840. * In styled mode, the markers can be styled with the `.highcharts-point`,
  75841. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  75842. */
  75843. marker?: PointMarkerOptionsObject;
  75844. /**
  75845. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  75846. * If not set, it will be based on a technical indicator type and default
  75847. * params.
  75848. */
  75849. name?: string;
  75850. /**
  75851. * (Highstock) The color for the parts of the graph or points that are below
  75852. * the threshold. Note that `zones` takes precedence over the negative
  75853. * color. Using `negativeColor` is equivalent to applying a zone with value
  75854. * of 0.
  75855. */
  75856. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  75857. /**
  75858. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  75859. * dataLabels.
  75860. */
  75861. opacity?: number;
  75862. /**
  75863. * (Highstock) Paramters used in calculation of regression series' points.
  75864. */
  75865. params?: PlotRsiParamsOptions;
  75866. /**
  75867. * (Highstock) Properties for each single point.
  75868. */
  75869. point?: PlotSeriesPointOptions;
  75870. /**
  75871. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  75872. * individual series. Overrides the chart wide configuration.
  75873. */
  75874. pointDescriptionFormatter?: Function;
  75875. /**
  75876. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  75877. * true, the checkbox next to the series name in the legend will be checked
  75878. * for a selected series.
  75879. */
  75880. selected?: boolean;
  75881. /**
  75882. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  75883. * the shadow can be an object configuration containing `color`, `offsetX`,
  75884. * `offsetY`, `opacity` and `width`.
  75885. */
  75886. shadow?: (boolean|ShadowOptionsObject);
  75887. /**
  75888. * (Highstock) If true, a checkbox is displayed next to the legend item to
  75889. * allow selecting the series. The state of the checkbox is determined by
  75890. * the `selected` option.
  75891. */
  75892. showCheckbox?: boolean;
  75893. /**
  75894. * (Highstock) Whether to display this particular series or series type in
  75895. * the legend. Standalone series are shown in legend by default, and linked
  75896. * series are not. Since v7.2.0 it is possible to show series that use
  75897. * colorAxis by setting this option to `true`.
  75898. */
  75899. showInLegend?: boolean;
  75900. /**
  75901. * (Highstock) If set to `true`, the accessibility module will skip past the
  75902. * points in this series for keyboard navigation.
  75903. */
  75904. skipKeyboardNavigation?: boolean;
  75905. /**
  75906. * (Highcharts, Highstock) When this is true, the series will not cause the
  75907. * Y axis to cross the zero plane (or threshold option) unless the data
  75908. * actually crosses the plane.
  75909. *
  75910. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  75911. * make the Y axis show negative values according to the `minPadding`
  75912. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  75913. */
  75914. softThreshold?: boolean;
  75915. states?: SeriesStatesOptionsObject;
  75916. /**
  75917. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  75918. * values are `left`, `center` and `right`.
  75919. */
  75920. step?: OptionsStepValue;
  75921. /**
  75922. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  75923. * event on a series isn't triggered until the mouse moves over another
  75924. * series, or out of the plot area. When false, the `mouseOut` event on a
  75925. * series is triggered when the mouse leaves the area around the series'
  75926. * graph or markers. This also implies the tooltip when not shared. When
  75927. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  75928. * be hidden when moving the mouse between series. Defaults to true for line
  75929. * and area type series, but to false for columns, pies etc.
  75930. *
  75931. * **Note:** The boost module will force this option because of technical
  75932. * limitations.
  75933. */
  75934. stickyTracking?: boolean;
  75935. /**
  75936. * (Highcharts, Highstock) The threshold, also called zero level or base
  75937. * level. For line type series this is only used in conjunction with
  75938. * negativeColor.
  75939. */
  75940. threshold?: number;
  75941. /**
  75942. * (Highstock) A configuration object for the tooltip rendering of each
  75943. * single series. Properties are inherited from tooltip, but only the
  75944. * following properties can be defined on a series level.
  75945. */
  75946. tooltip?: SeriesTooltipOptionsObject;
  75947. /**
  75948. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  75949. * is longer than this, only one dimensional arrays of numbers, or two
  75950. * dimensional arrays with x and y values are allowed. Also, only the first
  75951. * point is tested, and the rest are assumed to be the same format. This
  75952. * saves expensive data checking and indexing in long series. Set it to `0`
  75953. * disable.
  75954. *
  75955. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  75956. * two dimensional arrays are allowed.
  75957. */
  75958. turboThreshold?: number;
  75959. /**
  75960. * (Highstock) Set the initial visibility of the series.
  75961. */
  75962. visible?: boolean;
  75963. /**
  75964. * (Highmaps) Define the z index of the series.
  75965. */
  75966. zIndex?: number;
  75967. /**
  75968. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  75969. */
  75970. zoneAxis?: string;
  75971. /**
  75972. * (Highcharts, Highstock) An array defining zones within a series. Zones
  75973. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  75974. * the `zoneAxis` option. The zone definitions have to be in ascending order
  75975. * regarding to the value.
  75976. *
  75977. * In styled mode, the color zones are styled with the
  75978. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  75979. * option (view live demo).
  75980. */
  75981. zones?: Array<SeriesZonesOptionsObject>;
  75982. }
  75983. /**
  75984. * (Highstock) Paramters used in calculation of regression series' points.
  75985. */
  75986. export interface PlotRsiParamsOptions {
  75987. /**
  75988. * (Highstock) Number of maximum decimals that are used in RSI calculations.
  75989. */
  75990. decimals?: number;
  75991. /**
  75992. * (Highstock) The base period for indicator calculations. This is the
  75993. * number of data points which are taken into account for the indicator
  75994. * calculations.
  75995. */
  75996. period?: number;
  75997. }
  75998. /**
  75999. * (Highcharts) Enable or disable the initial animation when a series is
  76000. * displayed. The animation can also be set as a configuration object. Please
  76001. * note that this option only applies to the initial animation of the series
  76002. * itself. For other animations, see chart.animation and the animation parameter
  76003. * under the API methods. The following properties are supported:
  76004. *
  76005. * - `defer`: The animation delay time in milliseconds.
  76006. *
  76007. * - `duration`: The duration of the animation in milliseconds.
  76008. *
  76009. * - `easing`: Can be a string reference to an easing function set on the `Math`
  76010. * object or a function. See the _Custom easing function_ demo below.
  76011. *
  76012. * Due to poor performance, animation is disabled in old IE browsers for several
  76013. * chart types.
  76014. */
  76015. export interface PlotSankeyAnimationOptions {
  76016. defer?: number;
  76017. }
  76018. /**
  76019. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  76020. * animation when a series is displayed for the `dataLabels`. The animation can
  76021. * also be set as a configuration object. Please note that this option only
  76022. * applies to the initial animation. For other animations, see chart.animation
  76023. * and the animation parameter under the API methods. The following properties
  76024. * are supported:
  76025. *
  76026. * - `defer`: The animation delay time in milliseconds.
  76027. */
  76028. export interface PlotSankeyDataLabelsAnimationOptions {
  76029. /**
  76030. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  76031. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  76032. * inherits defer time from the series.animation.defer.
  76033. */
  76034. defer?: number;
  76035. }
  76036. /**
  76037. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  76038. * animation when a series is displayed for the `dataLabels`. The animation can
  76039. * also be set as a configuration object. Please note that this option only
  76040. * applies to the initial animation. For other animations, see chart.animation
  76041. * and the animation parameter under the API methods. The following properties
  76042. * are supported:
  76043. *
  76044. * - `defer`: The animation delay time in milliseconds.
  76045. */
  76046. export interface PlotSankeyLevelsDataLabelsAnimationOptions {
  76047. /**
  76048. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  76049. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  76050. * inherits defer time from the series.animation.defer.
  76051. */
  76052. defer?: number;
  76053. }
  76054. /**
  76055. * (Highcharts) Set options on specific levels. Takes precedence over series
  76056. * options, but not node and link options.
  76057. */
  76058. export interface PlotSankeyLevelsOptions {
  76059. /**
  76060. * (Highcharts) Can set `borderColor` on all nodes which lay on the same
  76061. * level.
  76062. */
  76063. borderColor?: ColorString;
  76064. /**
  76065. * (Highcharts) Can set `borderWidth` on all nodes which lay on the same
  76066. * level.
  76067. */
  76068. borderWidth?: number;
  76069. /**
  76070. * (Highcharts) Can set `color` on all nodes which lay on the same level.
  76071. */
  76072. color?: (ColorString|GradientColorObject|PatternObject);
  76073. /**
  76074. * (Highcharts) Can set `colorByPoint` on all nodes which lay on the same
  76075. * level.
  76076. */
  76077. colorByPoint?: boolean;
  76078. /**
  76079. * (Highcharts, Highstock, Highmaps, Gantt) Can set `dataLabels` on all
  76080. * points which lay on the same level.
  76081. */
  76082. dataLabels?: (SeriesSankeyDataLabelsOptionsObject|Array<SeriesSankeyDataLabelsOptionsObject>);
  76083. /**
  76084. * (Highcharts) Decides which level takes effect from the options set in the
  76085. * levels object.
  76086. */
  76087. level?: number;
  76088. /**
  76089. * (Highcharts) Can set `linkOpacity` on all points which lay on the same
  76090. * level.
  76091. */
  76092. linkOpacity?: number;
  76093. /**
  76094. * (Highcharts) Can set `states` on all nodes and points which lay on the
  76095. * same level.
  76096. */
  76097. states?: SeriesStatesOptionsObject;
  76098. }
  76099. /**
  76100. * (Highcharts) A sankey diagram is a type of flow diagram, in which the width
  76101. * of the link between two nodes is shown proportionally to the flow quantity.
  76102. *
  76103. * In TypeScript the type option must always be set.
  76104. *
  76105. * Configuration options for the series are given in three levels:
  76106. *
  76107. * 1. Options for all series in a chart are defined in the plotOptions.series
  76108. * object.
  76109. *
  76110. * 2. Options for all `sankey` series are defined in plotOptions.sankey.
  76111. *
  76112. * 3. Options for one single series are given in the series instance array. (see
  76113. * online documentation for example)
  76114. */
  76115. export interface PlotSankeyOptions {
  76116. /**
  76117. * (Highcharts) Accessibility options for a series.
  76118. */
  76119. accessibility?: SeriesAccessibilityOptionsObject;
  76120. /**
  76121. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  76122. * rendered. If `true`, areas which don't correspond to a data point, are
  76123. * rendered as `null` points. If `false`, those areas are skipped.
  76124. */
  76125. allAreas?: boolean;
  76126. /**
  76127. * (Highcharts) Allow this series' points to be selected by clicking on the
  76128. * graphic (columns, point markers, pie slices, map areas etc).
  76129. *
  76130. * The selected points can be handled by point select and unselect events,
  76131. * or collectively by the getSelectedPoints function.
  76132. *
  76133. * And alternative way of selecting points is through dragging.
  76134. */
  76135. allowPointSelect?: boolean;
  76136. /**
  76137. * (Highcharts) Enable or disable the initial animation when a series is
  76138. * displayed. The animation can also be set as a configuration object.
  76139. * Please note that this option only applies to the initial animation of the
  76140. * series itself. For other animations, see chart.animation and the
  76141. * animation parameter under the API methods. The following properties are
  76142. * supported:
  76143. *
  76144. * - `defer`: The animation delay time in milliseconds.
  76145. *
  76146. * - `duration`: The duration of the animation in milliseconds.
  76147. *
  76148. * - `easing`: Can be a string reference to an easing function set on the
  76149. * `Math` object or a function. See the _Custom easing function_ demo below.
  76150. *
  76151. * Due to poor performance, animation is disabled in old IE browsers for
  76152. * several chart types.
  76153. */
  76154. animation?: (boolean|PlotSankeyAnimationOptions|Partial<AnimationOptionsObject>);
  76155. /**
  76156. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  76157. * column or bar.
  76158. *
  76159. * In styled mode, the border stroke can be set with the `.highcharts-point`
  76160. * rule.
  76161. */
  76162. borderColor?: (ColorString|GradientColorObject|PatternObject);
  76163. /**
  76164. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  76165. * column or bar. Defaults to `1` when there is room for a border, but to
  76166. * `0` when the columns are so dense that a border would cover the next
  76167. * column.
  76168. *
  76169. * In styled mode, the stroke width can be set with the `.highcharts-point`
  76170. * rule.
  76171. */
  76172. borderWidth?: number;
  76173. /**
  76174. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  76175. * the category, ignoring null or missing points. When `false`, space will
  76176. * be reserved for null or missing points.
  76177. */
  76178. centerInCategory?: boolean;
  76179. /**
  76180. * (Highcharts) An additional class name to apply to the series' graphical
  76181. * elements. This option does not replace default class names of the
  76182. * graphical element.
  76183. */
  76184. className?: string;
  76185. /**
  76186. * (Highcharts) Disable this option to allow series rendering in the whole
  76187. * plotting area.
  76188. *
  76189. * **Note:** Clipping should be always enabled when chart.zoomType is set
  76190. */
  76191. clip?: boolean;
  76192. /**
  76193. * (Highcharts) The main color of the series. In line type series it applies
  76194. * to the line and the point markers unless otherwise specified. In bar type
  76195. * series it applies to the bars unless a color is specified per point. The
  76196. * default value is pulled from the `options.colors` array.
  76197. *
  76198. * In styled mode, the color can be defined by the colorIndex option. Also,
  76199. * the series color can be set with the `.highcharts-series`,
  76200. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  76201. * `.highcharts-series-{n}` class, or individual classes given by the
  76202. * `className` option.
  76203. */
  76204. color?: (ColorString|GradientColorObject|PatternObject);
  76205. /**
  76206. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  76207. * from the global colors or series-specific plotOptions.column.colors
  76208. * collections, this option determines whether the chart should receive one
  76209. * color per series or one color per point.
  76210. *
  76211. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  76212. * and instead this option gives the points individual color class names on
  76213. * the form `highcharts-color-{n}`.
  76214. */
  76215. colorByPoint?: boolean;
  76216. /**
  76217. * (Highcharts) Styled mode only. A specific color index to use for the
  76218. * series, so its graphic representations are given the class name
  76219. * `highcharts-color-{n}`.
  76220. */
  76221. colorIndex?: number;
  76222. /**
  76223. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  76224. * color set to apply instead of the global colors when colorByPoint is
  76225. * true.
  76226. */
  76227. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  76228. /**
  76229. * (Highstock) Compare the values of the series against the first non-null,
  76230. * non- zero value in the visible range. The y axis will show percentage or
  76231. * absolute change depending on whether `compare` is set to `"percent"` or
  76232. * `"value"`. When this is applied to multiple series, it allows comparing
  76233. * the development of the series against each other. Adds a `change` field
  76234. * to every point object.
  76235. */
  76236. compare?: string;
  76237. /**
  76238. * (Highstock) When compare is `percent`, this option dictates whether to
  76239. * use 0 or 100 as the base of comparison.
  76240. */
  76241. compareBase?: (0|100);
  76242. /**
  76243. * (Highstock) Defines if comparison should start from the first point
  76244. * within the visible range or should start from the first point **before**
  76245. * the range.
  76246. *
  76247. * In other words, this flag determines if first point within the visible
  76248. * range will have 0% (`compareStart=true`) or should have been already
  76249. * calculated according to the previous point (`compareStart=false`).
  76250. */
  76251. compareStart?: boolean;
  76252. /**
  76253. * (Gantt) Override Pathfinder connector options for a series. Requires
  76254. * Highcharts Gantt to be loaded.
  76255. */
  76256. connectors?: SeriesConnectorsOptionsObject;
  76257. /**
  76258. * (Highcharts) You can set the cursor to "pointer" if you have click events
  76259. * attached to the series, to signal to the user that the points and lines
  76260. * can be clicked.
  76261. *
  76262. * In styled mode, the series cursor can be set with the same classes as
  76263. * listed under series.color.
  76264. */
  76265. cursor?: (string|CursorValue);
  76266. /**
  76267. * (Highcharts) Higher numbers makes the links in a sankey diagram or
  76268. * dependency wheelrender more curved. A `curveFactor` of 0 makes the lines
  76269. * straight.
  76270. */
  76271. curveFactor?: number;
  76272. /**
  76273. * (Highcharts) A reserved subspace to store options and values for
  76274. * customized functionality. Here you can add additional data for your own
  76275. * event callbacks and formatter callbacks.
  76276. */
  76277. custom?: Dictionary<any>;
  76278. /**
  76279. * (Highcharts) Name of the dash style to use for the graph, or for some
  76280. * series types the outline of each shape.
  76281. *
  76282. * In styled mode, the stroke dash-array can be set with the same classes as
  76283. * listed under series.color.
  76284. */
  76285. dashStyle?: DashStyleValue;
  76286. /**
  76287. * (Highstock) Data grouping is the concept of sampling the data values into
  76288. * larger blocks in order to ease readability and increase performance of
  76289. * the JavaScript charts. Highstock by default applies data grouping when
  76290. * the points become closer than a certain pixel value, determined by the
  76291. * `groupPixelWidth` option.
  76292. *
  76293. * If data grouping is applied, the grouping information of grouped points
  76294. * can be read from the Point.dataGroup. If point options other than the
  76295. * data itself are set, for example `name` or `color` or custom properties,
  76296. * the grouping logic doesn't know how to group it. In this case the options
  76297. * of the first point instance are copied over to the group point. This can
  76298. * be altered through a custom `approximation` callback function.
  76299. */
  76300. dataGrouping?: DataGroupingOptionsObject;
  76301. /**
  76302. * (Highcharts, Highstock, Highmaps, Gantt) Options for the data labels
  76303. * appearing on top of the nodes and links. For sankey charts, data labels
  76304. * are visible for the nodes by default, but hidden for links. This is
  76305. * controlled by modifying the `nodeFormat`, and the `format` that applies
  76306. * to links and is an empty string by default.
  76307. */
  76308. dataLabels?: (SeriesSankeyDataLabelsOptionsObject|Array<SeriesSankeyDataLabelsOptionsObject>);
  76309. /**
  76310. * (Highcharts) A description of the series to add to the screen reader
  76311. * information about the series.
  76312. */
  76313. description?: string;
  76314. /**
  76315. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  76316. * This includes point tooltips and click events on graphs and points. For
  76317. * large datasets it improves performance.
  76318. */
  76319. enableMouseTracking?: boolean;
  76320. /**
  76321. * (Highcharts) General event handlers for the series items. These event
  76322. * hooks can also be attached to the series at run time using the
  76323. * `Highcharts.addEvent` function.
  76324. */
  76325. events?: SeriesEventsOptionsObject;
  76326. /**
  76327. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  76328. * chart width or only the zoomed area when zooming in on parts of the X
  76329. * axis. By default, the Y axis adjusts to the min and max of the visible
  76330. * data. Cartesian series only.
  76331. */
  76332. getExtremesFromAll?: boolean;
  76333. /**
  76334. * (Highcharts) When set to `false` will prevent the series data from being
  76335. * included in any form of data export.
  76336. *
  76337. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  76338. * `includeInCSVExport`.
  76339. */
  76340. includeInDataExport?: boolean;
  76341. /**
  76342. * (Highmaps) What property to join the `mapData` to the value data. For
  76343. * example, if joinBy is "code", the mapData items with a specific code is
  76344. * merged into the data with the same code. For maps loaded from GeoJSON,
  76345. * the keys may be held in each point's `properties` object.
  76346. *
  76347. * The joinBy option can also be an array of two values, where the first
  76348. * points to a key in the `mapData`, and the second points to another key in
  76349. * the `data`.
  76350. *
  76351. * When joinBy is `null`, the map items are joined by their position in the
  76352. * array, which performs much better in maps with many data points. This is
  76353. * the recommended option if you are printing more than a thousand data
  76354. * points and have a backend that can preprocess the data into a parallel
  76355. * array of the mapData.
  76356. */
  76357. joinBy?: (string|Array<string>);
  76358. /**
  76359. * (Highcharts) An array specifying which option maps to which key in the
  76360. * data point array. This makes it convenient to work with unstructured data
  76361. * arrays from different sources.
  76362. */
  76363. keys?: Array<string>;
  76364. /**
  76365. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  76366. * series as possible in a natural way, seeking to avoid other series. The
  76367. * goal of this feature is to make the chart more easily readable, like if a
  76368. * human designer placed the labels in the optimal position.
  76369. *
  76370. * The series labels currently work with series types having a `graph` or an
  76371. * `area`.
  76372. */
  76373. label?: SeriesLabelOptionsObject;
  76374. /**
  76375. * (Highstock) The line marks the last price from all points.
  76376. */
  76377. lastPrice?: SeriesLastPriceOptionsObject;
  76378. /**
  76379. * (Highstock) The line marks the last price from visible range of points.
  76380. */
  76381. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  76382. /**
  76383. * (Highcharts) Set options on specific levels. Takes precedence over series
  76384. * options, but not node and link options.
  76385. */
  76386. levels?: Array<PlotSankeyLevelsOptions>;
  76387. /**
  76388. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  76389. * Additionally, the value can be ":previous" to link to the previous
  76390. * series. When two series are linked, only the first one appears in the
  76391. * legend. Toggling the visibility of this also toggles the linked series.
  76392. *
  76393. * If master series uses data sorting and linked series does not have its
  76394. * own sorting definition, the linked series will be sorted in the same
  76395. * order as the master one.
  76396. */
  76397. linkedTo?: string;
  76398. /**
  76399. * (Highcharts) Opacity for the links between nodes in the sankey diagram.
  76400. */
  76401. linkOpacity?: number;
  76402. /**
  76403. * (Highcharts) The minimal width for a line of a sankey. By default, 0
  76404. * values are not shown.
  76405. */
  76406. minLinkWidth?: number;
  76407. /**
  76408. * (Highstock) Options for the corresponding navigator series if
  76409. * `showInNavigator` is `true` for this series. Available options are the
  76410. * same as any series, documented at plotOptions and series.
  76411. *
  76412. * These options are merged with options in navigator.series, and will take
  76413. * precedence if the same option is defined both places.
  76414. */
  76415. navigatorOptions?: PlotSeriesOptions;
  76416. /**
  76417. * (Highcharts) The padding between nodes in a sankey diagram or dependency
  76418. * wheel, in pixels.
  76419. *
  76420. * If the number of nodes is so great that it is possible to lay them out
  76421. * within the plot area with the given `nodePadding`, they will be rendered
  76422. * with a smaller padding as a strategy to avoid overflow.
  76423. */
  76424. nodePadding?: number;
  76425. /**
  76426. * (Highcharts) The pixel width of each node in a sankey diagram or
  76427. * dependency wheel, or the height in case the chart is inverted.
  76428. */
  76429. nodeWidth?: number;
  76430. /**
  76431. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  76432. * dataLabels.
  76433. */
  76434. opacity?: number;
  76435. /**
  76436. * (Highcharts) Properties for each single point.
  76437. */
  76438. point?: PlotSeriesPointOptions;
  76439. /**
  76440. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  76441. * individual series. Overrides the chart wide configuration.
  76442. */
  76443. pointDescriptionFormatter?: Function;
  76444. /**
  76445. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  76446. * true, the checkbox next to the series name in the legend will be checked
  76447. * for a selected series.
  76448. */
  76449. selected?: boolean;
  76450. /**
  76451. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  76452. * allow selecting the series. The state of the checkbox is determined by
  76453. * the `selected` option.
  76454. */
  76455. showCheckbox?: boolean;
  76456. /**
  76457. * (Highcharts) Whether to display this particular series or series type in
  76458. * the legend. Standalone series are shown in legend by default, and linked
  76459. * series are not. Since v7.2.0 it is possible to show series that use
  76460. * colorAxis by setting this option to `true`.
  76461. */
  76462. showInLegend?: boolean;
  76463. /**
  76464. * (Highstock) Whether or not to show the series in the navigator. Takes
  76465. * precedence over navigator.baseSeries if defined.
  76466. */
  76467. showInNavigator?: boolean;
  76468. /**
  76469. * (Highcharts) If set to `true`, the accessibility module will skip past
  76470. * the points in this series for keyboard navigation.
  76471. */
  76472. skipKeyboardNavigation?: boolean;
  76473. states?: SeriesStatesOptionsObject;
  76474. /**
  76475. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  76476. * event on a series isn't triggered until the mouse moves over another
  76477. * series, or out of the plot area. When false, the `mouseOut` event on a
  76478. * series is triggered when the mouse leaves the area around the series'
  76479. * graph or markers. This also implies the tooltip when not shared. When
  76480. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  76481. * be hidden when moving the mouse between series. Defaults to true for line
  76482. * and area type series, but to false for columns, pies etc.
  76483. *
  76484. * **Note:** The boost module will force this option because of technical
  76485. * limitations.
  76486. */
  76487. stickyTracking?: boolean;
  76488. /**
  76489. * (Highcharts) A configuration object for the tooltip rendering of each
  76490. * single series. Properties are inherited from tooltip, but only the
  76491. * following properties can be defined on a series level.
  76492. */
  76493. tooltip?: SeriesTooltipOptionsObject;
  76494. /**
  76495. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  76496. * is longer than this, only one dimensional arrays of numbers, or two
  76497. * dimensional arrays with x and y values are allowed. Also, only the first
  76498. * point is tested, and the rest are assumed to be the same format. This
  76499. * saves expensive data checking and indexing in long series. Set it to `0`
  76500. * disable.
  76501. *
  76502. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  76503. * two dimensional arrays are allowed.
  76504. */
  76505. turboThreshold?: number;
  76506. /**
  76507. * (Highcharts) Set the initial visibility of the series.
  76508. */
  76509. visible?: boolean;
  76510. /**
  76511. * (Highmaps) Define the z index of the series.
  76512. */
  76513. zIndex?: number;
  76514. }
  76515. /**
  76516. * (Highcharts) Enable or disable the initial animation when a series is
  76517. * displayed. The animation can also be set as a configuration object. Please
  76518. * note that this option only applies to the initial animation of the series
  76519. * itself. For other animations, see chart.animation and the animation parameter
  76520. * under the API methods. The following properties are supported:
  76521. *
  76522. * - `defer`: The animation delay time in milliseconds.
  76523. *
  76524. * - `duration`: The duration of the animation in milliseconds.
  76525. *
  76526. * - `easing`: Can be a string reference to an easing function set on the `Math`
  76527. * object or a function. See the _Custom easing function_ demo below.
  76528. *
  76529. * Due to poor performance, animation is disabled in old IE browsers for several
  76530. * chart types.
  76531. */
  76532. export interface PlotScatter3dAnimationOptions {
  76533. defer?: number;
  76534. }
  76535. /**
  76536. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  76537. * animation when a series is displayed for the `dataLabels`. The animation can
  76538. * also be set as a configuration object. Please note that this option only
  76539. * applies to the initial animation. For other animations, see chart.animation
  76540. * and the animation parameter under the API methods. The following properties
  76541. * are supported:
  76542. *
  76543. * - `defer`: The animation delay time in milliseconds.
  76544. */
  76545. export interface PlotScatter3dDataLabelsAnimationOptions {
  76546. /**
  76547. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  76548. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  76549. * inherits defer time from the series.animation.defer.
  76550. */
  76551. defer?: number;
  76552. }
  76553. /**
  76554. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  76555. * appearing next to each data point.
  76556. *
  76557. * Since v6.2.0, multiple data labels can be applied to each single point by
  76558. * defining them as an array of configs.
  76559. *
  76560. * In styled mode, the data labels can be styled with the
  76561. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  76562. * example).
  76563. */
  76564. export interface PlotScatter3dDataLabelsOptions {
  76565. /**
  76566. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  76567. * compared to the point. If `right`, the right side of the label should be
  76568. * touching the point. For points with an extent, like columns, the
  76569. * alignments also dictates how to align it inside the box, as given with
  76570. * the inside option. Can be one of `left`, `center` or `right`.
  76571. */
  76572. align?: (AlignValue|null);
  76573. /**
  76574. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  76575. * overlap. To make the labels less sensitive for overlapping, the
  76576. * dataLabels.padding can be set to 0.
  76577. */
  76578. allowOverlap?: boolean;
  76579. /**
  76580. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  76581. * animation when a series is displayed for the `dataLabels`. The animation
  76582. * can also be set as a configuration object. Please note that this option
  76583. * only applies to the initial animation. For other animations, see
  76584. * chart.animation and the animation parameter under the API methods. The
  76585. * following properties are supported:
  76586. *
  76587. * - `defer`: The animation delay time in milliseconds.
  76588. */
  76589. animation?: (boolean|PlotScatter3dDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  76590. /**
  76591. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  76592. * for the data label.
  76593. */
  76594. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  76595. /**
  76596. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  76597. * label. Defaults to `undefined`.
  76598. */
  76599. borderColor?: (ColorString|GradientColorObject|PatternObject);
  76600. /**
  76601. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  76602. * the data label.
  76603. */
  76604. borderRadius?: number;
  76605. /**
  76606. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  76607. * the data label.
  76608. */
  76609. borderWidth?: number;
  76610. /**
  76611. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  76612. * Particularly in styled mode, this can be used to give each series' or
  76613. * point's data label unique styling. In addition to this option, a default
  76614. * color class name is added so that we can give the labels a contrast text
  76615. * shadow.
  76616. */
  76617. className?: string;
  76618. /**
  76619. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  76620. * labels. Defaults to `undefined`. For certain series types, like column or
  76621. * map, the data labels can be drawn inside the points. In this case the
  76622. * data label will be drawn with maximum contrast by default. Additionally,
  76623. * it will be given a `text-outline` style with the opposite color, to
  76624. * further increase the contrast. This can be overridden by setting the
  76625. * `text-outline` style to `none` in the `dataLabels.style` option.
  76626. */
  76627. color?: (ColorString|GradientColorObject|PatternObject);
  76628. /**
  76629. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  76630. * are outside the plot area. By default, the data label is moved inside the
  76631. * plot area according to the overflow option.
  76632. */
  76633. crop?: boolean;
  76634. /**
  76635. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  76636. * labels until the initial series animation has finished. Setting to
  76637. * `false` renders the data label immediately. If set to `true` inherits the
  76638. * defer time set in plotOptions.series.animation.
  76639. */
  76640. defer?: boolean;
  76641. /**
  76642. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  76643. * labels.
  76644. */
  76645. enabled?: boolean;
  76646. /**
  76647. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  76648. * of which data labels to display. The declarative filter is designed for
  76649. * use when callback functions are not available, like when the chart
  76650. * options require a pure JSON structure or for use with graphical editors.
  76651. * For programmatic control, use the `formatter` instead, and return
  76652. * `undefined` to disable a single data label.
  76653. */
  76654. filter?: DataLabelsFilterOptionsObject;
  76655. /**
  76656. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  76657. * label. Available variables are the same as for `formatter`.
  76658. */
  76659. format?: string;
  76660. /**
  76661. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  76662. * format the data label. Note that if a `format` is defined, the format
  76663. * takes precedence and the formatter is ignored.
  76664. */
  76665. formatter?: DataLabelsFormatterCallbackFunction;
  76666. /**
  76667. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  76668. * columns or map areas, whether to align the data label inside the box or
  76669. * to the actual value point. Defaults to `false` in most cases, `true` in
  76670. * stacked columns.
  76671. */
  76672. inside?: boolean;
  76673. /**
  76674. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  76675. * of null. Works analogously to format. `nullFormat` can be applied only to
  76676. * series which support displaying null points.
  76677. */
  76678. nullFormat?: (boolean|string);
  76679. /**
  76680. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  76681. * that defines formatting for points with the value of null. Works
  76682. * analogously to formatter. `nullPointFormatter` can be applied only to
  76683. * series which support displaying null points.
  76684. */
  76685. nullFormatter?: DataLabelsFormatterCallbackFunction;
  76686. /**
  76687. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  76688. * flow outside the plot area. The default is `"justify"`, which aligns them
  76689. * inside the plot area. For columns and bars, this means it will be moved
  76690. * inside the bar. To display data labels outside the plot area, set `crop`
  76691. * to `false` and `overflow` to `"allow"`.
  76692. */
  76693. overflow?: DataLabelsOverflowValue;
  76694. /**
  76695. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  76696. * the `backgroundColor` is set, this is the padding within the box.
  76697. */
  76698. padding?: number;
  76699. /**
  76700. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  76701. * points. If `center` alignment is not possible, it defaults to `right`.
  76702. */
  76703. position?: AlignValue;
  76704. /**
  76705. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  76706. * that due to a more complex structure, backgrounds, borders and padding
  76707. * will be lost on a rotated data label.
  76708. */
  76709. rotation?: number;
  76710. /**
  76711. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  76712. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  76713. * an object configuration containing `color`, `offsetX`, `offsetY`,
  76714. * `opacity` and `width`.
  76715. */
  76716. shadow?: (boolean|ShadowOptionsObject);
  76717. /**
  76718. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  76719. * the border around the label. Symbols are predefined functions on the
  76720. * Renderer object.
  76721. */
  76722. shape?: string;
  76723. /**
  76724. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  76725. * default `color` setting is `"contrast"`, which is a pseudo color that
  76726. * Highcharts picks up and applies the maximum contrast to the underlying
  76727. * point item, for example the bar in a bar chart.
  76728. *
  76729. * The `textOutline` is a pseudo property that applies an outline of the
  76730. * given width with the given color, which by default is the maximum
  76731. * contrast to the text. So a bright text color will result in a black text
  76732. * outline for maximum readability on a mixed background. In some cases,
  76733. * especially with grayscale text, the text outline doesn't work well, in
  76734. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  76735. * is true, the `textOutline` will not be picked up. In this, case, the same
  76736. * effect can be acheived through the `text-shadow` CSS property.
  76737. *
  76738. * For some series types, where each point has an extent, like for example
  76739. * tree maps, the data label may overflow the point. There are two
  76740. * strategies for handling overflow. By default, the text will wrap to
  76741. * multiple lines. The other strategy is to set `style.textOverflow` to
  76742. * `ellipsis`, which will keep the text on one line plus it will break
  76743. * inside long words.
  76744. */
  76745. style?: CSSObject;
  76746. /**
  76747. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  76748. * should follow marker's shape. Border and background are disabled for a
  76749. * label that follows a path.
  76750. *
  76751. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  76752. * to true will disable this option.
  76753. */
  76754. textPath?: DataLabelsTextPathOptionsObject;
  76755. /**
  76756. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  76757. * the labels.
  76758. */
  76759. useHTML?: boolean;
  76760. /**
  76761. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  76762. * label. Can be one of `top`, `middle` or `bottom`. The default value
  76763. * depends on the data, for instance in a column chart, the label is above
  76764. * positive values and below negative values.
  76765. */
  76766. verticalAlign?: (VerticalAlignValue|null);
  76767. /**
  76768. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  76769. * label relative to the point in pixels.
  76770. */
  76771. x?: number;
  76772. /**
  76773. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  76774. * label relative to the point in pixels.
  76775. */
  76776. y?: number;
  76777. /**
  76778. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  76779. * The default Z index puts it above the series. Use a Z index of 2 to
  76780. * display it behind the series.
  76781. */
  76782. z?: number;
  76783. }
  76784. /**
  76785. * (Highcharts, Highstock) Options for the series data sorting.
  76786. */
  76787. export interface PlotScatter3dDataSortingOptions {
  76788. /**
  76789. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  76790. * Use xAxis.reversed to change the sorting order.
  76791. */
  76792. enabled?: boolean;
  76793. /**
  76794. * (Highcharts, Highstock) Whether to allow matching points by name in an
  76795. * update. If this option is disabled, points will be matched by order.
  76796. */
  76797. matchByName?: boolean;
  76798. /**
  76799. * (Highcharts, Highstock) Determines what data value should be used to sort
  76800. * by.
  76801. */
  76802. sortKey?: string;
  76803. }
  76804. /**
  76805. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
  76806. * plotting discrete values, a little random noise may help telling the points
  76807. * apart. The jitter setting applies a random displacement of up to `n` axis
  76808. * units in either direction. So for example on a horizontal X axis, setting the
  76809. * `jitter.x` to 0.24 will render the point in a random position between 0.24
  76810. * units to the left and 0.24 units to the right of the true axis position. On a
  76811. * category axis, setting it to 0.5 will fill up the bin and make the data
  76812. * appear continuous.
  76813. *
  76814. * When rendered on top of a box plot or a column series, a jitter value of 0.24
  76815. * will correspond to the underlying series' default groupPadding and
  76816. * pointPadding settings.
  76817. */
  76818. export interface PlotScatter3dJitterOptions {
  76819. /**
  76820. * (Highcharts, Highstock) The maximal X offset for the random jitter
  76821. * effect.
  76822. */
  76823. x?: number;
  76824. /**
  76825. * (Highcharts, Highstock) The maximal Y offset for the random jitter
  76826. * effect.
  76827. */
  76828. y?: number;
  76829. }
  76830. /**
  76831. * (Highcharts) A 3D scatter plot uses x, y and z coordinates to display values
  76832. * for three variables for a set of data.
  76833. *
  76834. * In TypeScript the type option must always be set.
  76835. *
  76836. * Configuration options for the series are given in three levels:
  76837. *
  76838. * 1. Options for all series in a chart are defined in the plotOptions.series
  76839. * object.
  76840. *
  76841. * 2. Options for all `scatter3d` series are defined in plotOptions.scatter3d.
  76842. *
  76843. * 3. Options for one single series are given in the series instance array. (see
  76844. * online documentation for example)
  76845. */
  76846. export interface PlotScatter3dOptions {
  76847. /**
  76848. * (Highcharts) Accessibility options for a series.
  76849. */
  76850. accessibility?: SeriesAccessibilityOptionsObject;
  76851. /**
  76852. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  76853. * rendered. If `true`, areas which don't correspond to a data point, are
  76854. * rendered as `null` points. If `false`, those areas are skipped.
  76855. */
  76856. allAreas?: boolean;
  76857. /**
  76858. * (Highcharts) Allow this series' points to be selected by clicking on the
  76859. * graphic (columns, point markers, pie slices, map areas etc).
  76860. *
  76861. * The selected points can be handled by point select and unselect events,
  76862. * or collectively by the getSelectedPoints function.
  76863. *
  76864. * And alternative way of selecting points is through dragging.
  76865. */
  76866. allowPointSelect?: boolean;
  76867. /**
  76868. * (Highcharts) Enable or disable the initial animation when a series is
  76869. * displayed. The animation can also be set as a configuration object.
  76870. * Please note that this option only applies to the initial animation of the
  76871. * series itself. For other animations, see chart.animation and the
  76872. * animation parameter under the API methods. The following properties are
  76873. * supported:
  76874. *
  76875. * - `defer`: The animation delay time in milliseconds.
  76876. *
  76877. * - `duration`: The duration of the animation in milliseconds.
  76878. *
  76879. * - `easing`: Can be a string reference to an easing function set on the
  76880. * `Math` object or a function. See the _Custom easing function_ demo below.
  76881. *
  76882. * Due to poor performance, animation is disabled in old IE browsers for
  76883. * several chart types.
  76884. */
  76885. animation?: (boolean|PlotScatter3dAnimationOptions|Partial<AnimationOptionsObject>);
  76886. /**
  76887. * (Highcharts) For some series, there is a limit that shuts down initial
  76888. * animation by default when the total number of points in the chart is too
  76889. * high. For example, for a column chart and its derivatives, animation does
  76890. * not run if there is more than 250 points totally. To disable this cap,
  76891. * set `animationLimit` to `Infinity`.
  76892. */
  76893. animationLimit?: number;
  76894. /**
  76895. * (Highmaps) The border color of the map areas.
  76896. *
  76897. * In styled mode, the border stroke is given in the `.highcharts-point`
  76898. * class.
  76899. */
  76900. borderColor?: (ColorString|GradientColorObject|PatternObject);
  76901. /**
  76902. * (Highmaps) The border width of each map area.
  76903. *
  76904. * In styled mode, the border stroke width is given in the
  76905. * `.highcharts-point` class.
  76906. */
  76907. borderWidth?: number;
  76908. /**
  76909. * (Highcharts) An additional class name to apply to the series' graphical
  76910. * elements. This option does not replace default class names of the
  76911. * graphical element.
  76912. */
  76913. className?: string;
  76914. /**
  76915. * (Highcharts) Disable this option to allow series rendering in the whole
  76916. * plotting area.
  76917. *
  76918. * **Note:** Clipping should be always enabled when chart.zoomType is set
  76919. */
  76920. clip?: boolean;
  76921. /**
  76922. * (Highcharts) The main color of the series. In line type series it applies
  76923. * to the line and the point markers unless otherwise specified. In bar type
  76924. * series it applies to the bars unless a color is specified per point. The
  76925. * default value is pulled from the `options.colors` array.
  76926. *
  76927. * In styled mode, the color can be defined by the colorIndex option. Also,
  76928. * the series color can be set with the `.highcharts-series`,
  76929. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  76930. * `.highcharts-series-{n}` class, or individual classes given by the
  76931. * `className` option.
  76932. */
  76933. color?: (ColorString|GradientColorObject|PatternObject);
  76934. /**
  76935. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  76936. * this number defines which colorAxis the particular series is connected
  76937. * to. It refers to either the axis id or the index of the axis in the
  76938. * colorAxis array, with 0 being the first. Set this option to false to
  76939. * prevent a series from connecting to the default color axis.
  76940. *
  76941. * Since v7.2.0 the option can also be an axis id or an axis index instead
  76942. * of a boolean flag.
  76943. */
  76944. colorAxis?: (boolean|number|string);
  76945. /**
  76946. * (Highcharts) Styled mode only. A specific color index to use for the
  76947. * series, so its graphic representations are given the class name
  76948. * `highcharts-color-{n}`.
  76949. */
  76950. colorIndex?: number;
  76951. /**
  76952. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  76953. * used to calculate point color if `colorAxis` is used. Requires to set
  76954. * `min` and `max` if some custom point property is used or if approximation
  76955. * for data grouping is set to `'sum'`.
  76956. */
  76957. colorKey?: string;
  76958. /**
  76959. * (Highstock) Compare the values of the series against the first non-null,
  76960. * non- zero value in the visible range. The y axis will show percentage or
  76961. * absolute change depending on whether `compare` is set to `"percent"` or
  76962. * `"value"`. When this is applied to multiple series, it allows comparing
  76963. * the development of the series against each other. Adds a `change` field
  76964. * to every point object.
  76965. */
  76966. compare?: string;
  76967. /**
  76968. * (Highstock) When compare is `percent`, this option dictates whether to
  76969. * use 0 or 100 as the base of comparison.
  76970. */
  76971. compareBase?: (0|100);
  76972. /**
  76973. * (Highstock) Defines if comparison should start from the first point
  76974. * within the visible range or should start from the first point **before**
  76975. * the range.
  76976. *
  76977. * In other words, this flag determines if first point within the visible
  76978. * range will have 0% (`compareStart=true`) or should have been already
  76979. * calculated according to the previous point (`compareStart=false`).
  76980. */
  76981. compareStart?: boolean;
  76982. /**
  76983. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  76984. * series plot across the extremes.
  76985. */
  76986. connectEnds?: boolean;
  76987. /**
  76988. * (Highcharts, Highstock) Whether to connect a graph line across null
  76989. * points, or render a gap between the two points on either side of the
  76990. * null.
  76991. */
  76992. connectNulls?: boolean;
  76993. /**
  76994. * (Gantt) Override Pathfinder connector options for a series. Requires
  76995. * Highcharts Gantt to be loaded.
  76996. */
  76997. connectors?: SeriesConnectorsOptionsObject;
  76998. /**
  76999. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  77000. * rounded to its nearest pixel in order to render sharp on screen. In some
  77001. * cases, when there are a lot of densely packed columns, this leads to
  77002. * visible difference in column widths or distance between columns. In these
  77003. * cases, setting `crisp` to `false` may look better, even though each
  77004. * column is rendered blurry.
  77005. */
  77006. crisp?: boolean;
  77007. /**
  77008. * (Highcharts) You can set the cursor to "pointer" if you have click events
  77009. * attached to the series, to signal to the user that the points and lines
  77010. * can be clicked.
  77011. *
  77012. * In styled mode, the series cursor can be set with the same classes as
  77013. * listed under series.color.
  77014. */
  77015. cursor?: (string|CursorValue);
  77016. /**
  77017. * (Highcharts) A reserved subspace to store options and values for
  77018. * customized functionality. Here you can add additional data for your own
  77019. * event callbacks and formatter callbacks.
  77020. */
  77021. custom?: Dictionary<any>;
  77022. /**
  77023. * (Highcharts) Name of the dash style to use for the graph, or for some
  77024. * series types the outline of each shape.
  77025. *
  77026. * In styled mode, the stroke dash-array can be set with the same classes as
  77027. * listed under series.color.
  77028. */
  77029. dashStyle?: DashStyleValue;
  77030. /**
  77031. * (Highstock) Data grouping is the concept of sampling the data values into
  77032. * larger blocks in order to ease readability and increase performance of
  77033. * the JavaScript charts. Highstock by default applies data grouping when
  77034. * the points become closer than a certain pixel value, determined by the
  77035. * `groupPixelWidth` option.
  77036. *
  77037. * If data grouping is applied, the grouping information of grouped points
  77038. * can be read from the Point.dataGroup. If point options other than the
  77039. * data itself are set, for example `name` or `color` or custom properties,
  77040. * the grouping logic doesn't know how to group it. In this case the options
  77041. * of the first point instance are copied over to the group point. This can
  77042. * be altered through a custom `approximation` callback function.
  77043. */
  77044. dataGrouping?: DataGroupingOptionsObject;
  77045. /**
  77046. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  77047. * labels, appearing next to each data point.
  77048. *
  77049. * Since v6.2.0, multiple data labels can be applied to each single point by
  77050. * defining them as an array of configs.
  77051. *
  77052. * In styled mode, the data labels can be styled with the
  77053. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  77054. * (see example).
  77055. */
  77056. dataLabels?: (PlotScatter3dDataLabelsOptions|Array<PlotScatter3dDataLabelsOptions>);
  77057. /**
  77058. * (Highcharts, Highstock) Options for the series data sorting.
  77059. */
  77060. dataSorting?: (DataSortingOptionsObject|PlotScatter3dDataSortingOptions);
  77061. /**
  77062. * (Highcharts) A description of the series to add to the screen reader
  77063. * information about the series.
  77064. */
  77065. description?: string;
  77066. /**
  77067. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  77068. * This includes point tooltips and click events on graphs and points. For
  77069. * large datasets it improves performance.
  77070. */
  77071. enableMouseTracking?: boolean;
  77072. /**
  77073. * (Highcharts) General event handlers for the series items. These event
  77074. * hooks can also be attached to the series at run time using the
  77075. * `Highcharts.addEvent` function.
  77076. */
  77077. events?: SeriesEventsOptionsObject;
  77078. /**
  77079. * (Highcharts) Determines whether the series should look for the nearest
  77080. * point in both dimensions or just the x-dimension when hovering the
  77081. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  77082. * series. If the data has duplicate x-values, it is recommended to set this
  77083. * to `'xy'` to allow hovering over all points.
  77084. *
  77085. * Applies only to series types using nearest neighbor search (not direct
  77086. * hover) for tooltip.
  77087. */
  77088. findNearestPointBy?: OptionsFindNearestPointByValue;
  77089. /**
  77090. * (Highstock) Defines when to display a gap in the graph, together with the
  77091. * gapUnit option.
  77092. *
  77093. * In case when `dataGrouping` is enabled, points can be grouped into a
  77094. * larger time span. This can make the grouped points to have a greater
  77095. * distance than the absolute value of `gapSize` property, which will result
  77096. * in disappearing graph completely. To prevent this situation the mentioned
  77097. * distance between grouped points is used instead of previously defined
  77098. * `gapSize`.
  77099. *
  77100. * In practice, this option is most often used to visualize gaps in time
  77101. * series. In a stock chart, intraday data is available for daytime hours,
  77102. * while gaps will appear in nights and weekends.
  77103. */
  77104. gapSize?: number;
  77105. /**
  77106. * (Highstock) Together with gapSize, this option defines where to draw gaps
  77107. * in the graph.
  77108. *
  77109. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  77110. * if the distance between two points is greater than 5 times that of the
  77111. * two closest points, the graph will be broken.
  77112. *
  77113. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  77114. * values, which on a datetime axis is milliseconds. This also applies to
  77115. * the navigator series that inherits gap options from the base series.
  77116. */
  77117. gapUnit?: OptionsGapUnitValue;
  77118. /**
  77119. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  77120. * chart width or only the zoomed area when zooming in on parts of the X
  77121. * axis. By default, the Y axis adjusts to the min and max of the visible
  77122. * data. Cartesian series only.
  77123. */
  77124. getExtremesFromAll?: boolean;
  77125. /**
  77126. * (Highcharts) When set to `false` will prevent the series data from being
  77127. * included in any form of data export.
  77128. *
  77129. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  77130. * `includeInCSVExport`.
  77131. */
  77132. includeInDataExport?: boolean;
  77133. /**
  77134. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
  77135. * When plotting discrete values, a little random noise may help telling the
  77136. * points apart. The jitter setting applies a random displacement of up to
  77137. * `n` axis units in either direction. So for example on a horizontal X
  77138. * axis, setting the `jitter.x` to 0.24 will render the point in a random
  77139. * position between 0.24 units to the left and 0.24 units to the right of
  77140. * the true axis position. On a category axis, setting it to 0.5 will fill
  77141. * up the bin and make the data appear continuous.
  77142. *
  77143. * When rendered on top of a box plot or a column series, a jitter value of
  77144. * 0.24 will correspond to the underlying series' default groupPadding and
  77145. * pointPadding settings.
  77146. */
  77147. jitter?: PlotScatter3dJitterOptions;
  77148. /**
  77149. * (Highmaps) What property to join the `mapData` to the value data. For
  77150. * example, if joinBy is "code", the mapData items with a specific code is
  77151. * merged into the data with the same code. For maps loaded from GeoJSON,
  77152. * the keys may be held in each point's `properties` object.
  77153. *
  77154. * The joinBy option can also be an array of two values, where the first
  77155. * points to a key in the `mapData`, and the second points to another key in
  77156. * the `data`.
  77157. *
  77158. * When joinBy is `null`, the map items are joined by their position in the
  77159. * array, which performs much better in maps with many data points. This is
  77160. * the recommended option if you are printing more than a thousand data
  77161. * points and have a backend that can preprocess the data into a parallel
  77162. * array of the mapData.
  77163. */
  77164. joinBy?: (string|Array<string>);
  77165. /**
  77166. * (Highcharts) An array specifying which option maps to which key in the
  77167. * data point array. This makes it convenient to work with unstructured data
  77168. * arrays from different sources.
  77169. */
  77170. keys?: Array<string>;
  77171. /**
  77172. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  77173. * series as possible in a natural way, seeking to avoid other series. The
  77174. * goal of this feature is to make the chart more easily readable, like if a
  77175. * human designer placed the labels in the optimal position.
  77176. *
  77177. * The series labels currently work with series types having a `graph` or an
  77178. * `area`.
  77179. */
  77180. label?: SeriesLabelOptionsObject;
  77181. /**
  77182. * (Highstock) The line marks the last price from all points.
  77183. */
  77184. lastPrice?: SeriesLastPriceOptionsObject;
  77185. /**
  77186. * (Highstock) The line marks the last price from visible range of points.
  77187. */
  77188. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  77189. /**
  77190. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  77191. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  77192. * the ends and bends.
  77193. */
  77194. linecap?: SeriesLinecapValue;
  77195. /**
  77196. * (Highcharts, Highstock) The width of the line connecting the data points.
  77197. */
  77198. lineWidth?: number;
  77199. /**
  77200. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  77201. * Additionally, the value can be ":previous" to link to the previous
  77202. * series. When two series are linked, only the first one appears in the
  77203. * legend. Toggling the visibility of this also toggles the linked series.
  77204. *
  77205. * If master series uses data sorting and linked series does not have its
  77206. * own sorting definition, the linked series will be sorted in the same
  77207. * order as the master one.
  77208. */
  77209. linkedTo?: string;
  77210. /**
  77211. * (Highcharts) Options for the point markers of line-like series.
  77212. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  77213. * visual appearance of the markers. Other series types, like column series,
  77214. * don't have markers, but have visual options on the series level instead.
  77215. *
  77216. * In styled mode, the markers can be styled with the `.highcharts-point`,
  77217. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  77218. */
  77219. marker?: PointMarkerOptionsObject;
  77220. /**
  77221. * (Highstock) Options for the corresponding navigator series if
  77222. * `showInNavigator` is `true` for this series. Available options are the
  77223. * same as any series, documented at plotOptions and series.
  77224. *
  77225. * These options are merged with options in navigator.series, and will take
  77226. * precedence if the same option is defined both places.
  77227. */
  77228. navigatorOptions?: PlotSeriesOptions;
  77229. /**
  77230. * (Highcharts) The color for the parts of the graph or points that are
  77231. * below the threshold. Note that `zones` takes precedence over the negative
  77232. * color. Using `negativeColor` is equivalent to applying a zone with value
  77233. * of 0.
  77234. */
  77235. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  77236. /**
  77237. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  77238. * dataLabels.
  77239. */
  77240. opacity?: number;
  77241. /**
  77242. * (Highcharts) Properties for each single point.
  77243. */
  77244. point?: PlotSeriesPointOptions;
  77245. /**
  77246. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  77247. * individual series. Overrides the chart wide configuration.
  77248. */
  77249. pointDescriptionFormatter?: Function;
  77250. /**
  77251. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  77252. * a series, `pointInterval` defines the interval of the x values. For
  77253. * example, if a series contains one value every decade starting from year
  77254. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  77255. * `pointInterval` is set in milliseconds.
  77256. *
  77257. * It can be also be combined with `pointIntervalUnit` to draw irregular
  77258. * time intervals.
  77259. *
  77260. * Please note that this options applies to the _series data_, not the
  77261. * interval of the axis ticks, which is independent.
  77262. */
  77263. pointInterval?: number;
  77264. /**
  77265. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  77266. * setting the pointInterval to irregular time units, `day`, `month` and
  77267. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  77268. * also takes the DST crossover into consideration when dealing with local
  77269. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  77270. * months, 10 years etc.
  77271. *
  77272. * Please note that this options applies to the _series data_, not the
  77273. * interval of the axis ticks, which is independent.
  77274. */
  77275. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  77276. /**
  77277. * (Highstock) The width of each point on the x axis. For example in a
  77278. * column chart with one value each day, the pointRange would be 1 day (= 24
  77279. * * 3600
  77280. *
  77281. * * 1000 milliseconds). This is normally computed automatically, but this
  77282. * option can be used to override the automatic value.
  77283. */
  77284. pointRange?: number;
  77285. /**
  77286. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  77287. * a series, pointStart defines on what value to start. For example, if a
  77288. * series contains one yearly value starting from 1945, set pointStart to
  77289. * 1945.
  77290. */
  77291. pointStart?: number;
  77292. /**
  77293. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  77294. * true, the checkbox next to the series name in the legend will be checked
  77295. * for a selected series.
  77296. */
  77297. selected?: boolean;
  77298. /**
  77299. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  77300. * allow selecting the series. The state of the checkbox is determined by
  77301. * the `selected` option.
  77302. */
  77303. showCheckbox?: boolean;
  77304. /**
  77305. * (Highcharts) Whether to display this particular series or series type in
  77306. * the legend. Standalone series are shown in legend by default, and linked
  77307. * series are not. Since v7.2.0 it is possible to show series that use
  77308. * colorAxis by setting this option to `true`.
  77309. */
  77310. showInLegend?: boolean;
  77311. /**
  77312. * (Highstock) Whether or not to show the series in the navigator. Takes
  77313. * precedence over navigator.baseSeries if defined.
  77314. */
  77315. showInNavigator?: boolean;
  77316. /**
  77317. * (Highcharts) If set to `true`, the accessibility module will skip past
  77318. * the points in this series for keyboard navigation.
  77319. */
  77320. skipKeyboardNavigation?: boolean;
  77321. /**
  77322. * (Highcharts, Highstock) When this is true, the series will not cause the
  77323. * Y axis to cross the zero plane (or threshold option) unless the data
  77324. * actually crosses the plane.
  77325. *
  77326. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  77327. * make the Y axis show negative values according to the `minPadding`
  77328. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  77329. */
  77330. softThreshold?: boolean;
  77331. /**
  77332. * (Highcharts, Highstock) Whether to stack the values of each series on top
  77333. * of each other. Possible values are `undefined` to disable, `"normal"` to
  77334. * stack by value or `"percent"`.
  77335. *
  77336. * When stacking is enabled, data must be sorted in ascending X order.
  77337. *
  77338. * Some stacking options are related to specific series types. In the
  77339. * streamgraph series type, the stacking option is set to `"stream"`. The
  77340. * second one is `"overlap"`, which only applies to waterfall series.
  77341. */
  77342. stacking?: OptionsStackingValue;
  77343. states?: SeriesStatesOptionsObject;
  77344. /**
  77345. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  77346. * values are `left`, `center` and `right`.
  77347. */
  77348. step?: OptionsStepValue;
  77349. /**
  77350. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  77351. * `mouseOut` event on a series isn't triggered until the mouse moves over
  77352. * another series, or out of the plot area. When false, the `mouseOut` event
  77353. * on a series is triggered when the mouse leaves the area around the
  77354. * series' graph or markers. This also implies the tooltip. When
  77355. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  77356. * be hidden when moving the mouse between series.
  77357. */
  77358. stickyTracking?: boolean;
  77359. /**
  77360. * (Highcharts, Highstock) The threshold, also called zero level or base
  77361. * level. For line type series this is only used in conjunction with
  77362. * negativeColor.
  77363. */
  77364. threshold?: number;
  77365. /**
  77366. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  77367. * of each single series. Properties are inherited from tooltip. Overridable
  77368. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  77369. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  77370. * series.name by default shows in the headerFormat and point.x and point.y
  77371. * in the pointFormat.
  77372. */
  77373. tooltip?: SeriesTooltipOptionsObject;
  77374. /**
  77375. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  77376. * is longer than this, only one dimensional arrays of numbers, or two
  77377. * dimensional arrays with x and y values are allowed. Also, only the first
  77378. * point is tested, and the rest are assumed to be the same format. This
  77379. * saves expensive data checking and indexing in long series. Set it to `0`
  77380. * disable.
  77381. *
  77382. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  77383. * two dimensional arrays are allowed.
  77384. */
  77385. turboThreshold?: number;
  77386. /**
  77387. * (Highcharts) Set the initial visibility of the series.
  77388. */
  77389. visible?: boolean;
  77390. /**
  77391. * (Highmaps) Define the z index of the series.
  77392. */
  77393. zIndex?: number;
  77394. /**
  77395. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  77396. */
  77397. zoneAxis?: string;
  77398. /**
  77399. * (Highcharts, Highstock) An array defining zones within a series. Zones
  77400. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  77401. * the `zoneAxis` option. The zone definitions have to be in ascending order
  77402. * regarding to the value.
  77403. *
  77404. * In styled mode, the color zones are styled with the
  77405. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  77406. * option (view live demo).
  77407. */
  77408. zones?: Array<SeriesZonesOptionsObject>;
  77409. }
  77410. /**
  77411. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  77412. * is displayed. The animation can also be set as a configuration object. Please
  77413. * note that this option only applies to the initial animation of the series
  77414. * itself. For other animations, see chart.animation and the animation parameter
  77415. * under the API methods. The following properties are supported:
  77416. *
  77417. * - `defer`: The animation delay time in milliseconds.
  77418. *
  77419. * - `duration`: The duration of the animation in milliseconds.
  77420. *
  77421. * - `easing`: Can be a string reference to an easing function set on the `Math`
  77422. * object or a function. See the _Custom easing function_ demo below.
  77423. *
  77424. * Due to poor performance, animation is disabled in old IE browsers for several
  77425. * chart types.
  77426. */
  77427. export interface PlotScatterAnimationOptions {
  77428. defer?: number;
  77429. }
  77430. export interface PlotScatterClusterEventsOptions {
  77431. /**
  77432. * (Highcharts, Highmaps) Fires when the cluster point is clicked and
  77433. * `drillToCluster` is enabled. One parameter, `event`, is passed to the
  77434. * function. The default action is to zoom to the cluster points range. This
  77435. * can be prevented by calling `event.preventDefault()`.
  77436. */
  77437. drillToCluster?: MarkerClusterDrillCallbackFunction;
  77438. }
  77439. /**
  77440. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are options
  77441. * to change the type of the algorithm, gridSize, distance or iterations.
  77442. */
  77443. export interface PlotScatterClusterLayoutAlgorithmOptions {
  77444. /**
  77445. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `distance` is a
  77446. * maximum distance between point and cluster center so that this point will
  77447. * be inside the cluster. The distance is either a number defining pixels or
  77448. * a percentage defining a percentage of the plot area width.
  77449. */
  77450. distance?: (number|string);
  77451. /**
  77452. * (Highcharts, Highmaps) When `type` is set to the `grid`, `gridSize` is a
  77453. * size of a grid square element either as a number defining pixels, or a
  77454. * percentage defining a percentage of the plot area width.
  77455. */
  77456. gridSize?: (number|string);
  77457. /**
  77458. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `iterations` are
  77459. * the number of iterations that this algorithm will be repeated to find
  77460. * clusters positions.
  77461. */
  77462. iterations?: number;
  77463. /**
  77464. * (Highcharts, Highmaps) When `type` is set to `undefined` and there are
  77465. * more visible points than the kmeansThreshold the `grid` algorithm is used
  77466. * to find clusters, otherwise `kmeans`. It ensures good performance on
  77467. * large datasets and better clusters arrangement after the zoom.
  77468. */
  77469. kmeansThreshold?: number;
  77470. /**
  77471. * (Highcharts, Highmaps) Type of the algorithm used to combine points into
  77472. * a cluster. There are three available algorithms:
  77473. *
  77474. * 1) `grid` - grid-based clustering technique. Points are assigned to
  77475. * squares of set size depending on their position on the plot area. Points
  77476. * inside the grid square are combined into a cluster. The grid size can be
  77477. * controlled by `gridSize` property (grid size changes at certain zoom
  77478. * levels).
  77479. *
  77480. * 2) `kmeans` - based on K-Means clustering technique. In the first step,
  77481. * points are divided using the grid method (distance property is a grid
  77482. * size) to find the initial amount of clusters. Next, each point is
  77483. * classified by computing the distance between each cluster center and that
  77484. * point. When the closest cluster distance is lower than distance property
  77485. * set by a user the point is added to this cluster otherwise is classified
  77486. * as `noise`. The algorithm is repeated until each cluster center not
  77487. * change its previous position more than one pixel. This technique is more
  77488. * accurate but also more time consuming than the `grid` algorithm,
  77489. * especially for big datasets.
  77490. *
  77491. * 3) `optimizedKmeans` - based on K-Means clustering technique. This
  77492. * algorithm uses k-means algorithm only on the chart initialization or when
  77493. * chart extremes have greater range than on initialization. When a chart is
  77494. * redrawn the algorithm checks only clustered points distance from the
  77495. * cluster center and rebuild it when the point is spaced enough to be
  77496. * outside the cluster. It provides performance improvement and more stable
  77497. * clusters position yet can be used rather on small and sparse datasets.
  77498. *
  77499. * By default, the algorithm depends on visible quantity of points and
  77500. * `kmeansThreshold`. When there are more visible points than the
  77501. * `kmeansThreshold` the `grid` algorithm is used, otherwise `kmeans`.
  77502. *
  77503. * The custom clustering algorithm can be added by assigning a callback
  77504. * function as the type property. This function takes an array of
  77505. * `processedXData`, `processedYData`, `processedXData` indexes and
  77506. * `layoutAlgorithm` options as arguments and should return an object with
  77507. * grouped data.
  77508. *
  77509. * The algorithm should return an object like that: (see online
  77510. * documentation for example)
  77511. *
  77512. * `clusterId` (example above - unique id of a cluster or noise) is an array
  77513. * of points belonging to a cluster. If the array has only one point or
  77514. * fewer points than set in `cluster.minimumClusterSize` it won't be
  77515. * combined into a cluster.
  77516. */
  77517. type?: (string|Function);
  77518. }
  77519. /**
  77520. * (Highcharts, Highmaps) Options for marker clusters, the concept of sampling
  77521. * the data values into larger blocks in order to ease readability and increase
  77522. * performance of the JavaScript charts.
  77523. *
  77524. * Note: marker clusters module is not working with `boost` and
  77525. * `draggable-points` modules.
  77526. *
  77527. * The marker clusters feature requires the marker-clusters.js file to be
  77528. * loaded, found in the modules directory of the download package, or online at
  77529. * code.highcharts.com/modules/marker-clusters.js.
  77530. */
  77531. export interface PlotScatterClusterOptions {
  77532. /**
  77533. * (Highcharts, Highmaps) When set to `false` prevent cluster overlapping -
  77534. * this option works only when `layoutAlgorithm.type = "grid"`.
  77535. */
  77536. allowOverlap?: boolean;
  77537. /**
  77538. * (Highcharts, Highmaps) Options for the cluster marker animation.
  77539. */
  77540. animation?: (boolean|Partial<AnimationOptionsObject>);
  77541. /**
  77542. * (Highcharts, Highmaps) Options for the cluster data labels.
  77543. */
  77544. dataLabels?: DataLabelsOptions;
  77545. /**
  77546. * (Highcharts, Highmaps) Zoom the plot area to the cluster points range
  77547. * when a cluster is clicked.
  77548. */
  77549. drillToCluster?: boolean;
  77550. /**
  77551. * (Highcharts, Highmaps) Whether to enable the marker-clusters module.
  77552. */
  77553. enabled?: boolean;
  77554. events?: PlotScatterClusterEventsOptions;
  77555. /**
  77556. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are
  77557. * options to change the type of the algorithm, gridSize, distance or
  77558. * iterations.
  77559. */
  77560. layoutAlgorithm?: PlotScatterClusterLayoutAlgorithmOptions;
  77561. /**
  77562. * (Highcharts, Highmaps) Options for the cluster marker.
  77563. */
  77564. marker?: PointMarkerOptionsObject;
  77565. /**
  77566. * (Highcharts, Highmaps) The minimum amount of points to be combined into a
  77567. * cluster. This value has to be greater or equal to 2.
  77568. */
  77569. minimumClusterSize?: number;
  77570. states?: PlotScatterClusterStatesOptions;
  77571. /**
  77572. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  77573. *
  77574. * In styled mode, the color zones are styled with the
  77575. * `.highcharts-cluster-zone-{n}` class, or custom classed from the
  77576. * `className` option.
  77577. */
  77578. zones?: Array<PlotScatterClusterZonesOptions>;
  77579. }
  77580. export interface PlotScatterClusterStatesHoverOptions {
  77581. /**
  77582. * (Highcharts, Highmaps) The fill color of the cluster marker in hover
  77583. * state. When `undefined`, the series' or point's fillColor for normal
  77584. * state is used.
  77585. */
  77586. fillColor?: ColorType;
  77587. }
  77588. export interface PlotScatterClusterStatesOptions {
  77589. hover?: PlotScatterClusterStatesHoverOptions;
  77590. }
  77591. /**
  77592. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  77593. *
  77594. * In styled mode, the color zones are styled with the
  77595. * `.highcharts-cluster-zone-{n}` class, or custom classed from the `className`
  77596. * option.
  77597. */
  77598. export interface PlotScatterClusterZonesOptions {
  77599. /**
  77600. * (Highcharts, Highmaps) Styled mode only. A custom class name for the
  77601. * zone.
  77602. */
  77603. className?: string;
  77604. /**
  77605. * (Highcharts, Highmaps) The value where the zone starts.
  77606. */
  77607. from?: number;
  77608. /**
  77609. * (Highcharts, Highmaps) Settings for the cluster marker belonging to the
  77610. * zone.
  77611. */
  77612. marker?: PointMarkerOptionsObject;
  77613. /**
  77614. * (Highcharts, Highmaps) The value where the zone ends.
  77615. */
  77616. to?: number;
  77617. }
  77618. /**
  77619. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  77620. * animation when a series is displayed for the `dataLabels`. The animation can
  77621. * also be set as a configuration object. Please note that this option only
  77622. * applies to the initial animation. For other animations, see chart.animation
  77623. * and the animation parameter under the API methods. The following properties
  77624. * are supported:
  77625. *
  77626. * - `defer`: The animation delay time in milliseconds.
  77627. */
  77628. export interface PlotScatterDataLabelsAnimationOptions {
  77629. /**
  77630. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  77631. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  77632. * inherits defer time from the series.animation.defer.
  77633. */
  77634. defer?: number;
  77635. }
  77636. /**
  77637. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  77638. * appearing next to each data point.
  77639. *
  77640. * Since v6.2.0, multiple data labels can be applied to each single point by
  77641. * defining them as an array of configs.
  77642. *
  77643. * In styled mode, the data labels can be styled with the
  77644. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  77645. * example).
  77646. */
  77647. export interface PlotScatterDataLabelsOptions {
  77648. /**
  77649. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  77650. * compared to the point. If `right`, the right side of the label should be
  77651. * touching the point. For points with an extent, like columns, the
  77652. * alignments also dictates how to align it inside the box, as given with
  77653. * the inside option. Can be one of `left`, `center` or `right`.
  77654. */
  77655. align?: (AlignValue|null);
  77656. /**
  77657. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  77658. * overlap. To make the labels less sensitive for overlapping, the
  77659. * dataLabels.padding can be set to 0.
  77660. */
  77661. allowOverlap?: boolean;
  77662. /**
  77663. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  77664. * animation when a series is displayed for the `dataLabels`. The animation
  77665. * can also be set as a configuration object. Please note that this option
  77666. * only applies to the initial animation. For other animations, see
  77667. * chart.animation and the animation parameter under the API methods. The
  77668. * following properties are supported:
  77669. *
  77670. * - `defer`: The animation delay time in milliseconds.
  77671. */
  77672. animation?: (boolean|PlotScatterDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  77673. /**
  77674. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  77675. * for the data label.
  77676. */
  77677. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  77678. /**
  77679. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  77680. * label. Defaults to `undefined`.
  77681. */
  77682. borderColor?: (ColorString|GradientColorObject|PatternObject);
  77683. /**
  77684. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  77685. * the data label.
  77686. */
  77687. borderRadius?: number;
  77688. /**
  77689. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  77690. * the data label.
  77691. */
  77692. borderWidth?: number;
  77693. /**
  77694. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  77695. * Particularly in styled mode, this can be used to give each series' or
  77696. * point's data label unique styling. In addition to this option, a default
  77697. * color class name is added so that we can give the labels a contrast text
  77698. * shadow.
  77699. */
  77700. className?: string;
  77701. /**
  77702. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  77703. * labels. Defaults to `undefined`. For certain series types, like column or
  77704. * map, the data labels can be drawn inside the points. In this case the
  77705. * data label will be drawn with maximum contrast by default. Additionally,
  77706. * it will be given a `text-outline` style with the opposite color, to
  77707. * further increase the contrast. This can be overridden by setting the
  77708. * `text-outline` style to `none` in the `dataLabels.style` option.
  77709. */
  77710. color?: (ColorString|GradientColorObject|PatternObject);
  77711. /**
  77712. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  77713. * are outside the plot area. By default, the data label is moved inside the
  77714. * plot area according to the overflow option.
  77715. */
  77716. crop?: boolean;
  77717. /**
  77718. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  77719. * labels until the initial series animation has finished. Setting to
  77720. * `false` renders the data label immediately. If set to `true` inherits the
  77721. * defer time set in plotOptions.series.animation.
  77722. */
  77723. defer?: boolean;
  77724. /**
  77725. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  77726. * labels.
  77727. */
  77728. enabled?: boolean;
  77729. /**
  77730. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  77731. * of which data labels to display. The declarative filter is designed for
  77732. * use when callback functions are not available, like when the chart
  77733. * options require a pure JSON structure or for use with graphical editors.
  77734. * For programmatic control, use the `formatter` instead, and return
  77735. * `undefined` to disable a single data label.
  77736. */
  77737. filter?: DataLabelsFilterOptionsObject;
  77738. /**
  77739. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  77740. * label. Available variables are the same as for `formatter`.
  77741. */
  77742. format?: string;
  77743. /**
  77744. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  77745. * format the data label. Note that if a `format` is defined, the format
  77746. * takes precedence and the formatter is ignored.
  77747. */
  77748. formatter?: DataLabelsFormatterCallbackFunction;
  77749. /**
  77750. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  77751. * columns or map areas, whether to align the data label inside the box or
  77752. * to the actual value point. Defaults to `false` in most cases, `true` in
  77753. * stacked columns.
  77754. */
  77755. inside?: boolean;
  77756. /**
  77757. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  77758. * of null. Works analogously to format. `nullFormat` can be applied only to
  77759. * series which support displaying null points.
  77760. */
  77761. nullFormat?: (boolean|string);
  77762. /**
  77763. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  77764. * that defines formatting for points with the value of null. Works
  77765. * analogously to formatter. `nullPointFormatter` can be applied only to
  77766. * series which support displaying null points.
  77767. */
  77768. nullFormatter?: DataLabelsFormatterCallbackFunction;
  77769. /**
  77770. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  77771. * flow outside the plot area. The default is `"justify"`, which aligns them
  77772. * inside the plot area. For columns and bars, this means it will be moved
  77773. * inside the bar. To display data labels outside the plot area, set `crop`
  77774. * to `false` and `overflow` to `"allow"`.
  77775. */
  77776. overflow?: DataLabelsOverflowValue;
  77777. /**
  77778. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  77779. * the `backgroundColor` is set, this is the padding within the box.
  77780. */
  77781. padding?: number;
  77782. /**
  77783. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  77784. * points. If `center` alignment is not possible, it defaults to `right`.
  77785. */
  77786. position?: AlignValue;
  77787. /**
  77788. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  77789. * that due to a more complex structure, backgrounds, borders and padding
  77790. * will be lost on a rotated data label.
  77791. */
  77792. rotation?: number;
  77793. /**
  77794. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  77795. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  77796. * an object configuration containing `color`, `offsetX`, `offsetY`,
  77797. * `opacity` and `width`.
  77798. */
  77799. shadow?: (boolean|ShadowOptionsObject);
  77800. /**
  77801. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  77802. * the border around the label. Symbols are predefined functions on the
  77803. * Renderer object.
  77804. */
  77805. shape?: string;
  77806. /**
  77807. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  77808. * default `color` setting is `"contrast"`, which is a pseudo color that
  77809. * Highcharts picks up and applies the maximum contrast to the underlying
  77810. * point item, for example the bar in a bar chart.
  77811. *
  77812. * The `textOutline` is a pseudo property that applies an outline of the
  77813. * given width with the given color, which by default is the maximum
  77814. * contrast to the text. So a bright text color will result in a black text
  77815. * outline for maximum readability on a mixed background. In some cases,
  77816. * especially with grayscale text, the text outline doesn't work well, in
  77817. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  77818. * is true, the `textOutline` will not be picked up. In this, case, the same
  77819. * effect can be acheived through the `text-shadow` CSS property.
  77820. *
  77821. * For some series types, where each point has an extent, like for example
  77822. * tree maps, the data label may overflow the point. There are two
  77823. * strategies for handling overflow. By default, the text will wrap to
  77824. * multiple lines. The other strategy is to set `style.textOverflow` to
  77825. * `ellipsis`, which will keep the text on one line plus it will break
  77826. * inside long words.
  77827. */
  77828. style?: CSSObject;
  77829. /**
  77830. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  77831. * should follow marker's shape. Border and background are disabled for a
  77832. * label that follows a path.
  77833. *
  77834. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  77835. * to true will disable this option.
  77836. */
  77837. textPath?: DataLabelsTextPathOptionsObject;
  77838. /**
  77839. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  77840. * the labels.
  77841. */
  77842. useHTML?: boolean;
  77843. /**
  77844. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  77845. * label. Can be one of `top`, `middle` or `bottom`. The default value
  77846. * depends on the data, for instance in a column chart, the label is above
  77847. * positive values and below negative values.
  77848. */
  77849. verticalAlign?: (VerticalAlignValue|null);
  77850. /**
  77851. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  77852. * label relative to the point in pixels.
  77853. */
  77854. x?: number;
  77855. /**
  77856. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  77857. * label relative to the point in pixels.
  77858. */
  77859. y?: number;
  77860. /**
  77861. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  77862. * The default Z index puts it above the series. Use a Z index of 2 to
  77863. * display it behind the series.
  77864. */
  77865. z?: number;
  77866. }
  77867. /**
  77868. * (Highcharts, Highstock) Options for the series data sorting.
  77869. */
  77870. export interface PlotScatterDataSortingOptions {
  77871. /**
  77872. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  77873. * Use xAxis.reversed to change the sorting order.
  77874. */
  77875. enabled?: boolean;
  77876. /**
  77877. * (Highcharts, Highstock) Whether to allow matching points by name in an
  77878. * update. If this option is disabled, points will be matched by order.
  77879. */
  77880. matchByName?: boolean;
  77881. /**
  77882. * (Highcharts, Highstock) Determines what data value should be used to sort
  77883. * by.
  77884. */
  77885. sortKey?: string;
  77886. }
  77887. /**
  77888. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  77889. * one state by default, the `default` state.
  77890. */
  77891. export interface PlotScatterDragDropGuideBoxOptions {
  77892. /**
  77893. * (Highcharts, Highstock) Style options for the guide box default state.
  77894. */
  77895. default?: DragDropGuideBoxOptionsObject;
  77896. }
  77897. /**
  77898. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
  77899. * plotting discrete values, a little random noise may help telling the points
  77900. * apart. The jitter setting applies a random displacement of up to `n` axis
  77901. * units in either direction. So for example on a horizontal X axis, setting the
  77902. * `jitter.x` to 0.24 will render the point in a random position between 0.24
  77903. * units to the left and 0.24 units to the right of the true axis position. On a
  77904. * category axis, setting it to 0.5 will fill up the bin and make the data
  77905. * appear continuous.
  77906. *
  77907. * When rendered on top of a box plot or a column series, a jitter value of 0.24
  77908. * will correspond to the underlying series' default groupPadding and
  77909. * pointPadding settings.
  77910. */
  77911. export interface PlotScatterJitterOptions {
  77912. /**
  77913. * (Highcharts, Highstock) The maximal X offset for the random jitter
  77914. * effect.
  77915. */
  77916. x?: number;
  77917. /**
  77918. * (Highcharts, Highstock) The maximal Y offset for the random jitter
  77919. * effect.
  77920. */
  77921. y?: number;
  77922. }
  77923. /**
  77924. * (Highcharts, Highstock) A scatter plot uses cartesian coordinates to display
  77925. * values for two variables for a set of data.
  77926. *
  77927. * In TypeScript the type option must always be set.
  77928. *
  77929. * Configuration options for the series are given in three levels:
  77930. *
  77931. * 1. Options for all series in a chart are defined in the plotOptions.series
  77932. * object.
  77933. *
  77934. * 2. Options for all `scatter` series are defined in plotOptions.scatter.
  77935. *
  77936. * 3. Options for one single series are given in the series instance array. (see
  77937. * online documentation for example)
  77938. */
  77939. export interface PlotScatterOptions {
  77940. /**
  77941. * (Highcharts, Highstock) Accessibility options for a series.
  77942. */
  77943. accessibility?: SeriesAccessibilityOptionsObject;
  77944. /**
  77945. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  77946. * rendered. If `true`, areas which don't correspond to a data point, are
  77947. * rendered as `null` points. If `false`, those areas are skipped.
  77948. */
  77949. allAreas?: boolean;
  77950. /**
  77951. * (Highcharts, Highstock) Allow this series' points to be selected by
  77952. * clicking on the graphic (columns, point markers, pie slices, map areas
  77953. * etc).
  77954. *
  77955. * The selected points can be handled by point select and unselect events,
  77956. * or collectively by the getSelectedPoints function.
  77957. *
  77958. * And alternative way of selecting points is through dragging.
  77959. */
  77960. allowPointSelect?: boolean;
  77961. /**
  77962. * (Highcharts, Highstock) Enable or disable the initial animation when a
  77963. * series is displayed. The animation can also be set as a configuration
  77964. * object. Please note that this option only applies to the initial
  77965. * animation of the series itself. For other animations, see chart.animation
  77966. * and the animation parameter under the API methods. The following
  77967. * properties are supported:
  77968. *
  77969. * - `defer`: The animation delay time in milliseconds.
  77970. *
  77971. * - `duration`: The duration of the animation in milliseconds.
  77972. *
  77973. * - `easing`: Can be a string reference to an easing function set on the
  77974. * `Math` object or a function. See the _Custom easing function_ demo below.
  77975. *
  77976. * Due to poor performance, animation is disabled in old IE browsers for
  77977. * several chart types.
  77978. */
  77979. animation?: (boolean|PlotScatterAnimationOptions|Partial<AnimationOptionsObject>);
  77980. /**
  77981. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  77982. * initial animation by default when the total number of points in the chart
  77983. * is too high. For example, for a column chart and its derivatives,
  77984. * animation does not run if there is more than 250 points totally. To
  77985. * disable this cap, set `animationLimit` to `Infinity`.
  77986. */
  77987. animationLimit?: number;
  77988. /**
  77989. * (Highcharts, Highstock) Sets the color blending in the boost module.
  77990. */
  77991. boostBlending?: OptionsBoostBlendingValue;
  77992. /**
  77993. * (Highcharts, Highstock) Set the point threshold for when a series should
  77994. * enter boost mode.
  77995. *
  77996. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  77997. * there are 2000 or more points in the series.
  77998. *
  77999. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  78000. * it to 1 will force boosting.
  78001. *
  78002. * Note that the cropThreshold also affects this setting. When zooming in on
  78003. * a series that has fewer points than the `cropThreshold`, all points are
  78004. * rendered although outside the visible plot area, and the `boostThreshold`
  78005. * won't take effect.
  78006. */
  78007. boostThreshold?: number;
  78008. /**
  78009. * (Highmaps) The border color of the map areas.
  78010. *
  78011. * In styled mode, the border stroke is given in the `.highcharts-point`
  78012. * class.
  78013. */
  78014. borderColor?: (ColorString|GradientColorObject|PatternObject);
  78015. /**
  78016. * (Highmaps) The border width of each map area.
  78017. *
  78018. * In styled mode, the border stroke width is given in the
  78019. * `.highcharts-point` class.
  78020. */
  78021. borderWidth?: number;
  78022. /**
  78023. * (Highcharts, Highstock) An additional class name to apply to the series'
  78024. * graphical elements. This option does not replace default class names of
  78025. * the graphical element.
  78026. */
  78027. className?: string;
  78028. /**
  78029. * (Highcharts, Highstock) Disable this option to allow series rendering in
  78030. * the whole plotting area.
  78031. *
  78032. * **Note:** Clipping should be always enabled when chart.zoomType is set
  78033. */
  78034. clip?: boolean;
  78035. /**
  78036. * (Highcharts, Highmaps) Options for marker clusters, the concept of
  78037. * sampling the data values into larger blocks in order to ease readability
  78038. * and increase performance of the JavaScript charts.
  78039. *
  78040. * Note: marker clusters module is not working with `boost` and
  78041. * `draggable-points` modules.
  78042. *
  78043. * The marker clusters feature requires the marker-clusters.js file to be
  78044. * loaded, found in the modules directory of the download package, or online
  78045. * at code.highcharts.com/modules/marker-clusters.js.
  78046. */
  78047. cluster?: PlotScatterClusterOptions;
  78048. /**
  78049. * (Highcharts, Highstock) The main color of the series. In line type series
  78050. * it applies to the line and the point markers unless otherwise specified.
  78051. * In bar type series it applies to the bars unless a color is specified per
  78052. * point. The default value is pulled from the `options.colors` array.
  78053. *
  78054. * In styled mode, the color can be defined by the colorIndex option. Also,
  78055. * the series color can be set with the `.highcharts-series`,
  78056. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  78057. * `.highcharts-series-{n}` class, or individual classes given by the
  78058. * `className` option.
  78059. */
  78060. color?: (ColorString|GradientColorObject|PatternObject);
  78061. /**
  78062. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  78063. * this number defines which colorAxis the particular series is connected
  78064. * to. It refers to either the axis id or the index of the axis in the
  78065. * colorAxis array, with 0 being the first. Set this option to false to
  78066. * prevent a series from connecting to the default color axis.
  78067. *
  78068. * Since v7.2.0 the option can also be an axis id or an axis index instead
  78069. * of a boolean flag.
  78070. */
  78071. colorAxis?: (boolean|number|string);
  78072. /**
  78073. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  78074. * for the series, so its graphic representations are given the class name
  78075. * `highcharts-color-{n}`.
  78076. */
  78077. colorIndex?: number;
  78078. /**
  78079. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  78080. * used to calculate point color if `colorAxis` is used. Requires to set
  78081. * `min` and `max` if some custom point property is used or if approximation
  78082. * for data grouping is set to `'sum'`.
  78083. */
  78084. colorKey?: string;
  78085. /**
  78086. * (Highstock) Compare the values of the series against the first non-null,
  78087. * non- zero value in the visible range. The y axis will show percentage or
  78088. * absolute change depending on whether `compare` is set to `"percent"` or
  78089. * `"value"`. When this is applied to multiple series, it allows comparing
  78090. * the development of the series against each other. Adds a `change` field
  78091. * to every point object.
  78092. */
  78093. compare?: string;
  78094. /**
  78095. * (Highstock) When compare is `percent`, this option dictates whether to
  78096. * use 0 or 100 as the base of comparison.
  78097. */
  78098. compareBase?: (0|100);
  78099. /**
  78100. * (Highstock) Defines if comparison should start from the first point
  78101. * within the visible range or should start from the first point **before**
  78102. * the range.
  78103. *
  78104. * In other words, this flag determines if first point within the visible
  78105. * range will have 0% (`compareStart=true`) or should have been already
  78106. * calculated according to the previous point (`compareStart=false`).
  78107. */
  78108. compareStart?: boolean;
  78109. /**
  78110. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  78111. * series plot across the extremes.
  78112. */
  78113. connectEnds?: boolean;
  78114. /**
  78115. * (Highcharts, Highstock) Whether to connect a graph line across null
  78116. * points, or render a gap between the two points on either side of the
  78117. * null.
  78118. */
  78119. connectNulls?: boolean;
  78120. /**
  78121. * (Gantt) Override Pathfinder connector options for a series. Requires
  78122. * Highcharts Gantt to be loaded.
  78123. */
  78124. connectors?: SeriesConnectorsOptionsObject;
  78125. /**
  78126. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  78127. * rounded to its nearest pixel in order to render sharp on screen. In some
  78128. * cases, when there are a lot of densely packed columns, this leads to
  78129. * visible difference in column widths or distance between columns. In these
  78130. * cases, setting `crisp` to `false` may look better, even though each
  78131. * column is rendered blurry.
  78132. */
  78133. crisp?: boolean;
  78134. /**
  78135. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  78136. * click events attached to the series, to signal to the user that the
  78137. * points and lines can be clicked.
  78138. *
  78139. * In styled mode, the series cursor can be set with the same classes as
  78140. * listed under series.color.
  78141. */
  78142. cursor?: (string|CursorValue);
  78143. /**
  78144. * (Highcharts, Highstock) A reserved subspace to store options and values
  78145. * for customized functionality. Here you can add additional data for your
  78146. * own event callbacks and formatter callbacks.
  78147. */
  78148. custom?: Dictionary<any>;
  78149. /**
  78150. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  78151. * for some series types the outline of each shape.
  78152. *
  78153. * In styled mode, the stroke dash-array can be set with the same classes as
  78154. * listed under series.color.
  78155. */
  78156. dashStyle?: DashStyleValue;
  78157. /**
  78158. * (Highstock) Data grouping is the concept of sampling the data values into
  78159. * larger blocks in order to ease readability and increase performance of
  78160. * the JavaScript charts. Highstock by default applies data grouping when
  78161. * the points become closer than a certain pixel value, determined by the
  78162. * `groupPixelWidth` option.
  78163. *
  78164. * If data grouping is applied, the grouping information of grouped points
  78165. * can be read from the Point.dataGroup. If point options other than the
  78166. * data itself are set, for example `name` or `color` or custom properties,
  78167. * the grouping logic doesn't know how to group it. In this case the options
  78168. * of the first point instance are copied over to the group point. This can
  78169. * be altered through a custom `approximation` callback function.
  78170. */
  78171. dataGrouping?: DataGroupingOptionsObject;
  78172. /**
  78173. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  78174. * labels, appearing next to each data point.
  78175. *
  78176. * Since v6.2.0, multiple data labels can be applied to each single point by
  78177. * defining them as an array of configs.
  78178. *
  78179. * In styled mode, the data labels can be styled with the
  78180. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  78181. * (see example).
  78182. */
  78183. dataLabels?: (PlotScatterDataLabelsOptions|Array<PlotScatterDataLabelsOptions>);
  78184. /**
  78185. * (Highcharts, Highstock) Options for the series data sorting.
  78186. */
  78187. dataSorting?: (DataSortingOptionsObject|PlotScatterDataSortingOptions);
  78188. /**
  78189. * (Highcharts, Highstock) A description of the series to add to the screen
  78190. * reader information about the series.
  78191. */
  78192. description?: string;
  78193. /**
  78194. * (Highcharts, Highstock) The draggable-points module allows points to be
  78195. * moved around or modified in the chart. In addition to the options
  78196. * mentioned under the `dragDrop` API structure, the module fires three
  78197. * events, point.dragStart, point.drag and point.drop.
  78198. */
  78199. dragDrop?: SeriesDragDropOptionsObject;
  78200. /**
  78201. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  78202. * specific series. This includes point tooltips and click events on graphs
  78203. * and points. For large datasets it improves performance.
  78204. */
  78205. enableMouseTracking?: boolean;
  78206. /**
  78207. * (Highcharts, Highstock) General event handlers for the series items.
  78208. * These event hooks can also be attached to the series at run time using
  78209. * the `Highcharts.addEvent` function.
  78210. */
  78211. events?: SeriesEventsOptionsObject;
  78212. /**
  78213. * (Highcharts, Highstock) Determines whether the series should look for the
  78214. * nearest point in both dimensions or just the x-dimension when hovering
  78215. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  78216. * other series. If the data has duplicate x-values, it is recommended to
  78217. * set this to `'xy'` to allow hovering over all points.
  78218. *
  78219. * Applies only to series types using nearest neighbor search (not direct
  78220. * hover) for tooltip.
  78221. */
  78222. findNearestPointBy?: OptionsFindNearestPointByValue;
  78223. /**
  78224. * (Highstock) Defines when to display a gap in the graph, together with the
  78225. * gapUnit option.
  78226. *
  78227. * In case when `dataGrouping` is enabled, points can be grouped into a
  78228. * larger time span. This can make the grouped points to have a greater
  78229. * distance than the absolute value of `gapSize` property, which will result
  78230. * in disappearing graph completely. To prevent this situation the mentioned
  78231. * distance between grouped points is used instead of previously defined
  78232. * `gapSize`.
  78233. *
  78234. * In practice, this option is most often used to visualize gaps in time
  78235. * series. In a stock chart, intraday data is available for daytime hours,
  78236. * while gaps will appear in nights and weekends.
  78237. */
  78238. gapSize?: number;
  78239. /**
  78240. * (Highstock) Together with gapSize, this option defines where to draw gaps
  78241. * in the graph.
  78242. *
  78243. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  78244. * if the distance between two points is greater than 5 times that of the
  78245. * two closest points, the graph will be broken.
  78246. *
  78247. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  78248. * values, which on a datetime axis is milliseconds. This also applies to
  78249. * the navigator series that inherits gap options from the base series.
  78250. */
  78251. gapUnit?: OptionsGapUnitValue;
  78252. /**
  78253. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  78254. * chart width or only the zoomed area when zooming in on parts of the X
  78255. * axis. By default, the Y axis adjusts to the min and max of the visible
  78256. * data. Cartesian series only.
  78257. */
  78258. getExtremesFromAll?: boolean;
  78259. /**
  78260. * (Highcharts, Highstock) When set to `false` will prevent the series data
  78261. * from being included in any form of data export.
  78262. *
  78263. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  78264. * `includeInCSVExport`.
  78265. */
  78266. includeInDataExport?: boolean;
  78267. /**
  78268. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
  78269. * When plotting discrete values, a little random noise may help telling the
  78270. * points apart. The jitter setting applies a random displacement of up to
  78271. * `n` axis units in either direction. So for example on a horizontal X
  78272. * axis, setting the `jitter.x` to 0.24 will render the point in a random
  78273. * position between 0.24 units to the left and 0.24 units to the right of
  78274. * the true axis position. On a category axis, setting it to 0.5 will fill
  78275. * up the bin and make the data appear continuous.
  78276. *
  78277. * When rendered on top of a box plot or a column series, a jitter value of
  78278. * 0.24 will correspond to the underlying series' default groupPadding and
  78279. * pointPadding settings.
  78280. */
  78281. jitter?: PlotScatterJitterOptions;
  78282. /**
  78283. * (Highmaps) What property to join the `mapData` to the value data. For
  78284. * example, if joinBy is "code", the mapData items with a specific code is
  78285. * merged into the data with the same code. For maps loaded from GeoJSON,
  78286. * the keys may be held in each point's `properties` object.
  78287. *
  78288. * The joinBy option can also be an array of two values, where the first
  78289. * points to a key in the `mapData`, and the second points to another key in
  78290. * the `data`.
  78291. *
  78292. * When joinBy is `null`, the map items are joined by their position in the
  78293. * array, which performs much better in maps with many data points. This is
  78294. * the recommended option if you are printing more than a thousand data
  78295. * points and have a backend that can preprocess the data into a parallel
  78296. * array of the mapData.
  78297. */
  78298. joinBy?: (string|Array<string>);
  78299. /**
  78300. * (Highcharts, Highstock) An array specifying which option maps to which
  78301. * key in the data point array. This makes it convenient to work with
  78302. * unstructured data arrays from different sources.
  78303. */
  78304. keys?: Array<string>;
  78305. /**
  78306. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  78307. * series as possible in a natural way, seeking to avoid other series. The
  78308. * goal of this feature is to make the chart more easily readable, like if a
  78309. * human designer placed the labels in the optimal position.
  78310. *
  78311. * The series labels currently work with series types having a `graph` or an
  78312. * `area`.
  78313. */
  78314. label?: SeriesLabelOptionsObject;
  78315. /**
  78316. * (Highstock) The line marks the last price from all points.
  78317. */
  78318. lastPrice?: SeriesLastPriceOptionsObject;
  78319. /**
  78320. * (Highstock) The line marks the last price from visible range of points.
  78321. */
  78322. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  78323. /**
  78324. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  78325. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  78326. * the ends and bends.
  78327. */
  78328. linecap?: SeriesLinecapValue;
  78329. /**
  78330. * (Highcharts, Highstock) The width of the line connecting the data points.
  78331. */
  78332. lineWidth?: number;
  78333. /**
  78334. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  78335. * Additionally, the value can be ":previous" to link to the previous
  78336. * series. When two series are linked, only the first one appears in the
  78337. * legend. Toggling the visibility of this also toggles the linked series.
  78338. *
  78339. * If master series uses data sorting and linked series does not have its
  78340. * own sorting definition, the linked series will be sorted in the same
  78341. * order as the master one.
  78342. */
  78343. linkedTo?: string;
  78344. /**
  78345. * (Highcharts, Highstock) Options for the point markers of line-like
  78346. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  78347. * the visual appearance of the markers. Other series types, like column
  78348. * series, don't have markers, but have visual options on the series level
  78349. * instead.
  78350. *
  78351. * In styled mode, the markers can be styled with the `.highcharts-point`,
  78352. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  78353. */
  78354. marker?: PointMarkerOptionsObject;
  78355. /**
  78356. * (Highstock) Options for the corresponding navigator series if
  78357. * `showInNavigator` is `true` for this series. Available options are the
  78358. * same as any series, documented at plotOptions and series.
  78359. *
  78360. * These options are merged with options in navigator.series, and will take
  78361. * precedence if the same option is defined both places.
  78362. */
  78363. navigatorOptions?: PlotSeriesOptions;
  78364. /**
  78365. * (Highcharts, Highstock) The color for the parts of the graph or points
  78366. * that are below the threshold. Note that `zones` takes precedence over the
  78367. * negative color. Using `negativeColor` is equivalent to applying a zone
  78368. * with value of 0.
  78369. */
  78370. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  78371. /**
  78372. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  78373. * and dataLabels.
  78374. */
  78375. opacity?: number;
  78376. /**
  78377. * (Highcharts, Highstock) Properties for each single point.
  78378. */
  78379. point?: PlotSeriesPointOptions;
  78380. /**
  78381. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  78382. * but for an individual series. Overrides the chart wide configuration.
  78383. */
  78384. pointDescriptionFormatter?: Function;
  78385. /**
  78386. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  78387. * a series, `pointInterval` defines the interval of the x values. For
  78388. * example, if a series contains one value every decade starting from year
  78389. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  78390. * `pointInterval` is set in milliseconds.
  78391. *
  78392. * It can be also be combined with `pointIntervalUnit` to draw irregular
  78393. * time intervals.
  78394. *
  78395. * Please note that this options applies to the _series data_, not the
  78396. * interval of the axis ticks, which is independent.
  78397. */
  78398. pointInterval?: number;
  78399. /**
  78400. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  78401. * setting the pointInterval to irregular time units, `day`, `month` and
  78402. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  78403. * also takes the DST crossover into consideration when dealing with local
  78404. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  78405. * months, 10 years etc.
  78406. *
  78407. * Please note that this options applies to the _series data_, not the
  78408. * interval of the axis ticks, which is independent.
  78409. */
  78410. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  78411. /**
  78412. * (Highstock) The width of each point on the x axis. For example in a
  78413. * column chart with one value each day, the pointRange would be 1 day (= 24
  78414. * * 3600
  78415. *
  78416. * * 1000 milliseconds). This is normally computed automatically, but this
  78417. * option can be used to override the automatic value.
  78418. */
  78419. pointRange?: number;
  78420. /**
  78421. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  78422. * a series, pointStart defines on what value to start. For example, if a
  78423. * series contains one yearly value starting from 1945, set pointStart to
  78424. * 1945.
  78425. */
  78426. pointStart?: number;
  78427. /**
  78428. * (Highcharts, Highstock) Whether to select the series initially. If
  78429. * `showCheckbox` is true, the checkbox next to the series name in the
  78430. * legend will be checked for a selected series.
  78431. */
  78432. selected?: boolean;
  78433. /**
  78434. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  78435. * legend item to allow selecting the series. The state of the checkbox is
  78436. * determined by the `selected` option.
  78437. */
  78438. showCheckbox?: boolean;
  78439. /**
  78440. * (Highcharts, Highstock) Whether to display this particular series or
  78441. * series type in the legend. Standalone series are shown in legend by
  78442. * default, and linked series are not. Since v7.2.0 it is possible to show
  78443. * series that use colorAxis by setting this option to `true`.
  78444. */
  78445. showInLegend?: boolean;
  78446. /**
  78447. * (Highstock) Whether or not to show the series in the navigator. Takes
  78448. * precedence over navigator.baseSeries if defined.
  78449. */
  78450. showInNavigator?: boolean;
  78451. /**
  78452. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  78453. * skip past the points in this series for keyboard navigation.
  78454. */
  78455. skipKeyboardNavigation?: boolean;
  78456. /**
  78457. * (Highcharts, Highstock) When this is true, the series will not cause the
  78458. * Y axis to cross the zero plane (or threshold option) unless the data
  78459. * actually crosses the plane.
  78460. *
  78461. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  78462. * make the Y axis show negative values according to the `minPadding`
  78463. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  78464. */
  78465. softThreshold?: boolean;
  78466. /**
  78467. * (Highcharts, Highstock) Whether to stack the values of each series on top
  78468. * of each other. Possible values are `undefined` to disable, `"normal"` to
  78469. * stack by value or `"percent"`.
  78470. *
  78471. * When stacking is enabled, data must be sorted in ascending X order.
  78472. *
  78473. * Some stacking options are related to specific series types. In the
  78474. * streamgraph series type, the stacking option is set to `"stream"`. The
  78475. * second one is `"overlap"`, which only applies to waterfall series.
  78476. */
  78477. stacking?: OptionsStackingValue;
  78478. states?: SeriesStatesOptionsObject;
  78479. /**
  78480. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  78481. * values are `left`, `center` and `right`.
  78482. */
  78483. step?: OptionsStepValue;
  78484. /**
  78485. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  78486. * `mouseOut` event on a series isn't triggered until the mouse moves over
  78487. * another series, or out of the plot area. When false, the `mouseOut` event
  78488. * on a series is triggered when the mouse leaves the area around the
  78489. * series' graph or markers. This also implies the tooltip. When
  78490. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  78491. * be hidden when moving the mouse between series.
  78492. */
  78493. stickyTracking?: boolean;
  78494. /**
  78495. * (Highcharts, Highstock) The threshold, also called zero level or base
  78496. * level. For line type series this is only used in conjunction with
  78497. * negativeColor.
  78498. */
  78499. threshold?: number;
  78500. /**
  78501. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  78502. * of each single series. Properties are inherited from tooltip. Overridable
  78503. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  78504. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  78505. * series.name by default shows in the headerFormat and point.x and point.y
  78506. * in the pointFormat.
  78507. */
  78508. tooltip?: SeriesTooltipOptionsObject;
  78509. /**
  78510. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  78511. * is longer than this, only one dimensional arrays of numbers, or two
  78512. * dimensional arrays with x and y values are allowed. Also, only the first
  78513. * point is tested, and the rest are assumed to be the same format. This
  78514. * saves expensive data checking and indexing in long series. Set it to `0`
  78515. * disable.
  78516. *
  78517. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  78518. * two dimensional arrays are allowed.
  78519. */
  78520. turboThreshold?: number;
  78521. /**
  78522. * (Highcharts, Highstock) Set the initial visibility of the series.
  78523. */
  78524. visible?: boolean;
  78525. /**
  78526. * (Highmaps) Define the z index of the series.
  78527. */
  78528. zIndex?: number;
  78529. /**
  78530. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  78531. */
  78532. zoneAxis?: string;
  78533. /**
  78534. * (Highcharts, Highstock) An array defining zones within a series. Zones
  78535. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  78536. * the `zoneAxis` option. The zone definitions have to be in ascending order
  78537. * regarding to the value.
  78538. *
  78539. * In styled mode, the color zones are styled with the
  78540. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  78541. * option (view live demo).
  78542. */
  78543. zones?: Array<SeriesZonesOptionsObject>;
  78544. }
  78545. /**
  78546. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  78547. * animation when a series is displayed. The animation can also be set as a
  78548. * configuration object. Please note that this option only applies to the
  78549. * initial animation of the series itself. For other animations, see
  78550. * chart.animation and the animation parameter under the API methods. The
  78551. * following properties are supported:
  78552. *
  78553. * - `defer`: The animation delay time in milliseconds.
  78554. *
  78555. * - `duration`: The duration of the animation in milliseconds.
  78556. *
  78557. * - `easing`: Can be a string reference to an easing function set on the `Math`
  78558. * object or a function. See the _Custom easing function_ demo below.
  78559. *
  78560. * Due to poor performance, animation is disabled in old IE browsers for several
  78561. * chart types.
  78562. */
  78563. export interface PlotSeriesAnimationOptions {
  78564. defer?: number;
  78565. }
  78566. /**
  78567. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  78568. * animation when a series is displayed for the `dataLabels`. The animation can
  78569. * also be set as a configuration object. Please note that this option only
  78570. * applies to the initial animation. For other animations, see chart.animation
  78571. * and the animation parameter under the API methods. The following properties
  78572. * are supported:
  78573. *
  78574. * - `defer`: The animation delay time in milliseconds.
  78575. */
  78576. export interface PlotSeriesDataLabelsAnimationOptions {
  78577. /**
  78578. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  78579. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  78580. * inherits defer time from the series.animation.defer.
  78581. */
  78582. defer?: number;
  78583. }
  78584. /**
  78585. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  78586. * appearing next to each data point.
  78587. *
  78588. * Since v6.2.0, multiple data labels can be applied to each single point by
  78589. * defining them as an array of configs.
  78590. *
  78591. * In styled mode, the data labels can be styled with the
  78592. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  78593. * example).
  78594. */
  78595. export interface PlotSeriesDataLabelsOptions {
  78596. /**
  78597. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  78598. * compared to the point. If `right`, the right side of the label should be
  78599. * touching the point. For points with an extent, like columns, the
  78600. * alignments also dictates how to align it inside the box, as given with
  78601. * the inside option. Can be one of `left`, `center` or `right`.
  78602. */
  78603. align?: (AlignValue|null);
  78604. /**
  78605. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  78606. * overlap. To make the labels less sensitive for overlapping, the
  78607. * dataLabels.padding can be set to 0.
  78608. */
  78609. allowOverlap?: boolean;
  78610. /**
  78611. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  78612. * animation when a series is displayed for the `dataLabels`. The animation
  78613. * can also be set as a configuration object. Please note that this option
  78614. * only applies to the initial animation. For other animations, see
  78615. * chart.animation and the animation parameter under the API methods. The
  78616. * following properties are supported:
  78617. *
  78618. * - `defer`: The animation delay time in milliseconds.
  78619. */
  78620. animation?: (boolean|PlotSeriesDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  78621. /**
  78622. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  78623. * for the data label.
  78624. */
  78625. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  78626. /**
  78627. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  78628. * label. Defaults to `undefined`.
  78629. */
  78630. borderColor?: (ColorString|GradientColorObject|PatternObject);
  78631. /**
  78632. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  78633. * the data label.
  78634. */
  78635. borderRadius?: number;
  78636. /**
  78637. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  78638. * the data label.
  78639. */
  78640. borderWidth?: number;
  78641. /**
  78642. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  78643. * Particularly in styled mode, this can be used to give each series' or
  78644. * point's data label unique styling. In addition to this option, a default
  78645. * color class name is added so that we can give the labels a contrast text
  78646. * shadow.
  78647. */
  78648. className?: string;
  78649. /**
  78650. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  78651. * labels. Defaults to `undefined`. For certain series types, like column or
  78652. * map, the data labels can be drawn inside the points. In this case the
  78653. * data label will be drawn with maximum contrast by default. Additionally,
  78654. * it will be given a `text-outline` style with the opposite color, to
  78655. * further increase the contrast. This can be overridden by setting the
  78656. * `text-outline` style to `none` in the `dataLabels.style` option.
  78657. */
  78658. color?: (ColorString|GradientColorObject|PatternObject);
  78659. /**
  78660. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  78661. * are outside the plot area. By default, the data label is moved inside the
  78662. * plot area according to the overflow option.
  78663. */
  78664. crop?: boolean;
  78665. /**
  78666. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  78667. * labels until the initial series animation has finished. Setting to
  78668. * `false` renders the data label immediately. If set to `true` inherits the
  78669. * defer time set in plotOptions.series.animation.
  78670. */
  78671. defer?: boolean;
  78672. /**
  78673. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  78674. * labels.
  78675. */
  78676. enabled?: boolean;
  78677. /**
  78678. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  78679. * of which data labels to display. The declarative filter is designed for
  78680. * use when callback functions are not available, like when the chart
  78681. * options require a pure JSON structure or for use with graphical editors.
  78682. * For programmatic control, use the `formatter` instead, and return
  78683. * `undefined` to disable a single data label.
  78684. */
  78685. filter?: DataLabelsFilterOptionsObject;
  78686. /**
  78687. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  78688. * label. Available variables are the same as for `formatter`.
  78689. */
  78690. format?: string;
  78691. /**
  78692. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  78693. * format the data label. Note that if a `format` is defined, the format
  78694. * takes precedence and the formatter is ignored.
  78695. */
  78696. formatter?: DataLabelsFormatterCallbackFunction;
  78697. /**
  78698. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  78699. * columns or map areas, whether to align the data label inside the box or
  78700. * to the actual value point. Defaults to `false` in most cases, `true` in
  78701. * stacked columns.
  78702. */
  78703. inside?: boolean;
  78704. /**
  78705. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  78706. * of null. Works analogously to format. `nullFormat` can be applied only to
  78707. * series which support displaying null points.
  78708. */
  78709. nullFormat?: (boolean|string);
  78710. /**
  78711. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  78712. * that defines formatting for points with the value of null. Works
  78713. * analogously to formatter. `nullPointFormatter` can be applied only to
  78714. * series which support displaying null points.
  78715. */
  78716. nullFormatter?: DataLabelsFormatterCallbackFunction;
  78717. /**
  78718. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  78719. * flow outside the plot area. The default is `"justify"`, which aligns them
  78720. * inside the plot area. For columns and bars, this means it will be moved
  78721. * inside the bar. To display data labels outside the plot area, set `crop`
  78722. * to `false` and `overflow` to `"allow"`.
  78723. */
  78724. overflow?: DataLabelsOverflowValue;
  78725. /**
  78726. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  78727. * the `backgroundColor` is set, this is the padding within the box.
  78728. */
  78729. padding?: number;
  78730. /**
  78731. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  78732. * points. If `center` alignment is not possible, it defaults to `right`.
  78733. */
  78734. position?: AlignValue;
  78735. /**
  78736. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  78737. * that due to a more complex structure, backgrounds, borders and padding
  78738. * will be lost on a rotated data label.
  78739. */
  78740. rotation?: number;
  78741. /**
  78742. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  78743. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  78744. * an object configuration containing `color`, `offsetX`, `offsetY`,
  78745. * `opacity` and `width`.
  78746. */
  78747. shadow?: (boolean|ShadowOptionsObject);
  78748. /**
  78749. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  78750. * the border around the label. Symbols are predefined functions on the
  78751. * Renderer object.
  78752. */
  78753. shape?: string;
  78754. /**
  78755. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  78756. * default `color` setting is `"contrast"`, which is a pseudo color that
  78757. * Highcharts picks up and applies the maximum contrast to the underlying
  78758. * point item, for example the bar in a bar chart.
  78759. *
  78760. * The `textOutline` is a pseudo property that applies an outline of the
  78761. * given width with the given color, which by default is the maximum
  78762. * contrast to the text. So a bright text color will result in a black text
  78763. * outline for maximum readability on a mixed background. In some cases,
  78764. * especially with grayscale text, the text outline doesn't work well, in
  78765. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  78766. * is true, the `textOutline` will not be picked up. In this, case, the same
  78767. * effect can be acheived through the `text-shadow` CSS property.
  78768. *
  78769. * For some series types, where each point has an extent, like for example
  78770. * tree maps, the data label may overflow the point. There are two
  78771. * strategies for handling overflow. By default, the text will wrap to
  78772. * multiple lines. The other strategy is to set `style.textOverflow` to
  78773. * `ellipsis`, which will keep the text on one line plus it will break
  78774. * inside long words.
  78775. */
  78776. style?: CSSObject;
  78777. /**
  78778. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  78779. * should follow marker's shape. Border and background are disabled for a
  78780. * label that follows a path.
  78781. *
  78782. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  78783. * to true will disable this option.
  78784. */
  78785. textPath?: DataLabelsTextPathOptionsObject;
  78786. /**
  78787. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  78788. * the labels.
  78789. */
  78790. useHTML?: boolean;
  78791. /**
  78792. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  78793. * label. Can be one of `top`, `middle` or `bottom`. The default value
  78794. * depends on the data, for instance in a column chart, the label is above
  78795. * positive values and below negative values.
  78796. */
  78797. verticalAlign?: (VerticalAlignValue|null);
  78798. /**
  78799. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  78800. * label relative to the point in pixels.
  78801. */
  78802. x?: number;
  78803. /**
  78804. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  78805. * label relative to the point in pixels.
  78806. */
  78807. y?: number;
  78808. /**
  78809. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  78810. * The default Z index puts it above the series. Use a Z index of 2 to
  78811. * display it behind the series.
  78812. */
  78813. z?: number;
  78814. }
  78815. /**
  78816. * (Highcharts, Highstock) Options for the series data sorting.
  78817. */
  78818. export interface PlotSeriesDataSortingOptions {
  78819. /**
  78820. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  78821. * Use xAxis.reversed to change the sorting order.
  78822. */
  78823. enabled?: boolean;
  78824. /**
  78825. * (Highcharts, Highstock) Whether to allow matching points by name in an
  78826. * update. If this option is disabled, points will be matched by order.
  78827. */
  78828. matchByName?: boolean;
  78829. /**
  78830. * (Highcharts, Highstock) Determines what data value should be used to sort
  78831. * by.
  78832. */
  78833. sortKey?: string;
  78834. }
  78835. /**
  78836. * (Highcharts, Highstock, Highmaps, Gantt) Style options for the guide box. The
  78837. * guide box has one state by default, the `default` state.
  78838. */
  78839. export interface PlotSeriesDragDropGuideBoxOptions {
  78840. /**
  78841. * (Highcharts, Highstock, Highmaps, Gantt) Style options for the guide box
  78842. * default state.
  78843. */
  78844. default?: DragDropGuideBoxOptionsObject;
  78845. }
  78846. /**
  78847. * (Highcharts, Highstock, Highmaps, Gantt) General options for all series
  78848. * types.
  78849. *
  78850. * In TypeScript the type option must always be set.
  78851. *
  78852. * Configuration options for the series are given in three levels:
  78853. *
  78854. * 1. Options for all series in a chart are defined in the plotOptions.series
  78855. * object.
  78856. *
  78857. * 2. Options for all `line` series are defined in plotOptions.line.
  78858. *
  78859. * 3. Options for one single series are given in the series instance array. (see
  78860. * online documentation for example)
  78861. */
  78862. export interface PlotSeriesOptions {
  78863. /**
  78864. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for a
  78865. * series.
  78866. */
  78867. accessibility?: SeriesAccessibilityOptionsObject;
  78868. /**
  78869. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  78870. * rendered. If `true`, areas which don't correspond to a data point, are
  78871. * rendered as `null` points. If `false`, those areas are skipped.
  78872. */
  78873. allAreas?: boolean;
  78874. /**
  78875. * (Highcharts, Highstock, Highmaps, Gantt) Allow this series' points to be
  78876. * selected by clicking on the graphic (columns, point markers, pie slices,
  78877. * map areas etc).
  78878. *
  78879. * The selected points can be handled by point select and unselect events,
  78880. * or collectively by the getSelectedPoints function.
  78881. *
  78882. * And alternative way of selecting points is through dragging.
  78883. */
  78884. allowPointSelect?: boolean;
  78885. /**
  78886. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  78887. * animation when a series is displayed. The animation can also be set as a
  78888. * configuration object. Please note that this option only applies to the
  78889. * initial animation of the series itself. For other animations, see
  78890. * chart.animation and the animation parameter under the API methods. The
  78891. * following properties are supported:
  78892. *
  78893. * - `defer`: The animation delay time in milliseconds.
  78894. *
  78895. * - `duration`: The duration of the animation in milliseconds.
  78896. *
  78897. * - `easing`: Can be a string reference to an easing function set on the
  78898. * `Math` object or a function. See the _Custom easing function_ demo below.
  78899. *
  78900. * Due to poor performance, animation is disabled in old IE browsers for
  78901. * several chart types.
  78902. */
  78903. animation?: (boolean|PlotSeriesAnimationOptions|Partial<AnimationOptionsObject>);
  78904. /**
  78905. * (Highcharts, Highstock, Highmaps, Gantt) For some series, there is a
  78906. * limit that shuts down initial animation by default when the total number
  78907. * of points in the chart is too high. For example, for a column chart and
  78908. * its derivatives, animation does not run if there is more than 250 points
  78909. * totally. To disable this cap, set `animationLimit` to `Infinity`.
  78910. */
  78911. animationLimit?: number;
  78912. /**
  78913. * (Highcharts, Highstock, Highmaps, Gantt) Sets the color blending in the
  78914. * boost module.
  78915. */
  78916. boostBlending?: OptionsBoostBlendingValue;
  78917. /**
  78918. * (Highcharts, Highstock, Highmaps, Gantt) Set the point threshold for when
  78919. * a series should enter boost mode.
  78920. *
  78921. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  78922. * there are 2000 or more points in the series.
  78923. *
  78924. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  78925. * it to 1 will force boosting.
  78926. *
  78927. * Note that the cropThreshold also affects this setting. When zooming in on
  78928. * a series that has fewer points than the `cropThreshold`, all points are
  78929. * rendered although outside the visible plot area, and the `boostThreshold`
  78930. * won't take effect.
  78931. */
  78932. boostThreshold?: number;
  78933. /**
  78934. * (Highmaps) The border color of the map areas.
  78935. *
  78936. * In styled mode, the border stroke is given in the `.highcharts-point`
  78937. * class.
  78938. */
  78939. borderColor?: (ColorString|GradientColorObject|PatternObject);
  78940. /**
  78941. * (Highmaps) The border width of each map area.
  78942. *
  78943. * In styled mode, the border stroke width is given in the
  78944. * `.highcharts-point` class.
  78945. */
  78946. borderWidth?: number;
  78947. /**
  78948. * (Highcharts, Highstock, Highmaps, Gantt) An additional class name to
  78949. * apply to the series' graphical elements. This option does not replace
  78950. * default class names of the graphical element.
  78951. */
  78952. className?: string;
  78953. /**
  78954. * (Highcharts, Highstock, Highmaps, Gantt) Disable this option to allow
  78955. * series rendering in the whole plotting area.
  78956. *
  78957. * **Note:** Clipping should be always enabled when chart.zoomType is set
  78958. */
  78959. clip?: boolean;
  78960. /**
  78961. * (Highcharts, Highstock, Highmaps, Gantt) The main color of the series. In
  78962. * line type series it applies to the line and the point markers unless
  78963. * otherwise specified. In bar type series it applies to the bars unless a
  78964. * color is specified per point. The default value is pulled from the
  78965. * `options.colors` array.
  78966. *
  78967. * In styled mode, the color can be defined by the colorIndex option. Also,
  78968. * the series color can be set with the `.highcharts-series`,
  78969. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  78970. * `.highcharts-series-{n}` class, or individual classes given by the
  78971. * `className` option.
  78972. */
  78973. color?: (ColorString|GradientColorObject|PatternObject);
  78974. /**
  78975. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  78976. * this number defines which colorAxis the particular series is connected
  78977. * to. It refers to either the axis id or the index of the axis in the
  78978. * colorAxis array, with 0 being the first. Set this option to false to
  78979. * prevent a series from connecting to the default color axis.
  78980. *
  78981. * Since v7.2.0 the option can also be an axis id or an axis index instead
  78982. * of a boolean flag.
  78983. */
  78984. colorAxis?: (boolean|number|string);
  78985. /**
  78986. * (Highcharts, Highstock, Highmaps, Gantt) Styled mode only. A specific
  78987. * color index to use for the series, so its graphic representations are
  78988. * given the class name `highcharts-color-{n}`.
  78989. */
  78990. colorIndex?: number;
  78991. /**
  78992. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  78993. * used to calculate point color if `colorAxis` is used. Requires to set
  78994. * `min` and `max` if some custom point property is used or if approximation
  78995. * for data grouping is set to `'sum'`.
  78996. */
  78997. colorKey?: string;
  78998. /**
  78999. * (Highstock) Compare the values of the series against the first non-null,
  79000. * non- zero value in the visible range. The y axis will show percentage or
  79001. * absolute change depending on whether `compare` is set to `"percent"` or
  79002. * `"value"`. When this is applied to multiple series, it allows comparing
  79003. * the development of the series against each other. Adds a `change` field
  79004. * to every point object.
  79005. */
  79006. compare?: string;
  79007. /**
  79008. * (Highstock) When compare is `percent`, this option dictates whether to
  79009. * use 0 or 100 as the base of comparison.
  79010. */
  79011. compareBase?: (0|100);
  79012. /**
  79013. * (Highstock) Defines if comparison should start from the first point
  79014. * within the visible range or should start from the first point **before**
  79015. * the range.
  79016. *
  79017. * In other words, this flag determines if first point within the visible
  79018. * range will have 0% (`compareStart=true`) or should have been already
  79019. * calculated according to the previous point (`compareStart=false`).
  79020. */
  79021. compareStart?: boolean;
  79022. /**
  79023. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  79024. * series plot across the extremes.
  79025. */
  79026. connectEnds?: boolean;
  79027. /**
  79028. * (Highcharts, Highstock) Whether to connect a graph line across null
  79029. * points, or render a gap between the two points on either side of the
  79030. * null.
  79031. */
  79032. connectNulls?: boolean;
  79033. /**
  79034. * (Gantt) Override Pathfinder connector options for a series. Requires
  79035. * Highcharts Gantt to be loaded.
  79036. */
  79037. connectors?: SeriesConnectorsOptionsObject;
  79038. /**
  79039. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  79040. * rounded to its nearest pixel in order to render sharp on screen. In some
  79041. * cases, when there are a lot of densely packed columns, this leads to
  79042. * visible difference in column widths or distance between columns. In these
  79043. * cases, setting `crisp` to `false` may look better, even though each
  79044. * column is rendered blurry.
  79045. */
  79046. crisp?: boolean;
  79047. /**
  79048. * (Highcharts, Highstock) When the series contains less points than the
  79049. * crop threshold, all points are drawn, even if the points fall outside the
  79050. * visible plot area at the current zoom. The advantage of drawing all
  79051. * points (including markers and columns), is that animation is performed on
  79052. * updates. On the other hand, when the series contains more points than the
  79053. * crop threshold, the series data is cropped to only contain points that
  79054. * fall within the plot area. The advantage of cropping away invisible
  79055. * points is to increase performance on large series.
  79056. */
  79057. cropThreshold?: number;
  79058. /**
  79059. * (Highcharts, Highstock, Highmaps, Gantt) You can set the cursor to
  79060. * "pointer" if you have click events attached to the series, to signal to
  79061. * the user that the points and lines can be clicked.
  79062. *
  79063. * In styled mode, the series cursor can be set with the same classes as
  79064. * listed under series.color.
  79065. */
  79066. cursor?: (string|CursorValue);
  79067. /**
  79068. * (Highcharts, Highstock, Highmaps, Gantt) A reserved subspace to store
  79069. * options and values for customized functionality. Here you can add
  79070. * additional data for your own event callbacks and formatter callbacks.
  79071. */
  79072. custom?: Dictionary<any>;
  79073. /**
  79074. * (Highcharts, Highstock, Highmaps, Gantt) Name of the dash style to use
  79075. * for the graph, or for some series types the outline of each shape.
  79076. *
  79077. * In styled mode, the stroke dash-array can be set with the same classes as
  79078. * listed under series.color.
  79079. */
  79080. dashStyle?: DashStyleValue;
  79081. /**
  79082. * (Highstock) Data grouping is the concept of sampling the data values into
  79083. * larger blocks in order to ease readability and increase performance of
  79084. * the JavaScript charts. Highstock by default applies data grouping when
  79085. * the points become closer than a certain pixel value, determined by the
  79086. * `groupPixelWidth` option.
  79087. *
  79088. * If data grouping is applied, the grouping information of grouped points
  79089. * can be read from the Point.dataGroup. If point options other than the
  79090. * data itself are set, for example `name` or `color` or custom properties,
  79091. * the grouping logic doesn't know how to group it. In this case the options
  79092. * of the first point instance are copied over to the group point. This can
  79093. * be altered through a custom `approximation` callback function.
  79094. */
  79095. dataGrouping?: DataGroupingOptionsObject;
  79096. /**
  79097. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  79098. * labels, appearing next to each data point.
  79099. *
  79100. * Since v6.2.0, multiple data labels can be applied to each single point by
  79101. * defining them as an array of configs.
  79102. *
  79103. * In styled mode, the data labels can be styled with the
  79104. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  79105. * (see example).
  79106. */
  79107. dataLabels?: (PlotSeriesDataLabelsOptions|Array<PlotSeriesDataLabelsOptions>);
  79108. /**
  79109. * (Highcharts, Highstock) Options for the series data sorting.
  79110. */
  79111. dataSorting?: (DataSortingOptionsObject|PlotSeriesDataSortingOptions);
  79112. /**
  79113. * (Highcharts, Highstock, Highmaps, Gantt) A description of the series to
  79114. * add to the screen reader information about the series.
  79115. */
  79116. description?: string;
  79117. /**
  79118. * (Highcharts, Highstock, Highmaps, Gantt) The draggable-points module
  79119. * allows points to be moved around or modified in the chart. In addition to
  79120. * the options mentioned under the `dragDrop` API structure, the module
  79121. * fires three events, point.dragStart, point.drag and point.drop.
  79122. */
  79123. dragDrop?: SeriesDragDropOptionsObject;
  79124. /**
  79125. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the mouse
  79126. * tracking for a specific series. This includes point tooltips and click
  79127. * events on graphs and points. For large datasets it improves performance.
  79128. */
  79129. enableMouseTracking?: boolean;
  79130. /**
  79131. * (Highcharts, Highstock, Highmaps, Gantt) General event handlers for the
  79132. * series items. These event hooks can also be attached to the series at run
  79133. * time using the `Highcharts.addEvent` function.
  79134. */
  79135. events?: SeriesEventsOptionsObject;
  79136. /**
  79137. * (Highcharts, Highstock, Highmaps, Gantt) Determines whether the series
  79138. * should look for the nearest point in both dimensions or just the
  79139. * x-dimension when hovering the series. Defaults to `'xy'` for scatter
  79140. * series and `'x'` for most other series. If the data has duplicate
  79141. * x-values, it is recommended to set this to `'xy'` to allow hovering over
  79142. * all points.
  79143. *
  79144. * Applies only to series types using nearest neighbor search (not direct
  79145. * hover) for tooltip.
  79146. */
  79147. findNearestPointBy?: OptionsFindNearestPointByValue;
  79148. /**
  79149. * (Highstock) Defines when to display a gap in the graph, together with the
  79150. * gapUnit option.
  79151. *
  79152. * In case when `dataGrouping` is enabled, points can be grouped into a
  79153. * larger time span. This can make the grouped points to have a greater
  79154. * distance than the absolute value of `gapSize` property, which will result
  79155. * in disappearing graph completely. To prevent this situation the mentioned
  79156. * distance between grouped points is used instead of previously defined
  79157. * `gapSize`.
  79158. *
  79159. * In practice, this option is most often used to visualize gaps in time
  79160. * series. In a stock chart, intraday data is available for daytime hours,
  79161. * while gaps will appear in nights and weekends.
  79162. */
  79163. gapSize?: number;
  79164. /**
  79165. * (Highstock) Together with gapSize, this option defines where to draw gaps
  79166. * in the graph.
  79167. *
  79168. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  79169. * if the distance between two points is greater than 5 times that of the
  79170. * two closest points, the graph will be broken.
  79171. *
  79172. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  79173. * values, which on a datetime axis is milliseconds. This also applies to
  79174. * the navigator series that inherits gap options from the base series.
  79175. */
  79176. gapUnit?: OptionsGapUnitValue;
  79177. /**
  79178. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  79179. * chart width or only the zoomed area when zooming in on parts of the X
  79180. * axis. By default, the Y axis adjusts to the min and max of the visible
  79181. * data. Cartesian series only.
  79182. */
  79183. getExtremesFromAll?: boolean;
  79184. /**
  79185. * (Highcharts, Highstock, Highmaps, Gantt) When set to `false` will prevent
  79186. * the series data from being included in any form of data export.
  79187. *
  79188. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  79189. * `includeInCSVExport`.
  79190. */
  79191. includeInDataExport?: boolean;
  79192. /**
  79193. * (Highmaps) What property to join the `mapData` to the value data. For
  79194. * example, if joinBy is "code", the mapData items with a specific code is
  79195. * merged into the data with the same code. For maps loaded from GeoJSON,
  79196. * the keys may be held in each point's `properties` object.
  79197. *
  79198. * The joinBy option can also be an array of two values, where the first
  79199. * points to a key in the `mapData`, and the second points to another key in
  79200. * the `data`.
  79201. *
  79202. * When joinBy is `null`, the map items are joined by their position in the
  79203. * array, which performs much better in maps with many data points. This is
  79204. * the recommended option if you are printing more than a thousand data
  79205. * points and have a backend that can preprocess the data into a parallel
  79206. * array of the mapData.
  79207. */
  79208. joinBy?: (string|Array<string>);
  79209. /**
  79210. * (Highcharts, Highstock, Highmaps, Gantt) An array specifying which option
  79211. * maps to which key in the data point array. This makes it convenient to
  79212. * work with unstructured data arrays from different sources.
  79213. */
  79214. keys?: Array<string>;
  79215. /**
  79216. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  79217. * series as possible in a natural way, seeking to avoid other series. The
  79218. * goal of this feature is to make the chart more easily readable, like if a
  79219. * human designer placed the labels in the optimal position.
  79220. *
  79221. * The series labels currently work with series types having a `graph` or an
  79222. * `area`.
  79223. */
  79224. label?: SeriesLabelOptionsObject;
  79225. /**
  79226. * (Highstock) The line marks the last price from all points.
  79227. */
  79228. lastPrice?: SeriesLastPriceOptionsObject;
  79229. /**
  79230. * (Highstock) The line marks the last price from visible range of points.
  79231. */
  79232. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  79233. /**
  79234. * (Highcharts, Highstock) The line cap used for line ends and line joins on
  79235. * the graph.
  79236. */
  79237. linecap?: SeriesLinecapValue;
  79238. /**
  79239. * (Highcharts, Highstock) Pixel width of the graph line.
  79240. */
  79241. lineWidth?: number;
  79242. /**
  79243. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  79244. * Additionally, the value can be ":previous" to link to the previous
  79245. * series. When two series are linked, only the first one appears in the
  79246. * legend. Toggling the visibility of this also toggles the linked series.
  79247. *
  79248. * If master series uses data sorting and linked series does not have its
  79249. * own sorting definition, the linked series will be sorted in the same
  79250. * order as the master one.
  79251. */
  79252. linkedTo?: string;
  79253. /**
  79254. * (Highcharts, Highstock, Highmaps, Gantt) Options for the point markers of
  79255. * line-like series. Properties like `fillColor`, `lineColor` and
  79256. * `lineWidth` define the visual appearance of the markers. Other series
  79257. * types, like column series, don't have markers, but have visual options on
  79258. * the series level instead.
  79259. *
  79260. * In styled mode, the markers can be styled with the `.highcharts-point`,
  79261. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  79262. */
  79263. marker?: PointMarkerOptionsObject;
  79264. /**
  79265. * (Highstock) Options for the corresponding navigator series if
  79266. * `showInNavigator` is `true` for this series. Available options are the
  79267. * same as any series, documented at plotOptions and series.
  79268. *
  79269. * These options are merged with options in navigator.series, and will take
  79270. * precedence if the same option is defined both places.
  79271. */
  79272. navigatorOptions?: PlotSeriesOptions;
  79273. /**
  79274. * (Highcharts, Highstock, Highmaps, Gantt) The color for the parts of the
  79275. * graph or points that are below the threshold. Note that `zones` takes
  79276. * precedence over the negative color. Using `negativeColor` is equivalent
  79277. * to applying a zone with value of 0.
  79278. */
  79279. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  79280. /**
  79281. * (Highcharts, Highstock, Highmaps, Gantt) Opacity of a series parts: line,
  79282. * fill (e.g. area) and dataLabels.
  79283. */
  79284. opacity?: number;
  79285. /**
  79286. * (Highcharts, Highstock, Highmaps, Gantt) Properties for each single
  79287. * point.
  79288. */
  79289. point?: PlotSeriesPointOptions;
  79290. /**
  79291. * (Highcharts, Highstock, Highmaps, Gantt) Same as
  79292. * accessibility.pointDescriptionFormatter, but for an individual series.
  79293. * Overrides the chart wide configuration.
  79294. */
  79295. pointDescriptionFormatter?: Function;
  79296. /**
  79297. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  79298. * a series, `pointInterval` defines the interval of the x values. For
  79299. * example, if a series contains one value every decade starting from year
  79300. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  79301. * `pointInterval` is set in milliseconds.
  79302. *
  79303. * It can be also be combined with `pointIntervalUnit` to draw irregular
  79304. * time intervals.
  79305. *
  79306. * Please note that this options applies to the _series data_, not the
  79307. * interval of the axis ticks, which is independent.
  79308. */
  79309. pointInterval?: number;
  79310. /**
  79311. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  79312. * setting the pointInterval to irregular time units, `day`, `month` and
  79313. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  79314. * also takes the DST crossover into consideration when dealing with local
  79315. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  79316. * months, 10 years etc.
  79317. *
  79318. * Please note that this options applies to the _series data_, not the
  79319. * interval of the axis ticks, which is independent.
  79320. */
  79321. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  79322. /**
  79323. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  79324. * `number`.
  79325. *
  79326. * In a column chart, when pointPlacement is `"on"`, the point will not
  79327. * create any padding of the X axis. In a polar column chart this means that
  79328. * the first column points directly north. If the pointPlacement is
  79329. * `"between"`, the columns will be laid out between ticks. This is useful
  79330. * for example for visualising an amount between two points in time or in a
  79331. * certain sector of a polar chart.
  79332. *
  79333. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  79334. * is on the axis value, -0.5 is between this value and the previous, and
  79335. * 0.5 is between this value and the next. Unlike the textual options,
  79336. * numeric point placement options won't affect axis padding.
  79337. *
  79338. * Note that pointPlacement needs a pointRange to work. For column series
  79339. * this is computed, but for line-type series it needs to be set.
  79340. *
  79341. * For the `xrange` series type and gantt charts, if the Y axis is a
  79342. * category axis, the `pointPlacement` applies to the Y axis rather than the
  79343. * (typically datetime) X axis.
  79344. *
  79345. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  79346. */
  79347. pointPlacement?: (number|string);
  79348. /**
  79349. * (Highstock) The width of each point on the x axis. For example in a
  79350. * column chart with one value each day, the pointRange would be 1 day (= 24
  79351. * * 3600
  79352. *
  79353. * * 1000 milliseconds). This is normally computed automatically, but this
  79354. * option can be used to override the automatic value.
  79355. */
  79356. pointRange?: number;
  79357. /**
  79358. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  79359. * a series, pointStart defines on what value to start. For example, if a
  79360. * series contains one yearly value starting from 1945, set pointStart to
  79361. * 1945.
  79362. */
  79363. pointStart?: number;
  79364. /**
  79365. * (Highcharts, Highstock, Highmaps, Gantt) Whether to select the series
  79366. * initially. If `showCheckbox` is true, the checkbox next to the series
  79367. * name in the legend will be checked for a selected series.
  79368. */
  79369. selected?: boolean;
  79370. /**
  79371. * (Highcharts, Highstock, Highmaps, Gantt) Whether to apply a drop shadow
  79372. * to the graph line. Since 2.3 the shadow can be an object configuration
  79373. * containing `color`, `offsetX`, `offsetY`, `opacity` and `width`.
  79374. */
  79375. shadow?: (boolean|ShadowOptionsObject);
  79376. /**
  79377. * (Highcharts, Highstock, Highmaps, Gantt) If true, a checkbox is displayed
  79378. * next to the legend item to allow selecting the series. The state of the
  79379. * checkbox is determined by the `selected` option.
  79380. */
  79381. showCheckbox?: boolean;
  79382. /**
  79383. * (Highcharts, Highstock, Highmaps, Gantt) Whether to display this
  79384. * particular series or series type in the legend. Standalone series are
  79385. * shown in legend by default, and linked series are not. Since v7.2.0 it is
  79386. * possible to show series that use colorAxis by setting this option to
  79387. * `true`.
  79388. */
  79389. showInLegend?: boolean;
  79390. /**
  79391. * (Highstock) Whether or not to show the series in the navigator. Takes
  79392. * precedence over navigator.baseSeries if defined.
  79393. */
  79394. showInNavigator?: boolean;
  79395. /**
  79396. * (Highcharts, Highstock, Highmaps, Gantt) If set to `true`, the
  79397. * accessibility module will skip past the points in this series for
  79398. * keyboard navigation.
  79399. */
  79400. skipKeyboardNavigation?: boolean;
  79401. /**
  79402. * (Highcharts, Highstock) When this is true, the series will not cause the
  79403. * Y axis to cross the zero plane (or threshold option) unless the data
  79404. * actually crosses the plane.
  79405. *
  79406. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  79407. * make the Y axis show negative values according to the `minPadding`
  79408. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  79409. */
  79410. softThreshold?: boolean;
  79411. /**
  79412. * (Highcharts, Highstock) Whether to stack the values of each series on top
  79413. * of each other. Possible values are `undefined` to disable, `"normal"` to
  79414. * stack by value or `"percent"`.
  79415. *
  79416. * When stacking is enabled, data must be sorted in ascending X order.
  79417. *
  79418. * Some stacking options are related to specific series types. In the
  79419. * streamgraph series type, the stacking option is set to `"stream"`. The
  79420. * second one is `"overlap"`, which only applies to waterfall series.
  79421. */
  79422. stacking?: OptionsStackingValue;
  79423. states?: SeriesStatesOptionsObject;
  79424. /**
  79425. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  79426. * values are `left`, `center` and `right`.
  79427. */
  79428. step?: OptionsStepValue;
  79429. /**
  79430. * (Highcharts, Highstock, Highmaps, Gantt) Sticky tracking of mouse events.
  79431. * When true, the `mouseOut` event on a series isn't triggered until the
  79432. * mouse moves over another series, or out of the plot area. When false, the
  79433. * `mouseOut` event on a series is triggered when the mouse leaves the area
  79434. * around the series' graph or markers. This also implies the tooltip when
  79435. * not shared. When `stickyTracking` is false and `tooltip.shared` is false,
  79436. * the tooltip will be hidden when moving the mouse between series. Defaults
  79437. * to true for line and area type series, but to false for columns, pies
  79438. * etc.
  79439. *
  79440. * **Note:** The boost module will force this option because of technical
  79441. * limitations.
  79442. */
  79443. stickyTracking?: boolean;
  79444. /**
  79445. * (Highcharts, Highstock) The threshold, also called zero level or base
  79446. * level. For line type series this is only used in conjunction with
  79447. * negativeColor.
  79448. */
  79449. threshold?: number;
  79450. /**
  79451. * (Highcharts, Highstock, Highmaps, Gantt) A configuration object for the
  79452. * tooltip rendering of each single series. Properties are inherited from
  79453. * tooltip, but only the following properties can be defined on a series
  79454. * level.
  79455. */
  79456. tooltip?: SeriesTooltipOptionsObject;
  79457. /**
  79458. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  79459. * is longer than this, only one dimensional arrays of numbers, or two
  79460. * dimensional arrays with x and y values are allowed. Also, only the first
  79461. * point is tested, and the rest are assumed to be the same format. This
  79462. * saves expensive data checking and indexing in long series. Set it to `0`
  79463. * disable.
  79464. *
  79465. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  79466. * two dimensional arrays are allowed.
  79467. */
  79468. turboThreshold?: number;
  79469. /**
  79470. * (Highcharts, Highstock, Highmaps, Gantt) Set the initial visibility of
  79471. * the series.
  79472. */
  79473. visible?: boolean;
  79474. /**
  79475. * (Highmaps) Define the z index of the series.
  79476. */
  79477. zIndex?: number;
  79478. /**
  79479. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  79480. */
  79481. zoneAxis?: string;
  79482. /**
  79483. * (Highcharts, Highstock) An array defining zones within a series. Zones
  79484. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  79485. * the `zoneAxis` option. The zone definitions have to be in ascending order
  79486. * regarding to the value.
  79487. *
  79488. * In styled mode, the color zones are styled with the
  79489. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  79490. * option (view live demo).
  79491. */
  79492. zones?: Array<SeriesZonesOptionsObject>;
  79493. }
  79494. /**
  79495. * (Highstock) Properties for each single point.
  79496. */
  79497. export interface PlotSeriesPointOptions {
  79498. /**
  79499. * (Highstock) Events for each single point.
  79500. */
  79501. events?: PointEventsOptionsObject;
  79502. }
  79503. /**
  79504. * (Highstock) Enable or disable the initial animation when a series is
  79505. * displayed. The animation can also be set as a configuration object. Please
  79506. * note that this option only applies to the initial animation of the series
  79507. * itself. For other animations, see chart.animation and the animation parameter
  79508. * under the API methods. The following properties are supported:
  79509. *
  79510. * - `defer`: The animation delay time in milliseconds.
  79511. *
  79512. * - `duration`: The duration of the animation in milliseconds.
  79513. *
  79514. * - `easing`: Can be a string reference to an easing function set on the `Math`
  79515. * object or a function. See the _Custom easing function_ demo below.
  79516. *
  79517. * Due to poor performance, animation is disabled in old IE browsers for several
  79518. * chart types.
  79519. */
  79520. export interface PlotSlowstochasticAnimationOptions {
  79521. defer?: number;
  79522. }
  79523. /**
  79524. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  79525. * animation when a series is displayed for the `dataLabels`. The animation can
  79526. * also be set as a configuration object. Please note that this option only
  79527. * applies to the initial animation. For other animations, see chart.animation
  79528. * and the animation parameter under the API methods. The following properties
  79529. * are supported:
  79530. *
  79531. * - `defer`: The animation delay time in milliseconds.
  79532. */
  79533. export interface PlotSlowstochasticDataLabelsAnimationOptions {
  79534. /**
  79535. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  79536. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  79537. * inherits defer time from the series.animation.defer.
  79538. */
  79539. defer?: number;
  79540. }
  79541. /**
  79542. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  79543. * appearing next to each data point.
  79544. *
  79545. * Since v6.2.0, multiple data labels can be applied to each single point by
  79546. * defining them as an array of configs.
  79547. *
  79548. * In styled mode, the data labels can be styled with the
  79549. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  79550. * example).
  79551. */
  79552. export interface PlotSlowstochasticDataLabelsOptions {
  79553. /**
  79554. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  79555. * compared to the point. If `right`, the right side of the label should be
  79556. * touching the point. For points with an extent, like columns, the
  79557. * alignments also dictates how to align it inside the box, as given with
  79558. * the inside option. Can be one of `left`, `center` or `right`.
  79559. */
  79560. align?: (AlignValue|null);
  79561. /**
  79562. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  79563. * overlap. To make the labels less sensitive for overlapping, the
  79564. * dataLabels.padding can be set to 0.
  79565. */
  79566. allowOverlap?: boolean;
  79567. /**
  79568. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  79569. * animation when a series is displayed for the `dataLabels`. The animation
  79570. * can also be set as a configuration object. Please note that this option
  79571. * only applies to the initial animation. For other animations, see
  79572. * chart.animation and the animation parameter under the API methods. The
  79573. * following properties are supported:
  79574. *
  79575. * - `defer`: The animation delay time in milliseconds.
  79576. */
  79577. animation?: (boolean|PlotSlowstochasticDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  79578. /**
  79579. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  79580. * for the data label.
  79581. */
  79582. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  79583. /**
  79584. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  79585. * label. Defaults to `undefined`.
  79586. */
  79587. borderColor?: (ColorString|GradientColorObject|PatternObject);
  79588. /**
  79589. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  79590. * the data label.
  79591. */
  79592. borderRadius?: number;
  79593. /**
  79594. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  79595. * the data label.
  79596. */
  79597. borderWidth?: number;
  79598. /**
  79599. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  79600. * Particularly in styled mode, this can be used to give each series' or
  79601. * point's data label unique styling. In addition to this option, a default
  79602. * color class name is added so that we can give the labels a contrast text
  79603. * shadow.
  79604. */
  79605. className?: string;
  79606. /**
  79607. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  79608. * labels. Defaults to `undefined`. For certain series types, like column or
  79609. * map, the data labels can be drawn inside the points. In this case the
  79610. * data label will be drawn with maximum contrast by default. Additionally,
  79611. * it will be given a `text-outline` style with the opposite color, to
  79612. * further increase the contrast. This can be overridden by setting the
  79613. * `text-outline` style to `none` in the `dataLabels.style` option.
  79614. */
  79615. color?: (ColorString|GradientColorObject|PatternObject);
  79616. /**
  79617. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  79618. * are outside the plot area. By default, the data label is moved inside the
  79619. * plot area according to the overflow option.
  79620. */
  79621. crop?: boolean;
  79622. /**
  79623. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  79624. * labels until the initial series animation has finished. Setting to
  79625. * `false` renders the data label immediately. If set to `true` inherits the
  79626. * defer time set in plotOptions.series.animation.
  79627. */
  79628. defer?: boolean;
  79629. /**
  79630. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  79631. * labels.
  79632. */
  79633. enabled?: boolean;
  79634. /**
  79635. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  79636. * of which data labels to display. The declarative filter is designed for
  79637. * use when callback functions are not available, like when the chart
  79638. * options require a pure JSON structure or for use with graphical editors.
  79639. * For programmatic control, use the `formatter` instead, and return
  79640. * `undefined` to disable a single data label.
  79641. */
  79642. filter?: DataLabelsFilterOptionsObject;
  79643. /**
  79644. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  79645. * label. Available variables are the same as for `formatter`.
  79646. */
  79647. format?: string;
  79648. /**
  79649. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  79650. * format the data label. Note that if a `format` is defined, the format
  79651. * takes precedence and the formatter is ignored.
  79652. */
  79653. formatter?: DataLabelsFormatterCallbackFunction;
  79654. /**
  79655. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  79656. * columns or map areas, whether to align the data label inside the box or
  79657. * to the actual value point. Defaults to `false` in most cases, `true` in
  79658. * stacked columns.
  79659. */
  79660. inside?: boolean;
  79661. /**
  79662. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  79663. * of null. Works analogously to format. `nullFormat` can be applied only to
  79664. * series which support displaying null points.
  79665. */
  79666. nullFormat?: (boolean|string);
  79667. /**
  79668. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  79669. * that defines formatting for points with the value of null. Works
  79670. * analogously to formatter. `nullPointFormatter` can be applied only to
  79671. * series which support displaying null points.
  79672. */
  79673. nullFormatter?: DataLabelsFormatterCallbackFunction;
  79674. /**
  79675. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  79676. * flow outside the plot area. The default is `"justify"`, which aligns them
  79677. * inside the plot area. For columns and bars, this means it will be moved
  79678. * inside the bar. To display data labels outside the plot area, set `crop`
  79679. * to `false` and `overflow` to `"allow"`.
  79680. */
  79681. overflow?: DataLabelsOverflowValue;
  79682. /**
  79683. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  79684. * the `backgroundColor` is set, this is the padding within the box.
  79685. */
  79686. padding?: number;
  79687. /**
  79688. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  79689. * points. If `center` alignment is not possible, it defaults to `right`.
  79690. */
  79691. position?: AlignValue;
  79692. /**
  79693. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  79694. * that due to a more complex structure, backgrounds, borders and padding
  79695. * will be lost on a rotated data label.
  79696. */
  79697. rotation?: number;
  79698. /**
  79699. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  79700. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  79701. * an object configuration containing `color`, `offsetX`, `offsetY`,
  79702. * `opacity` and `width`.
  79703. */
  79704. shadow?: (boolean|ShadowOptionsObject);
  79705. /**
  79706. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  79707. * the border around the label. Symbols are predefined functions on the
  79708. * Renderer object.
  79709. */
  79710. shape?: string;
  79711. /**
  79712. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  79713. * default `color` setting is `"contrast"`, which is a pseudo color that
  79714. * Highcharts picks up and applies the maximum contrast to the underlying
  79715. * point item, for example the bar in a bar chart.
  79716. *
  79717. * The `textOutline` is a pseudo property that applies an outline of the
  79718. * given width with the given color, which by default is the maximum
  79719. * contrast to the text. So a bright text color will result in a black text
  79720. * outline for maximum readability on a mixed background. In some cases,
  79721. * especially with grayscale text, the text outline doesn't work well, in
  79722. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  79723. * is true, the `textOutline` will not be picked up. In this, case, the same
  79724. * effect can be acheived through the `text-shadow` CSS property.
  79725. *
  79726. * For some series types, where each point has an extent, like for example
  79727. * tree maps, the data label may overflow the point. There are two
  79728. * strategies for handling overflow. By default, the text will wrap to
  79729. * multiple lines. The other strategy is to set `style.textOverflow` to
  79730. * `ellipsis`, which will keep the text on one line plus it will break
  79731. * inside long words.
  79732. */
  79733. style?: CSSObject;
  79734. /**
  79735. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  79736. * should follow marker's shape. Border and background are disabled for a
  79737. * label that follows a path.
  79738. *
  79739. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  79740. * to true will disable this option.
  79741. */
  79742. textPath?: DataLabelsTextPathOptionsObject;
  79743. /**
  79744. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  79745. * the labels.
  79746. */
  79747. useHTML?: boolean;
  79748. /**
  79749. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  79750. * label. Can be one of `top`, `middle` or `bottom`. The default value
  79751. * depends on the data, for instance in a column chart, the label is above
  79752. * positive values and below negative values.
  79753. */
  79754. verticalAlign?: (VerticalAlignValue|null);
  79755. /**
  79756. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  79757. * label relative to the point in pixels.
  79758. */
  79759. x?: number;
  79760. /**
  79761. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  79762. * label relative to the point in pixels.
  79763. */
  79764. y?: number;
  79765. /**
  79766. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  79767. * The default Z index puts it above the series. Use a Z index of 2 to
  79768. * display it behind the series.
  79769. */
  79770. z?: number;
  79771. }
  79772. /**
  79773. * (Highcharts, Highstock) Options for the series data sorting.
  79774. */
  79775. export interface PlotSlowstochasticDataSortingOptions {
  79776. /**
  79777. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  79778. * Use xAxis.reversed to change the sorting order.
  79779. */
  79780. enabled?: boolean;
  79781. /**
  79782. * (Highcharts, Highstock) Whether to allow matching points by name in an
  79783. * update. If this option is disabled, points will be matched by order.
  79784. */
  79785. matchByName?: boolean;
  79786. /**
  79787. * (Highcharts, Highstock) Determines what data value should be used to sort
  79788. * by.
  79789. */
  79790. sortKey?: string;
  79791. }
  79792. /**
  79793. * (Highstock) Slow Stochastic oscillator. This series requires the `linkedTo`
  79794. * option to be set and should be loaded after `stock/indicators/indicators.js`
  79795. * and `stock/indicators/stochastic.js` files.
  79796. *
  79797. * In TypeScript the type option must always be set.
  79798. *
  79799. * Configuration options for the series are given in three levels:
  79800. *
  79801. * 1. Options for all series in a chart are defined in the plotOptions.series
  79802. * object.
  79803. *
  79804. * 2. Options for all `slowstochastic` series are defined in
  79805. * plotOptions.slowstochastic.
  79806. *
  79807. * 3. Options for one single series are given in the series instance array. (see
  79808. * online documentation for example)
  79809. */
  79810. export interface PlotSlowstochasticOptions {
  79811. /**
  79812. * (Highstock) Accessibility options for a series.
  79813. */
  79814. accessibility?: SeriesAccessibilityOptionsObject;
  79815. /**
  79816. * (Highstock) Allow this series' points to be selected by clicking on the
  79817. * graphic (columns, point markers, pie slices, map areas etc).
  79818. *
  79819. * The selected points can be handled by point select and unselect events,
  79820. * or collectively by the getSelectedPoints function.
  79821. *
  79822. * And alternative way of selecting points is through dragging.
  79823. */
  79824. allowPointSelect?: boolean;
  79825. /**
  79826. * (Highstock) Enable or disable the initial animation when a series is
  79827. * displayed. The animation can also be set as a configuration object.
  79828. * Please note that this option only applies to the initial animation of the
  79829. * series itself. For other animations, see chart.animation and the
  79830. * animation parameter under the API methods. The following properties are
  79831. * supported:
  79832. *
  79833. * - `defer`: The animation delay time in milliseconds.
  79834. *
  79835. * - `duration`: The duration of the animation in milliseconds.
  79836. *
  79837. * - `easing`: Can be a string reference to an easing function set on the
  79838. * `Math` object or a function. See the _Custom easing function_ demo below.
  79839. *
  79840. * Due to poor performance, animation is disabled in old IE browsers for
  79841. * several chart types.
  79842. */
  79843. animation?: (boolean|PlotSlowstochasticAnimationOptions|Partial<AnimationOptionsObject>);
  79844. /**
  79845. * (Highstock) For some series, there is a limit that shuts down initial
  79846. * animation by default when the total number of points in the chart is too
  79847. * high. For example, for a column chart and its derivatives, animation does
  79848. * not run if there is more than 250 points totally. To disable this cap,
  79849. * set `animationLimit` to `Infinity`.
  79850. */
  79851. animationLimit?: number;
  79852. /**
  79853. * (Highstock) Sets the color blending in the boost module.
  79854. */
  79855. boostBlending?: OptionsBoostBlendingValue;
  79856. /**
  79857. * (Highstock) Set the point threshold for when a series should enter boost
  79858. * mode.
  79859. *
  79860. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  79861. * there are 2000 or more points in the series.
  79862. *
  79863. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  79864. * it to 1 will force boosting.
  79865. *
  79866. * Note that the cropThreshold also affects this setting. When zooming in on
  79867. * a series that has fewer points than the `cropThreshold`, all points are
  79868. * rendered although outside the visible plot area, and the `boostThreshold`
  79869. * won't take effect.
  79870. */
  79871. boostThreshold?: number;
  79872. /**
  79873. * (Highmaps) The border color of the map areas.
  79874. *
  79875. * In styled mode, the border stroke is given in the `.highcharts-point`
  79876. * class.
  79877. */
  79878. borderColor?: (ColorString|GradientColorObject|PatternObject);
  79879. /**
  79880. * (Highmaps) The border width of each map area.
  79881. *
  79882. * In styled mode, the border stroke width is given in the
  79883. * `.highcharts-point` class.
  79884. */
  79885. borderWidth?: number;
  79886. /**
  79887. * (Highstock) An additional class name to apply to the series' graphical
  79888. * elements. This option does not replace default class names of the
  79889. * graphical element.
  79890. */
  79891. className?: string;
  79892. /**
  79893. * (Highstock) Disable this option to allow series rendering in the whole
  79894. * plotting area.
  79895. *
  79896. * **Note:** Clipping should be always enabled when chart.zoomType is set
  79897. */
  79898. clip?: boolean;
  79899. /**
  79900. * (Highstock) The main color of the series. In line type series it applies
  79901. * to the line and the point markers unless otherwise specified. In bar type
  79902. * series it applies to the bars unless a color is specified per point. The
  79903. * default value is pulled from the `options.colors` array.
  79904. *
  79905. * In styled mode, the color can be defined by the colorIndex option. Also,
  79906. * the series color can be set with the `.highcharts-series`,
  79907. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  79908. * `.highcharts-series-{n}` class, or individual classes given by the
  79909. * `className` option.
  79910. */
  79911. color?: (ColorString|GradientColorObject|PatternObject);
  79912. /**
  79913. * (Highstock) Styled mode only. A specific color index to use for the
  79914. * series, so its graphic representations are given the class name
  79915. * `highcharts-color-{n}`.
  79916. */
  79917. colorIndex?: number;
  79918. /**
  79919. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  79920. * used to calculate point color if `colorAxis` is used. Requires to set
  79921. * `min` and `max` if some custom point property is used or if approximation
  79922. * for data grouping is set to `'sum'`.
  79923. */
  79924. colorKey?: string;
  79925. /**
  79926. * (Highstock) Compare the values of the series against the first non-null,
  79927. * non- zero value in the visible range. The y axis will show percentage or
  79928. * absolute change depending on whether `compare` is set to `"percent"` or
  79929. * `"value"`. When this is applied to multiple series, it allows comparing
  79930. * the development of the series against each other. Adds a `change` field
  79931. * to every point object.
  79932. */
  79933. compare?: string;
  79934. /**
  79935. * (Highstock) When compare is `percent`, this option dictates whether to
  79936. * use 0 or 100 as the base of comparison.
  79937. */
  79938. compareBase?: (0|100);
  79939. /**
  79940. * (Highstock) Defines if comparison should start from the first point
  79941. * within the visible range or should start from the first point **before**
  79942. * the range.
  79943. *
  79944. * In other words, this flag determines if first point within the visible
  79945. * range will have 0% (`compareStart=true`) or should have been already
  79946. * calculated according to the previous point (`compareStart=false`).
  79947. */
  79948. compareStart?: boolean;
  79949. /**
  79950. * (Highstock) Whether to compare indicator to the main series values or
  79951. * indicator values.
  79952. */
  79953. compareToMain?: boolean;
  79954. /**
  79955. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  79956. * series plot across the extremes.
  79957. */
  79958. connectEnds?: boolean;
  79959. /**
  79960. * (Highcharts, Highstock) Whether to connect a graph line across null
  79961. * points, or render a gap between the two points on either side of the
  79962. * null.
  79963. */
  79964. connectNulls?: boolean;
  79965. /**
  79966. * (Gantt) Override Pathfinder connector options for a series. Requires
  79967. * Highcharts Gantt to be loaded.
  79968. */
  79969. connectors?: SeriesConnectorsOptionsObject;
  79970. /**
  79971. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  79972. * rounded to its nearest pixel in order to render sharp on screen. In some
  79973. * cases, when there are a lot of densely packed columns, this leads to
  79974. * visible difference in column widths or distance between columns. In these
  79975. * cases, setting `crisp` to `false` may look better, even though each
  79976. * column is rendered blurry.
  79977. */
  79978. crisp?: boolean;
  79979. /**
  79980. * (Highcharts, Highstock) When the series contains less points than the
  79981. * crop threshold, all points are drawn, even if the points fall outside the
  79982. * visible plot area at the current zoom. The advantage of drawing all
  79983. * points (including markers and columns), is that animation is performed on
  79984. * updates. On the other hand, when the series contains more points than the
  79985. * crop threshold, the series data is cropped to only contain points that
  79986. * fall within the plot area. The advantage of cropping away invisible
  79987. * points is to increase performance on large series.
  79988. */
  79989. cropThreshold?: number;
  79990. /**
  79991. * (Highstock) You can set the cursor to "pointer" if you have click events
  79992. * attached to the series, to signal to the user that the points and lines
  79993. * can be clicked.
  79994. *
  79995. * In styled mode, the series cursor can be set with the same classes as
  79996. * listed under series.color.
  79997. */
  79998. cursor?: (string|CursorValue);
  79999. /**
  80000. * (Highstock) A reserved subspace to store options and values for
  80001. * customized functionality. Here you can add additional data for your own
  80002. * event callbacks and formatter callbacks.
  80003. */
  80004. custom?: Dictionary<any>;
  80005. /**
  80006. * (Highstock) Name of the dash style to use for the graph, or for some
  80007. * series types the outline of each shape.
  80008. *
  80009. * In styled mode, the stroke dash-array can be set with the same classes as
  80010. * listed under series.color.
  80011. */
  80012. dashStyle?: DashStyleValue;
  80013. /**
  80014. * (Highstock) Data grouping is the concept of sampling the data values into
  80015. * larger blocks in order to ease readability and increase performance of
  80016. * the JavaScript charts. Highstock by default applies data grouping when
  80017. * the points become closer than a certain pixel value, determined by the
  80018. * `groupPixelWidth` option.
  80019. *
  80020. * If data grouping is applied, the grouping information of grouped points
  80021. * can be read from the Point.dataGroup. If point options other than the
  80022. * data itself are set, for example `name` or `color` or custom properties,
  80023. * the grouping logic doesn't know how to group it. In this case the options
  80024. * of the first point instance are copied over to the group point. This can
  80025. * be altered through a custom `approximation` callback function.
  80026. */
  80027. dataGrouping?: DataGroupingOptionsObject;
  80028. /**
  80029. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  80030. * labels, appearing next to each data point.
  80031. *
  80032. * Since v6.2.0, multiple data labels can be applied to each single point by
  80033. * defining them as an array of configs.
  80034. *
  80035. * In styled mode, the data labels can be styled with the
  80036. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  80037. * (see example).
  80038. */
  80039. dataLabels?: (PlotSlowstochasticDataLabelsOptions|Array<PlotSlowstochasticDataLabelsOptions>);
  80040. /**
  80041. * (Highcharts, Highstock) Options for the series data sorting.
  80042. */
  80043. dataSorting?: (DataSortingOptionsObject|PlotSlowstochasticDataSortingOptions);
  80044. /**
  80045. * (Highstock) A description of the series to add to the screen reader
  80046. * information about the series.
  80047. */
  80048. description?: string;
  80049. /**
  80050. * (Highstock) Enable or disable the mouse tracking for a specific series.
  80051. * This includes point tooltips and click events on graphs and points. For
  80052. * large datasets it improves performance.
  80053. */
  80054. enableMouseTracking?: boolean;
  80055. /**
  80056. * (Highstock) General event handlers for the series items. These event
  80057. * hooks can also be attached to the series at run time using the
  80058. * `Highcharts.addEvent` function.
  80059. */
  80060. events?: SeriesEventsOptionsObject;
  80061. /**
  80062. * (Highstock) Determines whether the series should look for the nearest
  80063. * point in both dimensions or just the x-dimension when hovering the
  80064. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  80065. * series. If the data has duplicate x-values, it is recommended to set this
  80066. * to `'xy'` to allow hovering over all points.
  80067. *
  80068. * Applies only to series types using nearest neighbor search (not direct
  80069. * hover) for tooltip.
  80070. */
  80071. findNearestPointBy?: OptionsFindNearestPointByValue;
  80072. /**
  80073. * (Highstock) Defines when to display a gap in the graph, together with the
  80074. * gapUnit option.
  80075. *
  80076. * In case when `dataGrouping` is enabled, points can be grouped into a
  80077. * larger time span. This can make the grouped points to have a greater
  80078. * distance than the absolute value of `gapSize` property, which will result
  80079. * in disappearing graph completely. To prevent this situation the mentioned
  80080. * distance between grouped points is used instead of previously defined
  80081. * `gapSize`.
  80082. *
  80083. * In practice, this option is most often used to visualize gaps in time
  80084. * series. In a stock chart, intraday data is available for daytime hours,
  80085. * while gaps will appear in nights and weekends.
  80086. */
  80087. gapSize?: number;
  80088. /**
  80089. * (Highstock) Together with gapSize, this option defines where to draw gaps
  80090. * in the graph.
  80091. *
  80092. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  80093. * if the distance between two points is greater than 5 times that of the
  80094. * two closest points, the graph will be broken.
  80095. *
  80096. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  80097. * values, which on a datetime axis is milliseconds. This also applies to
  80098. * the navigator series that inherits gap options from the base series.
  80099. */
  80100. gapUnit?: OptionsGapUnitValue;
  80101. /**
  80102. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  80103. * chart width or only the zoomed area when zooming in on parts of the X
  80104. * axis. By default, the Y axis adjusts to the min and max of the visible
  80105. * data. Cartesian series only.
  80106. */
  80107. getExtremesFromAll?: boolean;
  80108. /**
  80109. * (Highstock) When set to `false` will prevent the series data from being
  80110. * included in any form of data export.
  80111. *
  80112. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  80113. * `includeInCSVExport`.
  80114. */
  80115. includeInDataExport?: boolean;
  80116. /**
  80117. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  80118. * series as possible in a natural way, seeking to avoid other series. The
  80119. * goal of this feature is to make the chart more easily readable, like if a
  80120. * human designer placed the labels in the optimal position.
  80121. *
  80122. * The series labels currently work with series types having a `graph` or an
  80123. * `area`.
  80124. */
  80125. label?: SeriesLabelOptionsObject;
  80126. /**
  80127. * (Highstock) The line marks the last price from all points.
  80128. */
  80129. lastPrice?: SeriesLastPriceOptionsObject;
  80130. /**
  80131. * (Highstock) The line marks the last price from visible range of points.
  80132. */
  80133. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  80134. /**
  80135. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  80136. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  80137. * the ends and bends.
  80138. */
  80139. linecap?: SeriesLinecapValue;
  80140. /**
  80141. * (Highcharts, Highstock) Pixel width of the graph line.
  80142. */
  80143. lineWidth?: number;
  80144. /**
  80145. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  80146. * based on. Required for this indicator.
  80147. */
  80148. linkedTo?: string;
  80149. /**
  80150. * (Highstock) Options for the point markers of line-like series. Properties
  80151. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  80152. * appearance of the markers. Other series types, like column series, don't
  80153. * have markers, but have visual options on the series level instead.
  80154. *
  80155. * In styled mode, the markers can be styled with the `.highcharts-point`,
  80156. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  80157. */
  80158. marker?: PointMarkerOptionsObject;
  80159. /**
  80160. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  80161. * If not set, it will be based on a technical indicator type and default
  80162. * params.
  80163. */
  80164. name?: string;
  80165. /**
  80166. * (Highstock) The color for the parts of the graph or points that are below
  80167. * the threshold. Note that `zones` takes precedence over the negative
  80168. * color. Using `negativeColor` is equivalent to applying a zone with value
  80169. * of 0.
  80170. */
  80171. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  80172. /**
  80173. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  80174. * dataLabels.
  80175. */
  80176. opacity?: number;
  80177. /**
  80178. * (Highstock) Paramters used in calculation of regression series' points.
  80179. */
  80180. params?: PlotSlowstochasticParamsOptions;
  80181. /**
  80182. * (Highstock) Properties for each single point.
  80183. */
  80184. point?: PlotSeriesPointOptions;
  80185. /**
  80186. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  80187. * individual series. Overrides the chart wide configuration.
  80188. */
  80189. pointDescriptionFormatter?: Function;
  80190. /**
  80191. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  80192. * true, the checkbox next to the series name in the legend will be checked
  80193. * for a selected series.
  80194. */
  80195. selected?: boolean;
  80196. /**
  80197. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  80198. * the shadow can be an object configuration containing `color`, `offsetX`,
  80199. * `offsetY`, `opacity` and `width`.
  80200. */
  80201. shadow?: (boolean|ShadowOptionsObject);
  80202. /**
  80203. * (Highstock) If true, a checkbox is displayed next to the legend item to
  80204. * allow selecting the series. The state of the checkbox is determined by
  80205. * the `selected` option.
  80206. */
  80207. showCheckbox?: boolean;
  80208. /**
  80209. * (Highstock) Whether to display this particular series or series type in
  80210. * the legend. Standalone series are shown in legend by default, and linked
  80211. * series are not. Since v7.2.0 it is possible to show series that use
  80212. * colorAxis by setting this option to `true`.
  80213. */
  80214. showInLegend?: boolean;
  80215. /**
  80216. * (Highstock) If set to `true`, the accessibility module will skip past the
  80217. * points in this series for keyboard navigation.
  80218. */
  80219. skipKeyboardNavigation?: boolean;
  80220. /**
  80221. * (Highstock) Smoothed line options.
  80222. */
  80223. smoothedLine?: PlotSlowstochasticSmoothedLineOptions;
  80224. /**
  80225. * (Highcharts, Highstock) When this is true, the series will not cause the
  80226. * Y axis to cross the zero plane (or threshold option) unless the data
  80227. * actually crosses the plane.
  80228. *
  80229. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  80230. * make the Y axis show negative values according to the `minPadding`
  80231. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  80232. */
  80233. softThreshold?: boolean;
  80234. states?: SeriesStatesOptionsObject;
  80235. /**
  80236. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  80237. * values are `left`, `center` and `right`.
  80238. */
  80239. step?: OptionsStepValue;
  80240. /**
  80241. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  80242. * event on a series isn't triggered until the mouse moves over another
  80243. * series, or out of the plot area. When false, the `mouseOut` event on a
  80244. * series is triggered when the mouse leaves the area around the series'
  80245. * graph or markers. This also implies the tooltip when not shared. When
  80246. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  80247. * be hidden when moving the mouse between series. Defaults to true for line
  80248. * and area type series, but to false for columns, pies etc.
  80249. *
  80250. * **Note:** The boost module will force this option because of technical
  80251. * limitations.
  80252. */
  80253. stickyTracking?: boolean;
  80254. /**
  80255. * (Highcharts, Highstock) The threshold, also called zero level or base
  80256. * level. For line type series this is only used in conjunction with
  80257. * negativeColor.
  80258. */
  80259. threshold?: number;
  80260. /**
  80261. * (Highstock) A configuration object for the tooltip rendering of each
  80262. * single series. Properties are inherited from tooltip, but only the
  80263. * following properties can be defined on a series level.
  80264. */
  80265. tooltip?: SeriesTooltipOptionsObject;
  80266. /**
  80267. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  80268. * is longer than this, only one dimensional arrays of numbers, or two
  80269. * dimensional arrays with x and y values are allowed. Also, only the first
  80270. * point is tested, and the rest are assumed to be the same format. This
  80271. * saves expensive data checking and indexing in long series. Set it to `0`
  80272. * disable.
  80273. *
  80274. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  80275. * two dimensional arrays are allowed.
  80276. */
  80277. turboThreshold?: number;
  80278. /**
  80279. * (Highstock) Set the initial visibility of the series.
  80280. */
  80281. visible?: boolean;
  80282. /**
  80283. * (Highmaps) Define the z index of the series.
  80284. */
  80285. zIndex?: number;
  80286. /**
  80287. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  80288. */
  80289. zoneAxis?: string;
  80290. /**
  80291. * (Highcharts, Highstock) An array defining zones within a series. Zones
  80292. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  80293. * the `zoneAxis` option. The zone definitions have to be in ascending order
  80294. * regarding to the value.
  80295. *
  80296. * In styled mode, the color zones are styled with the
  80297. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  80298. * option (view live demo).
  80299. */
  80300. zones?: Array<SeriesZonesOptionsObject>;
  80301. }
  80302. /**
  80303. * (Highstock) Paramters used in calculation of regression series' points.
  80304. */
  80305. export interface PlotSlowstochasticParamsOptions {
  80306. /**
  80307. * (Highstock) Periods for Slow Stochastic oscillator: [%K, %D, SMA(%D)].
  80308. */
  80309. periods?: [number, number, number];
  80310. }
  80311. /**
  80312. * (Highstock) Smoothed line options.
  80313. */
  80314. export interface PlotSlowstochasticSmoothedLineOptions {
  80315. /**
  80316. * (Highstock) Styles for a smoothed line.
  80317. */
  80318. styles?: PlotSlowstochasticSmoothedLineStylesOptions;
  80319. }
  80320. /**
  80321. * (Highstock) Styles for a smoothed line.
  80322. */
  80323. export interface PlotSlowstochasticSmoothedLineStylesOptions {
  80324. /**
  80325. * (Highstock) Color of the line. If not set, it's inherited from
  80326. * plotOptions.stochastic.color.
  80327. */
  80328. lineColor?: ColorString;
  80329. /**
  80330. * (Highstock) Pixel width of the line.
  80331. */
  80332. lineWidth?: number;
  80333. }
  80334. /**
  80335. * (Highstock) Enable or disable the initial animation when a series is
  80336. * displayed. The animation can also be set as a configuration object. Please
  80337. * note that this option only applies to the initial animation of the series
  80338. * itself. For other animations, see chart.animation and the animation parameter
  80339. * under the API methods. The following properties are supported:
  80340. *
  80341. * - `defer`: The animation delay time in milliseconds.
  80342. *
  80343. * - `duration`: The duration of the animation in milliseconds.
  80344. *
  80345. * - `easing`: Can be a string reference to an easing function set on the `Math`
  80346. * object or a function. See the _Custom easing function_ demo below.
  80347. *
  80348. * Due to poor performance, animation is disabled in old IE browsers for several
  80349. * chart types.
  80350. */
  80351. export interface PlotSmaAnimationOptions {
  80352. defer?: number;
  80353. }
  80354. /**
  80355. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  80356. * animation when a series is displayed for the `dataLabels`. The animation can
  80357. * also be set as a configuration object. Please note that this option only
  80358. * applies to the initial animation. For other animations, see chart.animation
  80359. * and the animation parameter under the API methods. The following properties
  80360. * are supported:
  80361. *
  80362. * - `defer`: The animation delay time in milliseconds.
  80363. */
  80364. export interface PlotSmaDataLabelsAnimationOptions {
  80365. /**
  80366. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  80367. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  80368. * inherits defer time from the series.animation.defer.
  80369. */
  80370. defer?: number;
  80371. }
  80372. /**
  80373. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  80374. * appearing next to each data point.
  80375. *
  80376. * Since v6.2.0, multiple data labels can be applied to each single point by
  80377. * defining them as an array of configs.
  80378. *
  80379. * In styled mode, the data labels can be styled with the
  80380. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  80381. * example).
  80382. */
  80383. export interface PlotSmaDataLabelsOptions {
  80384. /**
  80385. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  80386. * compared to the point. If `right`, the right side of the label should be
  80387. * touching the point. For points with an extent, like columns, the
  80388. * alignments also dictates how to align it inside the box, as given with
  80389. * the inside option. Can be one of `left`, `center` or `right`.
  80390. */
  80391. align?: (AlignValue|null);
  80392. /**
  80393. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  80394. * overlap. To make the labels less sensitive for overlapping, the
  80395. * dataLabels.padding can be set to 0.
  80396. */
  80397. allowOverlap?: boolean;
  80398. /**
  80399. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  80400. * animation when a series is displayed for the `dataLabels`. The animation
  80401. * can also be set as a configuration object. Please note that this option
  80402. * only applies to the initial animation. For other animations, see
  80403. * chart.animation and the animation parameter under the API methods. The
  80404. * following properties are supported:
  80405. *
  80406. * - `defer`: The animation delay time in milliseconds.
  80407. */
  80408. animation?: (boolean|PlotSmaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  80409. /**
  80410. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  80411. * for the data label.
  80412. */
  80413. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  80414. /**
  80415. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  80416. * label. Defaults to `undefined`.
  80417. */
  80418. borderColor?: (ColorString|GradientColorObject|PatternObject);
  80419. /**
  80420. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  80421. * the data label.
  80422. */
  80423. borderRadius?: number;
  80424. /**
  80425. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  80426. * the data label.
  80427. */
  80428. borderWidth?: number;
  80429. /**
  80430. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  80431. * Particularly in styled mode, this can be used to give each series' or
  80432. * point's data label unique styling. In addition to this option, a default
  80433. * color class name is added so that we can give the labels a contrast text
  80434. * shadow.
  80435. */
  80436. className?: string;
  80437. /**
  80438. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  80439. * labels. Defaults to `undefined`. For certain series types, like column or
  80440. * map, the data labels can be drawn inside the points. In this case the
  80441. * data label will be drawn with maximum contrast by default. Additionally,
  80442. * it will be given a `text-outline` style with the opposite color, to
  80443. * further increase the contrast. This can be overridden by setting the
  80444. * `text-outline` style to `none` in the `dataLabels.style` option.
  80445. */
  80446. color?: (ColorString|GradientColorObject|PatternObject);
  80447. /**
  80448. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  80449. * are outside the plot area. By default, the data label is moved inside the
  80450. * plot area according to the overflow option.
  80451. */
  80452. crop?: boolean;
  80453. /**
  80454. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  80455. * labels until the initial series animation has finished. Setting to
  80456. * `false` renders the data label immediately. If set to `true` inherits the
  80457. * defer time set in plotOptions.series.animation.
  80458. */
  80459. defer?: boolean;
  80460. /**
  80461. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  80462. * labels.
  80463. */
  80464. enabled?: boolean;
  80465. /**
  80466. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  80467. * of which data labels to display. The declarative filter is designed for
  80468. * use when callback functions are not available, like when the chart
  80469. * options require a pure JSON structure or for use with graphical editors.
  80470. * For programmatic control, use the `formatter` instead, and return
  80471. * `undefined` to disable a single data label.
  80472. */
  80473. filter?: DataLabelsFilterOptionsObject;
  80474. /**
  80475. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  80476. * label. Available variables are the same as for `formatter`.
  80477. */
  80478. format?: string;
  80479. /**
  80480. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  80481. * format the data label. Note that if a `format` is defined, the format
  80482. * takes precedence and the formatter is ignored.
  80483. */
  80484. formatter?: DataLabelsFormatterCallbackFunction;
  80485. /**
  80486. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  80487. * columns or map areas, whether to align the data label inside the box or
  80488. * to the actual value point. Defaults to `false` in most cases, `true` in
  80489. * stacked columns.
  80490. */
  80491. inside?: boolean;
  80492. /**
  80493. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  80494. * of null. Works analogously to format. `nullFormat` can be applied only to
  80495. * series which support displaying null points.
  80496. */
  80497. nullFormat?: (boolean|string);
  80498. /**
  80499. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  80500. * that defines formatting for points with the value of null. Works
  80501. * analogously to formatter. `nullPointFormatter` can be applied only to
  80502. * series which support displaying null points.
  80503. */
  80504. nullFormatter?: DataLabelsFormatterCallbackFunction;
  80505. /**
  80506. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  80507. * flow outside the plot area. The default is `"justify"`, which aligns them
  80508. * inside the plot area. For columns and bars, this means it will be moved
  80509. * inside the bar. To display data labels outside the plot area, set `crop`
  80510. * to `false` and `overflow` to `"allow"`.
  80511. */
  80512. overflow?: DataLabelsOverflowValue;
  80513. /**
  80514. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  80515. * the `backgroundColor` is set, this is the padding within the box.
  80516. */
  80517. padding?: number;
  80518. /**
  80519. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  80520. * points. If `center` alignment is not possible, it defaults to `right`.
  80521. */
  80522. position?: AlignValue;
  80523. /**
  80524. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  80525. * that due to a more complex structure, backgrounds, borders and padding
  80526. * will be lost on a rotated data label.
  80527. */
  80528. rotation?: number;
  80529. /**
  80530. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  80531. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  80532. * an object configuration containing `color`, `offsetX`, `offsetY`,
  80533. * `opacity` and `width`.
  80534. */
  80535. shadow?: (boolean|ShadowOptionsObject);
  80536. /**
  80537. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  80538. * the border around the label. Symbols are predefined functions on the
  80539. * Renderer object.
  80540. */
  80541. shape?: string;
  80542. /**
  80543. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  80544. * default `color` setting is `"contrast"`, which is a pseudo color that
  80545. * Highcharts picks up and applies the maximum contrast to the underlying
  80546. * point item, for example the bar in a bar chart.
  80547. *
  80548. * The `textOutline` is a pseudo property that applies an outline of the
  80549. * given width with the given color, which by default is the maximum
  80550. * contrast to the text. So a bright text color will result in a black text
  80551. * outline for maximum readability on a mixed background. In some cases,
  80552. * especially with grayscale text, the text outline doesn't work well, in
  80553. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  80554. * is true, the `textOutline` will not be picked up. In this, case, the same
  80555. * effect can be acheived through the `text-shadow` CSS property.
  80556. *
  80557. * For some series types, where each point has an extent, like for example
  80558. * tree maps, the data label may overflow the point. There are two
  80559. * strategies for handling overflow. By default, the text will wrap to
  80560. * multiple lines. The other strategy is to set `style.textOverflow` to
  80561. * `ellipsis`, which will keep the text on one line plus it will break
  80562. * inside long words.
  80563. */
  80564. style?: CSSObject;
  80565. /**
  80566. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  80567. * should follow marker's shape. Border and background are disabled for a
  80568. * label that follows a path.
  80569. *
  80570. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  80571. * to true will disable this option.
  80572. */
  80573. textPath?: DataLabelsTextPathOptionsObject;
  80574. /**
  80575. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  80576. * the labels.
  80577. */
  80578. useHTML?: boolean;
  80579. /**
  80580. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  80581. * label. Can be one of `top`, `middle` or `bottom`. The default value
  80582. * depends on the data, for instance in a column chart, the label is above
  80583. * positive values and below negative values.
  80584. */
  80585. verticalAlign?: (VerticalAlignValue|null);
  80586. /**
  80587. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  80588. * label relative to the point in pixels.
  80589. */
  80590. x?: number;
  80591. /**
  80592. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  80593. * label relative to the point in pixels.
  80594. */
  80595. y?: number;
  80596. /**
  80597. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  80598. * The default Z index puts it above the series. Use a Z index of 2 to
  80599. * display it behind the series.
  80600. */
  80601. z?: number;
  80602. }
  80603. /**
  80604. * (Highcharts, Highstock) Options for the series data sorting.
  80605. */
  80606. export interface PlotSmaDataSortingOptions {
  80607. /**
  80608. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  80609. * Use xAxis.reversed to change the sorting order.
  80610. */
  80611. enabled?: boolean;
  80612. /**
  80613. * (Highcharts, Highstock) Whether to allow matching points by name in an
  80614. * update. If this option is disabled, points will be matched by order.
  80615. */
  80616. matchByName?: boolean;
  80617. /**
  80618. * (Highcharts, Highstock) Determines what data value should be used to sort
  80619. * by.
  80620. */
  80621. sortKey?: string;
  80622. }
  80623. /**
  80624. * (Highstock) Simple moving average indicator (SMA). This series requires
  80625. * `linkedTo` option to be set.
  80626. *
  80627. * In TypeScript the type option must always be set.
  80628. *
  80629. * Configuration options for the series are given in three levels:
  80630. *
  80631. * 1. Options for all series in a chart are defined in the plotOptions.series
  80632. * object.
  80633. *
  80634. * 2. Options for all `sma` series are defined in plotOptions.sma.
  80635. *
  80636. * 3. Options for one single series are given in the series instance array. (see
  80637. * online documentation for example)
  80638. */
  80639. export interface PlotSmaOptions {
  80640. /**
  80641. * (Highstock) Accessibility options for a series.
  80642. */
  80643. accessibility?: SeriesAccessibilityOptionsObject;
  80644. /**
  80645. * (Highstock) Allow this series' points to be selected by clicking on the
  80646. * graphic (columns, point markers, pie slices, map areas etc).
  80647. *
  80648. * The selected points can be handled by point select and unselect events,
  80649. * or collectively by the getSelectedPoints function.
  80650. *
  80651. * And alternative way of selecting points is through dragging.
  80652. */
  80653. allowPointSelect?: boolean;
  80654. /**
  80655. * (Highstock) Enable or disable the initial animation when a series is
  80656. * displayed. The animation can also be set as a configuration object.
  80657. * Please note that this option only applies to the initial animation of the
  80658. * series itself. For other animations, see chart.animation and the
  80659. * animation parameter under the API methods. The following properties are
  80660. * supported:
  80661. *
  80662. * - `defer`: The animation delay time in milliseconds.
  80663. *
  80664. * - `duration`: The duration of the animation in milliseconds.
  80665. *
  80666. * - `easing`: Can be a string reference to an easing function set on the
  80667. * `Math` object or a function. See the _Custom easing function_ demo below.
  80668. *
  80669. * Due to poor performance, animation is disabled in old IE browsers for
  80670. * several chart types.
  80671. */
  80672. animation?: (boolean|PlotSmaAnimationOptions|Partial<AnimationOptionsObject>);
  80673. /**
  80674. * (Highstock) For some series, there is a limit that shuts down initial
  80675. * animation by default when the total number of points in the chart is too
  80676. * high. For example, for a column chart and its derivatives, animation does
  80677. * not run if there is more than 250 points totally. To disable this cap,
  80678. * set `animationLimit` to `Infinity`.
  80679. */
  80680. animationLimit?: number;
  80681. /**
  80682. * (Highstock) Sets the color blending in the boost module.
  80683. */
  80684. boostBlending?: OptionsBoostBlendingValue;
  80685. /**
  80686. * (Highstock) Set the point threshold for when a series should enter boost
  80687. * mode.
  80688. *
  80689. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  80690. * there are 2000 or more points in the series.
  80691. *
  80692. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  80693. * it to 1 will force boosting.
  80694. *
  80695. * Note that the cropThreshold also affects this setting. When zooming in on
  80696. * a series that has fewer points than the `cropThreshold`, all points are
  80697. * rendered although outside the visible plot area, and the `boostThreshold`
  80698. * won't take effect.
  80699. */
  80700. boostThreshold?: number;
  80701. /**
  80702. * (Highmaps) The border color of the map areas.
  80703. *
  80704. * In styled mode, the border stroke is given in the `.highcharts-point`
  80705. * class.
  80706. */
  80707. borderColor?: (ColorString|GradientColorObject|PatternObject);
  80708. /**
  80709. * (Highmaps) The border width of each map area.
  80710. *
  80711. * In styled mode, the border stroke width is given in the
  80712. * `.highcharts-point` class.
  80713. */
  80714. borderWidth?: number;
  80715. /**
  80716. * (Highstock) An additional class name to apply to the series' graphical
  80717. * elements. This option does not replace default class names of the
  80718. * graphical element.
  80719. */
  80720. className?: string;
  80721. /**
  80722. * (Highstock) Disable this option to allow series rendering in the whole
  80723. * plotting area.
  80724. *
  80725. * **Note:** Clipping should be always enabled when chart.zoomType is set
  80726. */
  80727. clip?: boolean;
  80728. /**
  80729. * (Highstock) The main color of the series. In line type series it applies
  80730. * to the line and the point markers unless otherwise specified. In bar type
  80731. * series it applies to the bars unless a color is specified per point. The
  80732. * default value is pulled from the `options.colors` array.
  80733. *
  80734. * In styled mode, the color can be defined by the colorIndex option. Also,
  80735. * the series color can be set with the `.highcharts-series`,
  80736. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  80737. * `.highcharts-series-{n}` class, or individual classes given by the
  80738. * `className` option.
  80739. */
  80740. color?: (ColorString|GradientColorObject|PatternObject);
  80741. /**
  80742. * (Highstock) Styled mode only. A specific color index to use for the
  80743. * series, so its graphic representations are given the class name
  80744. * `highcharts-color-{n}`.
  80745. */
  80746. colorIndex?: number;
  80747. /**
  80748. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  80749. * used to calculate point color if `colorAxis` is used. Requires to set
  80750. * `min` and `max` if some custom point property is used or if approximation
  80751. * for data grouping is set to `'sum'`.
  80752. */
  80753. colorKey?: string;
  80754. /**
  80755. * (Highstock) Compare the values of the series against the first non-null,
  80756. * non- zero value in the visible range. The y axis will show percentage or
  80757. * absolute change depending on whether `compare` is set to `"percent"` or
  80758. * `"value"`. When this is applied to multiple series, it allows comparing
  80759. * the development of the series against each other. Adds a `change` field
  80760. * to every point object.
  80761. */
  80762. compare?: string;
  80763. /**
  80764. * (Highstock) When compare is `percent`, this option dictates whether to
  80765. * use 0 or 100 as the base of comparison.
  80766. */
  80767. compareBase?: (0|100);
  80768. /**
  80769. * (Highstock) Defines if comparison should start from the first point
  80770. * within the visible range or should start from the first point **before**
  80771. * the range.
  80772. *
  80773. * In other words, this flag determines if first point within the visible
  80774. * range will have 0% (`compareStart=true`) or should have been already
  80775. * calculated according to the previous point (`compareStart=false`).
  80776. */
  80777. compareStart?: boolean;
  80778. /**
  80779. * (Highstock) Whether to compare indicator to the main series values or
  80780. * indicator values.
  80781. */
  80782. compareToMain?: boolean;
  80783. /**
  80784. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  80785. * series plot across the extremes.
  80786. */
  80787. connectEnds?: boolean;
  80788. /**
  80789. * (Highcharts, Highstock) Whether to connect a graph line across null
  80790. * points, or render a gap between the two points on either side of the
  80791. * null.
  80792. */
  80793. connectNulls?: boolean;
  80794. /**
  80795. * (Gantt) Override Pathfinder connector options for a series. Requires
  80796. * Highcharts Gantt to be loaded.
  80797. */
  80798. connectors?: SeriesConnectorsOptionsObject;
  80799. /**
  80800. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  80801. * rounded to its nearest pixel in order to render sharp on screen. In some
  80802. * cases, when there are a lot of densely packed columns, this leads to
  80803. * visible difference in column widths or distance between columns. In these
  80804. * cases, setting `crisp` to `false` may look better, even though each
  80805. * column is rendered blurry.
  80806. */
  80807. crisp?: boolean;
  80808. /**
  80809. * (Highcharts, Highstock) When the series contains less points than the
  80810. * crop threshold, all points are drawn, even if the points fall outside the
  80811. * visible plot area at the current zoom. The advantage of drawing all
  80812. * points (including markers and columns), is that animation is performed on
  80813. * updates. On the other hand, when the series contains more points than the
  80814. * crop threshold, the series data is cropped to only contain points that
  80815. * fall within the plot area. The advantage of cropping away invisible
  80816. * points is to increase performance on large series.
  80817. */
  80818. cropThreshold?: number;
  80819. /**
  80820. * (Highstock) You can set the cursor to "pointer" if you have click events
  80821. * attached to the series, to signal to the user that the points and lines
  80822. * can be clicked.
  80823. *
  80824. * In styled mode, the series cursor can be set with the same classes as
  80825. * listed under series.color.
  80826. */
  80827. cursor?: (string|CursorValue);
  80828. /**
  80829. * (Highstock) A reserved subspace to store options and values for
  80830. * customized functionality. Here you can add additional data for your own
  80831. * event callbacks and formatter callbacks.
  80832. */
  80833. custom?: Dictionary<any>;
  80834. /**
  80835. * (Highstock) Name of the dash style to use for the graph, or for some
  80836. * series types the outline of each shape.
  80837. *
  80838. * In styled mode, the stroke dash-array can be set with the same classes as
  80839. * listed under series.color.
  80840. */
  80841. dashStyle?: DashStyleValue;
  80842. /**
  80843. * (Highstock) Data grouping is the concept of sampling the data values into
  80844. * larger blocks in order to ease readability and increase performance of
  80845. * the JavaScript charts. Highstock by default applies data grouping when
  80846. * the points become closer than a certain pixel value, determined by the
  80847. * `groupPixelWidth` option.
  80848. *
  80849. * If data grouping is applied, the grouping information of grouped points
  80850. * can be read from the Point.dataGroup. If point options other than the
  80851. * data itself are set, for example `name` or `color` or custom properties,
  80852. * the grouping logic doesn't know how to group it. In this case the options
  80853. * of the first point instance are copied over to the group point. This can
  80854. * be altered through a custom `approximation` callback function.
  80855. */
  80856. dataGrouping?: DataGroupingOptionsObject;
  80857. /**
  80858. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  80859. * labels, appearing next to each data point.
  80860. *
  80861. * Since v6.2.0, multiple data labels can be applied to each single point by
  80862. * defining them as an array of configs.
  80863. *
  80864. * In styled mode, the data labels can be styled with the
  80865. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  80866. * (see example).
  80867. */
  80868. dataLabels?: (PlotSmaDataLabelsOptions|Array<PlotSmaDataLabelsOptions>);
  80869. /**
  80870. * (Highcharts, Highstock) Options for the series data sorting.
  80871. */
  80872. dataSorting?: (DataSortingOptionsObject|PlotSmaDataSortingOptions);
  80873. /**
  80874. * (Highstock) A description of the series to add to the screen reader
  80875. * information about the series.
  80876. */
  80877. description?: string;
  80878. /**
  80879. * (Highstock) Enable or disable the mouse tracking for a specific series.
  80880. * This includes point tooltips and click events on graphs and points. For
  80881. * large datasets it improves performance.
  80882. */
  80883. enableMouseTracking?: boolean;
  80884. /**
  80885. * (Highstock) General event handlers for the series items. These event
  80886. * hooks can also be attached to the series at run time using the
  80887. * `Highcharts.addEvent` function.
  80888. */
  80889. events?: SeriesEventsOptionsObject;
  80890. /**
  80891. * (Highstock) Determines whether the series should look for the nearest
  80892. * point in both dimensions or just the x-dimension when hovering the
  80893. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  80894. * series. If the data has duplicate x-values, it is recommended to set this
  80895. * to `'xy'` to allow hovering over all points.
  80896. *
  80897. * Applies only to series types using nearest neighbor search (not direct
  80898. * hover) for tooltip.
  80899. */
  80900. findNearestPointBy?: OptionsFindNearestPointByValue;
  80901. /**
  80902. * (Highstock) Defines when to display a gap in the graph, together with the
  80903. * gapUnit option.
  80904. *
  80905. * In case when `dataGrouping` is enabled, points can be grouped into a
  80906. * larger time span. This can make the grouped points to have a greater
  80907. * distance than the absolute value of `gapSize` property, which will result
  80908. * in disappearing graph completely. To prevent this situation the mentioned
  80909. * distance between grouped points is used instead of previously defined
  80910. * `gapSize`.
  80911. *
  80912. * In practice, this option is most often used to visualize gaps in time
  80913. * series. In a stock chart, intraday data is available for daytime hours,
  80914. * while gaps will appear in nights and weekends.
  80915. */
  80916. gapSize?: number;
  80917. /**
  80918. * (Highstock) Together with gapSize, this option defines where to draw gaps
  80919. * in the graph.
  80920. *
  80921. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  80922. * if the distance between two points is greater than 5 times that of the
  80923. * two closest points, the graph will be broken.
  80924. *
  80925. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  80926. * values, which on a datetime axis is milliseconds. This also applies to
  80927. * the navigator series that inherits gap options from the base series.
  80928. */
  80929. gapUnit?: OptionsGapUnitValue;
  80930. /**
  80931. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  80932. * chart width or only the zoomed area when zooming in on parts of the X
  80933. * axis. By default, the Y axis adjusts to the min and max of the visible
  80934. * data. Cartesian series only.
  80935. */
  80936. getExtremesFromAll?: boolean;
  80937. /**
  80938. * (Highstock) When set to `false` will prevent the series data from being
  80939. * included in any form of data export.
  80940. *
  80941. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  80942. * `includeInCSVExport`.
  80943. */
  80944. includeInDataExport?: boolean;
  80945. /**
  80946. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  80947. * series as possible in a natural way, seeking to avoid other series. The
  80948. * goal of this feature is to make the chart more easily readable, like if a
  80949. * human designer placed the labels in the optimal position.
  80950. *
  80951. * The series labels currently work with series types having a `graph` or an
  80952. * `area`.
  80953. */
  80954. label?: SeriesLabelOptionsObject;
  80955. /**
  80956. * (Highstock) The line marks the last price from all points.
  80957. */
  80958. lastPrice?: SeriesLastPriceOptionsObject;
  80959. /**
  80960. * (Highstock) The line marks the last price from visible range of points.
  80961. */
  80962. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  80963. /**
  80964. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  80965. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  80966. * the ends and bends.
  80967. */
  80968. linecap?: SeriesLinecapValue;
  80969. /**
  80970. * (Highcharts, Highstock) Pixel width of the graph line.
  80971. */
  80972. lineWidth?: number;
  80973. /**
  80974. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  80975. * based on. Required for this indicator.
  80976. */
  80977. linkedTo?: string;
  80978. /**
  80979. * (Highstock) Options for the point markers of line-like series. Properties
  80980. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  80981. * appearance of the markers. Other series types, like column series, don't
  80982. * have markers, but have visual options on the series level instead.
  80983. *
  80984. * In styled mode, the markers can be styled with the `.highcharts-point`,
  80985. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  80986. */
  80987. marker?: PointMarkerOptionsObject;
  80988. /**
  80989. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  80990. * If not set, it will be based on a technical indicator type and default
  80991. * params.
  80992. */
  80993. name?: string;
  80994. /**
  80995. * (Highstock) The color for the parts of the graph or points that are below
  80996. * the threshold. Note that `zones` takes precedence over the negative
  80997. * color. Using `negativeColor` is equivalent to applying a zone with value
  80998. * of 0.
  80999. */
  81000. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  81001. /**
  81002. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  81003. * dataLabels.
  81004. */
  81005. opacity?: number;
  81006. /**
  81007. * (Highstock) Paramters used in calculation of regression series' points.
  81008. */
  81009. params?: PlotSmaParamsOptions;
  81010. /**
  81011. * (Highstock) Properties for each single point.
  81012. */
  81013. point?: PlotSeriesPointOptions;
  81014. /**
  81015. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  81016. * individual series. Overrides the chart wide configuration.
  81017. */
  81018. pointDescriptionFormatter?: Function;
  81019. /**
  81020. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  81021. * true, the checkbox next to the series name in the legend will be checked
  81022. * for a selected series.
  81023. */
  81024. selected?: boolean;
  81025. /**
  81026. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  81027. * the shadow can be an object configuration containing `color`, `offsetX`,
  81028. * `offsetY`, `opacity` and `width`.
  81029. */
  81030. shadow?: (boolean|ShadowOptionsObject);
  81031. /**
  81032. * (Highstock) If true, a checkbox is displayed next to the legend item to
  81033. * allow selecting the series. The state of the checkbox is determined by
  81034. * the `selected` option.
  81035. */
  81036. showCheckbox?: boolean;
  81037. /**
  81038. * (Highstock) Whether to display this particular series or series type in
  81039. * the legend. Standalone series are shown in legend by default, and linked
  81040. * series are not. Since v7.2.0 it is possible to show series that use
  81041. * colorAxis by setting this option to `true`.
  81042. */
  81043. showInLegend?: boolean;
  81044. /**
  81045. * (Highstock) If set to `true`, the accessibility module will skip past the
  81046. * points in this series for keyboard navigation.
  81047. */
  81048. skipKeyboardNavigation?: boolean;
  81049. /**
  81050. * (Highcharts, Highstock) When this is true, the series will not cause the
  81051. * Y axis to cross the zero plane (or threshold option) unless the data
  81052. * actually crosses the plane.
  81053. *
  81054. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  81055. * make the Y axis show negative values according to the `minPadding`
  81056. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  81057. */
  81058. softThreshold?: boolean;
  81059. states?: SeriesStatesOptionsObject;
  81060. /**
  81061. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  81062. * values are `left`, `center` and `right`.
  81063. */
  81064. step?: OptionsStepValue;
  81065. /**
  81066. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  81067. * event on a series isn't triggered until the mouse moves over another
  81068. * series, or out of the plot area. When false, the `mouseOut` event on a
  81069. * series is triggered when the mouse leaves the area around the series'
  81070. * graph or markers. This also implies the tooltip when not shared. When
  81071. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  81072. * be hidden when moving the mouse between series. Defaults to true for line
  81073. * and area type series, but to false for columns, pies etc.
  81074. *
  81075. * **Note:** The boost module will force this option because of technical
  81076. * limitations.
  81077. */
  81078. stickyTracking?: boolean;
  81079. /**
  81080. * (Highcharts, Highstock) The threshold, also called zero level or base
  81081. * level. For line type series this is only used in conjunction with
  81082. * negativeColor.
  81083. */
  81084. threshold?: number;
  81085. /**
  81086. * (Highstock) A configuration object for the tooltip rendering of each
  81087. * single series. Properties are inherited from tooltip, but only the
  81088. * following properties can be defined on a series level.
  81089. */
  81090. tooltip?: SeriesTooltipOptionsObject;
  81091. /**
  81092. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  81093. * is longer than this, only one dimensional arrays of numbers, or two
  81094. * dimensional arrays with x and y values are allowed. Also, only the first
  81095. * point is tested, and the rest are assumed to be the same format. This
  81096. * saves expensive data checking and indexing in long series. Set it to `0`
  81097. * disable.
  81098. *
  81099. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  81100. * two dimensional arrays are allowed.
  81101. */
  81102. turboThreshold?: number;
  81103. /**
  81104. * (Highstock) Set the initial visibility of the series.
  81105. */
  81106. visible?: boolean;
  81107. /**
  81108. * (Highmaps) Define the z index of the series.
  81109. */
  81110. zIndex?: number;
  81111. /**
  81112. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  81113. */
  81114. zoneAxis?: string;
  81115. /**
  81116. * (Highcharts, Highstock) An array defining zones within a series. Zones
  81117. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  81118. * the `zoneAxis` option. The zone definitions have to be in ascending order
  81119. * regarding to the value.
  81120. *
  81121. * In styled mode, the color zones are styled with the
  81122. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  81123. * option (view live demo).
  81124. */
  81125. zones?: Array<SeriesZonesOptionsObject>;
  81126. }
  81127. /**
  81128. * (Highstock) Paramters used in calculation of regression series' points.
  81129. */
  81130. export interface PlotSmaParamsOptions {
  81131. /**
  81132. * (Highstock) The point index which indicator calculations will base. For
  81133. * example using OHLC data, index=2 means the indicator will be calculated
  81134. * using Low values.
  81135. */
  81136. index?: number;
  81137. /**
  81138. * (Highstock) The base period for indicator calculations. This is the
  81139. * number of data points which are taken into account for the indicator
  81140. * calculations.
  81141. */
  81142. period?: number;
  81143. }
  81144. /**
  81145. * (Highcharts) Enable or disable the initial animation when a series is
  81146. * displayed. The animation can also be set as a configuration object. Please
  81147. * note that this option only applies to the initial animation of the series
  81148. * itself. For other animations, see chart.animation and the animation parameter
  81149. * under the API methods. The following properties are supported:
  81150. *
  81151. * - `defer`: The animation delay time in milliseconds.
  81152. *
  81153. * - `duration`: The duration of the animation in milliseconds.
  81154. *
  81155. * - `easing`: Can be a string reference to an easing function set on the `Math`
  81156. * object or a function. See the _Custom easing function_ demo below.
  81157. *
  81158. * Due to poor performance, animation is disabled in old IE browsers for several
  81159. * chart types.
  81160. */
  81161. export interface PlotSolidgaugeAnimationOptions {
  81162. defer?: number;
  81163. }
  81164. /**
  81165. * (Highcharts) Enable or disable the initial animation when a series is
  81166. * displayed for the `dataLabels`. The animation can also be set as a
  81167. * configuration object. Please note that this option only applies to the
  81168. * initial animation. For other animations, see chart.animation and the
  81169. * animation parameter under the API methods. The following properties are
  81170. * supported:
  81171. *
  81172. * - `defer`: The animation delay time in milliseconds.
  81173. */
  81174. export interface PlotSolidgaugeDataLabelsAnimationOptions {
  81175. /**
  81176. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  81177. * dataLabel immediately. As `undefined` inherits defer time from the
  81178. * series.animation.defer.
  81179. */
  81180. defer?: number;
  81181. }
  81182. /**
  81183. * (Highcharts) Data labels for the gauge. For gauges, the data labels are
  81184. * enabled by default and shown in a bordered box below the point.
  81185. */
  81186. export interface PlotSolidgaugeDataLabelsOptions {
  81187. /**
  81188. * (Highcharts) The alignment of the data label compared to the point. If
  81189. * `right`, the right side of the label should be touching the point. For
  81190. * points with an extent, like columns, the alignments also dictates how to
  81191. * align it inside the box, as given with the inside option. Can be one of
  81192. * `left`, `center` or `right`.
  81193. */
  81194. align?: (AlignValue|null);
  81195. /**
  81196. * (Highcharts) Whether to allow data labels to overlap. To make the labels
  81197. * less sensitive for overlapping, the dataLabels.padding can be set to 0.
  81198. */
  81199. allowOverlap?: boolean;
  81200. /**
  81201. * (Highcharts) Enable or disable the initial animation when a series is
  81202. * displayed for the `dataLabels`. The animation can also be set as a
  81203. * configuration object. Please note that this option only applies to the
  81204. * initial animation. For other animations, see chart.animation and the
  81205. * animation parameter under the API methods. The following properties are
  81206. * supported:
  81207. *
  81208. * - `defer`: The animation delay time in milliseconds.
  81209. */
  81210. animation?: (boolean|PlotSolidgaugeDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  81211. /**
  81212. * (Highcharts) The background color or gradient for the data label.
  81213. */
  81214. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  81215. /**
  81216. * (Highcharts) The border color for the data label. Defaults to
  81217. * `undefined`.
  81218. */
  81219. borderColor?: string;
  81220. /**
  81221. * (Highcharts) The border radius in pixels for the data label.
  81222. */
  81223. borderRadius?: number;
  81224. /**
  81225. * (Highcharts) The border width in pixels for the data label.
  81226. */
  81227. borderWidth?: number;
  81228. /**
  81229. * (Highcharts) A class name for the data label. Particularly in styled
  81230. * mode, this can be used to give each series' or point's data label unique
  81231. * styling. In addition to this option, a default color class name is added
  81232. * so that we can give the labels a contrast text shadow.
  81233. */
  81234. className?: string;
  81235. /**
  81236. * (Highcharts) The text color for the data labels. Defaults to `undefined`.
  81237. * For certain series types, like column or map, the data labels can be
  81238. * drawn inside the points. In this case the data label will be drawn with
  81239. * maximum contrast by default. Additionally, it will be given a
  81240. * `text-outline` style with the opposite color, to further increase the
  81241. * contrast. This can be overridden by setting the `text-outline` style to
  81242. * `none` in the `dataLabels.style` option.
  81243. */
  81244. color?: (ColorString|GradientColorObject|PatternObject);
  81245. /**
  81246. * (Highcharts) Whether to hide data labels that are outside the plot area.
  81247. * By default, the data label is moved inside the plot area according to the
  81248. * overflow option.
  81249. */
  81250. crop?: boolean;
  81251. /**
  81252. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  81253. * labels until the initial series animation has finished. Setting to
  81254. * `false` renders the data label immediately. If set to `true` inherits the
  81255. * defer time set in plotOptions.series.animation.
  81256. */
  81257. defer?: boolean;
  81258. /**
  81259. * (Highcharts) Enable or disable the data labels.
  81260. */
  81261. enabled?: boolean;
  81262. /**
  81263. * (Highcharts) A declarative filter to control of which data labels to
  81264. * display. The declarative filter is designed for use when callback
  81265. * functions are not available, like when the chart options require a pure
  81266. * JSON structure or for use with graphical editors. For programmatic
  81267. * control, use the `formatter` instead, and return `undefined` to disable a
  81268. * single data label.
  81269. */
  81270. filter?: DataLabelsFilterOptionsObject;
  81271. /**
  81272. * (Highcharts) A format string for the data label. Available variables are
  81273. * the same as for `formatter`.
  81274. */
  81275. format?: string;
  81276. /**
  81277. * (Highcharts) Callback JavaScript function to format the data label. Note
  81278. * that if a `format` is defined, the format takes precedence and the
  81279. * formatter is ignored.
  81280. */
  81281. formatter?: DataLabelsFormatterCallbackFunction;
  81282. /**
  81283. * (Highcharts) For points with an extent, like columns or map areas,
  81284. * whether to align the data label inside the box or to the actual value
  81285. * point. Defaults to `false` in most cases, `true` in stacked columns.
  81286. */
  81287. inside?: boolean;
  81288. /**
  81289. * (Highcharts) Format for points with the value of null. Works analogously
  81290. * to format. `nullFormat` can be applied only to series which support
  81291. * displaying null points.
  81292. */
  81293. nullFormat?: (boolean|string);
  81294. /**
  81295. * (Highcharts) Callback JavaScript function that defines formatting for
  81296. * points with the value of null. Works analogously to formatter.
  81297. * `nullPointFormatter` can be applied only to series which support
  81298. * displaying null points.
  81299. */
  81300. nullFormatter?: DataLabelsFormatterCallbackFunction;
  81301. /**
  81302. * (Highcharts) How to handle data labels that flow outside the plot area.
  81303. * The default is `"justify"`, which aligns them inside the plot area. For
  81304. * columns and bars, this means it will be moved inside the bar. To display
  81305. * data labels outside the plot area, set `crop` to `false` and `overflow`
  81306. * to `"allow"`.
  81307. */
  81308. overflow?: DataLabelsOverflowValue;
  81309. /**
  81310. * (Highcharts) When either the `borderWidth` or the `backgroundColor` is
  81311. * set, this is the padding within the box.
  81312. */
  81313. padding?: number;
  81314. /**
  81315. * (Highcharts) Aligns data labels relative to points. If `center` alignment
  81316. * is not possible, it defaults to `right`.
  81317. */
  81318. position?: AlignValue;
  81319. /**
  81320. * (Highcharts) Text rotation in degrees. Note that due to a more complex
  81321. * structure, backgrounds, borders and padding will be lost on a rotated
  81322. * data label.
  81323. */
  81324. rotation?: number;
  81325. /**
  81326. * (Highcharts) The shadow of the box. Works best with `borderWidth` or
  81327. * `backgroundColor`. Since 2.3 the shadow can be an object configuration
  81328. * containing `color`, `offsetX`, `offsetY`, `opacity` and `width`.
  81329. */
  81330. shadow?: (boolean|ShadowOptionsObject);
  81331. /**
  81332. * (Highcharts) The name of a symbol to use for the border around the label.
  81333. * Symbols are predefined functions on the Renderer object.
  81334. */
  81335. shape?: string;
  81336. /**
  81337. * (Highcharts) Styles for the label. The default `color` setting is
  81338. * `"contrast"`, which is a pseudo color that Highcharts picks up and
  81339. * applies the maximum contrast to the underlying point item, for example
  81340. * the bar in a bar chart.
  81341. *
  81342. * The `textOutline` is a pseudo property that applies an outline of the
  81343. * given width with the given color, which by default is the maximum
  81344. * contrast to the text. So a bright text color will result in a black text
  81345. * outline for maximum readability on a mixed background. In some cases,
  81346. * especially with grayscale text, the text outline doesn't work well, in
  81347. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  81348. * is true, the `textOutline` will not be picked up. In this, case, the same
  81349. * effect can be acheived through the `text-shadow` CSS property.
  81350. *
  81351. * For some series types, where each point has an extent, like for example
  81352. * tree maps, the data label may overflow the point. There are two
  81353. * strategies for handling overflow. By default, the text will wrap to
  81354. * multiple lines. The other strategy is to set `style.textOverflow` to
  81355. * `ellipsis`, which will keep the text on one line plus it will break
  81356. * inside long words.
  81357. */
  81358. style?: CSSObject;
  81359. /**
  81360. * (Highcharts) Options for a label text which should follow marker's shape.
  81361. * Border and background are disabled for a label that follows a path.
  81362. *
  81363. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  81364. * to true will disable this option.
  81365. */
  81366. textPath?: DataLabelsTextPathOptionsObject;
  81367. /**
  81368. * (Highcharts) Whether to use HTML to render the labels.
  81369. */
  81370. useHTML?: boolean;
  81371. /**
  81372. * (Highcharts) The vertical alignment of a data label. Can be one of `top`,
  81373. * `middle` or `bottom`. The default value depends on the data, for instance
  81374. * in a column chart, the label is above positive values and below negative
  81375. * values.
  81376. */
  81377. verticalAlign?: string;
  81378. /**
  81379. * (Highcharts) The x position offset of the label relative to the point in
  81380. * pixels.
  81381. */
  81382. x?: number;
  81383. /**
  81384. * (Highcharts) The y position offset of the label relative to the point in
  81385. * pixels.
  81386. */
  81387. y?: number;
  81388. /**
  81389. * (Highcharts) The Z index of the data labels. The default Z index puts it
  81390. * above the series. Use a Z index of 2 to display it behind the series.
  81391. */
  81392. z?: number;
  81393. zIndex?: number;
  81394. }
  81395. /**
  81396. * (Highcharts) A solid gauge is a circular gauge where the value is indicated
  81397. * by a filled arc, and the color of the arc may variate with the value.
  81398. *
  81399. * In TypeScript the type option must always be set.
  81400. *
  81401. * Configuration options for the series are given in three levels:
  81402. *
  81403. * 1. Options for all series in a chart are defined in the plotOptions.series
  81404. * object.
  81405. *
  81406. * 2. Options for all `solidgauge` series are defined in plotOptions.solidgauge.
  81407. *
  81408. * 3. Options for one single series are given in the series instance array. (see
  81409. * online documentation for example)
  81410. */
  81411. export interface PlotSolidgaugeOptions {
  81412. /**
  81413. * (Highcharts) Accessibility options for a series.
  81414. */
  81415. accessibility?: SeriesAccessibilityOptionsObject;
  81416. /**
  81417. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  81418. * rendered. If `true`, areas which don't correspond to a data point, are
  81419. * rendered as `null` points. If `false`, those areas are skipped.
  81420. */
  81421. allAreas?: boolean;
  81422. /**
  81423. * (Highcharts) Allow this series' points to be selected by clicking on the
  81424. * graphic (columns, point markers, pie slices, map areas etc).
  81425. *
  81426. * The selected points can be handled by point select and unselect events,
  81427. * or collectively by the getSelectedPoints function.
  81428. *
  81429. * And alternative way of selecting points is through dragging.
  81430. */
  81431. allowPointSelect?: boolean;
  81432. /**
  81433. * (Highcharts) Enable or disable the initial animation when a series is
  81434. * displayed. The animation can also be set as a configuration object.
  81435. * Please note that this option only applies to the initial animation of the
  81436. * series itself. For other animations, see chart.animation and the
  81437. * animation parameter under the API methods. The following properties are
  81438. * supported:
  81439. *
  81440. * - `defer`: The animation delay time in milliseconds.
  81441. *
  81442. * - `duration`: The duration of the animation in milliseconds.
  81443. *
  81444. * - `easing`: Can be a string reference to an easing function set on the
  81445. * `Math` object or a function. See the _Custom easing function_ demo below.
  81446. *
  81447. * Due to poor performance, animation is disabled in old IE browsers for
  81448. * several chart types.
  81449. */
  81450. animation?: (boolean|PlotSolidgaugeAnimationOptions|Partial<AnimationOptionsObject>);
  81451. /**
  81452. * (Highmaps) The border color of the map areas.
  81453. *
  81454. * In styled mode, the border stroke is given in the `.highcharts-point`
  81455. * class.
  81456. */
  81457. borderColor?: (ColorString|GradientColorObject|PatternObject);
  81458. /**
  81459. * (Highmaps) The border width of each map area.
  81460. *
  81461. * In styled mode, the border stroke width is given in the
  81462. * `.highcharts-point` class.
  81463. */
  81464. borderWidth?: number;
  81465. /**
  81466. * (Highcharts) An additional class name to apply to the series' graphical
  81467. * elements. This option does not replace default class names of the
  81468. * graphical element.
  81469. */
  81470. className?: string;
  81471. /**
  81472. * (Highcharts) Disable this option to allow series rendering in the whole
  81473. * plotting area.
  81474. *
  81475. * **Note:** Clipping should be always enabled when chart.zoomType is set
  81476. */
  81477. clip?: boolean;
  81478. /**
  81479. * (Highcharts) The main color of the series. In line type series it applies
  81480. * to the line and the point markers unless otherwise specified. In bar type
  81481. * series it applies to the bars unless a color is specified per point. The
  81482. * default value is pulled from the `options.colors` array.
  81483. *
  81484. * In styled mode, the color can be defined by the colorIndex option. Also,
  81485. * the series color can be set with the `.highcharts-series`,
  81486. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  81487. * `.highcharts-series-{n}` class, or individual classes given by the
  81488. * `className` option.
  81489. */
  81490. color?: (ColorString|GradientColorObject|PatternObject);
  81491. /**
  81492. * (Highcharts) Whether to give each point an individual color.
  81493. */
  81494. colorByPoint?: boolean;
  81495. /**
  81496. * (Highcharts) Styled mode only. A specific color index to use for the
  81497. * series, so its graphic representations are given the class name
  81498. * `highcharts-color-{n}`.
  81499. */
  81500. colorIndex?: number;
  81501. /**
  81502. * (Highstock) Compare the values of the series against the first non-null,
  81503. * non- zero value in the visible range. The y axis will show percentage or
  81504. * absolute change depending on whether `compare` is set to `"percent"` or
  81505. * `"value"`. When this is applied to multiple series, it allows comparing
  81506. * the development of the series against each other. Adds a `change` field
  81507. * to every point object.
  81508. */
  81509. compare?: string;
  81510. /**
  81511. * (Highstock) When compare is `percent`, this option dictates whether to
  81512. * use 0 or 100 as the base of comparison.
  81513. */
  81514. compareBase?: (0|100);
  81515. /**
  81516. * (Highstock) Defines if comparison should start from the first point
  81517. * within the visible range or should start from the first point **before**
  81518. * the range.
  81519. *
  81520. * In other words, this flag determines if first point within the visible
  81521. * range will have 0% (`compareStart=true`) or should have been already
  81522. * calculated according to the previous point (`compareStart=false`).
  81523. */
  81524. compareStart?: boolean;
  81525. /**
  81526. * (Gantt) Override Pathfinder connector options for a series. Requires
  81527. * Highcharts Gantt to be loaded.
  81528. */
  81529. connectors?: SeriesConnectorsOptionsObject;
  81530. /**
  81531. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  81532. * rounded to its nearest pixel in order to render sharp on screen. In some
  81533. * cases, when there are a lot of densely packed columns, this leads to
  81534. * visible difference in column widths or distance between columns. In these
  81535. * cases, setting `crisp` to `false` may look better, even though each
  81536. * column is rendered blurry.
  81537. */
  81538. crisp?: boolean;
  81539. /**
  81540. * (Highcharts) You can set the cursor to "pointer" if you have click events
  81541. * attached to the series, to signal to the user that the points and lines
  81542. * can be clicked.
  81543. *
  81544. * In styled mode, the series cursor can be set with the same classes as
  81545. * listed under series.color.
  81546. */
  81547. cursor?: (string|CursorValue);
  81548. /**
  81549. * (Highcharts) A reserved subspace to store options and values for
  81550. * customized functionality. Here you can add additional data for your own
  81551. * event callbacks and formatter callbacks.
  81552. */
  81553. custom?: Dictionary<any>;
  81554. /**
  81555. * (Highstock) Data grouping is the concept of sampling the data values into
  81556. * larger blocks in order to ease readability and increase performance of
  81557. * the JavaScript charts. Highstock by default applies data grouping when
  81558. * the points become closer than a certain pixel value, determined by the
  81559. * `groupPixelWidth` option.
  81560. *
  81561. * If data grouping is applied, the grouping information of grouped points
  81562. * can be read from the Point.dataGroup. If point options other than the
  81563. * data itself are set, for example `name` or `color` or custom properties,
  81564. * the grouping logic doesn't know how to group it. In this case the options
  81565. * of the first point instance are copied over to the group point. This can
  81566. * be altered through a custom `approximation` callback function.
  81567. */
  81568. dataGrouping?: DataGroupingOptionsObject;
  81569. /**
  81570. * (Highcharts) Data labels for the gauge. For gauges, the data labels are
  81571. * enabled by default and shown in a bordered box below the point.
  81572. */
  81573. dataLabels?: (PlotSolidgaugeDataLabelsOptions|Array<PlotSolidgaugeDataLabelsOptions>);
  81574. /**
  81575. * (Highcharts) A description of the series to add to the screen reader
  81576. * information about the series.
  81577. */
  81578. description?: string;
  81579. /**
  81580. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  81581. * This includes point tooltips and click events on graphs and points. For
  81582. * large datasets it improves performance.
  81583. */
  81584. enableMouseTracking?: boolean;
  81585. /**
  81586. * (Highcharts) General event handlers for the series items. These event
  81587. * hooks can also be attached to the series at run time using the
  81588. * `Highcharts.addEvent` function.
  81589. */
  81590. events?: SeriesEventsOptionsObject;
  81591. /**
  81592. * (Highstock) Defines when to display a gap in the graph, together with the
  81593. * gapUnit option.
  81594. *
  81595. * In case when `dataGrouping` is enabled, points can be grouped into a
  81596. * larger time span. This can make the grouped points to have a greater
  81597. * distance than the absolute value of `gapSize` property, which will result
  81598. * in disappearing graph completely. To prevent this situation the mentioned
  81599. * distance between grouped points is used instead of previously defined
  81600. * `gapSize`.
  81601. *
  81602. * In practice, this option is most often used to visualize gaps in time
  81603. * series. In a stock chart, intraday data is available for daytime hours,
  81604. * while gaps will appear in nights and weekends.
  81605. */
  81606. gapSize?: number;
  81607. /**
  81608. * (Highstock) Together with gapSize, this option defines where to draw gaps
  81609. * in the graph.
  81610. *
  81611. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  81612. * if the distance between two points is greater than 5 times that of the
  81613. * two closest points, the graph will be broken.
  81614. *
  81615. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  81616. * values, which on a datetime axis is milliseconds. This also applies to
  81617. * the navigator series that inherits gap options from the base series.
  81618. */
  81619. gapUnit?: OptionsGapUnitValue;
  81620. /**
  81621. * (Highcharts) When set to `false` will prevent the series data from being
  81622. * included in any form of data export.
  81623. *
  81624. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  81625. * `includeInCSVExport`.
  81626. */
  81627. includeInDataExport?: boolean;
  81628. /**
  81629. * (Highcharts) The inner radius for points in a solid gauge. Can be given
  81630. * as a number (pixels) or percentage string.
  81631. */
  81632. innerRadius?: (number|string);
  81633. /**
  81634. * (Highmaps) What property to join the `mapData` to the value data. For
  81635. * example, if joinBy is "code", the mapData items with a specific code is
  81636. * merged into the data with the same code. For maps loaded from GeoJSON,
  81637. * the keys may be held in each point's `properties` object.
  81638. *
  81639. * The joinBy option can also be an array of two values, where the first
  81640. * points to a key in the `mapData`, and the second points to another key in
  81641. * the `data`.
  81642. *
  81643. * When joinBy is `null`, the map items are joined by their position in the
  81644. * array, which performs much better in maps with many data points. This is
  81645. * the recommended option if you are printing more than a thousand data
  81646. * points and have a backend that can preprocess the data into a parallel
  81647. * array of the mapData.
  81648. */
  81649. joinBy?: (string|Array<string>);
  81650. /**
  81651. * (Highcharts) An array specifying which option maps to which key in the
  81652. * data point array. This makes it convenient to work with unstructured data
  81653. * arrays from different sources.
  81654. */
  81655. keys?: Array<string>;
  81656. /**
  81657. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  81658. * series as possible in a natural way, seeking to avoid other series. The
  81659. * goal of this feature is to make the chart more easily readable, like if a
  81660. * human designer placed the labels in the optimal position.
  81661. *
  81662. * The series labels currently work with series types having a `graph` or an
  81663. * `area`.
  81664. */
  81665. label?: SeriesLabelOptionsObject;
  81666. /**
  81667. * (Highstock) The line marks the last price from all points.
  81668. */
  81669. lastPrice?: SeriesLastPriceOptionsObject;
  81670. /**
  81671. * (Highstock) The line marks the last price from visible range of points.
  81672. */
  81673. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  81674. /**
  81675. * (Highcharts) Whether the strokes of the solid gauge should be `round` or
  81676. * `square`.
  81677. */
  81678. linecap?: OptionsLinecapValue;
  81679. /**
  81680. * (Highcharts, Highstock) Pixel width of the graph line.
  81681. */
  81682. lineWidth?: number;
  81683. /**
  81684. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  81685. * Additionally, the value can be ":previous" to link to the previous
  81686. * series. When two series are linked, only the first one appears in the
  81687. * legend. Toggling the visibility of this also toggles the linked series.
  81688. *
  81689. * If master series uses data sorting and linked series does not have its
  81690. * own sorting definition, the linked series will be sorted in the same
  81691. * order as the master one.
  81692. */
  81693. linkedTo?: string;
  81694. /**
  81695. * (Highstock) Options for the corresponding navigator series if
  81696. * `showInNavigator` is `true` for this series. Available options are the
  81697. * same as any series, documented at plotOptions and series.
  81698. *
  81699. * These options are merged with options in navigator.series, and will take
  81700. * precedence if the same option is defined both places.
  81701. */
  81702. navigatorOptions?: PlotSeriesOptions;
  81703. /**
  81704. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  81705. * dataLabels.
  81706. */
  81707. opacity?: number;
  81708. /**
  81709. * (Highcharts) Allow the gauge to overshoot the end of the perimeter axis
  81710. * by this many degrees. Say if the gauge axis goes from 0 to 60, a value of
  81711. * 100, or 1000, will show 5 degrees beyond the end of the axis when this
  81712. * option is set to 5.
  81713. */
  81714. overshoot?: number;
  81715. /**
  81716. * (Highcharts) Properties for each single point.
  81717. */
  81718. point?: PlotSeriesPointOptions;
  81719. /**
  81720. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  81721. * individual series. Overrides the chart wide configuration.
  81722. */
  81723. pointDescriptionFormatter?: Function;
  81724. /**
  81725. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  81726. * a series, `pointInterval` defines the interval of the x values. For
  81727. * example, if a series contains one value every decade starting from year
  81728. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  81729. * `pointInterval` is set in milliseconds.
  81730. *
  81731. * It can be also be combined with `pointIntervalUnit` to draw irregular
  81732. * time intervals.
  81733. *
  81734. * Please note that this options applies to the _series data_, not the
  81735. * interval of the axis ticks, which is independent.
  81736. */
  81737. pointInterval?: number;
  81738. /**
  81739. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  81740. * setting the pointInterval to irregular time units, `day`, `month` and
  81741. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  81742. * also takes the DST crossover into consideration when dealing with local
  81743. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  81744. * months, 10 years etc.
  81745. *
  81746. * Please note that this options applies to the _series data_, not the
  81747. * interval of the axis ticks, which is independent.
  81748. */
  81749. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  81750. /**
  81751. * (Highstock) The width of each point on the x axis. For example in a
  81752. * column chart with one value each day, the pointRange would be 1 day (= 24
  81753. * * 3600
  81754. *
  81755. * * 1000 milliseconds). This is normally computed automatically, but this
  81756. * option can be used to override the automatic value.
  81757. */
  81758. pointRange?: number;
  81759. /**
  81760. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  81761. * a series, pointStart defines on what value to start. For example, if a
  81762. * series contains one yearly value starting from 1945, set pointStart to
  81763. * 1945.
  81764. */
  81765. pointStart?: number;
  81766. /**
  81767. * (Highcharts) The outer radius for points in a solid gauge. Can be given
  81768. * as a number (pixels) or percentage string.
  81769. */
  81770. radius?: (number|string);
  81771. /**
  81772. * (Highcharts) Wether to draw rounded edges on the gauge.
  81773. */
  81774. rounded?: boolean;
  81775. /**
  81776. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  81777. * true, the checkbox next to the series name in the legend will be checked
  81778. * for a selected series.
  81779. */
  81780. selected?: boolean;
  81781. /**
  81782. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  81783. * allow selecting the series. The state of the checkbox is determined by
  81784. * the `selected` option.
  81785. */
  81786. showCheckbox?: boolean;
  81787. /**
  81788. * (Highcharts) Whether to display this particular series or series type in
  81789. * the legend. Defaults to false for gauge series.
  81790. */
  81791. showInLegend?: boolean;
  81792. /**
  81793. * (Highstock) Whether or not to show the series in the navigator. Takes
  81794. * precedence over navigator.baseSeries if defined.
  81795. */
  81796. showInNavigator?: boolean;
  81797. /**
  81798. * (Highcharts) If set to `true`, the accessibility module will skip past
  81799. * the points in this series for keyboard navigation.
  81800. */
  81801. skipKeyboardNavigation?: boolean;
  81802. /**
  81803. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  81804. * event on a series isn't triggered until the mouse moves over another
  81805. * series, or out of the plot area. When false, the `mouseOut` event on a
  81806. * series is triggered when the mouse leaves the area around the series'
  81807. * graph or markers. This also implies the tooltip when not shared. When
  81808. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  81809. * be hidden when moving the mouse between series. Defaults to true for line
  81810. * and area type series, but to false for columns, pies etc.
  81811. *
  81812. * **Note:** The boost module will force this option because of technical
  81813. * limitations.
  81814. */
  81815. stickyTracking?: boolean;
  81816. /**
  81817. * (Highcharts) The threshold or base level for the gauge.
  81818. */
  81819. threshold?: number;
  81820. /**
  81821. * (Highcharts) A configuration object for the tooltip rendering of each
  81822. * single series. Properties are inherited from tooltip, but only the
  81823. * following properties can be defined on a series level.
  81824. */
  81825. tooltip?: SeriesTooltipOptionsObject;
  81826. /**
  81827. * (Highstock) The parameter allows setting line series type and use OHLC
  81828. * indicators. Data in OHLC format is required.
  81829. */
  81830. useOhlcData?: boolean;
  81831. /**
  81832. * (Highcharts) Set the initial visibility of the series.
  81833. */
  81834. visible?: boolean;
  81835. /**
  81836. * (Highmaps) Define the z index of the series.
  81837. */
  81838. zIndex?: number;
  81839. }
  81840. /**
  81841. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  81842. * is displayed. The animation can also be set as a configuration object. Please
  81843. * note that this option only applies to the initial animation of the series
  81844. * itself. For other animations, see chart.animation and the animation parameter
  81845. * under the API methods. The following properties are supported:
  81846. *
  81847. * - `defer`: The animation delay time in milliseconds.
  81848. *
  81849. * - `duration`: The duration of the animation in milliseconds.
  81850. *
  81851. * - `easing`: Can be a string reference to an easing function set on the `Math`
  81852. * object or a function. See the _Custom easing function_ demo below.
  81853. *
  81854. * Due to poor performance, animation is disabled in old IE browsers for several
  81855. * chart types.
  81856. */
  81857. export interface PlotSplineAnimationOptions {
  81858. defer?: number;
  81859. }
  81860. /**
  81861. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  81862. * animation when a series is displayed for the `dataLabels`. The animation can
  81863. * also be set as a configuration object. Please note that this option only
  81864. * applies to the initial animation. For other animations, see chart.animation
  81865. * and the animation parameter under the API methods. The following properties
  81866. * are supported:
  81867. *
  81868. * - `defer`: The animation delay time in milliseconds.
  81869. */
  81870. export interface PlotSplineDataLabelsAnimationOptions {
  81871. /**
  81872. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  81873. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  81874. * inherits defer time from the series.animation.defer.
  81875. */
  81876. defer?: number;
  81877. }
  81878. /**
  81879. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  81880. * appearing next to each data point.
  81881. *
  81882. * Since v6.2.0, multiple data labels can be applied to each single point by
  81883. * defining them as an array of configs.
  81884. *
  81885. * In styled mode, the data labels can be styled with the
  81886. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  81887. * example).
  81888. */
  81889. export interface PlotSplineDataLabelsOptions {
  81890. /**
  81891. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  81892. * compared to the point. If `right`, the right side of the label should be
  81893. * touching the point. For points with an extent, like columns, the
  81894. * alignments also dictates how to align it inside the box, as given with
  81895. * the inside option. Can be one of `left`, `center` or `right`.
  81896. */
  81897. align?: (AlignValue|null);
  81898. /**
  81899. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  81900. * overlap. To make the labels less sensitive for overlapping, the
  81901. * dataLabels.padding can be set to 0.
  81902. */
  81903. allowOverlap?: boolean;
  81904. /**
  81905. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  81906. * animation when a series is displayed for the `dataLabels`. The animation
  81907. * can also be set as a configuration object. Please note that this option
  81908. * only applies to the initial animation. For other animations, see
  81909. * chart.animation and the animation parameter under the API methods. The
  81910. * following properties are supported:
  81911. *
  81912. * - `defer`: The animation delay time in milliseconds.
  81913. */
  81914. animation?: (boolean|PlotSplineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  81915. /**
  81916. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  81917. * for the data label.
  81918. */
  81919. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  81920. /**
  81921. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  81922. * label. Defaults to `undefined`.
  81923. */
  81924. borderColor?: (ColorString|GradientColorObject|PatternObject);
  81925. /**
  81926. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  81927. * the data label.
  81928. */
  81929. borderRadius?: number;
  81930. /**
  81931. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  81932. * the data label.
  81933. */
  81934. borderWidth?: number;
  81935. /**
  81936. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  81937. * Particularly in styled mode, this can be used to give each series' or
  81938. * point's data label unique styling. In addition to this option, a default
  81939. * color class name is added so that we can give the labels a contrast text
  81940. * shadow.
  81941. */
  81942. className?: string;
  81943. /**
  81944. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  81945. * labels. Defaults to `undefined`. For certain series types, like column or
  81946. * map, the data labels can be drawn inside the points. In this case the
  81947. * data label will be drawn with maximum contrast by default. Additionally,
  81948. * it will be given a `text-outline` style with the opposite color, to
  81949. * further increase the contrast. This can be overridden by setting the
  81950. * `text-outline` style to `none` in the `dataLabels.style` option.
  81951. */
  81952. color?: (ColorString|GradientColorObject|PatternObject);
  81953. /**
  81954. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  81955. * are outside the plot area. By default, the data label is moved inside the
  81956. * plot area according to the overflow option.
  81957. */
  81958. crop?: boolean;
  81959. /**
  81960. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  81961. * labels until the initial series animation has finished. Setting to
  81962. * `false` renders the data label immediately. If set to `true` inherits the
  81963. * defer time set in plotOptions.series.animation.
  81964. */
  81965. defer?: boolean;
  81966. /**
  81967. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  81968. * labels.
  81969. */
  81970. enabled?: boolean;
  81971. /**
  81972. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  81973. * of which data labels to display. The declarative filter is designed for
  81974. * use when callback functions are not available, like when the chart
  81975. * options require a pure JSON structure or for use with graphical editors.
  81976. * For programmatic control, use the `formatter` instead, and return
  81977. * `undefined` to disable a single data label.
  81978. */
  81979. filter?: DataLabelsFilterOptionsObject;
  81980. /**
  81981. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  81982. * label. Available variables are the same as for `formatter`.
  81983. */
  81984. format?: string;
  81985. /**
  81986. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  81987. * format the data label. Note that if a `format` is defined, the format
  81988. * takes precedence and the formatter is ignored.
  81989. */
  81990. formatter?: DataLabelsFormatterCallbackFunction;
  81991. /**
  81992. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  81993. * columns or map areas, whether to align the data label inside the box or
  81994. * to the actual value point. Defaults to `false` in most cases, `true` in
  81995. * stacked columns.
  81996. */
  81997. inside?: boolean;
  81998. /**
  81999. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  82000. * of null. Works analogously to format. `nullFormat` can be applied only to
  82001. * series which support displaying null points.
  82002. */
  82003. nullFormat?: (boolean|string);
  82004. /**
  82005. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  82006. * that defines formatting for points with the value of null. Works
  82007. * analogously to formatter. `nullPointFormatter` can be applied only to
  82008. * series which support displaying null points.
  82009. */
  82010. nullFormatter?: DataLabelsFormatterCallbackFunction;
  82011. /**
  82012. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  82013. * flow outside the plot area. The default is `"justify"`, which aligns them
  82014. * inside the plot area. For columns and bars, this means it will be moved
  82015. * inside the bar. To display data labels outside the plot area, set `crop`
  82016. * to `false` and `overflow` to `"allow"`.
  82017. */
  82018. overflow?: DataLabelsOverflowValue;
  82019. /**
  82020. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  82021. * the `backgroundColor` is set, this is the padding within the box.
  82022. */
  82023. padding?: number;
  82024. /**
  82025. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  82026. * points. If `center` alignment is not possible, it defaults to `right`.
  82027. */
  82028. position?: AlignValue;
  82029. /**
  82030. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  82031. * that due to a more complex structure, backgrounds, borders and padding
  82032. * will be lost on a rotated data label.
  82033. */
  82034. rotation?: number;
  82035. /**
  82036. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  82037. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  82038. * an object configuration containing `color`, `offsetX`, `offsetY`,
  82039. * `opacity` and `width`.
  82040. */
  82041. shadow?: (boolean|ShadowOptionsObject);
  82042. /**
  82043. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  82044. * the border around the label. Symbols are predefined functions on the
  82045. * Renderer object.
  82046. */
  82047. shape?: string;
  82048. /**
  82049. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  82050. * default `color` setting is `"contrast"`, which is a pseudo color that
  82051. * Highcharts picks up and applies the maximum contrast to the underlying
  82052. * point item, for example the bar in a bar chart.
  82053. *
  82054. * The `textOutline` is a pseudo property that applies an outline of the
  82055. * given width with the given color, which by default is the maximum
  82056. * contrast to the text. So a bright text color will result in a black text
  82057. * outline for maximum readability on a mixed background. In some cases,
  82058. * especially with grayscale text, the text outline doesn't work well, in
  82059. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  82060. * is true, the `textOutline` will not be picked up. In this, case, the same
  82061. * effect can be acheived through the `text-shadow` CSS property.
  82062. *
  82063. * For some series types, where each point has an extent, like for example
  82064. * tree maps, the data label may overflow the point. There are two
  82065. * strategies for handling overflow. By default, the text will wrap to
  82066. * multiple lines. The other strategy is to set `style.textOverflow` to
  82067. * `ellipsis`, which will keep the text on one line plus it will break
  82068. * inside long words.
  82069. */
  82070. style?: CSSObject;
  82071. /**
  82072. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  82073. * should follow marker's shape. Border and background are disabled for a
  82074. * label that follows a path.
  82075. *
  82076. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  82077. * to true will disable this option.
  82078. */
  82079. textPath?: DataLabelsTextPathOptionsObject;
  82080. /**
  82081. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  82082. * the labels.
  82083. */
  82084. useHTML?: boolean;
  82085. /**
  82086. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  82087. * label. Can be one of `top`, `middle` or `bottom`. The default value
  82088. * depends on the data, for instance in a column chart, the label is above
  82089. * positive values and below negative values.
  82090. */
  82091. verticalAlign?: (VerticalAlignValue|null);
  82092. /**
  82093. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  82094. * label relative to the point in pixels.
  82095. */
  82096. x?: number;
  82097. /**
  82098. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  82099. * label relative to the point in pixels.
  82100. */
  82101. y?: number;
  82102. /**
  82103. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  82104. * The default Z index puts it above the series. Use a Z index of 2 to
  82105. * display it behind the series.
  82106. */
  82107. z?: number;
  82108. }
  82109. /**
  82110. * (Highcharts, Highstock) Options for the series data sorting.
  82111. */
  82112. export interface PlotSplineDataSortingOptions {
  82113. /**
  82114. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  82115. * Use xAxis.reversed to change the sorting order.
  82116. */
  82117. enabled?: boolean;
  82118. /**
  82119. * (Highcharts, Highstock) Whether to allow matching points by name in an
  82120. * update. If this option is disabled, points will be matched by order.
  82121. */
  82122. matchByName?: boolean;
  82123. /**
  82124. * (Highcharts, Highstock) Determines what data value should be used to sort
  82125. * by.
  82126. */
  82127. sortKey?: string;
  82128. }
  82129. /**
  82130. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  82131. * one state by default, the `default` state.
  82132. */
  82133. export interface PlotSplineDragDropGuideBoxOptions {
  82134. /**
  82135. * (Highcharts, Highstock) Style options for the guide box default state.
  82136. */
  82137. default?: DragDropGuideBoxOptionsObject;
  82138. }
  82139. /**
  82140. * (Highcharts, Highstock) A spline series is a special type of line series,
  82141. * where the segments between the data points are smoothed.
  82142. *
  82143. * In TypeScript the type option must always be set.
  82144. *
  82145. * Configuration options for the series are given in three levels:
  82146. *
  82147. * 1. Options for all series in a chart are defined in the plotOptions.series
  82148. * object.
  82149. *
  82150. * 2. Options for all `spline` series are defined in plotOptions.spline.
  82151. *
  82152. * 3. Options for one single series are given in the series instance array. (see
  82153. * online documentation for example)
  82154. */
  82155. export interface PlotSplineOptions {
  82156. /**
  82157. * (Highcharts, Highstock) Accessibility options for a series.
  82158. */
  82159. accessibility?: SeriesAccessibilityOptionsObject;
  82160. /**
  82161. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  82162. * rendered. If `true`, areas which don't correspond to a data point, are
  82163. * rendered as `null` points. If `false`, those areas are skipped.
  82164. */
  82165. allAreas?: boolean;
  82166. /**
  82167. * (Highcharts, Highstock) Allow this series' points to be selected by
  82168. * clicking on the graphic (columns, point markers, pie slices, map areas
  82169. * etc).
  82170. *
  82171. * The selected points can be handled by point select and unselect events,
  82172. * or collectively by the getSelectedPoints function.
  82173. *
  82174. * And alternative way of selecting points is through dragging.
  82175. */
  82176. allowPointSelect?: boolean;
  82177. /**
  82178. * (Highcharts, Highstock) Enable or disable the initial animation when a
  82179. * series is displayed. The animation can also be set as a configuration
  82180. * object. Please note that this option only applies to the initial
  82181. * animation of the series itself. For other animations, see chart.animation
  82182. * and the animation parameter under the API methods. The following
  82183. * properties are supported:
  82184. *
  82185. * - `defer`: The animation delay time in milliseconds.
  82186. *
  82187. * - `duration`: The duration of the animation in milliseconds.
  82188. *
  82189. * - `easing`: Can be a string reference to an easing function set on the
  82190. * `Math` object or a function. See the _Custom easing function_ demo below.
  82191. *
  82192. * Due to poor performance, animation is disabled in old IE browsers for
  82193. * several chart types.
  82194. */
  82195. animation?: (boolean|PlotSplineAnimationOptions|Partial<AnimationOptionsObject>);
  82196. /**
  82197. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  82198. * initial animation by default when the total number of points in the chart
  82199. * is too high. For example, for a column chart and its derivatives,
  82200. * animation does not run if there is more than 250 points totally. To
  82201. * disable this cap, set `animationLimit` to `Infinity`.
  82202. */
  82203. animationLimit?: number;
  82204. /**
  82205. * (Highmaps) The border color of the map areas.
  82206. *
  82207. * In styled mode, the border stroke is given in the `.highcharts-point`
  82208. * class.
  82209. */
  82210. borderColor?: (ColorString|GradientColorObject|PatternObject);
  82211. /**
  82212. * (Highmaps) The border width of each map area.
  82213. *
  82214. * In styled mode, the border stroke width is given in the
  82215. * `.highcharts-point` class.
  82216. */
  82217. borderWidth?: number;
  82218. /**
  82219. * (Highcharts, Highstock) An additional class name to apply to the series'
  82220. * graphical elements. This option does not replace default class names of
  82221. * the graphical element.
  82222. */
  82223. className?: string;
  82224. /**
  82225. * (Highcharts, Highstock) Disable this option to allow series rendering in
  82226. * the whole plotting area.
  82227. *
  82228. * **Note:** Clipping should be always enabled when chart.zoomType is set
  82229. */
  82230. clip?: boolean;
  82231. /**
  82232. * (Highcharts, Highstock) The main color of the series. In line type series
  82233. * it applies to the line and the point markers unless otherwise specified.
  82234. * In bar type series it applies to the bars unless a color is specified per
  82235. * point. The default value is pulled from the `options.colors` array.
  82236. *
  82237. * In styled mode, the color can be defined by the colorIndex option. Also,
  82238. * the series color can be set with the `.highcharts-series`,
  82239. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  82240. * `.highcharts-series-{n}` class, or individual classes given by the
  82241. * `className` option.
  82242. */
  82243. color?: (ColorString|GradientColorObject|PatternObject);
  82244. /**
  82245. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  82246. * this number defines which colorAxis the particular series is connected
  82247. * to. It refers to either the axis id or the index of the axis in the
  82248. * colorAxis array, with 0 being the first. Set this option to false to
  82249. * prevent a series from connecting to the default color axis.
  82250. *
  82251. * Since v7.2.0 the option can also be an axis id or an axis index instead
  82252. * of a boolean flag.
  82253. */
  82254. colorAxis?: (boolean|number|string);
  82255. /**
  82256. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  82257. * for the series, so its graphic representations are given the class name
  82258. * `highcharts-color-{n}`.
  82259. */
  82260. colorIndex?: number;
  82261. /**
  82262. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  82263. * used to calculate point color if `colorAxis` is used. Requires to set
  82264. * `min` and `max` if some custom point property is used or if approximation
  82265. * for data grouping is set to `'sum'`.
  82266. */
  82267. colorKey?: string;
  82268. /**
  82269. * (Highstock) Compare the values of the series against the first non-null,
  82270. * non- zero value in the visible range. The y axis will show percentage or
  82271. * absolute change depending on whether `compare` is set to `"percent"` or
  82272. * `"value"`. When this is applied to multiple series, it allows comparing
  82273. * the development of the series against each other. Adds a `change` field
  82274. * to every point object.
  82275. */
  82276. compare?: string;
  82277. /**
  82278. * (Highstock) When compare is `percent`, this option dictates whether to
  82279. * use 0 or 100 as the base of comparison.
  82280. */
  82281. compareBase?: (0|100);
  82282. /**
  82283. * (Highstock) Defines if comparison should start from the first point
  82284. * within the visible range or should start from the first point **before**
  82285. * the range.
  82286. *
  82287. * In other words, this flag determines if first point within the visible
  82288. * range will have 0% (`compareStart=true`) or should have been already
  82289. * calculated according to the previous point (`compareStart=false`).
  82290. */
  82291. compareStart?: boolean;
  82292. /**
  82293. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  82294. * series plot across the extremes.
  82295. */
  82296. connectEnds?: boolean;
  82297. /**
  82298. * (Highcharts, Highstock) Whether to connect a graph line across null
  82299. * points, or render a gap between the two points on either side of the
  82300. * null.
  82301. */
  82302. connectNulls?: boolean;
  82303. /**
  82304. * (Gantt) Override Pathfinder connector options for a series. Requires
  82305. * Highcharts Gantt to be loaded.
  82306. */
  82307. connectors?: SeriesConnectorsOptionsObject;
  82308. /**
  82309. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  82310. * rounded to its nearest pixel in order to render sharp on screen. In some
  82311. * cases, when there are a lot of densely packed columns, this leads to
  82312. * visible difference in column widths or distance between columns. In these
  82313. * cases, setting `crisp` to `false` may look better, even though each
  82314. * column is rendered blurry.
  82315. */
  82316. crisp?: boolean;
  82317. /**
  82318. * (Highcharts, Highstock) When the series contains less points than the
  82319. * crop threshold, all points are drawn, even if the points fall outside the
  82320. * visible plot area at the current zoom. The advantage of drawing all
  82321. * points (including markers and columns), is that animation is performed on
  82322. * updates. On the other hand, when the series contains more points than the
  82323. * crop threshold, the series data is cropped to only contain points that
  82324. * fall within the plot area. The advantage of cropping away invisible
  82325. * points is to increase performance on large series.
  82326. */
  82327. cropThreshold?: number;
  82328. /**
  82329. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  82330. * click events attached to the series, to signal to the user that the
  82331. * points and lines can be clicked.
  82332. *
  82333. * In styled mode, the series cursor can be set with the same classes as
  82334. * listed under series.color.
  82335. */
  82336. cursor?: (string|CursorValue);
  82337. /**
  82338. * (Highcharts, Highstock) A reserved subspace to store options and values
  82339. * for customized functionality. Here you can add additional data for your
  82340. * own event callbacks and formatter callbacks.
  82341. */
  82342. custom?: Dictionary<any>;
  82343. /**
  82344. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  82345. * for some series types the outline of each shape.
  82346. *
  82347. * In styled mode, the stroke dash-array can be set with the same classes as
  82348. * listed under series.color.
  82349. */
  82350. dashStyle?: DashStyleValue;
  82351. /**
  82352. * (Highstock) Data grouping is the concept of sampling the data values into
  82353. * larger blocks in order to ease readability and increase performance of
  82354. * the JavaScript charts. Highstock by default applies data grouping when
  82355. * the points become closer than a certain pixel value, determined by the
  82356. * `groupPixelWidth` option.
  82357. *
  82358. * If data grouping is applied, the grouping information of grouped points
  82359. * can be read from the Point.dataGroup. If point options other than the
  82360. * data itself are set, for example `name` or `color` or custom properties,
  82361. * the grouping logic doesn't know how to group it. In this case the options
  82362. * of the first point instance are copied over to the group point. This can
  82363. * be altered through a custom `approximation` callback function.
  82364. */
  82365. dataGrouping?: DataGroupingOptionsObject;
  82366. /**
  82367. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  82368. * labels, appearing next to each data point.
  82369. *
  82370. * Since v6.2.0, multiple data labels can be applied to each single point by
  82371. * defining them as an array of configs.
  82372. *
  82373. * In styled mode, the data labels can be styled with the
  82374. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  82375. * (see example).
  82376. */
  82377. dataLabels?: (PlotSplineDataLabelsOptions|Array<PlotSplineDataLabelsOptions>);
  82378. /**
  82379. * (Highcharts, Highstock) Options for the series data sorting.
  82380. */
  82381. dataSorting?: (DataSortingOptionsObject|PlotSplineDataSortingOptions);
  82382. /**
  82383. * (Highcharts, Highstock) A description of the series to add to the screen
  82384. * reader information about the series.
  82385. */
  82386. description?: string;
  82387. /**
  82388. * (Highcharts, Highstock) The draggable-points module allows points to be
  82389. * moved around or modified in the chart. In addition to the options
  82390. * mentioned under the `dragDrop` API structure, the module fires three
  82391. * events, point.dragStart, point.drag and point.drop.
  82392. */
  82393. dragDrop?: SeriesDragDropOptionsObject;
  82394. /**
  82395. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  82396. * specific series. This includes point tooltips and click events on graphs
  82397. * and points. For large datasets it improves performance.
  82398. */
  82399. enableMouseTracking?: boolean;
  82400. /**
  82401. * (Highcharts, Highstock) General event handlers for the series items.
  82402. * These event hooks can also be attached to the series at run time using
  82403. * the `Highcharts.addEvent` function.
  82404. */
  82405. events?: SeriesEventsOptionsObject;
  82406. /**
  82407. * (Highcharts, Highstock) Determines whether the series should look for the
  82408. * nearest point in both dimensions or just the x-dimension when hovering
  82409. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  82410. * other series. If the data has duplicate x-values, it is recommended to
  82411. * set this to `'xy'` to allow hovering over all points.
  82412. *
  82413. * Applies only to series types using nearest neighbor search (not direct
  82414. * hover) for tooltip.
  82415. */
  82416. findNearestPointBy?: OptionsFindNearestPointByValue;
  82417. /**
  82418. * (Highstock) Defines when to display a gap in the graph, together with the
  82419. * gapUnit option.
  82420. *
  82421. * In case when `dataGrouping` is enabled, points can be grouped into a
  82422. * larger time span. This can make the grouped points to have a greater
  82423. * distance than the absolute value of `gapSize` property, which will result
  82424. * in disappearing graph completely. To prevent this situation the mentioned
  82425. * distance between grouped points is used instead of previously defined
  82426. * `gapSize`.
  82427. *
  82428. * In practice, this option is most often used to visualize gaps in time
  82429. * series. In a stock chart, intraday data is available for daytime hours,
  82430. * while gaps will appear in nights and weekends.
  82431. */
  82432. gapSize?: number;
  82433. /**
  82434. * (Highstock) Together with gapSize, this option defines where to draw gaps
  82435. * in the graph.
  82436. *
  82437. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  82438. * if the distance between two points is greater than 5 times that of the
  82439. * two closest points, the graph will be broken.
  82440. *
  82441. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  82442. * values, which on a datetime axis is milliseconds. This also applies to
  82443. * the navigator series that inherits gap options from the base series.
  82444. */
  82445. gapUnit?: OptionsGapUnitValue;
  82446. /**
  82447. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  82448. * chart width or only the zoomed area when zooming in on parts of the X
  82449. * axis. By default, the Y axis adjusts to the min and max of the visible
  82450. * data. Cartesian series only.
  82451. */
  82452. getExtremesFromAll?: boolean;
  82453. /**
  82454. * (Highcharts, Highstock) When set to `false` will prevent the series data
  82455. * from being included in any form of data export.
  82456. *
  82457. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  82458. * `includeInCSVExport`.
  82459. */
  82460. includeInDataExport?: boolean;
  82461. /**
  82462. * (Highmaps) What property to join the `mapData` to the value data. For
  82463. * example, if joinBy is "code", the mapData items with a specific code is
  82464. * merged into the data with the same code. For maps loaded from GeoJSON,
  82465. * the keys may be held in each point's `properties` object.
  82466. *
  82467. * The joinBy option can also be an array of two values, where the first
  82468. * points to a key in the `mapData`, and the second points to another key in
  82469. * the `data`.
  82470. *
  82471. * When joinBy is `null`, the map items are joined by their position in the
  82472. * array, which performs much better in maps with many data points. This is
  82473. * the recommended option if you are printing more than a thousand data
  82474. * points and have a backend that can preprocess the data into a parallel
  82475. * array of the mapData.
  82476. */
  82477. joinBy?: (string|Array<string>);
  82478. /**
  82479. * (Highcharts, Highstock) An array specifying which option maps to which
  82480. * key in the data point array. This makes it convenient to work with
  82481. * unstructured data arrays from different sources.
  82482. */
  82483. keys?: Array<string>;
  82484. /**
  82485. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  82486. * series as possible in a natural way, seeking to avoid other series. The
  82487. * goal of this feature is to make the chart more easily readable, like if a
  82488. * human designer placed the labels in the optimal position.
  82489. *
  82490. * The series labels currently work with series types having a `graph` or an
  82491. * `area`.
  82492. */
  82493. label?: SeriesLabelOptionsObject;
  82494. /**
  82495. * (Highstock) The line marks the last price from all points.
  82496. */
  82497. lastPrice?: SeriesLastPriceOptionsObject;
  82498. /**
  82499. * (Highstock) The line marks the last price from visible range of points.
  82500. */
  82501. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  82502. /**
  82503. * (Highcharts, Highstock) The line cap used for line ends and line joins on
  82504. * the graph.
  82505. */
  82506. linecap?: SeriesLinecapValue;
  82507. /**
  82508. * (Highcharts, Highstock) Pixel width of the graph line.
  82509. */
  82510. lineWidth?: number;
  82511. /**
  82512. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  82513. * Additionally, the value can be ":previous" to link to the previous
  82514. * series. When two series are linked, only the first one appears in the
  82515. * legend. Toggling the visibility of this also toggles the linked series.
  82516. *
  82517. * If master series uses data sorting and linked series does not have its
  82518. * own sorting definition, the linked series will be sorted in the same
  82519. * order as the master one.
  82520. */
  82521. linkedTo?: string;
  82522. /**
  82523. * (Highcharts, Highstock) Options for the point markers of line-like
  82524. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  82525. * the visual appearance of the markers. Other series types, like column
  82526. * series, don't have markers, but have visual options on the series level
  82527. * instead.
  82528. *
  82529. * In styled mode, the markers can be styled with the `.highcharts-point`,
  82530. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  82531. */
  82532. marker?: PointMarkerOptionsObject;
  82533. /**
  82534. * (Highstock) Options for the corresponding navigator series if
  82535. * `showInNavigator` is `true` for this series. Available options are the
  82536. * same as any series, documented at plotOptions and series.
  82537. *
  82538. * These options are merged with options in navigator.series, and will take
  82539. * precedence if the same option is defined both places.
  82540. */
  82541. navigatorOptions?: PlotSeriesOptions;
  82542. /**
  82543. * (Highcharts, Highstock) The color for the parts of the graph or points
  82544. * that are below the threshold. Note that `zones` takes precedence over the
  82545. * negative color. Using `negativeColor` is equivalent to applying a zone
  82546. * with value of 0.
  82547. */
  82548. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  82549. /**
  82550. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  82551. * and dataLabels.
  82552. */
  82553. opacity?: number;
  82554. /**
  82555. * (Highcharts, Highstock) Properties for each single point.
  82556. */
  82557. point?: PlotSeriesPointOptions;
  82558. /**
  82559. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  82560. * but for an individual series. Overrides the chart wide configuration.
  82561. */
  82562. pointDescriptionFormatter?: Function;
  82563. /**
  82564. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  82565. * a series, `pointInterval` defines the interval of the x values. For
  82566. * example, if a series contains one value every decade starting from year
  82567. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  82568. * `pointInterval` is set in milliseconds.
  82569. *
  82570. * It can be also be combined with `pointIntervalUnit` to draw irregular
  82571. * time intervals.
  82572. *
  82573. * Please note that this options applies to the _series data_, not the
  82574. * interval of the axis ticks, which is independent.
  82575. */
  82576. pointInterval?: number;
  82577. /**
  82578. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  82579. * setting the pointInterval to irregular time units, `day`, `month` and
  82580. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  82581. * also takes the DST crossover into consideration when dealing with local
  82582. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  82583. * months, 10 years etc.
  82584. *
  82585. * Please note that this options applies to the _series data_, not the
  82586. * interval of the axis ticks, which is independent.
  82587. */
  82588. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  82589. /**
  82590. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  82591. * `number`.
  82592. *
  82593. * In a column chart, when pointPlacement is `"on"`, the point will not
  82594. * create any padding of the X axis. In a polar column chart this means that
  82595. * the first column points directly north. If the pointPlacement is
  82596. * `"between"`, the columns will be laid out between ticks. This is useful
  82597. * for example for visualising an amount between two points in time or in a
  82598. * certain sector of a polar chart.
  82599. *
  82600. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  82601. * is on the axis value, -0.5 is between this value and the previous, and
  82602. * 0.5 is between this value and the next. Unlike the textual options,
  82603. * numeric point placement options won't affect axis padding.
  82604. *
  82605. * Note that pointPlacement needs a pointRange to work. For column series
  82606. * this is computed, but for line-type series it needs to be set.
  82607. *
  82608. * For the `xrange` series type and gantt charts, if the Y axis is a
  82609. * category axis, the `pointPlacement` applies to the Y axis rather than the
  82610. * (typically datetime) X axis.
  82611. *
  82612. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  82613. */
  82614. pointPlacement?: (number|string);
  82615. /**
  82616. * (Highstock) The width of each point on the x axis. For example in a
  82617. * column chart with one value each day, the pointRange would be 1 day (= 24
  82618. * * 3600
  82619. *
  82620. * * 1000 milliseconds). This is normally computed automatically, but this
  82621. * option can be used to override the automatic value.
  82622. */
  82623. pointRange?: number;
  82624. /**
  82625. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  82626. * a series, pointStart defines on what value to start. For example, if a
  82627. * series contains one yearly value starting from 1945, set pointStart to
  82628. * 1945.
  82629. */
  82630. pointStart?: number;
  82631. /**
  82632. * (Highcharts, Highstock) Whether to select the series initially. If
  82633. * `showCheckbox` is true, the checkbox next to the series name in the
  82634. * legend will be checked for a selected series.
  82635. */
  82636. selected?: boolean;
  82637. /**
  82638. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  82639. * Since 2.3 the shadow can be an object configuration containing `color`,
  82640. * `offsetX`, `offsetY`, `opacity` and `width`.
  82641. */
  82642. shadow?: (boolean|ShadowOptionsObject);
  82643. /**
  82644. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  82645. * legend item to allow selecting the series. The state of the checkbox is
  82646. * determined by the `selected` option.
  82647. */
  82648. showCheckbox?: boolean;
  82649. /**
  82650. * (Highcharts, Highstock) Whether to display this particular series or
  82651. * series type in the legend. Standalone series are shown in legend by
  82652. * default, and linked series are not. Since v7.2.0 it is possible to show
  82653. * series that use colorAxis by setting this option to `true`.
  82654. */
  82655. showInLegend?: boolean;
  82656. /**
  82657. * (Highstock) Whether or not to show the series in the navigator. Takes
  82658. * precedence over navigator.baseSeries if defined.
  82659. */
  82660. showInNavigator?: boolean;
  82661. /**
  82662. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  82663. * skip past the points in this series for keyboard navigation.
  82664. */
  82665. skipKeyboardNavigation?: boolean;
  82666. /**
  82667. * (Highcharts, Highstock) When this is true, the series will not cause the
  82668. * Y axis to cross the zero plane (or threshold option) unless the data
  82669. * actually crosses the plane.
  82670. *
  82671. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  82672. * make the Y axis show negative values according to the `minPadding`
  82673. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  82674. */
  82675. softThreshold?: boolean;
  82676. /**
  82677. * (Highcharts, Highstock) Whether to stack the values of each series on top
  82678. * of each other. Possible values are `undefined` to disable, `"normal"` to
  82679. * stack by value or `"percent"`.
  82680. *
  82681. * When stacking is enabled, data must be sorted in ascending X order.
  82682. *
  82683. * Some stacking options are related to specific series types. In the
  82684. * streamgraph series type, the stacking option is set to `"stream"`. The
  82685. * second one is `"overlap"`, which only applies to waterfall series.
  82686. */
  82687. stacking?: OptionsStackingValue;
  82688. states?: SeriesStatesOptionsObject;
  82689. /**
  82690. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  82691. * `mouseOut` event on a series isn't triggered until the mouse moves over
  82692. * another series, or out of the plot area. When false, the `mouseOut` event
  82693. * on a series is triggered when the mouse leaves the area around the
  82694. * series' graph or markers. This also implies the tooltip when not shared.
  82695. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  82696. * will be hidden when moving the mouse between series. Defaults to true for
  82697. * line and area type series, but to false for columns, pies etc.
  82698. *
  82699. * **Note:** The boost module will force this option because of technical
  82700. * limitations.
  82701. */
  82702. stickyTracking?: boolean;
  82703. /**
  82704. * (Highcharts, Highstock) The threshold, also called zero level or base
  82705. * level. For line type series this is only used in conjunction with
  82706. * negativeColor.
  82707. */
  82708. threshold?: number;
  82709. /**
  82710. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  82711. * of each single series. Properties are inherited from tooltip, but only
  82712. * the following properties can be defined on a series level.
  82713. */
  82714. tooltip?: SeriesTooltipOptionsObject;
  82715. /**
  82716. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  82717. * is longer than this, only one dimensional arrays of numbers, or two
  82718. * dimensional arrays with x and y values are allowed. Also, only the first
  82719. * point is tested, and the rest are assumed to be the same format. This
  82720. * saves expensive data checking and indexing in long series. Set it to `0`
  82721. * disable.
  82722. *
  82723. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  82724. * two dimensional arrays are allowed.
  82725. */
  82726. turboThreshold?: number;
  82727. /**
  82728. * (Highcharts, Highstock) Set the initial visibility of the series.
  82729. */
  82730. visible?: boolean;
  82731. /**
  82732. * (Highmaps) Define the z index of the series.
  82733. */
  82734. zIndex?: number;
  82735. /**
  82736. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  82737. */
  82738. zoneAxis?: string;
  82739. /**
  82740. * (Highcharts, Highstock) An array defining zones within a series. Zones
  82741. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  82742. * the `zoneAxis` option. The zone definitions have to be in ascending order
  82743. * regarding to the value.
  82744. *
  82745. * In styled mode, the color zones are styled with the
  82746. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  82747. * option (view live demo).
  82748. */
  82749. zones?: Array<SeriesZonesOptionsObject>;
  82750. }
  82751. /**
  82752. * (Highstock) Enable or disable the initial animation when a series is
  82753. * displayed. The animation can also be set as a configuration object. Please
  82754. * note that this option only applies to the initial animation of the series
  82755. * itself. For other animations, see chart.animation and the animation parameter
  82756. * under the API methods. The following properties are supported:
  82757. *
  82758. * - `defer`: The animation delay time in milliseconds.
  82759. *
  82760. * - `duration`: The duration of the animation in milliseconds.
  82761. *
  82762. * - `easing`: Can be a string reference to an easing function set on the `Math`
  82763. * object or a function. See the _Custom easing function_ demo below.
  82764. *
  82765. * Due to poor performance, animation is disabled in old IE browsers for several
  82766. * chart types.
  82767. */
  82768. export interface PlotStochasticAnimationOptions {
  82769. defer?: number;
  82770. }
  82771. /**
  82772. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  82773. * animation when a series is displayed for the `dataLabels`. The animation can
  82774. * also be set as a configuration object. Please note that this option only
  82775. * applies to the initial animation. For other animations, see chart.animation
  82776. * and the animation parameter under the API methods. The following properties
  82777. * are supported:
  82778. *
  82779. * - `defer`: The animation delay time in milliseconds.
  82780. */
  82781. export interface PlotStochasticDataLabelsAnimationOptions {
  82782. /**
  82783. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  82784. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  82785. * inherits defer time from the series.animation.defer.
  82786. */
  82787. defer?: number;
  82788. }
  82789. /**
  82790. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  82791. * appearing next to each data point.
  82792. *
  82793. * Since v6.2.0, multiple data labels can be applied to each single point by
  82794. * defining them as an array of configs.
  82795. *
  82796. * In styled mode, the data labels can be styled with the
  82797. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  82798. * example).
  82799. */
  82800. export interface PlotStochasticDataLabelsOptions {
  82801. /**
  82802. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  82803. * compared to the point. If `right`, the right side of the label should be
  82804. * touching the point. For points with an extent, like columns, the
  82805. * alignments also dictates how to align it inside the box, as given with
  82806. * the inside option. Can be one of `left`, `center` or `right`.
  82807. */
  82808. align?: (AlignValue|null);
  82809. /**
  82810. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  82811. * overlap. To make the labels less sensitive for overlapping, the
  82812. * dataLabels.padding can be set to 0.
  82813. */
  82814. allowOverlap?: boolean;
  82815. /**
  82816. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  82817. * animation when a series is displayed for the `dataLabels`. The animation
  82818. * can also be set as a configuration object. Please note that this option
  82819. * only applies to the initial animation. For other animations, see
  82820. * chart.animation and the animation parameter under the API methods. The
  82821. * following properties are supported:
  82822. *
  82823. * - `defer`: The animation delay time in milliseconds.
  82824. */
  82825. animation?: (boolean|PlotStochasticDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  82826. /**
  82827. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  82828. * for the data label.
  82829. */
  82830. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  82831. /**
  82832. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  82833. * label. Defaults to `undefined`.
  82834. */
  82835. borderColor?: (ColorString|GradientColorObject|PatternObject);
  82836. /**
  82837. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  82838. * the data label.
  82839. */
  82840. borderRadius?: number;
  82841. /**
  82842. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  82843. * the data label.
  82844. */
  82845. borderWidth?: number;
  82846. /**
  82847. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  82848. * Particularly in styled mode, this can be used to give each series' or
  82849. * point's data label unique styling. In addition to this option, a default
  82850. * color class name is added so that we can give the labels a contrast text
  82851. * shadow.
  82852. */
  82853. className?: string;
  82854. /**
  82855. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  82856. * labels. Defaults to `undefined`. For certain series types, like column or
  82857. * map, the data labels can be drawn inside the points. In this case the
  82858. * data label will be drawn with maximum contrast by default. Additionally,
  82859. * it will be given a `text-outline` style with the opposite color, to
  82860. * further increase the contrast. This can be overridden by setting the
  82861. * `text-outline` style to `none` in the `dataLabels.style` option.
  82862. */
  82863. color?: (ColorString|GradientColorObject|PatternObject);
  82864. /**
  82865. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  82866. * are outside the plot area. By default, the data label is moved inside the
  82867. * plot area according to the overflow option.
  82868. */
  82869. crop?: boolean;
  82870. /**
  82871. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  82872. * labels until the initial series animation has finished. Setting to
  82873. * `false` renders the data label immediately. If set to `true` inherits the
  82874. * defer time set in plotOptions.series.animation.
  82875. */
  82876. defer?: boolean;
  82877. /**
  82878. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  82879. * labels.
  82880. */
  82881. enabled?: boolean;
  82882. /**
  82883. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  82884. * of which data labels to display. The declarative filter is designed for
  82885. * use when callback functions are not available, like when the chart
  82886. * options require a pure JSON structure or for use with graphical editors.
  82887. * For programmatic control, use the `formatter` instead, and return
  82888. * `undefined` to disable a single data label.
  82889. */
  82890. filter?: DataLabelsFilterOptionsObject;
  82891. /**
  82892. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  82893. * label. Available variables are the same as for `formatter`.
  82894. */
  82895. format?: string;
  82896. /**
  82897. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  82898. * format the data label. Note that if a `format` is defined, the format
  82899. * takes precedence and the formatter is ignored.
  82900. */
  82901. formatter?: DataLabelsFormatterCallbackFunction;
  82902. /**
  82903. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  82904. * columns or map areas, whether to align the data label inside the box or
  82905. * to the actual value point. Defaults to `false` in most cases, `true` in
  82906. * stacked columns.
  82907. */
  82908. inside?: boolean;
  82909. /**
  82910. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  82911. * of null. Works analogously to format. `nullFormat` can be applied only to
  82912. * series which support displaying null points.
  82913. */
  82914. nullFormat?: (boolean|string);
  82915. /**
  82916. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  82917. * that defines formatting for points with the value of null. Works
  82918. * analogously to formatter. `nullPointFormatter` can be applied only to
  82919. * series which support displaying null points.
  82920. */
  82921. nullFormatter?: DataLabelsFormatterCallbackFunction;
  82922. /**
  82923. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  82924. * flow outside the plot area. The default is `"justify"`, which aligns them
  82925. * inside the plot area. For columns and bars, this means it will be moved
  82926. * inside the bar. To display data labels outside the plot area, set `crop`
  82927. * to `false` and `overflow` to `"allow"`.
  82928. */
  82929. overflow?: DataLabelsOverflowValue;
  82930. /**
  82931. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  82932. * the `backgroundColor` is set, this is the padding within the box.
  82933. */
  82934. padding?: number;
  82935. /**
  82936. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  82937. * points. If `center` alignment is not possible, it defaults to `right`.
  82938. */
  82939. position?: AlignValue;
  82940. /**
  82941. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  82942. * that due to a more complex structure, backgrounds, borders and padding
  82943. * will be lost on a rotated data label.
  82944. */
  82945. rotation?: number;
  82946. /**
  82947. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  82948. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  82949. * an object configuration containing `color`, `offsetX`, `offsetY`,
  82950. * `opacity` and `width`.
  82951. */
  82952. shadow?: (boolean|ShadowOptionsObject);
  82953. /**
  82954. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  82955. * the border around the label. Symbols are predefined functions on the
  82956. * Renderer object.
  82957. */
  82958. shape?: string;
  82959. /**
  82960. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  82961. * default `color` setting is `"contrast"`, which is a pseudo color that
  82962. * Highcharts picks up and applies the maximum contrast to the underlying
  82963. * point item, for example the bar in a bar chart.
  82964. *
  82965. * The `textOutline` is a pseudo property that applies an outline of the
  82966. * given width with the given color, which by default is the maximum
  82967. * contrast to the text. So a bright text color will result in a black text
  82968. * outline for maximum readability on a mixed background. In some cases,
  82969. * especially with grayscale text, the text outline doesn't work well, in
  82970. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  82971. * is true, the `textOutline` will not be picked up. In this, case, the same
  82972. * effect can be acheived through the `text-shadow` CSS property.
  82973. *
  82974. * For some series types, where each point has an extent, like for example
  82975. * tree maps, the data label may overflow the point. There are two
  82976. * strategies for handling overflow. By default, the text will wrap to
  82977. * multiple lines. The other strategy is to set `style.textOverflow` to
  82978. * `ellipsis`, which will keep the text on one line plus it will break
  82979. * inside long words.
  82980. */
  82981. style?: CSSObject;
  82982. /**
  82983. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  82984. * should follow marker's shape. Border and background are disabled for a
  82985. * label that follows a path.
  82986. *
  82987. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  82988. * to true will disable this option.
  82989. */
  82990. textPath?: DataLabelsTextPathOptionsObject;
  82991. /**
  82992. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  82993. * the labels.
  82994. */
  82995. useHTML?: boolean;
  82996. /**
  82997. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  82998. * label. Can be one of `top`, `middle` or `bottom`. The default value
  82999. * depends on the data, for instance in a column chart, the label is above
  83000. * positive values and below negative values.
  83001. */
  83002. verticalAlign?: (VerticalAlignValue|null);
  83003. /**
  83004. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  83005. * label relative to the point in pixels.
  83006. */
  83007. x?: number;
  83008. /**
  83009. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  83010. * label relative to the point in pixels.
  83011. */
  83012. y?: number;
  83013. /**
  83014. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  83015. * The default Z index puts it above the series. Use a Z index of 2 to
  83016. * display it behind the series.
  83017. */
  83018. z?: number;
  83019. }
  83020. /**
  83021. * (Highcharts, Highstock) Options for the series data sorting.
  83022. */
  83023. export interface PlotStochasticDataSortingOptions {
  83024. /**
  83025. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  83026. * Use xAxis.reversed to change the sorting order.
  83027. */
  83028. enabled?: boolean;
  83029. /**
  83030. * (Highcharts, Highstock) Whether to allow matching points by name in an
  83031. * update. If this option is disabled, points will be matched by order.
  83032. */
  83033. matchByName?: boolean;
  83034. /**
  83035. * (Highcharts, Highstock) Determines what data value should be used to sort
  83036. * by.
  83037. */
  83038. sortKey?: string;
  83039. }
  83040. /**
  83041. * (Highstock) Stochastic oscillator. This series requires the `linkedTo` option
  83042. * to be set and should be loaded after the `stock/indicators/indicators.js`
  83043. * file.
  83044. *
  83045. * In TypeScript the type option must always be set.
  83046. *
  83047. * Configuration options for the series are given in three levels:
  83048. *
  83049. * 1. Options for all series in a chart are defined in the plotOptions.series
  83050. * object.
  83051. *
  83052. * 2. Options for all `stochastic` series are defined in plotOptions.stochastic.
  83053. *
  83054. * 3. Options for one single series are given in the series instance array. (see
  83055. * online documentation for example)
  83056. */
  83057. export interface PlotStochasticOptions {
  83058. /**
  83059. * (Highstock) Accessibility options for a series.
  83060. */
  83061. accessibility?: SeriesAccessibilityOptionsObject;
  83062. /**
  83063. * (Highstock) Allow this series' points to be selected by clicking on the
  83064. * graphic (columns, point markers, pie slices, map areas etc).
  83065. *
  83066. * The selected points can be handled by point select and unselect events,
  83067. * or collectively by the getSelectedPoints function.
  83068. *
  83069. * And alternative way of selecting points is through dragging.
  83070. */
  83071. allowPointSelect?: boolean;
  83072. /**
  83073. * (Highstock) Enable or disable the initial animation when a series is
  83074. * displayed. The animation can also be set as a configuration object.
  83075. * Please note that this option only applies to the initial animation of the
  83076. * series itself. For other animations, see chart.animation and the
  83077. * animation parameter under the API methods. The following properties are
  83078. * supported:
  83079. *
  83080. * - `defer`: The animation delay time in milliseconds.
  83081. *
  83082. * - `duration`: The duration of the animation in milliseconds.
  83083. *
  83084. * - `easing`: Can be a string reference to an easing function set on the
  83085. * `Math` object or a function. See the _Custom easing function_ demo below.
  83086. *
  83087. * Due to poor performance, animation is disabled in old IE browsers for
  83088. * several chart types.
  83089. */
  83090. animation?: (boolean|PlotStochasticAnimationOptions|Partial<AnimationOptionsObject>);
  83091. /**
  83092. * (Highstock) For some series, there is a limit that shuts down initial
  83093. * animation by default when the total number of points in the chart is too
  83094. * high. For example, for a column chart and its derivatives, animation does
  83095. * not run if there is more than 250 points totally. To disable this cap,
  83096. * set `animationLimit` to `Infinity`.
  83097. */
  83098. animationLimit?: number;
  83099. /**
  83100. * (Highstock) Sets the color blending in the boost module.
  83101. */
  83102. boostBlending?: OptionsBoostBlendingValue;
  83103. /**
  83104. * (Highstock) Set the point threshold for when a series should enter boost
  83105. * mode.
  83106. *
  83107. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  83108. * there are 2000 or more points in the series.
  83109. *
  83110. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  83111. * it to 1 will force boosting.
  83112. *
  83113. * Note that the cropThreshold also affects this setting. When zooming in on
  83114. * a series that has fewer points than the `cropThreshold`, all points are
  83115. * rendered although outside the visible plot area, and the `boostThreshold`
  83116. * won't take effect.
  83117. */
  83118. boostThreshold?: number;
  83119. /**
  83120. * (Highmaps) The border color of the map areas.
  83121. *
  83122. * In styled mode, the border stroke is given in the `.highcharts-point`
  83123. * class.
  83124. */
  83125. borderColor?: (ColorString|GradientColorObject|PatternObject);
  83126. /**
  83127. * (Highmaps) The border width of each map area.
  83128. *
  83129. * In styled mode, the border stroke width is given in the
  83130. * `.highcharts-point` class.
  83131. */
  83132. borderWidth?: number;
  83133. /**
  83134. * (Highstock) An additional class name to apply to the series' graphical
  83135. * elements. This option does not replace default class names of the
  83136. * graphical element.
  83137. */
  83138. className?: string;
  83139. /**
  83140. * (Highstock) Disable this option to allow series rendering in the whole
  83141. * plotting area.
  83142. *
  83143. * **Note:** Clipping should be always enabled when chart.zoomType is set
  83144. */
  83145. clip?: boolean;
  83146. /**
  83147. * (Highstock) The main color of the series. In line type series it applies
  83148. * to the line and the point markers unless otherwise specified. In bar type
  83149. * series it applies to the bars unless a color is specified per point. The
  83150. * default value is pulled from the `options.colors` array.
  83151. *
  83152. * In styled mode, the color can be defined by the colorIndex option. Also,
  83153. * the series color can be set with the `.highcharts-series`,
  83154. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  83155. * `.highcharts-series-{n}` class, or individual classes given by the
  83156. * `className` option.
  83157. */
  83158. color?: (ColorString|GradientColorObject|PatternObject);
  83159. /**
  83160. * (Highstock) Styled mode only. A specific color index to use for the
  83161. * series, so its graphic representations are given the class name
  83162. * `highcharts-color-{n}`.
  83163. */
  83164. colorIndex?: number;
  83165. /**
  83166. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  83167. * used to calculate point color if `colorAxis` is used. Requires to set
  83168. * `min` and `max` if some custom point property is used or if approximation
  83169. * for data grouping is set to `'sum'`.
  83170. */
  83171. colorKey?: string;
  83172. /**
  83173. * (Highstock) Compare the values of the series against the first non-null,
  83174. * non- zero value in the visible range. The y axis will show percentage or
  83175. * absolute change depending on whether `compare` is set to `"percent"` or
  83176. * `"value"`. When this is applied to multiple series, it allows comparing
  83177. * the development of the series against each other. Adds a `change` field
  83178. * to every point object.
  83179. */
  83180. compare?: string;
  83181. /**
  83182. * (Highstock) When compare is `percent`, this option dictates whether to
  83183. * use 0 or 100 as the base of comparison.
  83184. */
  83185. compareBase?: (0|100);
  83186. /**
  83187. * (Highstock) Defines if comparison should start from the first point
  83188. * within the visible range or should start from the first point **before**
  83189. * the range.
  83190. *
  83191. * In other words, this flag determines if first point within the visible
  83192. * range will have 0% (`compareStart=true`) or should have been already
  83193. * calculated according to the previous point (`compareStart=false`).
  83194. */
  83195. compareStart?: boolean;
  83196. /**
  83197. * (Highstock) Whether to compare indicator to the main series values or
  83198. * indicator values.
  83199. */
  83200. compareToMain?: boolean;
  83201. /**
  83202. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  83203. * series plot across the extremes.
  83204. */
  83205. connectEnds?: boolean;
  83206. /**
  83207. * (Highcharts, Highstock) Whether to connect a graph line across null
  83208. * points, or render a gap between the two points on either side of the
  83209. * null.
  83210. */
  83211. connectNulls?: boolean;
  83212. /**
  83213. * (Gantt) Override Pathfinder connector options for a series. Requires
  83214. * Highcharts Gantt to be loaded.
  83215. */
  83216. connectors?: SeriesConnectorsOptionsObject;
  83217. /**
  83218. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  83219. * rounded to its nearest pixel in order to render sharp on screen. In some
  83220. * cases, when there are a lot of densely packed columns, this leads to
  83221. * visible difference in column widths or distance between columns. In these
  83222. * cases, setting `crisp` to `false` may look better, even though each
  83223. * column is rendered blurry.
  83224. */
  83225. crisp?: boolean;
  83226. /**
  83227. * (Highcharts, Highstock) When the series contains less points than the
  83228. * crop threshold, all points are drawn, even if the points fall outside the
  83229. * visible plot area at the current zoom. The advantage of drawing all
  83230. * points (including markers and columns), is that animation is performed on
  83231. * updates. On the other hand, when the series contains more points than the
  83232. * crop threshold, the series data is cropped to only contain points that
  83233. * fall within the plot area. The advantage of cropping away invisible
  83234. * points is to increase performance on large series.
  83235. */
  83236. cropThreshold?: number;
  83237. /**
  83238. * (Highstock) You can set the cursor to "pointer" if you have click events
  83239. * attached to the series, to signal to the user that the points and lines
  83240. * can be clicked.
  83241. *
  83242. * In styled mode, the series cursor can be set with the same classes as
  83243. * listed under series.color.
  83244. */
  83245. cursor?: (string|CursorValue);
  83246. /**
  83247. * (Highstock) A reserved subspace to store options and values for
  83248. * customized functionality. Here you can add additional data for your own
  83249. * event callbacks and formatter callbacks.
  83250. */
  83251. custom?: Dictionary<any>;
  83252. /**
  83253. * (Highstock) Name of the dash style to use for the graph, or for some
  83254. * series types the outline of each shape.
  83255. *
  83256. * In styled mode, the stroke dash-array can be set with the same classes as
  83257. * listed under series.color.
  83258. */
  83259. dashStyle?: DashStyleValue;
  83260. /**
  83261. * (Highstock) Data grouping is the concept of sampling the data values into
  83262. * larger blocks in order to ease readability and increase performance of
  83263. * the JavaScript charts. Highstock by default applies data grouping when
  83264. * the points become closer than a certain pixel value, determined by the
  83265. * `groupPixelWidth` option.
  83266. *
  83267. * If data grouping is applied, the grouping information of grouped points
  83268. * can be read from the Point.dataGroup. If point options other than the
  83269. * data itself are set, for example `name` or `color` or custom properties,
  83270. * the grouping logic doesn't know how to group it. In this case the options
  83271. * of the first point instance are copied over to the group point. This can
  83272. * be altered through a custom `approximation` callback function.
  83273. */
  83274. dataGrouping?: DataGroupingOptionsObject;
  83275. /**
  83276. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  83277. * labels, appearing next to each data point.
  83278. *
  83279. * Since v6.2.0, multiple data labels can be applied to each single point by
  83280. * defining them as an array of configs.
  83281. *
  83282. * In styled mode, the data labels can be styled with the
  83283. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  83284. * (see example).
  83285. */
  83286. dataLabels?: (PlotStochasticDataLabelsOptions|Array<PlotStochasticDataLabelsOptions>);
  83287. /**
  83288. * (Highcharts, Highstock) Options for the series data sorting.
  83289. */
  83290. dataSorting?: (DataSortingOptionsObject|PlotStochasticDataSortingOptions);
  83291. /**
  83292. * (Highstock) A description of the series to add to the screen reader
  83293. * information about the series.
  83294. */
  83295. description?: string;
  83296. /**
  83297. * (Highstock) Enable or disable the mouse tracking for a specific series.
  83298. * This includes point tooltips and click events on graphs and points. For
  83299. * large datasets it improves performance.
  83300. */
  83301. enableMouseTracking?: boolean;
  83302. /**
  83303. * (Highstock) General event handlers for the series items. These event
  83304. * hooks can also be attached to the series at run time using the
  83305. * `Highcharts.addEvent` function.
  83306. */
  83307. events?: SeriesEventsOptionsObject;
  83308. /**
  83309. * (Highstock) Determines whether the series should look for the nearest
  83310. * point in both dimensions or just the x-dimension when hovering the
  83311. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  83312. * series. If the data has duplicate x-values, it is recommended to set this
  83313. * to `'xy'` to allow hovering over all points.
  83314. *
  83315. * Applies only to series types using nearest neighbor search (not direct
  83316. * hover) for tooltip.
  83317. */
  83318. findNearestPointBy?: OptionsFindNearestPointByValue;
  83319. /**
  83320. * (Highstock) Defines when to display a gap in the graph, together with the
  83321. * gapUnit option.
  83322. *
  83323. * In case when `dataGrouping` is enabled, points can be grouped into a
  83324. * larger time span. This can make the grouped points to have a greater
  83325. * distance than the absolute value of `gapSize` property, which will result
  83326. * in disappearing graph completely. To prevent this situation the mentioned
  83327. * distance between grouped points is used instead of previously defined
  83328. * `gapSize`.
  83329. *
  83330. * In practice, this option is most often used to visualize gaps in time
  83331. * series. In a stock chart, intraday data is available for daytime hours,
  83332. * while gaps will appear in nights and weekends.
  83333. */
  83334. gapSize?: number;
  83335. /**
  83336. * (Highstock) Together with gapSize, this option defines where to draw gaps
  83337. * in the graph.
  83338. *
  83339. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  83340. * if the distance between two points is greater than 5 times that of the
  83341. * two closest points, the graph will be broken.
  83342. *
  83343. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  83344. * values, which on a datetime axis is milliseconds. This also applies to
  83345. * the navigator series that inherits gap options from the base series.
  83346. */
  83347. gapUnit?: OptionsGapUnitValue;
  83348. /**
  83349. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  83350. * chart width or only the zoomed area when zooming in on parts of the X
  83351. * axis. By default, the Y axis adjusts to the min and max of the visible
  83352. * data. Cartesian series only.
  83353. */
  83354. getExtremesFromAll?: boolean;
  83355. /**
  83356. * (Highstock) When set to `false` will prevent the series data from being
  83357. * included in any form of data export.
  83358. *
  83359. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  83360. * `includeInCSVExport`.
  83361. */
  83362. includeInDataExport?: boolean;
  83363. /**
  83364. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  83365. * series as possible in a natural way, seeking to avoid other series. The
  83366. * goal of this feature is to make the chart more easily readable, like if a
  83367. * human designer placed the labels in the optimal position.
  83368. *
  83369. * The series labels currently work with series types having a `graph` or an
  83370. * `area`.
  83371. */
  83372. label?: SeriesLabelOptionsObject;
  83373. /**
  83374. * (Highstock) The line marks the last price from all points.
  83375. */
  83376. lastPrice?: SeriesLastPriceOptionsObject;
  83377. /**
  83378. * (Highstock) The line marks the last price from visible range of points.
  83379. */
  83380. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  83381. /**
  83382. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  83383. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  83384. * the ends and bends.
  83385. */
  83386. linecap?: SeriesLinecapValue;
  83387. /**
  83388. * (Highcharts, Highstock) Pixel width of the graph line.
  83389. */
  83390. lineWidth?: number;
  83391. /**
  83392. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  83393. * based on. Required for this indicator.
  83394. */
  83395. linkedTo?: string;
  83396. /**
  83397. * (Highstock) Options for the point markers of line-like series. Properties
  83398. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  83399. * appearance of the markers. Other series types, like column series, don't
  83400. * have markers, but have visual options on the series level instead.
  83401. *
  83402. * In styled mode, the markers can be styled with the `.highcharts-point`,
  83403. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  83404. */
  83405. marker?: PointMarkerOptionsObject;
  83406. /**
  83407. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  83408. * If not set, it will be based on a technical indicator type and default
  83409. * params.
  83410. */
  83411. name?: string;
  83412. /**
  83413. * (Highstock) The color for the parts of the graph or points that are below
  83414. * the threshold. Note that `zones` takes precedence over the negative
  83415. * color. Using `negativeColor` is equivalent to applying a zone with value
  83416. * of 0.
  83417. */
  83418. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  83419. /**
  83420. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  83421. * dataLabels.
  83422. */
  83423. opacity?: number;
  83424. /**
  83425. * (Highstock) Paramters used in calculation of regression series' points.
  83426. */
  83427. params?: PlotStochasticParamsOptions;
  83428. /**
  83429. * (Highstock) Properties for each single point.
  83430. */
  83431. point?: PlotSeriesPointOptions;
  83432. /**
  83433. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  83434. * individual series. Overrides the chart wide configuration.
  83435. */
  83436. pointDescriptionFormatter?: Function;
  83437. /**
  83438. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  83439. * true, the checkbox next to the series name in the legend will be checked
  83440. * for a selected series.
  83441. */
  83442. selected?: boolean;
  83443. /**
  83444. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  83445. * the shadow can be an object configuration containing `color`, `offsetX`,
  83446. * `offsetY`, `opacity` and `width`.
  83447. */
  83448. shadow?: (boolean|ShadowOptionsObject);
  83449. /**
  83450. * (Highstock) If true, a checkbox is displayed next to the legend item to
  83451. * allow selecting the series. The state of the checkbox is determined by
  83452. * the `selected` option.
  83453. */
  83454. showCheckbox?: boolean;
  83455. /**
  83456. * (Highstock) Whether to display this particular series or series type in
  83457. * the legend. Standalone series are shown in legend by default, and linked
  83458. * series are not. Since v7.2.0 it is possible to show series that use
  83459. * colorAxis by setting this option to `true`.
  83460. */
  83461. showInLegend?: boolean;
  83462. /**
  83463. * (Highstock) If set to `true`, the accessibility module will skip past the
  83464. * points in this series for keyboard navigation.
  83465. */
  83466. skipKeyboardNavigation?: boolean;
  83467. /**
  83468. * (Highstock) Smoothed line options.
  83469. */
  83470. smoothedLine?: PlotStochasticSmoothedLineOptions;
  83471. /**
  83472. * (Highcharts, Highstock) When this is true, the series will not cause the
  83473. * Y axis to cross the zero plane (or threshold option) unless the data
  83474. * actually crosses the plane.
  83475. *
  83476. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  83477. * make the Y axis show negative values according to the `minPadding`
  83478. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  83479. */
  83480. softThreshold?: boolean;
  83481. states?: SeriesStatesOptionsObject;
  83482. /**
  83483. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  83484. * values are `left`, `center` and `right`.
  83485. */
  83486. step?: OptionsStepValue;
  83487. /**
  83488. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  83489. * event on a series isn't triggered until the mouse moves over another
  83490. * series, or out of the plot area. When false, the `mouseOut` event on a
  83491. * series is triggered when the mouse leaves the area around the series'
  83492. * graph or markers. This also implies the tooltip when not shared. When
  83493. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  83494. * be hidden when moving the mouse between series. Defaults to true for line
  83495. * and area type series, but to false for columns, pies etc.
  83496. *
  83497. * **Note:** The boost module will force this option because of technical
  83498. * limitations.
  83499. */
  83500. stickyTracking?: boolean;
  83501. /**
  83502. * (Highcharts, Highstock) The threshold, also called zero level or base
  83503. * level. For line type series this is only used in conjunction with
  83504. * negativeColor.
  83505. */
  83506. threshold?: number;
  83507. /**
  83508. * (Highstock) A configuration object for the tooltip rendering of each
  83509. * single series. Properties are inherited from tooltip, but only the
  83510. * following properties can be defined on a series level.
  83511. */
  83512. tooltip?: SeriesTooltipOptionsObject;
  83513. /**
  83514. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  83515. * is longer than this, only one dimensional arrays of numbers, or two
  83516. * dimensional arrays with x and y values are allowed. Also, only the first
  83517. * point is tested, and the rest are assumed to be the same format. This
  83518. * saves expensive data checking and indexing in long series. Set it to `0`
  83519. * disable.
  83520. *
  83521. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  83522. * two dimensional arrays are allowed.
  83523. */
  83524. turboThreshold?: number;
  83525. /**
  83526. * (Highstock) Set the initial visibility of the series.
  83527. */
  83528. visible?: boolean;
  83529. /**
  83530. * (Highmaps) Define the z index of the series.
  83531. */
  83532. zIndex?: number;
  83533. /**
  83534. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  83535. */
  83536. zoneAxis?: string;
  83537. /**
  83538. * (Highcharts, Highstock) An array defining zones within a series. Zones
  83539. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  83540. * the `zoneAxis` option. The zone definitions have to be in ascending order
  83541. * regarding to the value.
  83542. *
  83543. * In styled mode, the color zones are styled with the
  83544. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  83545. * option (view live demo).
  83546. */
  83547. zones?: Array<SeriesZonesOptionsObject>;
  83548. }
  83549. /**
  83550. * (Highstock) Paramters used in calculation of regression series' points.
  83551. */
  83552. export interface PlotStochasticParamsOptions {
  83553. /**
  83554. * (Highstock) Periods for Stochastic oscillator: [%K, %D].
  83555. */
  83556. periods?: [number, number];
  83557. }
  83558. /**
  83559. * (Highstock) Smoothed line options.
  83560. */
  83561. export interface PlotStochasticSmoothedLineOptions {
  83562. /**
  83563. * (Highstock) Styles for a smoothed line.
  83564. */
  83565. styles?: PlotStochasticSmoothedLineStylesOptions;
  83566. }
  83567. /**
  83568. * (Highstock) Styles for a smoothed line.
  83569. */
  83570. export interface PlotStochasticSmoothedLineStylesOptions {
  83571. /**
  83572. * (Highstock) Color of the line. If not set, it's inherited from
  83573. * plotOptions.stochastic.color.
  83574. */
  83575. lineColor?: ColorString;
  83576. /**
  83577. * (Highstock) Pixel width of the line.
  83578. */
  83579. lineWidth?: number;
  83580. }
  83581. /**
  83582. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  83583. * is displayed. The animation can also be set as a configuration object. Please
  83584. * note that this option only applies to the initial animation of the series
  83585. * itself. For other animations, see chart.animation and the animation parameter
  83586. * under the API methods. The following properties are supported:
  83587. *
  83588. * - `defer`: The animation delay time in milliseconds.
  83589. *
  83590. * - `duration`: The duration of the animation in milliseconds.
  83591. *
  83592. * - `easing`: Can be a string reference to an easing function set on the `Math`
  83593. * object or a function. See the _Custom easing function_ demo below.
  83594. *
  83595. * Due to poor performance, animation is disabled in old IE browsers for several
  83596. * chart types.
  83597. */
  83598. export interface PlotStreamgraphAnimationOptions {
  83599. defer?: number;
  83600. }
  83601. /**
  83602. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  83603. * animation when a series is displayed for the `dataLabels`. The animation can
  83604. * also be set as a configuration object. Please note that this option only
  83605. * applies to the initial animation. For other animations, see chart.animation
  83606. * and the animation parameter under the API methods. The following properties
  83607. * are supported:
  83608. *
  83609. * - `defer`: The animation delay time in milliseconds.
  83610. */
  83611. export interface PlotStreamgraphDataLabelsAnimationOptions {
  83612. /**
  83613. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  83614. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  83615. * inherits defer time from the series.animation.defer.
  83616. */
  83617. defer?: number;
  83618. }
  83619. /**
  83620. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  83621. * appearing next to each data point.
  83622. *
  83623. * Since v6.2.0, multiple data labels can be applied to each single point by
  83624. * defining them as an array of configs.
  83625. *
  83626. * In styled mode, the data labels can be styled with the
  83627. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  83628. * example).
  83629. */
  83630. export interface PlotStreamgraphDataLabelsOptions {
  83631. /**
  83632. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  83633. * compared to the point. If `right`, the right side of the label should be
  83634. * touching the point. For points with an extent, like columns, the
  83635. * alignments also dictates how to align it inside the box, as given with
  83636. * the inside option. Can be one of `left`, `center` or `right`.
  83637. */
  83638. align?: (AlignValue|null);
  83639. /**
  83640. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  83641. * overlap. To make the labels less sensitive for overlapping, the
  83642. * dataLabels.padding can be set to 0.
  83643. */
  83644. allowOverlap?: boolean;
  83645. /**
  83646. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  83647. * animation when a series is displayed for the `dataLabels`. The animation
  83648. * can also be set as a configuration object. Please note that this option
  83649. * only applies to the initial animation. For other animations, see
  83650. * chart.animation and the animation parameter under the API methods. The
  83651. * following properties are supported:
  83652. *
  83653. * - `defer`: The animation delay time in milliseconds.
  83654. */
  83655. animation?: (boolean|PlotStreamgraphDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  83656. /**
  83657. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  83658. * for the data label.
  83659. */
  83660. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  83661. /**
  83662. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  83663. * label. Defaults to `undefined`.
  83664. */
  83665. borderColor?: (ColorString|GradientColorObject|PatternObject);
  83666. /**
  83667. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  83668. * the data label.
  83669. */
  83670. borderRadius?: number;
  83671. /**
  83672. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  83673. * the data label.
  83674. */
  83675. borderWidth?: number;
  83676. /**
  83677. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  83678. * Particularly in styled mode, this can be used to give each series' or
  83679. * point's data label unique styling. In addition to this option, a default
  83680. * color class name is added so that we can give the labels a contrast text
  83681. * shadow.
  83682. */
  83683. className?: string;
  83684. /**
  83685. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  83686. * labels. Defaults to `undefined`. For certain series types, like column or
  83687. * map, the data labels can be drawn inside the points. In this case the
  83688. * data label will be drawn with maximum contrast by default. Additionally,
  83689. * it will be given a `text-outline` style with the opposite color, to
  83690. * further increase the contrast. This can be overridden by setting the
  83691. * `text-outline` style to `none` in the `dataLabels.style` option.
  83692. */
  83693. color?: (ColorString|GradientColorObject|PatternObject);
  83694. /**
  83695. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  83696. * are outside the plot area. By default, the data label is moved inside the
  83697. * plot area according to the overflow option.
  83698. */
  83699. crop?: boolean;
  83700. /**
  83701. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  83702. * labels until the initial series animation has finished. Setting to
  83703. * `false` renders the data label immediately. If set to `true` inherits the
  83704. * defer time set in plotOptions.series.animation.
  83705. */
  83706. defer?: boolean;
  83707. /**
  83708. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  83709. * labels.
  83710. */
  83711. enabled?: boolean;
  83712. /**
  83713. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  83714. * of which data labels to display. The declarative filter is designed for
  83715. * use when callback functions are not available, like when the chart
  83716. * options require a pure JSON structure or for use with graphical editors.
  83717. * For programmatic control, use the `formatter` instead, and return
  83718. * `undefined` to disable a single data label.
  83719. */
  83720. filter?: DataLabelsFilterOptionsObject;
  83721. /**
  83722. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  83723. * label. Available variables are the same as for `formatter`.
  83724. */
  83725. format?: string;
  83726. /**
  83727. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  83728. * format the data label. Note that if a `format` is defined, the format
  83729. * takes precedence and the formatter is ignored.
  83730. */
  83731. formatter?: DataLabelsFormatterCallbackFunction;
  83732. /**
  83733. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  83734. * columns or map areas, whether to align the data label inside the box or
  83735. * to the actual value point. Defaults to `false` in most cases, `true` in
  83736. * stacked columns.
  83737. */
  83738. inside?: boolean;
  83739. /**
  83740. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  83741. * of null. Works analogously to format. `nullFormat` can be applied only to
  83742. * series which support displaying null points.
  83743. */
  83744. nullFormat?: (boolean|string);
  83745. /**
  83746. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  83747. * that defines formatting for points with the value of null. Works
  83748. * analogously to formatter. `nullPointFormatter` can be applied only to
  83749. * series which support displaying null points.
  83750. */
  83751. nullFormatter?: DataLabelsFormatterCallbackFunction;
  83752. /**
  83753. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  83754. * flow outside the plot area. The default is `"justify"`, which aligns them
  83755. * inside the plot area. For columns and bars, this means it will be moved
  83756. * inside the bar. To display data labels outside the plot area, set `crop`
  83757. * to `false` and `overflow` to `"allow"`.
  83758. */
  83759. overflow?: DataLabelsOverflowValue;
  83760. /**
  83761. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  83762. * the `backgroundColor` is set, this is the padding within the box.
  83763. */
  83764. padding?: number;
  83765. /**
  83766. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  83767. * points. If `center` alignment is not possible, it defaults to `right`.
  83768. */
  83769. position?: AlignValue;
  83770. /**
  83771. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  83772. * that due to a more complex structure, backgrounds, borders and padding
  83773. * will be lost on a rotated data label.
  83774. */
  83775. rotation?: number;
  83776. /**
  83777. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  83778. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  83779. * an object configuration containing `color`, `offsetX`, `offsetY`,
  83780. * `opacity` and `width`.
  83781. */
  83782. shadow?: (boolean|ShadowOptionsObject);
  83783. /**
  83784. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  83785. * the border around the label. Symbols are predefined functions on the
  83786. * Renderer object.
  83787. */
  83788. shape?: string;
  83789. /**
  83790. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  83791. * default `color` setting is `"contrast"`, which is a pseudo color that
  83792. * Highcharts picks up and applies the maximum contrast to the underlying
  83793. * point item, for example the bar in a bar chart.
  83794. *
  83795. * The `textOutline` is a pseudo property that applies an outline of the
  83796. * given width with the given color, which by default is the maximum
  83797. * contrast to the text. So a bright text color will result in a black text
  83798. * outline for maximum readability on a mixed background. In some cases,
  83799. * especially with grayscale text, the text outline doesn't work well, in
  83800. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  83801. * is true, the `textOutline` will not be picked up. In this, case, the same
  83802. * effect can be acheived through the `text-shadow` CSS property.
  83803. *
  83804. * For some series types, where each point has an extent, like for example
  83805. * tree maps, the data label may overflow the point. There are two
  83806. * strategies for handling overflow. By default, the text will wrap to
  83807. * multiple lines. The other strategy is to set `style.textOverflow` to
  83808. * `ellipsis`, which will keep the text on one line plus it will break
  83809. * inside long words.
  83810. */
  83811. style?: CSSObject;
  83812. /**
  83813. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  83814. * should follow marker's shape. Border and background are disabled for a
  83815. * label that follows a path.
  83816. *
  83817. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  83818. * to true will disable this option.
  83819. */
  83820. textPath?: DataLabelsTextPathOptionsObject;
  83821. /**
  83822. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  83823. * the labels.
  83824. */
  83825. useHTML?: boolean;
  83826. /**
  83827. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  83828. * label. Can be one of `top`, `middle` or `bottom`. The default value
  83829. * depends on the data, for instance in a column chart, the label is above
  83830. * positive values and below negative values.
  83831. */
  83832. verticalAlign?: (VerticalAlignValue|null);
  83833. /**
  83834. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  83835. * label relative to the point in pixels.
  83836. */
  83837. x?: number;
  83838. /**
  83839. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  83840. * label relative to the point in pixels.
  83841. */
  83842. y?: number;
  83843. /**
  83844. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  83845. * The default Z index puts it above the series. Use a Z index of 2 to
  83846. * display it behind the series.
  83847. */
  83848. z?: number;
  83849. }
  83850. /**
  83851. * (Highcharts, Highstock) Options for the series data sorting.
  83852. */
  83853. export interface PlotStreamgraphDataSortingOptions {
  83854. /**
  83855. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  83856. * Use xAxis.reversed to change the sorting order.
  83857. */
  83858. enabled?: boolean;
  83859. /**
  83860. * (Highcharts, Highstock) Whether to allow matching points by name in an
  83861. * update. If this option is disabled, points will be matched by order.
  83862. */
  83863. matchByName?: boolean;
  83864. /**
  83865. * (Highcharts, Highstock) Determines what data value should be used to sort
  83866. * by.
  83867. */
  83868. sortKey?: string;
  83869. }
  83870. /**
  83871. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  83872. * one state by default, the `default` state.
  83873. */
  83874. export interface PlotStreamgraphDragDropGuideBoxOptions {
  83875. /**
  83876. * (Highcharts, Highstock) Style options for the guide box default state.
  83877. */
  83878. default?: DragDropGuideBoxOptionsObject;
  83879. }
  83880. /**
  83881. * (Highcharts, Highstock) A streamgraph is a type of stacked area graph which
  83882. * is displaced around a central axis, resulting in a flowing, organic shape.
  83883. *
  83884. * In TypeScript the type option must always be set.
  83885. *
  83886. * Configuration options for the series are given in three levels:
  83887. *
  83888. * 1. Options for all series in a chart are defined in the plotOptions.series
  83889. * object.
  83890. *
  83891. * 2. Options for all `streamgraph` series are defined in
  83892. * plotOptions.streamgraph.
  83893. *
  83894. * 3. Options for one single series are given in the series instance array. (see
  83895. * online documentation for example)
  83896. */
  83897. export interface PlotStreamgraphOptions {
  83898. /**
  83899. * (Highcharts, Highstock) Accessibility options for a series.
  83900. */
  83901. accessibility?: SeriesAccessibilityOptionsObject;
  83902. /**
  83903. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  83904. * rendered. If `true`, areas which don't correspond to a data point, are
  83905. * rendered as `null` points. If `false`, those areas are skipped.
  83906. */
  83907. allAreas?: boolean;
  83908. /**
  83909. * (Highcharts, Highstock) Allow this series' points to be selected by
  83910. * clicking on the graphic (columns, point markers, pie slices, map areas
  83911. * etc).
  83912. *
  83913. * The selected points can be handled by point select and unselect events,
  83914. * or collectively by the getSelectedPoints function.
  83915. *
  83916. * And alternative way of selecting points is through dragging.
  83917. */
  83918. allowPointSelect?: boolean;
  83919. /**
  83920. * (Highcharts, Highstock) Enable or disable the initial animation when a
  83921. * series is displayed. The animation can also be set as a configuration
  83922. * object. Please note that this option only applies to the initial
  83923. * animation of the series itself. For other animations, see chart.animation
  83924. * and the animation parameter under the API methods. The following
  83925. * properties are supported:
  83926. *
  83927. * - `defer`: The animation delay time in milliseconds.
  83928. *
  83929. * - `duration`: The duration of the animation in milliseconds.
  83930. *
  83931. * - `easing`: Can be a string reference to an easing function set on the
  83932. * `Math` object or a function. See the _Custom easing function_ demo below.
  83933. *
  83934. * Due to poor performance, animation is disabled in old IE browsers for
  83935. * several chart types.
  83936. */
  83937. animation?: (boolean|PlotStreamgraphAnimationOptions|Partial<AnimationOptionsObject>);
  83938. /**
  83939. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  83940. * initial animation by default when the total number of points in the chart
  83941. * is too high. For example, for a column chart and its derivatives,
  83942. * animation does not run if there is more than 250 points totally. To
  83943. * disable this cap, set `animationLimit` to `Infinity`.
  83944. */
  83945. animationLimit?: number;
  83946. /**
  83947. * (Highmaps) The border color of the map areas.
  83948. *
  83949. * In styled mode, the border stroke is given in the `.highcharts-point`
  83950. * class.
  83951. */
  83952. borderColor?: (ColorString|GradientColorObject|PatternObject);
  83953. /**
  83954. * (Highmaps) The border width of each map area.
  83955. *
  83956. * In styled mode, the border stroke width is given in the
  83957. * `.highcharts-point` class.
  83958. */
  83959. borderWidth?: number;
  83960. /**
  83961. * (Highcharts, Highstock) An additional class name to apply to the series'
  83962. * graphical elements. This option does not replace default class names of
  83963. * the graphical element.
  83964. */
  83965. className?: string;
  83966. /**
  83967. * (Highcharts, Highstock) Disable this option to allow series rendering in
  83968. * the whole plotting area.
  83969. *
  83970. * **Note:** Clipping should be always enabled when chart.zoomType is set
  83971. */
  83972. clip?: boolean;
  83973. /**
  83974. * (Highcharts, Highstock) The main color of the series. In line type series
  83975. * it applies to the line and the point markers unless otherwise specified.
  83976. * In bar type series it applies to the bars unless a color is specified per
  83977. * point. The default value is pulled from the `options.colors` array.
  83978. *
  83979. * In styled mode, the color can be defined by the colorIndex option. Also,
  83980. * the series color can be set with the `.highcharts-series`,
  83981. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  83982. * `.highcharts-series-{n}` class, or individual classes given by the
  83983. * `className` option.
  83984. */
  83985. color?: (ColorString|GradientColorObject|PatternObject);
  83986. /**
  83987. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  83988. * this number defines which colorAxis the particular series is connected
  83989. * to. It refers to either the axis id or the index of the axis in the
  83990. * colorAxis array, with 0 being the first. Set this option to false to
  83991. * prevent a series from connecting to the default color axis.
  83992. *
  83993. * Since v7.2.0 the option can also be an axis id or an axis index instead
  83994. * of a boolean flag.
  83995. */
  83996. colorAxis?: (boolean|number|string);
  83997. /**
  83998. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  83999. * for the series, so its graphic representations are given the class name
  84000. * `highcharts-color-{n}`.
  84001. */
  84002. colorIndex?: number;
  84003. /**
  84004. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  84005. * used to calculate point color if `colorAxis` is used. Requires to set
  84006. * `min` and `max` if some custom point property is used or if approximation
  84007. * for data grouping is set to `'sum'`.
  84008. */
  84009. colorKey?: string;
  84010. /**
  84011. * (Highstock) Compare the values of the series against the first non-null,
  84012. * non- zero value in the visible range. The y axis will show percentage or
  84013. * absolute change depending on whether `compare` is set to `"percent"` or
  84014. * `"value"`. When this is applied to multiple series, it allows comparing
  84015. * the development of the series against each other. Adds a `change` field
  84016. * to every point object.
  84017. */
  84018. compare?: string;
  84019. /**
  84020. * (Highstock) When compare is `percent`, this option dictates whether to
  84021. * use 0 or 100 as the base of comparison.
  84022. */
  84023. compareBase?: (0|100);
  84024. /**
  84025. * (Highstock) Defines if comparison should start from the first point
  84026. * within the visible range or should start from the first point **before**
  84027. * the range.
  84028. *
  84029. * In other words, this flag determines if first point within the visible
  84030. * range will have 0% (`compareStart=true`) or should have been already
  84031. * calculated according to the previous point (`compareStart=false`).
  84032. */
  84033. compareStart?: boolean;
  84034. /**
  84035. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  84036. * series plot across the extremes.
  84037. */
  84038. connectEnds?: boolean;
  84039. /**
  84040. * (Highcharts, Highstock) Whether to connect a graph line across null
  84041. * points, or render a gap between the two points on either side of the
  84042. * null.
  84043. */
  84044. connectNulls?: boolean;
  84045. /**
  84046. * (Gantt) Override Pathfinder connector options for a series. Requires
  84047. * Highcharts Gantt to be loaded.
  84048. */
  84049. connectors?: SeriesConnectorsOptionsObject;
  84050. /**
  84051. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  84052. * rounded to its nearest pixel in order to render sharp on screen. In some
  84053. * cases, when there are a lot of densely packed columns, this leads to
  84054. * visible difference in column widths or distance between columns. In these
  84055. * cases, setting `crisp` to `false` may look better, even though each
  84056. * column is rendered blurry.
  84057. */
  84058. crisp?: boolean;
  84059. /**
  84060. * (Highcharts, Highstock) When the series contains less points than the
  84061. * crop threshold, all points are drawn, even if the points fall outside the
  84062. * visible plot area at the current zoom. The advantage of drawing all
  84063. * points (including markers and columns), is that animation is performed on
  84064. * updates. On the other hand, when the series contains more points than the
  84065. * crop threshold, the series data is cropped to only contain points that
  84066. * fall within the plot area. The advantage of cropping away invisible
  84067. * points is to increase performance on large series.
  84068. */
  84069. cropThreshold?: number;
  84070. /**
  84071. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  84072. * click events attached to the series, to signal to the user that the
  84073. * points and lines can be clicked.
  84074. *
  84075. * In styled mode, the series cursor can be set with the same classes as
  84076. * listed under series.color.
  84077. */
  84078. cursor?: (string|CursorValue);
  84079. /**
  84080. * (Highcharts, Highstock) A reserved subspace to store options and values
  84081. * for customized functionality. Here you can add additional data for your
  84082. * own event callbacks and formatter callbacks.
  84083. */
  84084. custom?: Dictionary<any>;
  84085. /**
  84086. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  84087. * for some series types the outline of each shape.
  84088. *
  84089. * In styled mode, the stroke dash-array can be set with the same classes as
  84090. * listed under series.color.
  84091. */
  84092. dashStyle?: DashStyleValue;
  84093. /**
  84094. * (Highstock) Data grouping is the concept of sampling the data values into
  84095. * larger blocks in order to ease readability and increase performance of
  84096. * the JavaScript charts. Highstock by default applies data grouping when
  84097. * the points become closer than a certain pixel value, determined by the
  84098. * `groupPixelWidth` option.
  84099. *
  84100. * If data grouping is applied, the grouping information of grouped points
  84101. * can be read from the Point.dataGroup. If point options other than the
  84102. * data itself are set, for example `name` or `color` or custom properties,
  84103. * the grouping logic doesn't know how to group it. In this case the options
  84104. * of the first point instance are copied over to the group point. This can
  84105. * be altered through a custom `approximation` callback function.
  84106. */
  84107. dataGrouping?: DataGroupingOptionsObject;
  84108. /**
  84109. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  84110. * labels, appearing next to each data point.
  84111. *
  84112. * Since v6.2.0, multiple data labels can be applied to each single point by
  84113. * defining them as an array of configs.
  84114. *
  84115. * In styled mode, the data labels can be styled with the
  84116. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  84117. * (see example).
  84118. */
  84119. dataLabels?: (PlotStreamgraphDataLabelsOptions|Array<PlotStreamgraphDataLabelsOptions>);
  84120. /**
  84121. * (Highcharts, Highstock) Options for the series data sorting.
  84122. */
  84123. dataSorting?: (DataSortingOptionsObject|PlotStreamgraphDataSortingOptions);
  84124. /**
  84125. * (Highcharts, Highstock) A description of the series to add to the screen
  84126. * reader information about the series.
  84127. */
  84128. description?: string;
  84129. /**
  84130. * (Highcharts, Highstock) The draggable-points module allows points to be
  84131. * moved around or modified in the chart. In addition to the options
  84132. * mentioned under the `dragDrop` API structure, the module fires three
  84133. * events, point.dragStart, point.drag and point.drop.
  84134. */
  84135. dragDrop?: SeriesDragDropOptionsObject;
  84136. /**
  84137. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  84138. * specific series. This includes point tooltips and click events on graphs
  84139. * and points. For large datasets it improves performance.
  84140. */
  84141. enableMouseTracking?: boolean;
  84142. /**
  84143. * (Highcharts, Highstock) General event handlers for the series items.
  84144. * These event hooks can also be attached to the series at run time using
  84145. * the `Highcharts.addEvent` function.
  84146. */
  84147. events?: SeriesEventsOptionsObject;
  84148. /**
  84149. * (Highcharts, Highstock) Fill color or gradient for the area. When `null`,
  84150. * the series' `color` is used with the series' `fillOpacity`.
  84151. *
  84152. * In styled mode, the fill color can be set with the `.highcharts-area`
  84153. * class name.
  84154. */
  84155. fillColor?: (ColorString|GradientColorObject|PatternObject);
  84156. /**
  84157. * (Highcharts, Highstock) Fill opacity for the area. When you set an
  84158. * explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
  84159. * should define the opacity in the `fillColor` with an rgba color
  84160. * definition. The `fillOpacity` setting, also the default setting,
  84161. * overrides the alpha component of the `color` setting.
  84162. *
  84163. * In styled mode, the fill opacity can be set with the `.highcharts-area`
  84164. * class name.
  84165. */
  84166. fillOpacity?: number;
  84167. /**
  84168. * (Highcharts, Highstock) Determines whether the series should look for the
  84169. * nearest point in both dimensions or just the x-dimension when hovering
  84170. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  84171. * other series. If the data has duplicate x-values, it is recommended to
  84172. * set this to `'xy'` to allow hovering over all points.
  84173. *
  84174. * Applies only to series types using nearest neighbor search (not direct
  84175. * hover) for tooltip.
  84176. */
  84177. findNearestPointBy?: OptionsFindNearestPointByValue;
  84178. /**
  84179. * (Highstock) Defines when to display a gap in the graph, together with the
  84180. * gapUnit option.
  84181. *
  84182. * In case when `dataGrouping` is enabled, points can be grouped into a
  84183. * larger time span. This can make the grouped points to have a greater
  84184. * distance than the absolute value of `gapSize` property, which will result
  84185. * in disappearing graph completely. To prevent this situation the mentioned
  84186. * distance between grouped points is used instead of previously defined
  84187. * `gapSize`.
  84188. *
  84189. * In practice, this option is most often used to visualize gaps in time
  84190. * series. In a stock chart, intraday data is available for daytime hours,
  84191. * while gaps will appear in nights and weekends.
  84192. */
  84193. gapSize?: number;
  84194. /**
  84195. * (Highstock) Together with gapSize, this option defines where to draw gaps
  84196. * in the graph.
  84197. *
  84198. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  84199. * if the distance between two points is greater than 5 times that of the
  84200. * two closest points, the graph will be broken.
  84201. *
  84202. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  84203. * values, which on a datetime axis is milliseconds. This also applies to
  84204. * the navigator series that inherits gap options from the base series.
  84205. */
  84206. gapUnit?: OptionsGapUnitValue;
  84207. /**
  84208. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  84209. * chart width or only the zoomed area when zooming in on parts of the X
  84210. * axis. By default, the Y axis adjusts to the min and max of the visible
  84211. * data. Cartesian series only.
  84212. */
  84213. getExtremesFromAll?: boolean;
  84214. /**
  84215. * (Highcharts, Highstock) When set to `false` will prevent the series data
  84216. * from being included in any form of data export.
  84217. *
  84218. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  84219. * `includeInCSVExport`.
  84220. */
  84221. includeInDataExport?: boolean;
  84222. /**
  84223. * (Highmaps) What property to join the `mapData` to the value data. For
  84224. * example, if joinBy is "code", the mapData items with a specific code is
  84225. * merged into the data with the same code. For maps loaded from GeoJSON,
  84226. * the keys may be held in each point's `properties` object.
  84227. *
  84228. * The joinBy option can also be an array of two values, where the first
  84229. * points to a key in the `mapData`, and the second points to another key in
  84230. * the `data`.
  84231. *
  84232. * When joinBy is `null`, the map items are joined by their position in the
  84233. * array, which performs much better in maps with many data points. This is
  84234. * the recommended option if you are printing more than a thousand data
  84235. * points and have a backend that can preprocess the data into a parallel
  84236. * array of the mapData.
  84237. */
  84238. joinBy?: (string|Array<string>);
  84239. /**
  84240. * (Highcharts, Highstock) An array specifying which option maps to which
  84241. * key in the data point array. This makes it convenient to work with
  84242. * unstructured data arrays from different sources.
  84243. */
  84244. keys?: Array<string>;
  84245. /**
  84246. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  84247. * series as possible in a natural way, seeking to avoid other series. The
  84248. * goal of this feature is to make the chart more easily readable, like if a
  84249. * human designer placed the labels in the optimal position.
  84250. *
  84251. * The series labels currently work with series types having a `graph` or an
  84252. * `area`.
  84253. */
  84254. label?: SeriesLabelOptionsObject;
  84255. /**
  84256. * (Highstock) The line marks the last price from all points.
  84257. */
  84258. lastPrice?: SeriesLastPriceOptionsObject;
  84259. /**
  84260. * (Highstock) The line marks the last price from visible range of points.
  84261. */
  84262. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  84263. /**
  84264. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  84265. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  84266. * the ends and bends.
  84267. */
  84268. linecap?: SeriesLinecapValue;
  84269. /**
  84270. * (Highcharts, Highstock) A separate color for the graph line. By default
  84271. * the line takes the `color` of the series, but the lineColor setting
  84272. * allows setting a separate color for the line without altering the
  84273. * `fillColor`.
  84274. *
  84275. * In styled mode, the line stroke can be set with the `.highcharts-graph`
  84276. * class name.
  84277. */
  84278. lineColor?: (ColorString|GradientColorObject|PatternObject);
  84279. /**
  84280. * (Highcharts, Highstock) Pixel width of the graph line.
  84281. */
  84282. lineWidth?: number;
  84283. /**
  84284. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  84285. * Additionally, the value can be ":previous" to link to the previous
  84286. * series. When two series are linked, only the first one appears in the
  84287. * legend. Toggling the visibility of this also toggles the linked series.
  84288. *
  84289. * If master series uses data sorting and linked series does not have its
  84290. * own sorting definition, the linked series will be sorted in the same
  84291. * order as the master one.
  84292. */
  84293. linkedTo?: string;
  84294. /**
  84295. * (Highcharts, Highstock) Options for the point markers of line-like
  84296. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  84297. * the visual appearance of the markers. Other series types, like column
  84298. * series, don't have markers, but have visual options on the series level
  84299. * instead.
  84300. *
  84301. * In styled mode, the markers can be styled with the `.highcharts-point`,
  84302. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  84303. */
  84304. marker?: PointMarkerOptionsObject;
  84305. /**
  84306. * (Highstock) Options for the corresponding navigator series if
  84307. * `showInNavigator` is `true` for this series. Available options are the
  84308. * same as any series, documented at plotOptions and series.
  84309. *
  84310. * These options are merged with options in navigator.series, and will take
  84311. * precedence if the same option is defined both places.
  84312. */
  84313. navigatorOptions?: PlotSeriesOptions;
  84314. /**
  84315. * (Highcharts, Highstock) The color for the parts of the graph or points
  84316. * that are below the threshold. Note that `zones` takes precedence over the
  84317. * negative color. Using `negativeColor` is equivalent to applying a zone
  84318. * with value of 0.
  84319. */
  84320. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  84321. /**
  84322. * (Highcharts) A separate color for the negative part of the area.
  84323. *
  84324. * In styled mode, a negative color is set with the `.highcharts-negative`
  84325. * class name.
  84326. */
  84327. negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
  84328. /**
  84329. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  84330. * and dataLabels.
  84331. */
  84332. opacity?: number;
  84333. /**
  84334. * (Highcharts, Highstock) Properties for each single point.
  84335. */
  84336. point?: PlotSeriesPointOptions;
  84337. /**
  84338. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  84339. * but for an individual series. Overrides the chart wide configuration.
  84340. */
  84341. pointDescriptionFormatter?: Function;
  84342. /**
  84343. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  84344. * a series, `pointInterval` defines the interval of the x values. For
  84345. * example, if a series contains one value every decade starting from year
  84346. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  84347. * `pointInterval` is set in milliseconds.
  84348. *
  84349. * It can be also be combined with `pointIntervalUnit` to draw irregular
  84350. * time intervals.
  84351. *
  84352. * Please note that this options applies to the _series data_, not the
  84353. * interval of the axis ticks, which is independent.
  84354. */
  84355. pointInterval?: number;
  84356. /**
  84357. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  84358. * setting the pointInterval to irregular time units, `day`, `month` and
  84359. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  84360. * also takes the DST crossover into consideration when dealing with local
  84361. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  84362. * months, 10 years etc.
  84363. *
  84364. * Please note that this options applies to the _series data_, not the
  84365. * interval of the axis ticks, which is independent.
  84366. */
  84367. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  84368. /**
  84369. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  84370. * `number`.
  84371. *
  84372. * In a column chart, when pointPlacement is `"on"`, the point will not
  84373. * create any padding of the X axis. In a polar column chart this means that
  84374. * the first column points directly north. If the pointPlacement is
  84375. * `"between"`, the columns will be laid out between ticks. This is useful
  84376. * for example for visualising an amount between two points in time or in a
  84377. * certain sector of a polar chart.
  84378. *
  84379. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  84380. * is on the axis value, -0.5 is between this value and the previous, and
  84381. * 0.5 is between this value and the next. Unlike the textual options,
  84382. * numeric point placement options won't affect axis padding.
  84383. *
  84384. * Note that pointPlacement needs a pointRange to work. For column series
  84385. * this is computed, but for line-type series it needs to be set.
  84386. *
  84387. * For the `xrange` series type and gantt charts, if the Y axis is a
  84388. * category axis, the `pointPlacement` applies to the Y axis rather than the
  84389. * (typically datetime) X axis.
  84390. *
  84391. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  84392. */
  84393. pointPlacement?: (number|string);
  84394. /**
  84395. * (Highstock) The width of each point on the x axis. For example in a
  84396. * column chart with one value each day, the pointRange would be 1 day (= 24
  84397. * * 3600
  84398. *
  84399. * * 1000 milliseconds). This is normally computed automatically, but this
  84400. * option can be used to override the automatic value.
  84401. */
  84402. pointRange?: number;
  84403. /**
  84404. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  84405. * a series, pointStart defines on what value to start. For example, if a
  84406. * series contains one yearly value starting from 1945, set pointStart to
  84407. * 1945.
  84408. */
  84409. pointStart?: number;
  84410. /**
  84411. * (Highcharts, Highstock) Whether to select the series initially. If
  84412. * `showCheckbox` is true, the checkbox next to the series name in the
  84413. * legend will be checked for a selected series.
  84414. */
  84415. selected?: boolean;
  84416. /**
  84417. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  84418. * Since 2.3 the shadow can be an object configuration containing `color`,
  84419. * `offsetX`, `offsetY`, `opacity` and `width`.
  84420. */
  84421. shadow?: (boolean|ShadowOptionsObject);
  84422. /**
  84423. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  84424. * legend item to allow selecting the series. The state of the checkbox is
  84425. * determined by the `selected` option.
  84426. */
  84427. showCheckbox?: boolean;
  84428. /**
  84429. * (Highcharts, Highstock) Whether to display this particular series or
  84430. * series type in the legend. Standalone series are shown in legend by
  84431. * default, and linked series are not. Since v7.2.0 it is possible to show
  84432. * series that use colorAxis by setting this option to `true`.
  84433. */
  84434. showInLegend?: boolean;
  84435. /**
  84436. * (Highstock) Whether or not to show the series in the navigator. Takes
  84437. * precedence over navigator.baseSeries if defined.
  84438. */
  84439. showInNavigator?: boolean;
  84440. /**
  84441. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  84442. * skip past the points in this series for keyboard navigation.
  84443. */
  84444. skipKeyboardNavigation?: boolean;
  84445. /**
  84446. * (Highcharts, Highstock) When this is true, the series will not cause the
  84447. * Y axis to cross the zero plane (or threshold option) unless the data
  84448. * actually crosses the plane.
  84449. *
  84450. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  84451. * make the Y axis show negative values according to the `minPadding`
  84452. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  84453. */
  84454. softThreshold?: boolean;
  84455. /**
  84456. * (Highcharts, Highstock) Whether to stack the values of each series on top
  84457. * of each other. Possible values are `undefined` to disable, `"normal"` to
  84458. * stack by value or `"percent"`.
  84459. *
  84460. * When stacking is enabled, data must be sorted in ascending X order.
  84461. *
  84462. * Some stacking options are related to specific series types. In the
  84463. * streamgraph series type, the stacking option is set to `"stream"`. The
  84464. * second one is `"overlap"`, which only applies to waterfall series.
  84465. */
  84466. stacking?: OptionsStackingValue;
  84467. states?: SeriesStatesOptionsObject;
  84468. /**
  84469. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  84470. * `mouseOut` event on a series isn't triggered until the mouse moves over
  84471. * another series, or out of the plot area. When false, the `mouseOut` event
  84472. * on a series is triggered when the mouse leaves the area around the
  84473. * series' graph or markers. This also implies the tooltip when not shared.
  84474. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  84475. * will be hidden when moving the mouse between series. Defaults to true for
  84476. * line and area type series, but to false for columns, pies etc.
  84477. *
  84478. * **Note:** The boost module will force this option because of technical
  84479. * limitations.
  84480. */
  84481. stickyTracking?: boolean;
  84482. /**
  84483. * (Highcharts, Highstock) The Y axis value to serve as the base for the
  84484. * area, for distinguishing between values above and below a threshold. The
  84485. * area between the graph and the threshold is filled.
  84486. *
  84487. * * If a number is given, the Y axis will scale to the threshold.
  84488. *
  84489. * * If `null`, the scaling behaves like a line series with fill between the
  84490. * graph and the Y axis minimum.
  84491. *
  84492. * * If `Infinity` or `-Infinity`, the area between the graph and the
  84493. * corresponding Y axis extreme is filled (since v6.1.0).
  84494. */
  84495. threshold?: (number|null);
  84496. /**
  84497. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  84498. * of each single series. Properties are inherited from tooltip, but only
  84499. * the following properties can be defined on a series level.
  84500. */
  84501. tooltip?: SeriesTooltipOptionsObject;
  84502. /**
  84503. * (Highcharts, Highstock) Whether the whole area or just the line should
  84504. * respond to mouseover tooltips and other mouse or touch events.
  84505. */
  84506. trackByArea?: boolean;
  84507. /**
  84508. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  84509. * is longer than this, only one dimensional arrays of numbers, or two
  84510. * dimensional arrays with x and y values are allowed. Also, only the first
  84511. * point is tested, and the rest are assumed to be the same format. This
  84512. * saves expensive data checking and indexing in long series. Set it to `0`
  84513. * disable.
  84514. *
  84515. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  84516. * two dimensional arrays are allowed.
  84517. */
  84518. turboThreshold?: number;
  84519. /**
  84520. * (Highcharts, Highstock) Set the initial visibility of the series.
  84521. */
  84522. visible?: boolean;
  84523. /**
  84524. * (Highmaps) Define the z index of the series.
  84525. */
  84526. zIndex?: number;
  84527. /**
  84528. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  84529. */
  84530. zoneAxis?: string;
  84531. /**
  84532. * (Highcharts, Highstock) An array defining zones within a series. Zones
  84533. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  84534. * the `zoneAxis` option. The zone definitions have to be in ascending order
  84535. * regarding to the value.
  84536. *
  84537. * In styled mode, the color zones are styled with the
  84538. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  84539. * option (view live demo).
  84540. */
  84541. zones?: Array<SeriesZonesOptionsObject>;
  84542. }
  84543. /**
  84544. * (Highcharts) Enable or disable the initial animation when a series is
  84545. * displayed. The animation can also be set as a configuration object. Please
  84546. * note that this option only applies to the initial animation of the series
  84547. * itself. For other animations, see chart.animation and the animation parameter
  84548. * under the API methods. The following properties are supported:
  84549. *
  84550. * - `defer`: The animation delay time in milliseconds.
  84551. *
  84552. * - `duration`: The duration of the animation in milliseconds.
  84553. *
  84554. * - `easing`: Can be a string reference to an easing function set on the `Math`
  84555. * object or a function. See the _Custom easing function_ demo below.
  84556. *
  84557. * Due to poor performance, animation is disabled in old IE browsers for several
  84558. * chart types.
  84559. */
  84560. export interface PlotSunburstAnimationOptions {
  84561. defer?: number;
  84562. }
  84563. /**
  84564. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  84565. * animation when a series is displayed for the `dataLabels`. The animation can
  84566. * also be set as a configuration object. Please note that this option only
  84567. * applies to the initial animation. For other animations, see chart.animation
  84568. * and the animation parameter under the API methods. The following properties
  84569. * are supported:
  84570. *
  84571. * - `defer`: The animation delay time in milliseconds.
  84572. */
  84573. export interface PlotSunburstDataLabelsAnimationOptions {
  84574. /**
  84575. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  84576. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  84577. * inherits defer time from the series.animation.defer.
  84578. */
  84579. defer?: number;
  84580. }
  84581. /**
  84582. * (Highcharts) Can set a `colorVariation` on all points which lies on the same
  84583. * level.
  84584. */
  84585. export interface PlotSunburstLevelsColorVariationOptions {
  84586. /**
  84587. * (Highcharts) The key of a color variation. Currently supports
  84588. * `brightness` only.
  84589. */
  84590. key?: string;
  84591. /**
  84592. * (Highcharts) The ending value of a color variation. The last sibling will
  84593. * receive this value.
  84594. */
  84595. to?: number;
  84596. }
  84597. /**
  84598. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  84599. * animation when a series is displayed for the `dataLabels`. The animation can
  84600. * also be set as a configuration object. Please note that this option only
  84601. * applies to the initial animation. For other animations, see chart.animation
  84602. * and the animation parameter under the API methods. The following properties
  84603. * are supported:
  84604. *
  84605. * - `defer`: The animation delay time in milliseconds.
  84606. */
  84607. export interface PlotSunburstLevelsDataLabelsAnimationOptions {
  84608. /**
  84609. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  84610. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  84611. * inherits defer time from the series.animation.defer.
  84612. */
  84613. defer?: number;
  84614. }
  84615. /**
  84616. * (Highcharts) Determines the width of the ring per level.
  84617. */
  84618. export interface PlotSunburstLevelSizeOptions {
  84619. /**
  84620. * (Highcharts) How to interpret `levelSize.value`.
  84621. *
  84622. * - `percentage` gives a width relative to result of outer radius minus
  84623. * inner radius.
  84624. *
  84625. * - `pixels` gives the ring a fixed width in pixels.
  84626. *
  84627. * - `weight` takes the remaining width after percentage and pixels, and
  84628. * distributes it accross all "weighted" levels. The value relative to the
  84629. * sum of all weights determines the width.
  84630. */
  84631. unit?: OptionsUnitValue;
  84632. /**
  84633. * (Highcharts) The value used for calculating the width of the ring. Its'
  84634. * affect is determined by `levelSize.unit`.
  84635. */
  84636. value?: number;
  84637. }
  84638. /**
  84639. * (Highcharts) Set options on specific levels. Takes precedence over series
  84640. * options, but not point options.
  84641. */
  84642. export interface PlotSunburstLevelsOptions {
  84643. /**
  84644. * (Highcharts) Can set a `borderColor` on all points which lies on the same
  84645. * level.
  84646. */
  84647. borderColor?: ColorString;
  84648. /**
  84649. * (Highcharts) Can set a `borderDashStyle` on all points which lies on the
  84650. * same level.
  84651. */
  84652. borderDashStyle?: DashStyleValue;
  84653. /**
  84654. * (Highcharts) Can set a `borderWidth` on all points which lies on the same
  84655. * level.
  84656. */
  84657. borderWidth?: number;
  84658. /**
  84659. * (Highcharts) Can set a `color` on all points which lies on the same
  84660. * level.
  84661. */
  84662. color?: (ColorString|GradientColorObject|PatternObject);
  84663. /**
  84664. * (Highcharts) Can set a `colorVariation` on all points which lies on the
  84665. * same level.
  84666. */
  84667. colorVariation?: PlotSunburstLevelsColorVariationOptions;
  84668. /**
  84669. * (Highcharts, Highstock, Highmaps, Gantt) Can set `dataLabels` on all
  84670. * points which lies on the same level.
  84671. */
  84672. dataLabels?: (SeriesSunburstDataLabelsOptionsObject|Array<SeriesSunburstDataLabelsOptionsObject>);
  84673. /**
  84674. * (Highcharts) Can set a `levelSize` on all points which lies on the same
  84675. * level.
  84676. */
  84677. levelSize?: object;
  84678. /**
  84679. * (Highcharts) Can set a `rotation` on all points which lies on the same
  84680. * level.
  84681. */
  84682. rotation?: number;
  84683. /**
  84684. * (Highcharts) Can set a `rotationMode` on all points which lies on the
  84685. * same level.
  84686. */
  84687. rotationMode?: string;
  84688. }
  84689. /**
  84690. * (Highcharts) A Sunburst displays hierarchical data, where a level in the
  84691. * hierarchy is represented by a circle. The center represents the root node of
  84692. * the tree. The visualization bears a resemblance to both treemap and pie
  84693. * charts.
  84694. *
  84695. * In TypeScript the type option must always be set.
  84696. *
  84697. * Configuration options for the series are given in three levels:
  84698. *
  84699. * 1. Options for all series in a chart are defined in the plotOptions.series
  84700. * object.
  84701. *
  84702. * 2. Options for all `sunburst` series are defined in plotOptions.sunburst.
  84703. *
  84704. * 3. Options for one single series are given in the series instance array. (see
  84705. * online documentation for example)
  84706. */
  84707. export interface PlotSunburstOptions {
  84708. /**
  84709. * (Highcharts) Accessibility options for a series.
  84710. */
  84711. accessibility?: SeriesAccessibilityOptionsObject;
  84712. /**
  84713. * (Highcharts) Allow this series' points to be selected by clicking on the
  84714. * graphic (columns, point markers, pie slices, map areas etc).
  84715. *
  84716. * The selected points can be handled by point select and unselect events,
  84717. * or collectively by the getSelectedPoints function.
  84718. *
  84719. * And alternative way of selecting points is through dragging.
  84720. */
  84721. allowPointSelect?: boolean;
  84722. /**
  84723. * (Highcharts) When enabled the user can click on a point which is a parent
  84724. * and zoom in on its children.
  84725. */
  84726. allowTraversingTree?: boolean;
  84727. /**
  84728. * (Highcharts) Enable or disable the initial animation when a series is
  84729. * displayed. The animation can also be set as a configuration object.
  84730. * Please note that this option only applies to the initial animation of the
  84731. * series itself. For other animations, see chart.animation and the
  84732. * animation parameter under the API methods. The following properties are
  84733. * supported:
  84734. *
  84735. * - `defer`: The animation delay time in milliseconds.
  84736. *
  84737. * - `duration`: The duration of the animation in milliseconds.
  84738. *
  84739. * - `easing`: Can be a string reference to an easing function set on the
  84740. * `Math` object or a function. See the _Custom easing function_ demo below.
  84741. *
  84742. * Due to poor performance, animation is disabled in old IE browsers for
  84743. * several chart types.
  84744. */
  84745. animation?: (boolean|PlotSunburstAnimationOptions|Partial<AnimationOptionsObject>);
  84746. /**
  84747. * (Highcharts) The color of the border surrounding each slice. When `null`,
  84748. * the border takes the same color as the slice fill. This can be used
  84749. * together with a `borderWidth` to fill drawing gaps created by
  84750. * antialiazing artefacts in borderless pies.
  84751. *
  84752. * In styled mode, the border stroke is given in the `.highcharts-point`
  84753. * class.
  84754. */
  84755. borderColor?: (ColorString|GradientColorObject|PatternObject);
  84756. /**
  84757. * (Highcharts) The width of the border surrounding each slice.
  84758. *
  84759. * When setting the border width to 0, there may be small gaps between the
  84760. * slices due to SVG antialiasing artefacts. To work around this, keep the
  84761. * border width at 0.5 or 1, but set the `borderColor` to `null` instead.
  84762. *
  84763. * In styled mode, the border stroke width is given in the
  84764. * `.highcharts-point` class.
  84765. */
  84766. borderWidth?: number;
  84767. /**
  84768. * (Highcharts) The center of the sunburst chart relative to the plot area.
  84769. * Can be percentages or pixel values.
  84770. */
  84771. center?: Array<(number|string)>;
  84772. /**
  84773. * (Highcharts) An additional class name to apply to the series' graphical
  84774. * elements. This option does not replace default class names of the
  84775. * graphical element.
  84776. */
  84777. className?: string;
  84778. /**
  84779. * (Highcharts) The color of the pie series. A pie series is represented as
  84780. * an empty circle if the total sum of its values is 0. Use this property to
  84781. * define the color of its border.
  84782. *
  84783. * In styled mode, the color can be defined by the colorIndex option. Also,
  84784. * the series color can be set with the `.highcharts-series`,
  84785. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  84786. * `.highcharts-series-{n}` class, or individual classes given by the
  84787. * `className` option.
  84788. */
  84789. color?: (ColorString|GradientColorObject|PatternObject);
  84790. colorByPoint?: boolean;
  84791. /**
  84792. * (Highcharts) Styled mode only. A specific color index to use for the
  84793. * series, so its graphic representations are given the class name
  84794. * `highcharts-color-{n}`.
  84795. */
  84796. colorIndex?: number;
  84797. /**
  84798. * (Highcharts) A series specific or series type specific color set to use
  84799. * instead of the global colors.
  84800. */
  84801. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  84802. /**
  84803. * (Highstock) Defines if comparison should start from the first point
  84804. * within the visible range or should start from the first point **before**
  84805. * the range.
  84806. *
  84807. * In other words, this flag determines if first point within the visible
  84808. * range will have 0% (`compareStart=true`) or should have been already
  84809. * calculated according to the previous point (`compareStart=false`).
  84810. */
  84811. compareStart?: boolean;
  84812. /**
  84813. * (Gantt) Override Pathfinder connector options for a series. Requires
  84814. * Highcharts Gantt to be loaded.
  84815. */
  84816. connectors?: SeriesConnectorsOptionsObject;
  84817. /**
  84818. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  84819. * rounded to its nearest pixel in order to render sharp on screen. In some
  84820. * cases, when there are a lot of densely packed columns, this leads to
  84821. * visible difference in column widths or distance between columns. In these
  84822. * cases, setting `crisp` to `false` may look better, even though each
  84823. * column is rendered blurry.
  84824. */
  84825. crisp?: boolean;
  84826. /**
  84827. * (Highcharts) You can set the cursor to "pointer" if you have click events
  84828. * attached to the series, to signal to the user that the points and lines
  84829. * can be clicked.
  84830. *
  84831. * In styled mode, the series cursor can be set with the same classes as
  84832. * listed under series.color.
  84833. */
  84834. cursor?: (string|CursorValue);
  84835. /**
  84836. * (Highcharts) A reserved subspace to store options and values for
  84837. * customized functionality. Here you can add additional data for your own
  84838. * event callbacks and formatter callbacks.
  84839. */
  84840. custom?: Dictionary<any>;
  84841. /**
  84842. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  84843. * labels, appearing next to each data point.
  84844. *
  84845. * Since v6.2.0, multiple data labels can be applied to each single point by
  84846. * defining them as an array of configs.
  84847. *
  84848. * In styled mode, the data labels can be styled with the
  84849. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  84850. * (see example).
  84851. */
  84852. dataLabels?: (SeriesSunburstDataLabelsOptionsObject|Array<SeriesSunburstDataLabelsOptionsObject>);
  84853. /**
  84854. * (Highcharts) A description of the series to add to the screen reader
  84855. * information about the series.
  84856. */
  84857. description?: string;
  84858. /**
  84859. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  84860. * This includes point tooltips and click events on graphs and points. For
  84861. * large datasets it improves performance.
  84862. */
  84863. enableMouseTracking?: boolean;
  84864. /**
  84865. * (Highcharts) General event handlers for the series items. These event
  84866. * hooks can also be attached to the series at run time using the
  84867. * `Highcharts.addEvent` function.
  84868. */
  84869. events?: SeriesEventsOptionsObject;
  84870. /**
  84871. * (Highcharts) If the total sum of the pie's values is 0, the series is
  84872. * represented as an empty circle . The `fillColor` option defines the color
  84873. * of that circle. Use pie.borderWidth to set the border thickness.
  84874. */
  84875. fillColor?: (ColorString|GradientColorObject|PatternObject);
  84876. /**
  84877. * (Highcharts) When set to `false` will prevent the series data from being
  84878. * included in any form of data export.
  84879. *
  84880. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  84881. * `includeInCSVExport`.
  84882. */
  84883. includeInDataExport?: boolean;
  84884. /**
  84885. * (Highcharts) An array specifying which option maps to which key in the
  84886. * data point array. This makes it convenient to work with unstructured data
  84887. * arrays from different sources.
  84888. */
  84889. keys?: Array<string>;
  84890. /**
  84891. * (Highstock) The line marks the last price from all points.
  84892. */
  84893. lastPrice?: SeriesLastPriceOptionsObject;
  84894. /**
  84895. * (Highstock) The line marks the last price from visible range of points.
  84896. */
  84897. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  84898. /**
  84899. * (Highcharts) Used together with the levels and `allowDrillToNode`
  84900. * options. When set to false the first level visible when drilling is
  84901. * considered to be level one. Otherwise the level will be the same as the
  84902. * tree structure.
  84903. */
  84904. levelIsConstant?: boolean;
  84905. /**
  84906. * (Highcharts) Set options on specific levels. Takes precedence over series
  84907. * options, but not point options.
  84908. */
  84909. levels?: Array<PlotSunburstLevelsOptions>;
  84910. /**
  84911. * (Highcharts) Determines the width of the ring per level.
  84912. */
  84913. levelSize?: PlotSunburstLevelSizeOptions;
  84914. /**
  84915. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  84916. * Additionally, the value can be ":previous" to link to the previous
  84917. * series. When two series are linked, only the first one appears in the
  84918. * legend. Toggling the visibility of this also toggles the linked series.
  84919. *
  84920. * If master series uses data sorting and linked series does not have its
  84921. * own sorting definition, the linked series will be sorted in the same
  84922. * order as the master one.
  84923. */
  84924. linkedTo?: string;
  84925. /**
  84926. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  84927. * dataLabels.
  84928. */
  84929. opacity?: number;
  84930. /**
  84931. * (Highcharts) Properties for each single point.
  84932. */
  84933. point?: PlotSeriesPointOptions;
  84934. /**
  84935. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  84936. * individual series. Overrides the chart wide configuration.
  84937. */
  84938. pointDescriptionFormatter?: Function;
  84939. /**
  84940. * (Highcharts) Which point to use as a root in the visualization.
  84941. */
  84942. rootId?: string;
  84943. /**
  84944. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  84945. * true, the checkbox next to the series name in the legend will be checked
  84946. * for a selected series.
  84947. */
  84948. selected?: boolean;
  84949. /**
  84950. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  84951. * the shadow can be an object configuration containing `color`, `offsetX`,
  84952. * `offsetY`, `opacity` and `width`.
  84953. */
  84954. shadow?: (boolean|ShadowOptionsObject);
  84955. /**
  84956. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  84957. * allow selecting the series. The state of the checkbox is determined by
  84958. * the `selected` option.
  84959. */
  84960. showCheckbox?: boolean;
  84961. /**
  84962. * (Highcharts) Whether to display this particular series or series type in
  84963. * the legend. Since 2.1, pies are not shown in the legend by default.
  84964. */
  84965. showInLegend?: boolean;
  84966. /**
  84967. * (Highstock) Whether or not to show the series in the navigator. Takes
  84968. * precedence over navigator.baseSeries if defined.
  84969. */
  84970. showInNavigator?: boolean;
  84971. /**
  84972. * (Highcharts) The diameter of the pie relative to the plot area. Can be a
  84973. * percentage or pixel value. Pixel values are given as integers. The
  84974. * default behaviour (as of 3.0) is to scale to the plot area and give room
  84975. * for data labels within the plot area. slicedOffset is also included in
  84976. * the default size calculation. As a consequence, the size of the pie may
  84977. * vary when points are updated and data labels more around. In that case it
  84978. * is best to set a fixed value, for example `"75%"`.
  84979. */
  84980. size?: (number|string|null);
  84981. /**
  84982. * (Highcharts) If set to `true`, the accessibility module will skip past
  84983. * the points in this series for keyboard navigation.
  84984. */
  84985. skipKeyboardNavigation?: boolean;
  84986. /**
  84987. * (Highcharts) If a point is sliced, moved out from the center, how many
  84988. * pixels should it be moved?.
  84989. */
  84990. slicedOffset?: number;
  84991. /**
  84992. * (Highcharts) The start angle of the pie slices in degrees where 0 is top
  84993. * and 90 right.
  84994. */
  84995. startAngle?: number;
  84996. states?: SeriesStatesOptionsObject;
  84997. /**
  84998. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  84999. * event on a series isn't triggered until the mouse moves over another
  85000. * series, or out of the plot area. When false, the `mouseOut` event on a
  85001. * series is triggered when the mouse leaves the area around the series'
  85002. * graph or markers. This also implies the tooltip. When `stickyTracking` is
  85003. * false and `tooltip.shared` is false, the tooltip will be hidden when
  85004. * moving the mouse between series.
  85005. */
  85006. stickyTracking?: boolean;
  85007. /**
  85008. * (Highcharts) A configuration object for the tooltip rendering of each
  85009. * single series. Properties are inherited from tooltip, but only the
  85010. * following properties can be defined on a series level.
  85011. */
  85012. tooltip?: SeriesTooltipOptionsObject;
  85013. /**
  85014. * (Highcharts) Options for the button appearing when traversing down in a
  85015. * treemap.
  85016. */
  85017. traverseUpButton?: PlotSunburstTraverseUpButtonOptions;
  85018. /**
  85019. * (Highstock) The parameter allows setting line series type and use OHLC
  85020. * indicators. Data in OHLC format is required.
  85021. */
  85022. useOhlcData?: boolean;
  85023. /**
  85024. * (Highcharts) Set the initial visibility of the series.
  85025. */
  85026. visible?: boolean;
  85027. /**
  85028. * (Highmaps) Define the z index of the series.
  85029. */
  85030. zIndex?: number;
  85031. }
  85032. /**
  85033. * (Highcharts) Options for the button appearing when traversing down in a
  85034. * treemap.
  85035. */
  85036. export interface PlotSunburstTraverseUpButtonOptions {
  85037. /**
  85038. * (Highcharts) The position of the button.
  85039. */
  85040. position?: PlotSunburstTraverseUpButtonPositionOptions;
  85041. }
  85042. /**
  85043. * (Highcharts) The position of the button.
  85044. */
  85045. export interface PlotSunburstTraverseUpButtonPositionOptions {
  85046. /**
  85047. * (Highcharts) Horizontal alignment of the button.
  85048. */
  85049. align?: AlignValue;
  85050. /**
  85051. * (Highcharts) Vertical alignment of the button.
  85052. */
  85053. verticalAlign?: VerticalAlignValue;
  85054. /**
  85055. * (Highcharts) Horizontal offset of the button.
  85056. */
  85057. x?: number;
  85058. /**
  85059. * (Highcharts) Vertical offset of the button.
  85060. */
  85061. y?: number;
  85062. }
  85063. /**
  85064. * (Highstock) Enable or disable the initial animation when a series is
  85065. * displayed. The animation can also be set as a configuration object. Please
  85066. * note that this option only applies to the initial animation of the series
  85067. * itself. For other animations, see chart.animation and the animation parameter
  85068. * under the API methods. The following properties are supported:
  85069. *
  85070. * - `defer`: The animation delay time in milliseconds.
  85071. *
  85072. * - `duration`: The duration of the animation in milliseconds.
  85073. *
  85074. * - `easing`: Can be a string reference to an easing function set on the `Math`
  85075. * object or a function. See the _Custom easing function_ demo below.
  85076. *
  85077. * Due to poor performance, animation is disabled in old IE browsers for several
  85078. * chart types.
  85079. */
  85080. export interface PlotSupertrendAnimationOptions {
  85081. defer?: number;
  85082. }
  85083. /**
  85084. * (Highstock) The styles for the Supertrend line that intersect main series.
  85085. */
  85086. export interface PlotSupertrendChangeTrendLineOptions {
  85087. styles?: PlotSupertrendChangeTrendLineStylesOptions;
  85088. }
  85089. export interface PlotSupertrendChangeTrendLineStylesOptions {
  85090. /**
  85091. * (Highstock) The dash or dot style of the grid lines. For possible values,
  85092. * see this demonstration.
  85093. */
  85094. dashStyle?: DashStyleValue;
  85095. /**
  85096. * (Highstock) Color of the line.
  85097. */
  85098. lineColor?: ColorString;
  85099. /**
  85100. * (Highstock) Pixel width of the line.
  85101. */
  85102. lineWidth?: number;
  85103. }
  85104. /**
  85105. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  85106. * animation when a series is displayed for the `dataLabels`. The animation can
  85107. * also be set as a configuration object. Please note that this option only
  85108. * applies to the initial animation. For other animations, see chart.animation
  85109. * and the animation parameter under the API methods. The following properties
  85110. * are supported:
  85111. *
  85112. * - `defer`: The animation delay time in milliseconds.
  85113. */
  85114. export interface PlotSupertrendDataLabelsAnimationOptions {
  85115. /**
  85116. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  85117. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  85118. * inherits defer time from the series.animation.defer.
  85119. */
  85120. defer?: number;
  85121. }
  85122. /**
  85123. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  85124. * appearing next to each data point.
  85125. *
  85126. * Since v6.2.0, multiple data labels can be applied to each single point by
  85127. * defining them as an array of configs.
  85128. *
  85129. * In styled mode, the data labels can be styled with the
  85130. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  85131. * example).
  85132. */
  85133. export interface PlotSupertrendDataLabelsOptions {
  85134. /**
  85135. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  85136. * compared to the point. If `right`, the right side of the label should be
  85137. * touching the point. For points with an extent, like columns, the
  85138. * alignments also dictates how to align it inside the box, as given with
  85139. * the inside option. Can be one of `left`, `center` or `right`.
  85140. */
  85141. align?: (AlignValue|null);
  85142. /**
  85143. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  85144. * overlap. To make the labels less sensitive for overlapping, the
  85145. * dataLabels.padding can be set to 0.
  85146. */
  85147. allowOverlap?: boolean;
  85148. /**
  85149. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  85150. * animation when a series is displayed for the `dataLabels`. The animation
  85151. * can also be set as a configuration object. Please note that this option
  85152. * only applies to the initial animation. For other animations, see
  85153. * chart.animation and the animation parameter under the API methods. The
  85154. * following properties are supported:
  85155. *
  85156. * - `defer`: The animation delay time in milliseconds.
  85157. */
  85158. animation?: (boolean|PlotSupertrendDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  85159. /**
  85160. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  85161. * for the data label.
  85162. */
  85163. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  85164. /**
  85165. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  85166. * label. Defaults to `undefined`.
  85167. */
  85168. borderColor?: (ColorString|GradientColorObject|PatternObject);
  85169. /**
  85170. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  85171. * the data label.
  85172. */
  85173. borderRadius?: number;
  85174. /**
  85175. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  85176. * the data label.
  85177. */
  85178. borderWidth?: number;
  85179. /**
  85180. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  85181. * Particularly in styled mode, this can be used to give each series' or
  85182. * point's data label unique styling. In addition to this option, a default
  85183. * color class name is added so that we can give the labels a contrast text
  85184. * shadow.
  85185. */
  85186. className?: string;
  85187. /**
  85188. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  85189. * labels. Defaults to `undefined`. For certain series types, like column or
  85190. * map, the data labels can be drawn inside the points. In this case the
  85191. * data label will be drawn with maximum contrast by default. Additionally,
  85192. * it will be given a `text-outline` style with the opposite color, to
  85193. * further increase the contrast. This can be overridden by setting the
  85194. * `text-outline` style to `none` in the `dataLabels.style` option.
  85195. */
  85196. color?: (ColorString|GradientColorObject|PatternObject);
  85197. /**
  85198. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  85199. * are outside the plot area. By default, the data label is moved inside the
  85200. * plot area according to the overflow option.
  85201. */
  85202. crop?: boolean;
  85203. /**
  85204. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  85205. * labels until the initial series animation has finished. Setting to
  85206. * `false` renders the data label immediately. If set to `true` inherits the
  85207. * defer time set in plotOptions.series.animation.
  85208. */
  85209. defer?: boolean;
  85210. /**
  85211. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  85212. * labels.
  85213. */
  85214. enabled?: boolean;
  85215. /**
  85216. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  85217. * of which data labels to display. The declarative filter is designed for
  85218. * use when callback functions are not available, like when the chart
  85219. * options require a pure JSON structure or for use with graphical editors.
  85220. * For programmatic control, use the `formatter` instead, and return
  85221. * `undefined` to disable a single data label.
  85222. */
  85223. filter?: DataLabelsFilterOptionsObject;
  85224. /**
  85225. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  85226. * label. Available variables are the same as for `formatter`.
  85227. */
  85228. format?: string;
  85229. /**
  85230. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  85231. * format the data label. Note that if a `format` is defined, the format
  85232. * takes precedence and the formatter is ignored.
  85233. */
  85234. formatter?: DataLabelsFormatterCallbackFunction;
  85235. /**
  85236. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  85237. * columns or map areas, whether to align the data label inside the box or
  85238. * to the actual value point. Defaults to `false` in most cases, `true` in
  85239. * stacked columns.
  85240. */
  85241. inside?: boolean;
  85242. /**
  85243. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  85244. * of null. Works analogously to format. `nullFormat` can be applied only to
  85245. * series which support displaying null points.
  85246. */
  85247. nullFormat?: (boolean|string);
  85248. /**
  85249. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  85250. * that defines formatting for points with the value of null. Works
  85251. * analogously to formatter. `nullPointFormatter` can be applied only to
  85252. * series which support displaying null points.
  85253. */
  85254. nullFormatter?: DataLabelsFormatterCallbackFunction;
  85255. /**
  85256. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  85257. * flow outside the plot area. The default is `"justify"`, which aligns them
  85258. * inside the plot area. For columns and bars, this means it will be moved
  85259. * inside the bar. To display data labels outside the plot area, set `crop`
  85260. * to `false` and `overflow` to `"allow"`.
  85261. */
  85262. overflow?: DataLabelsOverflowValue;
  85263. /**
  85264. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  85265. * the `backgroundColor` is set, this is the padding within the box.
  85266. */
  85267. padding?: number;
  85268. /**
  85269. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  85270. * points. If `center` alignment is not possible, it defaults to `right`.
  85271. */
  85272. position?: AlignValue;
  85273. /**
  85274. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  85275. * that due to a more complex structure, backgrounds, borders and padding
  85276. * will be lost on a rotated data label.
  85277. */
  85278. rotation?: number;
  85279. /**
  85280. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  85281. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  85282. * an object configuration containing `color`, `offsetX`, `offsetY`,
  85283. * `opacity` and `width`.
  85284. */
  85285. shadow?: (boolean|ShadowOptionsObject);
  85286. /**
  85287. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  85288. * the border around the label. Symbols are predefined functions on the
  85289. * Renderer object.
  85290. */
  85291. shape?: string;
  85292. /**
  85293. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  85294. * default `color` setting is `"contrast"`, which is a pseudo color that
  85295. * Highcharts picks up and applies the maximum contrast to the underlying
  85296. * point item, for example the bar in a bar chart.
  85297. *
  85298. * The `textOutline` is a pseudo property that applies an outline of the
  85299. * given width with the given color, which by default is the maximum
  85300. * contrast to the text. So a bright text color will result in a black text
  85301. * outline for maximum readability on a mixed background. In some cases,
  85302. * especially with grayscale text, the text outline doesn't work well, in
  85303. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  85304. * is true, the `textOutline` will not be picked up. In this, case, the same
  85305. * effect can be acheived through the `text-shadow` CSS property.
  85306. *
  85307. * For some series types, where each point has an extent, like for example
  85308. * tree maps, the data label may overflow the point. There are two
  85309. * strategies for handling overflow. By default, the text will wrap to
  85310. * multiple lines. The other strategy is to set `style.textOverflow` to
  85311. * `ellipsis`, which will keep the text on one line plus it will break
  85312. * inside long words.
  85313. */
  85314. style?: CSSObject;
  85315. /**
  85316. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  85317. * should follow marker's shape. Border and background are disabled for a
  85318. * label that follows a path.
  85319. *
  85320. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  85321. * to true will disable this option.
  85322. */
  85323. textPath?: DataLabelsTextPathOptionsObject;
  85324. /**
  85325. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  85326. * the labels.
  85327. */
  85328. useHTML?: boolean;
  85329. /**
  85330. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  85331. * label. Can be one of `top`, `middle` or `bottom`. The default value
  85332. * depends on the data, for instance in a column chart, the label is above
  85333. * positive values and below negative values.
  85334. */
  85335. verticalAlign?: (VerticalAlignValue|null);
  85336. /**
  85337. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  85338. * label relative to the point in pixels.
  85339. */
  85340. x?: number;
  85341. /**
  85342. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  85343. * label relative to the point in pixels.
  85344. */
  85345. y?: number;
  85346. /**
  85347. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  85348. * The default Z index puts it above the series. Use a Z index of 2 to
  85349. * display it behind the series.
  85350. */
  85351. z?: number;
  85352. }
  85353. /**
  85354. * (Highcharts, Highstock) Options for the series data sorting.
  85355. */
  85356. export interface PlotSupertrendDataSortingOptions {
  85357. /**
  85358. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  85359. * Use xAxis.reversed to change the sorting order.
  85360. */
  85361. enabled?: boolean;
  85362. /**
  85363. * (Highcharts, Highstock) Whether to allow matching points by name in an
  85364. * update. If this option is disabled, points will be matched by order.
  85365. */
  85366. matchByName?: boolean;
  85367. /**
  85368. * (Highcharts, Highstock) Determines what data value should be used to sort
  85369. * by.
  85370. */
  85371. sortKey?: string;
  85372. }
  85373. /**
  85374. * (Highstock) Supertrend indicator. This series requires the `linkedTo` option
  85375. * to be set and should be loaded after the `stock/indicators/indicators.js` and
  85376. * `stock/indicators/sma.js`.
  85377. *
  85378. * In TypeScript the type option must always be set.
  85379. *
  85380. * Configuration options for the series are given in three levels:
  85381. *
  85382. * 1. Options for all series in a chart are defined in the plotOptions.series
  85383. * object.
  85384. *
  85385. * 2. Options for all `supertrend` series are defined in plotOptions.supertrend.
  85386. *
  85387. * 3. Options for one single series are given in the series instance array. (see
  85388. * online documentation for example)
  85389. */
  85390. export interface PlotSupertrendOptions {
  85391. /**
  85392. * (Highstock) Accessibility options for a series.
  85393. */
  85394. accessibility?: SeriesAccessibilityOptionsObject;
  85395. /**
  85396. * (Highstock) Allow this series' points to be selected by clicking on the
  85397. * graphic (columns, point markers, pie slices, map areas etc).
  85398. *
  85399. * The selected points can be handled by point select and unselect events,
  85400. * or collectively by the getSelectedPoints function.
  85401. *
  85402. * And alternative way of selecting points is through dragging.
  85403. */
  85404. allowPointSelect?: boolean;
  85405. /**
  85406. * (Highstock) Enable or disable the initial animation when a series is
  85407. * displayed. The animation can also be set as a configuration object.
  85408. * Please note that this option only applies to the initial animation of the
  85409. * series itself. For other animations, see chart.animation and the
  85410. * animation parameter under the API methods. The following properties are
  85411. * supported:
  85412. *
  85413. * - `defer`: The animation delay time in milliseconds.
  85414. *
  85415. * - `duration`: The duration of the animation in milliseconds.
  85416. *
  85417. * - `easing`: Can be a string reference to an easing function set on the
  85418. * `Math` object or a function. See the _Custom easing function_ demo below.
  85419. *
  85420. * Due to poor performance, animation is disabled in old IE browsers for
  85421. * several chart types.
  85422. */
  85423. animation?: (boolean|PlotSupertrendAnimationOptions|Partial<AnimationOptionsObject>);
  85424. /**
  85425. * (Highstock) For some series, there is a limit that shuts down initial
  85426. * animation by default when the total number of points in the chart is too
  85427. * high. For example, for a column chart and its derivatives, animation does
  85428. * not run if there is more than 250 points totally. To disable this cap,
  85429. * set `animationLimit` to `Infinity`.
  85430. */
  85431. animationLimit?: number;
  85432. /**
  85433. * (Highstock) Sets the color blending in the boost module.
  85434. */
  85435. boostBlending?: OptionsBoostBlendingValue;
  85436. /**
  85437. * (Highstock) Set the point threshold for when a series should enter boost
  85438. * mode.
  85439. *
  85440. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  85441. * there are 2000 or more points in the series.
  85442. *
  85443. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  85444. * it to 1 will force boosting.
  85445. *
  85446. * Note that the cropThreshold also affects this setting. When zooming in on
  85447. * a series that has fewer points than the `cropThreshold`, all points are
  85448. * rendered although outside the visible plot area, and the `boostThreshold`
  85449. * won't take effect.
  85450. */
  85451. boostThreshold?: number;
  85452. /**
  85453. * (Highmaps) The border color of the map areas.
  85454. *
  85455. * In styled mode, the border stroke is given in the `.highcharts-point`
  85456. * class.
  85457. */
  85458. borderColor?: (ColorString|GradientColorObject|PatternObject);
  85459. /**
  85460. * (Highmaps) The border width of each map area.
  85461. *
  85462. * In styled mode, the border stroke width is given in the
  85463. * `.highcharts-point` class.
  85464. */
  85465. borderWidth?: number;
  85466. /**
  85467. * (Highstock) The styles for the Supertrend line that intersect main
  85468. * series.
  85469. */
  85470. changeTrendLine?: PlotSupertrendChangeTrendLineOptions;
  85471. /**
  85472. * (Highstock) An additional class name to apply to the series' graphical
  85473. * elements. This option does not replace default class names of the
  85474. * graphical element.
  85475. */
  85476. className?: string;
  85477. /**
  85478. * (Highstock) Disable this option to allow series rendering in the whole
  85479. * plotting area.
  85480. *
  85481. * **Note:** Clipping should be always enabled when chart.zoomType is set
  85482. */
  85483. clip?: boolean;
  85484. /**
  85485. * (Highstock) The main color of the series. In line type series it applies
  85486. * to the line and the point markers unless otherwise specified. In bar type
  85487. * series it applies to the bars unless a color is specified per point. The
  85488. * default value is pulled from the `options.colors` array.
  85489. *
  85490. * In styled mode, the color can be defined by the colorIndex option. Also,
  85491. * the series color can be set with the `.highcharts-series`,
  85492. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  85493. * `.highcharts-series-{n}` class, or individual classes given by the
  85494. * `className` option.
  85495. */
  85496. color?: (ColorString|GradientColorObject|PatternObject);
  85497. /**
  85498. * (Highstock) Styled mode only. A specific color index to use for the
  85499. * series, so its graphic representations are given the class name
  85500. * `highcharts-color-{n}`.
  85501. */
  85502. colorIndex?: number;
  85503. /**
  85504. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  85505. * used to calculate point color if `colorAxis` is used. Requires to set
  85506. * `min` and `max` if some custom point property is used or if approximation
  85507. * for data grouping is set to `'sum'`.
  85508. */
  85509. colorKey?: string;
  85510. /**
  85511. * (Highstock) Compare the values of the series against the first non-null,
  85512. * non- zero value in the visible range. The y axis will show percentage or
  85513. * absolute change depending on whether `compare` is set to `"percent"` or
  85514. * `"value"`. When this is applied to multiple series, it allows comparing
  85515. * the development of the series against each other. Adds a `change` field
  85516. * to every point object.
  85517. */
  85518. compare?: string;
  85519. /**
  85520. * (Highstock) When compare is `percent`, this option dictates whether to
  85521. * use 0 or 100 as the base of comparison.
  85522. */
  85523. compareBase?: (0|100);
  85524. /**
  85525. * (Highstock) Defines if comparison should start from the first point
  85526. * within the visible range or should start from the first point **before**
  85527. * the range.
  85528. *
  85529. * In other words, this flag determines if first point within the visible
  85530. * range will have 0% (`compareStart=true`) or should have been already
  85531. * calculated according to the previous point (`compareStart=false`).
  85532. */
  85533. compareStart?: boolean;
  85534. /**
  85535. * (Highstock) Whether to compare indicator to the main series values or
  85536. * indicator values.
  85537. */
  85538. compareToMain?: boolean;
  85539. /**
  85540. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  85541. * series plot across the extremes.
  85542. */
  85543. connectEnds?: boolean;
  85544. /**
  85545. * (Highcharts, Highstock) Whether to connect a graph line across null
  85546. * points, or render a gap between the two points on either side of the
  85547. * null.
  85548. */
  85549. connectNulls?: boolean;
  85550. /**
  85551. * (Gantt) Override Pathfinder connector options for a series. Requires
  85552. * Highcharts Gantt to be loaded.
  85553. */
  85554. connectors?: SeriesConnectorsOptionsObject;
  85555. /**
  85556. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  85557. * rounded to its nearest pixel in order to render sharp on screen. In some
  85558. * cases, when there are a lot of densely packed columns, this leads to
  85559. * visible difference in column widths or distance between columns. In these
  85560. * cases, setting `crisp` to `false` may look better, even though each
  85561. * column is rendered blurry.
  85562. */
  85563. crisp?: boolean;
  85564. /**
  85565. * (Highstock) You can set the cursor to "pointer" if you have click events
  85566. * attached to the series, to signal to the user that the points and lines
  85567. * can be clicked.
  85568. *
  85569. * In styled mode, the series cursor can be set with the same classes as
  85570. * listed under series.color.
  85571. */
  85572. cursor?: (string|CursorValue);
  85573. /**
  85574. * (Highstock) A reserved subspace to store options and values for
  85575. * customized functionality. Here you can add additional data for your own
  85576. * event callbacks and formatter callbacks.
  85577. */
  85578. custom?: Dictionary<any>;
  85579. /**
  85580. * (Highstock) Name of the dash style to use for the graph, or for some
  85581. * series types the outline of each shape.
  85582. *
  85583. * In styled mode, the stroke dash-array can be set with the same classes as
  85584. * listed under series.color.
  85585. */
  85586. dashStyle?: DashStyleValue;
  85587. /**
  85588. * (Highstock) Data grouping is the concept of sampling the data values into
  85589. * larger blocks in order to ease readability and increase performance of
  85590. * the JavaScript charts. Highstock by default applies data grouping when
  85591. * the points become closer than a certain pixel value, determined by the
  85592. * `groupPixelWidth` option.
  85593. *
  85594. * If data grouping is applied, the grouping information of grouped points
  85595. * can be read from the Point.dataGroup. If point options other than the
  85596. * data itself are set, for example `name` or `color` or custom properties,
  85597. * the grouping logic doesn't know how to group it. In this case the options
  85598. * of the first point instance are copied over to the group point. This can
  85599. * be altered through a custom `approximation` callback function.
  85600. */
  85601. dataGrouping?: DataGroupingOptionsObject;
  85602. /**
  85603. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  85604. * labels, appearing next to each data point.
  85605. *
  85606. * Since v6.2.0, multiple data labels can be applied to each single point by
  85607. * defining them as an array of configs.
  85608. *
  85609. * In styled mode, the data labels can be styled with the
  85610. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  85611. * (see example).
  85612. */
  85613. dataLabels?: (PlotSupertrendDataLabelsOptions|Array<PlotSupertrendDataLabelsOptions>);
  85614. /**
  85615. * (Highcharts, Highstock) Options for the series data sorting.
  85616. */
  85617. dataSorting?: (DataSortingOptionsObject|PlotSupertrendDataSortingOptions);
  85618. /**
  85619. * (Highstock) A description of the series to add to the screen reader
  85620. * information about the series.
  85621. */
  85622. description?: string;
  85623. /**
  85624. * (Highstock) Enable or disable the mouse tracking for a specific series.
  85625. * This includes point tooltips and click events on graphs and points. For
  85626. * large datasets it improves performance.
  85627. */
  85628. enableMouseTracking?: boolean;
  85629. /**
  85630. * (Highstock) General event handlers for the series items. These event
  85631. * hooks can also be attached to the series at run time using the
  85632. * `Highcharts.addEvent` function.
  85633. */
  85634. events?: SeriesEventsOptionsObject;
  85635. /**
  85636. * (Highstock) Color of the Supertrend series line that is above the main
  85637. * series.
  85638. */
  85639. fallingTrendColor?: (ColorString|GradientColorObject|PatternObject);
  85640. /**
  85641. * (Highstock) Determines whether the series should look for the nearest
  85642. * point in both dimensions or just the x-dimension when hovering the
  85643. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  85644. * series. If the data has duplicate x-values, it is recommended to set this
  85645. * to `'xy'` to allow hovering over all points.
  85646. *
  85647. * Applies only to series types using nearest neighbor search (not direct
  85648. * hover) for tooltip.
  85649. */
  85650. findNearestPointBy?: OptionsFindNearestPointByValue;
  85651. /**
  85652. * (Highstock) Defines when to display a gap in the graph, together with the
  85653. * gapUnit option.
  85654. *
  85655. * In case when `dataGrouping` is enabled, points can be grouped into a
  85656. * larger time span. This can make the grouped points to have a greater
  85657. * distance than the absolute value of `gapSize` property, which will result
  85658. * in disappearing graph completely. To prevent this situation the mentioned
  85659. * distance between grouped points is used instead of previously defined
  85660. * `gapSize`.
  85661. *
  85662. * In practice, this option is most often used to visualize gaps in time
  85663. * series. In a stock chart, intraday data is available for daytime hours,
  85664. * while gaps will appear in nights and weekends.
  85665. */
  85666. gapSize?: number;
  85667. /**
  85668. * (Highstock) Together with gapSize, this option defines where to draw gaps
  85669. * in the graph.
  85670. *
  85671. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  85672. * if the distance between two points is greater than 5 times that of the
  85673. * two closest points, the graph will be broken.
  85674. *
  85675. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  85676. * values, which on a datetime axis is milliseconds. This also applies to
  85677. * the navigator series that inherits gap options from the base series.
  85678. */
  85679. gapUnit?: OptionsGapUnitValue;
  85680. /**
  85681. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  85682. * chart width or only the zoomed area when zooming in on parts of the X
  85683. * axis. By default, the Y axis adjusts to the min and max of the visible
  85684. * data. Cartesian series only.
  85685. */
  85686. getExtremesFromAll?: boolean;
  85687. /**
  85688. * (Highstock) When set to `false` will prevent the series data from being
  85689. * included in any form of data export.
  85690. *
  85691. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  85692. * `includeInCSVExport`.
  85693. */
  85694. includeInDataExport?: boolean;
  85695. /**
  85696. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  85697. * series as possible in a natural way, seeking to avoid other series. The
  85698. * goal of this feature is to make the chart more easily readable, like if a
  85699. * human designer placed the labels in the optimal position.
  85700. *
  85701. * The series labels currently work with series types having a `graph` or an
  85702. * `area`.
  85703. */
  85704. label?: SeriesLabelOptionsObject;
  85705. /**
  85706. * (Highstock) The line marks the last price from all points.
  85707. */
  85708. lastPrice?: SeriesLastPriceOptionsObject;
  85709. /**
  85710. * (Highstock) The line marks the last price from visible range of points.
  85711. */
  85712. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  85713. /**
  85714. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  85715. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  85716. * the ends and bends.
  85717. */
  85718. linecap?: SeriesLinecapValue;
  85719. /**
  85720. * (Highcharts, Highstock) Pixel width of the graph line.
  85721. */
  85722. lineWidth?: number;
  85723. /**
  85724. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  85725. * based on. Required for this indicator.
  85726. */
  85727. linkedTo?: string;
  85728. /**
  85729. * (Highstock) Options for the point markers of line-like series. Properties
  85730. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  85731. * appearance of the markers. Other series types, like column series, don't
  85732. * have markers, but have visual options on the series level instead.
  85733. *
  85734. * In styled mode, the markers can be styled with the `.highcharts-point`,
  85735. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  85736. */
  85737. marker?: PointMarkerOptionsObject;
  85738. /**
  85739. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  85740. * If not set, it will be based on a technical indicator type and default
  85741. * params.
  85742. */
  85743. name?: string;
  85744. /**
  85745. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  85746. * dataLabels.
  85747. */
  85748. opacity?: number;
  85749. /**
  85750. * (Highstock) Paramters used in calculation of Supertrend indicator series
  85751. * points.
  85752. */
  85753. params?: PlotSupertrendParamsOptions;
  85754. /**
  85755. * (Highstock) Properties for each single point.
  85756. */
  85757. point?: PlotSeriesPointOptions;
  85758. /**
  85759. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  85760. * individual series. Overrides the chart wide configuration.
  85761. */
  85762. pointDescriptionFormatter?: Function;
  85763. /**
  85764. * (Highstock) Color of the Supertrend series line that is beneath the main
  85765. * series.
  85766. */
  85767. risingTrendColor?: (ColorString|GradientColorObject|PatternObject);
  85768. /**
  85769. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  85770. * true, the checkbox next to the series name in the legend will be checked
  85771. * for a selected series.
  85772. */
  85773. selected?: boolean;
  85774. /**
  85775. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  85776. * the shadow can be an object configuration containing `color`, `offsetX`,
  85777. * `offsetY`, `opacity` and `width`.
  85778. */
  85779. shadow?: (boolean|ShadowOptionsObject);
  85780. /**
  85781. * (Highstock) If true, a checkbox is displayed next to the legend item to
  85782. * allow selecting the series. The state of the checkbox is determined by
  85783. * the `selected` option.
  85784. */
  85785. showCheckbox?: boolean;
  85786. /**
  85787. * (Highstock) Whether to display this particular series or series type in
  85788. * the legend. Standalone series are shown in legend by default, and linked
  85789. * series are not. Since v7.2.0 it is possible to show series that use
  85790. * colorAxis by setting this option to `true`.
  85791. */
  85792. showInLegend?: boolean;
  85793. /**
  85794. * (Highstock) If set to `true`, the accessibility module will skip past the
  85795. * points in this series for keyboard navigation.
  85796. */
  85797. skipKeyboardNavigation?: boolean;
  85798. /**
  85799. * (Highcharts, Highstock) When this is true, the series will not cause the
  85800. * Y axis to cross the zero plane (or threshold option) unless the data
  85801. * actually crosses the plane.
  85802. *
  85803. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  85804. * make the Y axis show negative values according to the `minPadding`
  85805. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  85806. */
  85807. softThreshold?: boolean;
  85808. states?: SeriesStatesOptionsObject;
  85809. /**
  85810. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  85811. * values are `left`, `center` and `right`.
  85812. */
  85813. step?: OptionsStepValue;
  85814. /**
  85815. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  85816. * event on a series isn't triggered until the mouse moves over another
  85817. * series, or out of the plot area. When false, the `mouseOut` event on a
  85818. * series is triggered when the mouse leaves the area around the series'
  85819. * graph or markers. This also implies the tooltip when not shared. When
  85820. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  85821. * be hidden when moving the mouse between series. Defaults to true for line
  85822. * and area type series, but to false for columns, pies etc.
  85823. *
  85824. * **Note:** The boost module will force this option because of technical
  85825. * limitations.
  85826. */
  85827. stickyTracking?: boolean;
  85828. /**
  85829. * (Highstock) A configuration object for the tooltip rendering of each
  85830. * single series. Properties are inherited from tooltip, but only the
  85831. * following properties can be defined on a series level.
  85832. */
  85833. tooltip?: SeriesTooltipOptionsObject;
  85834. /**
  85835. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  85836. * is longer than this, only one dimensional arrays of numbers, or two
  85837. * dimensional arrays with x and y values are allowed. Also, only the first
  85838. * point is tested, and the rest are assumed to be the same format. This
  85839. * saves expensive data checking and indexing in long series. Set it to `0`
  85840. * disable.
  85841. *
  85842. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  85843. * two dimensional arrays are allowed.
  85844. */
  85845. turboThreshold?: number;
  85846. /**
  85847. * (Highstock) Set the initial visibility of the series.
  85848. */
  85849. visible?: boolean;
  85850. /**
  85851. * (Highmaps) Define the z index of the series.
  85852. */
  85853. zIndex?: number;
  85854. /**
  85855. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  85856. */
  85857. zoneAxis?: string;
  85858. /**
  85859. * (Highcharts, Highstock) An array defining zones within a series. Zones
  85860. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  85861. * the `zoneAxis` option. The zone definitions have to be in ascending order
  85862. * regarding to the value.
  85863. *
  85864. * In styled mode, the color zones are styled with the
  85865. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  85866. * option (view live demo).
  85867. */
  85868. zones?: Array<SeriesZonesOptionsObject>;
  85869. }
  85870. /**
  85871. * (Highstock) Paramters used in calculation of Supertrend indicator series
  85872. * points.
  85873. */
  85874. export interface PlotSupertrendParamsOptions {
  85875. /**
  85876. * (Highstock) Multiplier for Supertrend Indicator.
  85877. */
  85878. multiplier?: number;
  85879. /**
  85880. * (Highstock) The base period for indicator Supertrend Indicator
  85881. * calculations. This is the number of data points which are taken into
  85882. * account for the indicator calculations.
  85883. */
  85884. period?: number;
  85885. }
  85886. /**
  85887. * (Highstock) Enable or disable the initial animation when a series is
  85888. * displayed. The animation can also be set as a configuration object. Please
  85889. * note that this option only applies to the initial animation of the series
  85890. * itself. For other animations, see chart.animation and the animation parameter
  85891. * under the API methods. The following properties are supported:
  85892. *
  85893. * - `defer`: The animation delay time in milliseconds.
  85894. *
  85895. * - `duration`: The duration of the animation in milliseconds.
  85896. *
  85897. * - `easing`: Can be a string reference to an easing function set on the `Math`
  85898. * object or a function. See the _Custom easing function_ demo below.
  85899. *
  85900. * Due to poor performance, animation is disabled in old IE browsers for several
  85901. * chart types.
  85902. */
  85903. export interface PlotTemaAnimationOptions {
  85904. defer?: number;
  85905. }
  85906. /**
  85907. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  85908. * animation when a series is displayed for the `dataLabels`. The animation can
  85909. * also be set as a configuration object. Please note that this option only
  85910. * applies to the initial animation. For other animations, see chart.animation
  85911. * and the animation parameter under the API methods. The following properties
  85912. * are supported:
  85913. *
  85914. * - `defer`: The animation delay time in milliseconds.
  85915. */
  85916. export interface PlotTemaDataLabelsAnimationOptions {
  85917. /**
  85918. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  85919. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  85920. * inherits defer time from the series.animation.defer.
  85921. */
  85922. defer?: number;
  85923. }
  85924. /**
  85925. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  85926. * appearing next to each data point.
  85927. *
  85928. * Since v6.2.0, multiple data labels can be applied to each single point by
  85929. * defining them as an array of configs.
  85930. *
  85931. * In styled mode, the data labels can be styled with the
  85932. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  85933. * example).
  85934. */
  85935. export interface PlotTemaDataLabelsOptions {
  85936. /**
  85937. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  85938. * compared to the point. If `right`, the right side of the label should be
  85939. * touching the point. For points with an extent, like columns, the
  85940. * alignments also dictates how to align it inside the box, as given with
  85941. * the inside option. Can be one of `left`, `center` or `right`.
  85942. */
  85943. align?: (AlignValue|null);
  85944. /**
  85945. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  85946. * overlap. To make the labels less sensitive for overlapping, the
  85947. * dataLabels.padding can be set to 0.
  85948. */
  85949. allowOverlap?: boolean;
  85950. /**
  85951. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  85952. * animation when a series is displayed for the `dataLabels`. The animation
  85953. * can also be set as a configuration object. Please note that this option
  85954. * only applies to the initial animation. For other animations, see
  85955. * chart.animation and the animation parameter under the API methods. The
  85956. * following properties are supported:
  85957. *
  85958. * - `defer`: The animation delay time in milliseconds.
  85959. */
  85960. animation?: (boolean|PlotTemaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  85961. /**
  85962. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  85963. * for the data label.
  85964. */
  85965. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  85966. /**
  85967. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  85968. * label. Defaults to `undefined`.
  85969. */
  85970. borderColor?: (ColorString|GradientColorObject|PatternObject);
  85971. /**
  85972. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  85973. * the data label.
  85974. */
  85975. borderRadius?: number;
  85976. /**
  85977. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  85978. * the data label.
  85979. */
  85980. borderWidth?: number;
  85981. /**
  85982. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  85983. * Particularly in styled mode, this can be used to give each series' or
  85984. * point's data label unique styling. In addition to this option, a default
  85985. * color class name is added so that we can give the labels a contrast text
  85986. * shadow.
  85987. */
  85988. className?: string;
  85989. /**
  85990. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  85991. * labels. Defaults to `undefined`. For certain series types, like column or
  85992. * map, the data labels can be drawn inside the points. In this case the
  85993. * data label will be drawn with maximum contrast by default. Additionally,
  85994. * it will be given a `text-outline` style with the opposite color, to
  85995. * further increase the contrast. This can be overridden by setting the
  85996. * `text-outline` style to `none` in the `dataLabels.style` option.
  85997. */
  85998. color?: (ColorString|GradientColorObject|PatternObject);
  85999. /**
  86000. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  86001. * are outside the plot area. By default, the data label is moved inside the
  86002. * plot area according to the overflow option.
  86003. */
  86004. crop?: boolean;
  86005. /**
  86006. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  86007. * labels until the initial series animation has finished. Setting to
  86008. * `false` renders the data label immediately. If set to `true` inherits the
  86009. * defer time set in plotOptions.series.animation.
  86010. */
  86011. defer?: boolean;
  86012. /**
  86013. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  86014. * labels.
  86015. */
  86016. enabled?: boolean;
  86017. /**
  86018. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  86019. * of which data labels to display. The declarative filter is designed for
  86020. * use when callback functions are not available, like when the chart
  86021. * options require a pure JSON structure or for use with graphical editors.
  86022. * For programmatic control, use the `formatter` instead, and return
  86023. * `undefined` to disable a single data label.
  86024. */
  86025. filter?: DataLabelsFilterOptionsObject;
  86026. /**
  86027. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  86028. * label. Available variables are the same as for `formatter`.
  86029. */
  86030. format?: string;
  86031. /**
  86032. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  86033. * format the data label. Note that if a `format` is defined, the format
  86034. * takes precedence and the formatter is ignored.
  86035. */
  86036. formatter?: DataLabelsFormatterCallbackFunction;
  86037. /**
  86038. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  86039. * columns or map areas, whether to align the data label inside the box or
  86040. * to the actual value point. Defaults to `false` in most cases, `true` in
  86041. * stacked columns.
  86042. */
  86043. inside?: boolean;
  86044. /**
  86045. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  86046. * of null. Works analogously to format. `nullFormat` can be applied only to
  86047. * series which support displaying null points.
  86048. */
  86049. nullFormat?: (boolean|string);
  86050. /**
  86051. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  86052. * that defines formatting for points with the value of null. Works
  86053. * analogously to formatter. `nullPointFormatter` can be applied only to
  86054. * series which support displaying null points.
  86055. */
  86056. nullFormatter?: DataLabelsFormatterCallbackFunction;
  86057. /**
  86058. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  86059. * flow outside the plot area. The default is `"justify"`, which aligns them
  86060. * inside the plot area. For columns and bars, this means it will be moved
  86061. * inside the bar. To display data labels outside the plot area, set `crop`
  86062. * to `false` and `overflow` to `"allow"`.
  86063. */
  86064. overflow?: DataLabelsOverflowValue;
  86065. /**
  86066. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  86067. * the `backgroundColor` is set, this is the padding within the box.
  86068. */
  86069. padding?: number;
  86070. /**
  86071. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  86072. * points. If `center` alignment is not possible, it defaults to `right`.
  86073. */
  86074. position?: AlignValue;
  86075. /**
  86076. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  86077. * that due to a more complex structure, backgrounds, borders and padding
  86078. * will be lost on a rotated data label.
  86079. */
  86080. rotation?: number;
  86081. /**
  86082. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  86083. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  86084. * an object configuration containing `color`, `offsetX`, `offsetY`,
  86085. * `opacity` and `width`.
  86086. */
  86087. shadow?: (boolean|ShadowOptionsObject);
  86088. /**
  86089. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  86090. * the border around the label. Symbols are predefined functions on the
  86091. * Renderer object.
  86092. */
  86093. shape?: string;
  86094. /**
  86095. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  86096. * default `color` setting is `"contrast"`, which is a pseudo color that
  86097. * Highcharts picks up and applies the maximum contrast to the underlying
  86098. * point item, for example the bar in a bar chart.
  86099. *
  86100. * The `textOutline` is a pseudo property that applies an outline of the
  86101. * given width with the given color, which by default is the maximum
  86102. * contrast to the text. So a bright text color will result in a black text
  86103. * outline for maximum readability on a mixed background. In some cases,
  86104. * especially with grayscale text, the text outline doesn't work well, in
  86105. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  86106. * is true, the `textOutline` will not be picked up. In this, case, the same
  86107. * effect can be acheived through the `text-shadow` CSS property.
  86108. *
  86109. * For some series types, where each point has an extent, like for example
  86110. * tree maps, the data label may overflow the point. There are two
  86111. * strategies for handling overflow. By default, the text will wrap to
  86112. * multiple lines. The other strategy is to set `style.textOverflow` to
  86113. * `ellipsis`, which will keep the text on one line plus it will break
  86114. * inside long words.
  86115. */
  86116. style?: CSSObject;
  86117. /**
  86118. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  86119. * should follow marker's shape. Border and background are disabled for a
  86120. * label that follows a path.
  86121. *
  86122. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  86123. * to true will disable this option.
  86124. */
  86125. textPath?: DataLabelsTextPathOptionsObject;
  86126. /**
  86127. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  86128. * the labels.
  86129. */
  86130. useHTML?: boolean;
  86131. /**
  86132. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  86133. * label. Can be one of `top`, `middle` or `bottom`. The default value
  86134. * depends on the data, for instance in a column chart, the label is above
  86135. * positive values and below negative values.
  86136. */
  86137. verticalAlign?: (VerticalAlignValue|null);
  86138. /**
  86139. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  86140. * label relative to the point in pixels.
  86141. */
  86142. x?: number;
  86143. /**
  86144. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  86145. * label relative to the point in pixels.
  86146. */
  86147. y?: number;
  86148. /**
  86149. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  86150. * The default Z index puts it above the series. Use a Z index of 2 to
  86151. * display it behind the series.
  86152. */
  86153. z?: number;
  86154. }
  86155. /**
  86156. * (Highcharts, Highstock) Options for the series data sorting.
  86157. */
  86158. export interface PlotTemaDataSortingOptions {
  86159. /**
  86160. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  86161. * Use xAxis.reversed to change the sorting order.
  86162. */
  86163. enabled?: boolean;
  86164. /**
  86165. * (Highcharts, Highstock) Whether to allow matching points by name in an
  86166. * update. If this option is disabled, points will be matched by order.
  86167. */
  86168. matchByName?: boolean;
  86169. /**
  86170. * (Highcharts, Highstock) Determines what data value should be used to sort
  86171. * by.
  86172. */
  86173. sortKey?: string;
  86174. }
  86175. /**
  86176. * (Highstock) Triple exponential moving average (TEMA) indicator. This series
  86177. * requires `linkedTo` option to be set and should be loaded after the
  86178. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  86179. *
  86180. * In TypeScript the type option must always be set.
  86181. *
  86182. * Configuration options for the series are given in three levels:
  86183. *
  86184. * 1. Options for all series in a chart are defined in the plotOptions.series
  86185. * object.
  86186. *
  86187. * 2. Options for all `tema` series are defined in plotOptions.tema.
  86188. *
  86189. * 3. Options for one single series are given in the series instance array. (see
  86190. * online documentation for example)
  86191. */
  86192. export interface PlotTemaOptions {
  86193. /**
  86194. * (Highstock) Accessibility options for a series.
  86195. */
  86196. accessibility?: SeriesAccessibilityOptionsObject;
  86197. /**
  86198. * (Highstock) Allow this series' points to be selected by clicking on the
  86199. * graphic (columns, point markers, pie slices, map areas etc).
  86200. *
  86201. * The selected points can be handled by point select and unselect events,
  86202. * or collectively by the getSelectedPoints function.
  86203. *
  86204. * And alternative way of selecting points is through dragging.
  86205. */
  86206. allowPointSelect?: boolean;
  86207. /**
  86208. * (Highstock) Enable or disable the initial animation when a series is
  86209. * displayed. The animation can also be set as a configuration object.
  86210. * Please note that this option only applies to the initial animation of the
  86211. * series itself. For other animations, see chart.animation and the
  86212. * animation parameter under the API methods. The following properties are
  86213. * supported:
  86214. *
  86215. * - `defer`: The animation delay time in milliseconds.
  86216. *
  86217. * - `duration`: The duration of the animation in milliseconds.
  86218. *
  86219. * - `easing`: Can be a string reference to an easing function set on the
  86220. * `Math` object or a function. See the _Custom easing function_ demo below.
  86221. *
  86222. * Due to poor performance, animation is disabled in old IE browsers for
  86223. * several chart types.
  86224. */
  86225. animation?: (boolean|PlotTemaAnimationOptions|Partial<AnimationOptionsObject>);
  86226. /**
  86227. * (Highstock) For some series, there is a limit that shuts down initial
  86228. * animation by default when the total number of points in the chart is too
  86229. * high. For example, for a column chart and its derivatives, animation does
  86230. * not run if there is more than 250 points totally. To disable this cap,
  86231. * set `animationLimit` to `Infinity`.
  86232. */
  86233. animationLimit?: number;
  86234. /**
  86235. * (Highstock) Sets the color blending in the boost module.
  86236. */
  86237. boostBlending?: OptionsBoostBlendingValue;
  86238. /**
  86239. * (Highstock) Set the point threshold for when a series should enter boost
  86240. * mode.
  86241. *
  86242. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  86243. * there are 2000 or more points in the series.
  86244. *
  86245. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  86246. * it to 1 will force boosting.
  86247. *
  86248. * Note that the cropThreshold also affects this setting. When zooming in on
  86249. * a series that has fewer points than the `cropThreshold`, all points are
  86250. * rendered although outside the visible plot area, and the `boostThreshold`
  86251. * won't take effect.
  86252. */
  86253. boostThreshold?: number;
  86254. /**
  86255. * (Highmaps) The border color of the map areas.
  86256. *
  86257. * In styled mode, the border stroke is given in the `.highcharts-point`
  86258. * class.
  86259. */
  86260. borderColor?: (ColorString|GradientColorObject|PatternObject);
  86261. /**
  86262. * (Highmaps) The border width of each map area.
  86263. *
  86264. * In styled mode, the border stroke width is given in the
  86265. * `.highcharts-point` class.
  86266. */
  86267. borderWidth?: number;
  86268. /**
  86269. * (Highstock) An additional class name to apply to the series' graphical
  86270. * elements. This option does not replace default class names of the
  86271. * graphical element.
  86272. */
  86273. className?: string;
  86274. /**
  86275. * (Highstock) Disable this option to allow series rendering in the whole
  86276. * plotting area.
  86277. *
  86278. * **Note:** Clipping should be always enabled when chart.zoomType is set
  86279. */
  86280. clip?: boolean;
  86281. /**
  86282. * (Highstock) The main color of the series. In line type series it applies
  86283. * to the line and the point markers unless otherwise specified. In bar type
  86284. * series it applies to the bars unless a color is specified per point. The
  86285. * default value is pulled from the `options.colors` array.
  86286. *
  86287. * In styled mode, the color can be defined by the colorIndex option. Also,
  86288. * the series color can be set with the `.highcharts-series`,
  86289. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  86290. * `.highcharts-series-{n}` class, or individual classes given by the
  86291. * `className` option.
  86292. */
  86293. color?: (ColorString|GradientColorObject|PatternObject);
  86294. /**
  86295. * (Highstock) Styled mode only. A specific color index to use for the
  86296. * series, so its graphic representations are given the class name
  86297. * `highcharts-color-{n}`.
  86298. */
  86299. colorIndex?: number;
  86300. /**
  86301. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  86302. * used to calculate point color if `colorAxis` is used. Requires to set
  86303. * `min` and `max` if some custom point property is used or if approximation
  86304. * for data grouping is set to `'sum'`.
  86305. */
  86306. colorKey?: string;
  86307. /**
  86308. * (Highstock) Defines if comparison should start from the first point
  86309. * within the visible range or should start from the first point **before**
  86310. * the range.
  86311. *
  86312. * In other words, this flag determines if first point within the visible
  86313. * range will have 0% (`compareStart=true`) or should have been already
  86314. * calculated according to the previous point (`compareStart=false`).
  86315. */
  86316. compareStart?: boolean;
  86317. /**
  86318. * (Highstock) Whether to compare indicator to the main series values or
  86319. * indicator values.
  86320. */
  86321. compareToMain?: boolean;
  86322. /**
  86323. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  86324. * series plot across the extremes.
  86325. */
  86326. connectEnds?: boolean;
  86327. /**
  86328. * (Highcharts, Highstock) Whether to connect a graph line across null
  86329. * points, or render a gap between the two points on either side of the
  86330. * null.
  86331. */
  86332. connectNulls?: boolean;
  86333. /**
  86334. * (Gantt) Override Pathfinder connector options for a series. Requires
  86335. * Highcharts Gantt to be loaded.
  86336. */
  86337. connectors?: SeriesConnectorsOptionsObject;
  86338. /**
  86339. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  86340. * rounded to its nearest pixel in order to render sharp on screen. In some
  86341. * cases, when there are a lot of densely packed columns, this leads to
  86342. * visible difference in column widths or distance between columns. In these
  86343. * cases, setting `crisp` to `false` may look better, even though each
  86344. * column is rendered blurry.
  86345. */
  86346. crisp?: boolean;
  86347. /**
  86348. * (Highcharts, Highstock) When the series contains less points than the
  86349. * crop threshold, all points are drawn, even if the points fall outside the
  86350. * visible plot area at the current zoom. The advantage of drawing all
  86351. * points (including markers and columns), is that animation is performed on
  86352. * updates. On the other hand, when the series contains more points than the
  86353. * crop threshold, the series data is cropped to only contain points that
  86354. * fall within the plot area. The advantage of cropping away invisible
  86355. * points is to increase performance on large series.
  86356. */
  86357. cropThreshold?: number;
  86358. /**
  86359. * (Highstock) You can set the cursor to "pointer" if you have click events
  86360. * attached to the series, to signal to the user that the points and lines
  86361. * can be clicked.
  86362. *
  86363. * In styled mode, the series cursor can be set with the same classes as
  86364. * listed under series.color.
  86365. */
  86366. cursor?: (string|CursorValue);
  86367. /**
  86368. * (Highstock) A reserved subspace to store options and values for
  86369. * customized functionality. Here you can add additional data for your own
  86370. * event callbacks and formatter callbacks.
  86371. */
  86372. custom?: Dictionary<any>;
  86373. /**
  86374. * (Highstock) Name of the dash style to use for the graph, or for some
  86375. * series types the outline of each shape.
  86376. *
  86377. * In styled mode, the stroke dash-array can be set with the same classes as
  86378. * listed under series.color.
  86379. */
  86380. dashStyle?: DashStyleValue;
  86381. /**
  86382. * (Highstock) Data grouping is the concept of sampling the data values into
  86383. * larger blocks in order to ease readability and increase performance of
  86384. * the JavaScript charts. Highstock by default applies data grouping when
  86385. * the points become closer than a certain pixel value, determined by the
  86386. * `groupPixelWidth` option.
  86387. *
  86388. * If data grouping is applied, the grouping information of grouped points
  86389. * can be read from the Point.dataGroup. If point options other than the
  86390. * data itself are set, for example `name` or `color` or custom properties,
  86391. * the grouping logic doesn't know how to group it. In this case the options
  86392. * of the first point instance are copied over to the group point. This can
  86393. * be altered through a custom `approximation` callback function.
  86394. */
  86395. dataGrouping?: DataGroupingOptionsObject;
  86396. /**
  86397. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  86398. * labels, appearing next to each data point.
  86399. *
  86400. * Since v6.2.0, multiple data labels can be applied to each single point by
  86401. * defining them as an array of configs.
  86402. *
  86403. * In styled mode, the data labels can be styled with the
  86404. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  86405. * (see example).
  86406. */
  86407. dataLabels?: (PlotTemaDataLabelsOptions|Array<PlotTemaDataLabelsOptions>);
  86408. /**
  86409. * (Highcharts, Highstock) Options for the series data sorting.
  86410. */
  86411. dataSorting?: (DataSortingOptionsObject|PlotTemaDataSortingOptions);
  86412. /**
  86413. * (Highstock) A description of the series to add to the screen reader
  86414. * information about the series.
  86415. */
  86416. description?: string;
  86417. /**
  86418. * (Highstock) Enable or disable the mouse tracking for a specific series.
  86419. * This includes point tooltips and click events on graphs and points. For
  86420. * large datasets it improves performance.
  86421. */
  86422. enableMouseTracking?: boolean;
  86423. /**
  86424. * (Highstock) General event handlers for the series items. These event
  86425. * hooks can also be attached to the series at run time using the
  86426. * `Highcharts.addEvent` function.
  86427. */
  86428. events?: SeriesEventsOptionsObject;
  86429. /**
  86430. * (Highstock) Determines whether the series should look for the nearest
  86431. * point in both dimensions or just the x-dimension when hovering the
  86432. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  86433. * series. If the data has duplicate x-values, it is recommended to set this
  86434. * to `'xy'` to allow hovering over all points.
  86435. *
  86436. * Applies only to series types using nearest neighbor search (not direct
  86437. * hover) for tooltip.
  86438. */
  86439. findNearestPointBy?: OptionsFindNearestPointByValue;
  86440. /**
  86441. * (Highstock) Defines when to display a gap in the graph, together with the
  86442. * gapUnit option.
  86443. *
  86444. * In case when `dataGrouping` is enabled, points can be grouped into a
  86445. * larger time span. This can make the grouped points to have a greater
  86446. * distance than the absolute value of `gapSize` property, which will result
  86447. * in disappearing graph completely. To prevent this situation the mentioned
  86448. * distance between grouped points is used instead of previously defined
  86449. * `gapSize`.
  86450. *
  86451. * In practice, this option is most often used to visualize gaps in time
  86452. * series. In a stock chart, intraday data is available for daytime hours,
  86453. * while gaps will appear in nights and weekends.
  86454. */
  86455. gapSize?: number;
  86456. /**
  86457. * (Highstock) Together with gapSize, this option defines where to draw gaps
  86458. * in the graph.
  86459. *
  86460. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  86461. * if the distance between two points is greater than 5 times that of the
  86462. * two closest points, the graph will be broken.
  86463. *
  86464. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  86465. * values, which on a datetime axis is milliseconds. This also applies to
  86466. * the navigator series that inherits gap options from the base series.
  86467. */
  86468. gapUnit?: OptionsGapUnitValue;
  86469. /**
  86470. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  86471. * chart width or only the zoomed area when zooming in on parts of the X
  86472. * axis. By default, the Y axis adjusts to the min and max of the visible
  86473. * data. Cartesian series only.
  86474. */
  86475. getExtremesFromAll?: boolean;
  86476. /**
  86477. * (Highstock) When set to `false` will prevent the series data from being
  86478. * included in any form of data export.
  86479. *
  86480. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  86481. * `includeInCSVExport`.
  86482. */
  86483. includeInDataExport?: boolean;
  86484. /**
  86485. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  86486. * series as possible in a natural way, seeking to avoid other series. The
  86487. * goal of this feature is to make the chart more easily readable, like if a
  86488. * human designer placed the labels in the optimal position.
  86489. *
  86490. * The series labels currently work with series types having a `graph` or an
  86491. * `area`.
  86492. */
  86493. label?: SeriesLabelOptionsObject;
  86494. /**
  86495. * (Highstock) The line marks the last price from all points.
  86496. */
  86497. lastPrice?: SeriesLastPriceOptionsObject;
  86498. /**
  86499. * (Highstock) The line marks the last price from visible range of points.
  86500. */
  86501. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  86502. /**
  86503. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  86504. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  86505. * the ends and bends.
  86506. */
  86507. linecap?: SeriesLinecapValue;
  86508. /**
  86509. * (Highcharts, Highstock) Pixel width of the graph line.
  86510. */
  86511. lineWidth?: number;
  86512. /**
  86513. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  86514. * based on. Required for this indicator.
  86515. */
  86516. linkedTo?: string;
  86517. /**
  86518. * (Highstock) Options for the point markers of line-like series. Properties
  86519. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  86520. * appearance of the markers. Other series types, like column series, don't
  86521. * have markers, but have visual options on the series level instead.
  86522. *
  86523. * In styled mode, the markers can be styled with the `.highcharts-point`,
  86524. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  86525. */
  86526. marker?: PointMarkerOptionsObject;
  86527. /**
  86528. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  86529. * If not set, it will be based on a technical indicator type and default
  86530. * params.
  86531. */
  86532. name?: string;
  86533. /**
  86534. * (Highstock) The color for the parts of the graph or points that are below
  86535. * the threshold. Note that `zones` takes precedence over the negative
  86536. * color. Using `negativeColor` is equivalent to applying a zone with value
  86537. * of 0.
  86538. */
  86539. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  86540. /**
  86541. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  86542. * dataLabels.
  86543. */
  86544. opacity?: number;
  86545. /**
  86546. * (Highstock) Paramters used in calculation of regression series' points.
  86547. */
  86548. params?: PlotTemaParamsOptions;
  86549. /**
  86550. * (Highstock) Properties for each single point.
  86551. */
  86552. point?: PlotSeriesPointOptions;
  86553. /**
  86554. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  86555. * individual series. Overrides the chart wide configuration.
  86556. */
  86557. pointDescriptionFormatter?: Function;
  86558. /**
  86559. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  86560. * true, the checkbox next to the series name in the legend will be checked
  86561. * for a selected series.
  86562. */
  86563. selected?: boolean;
  86564. /**
  86565. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  86566. * the shadow can be an object configuration containing `color`, `offsetX`,
  86567. * `offsetY`, `opacity` and `width`.
  86568. */
  86569. shadow?: (boolean|ShadowOptionsObject);
  86570. /**
  86571. * (Highstock) If true, a checkbox is displayed next to the legend item to
  86572. * allow selecting the series. The state of the checkbox is determined by
  86573. * the `selected` option.
  86574. */
  86575. showCheckbox?: boolean;
  86576. /**
  86577. * (Highstock) Whether to display this particular series or series type in
  86578. * the legend. Standalone series are shown in legend by default, and linked
  86579. * series are not. Since v7.2.0 it is possible to show series that use
  86580. * colorAxis by setting this option to `true`.
  86581. */
  86582. showInLegend?: boolean;
  86583. /**
  86584. * (Highstock) If set to `true`, the accessibility module will skip past the
  86585. * points in this series for keyboard navigation.
  86586. */
  86587. skipKeyboardNavigation?: boolean;
  86588. /**
  86589. * (Highcharts, Highstock) When this is true, the series will not cause the
  86590. * Y axis to cross the zero plane (or threshold option) unless the data
  86591. * actually crosses the plane.
  86592. *
  86593. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  86594. * make the Y axis show negative values according to the `minPadding`
  86595. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  86596. */
  86597. softThreshold?: boolean;
  86598. states?: SeriesStatesOptionsObject;
  86599. /**
  86600. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  86601. * values are `left`, `center` and `right`.
  86602. */
  86603. step?: OptionsStepValue;
  86604. /**
  86605. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  86606. * event on a series isn't triggered until the mouse moves over another
  86607. * series, or out of the plot area. When false, the `mouseOut` event on a
  86608. * series is triggered when the mouse leaves the area around the series'
  86609. * graph or markers. This also implies the tooltip when not shared. When
  86610. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  86611. * be hidden when moving the mouse between series. Defaults to true for line
  86612. * and area type series, but to false for columns, pies etc.
  86613. *
  86614. * **Note:** The boost module will force this option because of technical
  86615. * limitations.
  86616. */
  86617. stickyTracking?: boolean;
  86618. /**
  86619. * (Highcharts, Highstock) The threshold, also called zero level or base
  86620. * level. For line type series this is only used in conjunction with
  86621. * negativeColor.
  86622. */
  86623. threshold?: number;
  86624. /**
  86625. * (Highstock) A configuration object for the tooltip rendering of each
  86626. * single series. Properties are inherited from tooltip, but only the
  86627. * following properties can be defined on a series level.
  86628. */
  86629. tooltip?: SeriesTooltipOptionsObject;
  86630. /**
  86631. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  86632. * is longer than this, only one dimensional arrays of numbers, or two
  86633. * dimensional arrays with x and y values are allowed. Also, only the first
  86634. * point is tested, and the rest are assumed to be the same format. This
  86635. * saves expensive data checking and indexing in long series. Set it to `0`
  86636. * disable.
  86637. *
  86638. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  86639. * two dimensional arrays are allowed.
  86640. */
  86641. turboThreshold?: number;
  86642. /**
  86643. * (Highstock) Set the initial visibility of the series.
  86644. */
  86645. visible?: boolean;
  86646. /**
  86647. * (Highmaps) Define the z index of the series.
  86648. */
  86649. zIndex?: number;
  86650. /**
  86651. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  86652. */
  86653. zoneAxis?: string;
  86654. /**
  86655. * (Highcharts, Highstock) An array defining zones within a series. Zones
  86656. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  86657. * the `zoneAxis` option. The zone definitions have to be in ascending order
  86658. * regarding to the value.
  86659. *
  86660. * In styled mode, the color zones are styled with the
  86661. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  86662. * option (view live demo).
  86663. */
  86664. zones?: Array<SeriesZonesOptionsObject>;
  86665. }
  86666. /**
  86667. * (Highstock) Paramters used in calculation of regression series' points.
  86668. */
  86669. export interface PlotTemaParamsOptions {
  86670. /**
  86671. * (Highstock) The point index which indicator calculations will base. For
  86672. * example using OHLC data, index=2 means the indicator will be calculated
  86673. * using Low values.
  86674. *
  86675. * By default index value used to be set to 0. Since Highstock 7 by default
  86676. * index is set to 3 which means that the ema indicator will be calculated
  86677. * using Close values.
  86678. */
  86679. index?: number;
  86680. /**
  86681. * (Highstock) The base period for indicator calculations. This is the
  86682. * number of data points which are taken into account for the indicator
  86683. * calculations.
  86684. */
  86685. period?: number;
  86686. }
  86687. /**
  86688. * (Highcharts, Highmaps) Animation is disabled by default on the heatmap
  86689. * series.
  86690. */
  86691. export interface PlotTilemapAnimationOptions {
  86692. defer?: number;
  86693. }
  86694. /**
  86695. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  86696. * animation when a series is displayed for the `dataLabels`. The animation can
  86697. * also be set as a configuration object. Please note that this option only
  86698. * applies to the initial animation. For other animations, see chart.animation
  86699. * and the animation parameter under the API methods. The following properties
  86700. * are supported:
  86701. *
  86702. * - `defer`: The animation delay time in milliseconds.
  86703. */
  86704. export interface PlotTilemapDataLabelsAnimationOptions {
  86705. /**
  86706. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  86707. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  86708. * inherits defer time from the series.animation.defer.
  86709. */
  86710. defer?: number;
  86711. }
  86712. /**
  86713. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  86714. * appearing next to each data point.
  86715. *
  86716. * Since v6.2.0, multiple data labels can be applied to each single point by
  86717. * defining them as an array of configs.
  86718. *
  86719. * In styled mode, the data labels can be styled with the
  86720. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  86721. * example).
  86722. */
  86723. export interface PlotTilemapDataLabelsOptions {
  86724. /**
  86725. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  86726. * compared to the point. If `right`, the right side of the label should be
  86727. * touching the point. For points with an extent, like columns, the
  86728. * alignments also dictates how to align it inside the box, as given with
  86729. * the inside option. Can be one of `left`, `center` or `right`.
  86730. */
  86731. align?: (AlignValue|null);
  86732. /**
  86733. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  86734. * overlap. To make the labels less sensitive for overlapping, the
  86735. * dataLabels.padding can be set to 0.
  86736. */
  86737. allowOverlap?: boolean;
  86738. /**
  86739. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  86740. * animation when a series is displayed for the `dataLabels`. The animation
  86741. * can also be set as a configuration object. Please note that this option
  86742. * only applies to the initial animation. For other animations, see
  86743. * chart.animation and the animation parameter under the API methods. The
  86744. * following properties are supported:
  86745. *
  86746. * - `defer`: The animation delay time in milliseconds.
  86747. */
  86748. animation?: (boolean|PlotTilemapDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  86749. /**
  86750. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  86751. * for the data label.
  86752. */
  86753. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  86754. /**
  86755. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  86756. * label. Defaults to `undefined`.
  86757. */
  86758. borderColor?: (ColorString|GradientColorObject|PatternObject);
  86759. /**
  86760. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  86761. * the data label.
  86762. */
  86763. borderRadius?: number;
  86764. /**
  86765. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  86766. * the data label.
  86767. */
  86768. borderWidth?: number;
  86769. /**
  86770. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  86771. * Particularly in styled mode, this can be used to give each series' or
  86772. * point's data label unique styling. In addition to this option, a default
  86773. * color class name is added so that we can give the labels a contrast text
  86774. * shadow.
  86775. */
  86776. className?: string;
  86777. /**
  86778. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  86779. * labels. Defaults to `undefined`. For certain series types, like column or
  86780. * map, the data labels can be drawn inside the points. In this case the
  86781. * data label will be drawn with maximum contrast by default. Additionally,
  86782. * it will be given a `text-outline` style with the opposite color, to
  86783. * further increase the contrast. This can be overridden by setting the
  86784. * `text-outline` style to `none` in the `dataLabels.style` option.
  86785. */
  86786. color?: (ColorString|GradientColorObject|PatternObject);
  86787. /**
  86788. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  86789. * are outside the plot area. By default, the data label is moved inside the
  86790. * plot area according to the overflow option.
  86791. */
  86792. crop?: boolean;
  86793. /**
  86794. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  86795. * labels until the initial series animation has finished. Setting to
  86796. * `false` renders the data label immediately. If set to `true` inherits the
  86797. * defer time set in plotOptions.series.animation.
  86798. */
  86799. defer?: boolean;
  86800. /**
  86801. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  86802. * labels.
  86803. */
  86804. enabled?: boolean;
  86805. /**
  86806. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  86807. * of which data labels to display. The declarative filter is designed for
  86808. * use when callback functions are not available, like when the chart
  86809. * options require a pure JSON structure or for use with graphical editors.
  86810. * For programmatic control, use the `formatter` instead, and return
  86811. * `undefined` to disable a single data label.
  86812. */
  86813. filter?: DataLabelsFilterOptionsObject;
  86814. /**
  86815. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  86816. * label. Available variables are the same as for `formatter`.
  86817. */
  86818. format?: string;
  86819. /**
  86820. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  86821. * format the data label. Note that if a `format` is defined, the format
  86822. * takes precedence and the formatter is ignored.
  86823. */
  86824. formatter?: DataLabelsFormatterCallbackFunction;
  86825. /**
  86826. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  86827. * columns or map areas, whether to align the data label inside the box or
  86828. * to the actual value point. Defaults to `false` in most cases, `true` in
  86829. * stacked columns.
  86830. */
  86831. inside?: boolean;
  86832. /**
  86833. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  86834. * of null. Works analogously to format. `nullFormat` can be applied only to
  86835. * series which support displaying null points.
  86836. */
  86837. nullFormat?: (boolean|string);
  86838. /**
  86839. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  86840. * that defines formatting for points with the value of null. Works
  86841. * analogously to formatter. `nullPointFormatter` can be applied only to
  86842. * series which support displaying null points.
  86843. */
  86844. nullFormatter?: DataLabelsFormatterCallbackFunction;
  86845. /**
  86846. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  86847. * flow outside the plot area. The default is `"justify"`, which aligns them
  86848. * inside the plot area. For columns and bars, this means it will be moved
  86849. * inside the bar. To display data labels outside the plot area, set `crop`
  86850. * to `false` and `overflow` to `"allow"`.
  86851. */
  86852. overflow?: boolean;
  86853. /**
  86854. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  86855. * the `backgroundColor` is set, this is the padding within the box.
  86856. */
  86857. padding?: number;
  86858. /**
  86859. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  86860. * points. If `center` alignment is not possible, it defaults to `right`.
  86861. */
  86862. position?: AlignValue;
  86863. /**
  86864. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  86865. * that due to a more complex structure, backgrounds, borders and padding
  86866. * will be lost on a rotated data label.
  86867. */
  86868. rotation?: number;
  86869. /**
  86870. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  86871. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  86872. * an object configuration containing `color`, `offsetX`, `offsetY`,
  86873. * `opacity` and `width`.
  86874. */
  86875. shadow?: (boolean|ShadowOptionsObject);
  86876. /**
  86877. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  86878. * the border around the label. Symbols are predefined functions on the
  86879. * Renderer object.
  86880. */
  86881. shape?: string;
  86882. /**
  86883. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  86884. * default `color` setting is `"contrast"`, which is a pseudo color that
  86885. * Highcharts picks up and applies the maximum contrast to the underlying
  86886. * point item, for example the bar in a bar chart.
  86887. *
  86888. * The `textOutline` is a pseudo property that applies an outline of the
  86889. * given width with the given color, which by default is the maximum
  86890. * contrast to the text. So a bright text color will result in a black text
  86891. * outline for maximum readability on a mixed background. In some cases,
  86892. * especially with grayscale text, the text outline doesn't work well, in
  86893. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  86894. * is true, the `textOutline` will not be picked up. In this, case, the same
  86895. * effect can be acheived through the `text-shadow` CSS property.
  86896. *
  86897. * For some series types, where each point has an extent, like for example
  86898. * tree maps, the data label may overflow the point. There are two
  86899. * strategies for handling overflow. By default, the text will wrap to
  86900. * multiple lines. The other strategy is to set `style.textOverflow` to
  86901. * `ellipsis`, which will keep the text on one line plus it will break
  86902. * inside long words.
  86903. */
  86904. style?: CSSObject;
  86905. /**
  86906. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  86907. * should follow marker's shape. Border and background are disabled for a
  86908. * label that follows a path.
  86909. *
  86910. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  86911. * to true will disable this option.
  86912. */
  86913. textPath?: DataLabelsTextPathOptionsObject;
  86914. /**
  86915. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  86916. * the labels.
  86917. */
  86918. useHTML?: boolean;
  86919. /**
  86920. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  86921. * label. Can be one of `top`, `middle` or `bottom`. The default value
  86922. * depends on the data, for instance in a column chart, the label is above
  86923. * positive values and below negative values.
  86924. */
  86925. verticalAlign?: string;
  86926. /**
  86927. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  86928. * label relative to the point in pixels.
  86929. */
  86930. x?: number;
  86931. /**
  86932. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  86933. * label relative to the point in pixels.
  86934. */
  86935. y?: number;
  86936. /**
  86937. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  86938. * The default Z index puts it above the series. Use a Z index of 2 to
  86939. * display it behind the series.
  86940. */
  86941. z?: number;
  86942. }
  86943. /**
  86944. * (Highcharts, Highmaps) Style options for the guide box. The guide box has one
  86945. * state by default, the `default` state.
  86946. */
  86947. export interface PlotTilemapDragDropGuideBoxOptions {
  86948. /**
  86949. * (Highcharts, Highmaps) Style options for the guide box default state.
  86950. */
  86951. default?: DragDropGuideBoxOptionsObject;
  86952. }
  86953. /**
  86954. * (Highcharts, Highmaps) A tilemap series is a type of heatmap where the tile
  86955. * shapes are configurable.
  86956. *
  86957. * In TypeScript the type option must always be set.
  86958. *
  86959. * Configuration options for the series are given in three levels:
  86960. *
  86961. * 1. Options for all series in a chart are defined in the plotOptions.series
  86962. * object.
  86963. *
  86964. * 2. Options for all `tilemap` series are defined in plotOptions.tilemap.
  86965. *
  86966. * 3. Options for one single series are given in the series instance array. (see
  86967. * online documentation for example)
  86968. */
  86969. export interface PlotTilemapOptions {
  86970. /**
  86971. * (Highcharts, Highmaps) Accessibility options for a series.
  86972. */
  86973. accessibility?: SeriesAccessibilityOptionsObject;
  86974. /**
  86975. * (Highcharts, Highmaps) Allow this series' points to be selected by
  86976. * clicking on the graphic (columns, point markers, pie slices, map areas
  86977. * etc).
  86978. *
  86979. * The selected points can be handled by point select and unselect events,
  86980. * or collectively by the getSelectedPoints function.
  86981. *
  86982. * And alternative way of selecting points is through dragging.
  86983. */
  86984. allowPointSelect?: boolean;
  86985. /**
  86986. * (Highcharts, Highmaps) Animation is disabled by default on the heatmap
  86987. * series.
  86988. */
  86989. animation?: (boolean|PlotTilemapAnimationOptions);
  86990. /**
  86991. * (Highmaps) The border color of the map areas.
  86992. *
  86993. * In styled mode, the border stroke is given in the `.highcharts-point`
  86994. * class.
  86995. */
  86996. borderColor?: (ColorString|GradientColorObject|PatternObject);
  86997. /**
  86998. * (Highmaps) The border width for each heat map item.
  86999. */
  87000. borderWidth?: number;
  87001. /**
  87002. * (Highcharts, Highmaps) An additional class name to apply to the series'
  87003. * graphical elements. This option does not replace default class names of
  87004. * the graphical element.
  87005. */
  87006. className?: string;
  87007. /**
  87008. * (Highcharts, Highmaps) Disable this option to allow series rendering in
  87009. * the whole plotting area.
  87010. *
  87011. * **Note:** Clipping should be always enabled when chart.zoomType is set
  87012. */
  87013. clip?: boolean;
  87014. /**
  87015. * (Highcharts) The main color of the series. In heat maps this color is
  87016. * rarely used, as we mostly use the color to denote the value of each
  87017. * point. Unless options are set in the colorAxis, the default value is
  87018. * pulled from the options.colors array.
  87019. */
  87020. color?: (ColorString|GradientColorObject|PatternObject);
  87021. /**
  87022. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  87023. * this number defines which colorAxis the particular series is connected
  87024. * to. It refers to either the axis id or the index of the axis in the
  87025. * colorAxis array, with 0 being the first. Set this option to false to
  87026. * prevent a series from connecting to the default color axis.
  87027. *
  87028. * Since v7.2.0 the option can also be an axis id or an axis index instead
  87029. * of a boolean flag.
  87030. */
  87031. colorAxis?: (boolean|number|string);
  87032. /**
  87033. * (Highcharts, Highmaps) Styled mode only. A specific color index to use
  87034. * for the series, so its graphic representations are given the class name
  87035. * `highcharts-color-{n}`.
  87036. */
  87037. colorIndex?: number;
  87038. /**
  87039. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  87040. * used to calculate point color if `colorAxis` is used. Requires to set
  87041. * `min` and `max` if some custom point property is used or if approximation
  87042. * for data grouping is set to `'sum'`.
  87043. */
  87044. colorKey?: string;
  87045. /**
  87046. * (Highcharts, Highmaps) The column size - how many X axis units each
  87047. * column in the tilemap should span. Works as in Heatmaps.
  87048. */
  87049. colsize?: number;
  87050. /**
  87051. * (Highstock) Compare the values of the series against the first non-null,
  87052. * non- zero value in the visible range. The y axis will show percentage or
  87053. * absolute change depending on whether `compare` is set to `"percent"` or
  87054. * `"value"`. When this is applied to multiple series, it allows comparing
  87055. * the development of the series against each other. Adds a `change` field
  87056. * to every point object.
  87057. */
  87058. compare?: string;
  87059. /**
  87060. * (Highstock) When compare is `percent`, this option dictates whether to
  87061. * use 0 or 100 as the base of comparison.
  87062. */
  87063. compareBase?: (0|100);
  87064. /**
  87065. * (Highstock) Defines if comparison should start from the first point
  87066. * within the visible range or should start from the first point **before**
  87067. * the range.
  87068. *
  87069. * In other words, this flag determines if first point within the visible
  87070. * range will have 0% (`compareStart=true`) or should have been already
  87071. * calculated according to the previous point (`compareStart=false`).
  87072. */
  87073. compareStart?: boolean;
  87074. /**
  87075. * (Gantt) Override Pathfinder connector options for a series. Requires
  87076. * Highcharts Gantt to be loaded.
  87077. */
  87078. connectors?: SeriesConnectorsOptionsObject;
  87079. /**
  87080. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  87081. * rounded to its nearest pixel in order to render sharp on screen. In some
  87082. * cases, when there are a lot of densely packed columns, this leads to
  87083. * visible difference in column widths or distance between columns. In these
  87084. * cases, setting `crisp` to `false` may look better, even though each
  87085. * column is rendered blurry.
  87086. */
  87087. crisp?: boolean;
  87088. /**
  87089. * (Highcharts, Highmaps) You can set the cursor to "pointer" if you have
  87090. * click events attached to the series, to signal to the user that the
  87091. * points and lines can be clicked.
  87092. *
  87093. * In styled mode, the series cursor can be set with the same classes as
  87094. * listed under series.color.
  87095. */
  87096. cursor?: (string|CursorValue);
  87097. /**
  87098. * (Highcharts, Highmaps) A reserved subspace to store options and values
  87099. * for customized functionality. Here you can add additional data for your
  87100. * own event callbacks and formatter callbacks.
  87101. */
  87102. custom?: Dictionary<any>;
  87103. /**
  87104. * (Highstock) Data grouping is the concept of sampling the data values into
  87105. * larger blocks in order to ease readability and increase performance of
  87106. * the JavaScript charts. Highstock by default applies data grouping when
  87107. * the points become closer than a certain pixel value, determined by the
  87108. * `groupPixelWidth` option.
  87109. *
  87110. * If data grouping is applied, the grouping information of grouped points
  87111. * can be read from the Point.dataGroup. If point options other than the
  87112. * data itself are set, for example `name` or `color` or custom properties,
  87113. * the grouping logic doesn't know how to group it. In this case the options
  87114. * of the first point instance are copied over to the group point. This can
  87115. * be altered through a custom `approximation` callback function.
  87116. */
  87117. dataGrouping?: DataGroupingOptionsObject;
  87118. /**
  87119. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  87120. * labels, appearing next to each data point.
  87121. *
  87122. * Since v6.2.0, multiple data labels can be applied to each single point by
  87123. * defining them as an array of configs.
  87124. *
  87125. * In styled mode, the data labels can be styled with the
  87126. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  87127. * (see example).
  87128. */
  87129. dataLabels?: (PlotTilemapDataLabelsOptions|Array<PlotTilemapDataLabelsOptions>);
  87130. /**
  87131. * (Highcharts, Highmaps) A description of the series to add to the screen
  87132. * reader information about the series.
  87133. */
  87134. description?: string;
  87135. /**
  87136. * (Highcharts, Highmaps) The draggable-points module allows points to be
  87137. * moved around or modified in the chart. In addition to the options
  87138. * mentioned under the `dragDrop` API structure, the module fires three
  87139. * events, point.dragStart, point.drag and point.drop.
  87140. */
  87141. dragDrop?: SeriesDragDropOptionsObject;
  87142. /**
  87143. * (Highcharts, Highmaps) Enable or disable the mouse tracking for a
  87144. * specific series. This includes point tooltips and click events on graphs
  87145. * and points. For large datasets it improves performance.
  87146. */
  87147. enableMouseTracking?: boolean;
  87148. /**
  87149. * (Highcharts, Highmaps) General event handlers for the series items. These
  87150. * event hooks can also be attached to the series at run time using the
  87151. * `Highcharts.addEvent` function.
  87152. */
  87153. events?: SeriesEventsOptionsObject;
  87154. /**
  87155. * (Highstock) Defines when to display a gap in the graph, together with the
  87156. * gapUnit option.
  87157. *
  87158. * In case when `dataGrouping` is enabled, points can be grouped into a
  87159. * larger time span. This can make the grouped points to have a greater
  87160. * distance than the absolute value of `gapSize` property, which will result
  87161. * in disappearing graph completely. To prevent this situation the mentioned
  87162. * distance between grouped points is used instead of previously defined
  87163. * `gapSize`.
  87164. *
  87165. * In practice, this option is most often used to visualize gaps in time
  87166. * series. In a stock chart, intraday data is available for daytime hours,
  87167. * while gaps will appear in nights and weekends.
  87168. */
  87169. gapSize?: number;
  87170. /**
  87171. * (Highstock) Together with gapSize, this option defines where to draw gaps
  87172. * in the graph.
  87173. *
  87174. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  87175. * if the distance between two points is greater than 5 times that of the
  87176. * two closest points, the graph will be broken.
  87177. *
  87178. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  87179. * values, which on a datetime axis is milliseconds. This also applies to
  87180. * the navigator series that inherits gap options from the base series.
  87181. */
  87182. gapUnit?: OptionsGapUnitValue;
  87183. /**
  87184. * (Highcharts, Highmaps) When set to `false` will prevent the series data
  87185. * from being included in any form of data export.
  87186. *
  87187. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  87188. * `includeInCSVExport`.
  87189. */
  87190. includeInDataExport?: boolean;
  87191. /**
  87192. * (Highcharts, Highmaps) An array specifying which option maps to which key
  87193. * in the data point array. This makes it convenient to work with
  87194. * unstructured data arrays from different sources.
  87195. */
  87196. keys?: Array<string>;
  87197. /**
  87198. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  87199. * series as possible in a natural way, seeking to avoid other series. The
  87200. * goal of this feature is to make the chart more easily readable, like if a
  87201. * human designer placed the labels in the optimal position.
  87202. *
  87203. * The series labels currently work with series types having a `graph` or an
  87204. * `area`.
  87205. */
  87206. label?: SeriesLabelOptionsObject;
  87207. /**
  87208. * (Highstock) The line marks the last price from all points.
  87209. */
  87210. lastPrice?: SeriesLastPriceOptionsObject;
  87211. /**
  87212. * (Highstock) The line marks the last price from visible range of points.
  87213. */
  87214. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  87215. /**
  87216. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  87217. * Additionally, the value can be ":previous" to link to the previous
  87218. * series. When two series are linked, only the first one appears in the
  87219. * legend. Toggling the visibility of this also toggles the linked series.
  87220. *
  87221. * If master series uses data sorting and linked series does not have its
  87222. * own sorting definition, the linked series will be sorted in the same
  87223. * order as the master one.
  87224. */
  87225. linkedTo?: string;
  87226. marker?: any;
  87227. /**
  87228. * (Highstock) Options for the corresponding navigator series if
  87229. * `showInNavigator` is `true` for this series. Available options are the
  87230. * same as any series, documented at plotOptions and series.
  87231. *
  87232. * These options are merged with options in navigator.series, and will take
  87233. * precedence if the same option is defined both places.
  87234. */
  87235. navigatorOptions?: PlotSeriesOptions;
  87236. /**
  87237. * (Highcharts, Highmaps) The color for the parts of the graph or points
  87238. * that are below the threshold. Note that `zones` takes precedence over the
  87239. * negative color. Using `negativeColor` is equivalent to applying a zone
  87240. * with value of 0.
  87241. */
  87242. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  87243. /**
  87244. * (Highcharts, Highmaps) The color applied to null points. In styled mode,
  87245. * a general CSS class is applied instead.
  87246. */
  87247. nullColor?: (ColorString|GradientColorObject|PatternObject);
  87248. /**
  87249. * (Highcharts, Highmaps) Opacity of a series parts: line, fill (e.g. area)
  87250. * and dataLabels.
  87251. */
  87252. opacity?: number;
  87253. /**
  87254. * (Highcharts, Highmaps) Properties for each single point.
  87255. */
  87256. point?: PlotSeriesPointOptions;
  87257. /**
  87258. * (Highcharts, Highmaps) Same as accessibility.pointDescriptionFormatter,
  87259. * but for an individual series. Overrides the chart wide configuration.
  87260. */
  87261. pointDescriptionFormatter?: Function;
  87262. /**
  87263. * (Highcharts, Highmaps) The padding between points in the tilemap.
  87264. */
  87265. pointPadding?: number;
  87266. /**
  87267. * (Highcharts, Highmaps) The row size - how many Y axis units each tilemap
  87268. * row should span. Analogous to colsize.
  87269. */
  87270. rowsize?: number;
  87271. /**
  87272. * (Highcharts, Highmaps) Whether to select the series initially. If
  87273. * `showCheckbox` is true, the checkbox next to the series name in the
  87274. * legend will be checked for a selected series.
  87275. */
  87276. selected?: boolean;
  87277. /**
  87278. * (Highcharts, Highmaps) If true, a checkbox is displayed next to the
  87279. * legend item to allow selecting the series. The state of the checkbox is
  87280. * determined by the `selected` option.
  87281. */
  87282. showCheckbox?: boolean;
  87283. /**
  87284. * (Highcharts, Highmaps) Whether to display this particular series or
  87285. * series type in the legend. Standalone series are shown in legend by
  87286. * default, and linked series are not. Since v7.2.0 it is possible to show
  87287. * series that use colorAxis by setting this option to `true`.
  87288. */
  87289. showInLegend?: boolean;
  87290. /**
  87291. * (Highstock) Whether or not to show the series in the navigator. Takes
  87292. * precedence over navigator.baseSeries if defined.
  87293. */
  87294. showInNavigator?: boolean;
  87295. /**
  87296. * (Highcharts, Highmaps) If set to `true`, the accessibility module will
  87297. * skip past the points in this series for keyboard navigation.
  87298. */
  87299. skipKeyboardNavigation?: boolean;
  87300. states?: SeriesStatesOptionsObject;
  87301. /**
  87302. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  87303. * `mouseOut` event on a series isn't triggered until the mouse moves over
  87304. * another series, or out of the plot area. When false, the `mouseOut` event
  87305. * on a series is triggered when the mouse leaves the area around the
  87306. * series' graph or markers. This also implies the tooltip. When
  87307. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  87308. * be hidden when moving the mouse between series.
  87309. */
  87310. stickyTracking?: boolean;
  87311. /**
  87312. * (Highcharts, Highmaps) The shape of the tiles in the tilemap. Possible
  87313. * values are `hexagon`, `circle`, `diamond`, and `square`.
  87314. */
  87315. tileShape?: TilemapShapeValue;
  87316. /**
  87317. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  87318. * of each single series. Properties are inherited from tooltip. Overridable
  87319. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  87320. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  87321. * series.name by default shows in the headerFormat and point.x and point.y
  87322. * in the pointFormat.
  87323. */
  87324. tooltip?: SeriesTooltipOptionsObject;
  87325. /**
  87326. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  87327. * is longer than this, only one dimensional arrays of numbers, or two
  87328. * dimensional arrays with x and y values are allowed. Also, only the first
  87329. * point is tested, and the rest are assumed to be the same format. This
  87330. * saves expensive data checking and indexing in long series. Set it to `0`
  87331. * disable.
  87332. *
  87333. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  87334. * two dimensional arrays are allowed.
  87335. */
  87336. turboThreshold?: number;
  87337. /**
  87338. * (Highcharts, Highmaps) Set the initial visibility of the series.
  87339. */
  87340. visible?: boolean;
  87341. /**
  87342. * (Highmaps) Define the z index of the series.
  87343. */
  87344. zIndex?: number;
  87345. /**
  87346. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  87347. */
  87348. zoneAxis?: string;
  87349. /**
  87350. * (Highcharts, Highstock) An array defining zones within a series. Zones
  87351. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  87352. * the `zoneAxis` option. The zone definitions have to be in ascending order
  87353. * regarding to the value.
  87354. *
  87355. * In styled mode, the color zones are styled with the
  87356. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  87357. * option (view live demo).
  87358. */
  87359. zones?: Array<SeriesZonesOptionsObject>;
  87360. }
  87361. /**
  87362. * (Highcharts, Highstock) A collection of SVG attributes to override the
  87363. * appearance of the halo, for example `fill`, `stroke` and `stroke-width`.
  87364. */
  87365. export interface PlotTilemapStatesHoverHaloAttributesOptions {
  87366. zIndex?: number;
  87367. }
  87368. /**
  87369. * (Highcharts) Enable or disable the initial animation when a series is
  87370. * displayed. The animation can also be set as a configuration object. Please
  87371. * note that this option only applies to the initial animation of the series
  87372. * itself. For other animations, see chart.animation and the animation parameter
  87373. * under the API methods. The following properties are supported:
  87374. *
  87375. * - `defer`: The animation delay time in milliseconds.
  87376. *
  87377. * - `duration`: The duration of the animation in milliseconds.
  87378. *
  87379. * - `easing`: Can be a string reference to an easing function set on the `Math`
  87380. * object or a function. See the _Custom easing function_ demo below.
  87381. *
  87382. * Due to poor performance, animation is disabled in old IE browsers for several
  87383. * chart types.
  87384. */
  87385. export interface PlotTimelineAnimationOptions {
  87386. defer?: number;
  87387. }
  87388. /**
  87389. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  87390. * animation when a series is displayed for the `dataLabels`. The animation can
  87391. * also be set as a configuration object. Please note that this option only
  87392. * applies to the initial animation. For other animations, see chart.animation
  87393. * and the animation parameter under the API methods. The following properties
  87394. * are supported:
  87395. *
  87396. * - `defer`: The animation delay time in milliseconds.
  87397. */
  87398. export interface PlotTimelineDataLabelsAnimationOptions {
  87399. /**
  87400. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  87401. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  87402. * inherits defer time from the series.animation.defer.
  87403. */
  87404. defer?: number;
  87405. }
  87406. /**
  87407. * (Highcharts) Style options for the guide box. The guide box has one state by
  87408. * default, the `default` state.
  87409. */
  87410. export interface PlotTimelineDragDropGuideBoxOptions {
  87411. /**
  87412. * (Highcharts) Style options for the guide box default state.
  87413. */
  87414. default?: DragDropGuideBoxOptionsObject;
  87415. }
  87416. /**
  87417. * (Highcharts) The timeline series presents given events along a drawn line.
  87418. *
  87419. * In TypeScript the type option must always be set.
  87420. *
  87421. * Configuration options for the series are given in three levels:
  87422. *
  87423. * 1. Options for all series in a chart are defined in the plotOptions.series
  87424. * object.
  87425. *
  87426. * 2. Options for all `timeline` series are defined in plotOptions.timeline.
  87427. *
  87428. * 3. Options for one single series are given in the series instance array. (see
  87429. * online documentation for example)
  87430. */
  87431. export interface PlotTimelineOptions {
  87432. /**
  87433. * (Highcharts) Accessibility options for a series.
  87434. */
  87435. accessibility?: SeriesAccessibilityOptionsObject;
  87436. /**
  87437. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  87438. * rendered. If `true`, areas which don't correspond to a data point, are
  87439. * rendered as `null` points. If `false`, those areas are skipped.
  87440. */
  87441. allAreas?: boolean;
  87442. /**
  87443. * (Highcharts) Allow this series' points to be selected by clicking on the
  87444. * graphic (columns, point markers, pie slices, map areas etc).
  87445. *
  87446. * The selected points can be handled by point select and unselect events,
  87447. * or collectively by the getSelectedPoints function.
  87448. *
  87449. * And alternative way of selecting points is through dragging.
  87450. */
  87451. allowPointSelect?: boolean;
  87452. /**
  87453. * (Highcharts) Enable or disable the initial animation when a series is
  87454. * displayed. The animation can also be set as a configuration object.
  87455. * Please note that this option only applies to the initial animation of the
  87456. * series itself. For other animations, see chart.animation and the
  87457. * animation parameter under the API methods. The following properties are
  87458. * supported:
  87459. *
  87460. * - `defer`: The animation delay time in milliseconds.
  87461. *
  87462. * - `duration`: The duration of the animation in milliseconds.
  87463. *
  87464. * - `easing`: Can be a string reference to an easing function set on the
  87465. * `Math` object or a function. See the _Custom easing function_ demo below.
  87466. *
  87467. * Due to poor performance, animation is disabled in old IE browsers for
  87468. * several chart types.
  87469. */
  87470. animation?: (boolean|PlotTimelineAnimationOptions|Partial<AnimationOptionsObject>);
  87471. /**
  87472. * (Highmaps) The border color of the map areas.
  87473. *
  87474. * In styled mode, the border stroke is given in the `.highcharts-point`
  87475. * class.
  87476. */
  87477. borderColor?: (ColorString|GradientColorObject|PatternObject);
  87478. /**
  87479. * (Highmaps) The border width of each map area.
  87480. *
  87481. * In styled mode, the border stroke width is given in the
  87482. * `.highcharts-point` class.
  87483. */
  87484. borderWidth?: number;
  87485. /**
  87486. * (Highcharts) An additional class name to apply to the series' graphical
  87487. * elements. This option does not replace default class names of the
  87488. * graphical element.
  87489. */
  87490. className?: string;
  87491. /**
  87492. * (Highcharts) Disable this option to allow series rendering in the whole
  87493. * plotting area.
  87494. *
  87495. * **Note:** Clipping should be always enabled when chart.zoomType is set
  87496. */
  87497. clip?: boolean;
  87498. /**
  87499. * (Highcharts) The main color of the series. In line type series it applies
  87500. * to the line and the point markers unless otherwise specified. In bar type
  87501. * series it applies to the bars unless a color is specified per point. The
  87502. * default value is pulled from the `options.colors` array.
  87503. *
  87504. * In styled mode, the color can be defined by the colorIndex option. Also,
  87505. * the series color can be set with the `.highcharts-series`,
  87506. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  87507. * `.highcharts-series-{n}` class, or individual classes given by the
  87508. * `className` option.
  87509. */
  87510. color?: (ColorString|GradientColorObject|PatternObject);
  87511. /**
  87512. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  87513. * this number defines which colorAxis the particular series is connected
  87514. * to. It refers to either the axis id or the index of the axis in the
  87515. * colorAxis array, with 0 being the first. Set this option to false to
  87516. * prevent a series from connecting to the default color axis.
  87517. *
  87518. * Since v7.2.0 the option can also be an axis id or an axis index instead
  87519. * of a boolean flag.
  87520. */
  87521. colorAxis?: (boolean|number|string);
  87522. colorByPoint?: boolean;
  87523. /**
  87524. * (Highcharts) Styled mode only. A specific color index to use for the
  87525. * series, so its graphic representations are given the class name
  87526. * `highcharts-color-{n}`.
  87527. */
  87528. colorIndex?: number;
  87529. /**
  87530. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  87531. * used to calculate point color if `colorAxis` is used. Requires to set
  87532. * `min` and `max` if some custom point property is used or if approximation
  87533. * for data grouping is set to `'sum'`.
  87534. */
  87535. colorKey?: string;
  87536. /**
  87537. * (Highstock) Compare the values of the series against the first non-null,
  87538. * non- zero value in the visible range. The y axis will show percentage or
  87539. * absolute change depending on whether `compare` is set to `"percent"` or
  87540. * `"value"`. When this is applied to multiple series, it allows comparing
  87541. * the development of the series against each other. Adds a `change` field
  87542. * to every point object.
  87543. */
  87544. compare?: string;
  87545. /**
  87546. * (Highstock) When compare is `percent`, this option dictates whether to
  87547. * use 0 or 100 as the base of comparison.
  87548. */
  87549. compareBase?: (0|100);
  87550. /**
  87551. * (Highstock) Defines if comparison should start from the first point
  87552. * within the visible range or should start from the first point **before**
  87553. * the range.
  87554. *
  87555. * In other words, this flag determines if first point within the visible
  87556. * range will have 0% (`compareStart=true`) or should have been already
  87557. * calculated according to the previous point (`compareStart=false`).
  87558. */
  87559. compareStart?: boolean;
  87560. /**
  87561. * (Gantt) Override Pathfinder connector options for a series. Requires
  87562. * Highcharts Gantt to be loaded.
  87563. */
  87564. connectors?: SeriesConnectorsOptionsObject;
  87565. /**
  87566. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  87567. * rounded to its nearest pixel in order to render sharp on screen. In some
  87568. * cases, when there are a lot of densely packed columns, this leads to
  87569. * visible difference in column widths or distance between columns. In these
  87570. * cases, setting `crisp` to `false` may look better, even though each
  87571. * column is rendered blurry.
  87572. */
  87573. crisp?: boolean;
  87574. /**
  87575. * (Highcharts) You can set the cursor to "pointer" if you have click events
  87576. * attached to the series, to signal to the user that the points and lines
  87577. * can be clicked.
  87578. *
  87579. * In styled mode, the series cursor can be set with the same classes as
  87580. * listed under series.color.
  87581. */
  87582. cursor?: (string|CursorValue);
  87583. /**
  87584. * (Highcharts) A reserved subspace to store options and values for
  87585. * customized functionality. Here you can add additional data for your own
  87586. * event callbacks and formatter callbacks.
  87587. */
  87588. custom?: Dictionary<any>;
  87589. /**
  87590. * (Highstock) Data grouping is the concept of sampling the data values into
  87591. * larger blocks in order to ease readability and increase performance of
  87592. * the JavaScript charts. Highstock by default applies data grouping when
  87593. * the points become closer than a certain pixel value, determined by the
  87594. * `groupPixelWidth` option.
  87595. *
  87596. * If data grouping is applied, the grouping information of grouped points
  87597. * can be read from the Point.dataGroup. If point options other than the
  87598. * data itself are set, for example `name` or `color` or custom properties,
  87599. * the grouping logic doesn't know how to group it. In this case the options
  87600. * of the first point instance are copied over to the group point. This can
  87601. * be altered through a custom `approximation` callback function.
  87602. */
  87603. dataGrouping?: DataGroupingOptionsObject;
  87604. /**
  87605. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  87606. * labels, appearing next to each data point.
  87607. *
  87608. * Since v6.2.0, multiple data labels can be applied to each single point by
  87609. * defining them as an array of configs.
  87610. *
  87611. * In styled mode, the data labels can be styled with the
  87612. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  87613. * (see example).
  87614. */
  87615. dataLabels?: (TimelineDataLabelsOptionsObject|Array<TimelineDataLabelsOptionsObject>);
  87616. /**
  87617. * (Highcharts) A description of the series to add to the screen reader
  87618. * information about the series.
  87619. */
  87620. description?: string;
  87621. /**
  87622. * (Highcharts) The draggable-points module allows points to be moved around
  87623. * or modified in the chart. In addition to the options mentioned under the
  87624. * `dragDrop` API structure, the module fires three events, point.dragStart,
  87625. * point.drag and point.drop.
  87626. */
  87627. dragDrop?: SeriesDragDropOptionsObject;
  87628. /**
  87629. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  87630. * This includes point tooltips and click events on graphs and points. For
  87631. * large datasets it improves performance.
  87632. */
  87633. enableMouseTracking?: boolean;
  87634. /**
  87635. * (Highcharts) General event handlers for the series items. These event
  87636. * hooks can also be attached to the series at run time using the
  87637. * `Highcharts.addEvent` function.
  87638. */
  87639. events?: SeriesEventsOptionsObject;
  87640. /**
  87641. * (Highstock) Defines when to display a gap in the graph, together with the
  87642. * gapUnit option.
  87643. *
  87644. * In case when `dataGrouping` is enabled, points can be grouped into a
  87645. * larger time span. This can make the grouped points to have a greater
  87646. * distance than the absolute value of `gapSize` property, which will result
  87647. * in disappearing graph completely. To prevent this situation the mentioned
  87648. * distance between grouped points is used instead of previously defined
  87649. * `gapSize`.
  87650. *
  87651. * In practice, this option is most often used to visualize gaps in time
  87652. * series. In a stock chart, intraday data is available for daytime hours,
  87653. * while gaps will appear in nights and weekends.
  87654. */
  87655. gapSize?: number;
  87656. /**
  87657. * (Highstock) Together with gapSize, this option defines where to draw gaps
  87658. * in the graph.
  87659. *
  87660. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  87661. * if the distance between two points is greater than 5 times that of the
  87662. * two closest points, the graph will be broken.
  87663. *
  87664. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  87665. * values, which on a datetime axis is milliseconds. This also applies to
  87666. * the navigator series that inherits gap options from the base series.
  87667. */
  87668. gapUnit?: OptionsGapUnitValue;
  87669. ignoreHiddenPoint?: boolean;
  87670. /**
  87671. * (Highcharts) When set to `false` will prevent the series data from being
  87672. * included in any form of data export.
  87673. *
  87674. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  87675. * `includeInCSVExport`.
  87676. */
  87677. includeInDataExport?: boolean;
  87678. /**
  87679. * (Highmaps) What property to join the `mapData` to the value data. For
  87680. * example, if joinBy is "code", the mapData items with a specific code is
  87681. * merged into the data with the same code. For maps loaded from GeoJSON,
  87682. * the keys may be held in each point's `properties` object.
  87683. *
  87684. * The joinBy option can also be an array of two values, where the first
  87685. * points to a key in the `mapData`, and the second points to another key in
  87686. * the `data`.
  87687. *
  87688. * When joinBy is `null`, the map items are joined by their position in the
  87689. * array, which performs much better in maps with many data points. This is
  87690. * the recommended option if you are printing more than a thousand data
  87691. * points and have a backend that can preprocess the data into a parallel
  87692. * array of the mapData.
  87693. */
  87694. joinBy?: (string|Array<string>);
  87695. /**
  87696. * (Highcharts) An array specifying which option maps to which key in the
  87697. * data point array. This makes it convenient to work with unstructured data
  87698. * arrays from different sources.
  87699. */
  87700. keys?: Array<string>;
  87701. /**
  87702. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  87703. * series as possible in a natural way, seeking to avoid other series. The
  87704. * goal of this feature is to make the chart more easily readable, like if a
  87705. * human designer placed the labels in the optimal position.
  87706. *
  87707. * The series labels currently work with series types having a `graph` or an
  87708. * `area`.
  87709. */
  87710. label?: SeriesLabelOptionsObject;
  87711. /**
  87712. * (Highstock) The line marks the last price from all points.
  87713. */
  87714. lastPrice?: SeriesLastPriceOptionsObject;
  87715. /**
  87716. * (Highstock) The line marks the last price from visible range of points.
  87717. */
  87718. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  87719. legendType?: string;
  87720. /**
  87721. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  87722. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  87723. * the ends and bends.
  87724. */
  87725. linecap?: SeriesLinecapValue;
  87726. lineWidth?: number;
  87727. /**
  87728. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  87729. * Additionally, the value can be ":previous" to link to the previous
  87730. * series. When two series are linked, only the first one appears in the
  87731. * legend. Toggling the visibility of this also toggles the linked series.
  87732. *
  87733. * If master series uses data sorting and linked series does not have its
  87734. * own sorting definition, the linked series will be sorted in the same
  87735. * order as the master one.
  87736. */
  87737. linkedTo?: string;
  87738. /**
  87739. * (Highcharts) Options for the point markers of line-like series.
  87740. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  87741. * visual appearance of the markers. Other series types, like column series,
  87742. * don't have markers, but have visual options on the series level instead.
  87743. *
  87744. * In styled mode, the markers can be styled with the `.highcharts-point`,
  87745. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  87746. */
  87747. marker?: PointMarkerOptionsObject;
  87748. /**
  87749. * (Highstock) Options for the corresponding navigator series if
  87750. * `showInNavigator` is `true` for this series. Available options are the
  87751. * same as any series, documented at plotOptions and series.
  87752. *
  87753. * These options are merged with options in navigator.series, and will take
  87754. * precedence if the same option is defined both places.
  87755. */
  87756. navigatorOptions?: PlotSeriesOptions;
  87757. /**
  87758. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  87759. * dataLabels.
  87760. */
  87761. opacity?: number;
  87762. /**
  87763. * (Highcharts) Properties for each single point.
  87764. */
  87765. point?: PlotSeriesPointOptions;
  87766. /**
  87767. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  87768. * individual series. Overrides the chart wide configuration.
  87769. */
  87770. pointDescriptionFormatter?: Function;
  87771. /**
  87772. * (Highstock) The width of each point on the x axis. For example in a
  87773. * column chart with one value each day, the pointRange would be 1 day (= 24
  87774. * * 3600
  87775. *
  87776. * * 1000 milliseconds). This is normally computed automatically, but this
  87777. * option can be used to override the automatic value.
  87778. */
  87779. pointRange?: number;
  87780. /**
  87781. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  87782. * true, the checkbox next to the series name in the legend will be checked
  87783. * for a selected series.
  87784. */
  87785. selected?: boolean;
  87786. /**
  87787. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  87788. * the shadow can be an object configuration containing `color`, `offsetX`,
  87789. * `offsetY`, `opacity` and `width`.
  87790. */
  87791. shadow?: (boolean|ShadowOptionsObject);
  87792. /**
  87793. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  87794. * allow selecting the series. The state of the checkbox is determined by
  87795. * the `selected` option.
  87796. */
  87797. showCheckbox?: boolean;
  87798. /**
  87799. * (Highcharts) Whether to display this particular series or series type in
  87800. * the legend. Standalone series are shown in legend by default, and linked
  87801. * series are not. Since v7.2.0 it is possible to show series that use
  87802. * colorAxis by setting this option to `true`.
  87803. */
  87804. showInLegend?: boolean;
  87805. /**
  87806. * (Highstock) Whether or not to show the series in the navigator. Takes
  87807. * precedence over navigator.baseSeries if defined.
  87808. */
  87809. showInNavigator?: boolean;
  87810. /**
  87811. * (Highcharts) If set to `true`, the accessibility module will skip past
  87812. * the points in this series for keyboard navigation.
  87813. */
  87814. skipKeyboardNavigation?: boolean;
  87815. states?: SeriesStatesOptionsObject;
  87816. /**
  87817. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  87818. * event on a series isn't triggered until the mouse moves over another
  87819. * series, or out of the plot area. When false, the `mouseOut` event on a
  87820. * series is triggered when the mouse leaves the area around the series'
  87821. * graph or markers. This also implies the tooltip when not shared. When
  87822. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  87823. * be hidden when moving the mouse between series. Defaults to true for line
  87824. * and area type series, but to false for columns, pies etc.
  87825. *
  87826. * **Note:** The boost module will force this option because of technical
  87827. * limitations.
  87828. */
  87829. stickyTracking?: boolean;
  87830. /**
  87831. * (Highcharts) A configuration object for the tooltip rendering of each
  87832. * single series. Properties are inherited from tooltip, but only the
  87833. * following properties can be defined on a series level.
  87834. */
  87835. tooltip?: SeriesTooltipOptionsObject;
  87836. /**
  87837. * (Highstock) The parameter allows setting line series type and use OHLC
  87838. * indicators. Data in OHLC format is required.
  87839. */
  87840. useOhlcData?: boolean;
  87841. /**
  87842. * (Highcharts) Set the initial visibility of the series.
  87843. */
  87844. visible?: boolean;
  87845. /**
  87846. * (Highmaps) Define the z index of the series.
  87847. */
  87848. zIndex?: number;
  87849. }
  87850. /**
  87851. * (Highcharts) Enable or disable the initial animation when a series is
  87852. * displayed. The animation can also be set as a configuration object. Please
  87853. * note that this option only applies to the initial animation of the series
  87854. * itself. For other animations, see chart.animation and the animation parameter
  87855. * under the API methods. The following properties are supported:
  87856. *
  87857. * - `defer`: The animation delay time in milliseconds.
  87858. *
  87859. * - `duration`: The duration of the animation in milliseconds.
  87860. *
  87861. * - `easing`: Can be a string reference to an easing function set on the `Math`
  87862. * object or a function. See the _Custom easing function_ demo below.
  87863. *
  87864. * Due to poor performance, animation is disabled in old IE browsers for several
  87865. * chart types.
  87866. */
  87867. export interface PlotTreemapAnimationOptions {
  87868. defer?: number;
  87869. }
  87870. export interface PlotTreemapClusterEventsOptions {
  87871. /**
  87872. * (Highcharts, Highmaps) Fires when the cluster point is clicked and
  87873. * `drillToCluster` is enabled. One parameter, `event`, is passed to the
  87874. * function. The default action is to zoom to the cluster points range. This
  87875. * can be prevented by calling `event.preventDefault()`.
  87876. */
  87877. drillToCluster?: MarkerClusterDrillCallbackFunction;
  87878. }
  87879. /**
  87880. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are options
  87881. * to change the type of the algorithm, gridSize, distance or iterations.
  87882. */
  87883. export interface PlotTreemapClusterLayoutAlgorithmOptions {
  87884. /**
  87885. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `distance` is a
  87886. * maximum distance between point and cluster center so that this point will
  87887. * be inside the cluster. The distance is either a number defining pixels or
  87888. * a percentage defining a percentage of the plot area width.
  87889. */
  87890. distance?: (number|string);
  87891. /**
  87892. * (Highcharts, Highmaps) When `type` is set to the `grid`, `gridSize` is a
  87893. * size of a grid square element either as a number defining pixels, or a
  87894. * percentage defining a percentage of the plot area width.
  87895. */
  87896. gridSize?: (number|string);
  87897. /**
  87898. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `iterations` are
  87899. * the number of iterations that this algorithm will be repeated to find
  87900. * clusters positions.
  87901. */
  87902. iterations?: number;
  87903. /**
  87904. * (Highcharts, Highmaps) When `type` is set to `undefined` and there are
  87905. * more visible points than the kmeansThreshold the `grid` algorithm is used
  87906. * to find clusters, otherwise `kmeans`. It ensures good performance on
  87907. * large datasets and better clusters arrangement after the zoom.
  87908. */
  87909. kmeansThreshold?: number;
  87910. /**
  87911. * (Highcharts, Highmaps) Type of the algorithm used to combine points into
  87912. * a cluster. There are three available algorithms:
  87913. *
  87914. * 1) `grid` - grid-based clustering technique. Points are assigned to
  87915. * squares of set size depending on their position on the plot area. Points
  87916. * inside the grid square are combined into a cluster. The grid size can be
  87917. * controlled by `gridSize` property (grid size changes at certain zoom
  87918. * levels).
  87919. *
  87920. * 2) `kmeans` - based on K-Means clustering technique. In the first step,
  87921. * points are divided using the grid method (distance property is a grid
  87922. * size) to find the initial amount of clusters. Next, each point is
  87923. * classified by computing the distance between each cluster center and that
  87924. * point. When the closest cluster distance is lower than distance property
  87925. * set by a user the point is added to this cluster otherwise is classified
  87926. * as `noise`. The algorithm is repeated until each cluster center not
  87927. * change its previous position more than one pixel. This technique is more
  87928. * accurate but also more time consuming than the `grid` algorithm,
  87929. * especially for big datasets.
  87930. *
  87931. * 3) `optimizedKmeans` - based on K-Means clustering technique. This
  87932. * algorithm uses k-means algorithm only on the chart initialization or when
  87933. * chart extremes have greater range than on initialization. When a chart is
  87934. * redrawn the algorithm checks only clustered points distance from the
  87935. * cluster center and rebuild it when the point is spaced enough to be
  87936. * outside the cluster. It provides performance improvement and more stable
  87937. * clusters position yet can be used rather on small and sparse datasets.
  87938. *
  87939. * By default, the algorithm depends on visible quantity of points and
  87940. * `kmeansThreshold`. When there are more visible points than the
  87941. * `kmeansThreshold` the `grid` algorithm is used, otherwise `kmeans`.
  87942. *
  87943. * The custom clustering algorithm can be added by assigning a callback
  87944. * function as the type property. This function takes an array of
  87945. * `processedXData`, `processedYData`, `processedXData` indexes and
  87946. * `layoutAlgorithm` options as arguments and should return an object with
  87947. * grouped data.
  87948. *
  87949. * The algorithm should return an object like that: (see online
  87950. * documentation for example)
  87951. *
  87952. * `clusterId` (example above - unique id of a cluster or noise) is an array
  87953. * of points belonging to a cluster. If the array has only one point or
  87954. * fewer points than set in `cluster.minimumClusterSize` it won't be
  87955. * combined into a cluster.
  87956. */
  87957. type?: (string|Function);
  87958. }
  87959. /**
  87960. * (Highcharts, Highmaps) Options for marker clusters, the concept of sampling
  87961. * the data values into larger blocks in order to ease readability and increase
  87962. * performance of the JavaScript charts.
  87963. *
  87964. * Note: marker clusters module is not working with `boost` and
  87965. * `draggable-points` modules.
  87966. *
  87967. * The marker clusters feature requires the marker-clusters.js file to be
  87968. * loaded, found in the modules directory of the download package, or online at
  87969. * code.highcharts.com/modules/marker-clusters.js.
  87970. */
  87971. export interface PlotTreemapClusterOptions {
  87972. /**
  87973. * (Highcharts, Highmaps) When set to `false` prevent cluster overlapping -
  87974. * this option works only when `layoutAlgorithm.type = "grid"`.
  87975. */
  87976. allowOverlap?: boolean;
  87977. /**
  87978. * (Highcharts, Highmaps) Options for the cluster marker animation.
  87979. */
  87980. animation?: (boolean|Partial<AnimationOptionsObject>);
  87981. /**
  87982. * (Highcharts, Highmaps) Options for the cluster data labels.
  87983. */
  87984. dataLabels?: DataLabelsOptions;
  87985. /**
  87986. * (Highcharts, Highmaps) Zoom the plot area to the cluster points range
  87987. * when a cluster is clicked.
  87988. */
  87989. drillToCluster?: boolean;
  87990. /**
  87991. * (Highcharts, Highmaps) Whether to enable the marker-clusters module.
  87992. */
  87993. enabled?: boolean;
  87994. events?: PlotTreemapClusterEventsOptions;
  87995. /**
  87996. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are
  87997. * options to change the type of the algorithm, gridSize, distance or
  87998. * iterations.
  87999. */
  88000. layoutAlgorithm?: PlotTreemapClusterLayoutAlgorithmOptions;
  88001. /**
  88002. * (Highcharts, Highmaps) Options for the cluster marker.
  88003. */
  88004. marker?: PointMarkerOptionsObject;
  88005. /**
  88006. * (Highcharts, Highmaps) The minimum amount of points to be combined into a
  88007. * cluster. This value has to be greater or equal to 2.
  88008. */
  88009. minimumClusterSize?: number;
  88010. states?: PlotTreemapClusterStatesOptions;
  88011. /**
  88012. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  88013. *
  88014. * In styled mode, the color zones are styled with the
  88015. * `.highcharts-cluster-zone-{n}` class, or custom classed from the
  88016. * `className` option.
  88017. */
  88018. zones?: Array<PlotTreemapClusterZonesOptions>;
  88019. }
  88020. export interface PlotTreemapClusterStatesHoverOptions {
  88021. /**
  88022. * (Highcharts, Highmaps) The fill color of the cluster marker in hover
  88023. * state. When `undefined`, the series' or point's fillColor for normal
  88024. * state is used.
  88025. */
  88026. fillColor?: ColorType;
  88027. }
  88028. export interface PlotTreemapClusterStatesOptions {
  88029. hover?: PlotTreemapClusterStatesHoverOptions;
  88030. }
  88031. /**
  88032. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  88033. *
  88034. * In styled mode, the color zones are styled with the
  88035. * `.highcharts-cluster-zone-{n}` class, or custom classed from the `className`
  88036. * option.
  88037. */
  88038. export interface PlotTreemapClusterZonesOptions {
  88039. /**
  88040. * (Highcharts, Highmaps) Styled mode only. A custom class name for the
  88041. * zone.
  88042. */
  88043. className?: string;
  88044. /**
  88045. * (Highcharts, Highmaps) The value where the zone starts.
  88046. */
  88047. from?: number;
  88048. /**
  88049. * (Highcharts, Highmaps) Settings for the cluster marker belonging to the
  88050. * zone.
  88051. */
  88052. marker?: PointMarkerOptionsObject;
  88053. /**
  88054. * (Highcharts, Highmaps) The value where the zone ends.
  88055. */
  88056. to?: number;
  88057. }
  88058. /**
  88059. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  88060. * animation when a series is displayed for the `dataLabels`. The animation can
  88061. * also be set as a configuration object. Please note that this option only
  88062. * applies to the initial animation. For other animations, see chart.animation
  88063. * and the animation parameter under the API methods. The following properties
  88064. * are supported:
  88065. *
  88066. * - `defer`: The animation delay time in milliseconds.
  88067. */
  88068. export interface PlotTreemapDataLabelsAnimationOptions {
  88069. /**
  88070. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  88071. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  88072. * inherits defer time from the series.animation.defer.
  88073. */
  88074. defer?: number;
  88075. }
  88076. /**
  88077. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  88078. * appearing next to each data point.
  88079. *
  88080. * Since v6.2.0, multiple data labels can be applied to each single point by
  88081. * defining them as an array of configs.
  88082. *
  88083. * In styled mode, the data labels can be styled with the
  88084. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  88085. * example).
  88086. */
  88087. export interface PlotTreemapDataLabelsOptions {
  88088. /**
  88089. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  88090. * compared to the point. If `right`, the right side of the label should be
  88091. * touching the point. For points with an extent, like columns, the
  88092. * alignments also dictates how to align it inside the box, as given with
  88093. * the inside option. Can be one of `left`, `center` or `right`.
  88094. */
  88095. align?: (AlignValue|null);
  88096. /**
  88097. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  88098. * overlap. To make the labels less sensitive for overlapping, the
  88099. * dataLabels.padding can be set to 0.
  88100. */
  88101. allowOverlap?: boolean;
  88102. /**
  88103. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  88104. * animation when a series is displayed for the `dataLabels`. The animation
  88105. * can also be set as a configuration object. Please note that this option
  88106. * only applies to the initial animation. For other animations, see
  88107. * chart.animation and the animation parameter under the API methods. The
  88108. * following properties are supported:
  88109. *
  88110. * - `defer`: The animation delay time in milliseconds.
  88111. */
  88112. animation?: (boolean|PlotTreemapDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  88113. /**
  88114. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  88115. * for the data label.
  88116. */
  88117. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  88118. /**
  88119. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  88120. * label. Defaults to `undefined`.
  88121. */
  88122. borderColor?: (ColorString|GradientColorObject|PatternObject);
  88123. /**
  88124. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  88125. * the data label.
  88126. */
  88127. borderRadius?: number;
  88128. /**
  88129. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  88130. * the data label.
  88131. */
  88132. borderWidth?: number;
  88133. /**
  88134. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  88135. * Particularly in styled mode, this can be used to give each series' or
  88136. * point's data label unique styling. In addition to this option, a default
  88137. * color class name is added so that we can give the labels a contrast text
  88138. * shadow.
  88139. */
  88140. className?: string;
  88141. /**
  88142. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  88143. * labels. Defaults to `undefined`. For certain series types, like column or
  88144. * map, the data labels can be drawn inside the points. In this case the
  88145. * data label will be drawn with maximum contrast by default. Additionally,
  88146. * it will be given a `text-outline` style with the opposite color, to
  88147. * further increase the contrast. This can be overridden by setting the
  88148. * `text-outline` style to `none` in the `dataLabels.style` option.
  88149. */
  88150. color?: (ColorString|GradientColorObject|PatternObject);
  88151. /**
  88152. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  88153. * are outside the plot area. By default, the data label is moved inside the
  88154. * plot area according to the overflow option.
  88155. */
  88156. crop?: boolean;
  88157. /**
  88158. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  88159. * labels until the initial series animation has finished. Setting to
  88160. * `false` renders the data label immediately. If set to `true` inherits the
  88161. * defer time set in plotOptions.series.animation.
  88162. */
  88163. defer?: boolean;
  88164. /**
  88165. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  88166. * labels.
  88167. */
  88168. enabled?: boolean;
  88169. /**
  88170. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  88171. * of which data labels to display. The declarative filter is designed for
  88172. * use when callback functions are not available, like when the chart
  88173. * options require a pure JSON structure or for use with graphical editors.
  88174. * For programmatic control, use the `formatter` instead, and return
  88175. * `undefined` to disable a single data label.
  88176. */
  88177. filter?: DataLabelsFilterOptionsObject;
  88178. /**
  88179. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  88180. * label. Available variables are the same as for `formatter`.
  88181. */
  88182. format?: string;
  88183. /**
  88184. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  88185. * format the data label. Note that if a `format` is defined, the format
  88186. * takes precedence and the formatter is ignored.
  88187. */
  88188. formatter?: DataLabelsFormatterCallbackFunction;
  88189. /**
  88190. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  88191. * columns or map areas, whether to align the data label inside the box or
  88192. * to the actual value point. Defaults to `false` in most cases, `true` in
  88193. * stacked columns.
  88194. */
  88195. inside?: boolean;
  88196. /**
  88197. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  88198. * of null. Works analogously to format. `nullFormat` can be applied only to
  88199. * series which support displaying null points.
  88200. */
  88201. nullFormat?: (boolean|string);
  88202. /**
  88203. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  88204. * that defines formatting for points with the value of null. Works
  88205. * analogously to formatter. `nullPointFormatter` can be applied only to
  88206. * series which support displaying null points.
  88207. */
  88208. nullFormatter?: DataLabelsFormatterCallbackFunction;
  88209. /**
  88210. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  88211. * flow outside the plot area. The default is `"justify"`, which aligns them
  88212. * inside the plot area. For columns and bars, this means it will be moved
  88213. * inside the bar. To display data labels outside the plot area, set `crop`
  88214. * to `false` and `overflow` to `"allow"`.
  88215. */
  88216. overflow?: DataLabelsOverflowValue;
  88217. /**
  88218. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  88219. * the `backgroundColor` is set, this is the padding within the box.
  88220. */
  88221. padding?: number;
  88222. /**
  88223. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  88224. * points. If `center` alignment is not possible, it defaults to `right`.
  88225. */
  88226. position?: AlignValue;
  88227. /**
  88228. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  88229. * that due to a more complex structure, backgrounds, borders and padding
  88230. * will be lost on a rotated data label.
  88231. */
  88232. rotation?: number;
  88233. /**
  88234. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  88235. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  88236. * an object configuration containing `color`, `offsetX`, `offsetY`,
  88237. * `opacity` and `width`.
  88238. */
  88239. shadow?: (boolean|ShadowOptionsObject);
  88240. /**
  88241. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  88242. * the border around the label. Symbols are predefined functions on the
  88243. * Renderer object.
  88244. */
  88245. shape?: string;
  88246. /**
  88247. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  88248. * default `color` setting is `"contrast"`, which is a pseudo color that
  88249. * Highcharts picks up and applies the maximum contrast to the underlying
  88250. * point item, for example the bar in a bar chart.
  88251. *
  88252. * The `textOutline` is a pseudo property that applies an outline of the
  88253. * given width with the given color, which by default is the maximum
  88254. * contrast to the text. So a bright text color will result in a black text
  88255. * outline for maximum readability on a mixed background. In some cases,
  88256. * especially with grayscale text, the text outline doesn't work well, in
  88257. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  88258. * is true, the `textOutline` will not be picked up. In this, case, the same
  88259. * effect can be acheived through the `text-shadow` CSS property.
  88260. *
  88261. * For some series types, where each point has an extent, like for example
  88262. * tree maps, the data label may overflow the point. There are two
  88263. * strategies for handling overflow. By default, the text will wrap to
  88264. * multiple lines. The other strategy is to set `style.textOverflow` to
  88265. * `ellipsis`, which will keep the text on one line plus it will break
  88266. * inside long words.
  88267. */
  88268. style?: CSSObject;
  88269. /**
  88270. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  88271. * should follow marker's shape. Border and background are disabled for a
  88272. * label that follows a path.
  88273. *
  88274. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  88275. * to true will disable this option.
  88276. */
  88277. textPath?: DataLabelsTextPathOptionsObject;
  88278. /**
  88279. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  88280. * the labels.
  88281. */
  88282. useHTML?: boolean;
  88283. /**
  88284. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  88285. * label. Can be one of `top`, `middle` or `bottom`. The default value
  88286. * depends on the data, for instance in a column chart, the label is above
  88287. * positive values and below negative values.
  88288. */
  88289. verticalAlign?: string;
  88290. /**
  88291. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  88292. * label relative to the point in pixels.
  88293. */
  88294. x?: number;
  88295. /**
  88296. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  88297. * label relative to the point in pixels.
  88298. */
  88299. y?: number;
  88300. /**
  88301. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  88302. * The default Z index puts it above the series. Use a Z index of 2 to
  88303. * display it behind the series.
  88304. */
  88305. z?: number;
  88306. }
  88307. /**
  88308. * (Highcharts) A configuration object to define how the color of a child varies
  88309. * from the parent's color. The variation is distributed among the children of
  88310. * node. For example when setting brightness, the brightness change will range
  88311. * from the parent's original brightness on the first child, to the amount set
  88312. * in the `to` setting on the last node. This allows a gradient-like color
  88313. * scheme that sets children out from each other while highlighting the grouping
  88314. * on treemaps and sectors on sunburst charts.
  88315. */
  88316. export interface PlotTreemapLevelsColorVariationOptions {
  88317. /**
  88318. * (Highcharts) The key of a color variation. Currently supports
  88319. * `brightness` only.
  88320. */
  88321. key?: "brightness";
  88322. /**
  88323. * (Highcharts) The ending value of a color variation. The last sibling will
  88324. * receive this value.
  88325. */
  88326. to?: number;
  88327. }
  88328. /**
  88329. * (Highcharts) Enable or disable the initial animation when a series is
  88330. * displayed for the `dataLabels`. The animation can also be set as a
  88331. * configuration object. Please note that this option only applies to the
  88332. * initial animation. For other animations, see chart.animation and the
  88333. * animation parameter under the API methods. The following properties are
  88334. * supported:
  88335. *
  88336. * - `defer`: The animation delay time in milliseconds.
  88337. */
  88338. export interface PlotTreemapLevelsDataLabelsAnimationOptions {
  88339. /**
  88340. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  88341. * dataLabel immediately. As `undefined` inherits defer time from the
  88342. * series.animation.defer.
  88343. */
  88344. defer?: number;
  88345. }
  88346. /**
  88347. * (Highcharts) Can set the options of dataLabels on each point which lies on
  88348. * the level. plotOptions.treemap.dataLabels for possible values.
  88349. */
  88350. export interface PlotTreemapLevelsDataLabelsOptions {
  88351. /**
  88352. * (Highcharts) The alignment of the data label compared to the point. If
  88353. * `right`, the right side of the label should be touching the point. For
  88354. * points with an extent, like columns, the alignments also dictates how to
  88355. * align it inside the box, as given with the inside option. Can be one of
  88356. * `left`, `center` or `right`.
  88357. */
  88358. align?: (AlignValue|null);
  88359. /**
  88360. * (Highcharts) Whether to allow data labels to overlap. To make the labels
  88361. * less sensitive for overlapping, the dataLabels.padding can be set to 0.
  88362. */
  88363. allowOverlap?: boolean;
  88364. /**
  88365. * (Highcharts) Enable or disable the initial animation when a series is
  88366. * displayed for the `dataLabels`. The animation can also be set as a
  88367. * configuration object. Please note that this option only applies to the
  88368. * initial animation. For other animations, see chart.animation and the
  88369. * animation parameter under the API methods. The following properties are
  88370. * supported:
  88371. *
  88372. * - `defer`: The animation delay time in milliseconds.
  88373. */
  88374. animation?: (boolean|PlotTreemapLevelsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  88375. /**
  88376. * (Highcharts) The background color or gradient for the data label.
  88377. */
  88378. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  88379. /**
  88380. * (Highcharts) The border color for the data label. Defaults to
  88381. * `undefined`.
  88382. */
  88383. borderColor?: (ColorString|GradientColorObject|PatternObject);
  88384. /**
  88385. * (Highcharts) The border radius in pixels for the data label.
  88386. */
  88387. borderRadius?: number;
  88388. /**
  88389. * (Highcharts) The border width in pixels for the data label.
  88390. */
  88391. borderWidth?: number;
  88392. /**
  88393. * (Highcharts) A class name for the data label. Particularly in styled
  88394. * mode, this can be used to give each series' or point's data label unique
  88395. * styling. In addition to this option, a default color class name is added
  88396. * so that we can give the labels a contrast text shadow.
  88397. */
  88398. className?: string;
  88399. /**
  88400. * (Highcharts) The text color for the data labels. Defaults to `undefined`.
  88401. * For certain series types, like column or map, the data labels can be
  88402. * drawn inside the points. In this case the data label will be drawn with
  88403. * maximum contrast by default. Additionally, it will be given a
  88404. * `text-outline` style with the opposite color, to further increase the
  88405. * contrast. This can be overridden by setting the `text-outline` style to
  88406. * `none` in the `dataLabels.style` option.
  88407. */
  88408. color?: (ColorString|GradientColorObject|PatternObject);
  88409. /**
  88410. * (Highcharts) Whether to hide data labels that are outside the plot area.
  88411. * By default, the data label is moved inside the plot area according to the
  88412. * overflow option.
  88413. */
  88414. crop?: boolean;
  88415. /**
  88416. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  88417. * labels until the initial series animation has finished. Setting to
  88418. * `false` renders the data label immediately. If set to `true` inherits the
  88419. * defer time set in plotOptions.series.animation.
  88420. */
  88421. defer?: boolean;
  88422. /**
  88423. * (Highcharts) Enable or disable the data labels.
  88424. */
  88425. enabled?: boolean;
  88426. /**
  88427. * (Highcharts) A declarative filter to control of which data labels to
  88428. * display. The declarative filter is designed for use when callback
  88429. * functions are not available, like when the chart options require a pure
  88430. * JSON structure or for use with graphical editors. For programmatic
  88431. * control, use the `formatter` instead, and return `undefined` to disable a
  88432. * single data label.
  88433. */
  88434. filter?: DataLabelsFilterOptionsObject;
  88435. /**
  88436. * (Highcharts) A format string for the data label. Available variables are
  88437. * the same as for `formatter`.
  88438. */
  88439. format?: string;
  88440. /**
  88441. * (Highcharts) Callback JavaScript function to format the data label. Note
  88442. * that if a `format` is defined, the format takes precedence and the
  88443. * formatter is ignored.
  88444. */
  88445. formatter?: DataLabelsFormatterCallbackFunction;
  88446. /**
  88447. * (Highcharts) For points with an extent, like columns or map areas,
  88448. * whether to align the data label inside the box or to the actual value
  88449. * point. Defaults to `false` in most cases, `true` in stacked columns.
  88450. */
  88451. inside?: boolean;
  88452. /**
  88453. * (Highcharts) Format for points with the value of null. Works analogously
  88454. * to format. `nullFormat` can be applied only to series which support
  88455. * displaying null points.
  88456. */
  88457. nullFormat?: (boolean|string);
  88458. /**
  88459. * (Highcharts) Callback JavaScript function that defines formatting for
  88460. * points with the value of null. Works analogously to formatter.
  88461. * `nullPointFormatter` can be applied only to series which support
  88462. * displaying null points.
  88463. */
  88464. nullFormatter?: DataLabelsFormatterCallbackFunction;
  88465. /**
  88466. * (Highcharts) How to handle data labels that flow outside the plot area.
  88467. * The default is `"justify"`, which aligns them inside the plot area. For
  88468. * columns and bars, this means it will be moved inside the bar. To display
  88469. * data labels outside the plot area, set `crop` to `false` and `overflow`
  88470. * to `"allow"`.
  88471. */
  88472. overflow?: DataLabelsOverflowValue;
  88473. /**
  88474. * (Highcharts) When either the `borderWidth` or the `backgroundColor` is
  88475. * set, this is the padding within the box.
  88476. */
  88477. padding?: number;
  88478. /**
  88479. * (Highcharts) Aligns data labels relative to points. If `center` alignment
  88480. * is not possible, it defaults to `right`.
  88481. */
  88482. position?: AlignValue;
  88483. /**
  88484. * (Highcharts) Text rotation in degrees. Note that due to a more complex
  88485. * structure, backgrounds, borders and padding will be lost on a rotated
  88486. * data label.
  88487. */
  88488. rotation?: number;
  88489. /**
  88490. * (Highcharts) The shadow of the box. Works best with `borderWidth` or
  88491. * `backgroundColor`. Since 2.3 the shadow can be an object configuration
  88492. * containing `color`, `offsetX`, `offsetY`, `opacity` and `width`.
  88493. */
  88494. shadow?: (boolean|ShadowOptionsObject);
  88495. /**
  88496. * (Highcharts) The name of a symbol to use for the border around the label.
  88497. * Symbols are predefined functions on the Renderer object.
  88498. */
  88499. shape?: string;
  88500. /**
  88501. * (Highcharts) Styles for the label. The default `color` setting is
  88502. * `"contrast"`, which is a pseudo color that Highcharts picks up and
  88503. * applies the maximum contrast to the underlying point item, for example
  88504. * the bar in a bar chart.
  88505. *
  88506. * The `textOutline` is a pseudo property that applies an outline of the
  88507. * given width with the given color, which by default is the maximum
  88508. * contrast to the text. So a bright text color will result in a black text
  88509. * outline for maximum readability on a mixed background. In some cases,
  88510. * especially with grayscale text, the text outline doesn't work well, in
  88511. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  88512. * is true, the `textOutline` will not be picked up. In this, case, the same
  88513. * effect can be acheived through the `text-shadow` CSS property.
  88514. *
  88515. * For some series types, where each point has an extent, like for example
  88516. * tree maps, the data label may overflow the point. There are two
  88517. * strategies for handling overflow. By default, the text will wrap to
  88518. * multiple lines. The other strategy is to set `style.textOverflow` to
  88519. * `ellipsis`, which will keep the text on one line plus it will break
  88520. * inside long words.
  88521. */
  88522. style?: CSSObject;
  88523. /**
  88524. * (Highcharts) Options for a label text which should follow marker's shape.
  88525. * Border and background are disabled for a label that follows a path.
  88526. *
  88527. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  88528. * to true will disable this option.
  88529. */
  88530. textPath?: DataLabelsTextPathOptionsObject;
  88531. /**
  88532. * (Highcharts) Whether to use HTML to render the labels.
  88533. */
  88534. useHTML?: boolean;
  88535. /**
  88536. * (Highcharts) The vertical alignment of a data label. Can be one of `top`,
  88537. * `middle` or `bottom`. The default value depends on the data, for instance
  88538. * in a column chart, the label is above positive values and below negative
  88539. * values.
  88540. */
  88541. verticalAlign?: string;
  88542. /**
  88543. * (Highcharts) The x position offset of the label relative to the point in
  88544. * pixels.
  88545. */
  88546. x?: number;
  88547. /**
  88548. * (Highcharts) The y position offset of the label relative to the point in
  88549. * pixels.
  88550. */
  88551. y?: number;
  88552. /**
  88553. * (Highcharts) The Z index of the data labels. The default Z index puts it
  88554. * above the series. Use a Z index of 2 to display it behind the series.
  88555. */
  88556. z?: number;
  88557. }
  88558. /**
  88559. * (Highcharts) Set options on specific levels. Takes precedence over series
  88560. * options, but not point options.
  88561. */
  88562. export interface PlotTreemapLevelsOptions {
  88563. /**
  88564. * (Highcharts) Can set a `borderColor` on all points which lies on the same
  88565. * level.
  88566. */
  88567. borderColor?: ColorString;
  88568. /**
  88569. * (Highcharts) Set the dash style of the border of all the point which lies
  88570. * on the level. See plotOptions.scatter.dashStyle for possible options.
  88571. */
  88572. borderDashStyle?: DashStyleValue;
  88573. /**
  88574. * (Highcharts) Can set the borderWidth on all points which lies on the same
  88575. * level.
  88576. */
  88577. borderWidth?: number;
  88578. /**
  88579. * (Highcharts) Can set a color on all points which lies on the same level.
  88580. */
  88581. color?: (ColorString|GradientColorObject|PatternObject);
  88582. /**
  88583. * (Highcharts) A configuration object to define how the color of a child
  88584. * varies from the parent's color. The variation is distributed among the
  88585. * children of node. For example when setting brightness, the brightness
  88586. * change will range from the parent's original brightness on the first
  88587. * child, to the amount set in the `to` setting on the last node. This
  88588. * allows a gradient-like color scheme that sets children out from each
  88589. * other while highlighting the grouping on treemaps and sectors on sunburst
  88590. * charts.
  88591. */
  88592. colorVariation?: PlotTreemapLevelsColorVariationOptions;
  88593. /**
  88594. * (Highcharts) Can set the options of dataLabels on each point which lies
  88595. * on the level. plotOptions.treemap.dataLabels for possible values.
  88596. */
  88597. dataLabels?: (PlotTreemapLevelsDataLabelsOptions|Array<PlotTreemapLevelsDataLabelsOptions>);
  88598. /**
  88599. * (Highcharts) Can set the layoutAlgorithm option on a specific level.
  88600. */
  88601. layoutAlgorithm?: OptionsLayoutAlgorithmValue;
  88602. /**
  88603. * (Highcharts) Can set the layoutStartingDirection option on a specific
  88604. * level.
  88605. */
  88606. layoutStartingDirection?: OptionsLayoutStartingDirectionValue;
  88607. /**
  88608. * (Highcharts) Decides which level takes effect from the options set in the
  88609. * levels object.
  88610. */
  88611. level?: number;
  88612. }
  88613. /**
  88614. * (Highcharts) A treemap displays hierarchical data using nested rectangles.
  88615. * The data can be laid out in varying ways depending on options.
  88616. *
  88617. * In TypeScript the type option must always be set.
  88618. *
  88619. * Configuration options for the series are given in three levels:
  88620. *
  88621. * 1. Options for all series in a chart are defined in the plotOptions.series
  88622. * object.
  88623. *
  88624. * 2. Options for all `treemap` series are defined in plotOptions.treemap.
  88625. *
  88626. * 3. Options for one single series are given in the series instance array. (see
  88627. * online documentation for example)
  88628. */
  88629. export interface PlotTreemapOptions {
  88630. /**
  88631. * (Highcharts) Accessibility options for a series.
  88632. */
  88633. accessibility?: SeriesAccessibilityOptionsObject;
  88634. /**
  88635. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  88636. * rendered. If `true`, areas which don't correspond to a data point, are
  88637. * rendered as `null` points. If `false`, those areas are skipped.
  88638. */
  88639. allAreas?: boolean;
  88640. /**
  88641. * (Highcharts) Allow this series' points to be selected by clicking on the
  88642. * graphic (columns, point markers, pie slices, map areas etc).
  88643. *
  88644. * The selected points can be handled by point select and unselect events,
  88645. * or collectively by the getSelectedPoints function.
  88646. *
  88647. * And alternative way of selecting points is through dragging.
  88648. */
  88649. allowPointSelect?: boolean;
  88650. /**
  88651. * (Highcharts) When enabled the user can click on a point which is a parent
  88652. * and zoom in on its children.
  88653. */
  88654. allowTraversingTree?: boolean;
  88655. /**
  88656. * (Highcharts) Enabling this option will make the treemap alternate the
  88657. * drawing direction between vertical and horizontal. The next levels
  88658. * starting direction will always be the opposite of the previous.
  88659. */
  88660. alternateStartingDirection?: boolean;
  88661. /**
  88662. * (Highcharts) Enable or disable the initial animation when a series is
  88663. * displayed. The animation can also be set as a configuration object.
  88664. * Please note that this option only applies to the initial animation of the
  88665. * series itself. For other animations, see chart.animation and the
  88666. * animation parameter under the API methods. The following properties are
  88667. * supported:
  88668. *
  88669. * - `defer`: The animation delay time in milliseconds.
  88670. *
  88671. * - `duration`: The duration of the animation in milliseconds.
  88672. *
  88673. * - `easing`: Can be a string reference to an easing function set on the
  88674. * `Math` object or a function. See the _Custom easing function_ demo below.
  88675. *
  88676. * Due to poor performance, animation is disabled in old IE browsers for
  88677. * several chart types.
  88678. */
  88679. animation?: (boolean|PlotTreemapAnimationOptions|Partial<AnimationOptionsObject>);
  88680. /**
  88681. * (Highcharts) For some series, there is a limit that shuts down initial
  88682. * animation by default when the total number of points in the chart is too
  88683. * high. For example, for a column chart and its derivatives, animation does
  88684. * not run if there is more than 250 points totally. To disable this cap,
  88685. * set `animationLimit` to `Infinity`.
  88686. */
  88687. animationLimit?: number;
  88688. /**
  88689. * (Highcharts) Sets the color blending in the boost module.
  88690. */
  88691. boostBlending?: OptionsBoostBlendingValue;
  88692. /**
  88693. * (Highcharts) Set the point threshold for when a series should enter boost
  88694. * mode.
  88695. *
  88696. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  88697. * there are 2000 or more points in the series.
  88698. *
  88699. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  88700. * it to 1 will force boosting.
  88701. *
  88702. * Note that the cropThreshold also affects this setting. When zooming in on
  88703. * a series that has fewer points than the `cropThreshold`, all points are
  88704. * rendered although outside the visible plot area, and the `boostThreshold`
  88705. * won't take effect.
  88706. */
  88707. boostThreshold?: number;
  88708. /**
  88709. * (Highmaps) The color of the border surrounding each tree map item.
  88710. */
  88711. borderColor?: ColorString;
  88712. /**
  88713. * (Highmaps) The width of the border surrounding each tree map item.
  88714. */
  88715. borderWidth?: number;
  88716. /**
  88717. * (Highcharts) An additional class name to apply to the series' graphical
  88718. * elements. This option does not replace default class names of the
  88719. * graphical element.
  88720. */
  88721. className?: string;
  88722. /**
  88723. * (Highcharts) Disable this option to allow series rendering in the whole
  88724. * plotting area.
  88725. *
  88726. * **Note:** Clipping should be always enabled when chart.zoomType is set
  88727. */
  88728. clip?: boolean;
  88729. /**
  88730. * (Highcharts, Highmaps) Options for marker clusters, the concept of
  88731. * sampling the data values into larger blocks in order to ease readability
  88732. * and increase performance of the JavaScript charts.
  88733. *
  88734. * Note: marker clusters module is not working with `boost` and
  88735. * `draggable-points` modules.
  88736. *
  88737. * The marker clusters feature requires the marker-clusters.js file to be
  88738. * loaded, found in the modules directory of the download package, or online
  88739. * at code.highcharts.com/modules/marker-clusters.js.
  88740. */
  88741. cluster?: PlotTreemapClusterOptions;
  88742. /**
  88743. * (Highcharts) The main color of the series. In line type series it applies
  88744. * to the line and the point markers unless otherwise specified. In bar type
  88745. * series it applies to the bars unless a color is specified per point. The
  88746. * default value is pulled from the `options.colors` array.
  88747. *
  88748. * In styled mode, the color can be defined by the colorIndex option. Also,
  88749. * the series color can be set with the `.highcharts-series`,
  88750. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  88751. * `.highcharts-series-{n}` class, or individual classes given by the
  88752. * `className` option.
  88753. */
  88754. color?: (ColorString|GradientColorObject|PatternObject);
  88755. /**
  88756. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  88757. * this number defines which colorAxis the particular series is connected
  88758. * to. It refers to either the axis id or the index of the axis in the
  88759. * colorAxis array, with 0 being the first. Set this option to false to
  88760. * prevent a series from connecting to the default color axis.
  88761. *
  88762. * Since v7.2.0 the option can also be an axis id or an axis index instead
  88763. * of a boolean flag.
  88764. */
  88765. colorAxis?: (boolean|number|string);
  88766. /**
  88767. * (Highcharts) When using automatic point colors pulled from the
  88768. * `options.colors` collection, this option determines whether the chart
  88769. * should receive one color per series or one color per point.
  88770. */
  88771. colorByPoint?: boolean;
  88772. /**
  88773. * (Highcharts) Styled mode only. A specific color index to use for the
  88774. * series, so its graphic representations are given the class name
  88775. * `highcharts-color-{n}`.
  88776. */
  88777. colorIndex?: number;
  88778. /**
  88779. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  88780. * used to calculate point color if `colorAxis` is used. Requires to set
  88781. * `min` and `max` if some custom point property is used or if approximation
  88782. * for data grouping is set to `'sum'`.
  88783. */
  88784. colorKey?: string;
  88785. /**
  88786. * (Highcharts) A series specific or series type specific color set to apply
  88787. * instead of the global colors when colorByPoint is true.
  88788. */
  88789. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  88790. /**
  88791. * (Highstock) Compare the values of the series against the first non-null,
  88792. * non- zero value in the visible range. The y axis will show percentage or
  88793. * absolute change depending on whether `compare` is set to `"percent"` or
  88794. * `"value"`. When this is applied to multiple series, it allows comparing
  88795. * the development of the series against each other. Adds a `change` field
  88796. * to every point object.
  88797. */
  88798. compare?: string;
  88799. /**
  88800. * (Highstock) When compare is `percent`, this option dictates whether to
  88801. * use 0 or 100 as the base of comparison.
  88802. */
  88803. compareBase?: (0|100);
  88804. /**
  88805. * (Highstock) Defines if comparison should start from the first point
  88806. * within the visible range or should start from the first point **before**
  88807. * the range.
  88808. *
  88809. * In other words, this flag determines if first point within the visible
  88810. * range will have 0% (`compareStart=true`) or should have been already
  88811. * calculated according to the previous point (`compareStart=false`).
  88812. */
  88813. compareStart?: boolean;
  88814. /**
  88815. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  88816. * series plot across the extremes.
  88817. */
  88818. connectEnds?: boolean;
  88819. /**
  88820. * (Highcharts, Highstock) Whether to connect a graph line across null
  88821. * points, or render a gap between the two points on either side of the
  88822. * null.
  88823. */
  88824. connectNulls?: boolean;
  88825. /**
  88826. * (Gantt) Override Pathfinder connector options for a series. Requires
  88827. * Highcharts Gantt to be loaded.
  88828. */
  88829. connectors?: SeriesConnectorsOptionsObject;
  88830. /**
  88831. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  88832. * rounded to its nearest pixel in order to render sharp on screen. In some
  88833. * cases, when there are a lot of densely packed columns, this leads to
  88834. * visible difference in column widths or distance between columns. In these
  88835. * cases, setting `crisp` to `false` may look better, even though each
  88836. * column is rendered blurry.
  88837. */
  88838. crisp?: boolean;
  88839. /**
  88840. * (Highcharts) When the series contains less points than the crop
  88841. * threshold, all points are drawn, event if the points fall outside the
  88842. * visible plot area at the current zoom. The advantage of drawing all
  88843. * points (including markers and columns), is that animation is performed on
  88844. * updates. On the other hand, when the series contains more points than the
  88845. * crop threshold, the series data is cropped to only contain points that
  88846. * fall within the plot area. The advantage of cropping away invisible
  88847. * points is to increase performance on large series.
  88848. */
  88849. cropThreshold?: number;
  88850. /**
  88851. * (Highcharts) You can set the cursor to "pointer" if you have click events
  88852. * attached to the series, to signal to the user that the points and lines
  88853. * can be clicked.
  88854. *
  88855. * In styled mode, the series cursor can be set with the same classes as
  88856. * listed under series.color.
  88857. */
  88858. cursor?: (string|CursorValue);
  88859. /**
  88860. * (Highcharts) A reserved subspace to store options and values for
  88861. * customized functionality. Here you can add additional data for your own
  88862. * event callbacks and formatter callbacks.
  88863. */
  88864. custom?: Dictionary<any>;
  88865. /**
  88866. * (Highcharts) Name of the dash style to use for the graph, or for some
  88867. * series types the outline of each shape.
  88868. *
  88869. * In styled mode, the stroke dash-array can be set with the same classes as
  88870. * listed under series.color.
  88871. */
  88872. dashStyle?: DashStyleValue;
  88873. /**
  88874. * (Highstock) Data grouping is the concept of sampling the data values into
  88875. * larger blocks in order to ease readability and increase performance of
  88876. * the JavaScript charts. Highstock by default applies data grouping when
  88877. * the points become closer than a certain pixel value, determined by the
  88878. * `groupPixelWidth` option.
  88879. *
  88880. * If data grouping is applied, the grouping information of grouped points
  88881. * can be read from the Point.dataGroup. If point options other than the
  88882. * data itself are set, for example `name` or `color` or custom properties,
  88883. * the grouping logic doesn't know how to group it. In this case the options
  88884. * of the first point instance are copied over to the group point. This can
  88885. * be altered through a custom `approximation` callback function.
  88886. */
  88887. dataGrouping?: DataGroupingOptionsObject;
  88888. /**
  88889. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  88890. * labels, appearing next to each data point.
  88891. *
  88892. * Since v6.2.0, multiple data labels can be applied to each single point by
  88893. * defining them as an array of configs.
  88894. *
  88895. * In styled mode, the data labels can be styled with the
  88896. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  88897. * (see example).
  88898. */
  88899. dataLabels?: (PlotTreemapDataLabelsOptions|Array<PlotTreemapDataLabelsOptions>);
  88900. /**
  88901. * (Highcharts) A description of the series to add to the screen reader
  88902. * information about the series.
  88903. */
  88904. description?: string;
  88905. /**
  88906. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  88907. * This includes point tooltips and click events on graphs and points. For
  88908. * large datasets it improves performance.
  88909. */
  88910. enableMouseTracking?: boolean;
  88911. /**
  88912. * (Highcharts) General event handlers for the series items. These event
  88913. * hooks can also be attached to the series at run time using the
  88914. * `Highcharts.addEvent` function.
  88915. */
  88916. events?: SeriesEventsOptionsObject;
  88917. /**
  88918. * (Highcharts) Determines whether the series should look for the nearest
  88919. * point in both dimensions or just the x-dimension when hovering the
  88920. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  88921. * series. If the data has duplicate x-values, it is recommended to set this
  88922. * to `'xy'` to allow hovering over all points.
  88923. *
  88924. * Applies only to series types using nearest neighbor search (not direct
  88925. * hover) for tooltip.
  88926. */
  88927. findNearestPointBy?: OptionsFindNearestPointByValue;
  88928. /**
  88929. * (Highstock) Defines when to display a gap in the graph, together with the
  88930. * gapUnit option.
  88931. *
  88932. * In case when `dataGrouping` is enabled, points can be grouped into a
  88933. * larger time span. This can make the grouped points to have a greater
  88934. * distance than the absolute value of `gapSize` property, which will result
  88935. * in disappearing graph completely. To prevent this situation the mentioned
  88936. * distance between grouped points is used instead of previously defined
  88937. * `gapSize`.
  88938. *
  88939. * In practice, this option is most often used to visualize gaps in time
  88940. * series. In a stock chart, intraday data is available for daytime hours,
  88941. * while gaps will appear in nights and weekends.
  88942. */
  88943. gapSize?: number;
  88944. /**
  88945. * (Highstock) Together with gapSize, this option defines where to draw gaps
  88946. * in the graph.
  88947. *
  88948. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  88949. * if the distance between two points is greater than 5 times that of the
  88950. * two closest points, the graph will be broken.
  88951. *
  88952. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  88953. * values, which on a datetime axis is milliseconds. This also applies to
  88954. * the navigator series that inherits gap options from the base series.
  88955. */
  88956. gapUnit?: OptionsGapUnitValue;
  88957. /**
  88958. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  88959. * chart width or only the zoomed area when zooming in on parts of the X
  88960. * axis. By default, the Y axis adjusts to the min and max of the visible
  88961. * data. Cartesian series only.
  88962. */
  88963. getExtremesFromAll?: boolean;
  88964. /**
  88965. * (Highcharts) Whether to ignore hidden points when the layout algorithm
  88966. * runs. If `false`, hidden points will leave open spaces.
  88967. */
  88968. ignoreHiddenPoint?: boolean;
  88969. /**
  88970. * (Highcharts) When set to `false` will prevent the series data from being
  88971. * included in any form of data export.
  88972. *
  88973. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  88974. * `includeInCSVExport`.
  88975. */
  88976. includeInDataExport?: boolean;
  88977. /**
  88978. * (Highcharts) This option decides if the user can interact with the parent
  88979. * nodes or just the leaf nodes. When this option is undefined, it will be
  88980. * true by default. However when allowTraversingTree is true, then it will
  88981. * be false by default.
  88982. */
  88983. interactByLeaf?: boolean;
  88984. /**
  88985. * (Highmaps) What property to join the `mapData` to the value data. For
  88986. * example, if joinBy is "code", the mapData items with a specific code is
  88987. * merged into the data with the same code. For maps loaded from GeoJSON,
  88988. * the keys may be held in each point's `properties` object.
  88989. *
  88990. * The joinBy option can also be an array of two values, where the first
  88991. * points to a key in the `mapData`, and the second points to another key in
  88992. * the `data`.
  88993. *
  88994. * When joinBy is `null`, the map items are joined by their position in the
  88995. * array, which performs much better in maps with many data points. This is
  88996. * the recommended option if you are printing more than a thousand data
  88997. * points and have a backend that can preprocess the data into a parallel
  88998. * array of the mapData.
  88999. */
  89000. joinBy?: (string|Array<string>);
  89001. /**
  89002. * (Highcharts) An array specifying which option maps to which key in the
  89003. * data point array. This makes it convenient to work with unstructured data
  89004. * arrays from different sources.
  89005. */
  89006. keys?: Array<string>;
  89007. /**
  89008. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  89009. * series as possible in a natural way, seeking to avoid other series. The
  89010. * goal of this feature is to make the chart more easily readable, like if a
  89011. * human designer placed the labels in the optimal position.
  89012. *
  89013. * The series labels currently work with series types having a `graph` or an
  89014. * `area`.
  89015. */
  89016. label?: SeriesLabelOptionsObject;
  89017. /**
  89018. * (Highstock) The line marks the last price from all points.
  89019. */
  89020. lastPrice?: SeriesLastPriceOptionsObject;
  89021. /**
  89022. * (Highstock) The line marks the last price from visible range of points.
  89023. */
  89024. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  89025. /**
  89026. * (Highcharts) This option decides which algorithm is used for setting
  89027. * position and dimensions of the points.
  89028. */
  89029. layoutAlgorithm?: OptionsLayoutAlgorithmValue;
  89030. /**
  89031. * (Highcharts) Defines which direction the layout algorithm will start
  89032. * drawing.
  89033. */
  89034. layoutStartingDirection?: OptionsLayoutStartingDirectionValue;
  89035. /**
  89036. * (Highcharts) Used together with the levels and allowTraversingTree
  89037. * options. When set to false the first level visible to be level one, which
  89038. * is dynamic when traversing the tree. Otherwise the level will be the same
  89039. * as the tree structure.
  89040. */
  89041. levelIsConstant?: boolean;
  89042. /**
  89043. * (Highcharts) Set options on specific levels. Takes precedence over series
  89044. * options, but not point options.
  89045. */
  89046. levels?: Array<PlotTreemapLevelsOptions>;
  89047. /**
  89048. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  89049. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  89050. * the ends and bends.
  89051. */
  89052. linecap?: SeriesLinecapValue;
  89053. /**
  89054. * (Highcharts, Highstock) The width of the line connecting the data points.
  89055. */
  89056. lineWidth?: number;
  89057. /**
  89058. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  89059. * Additionally, the value can be ":previous" to link to the previous
  89060. * series. When two series are linked, only the first one appears in the
  89061. * legend. Toggling the visibility of this also toggles the linked series.
  89062. *
  89063. * If master series uses data sorting and linked series does not have its
  89064. * own sorting definition, the linked series will be sorted in the same
  89065. * order as the master one.
  89066. */
  89067. linkedTo?: string;
  89068. /**
  89069. * (Highstock) Options for the corresponding navigator series if
  89070. * `showInNavigator` is `true` for this series. Available options are the
  89071. * same as any series, documented at plotOptions and series.
  89072. *
  89073. * These options are merged with options in navigator.series, and will take
  89074. * precedence if the same option is defined both places.
  89075. */
  89076. navigatorOptions?: PlotSeriesOptions;
  89077. /**
  89078. * (Highcharts) The color for the parts of the graph or points that are
  89079. * below the threshold. Note that `zones` takes precedence over the negative
  89080. * color. Using `negativeColor` is equivalent to applying a zone with value
  89081. * of 0.
  89082. */
  89083. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  89084. /**
  89085. * (Highcharts) The opacity of a point in treemap. When a point has
  89086. * children, the visibility of the children is determined by the opacity.
  89087. */
  89088. opacity?: number;
  89089. /**
  89090. * (Highcharts) Properties for each single point.
  89091. */
  89092. point?: PlotSeriesPointOptions;
  89093. /**
  89094. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  89095. * individual series. Overrides the chart wide configuration.
  89096. */
  89097. pointDescriptionFormatter?: Function;
  89098. /**
  89099. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  89100. * a series, `pointInterval` defines the interval of the x values. For
  89101. * example, if a series contains one value every decade starting from year
  89102. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  89103. * `pointInterval` is set in milliseconds.
  89104. *
  89105. * It can be also be combined with `pointIntervalUnit` to draw irregular
  89106. * time intervals.
  89107. *
  89108. * Please note that this options applies to the _series data_, not the
  89109. * interval of the axis ticks, which is independent.
  89110. */
  89111. pointInterval?: number;
  89112. /**
  89113. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  89114. * setting the pointInterval to irregular time units, `day`, `month` and
  89115. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  89116. * also takes the DST crossover into consideration when dealing with local
  89117. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  89118. * months, 10 years etc.
  89119. *
  89120. * Please note that this options applies to the _series data_, not the
  89121. * interval of the axis ticks, which is independent.
  89122. */
  89123. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  89124. /**
  89125. * (Highstock) The width of each point on the x axis. For example in a
  89126. * column chart with one value each day, the pointRange would be 1 day (= 24
  89127. * * 3600
  89128. *
  89129. * * 1000 milliseconds). This is normally computed automatically, but this
  89130. * option can be used to override the automatic value.
  89131. */
  89132. pointRange?: number;
  89133. /**
  89134. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  89135. * a series, pointStart defines on what value to start. For example, if a
  89136. * series contains one yearly value starting from 1945, set pointStart to
  89137. * 1945.
  89138. */
  89139. pointStart?: number;
  89140. /**
  89141. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  89142. * true, the checkbox next to the series name in the legend will be checked
  89143. * for a selected series.
  89144. */
  89145. selected?: boolean;
  89146. /**
  89147. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  89148. * allow selecting the series. The state of the checkbox is determined by
  89149. * the `selected` option.
  89150. */
  89151. showCheckbox?: boolean;
  89152. /**
  89153. * (Highcharts) Whether to display this series type or specific series item
  89154. * in the legend.
  89155. */
  89156. showInLegend?: boolean;
  89157. /**
  89158. * (Highstock) Whether or not to show the series in the navigator. Takes
  89159. * precedence over navigator.baseSeries if defined.
  89160. */
  89161. showInNavigator?: boolean;
  89162. /**
  89163. * (Highcharts) If set to `true`, the accessibility module will skip past
  89164. * the points in this series for keyboard navigation.
  89165. */
  89166. skipKeyboardNavigation?: boolean;
  89167. /**
  89168. * (Highcharts, Highstock) When this is true, the series will not cause the
  89169. * Y axis to cross the zero plane (or threshold option) unless the data
  89170. * actually crosses the plane.
  89171. *
  89172. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  89173. * make the Y axis show negative values according to the `minPadding`
  89174. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  89175. */
  89176. softThreshold?: boolean;
  89177. /**
  89178. * (Highcharts) The sort index of the point inside the treemap level.
  89179. */
  89180. sortIndex?: number;
  89181. /**
  89182. * (Highcharts, Highstock) Whether to stack the values of each series on top
  89183. * of each other. Possible values are `undefined` to disable, `"normal"` to
  89184. * stack by value or `"percent"`.
  89185. *
  89186. * When stacking is enabled, data must be sorted in ascending X order.
  89187. *
  89188. * Some stacking options are related to specific series types. In the
  89189. * streamgraph series type, the stacking option is set to `"stream"`. The
  89190. * second one is `"overlap"`, which only applies to waterfall series.
  89191. */
  89192. stacking?: OptionsStackingValue;
  89193. /**
  89194. * (Highcharts) A wrapper object for all the series options in specific
  89195. * states.
  89196. */
  89197. states?: SeriesStatesOptionsObject;
  89198. /**
  89199. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  89200. * values are `left`, `center` and `right`.
  89201. */
  89202. step?: OptionsStepValue;
  89203. /**
  89204. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  89205. * `mouseOut` event on a series isn't triggered until the mouse moves over
  89206. * another series, or out of the plot area. When false, the `mouseOut` event
  89207. * on a series is triggered when the mouse leaves the area around the
  89208. * series' graph or markers. This also implies the tooltip. When
  89209. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  89210. * be hidden when moving the mouse between series.
  89211. */
  89212. stickyTracking?: boolean;
  89213. /**
  89214. * (Highcharts, Highstock) The threshold, also called zero level or base
  89215. * level. For line type series this is only used in conjunction with
  89216. * negativeColor.
  89217. */
  89218. threshold?: number;
  89219. /**
  89220. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  89221. * of each single series. Properties are inherited from tooltip. Overridable
  89222. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  89223. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  89224. * series.name by default shows in the headerFormat and point.x and point.y
  89225. * in the pointFormat.
  89226. */
  89227. tooltip?: SeriesTooltipOptionsObject;
  89228. /**
  89229. * (Highcharts) Options for the button appearing when traversing down in a
  89230. * treemap.
  89231. */
  89232. traverseUpButton?: PlotTreemapTraverseUpButtonOptions;
  89233. /**
  89234. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  89235. * is longer than this, only one dimensional arrays of numbers, or two
  89236. * dimensional arrays with x and y values are allowed. Also, only the first
  89237. * point is tested, and the rest are assumed to be the same format. This
  89238. * saves expensive data checking and indexing in long series. Set it to `0`
  89239. * disable.
  89240. *
  89241. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  89242. * two dimensional arrays are allowed.
  89243. */
  89244. turboThreshold?: number;
  89245. /**
  89246. * (Highcharts) Set the initial visibility of the series.
  89247. */
  89248. visible?: boolean;
  89249. /**
  89250. * (Highmaps) Define the z index of the series.
  89251. */
  89252. zIndex?: number;
  89253. /**
  89254. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  89255. */
  89256. zoneAxis?: string;
  89257. /**
  89258. * (Highcharts, Highstock) An array defining zones within a series. Zones
  89259. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  89260. * the `zoneAxis` option. The zone definitions have to be in ascending order
  89261. * regarding to the value.
  89262. *
  89263. * In styled mode, the color zones are styled with the
  89264. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  89265. * option (view live demo).
  89266. */
  89267. zones?: Array<SeriesZonesOptionsObject>;
  89268. }
  89269. /**
  89270. * (Highcharts) Options for the button appearing when traversing down in a
  89271. * treemap.
  89272. */
  89273. export interface PlotTreemapTraverseUpButtonOptions {
  89274. /**
  89275. * (Highcharts) The position of the button.
  89276. */
  89277. position?: PlotTreemapTraverseUpButtonPositionOptions;
  89278. }
  89279. /**
  89280. * (Highcharts) The position of the button.
  89281. */
  89282. export interface PlotTreemapTraverseUpButtonPositionOptions {
  89283. /**
  89284. * (Highcharts) Horizontal alignment of the button.
  89285. */
  89286. align?: AlignValue;
  89287. /**
  89288. * (Highcharts) Vertical alignment of the button.
  89289. */
  89290. verticalAlign?: VerticalAlignValue;
  89291. /**
  89292. * (Highcharts) Horizontal offset of the button.
  89293. */
  89294. x?: number;
  89295. /**
  89296. * (Highcharts) Vertical offset of the button.
  89297. */
  89298. y?: number;
  89299. }
  89300. /**
  89301. * (Highstock) Enable or disable the initial animation when a series is
  89302. * displayed. The animation can also be set as a configuration object. Please
  89303. * note that this option only applies to the initial animation of the series
  89304. * itself. For other animations, see chart.animation and the animation parameter
  89305. * under the API methods. The following properties are supported:
  89306. *
  89307. * - `defer`: The animation delay time in milliseconds.
  89308. *
  89309. * - `duration`: The duration of the animation in milliseconds.
  89310. *
  89311. * - `easing`: Can be a string reference to an easing function set on the `Math`
  89312. * object or a function. See the _Custom easing function_ demo below.
  89313. *
  89314. * Due to poor performance, animation is disabled in old IE browsers for several
  89315. * chart types.
  89316. */
  89317. export interface PlotTrendlineAnimationOptions {
  89318. defer?: number;
  89319. }
  89320. /**
  89321. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  89322. * animation when a series is displayed for the `dataLabels`. The animation can
  89323. * also be set as a configuration object. Please note that this option only
  89324. * applies to the initial animation. For other animations, see chart.animation
  89325. * and the animation parameter under the API methods. The following properties
  89326. * are supported:
  89327. *
  89328. * - `defer`: The animation delay time in milliseconds.
  89329. */
  89330. export interface PlotTrendlineDataLabelsAnimationOptions {
  89331. /**
  89332. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  89333. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  89334. * inherits defer time from the series.animation.defer.
  89335. */
  89336. defer?: number;
  89337. }
  89338. /**
  89339. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  89340. * appearing next to each data point.
  89341. *
  89342. * Since v6.2.0, multiple data labels can be applied to each single point by
  89343. * defining them as an array of configs.
  89344. *
  89345. * In styled mode, the data labels can be styled with the
  89346. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  89347. * example).
  89348. */
  89349. export interface PlotTrendlineDataLabelsOptions {
  89350. /**
  89351. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  89352. * compared to the point. If `right`, the right side of the label should be
  89353. * touching the point. For points with an extent, like columns, the
  89354. * alignments also dictates how to align it inside the box, as given with
  89355. * the inside option. Can be one of `left`, `center` or `right`.
  89356. */
  89357. align?: (AlignValue|null);
  89358. /**
  89359. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  89360. * overlap. To make the labels less sensitive for overlapping, the
  89361. * dataLabels.padding can be set to 0.
  89362. */
  89363. allowOverlap?: boolean;
  89364. /**
  89365. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  89366. * animation when a series is displayed for the `dataLabels`. The animation
  89367. * can also be set as a configuration object. Please note that this option
  89368. * only applies to the initial animation. For other animations, see
  89369. * chart.animation and the animation parameter under the API methods. The
  89370. * following properties are supported:
  89371. *
  89372. * - `defer`: The animation delay time in milliseconds.
  89373. */
  89374. animation?: (boolean|PlotTrendlineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  89375. /**
  89376. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  89377. * for the data label.
  89378. */
  89379. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  89380. /**
  89381. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  89382. * label. Defaults to `undefined`.
  89383. */
  89384. borderColor?: (ColorString|GradientColorObject|PatternObject);
  89385. /**
  89386. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  89387. * the data label.
  89388. */
  89389. borderRadius?: number;
  89390. /**
  89391. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  89392. * the data label.
  89393. */
  89394. borderWidth?: number;
  89395. /**
  89396. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  89397. * Particularly in styled mode, this can be used to give each series' or
  89398. * point's data label unique styling. In addition to this option, a default
  89399. * color class name is added so that we can give the labels a contrast text
  89400. * shadow.
  89401. */
  89402. className?: string;
  89403. /**
  89404. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  89405. * labels. Defaults to `undefined`. For certain series types, like column or
  89406. * map, the data labels can be drawn inside the points. In this case the
  89407. * data label will be drawn with maximum contrast by default. Additionally,
  89408. * it will be given a `text-outline` style with the opposite color, to
  89409. * further increase the contrast. This can be overridden by setting the
  89410. * `text-outline` style to `none` in the `dataLabels.style` option.
  89411. */
  89412. color?: (ColorString|GradientColorObject|PatternObject);
  89413. /**
  89414. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  89415. * are outside the plot area. By default, the data label is moved inside the
  89416. * plot area according to the overflow option.
  89417. */
  89418. crop?: boolean;
  89419. /**
  89420. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  89421. * labels until the initial series animation has finished. Setting to
  89422. * `false` renders the data label immediately. If set to `true` inherits the
  89423. * defer time set in plotOptions.series.animation.
  89424. */
  89425. defer?: boolean;
  89426. /**
  89427. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  89428. * labels.
  89429. */
  89430. enabled?: boolean;
  89431. /**
  89432. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  89433. * of which data labels to display. The declarative filter is designed for
  89434. * use when callback functions are not available, like when the chart
  89435. * options require a pure JSON structure or for use with graphical editors.
  89436. * For programmatic control, use the `formatter` instead, and return
  89437. * `undefined` to disable a single data label.
  89438. */
  89439. filter?: DataLabelsFilterOptionsObject;
  89440. /**
  89441. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  89442. * label. Available variables are the same as for `formatter`.
  89443. */
  89444. format?: string;
  89445. /**
  89446. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  89447. * format the data label. Note that if a `format` is defined, the format
  89448. * takes precedence and the formatter is ignored.
  89449. */
  89450. formatter?: DataLabelsFormatterCallbackFunction;
  89451. /**
  89452. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  89453. * columns or map areas, whether to align the data label inside the box or
  89454. * to the actual value point. Defaults to `false` in most cases, `true` in
  89455. * stacked columns.
  89456. */
  89457. inside?: boolean;
  89458. /**
  89459. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  89460. * of null. Works analogously to format. `nullFormat` can be applied only to
  89461. * series which support displaying null points.
  89462. */
  89463. nullFormat?: (boolean|string);
  89464. /**
  89465. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  89466. * that defines formatting for points with the value of null. Works
  89467. * analogously to formatter. `nullPointFormatter` can be applied only to
  89468. * series which support displaying null points.
  89469. */
  89470. nullFormatter?: DataLabelsFormatterCallbackFunction;
  89471. /**
  89472. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  89473. * flow outside the plot area. The default is `"justify"`, which aligns them
  89474. * inside the plot area. For columns and bars, this means it will be moved
  89475. * inside the bar. To display data labels outside the plot area, set `crop`
  89476. * to `false` and `overflow` to `"allow"`.
  89477. */
  89478. overflow?: DataLabelsOverflowValue;
  89479. /**
  89480. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  89481. * the `backgroundColor` is set, this is the padding within the box.
  89482. */
  89483. padding?: number;
  89484. /**
  89485. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  89486. * points. If `center` alignment is not possible, it defaults to `right`.
  89487. */
  89488. position?: AlignValue;
  89489. /**
  89490. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  89491. * that due to a more complex structure, backgrounds, borders and padding
  89492. * will be lost on a rotated data label.
  89493. */
  89494. rotation?: number;
  89495. /**
  89496. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  89497. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  89498. * an object configuration containing `color`, `offsetX`, `offsetY`,
  89499. * `opacity` and `width`.
  89500. */
  89501. shadow?: (boolean|ShadowOptionsObject);
  89502. /**
  89503. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  89504. * the border around the label. Symbols are predefined functions on the
  89505. * Renderer object.
  89506. */
  89507. shape?: string;
  89508. /**
  89509. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  89510. * default `color` setting is `"contrast"`, which is a pseudo color that
  89511. * Highcharts picks up and applies the maximum contrast to the underlying
  89512. * point item, for example the bar in a bar chart.
  89513. *
  89514. * The `textOutline` is a pseudo property that applies an outline of the
  89515. * given width with the given color, which by default is the maximum
  89516. * contrast to the text. So a bright text color will result in a black text
  89517. * outline for maximum readability on a mixed background. In some cases,
  89518. * especially with grayscale text, the text outline doesn't work well, in
  89519. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  89520. * is true, the `textOutline` will not be picked up. In this, case, the same
  89521. * effect can be acheived through the `text-shadow` CSS property.
  89522. *
  89523. * For some series types, where each point has an extent, like for example
  89524. * tree maps, the data label may overflow the point. There are two
  89525. * strategies for handling overflow. By default, the text will wrap to
  89526. * multiple lines. The other strategy is to set `style.textOverflow` to
  89527. * `ellipsis`, which will keep the text on one line plus it will break
  89528. * inside long words.
  89529. */
  89530. style?: CSSObject;
  89531. /**
  89532. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  89533. * should follow marker's shape. Border and background are disabled for a
  89534. * label that follows a path.
  89535. *
  89536. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  89537. * to true will disable this option.
  89538. */
  89539. textPath?: DataLabelsTextPathOptionsObject;
  89540. /**
  89541. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  89542. * the labels.
  89543. */
  89544. useHTML?: boolean;
  89545. /**
  89546. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  89547. * label. Can be one of `top`, `middle` or `bottom`. The default value
  89548. * depends on the data, for instance in a column chart, the label is above
  89549. * positive values and below negative values.
  89550. */
  89551. verticalAlign?: (VerticalAlignValue|null);
  89552. /**
  89553. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  89554. * label relative to the point in pixels.
  89555. */
  89556. x?: number;
  89557. /**
  89558. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  89559. * label relative to the point in pixels.
  89560. */
  89561. y?: number;
  89562. /**
  89563. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  89564. * The default Z index puts it above the series. Use a Z index of 2 to
  89565. * display it behind the series.
  89566. */
  89567. z?: number;
  89568. }
  89569. /**
  89570. * (Highcharts, Highstock) Options for the series data sorting.
  89571. */
  89572. export interface PlotTrendlineDataSortingOptions {
  89573. /**
  89574. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  89575. * Use xAxis.reversed to change the sorting order.
  89576. */
  89577. enabled?: boolean;
  89578. /**
  89579. * (Highcharts, Highstock) Whether to allow matching points by name in an
  89580. * update. If this option is disabled, points will be matched by order.
  89581. */
  89582. matchByName?: boolean;
  89583. /**
  89584. * (Highcharts, Highstock) Determines what data value should be used to sort
  89585. * by.
  89586. */
  89587. sortKey?: string;
  89588. }
  89589. /**
  89590. * (Highstock) Trendline (linear regression) fits a straight line to the
  89591. * selected data using a method called the Sum Of Least Squares. This series
  89592. * requires the `linkedTo` option to be set.
  89593. *
  89594. * In TypeScript the type option must always be set.
  89595. *
  89596. * Configuration options for the series are given in three levels:
  89597. *
  89598. * 1. Options for all series in a chart are defined in the plotOptions.series
  89599. * object.
  89600. *
  89601. * 2. Options for all `trendline` series are defined in plotOptions.trendline.
  89602. *
  89603. * 3. Options for one single series are given in the series instance array. (see
  89604. * online documentation for example)
  89605. */
  89606. export interface PlotTrendlineOptions {
  89607. /**
  89608. * (Highstock) Accessibility options for a series.
  89609. */
  89610. accessibility?: SeriesAccessibilityOptionsObject;
  89611. /**
  89612. * (Highstock) Allow this series' points to be selected by clicking on the
  89613. * graphic (columns, point markers, pie slices, map areas etc).
  89614. *
  89615. * The selected points can be handled by point select and unselect events,
  89616. * or collectively by the getSelectedPoints function.
  89617. *
  89618. * And alternative way of selecting points is through dragging.
  89619. */
  89620. allowPointSelect?: boolean;
  89621. /**
  89622. * (Highstock) Enable or disable the initial animation when a series is
  89623. * displayed. The animation can also be set as a configuration object.
  89624. * Please note that this option only applies to the initial animation of the
  89625. * series itself. For other animations, see chart.animation and the
  89626. * animation parameter under the API methods. The following properties are
  89627. * supported:
  89628. *
  89629. * - `defer`: The animation delay time in milliseconds.
  89630. *
  89631. * - `duration`: The duration of the animation in milliseconds.
  89632. *
  89633. * - `easing`: Can be a string reference to an easing function set on the
  89634. * `Math` object or a function. See the _Custom easing function_ demo below.
  89635. *
  89636. * Due to poor performance, animation is disabled in old IE browsers for
  89637. * several chart types.
  89638. */
  89639. animation?: (boolean|PlotTrendlineAnimationOptions|Partial<AnimationOptionsObject>);
  89640. /**
  89641. * (Highstock) For some series, there is a limit that shuts down initial
  89642. * animation by default when the total number of points in the chart is too
  89643. * high. For example, for a column chart and its derivatives, animation does
  89644. * not run if there is more than 250 points totally. To disable this cap,
  89645. * set `animationLimit` to `Infinity`.
  89646. */
  89647. animationLimit?: number;
  89648. /**
  89649. * (Highstock) Sets the color blending in the boost module.
  89650. */
  89651. boostBlending?: OptionsBoostBlendingValue;
  89652. /**
  89653. * (Highstock) Set the point threshold for when a series should enter boost
  89654. * mode.
  89655. *
  89656. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  89657. * there are 2000 or more points in the series.
  89658. *
  89659. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  89660. * it to 1 will force boosting.
  89661. *
  89662. * Note that the cropThreshold also affects this setting. When zooming in on
  89663. * a series that has fewer points than the `cropThreshold`, all points are
  89664. * rendered although outside the visible plot area, and the `boostThreshold`
  89665. * won't take effect.
  89666. */
  89667. boostThreshold?: number;
  89668. /**
  89669. * (Highmaps) The border color of the map areas.
  89670. *
  89671. * In styled mode, the border stroke is given in the `.highcharts-point`
  89672. * class.
  89673. */
  89674. borderColor?: (ColorString|GradientColorObject|PatternObject);
  89675. /**
  89676. * (Highmaps) The border width of each map area.
  89677. *
  89678. * In styled mode, the border stroke width is given in the
  89679. * `.highcharts-point` class.
  89680. */
  89681. borderWidth?: number;
  89682. /**
  89683. * (Highstock) An additional class name to apply to the series' graphical
  89684. * elements. This option does not replace default class names of the
  89685. * graphical element.
  89686. */
  89687. className?: string;
  89688. /**
  89689. * (Highstock) Disable this option to allow series rendering in the whole
  89690. * plotting area.
  89691. *
  89692. * **Note:** Clipping should be always enabled when chart.zoomType is set
  89693. */
  89694. clip?: boolean;
  89695. /**
  89696. * (Highstock) The main color of the series. In line type series it applies
  89697. * to the line and the point markers unless otherwise specified. In bar type
  89698. * series it applies to the bars unless a color is specified per point. The
  89699. * default value is pulled from the `options.colors` array.
  89700. *
  89701. * In styled mode, the color can be defined by the colorIndex option. Also,
  89702. * the series color can be set with the `.highcharts-series`,
  89703. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  89704. * `.highcharts-series-{n}` class, or individual classes given by the
  89705. * `className` option.
  89706. */
  89707. color?: (ColorString|GradientColorObject|PatternObject);
  89708. /**
  89709. * (Highstock) Styled mode only. A specific color index to use for the
  89710. * series, so its graphic representations are given the class name
  89711. * `highcharts-color-{n}`.
  89712. */
  89713. colorIndex?: number;
  89714. /**
  89715. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  89716. * used to calculate point color if `colorAxis` is used. Requires to set
  89717. * `min` and `max` if some custom point property is used or if approximation
  89718. * for data grouping is set to `'sum'`.
  89719. */
  89720. colorKey?: string;
  89721. /**
  89722. * (Highstock) Compare the values of the series against the first non-null,
  89723. * non- zero value in the visible range. The y axis will show percentage or
  89724. * absolute change depending on whether `compare` is set to `"percent"` or
  89725. * `"value"`. When this is applied to multiple series, it allows comparing
  89726. * the development of the series against each other. Adds a `change` field
  89727. * to every point object.
  89728. */
  89729. compare?: string;
  89730. /**
  89731. * (Highstock) When compare is `percent`, this option dictates whether to
  89732. * use 0 or 100 as the base of comparison.
  89733. */
  89734. compareBase?: (0|100);
  89735. /**
  89736. * (Highstock) Defines if comparison should start from the first point
  89737. * within the visible range or should start from the first point **before**
  89738. * the range.
  89739. *
  89740. * In other words, this flag determines if first point within the visible
  89741. * range will have 0% (`compareStart=true`) or should have been already
  89742. * calculated according to the previous point (`compareStart=false`).
  89743. */
  89744. compareStart?: boolean;
  89745. /**
  89746. * (Highstock) Whether to compare indicator to the main series values or
  89747. * indicator values.
  89748. */
  89749. compareToMain?: boolean;
  89750. /**
  89751. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  89752. * series plot across the extremes.
  89753. */
  89754. connectEnds?: boolean;
  89755. /**
  89756. * (Highcharts, Highstock) Whether to connect a graph line across null
  89757. * points, or render a gap between the two points on either side of the
  89758. * null.
  89759. */
  89760. connectNulls?: boolean;
  89761. /**
  89762. * (Gantt) Override Pathfinder connector options for a series. Requires
  89763. * Highcharts Gantt to be loaded.
  89764. */
  89765. connectors?: SeriesConnectorsOptionsObject;
  89766. /**
  89767. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  89768. * rounded to its nearest pixel in order to render sharp on screen. In some
  89769. * cases, when there are a lot of densely packed columns, this leads to
  89770. * visible difference in column widths or distance between columns. In these
  89771. * cases, setting `crisp` to `false` may look better, even though each
  89772. * column is rendered blurry.
  89773. */
  89774. crisp?: boolean;
  89775. /**
  89776. * (Highcharts, Highstock) When the series contains less points than the
  89777. * crop threshold, all points are drawn, even if the points fall outside the
  89778. * visible plot area at the current zoom. The advantage of drawing all
  89779. * points (including markers and columns), is that animation is performed on
  89780. * updates. On the other hand, when the series contains more points than the
  89781. * crop threshold, the series data is cropped to only contain points that
  89782. * fall within the plot area. The advantage of cropping away invisible
  89783. * points is to increase performance on large series.
  89784. */
  89785. cropThreshold?: number;
  89786. /**
  89787. * (Highstock) You can set the cursor to "pointer" if you have click events
  89788. * attached to the series, to signal to the user that the points and lines
  89789. * can be clicked.
  89790. *
  89791. * In styled mode, the series cursor can be set with the same classes as
  89792. * listed under series.color.
  89793. */
  89794. cursor?: (string|CursorValue);
  89795. /**
  89796. * (Highstock) A reserved subspace to store options and values for
  89797. * customized functionality. Here you can add additional data for your own
  89798. * event callbacks and formatter callbacks.
  89799. */
  89800. custom?: Dictionary<any>;
  89801. /**
  89802. * (Highstock) Name of the dash style to use for the graph, or for some
  89803. * series types the outline of each shape.
  89804. *
  89805. * In styled mode, the stroke dash-array can be set with the same classes as
  89806. * listed under series.color.
  89807. */
  89808. dashStyle?: DashStyleValue;
  89809. /**
  89810. * (Highstock) Data grouping is the concept of sampling the data values into
  89811. * larger blocks in order to ease readability and increase performance of
  89812. * the JavaScript charts. Highstock by default applies data grouping when
  89813. * the points become closer than a certain pixel value, determined by the
  89814. * `groupPixelWidth` option.
  89815. *
  89816. * If data grouping is applied, the grouping information of grouped points
  89817. * can be read from the Point.dataGroup. If point options other than the
  89818. * data itself are set, for example `name` or `color` or custom properties,
  89819. * the grouping logic doesn't know how to group it. In this case the options
  89820. * of the first point instance are copied over to the group point. This can
  89821. * be altered through a custom `approximation` callback function.
  89822. */
  89823. dataGrouping?: DataGroupingOptionsObject;
  89824. /**
  89825. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  89826. * labels, appearing next to each data point.
  89827. *
  89828. * Since v6.2.0, multiple data labels can be applied to each single point by
  89829. * defining them as an array of configs.
  89830. *
  89831. * In styled mode, the data labels can be styled with the
  89832. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  89833. * (see example).
  89834. */
  89835. dataLabels?: (PlotTrendlineDataLabelsOptions|Array<PlotTrendlineDataLabelsOptions>);
  89836. /**
  89837. * (Highcharts, Highstock) Options for the series data sorting.
  89838. */
  89839. dataSorting?: (DataSortingOptionsObject|PlotTrendlineDataSortingOptions);
  89840. /**
  89841. * (Highstock) A description of the series to add to the screen reader
  89842. * information about the series.
  89843. */
  89844. description?: string;
  89845. /**
  89846. * (Highstock) Enable or disable the mouse tracking for a specific series.
  89847. * This includes point tooltips and click events on graphs and points. For
  89848. * large datasets it improves performance.
  89849. */
  89850. enableMouseTracking?: boolean;
  89851. /**
  89852. * (Highstock) General event handlers for the series items. These event
  89853. * hooks can also be attached to the series at run time using the
  89854. * `Highcharts.addEvent` function.
  89855. */
  89856. events?: SeriesEventsOptionsObject;
  89857. /**
  89858. * (Highstock) Determines whether the series should look for the nearest
  89859. * point in both dimensions or just the x-dimension when hovering the
  89860. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  89861. * series. If the data has duplicate x-values, it is recommended to set this
  89862. * to `'xy'` to allow hovering over all points.
  89863. *
  89864. * Applies only to series types using nearest neighbor search (not direct
  89865. * hover) for tooltip.
  89866. */
  89867. findNearestPointBy?: OptionsFindNearestPointByValue;
  89868. /**
  89869. * (Highstock) Defines when to display a gap in the graph, together with the
  89870. * gapUnit option.
  89871. *
  89872. * In case when `dataGrouping` is enabled, points can be grouped into a
  89873. * larger time span. This can make the grouped points to have a greater
  89874. * distance than the absolute value of `gapSize` property, which will result
  89875. * in disappearing graph completely. To prevent this situation the mentioned
  89876. * distance between grouped points is used instead of previously defined
  89877. * `gapSize`.
  89878. *
  89879. * In practice, this option is most often used to visualize gaps in time
  89880. * series. In a stock chart, intraday data is available for daytime hours,
  89881. * while gaps will appear in nights and weekends.
  89882. */
  89883. gapSize?: number;
  89884. /**
  89885. * (Highstock) Together with gapSize, this option defines where to draw gaps
  89886. * in the graph.
  89887. *
  89888. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  89889. * if the distance between two points is greater than 5 times that of the
  89890. * two closest points, the graph will be broken.
  89891. *
  89892. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  89893. * values, which on a datetime axis is milliseconds. This also applies to
  89894. * the navigator series that inherits gap options from the base series.
  89895. */
  89896. gapUnit?: OptionsGapUnitValue;
  89897. /**
  89898. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  89899. * chart width or only the zoomed area when zooming in on parts of the X
  89900. * axis. By default, the Y axis adjusts to the min and max of the visible
  89901. * data. Cartesian series only.
  89902. */
  89903. getExtremesFromAll?: boolean;
  89904. /**
  89905. * (Highstock) When set to `false` will prevent the series data from being
  89906. * included in any form of data export.
  89907. *
  89908. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  89909. * `includeInCSVExport`.
  89910. */
  89911. includeInDataExport?: boolean;
  89912. /**
  89913. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  89914. * series as possible in a natural way, seeking to avoid other series. The
  89915. * goal of this feature is to make the chart more easily readable, like if a
  89916. * human designer placed the labels in the optimal position.
  89917. *
  89918. * The series labels currently work with series types having a `graph` or an
  89919. * `area`.
  89920. */
  89921. label?: SeriesLabelOptionsObject;
  89922. /**
  89923. * (Highstock) The line marks the last price from all points.
  89924. */
  89925. lastPrice?: SeriesLastPriceOptionsObject;
  89926. /**
  89927. * (Highstock) The line marks the last price from visible range of points.
  89928. */
  89929. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  89930. /**
  89931. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  89932. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  89933. * the ends and bends.
  89934. */
  89935. linecap?: SeriesLinecapValue;
  89936. /**
  89937. * (Highcharts, Highstock) Pixel width of the graph line.
  89938. */
  89939. lineWidth?: number;
  89940. /**
  89941. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  89942. * based on. Required for this indicator.
  89943. */
  89944. linkedTo?: string;
  89945. /**
  89946. * (Highstock) Options for the point markers of line-like series. Properties
  89947. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  89948. * appearance of the markers. Other series types, like column series, don't
  89949. * have markers, but have visual options on the series level instead.
  89950. *
  89951. * In styled mode, the markers can be styled with the `.highcharts-point`,
  89952. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  89953. */
  89954. marker?: PointMarkerOptionsObject;
  89955. /**
  89956. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  89957. * If not set, it will be based on a technical indicator type and default
  89958. * params.
  89959. */
  89960. name?: string;
  89961. /**
  89962. * (Highstock) The color for the parts of the graph or points that are below
  89963. * the threshold. Note that `zones` takes precedence over the negative
  89964. * color. Using `negativeColor` is equivalent to applying a zone with value
  89965. * of 0.
  89966. */
  89967. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  89968. /**
  89969. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  89970. * dataLabels.
  89971. */
  89972. opacity?: number;
  89973. /**
  89974. * (Highstock) Paramters used in calculation of regression series' points.
  89975. */
  89976. params?: PlotTrendlineParamsOptions;
  89977. /**
  89978. * (Highstock) Properties for each single point.
  89979. */
  89980. point?: PlotSeriesPointOptions;
  89981. /**
  89982. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  89983. * individual series. Overrides the chart wide configuration.
  89984. */
  89985. pointDescriptionFormatter?: Function;
  89986. /**
  89987. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  89988. * true, the checkbox next to the series name in the legend will be checked
  89989. * for a selected series.
  89990. */
  89991. selected?: boolean;
  89992. /**
  89993. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  89994. * the shadow can be an object configuration containing `color`, `offsetX`,
  89995. * `offsetY`, `opacity` and `width`.
  89996. */
  89997. shadow?: (boolean|ShadowOptionsObject);
  89998. /**
  89999. * (Highstock) If true, a checkbox is displayed next to the legend item to
  90000. * allow selecting the series. The state of the checkbox is determined by
  90001. * the `selected` option.
  90002. */
  90003. showCheckbox?: boolean;
  90004. /**
  90005. * (Highstock) Whether to display this particular series or series type in
  90006. * the legend. Standalone series are shown in legend by default, and linked
  90007. * series are not. Since v7.2.0 it is possible to show series that use
  90008. * colorAxis by setting this option to `true`.
  90009. */
  90010. showInLegend?: boolean;
  90011. /**
  90012. * (Highstock) If set to `true`, the accessibility module will skip past the
  90013. * points in this series for keyboard navigation.
  90014. */
  90015. skipKeyboardNavigation?: boolean;
  90016. /**
  90017. * (Highcharts, Highstock) When this is true, the series will not cause the
  90018. * Y axis to cross the zero plane (or threshold option) unless the data
  90019. * actually crosses the plane.
  90020. *
  90021. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  90022. * make the Y axis show negative values according to the `minPadding`
  90023. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  90024. */
  90025. softThreshold?: boolean;
  90026. states?: SeriesStatesOptionsObject;
  90027. /**
  90028. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  90029. * values are `left`, `center` and `right`.
  90030. */
  90031. step?: OptionsStepValue;
  90032. /**
  90033. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  90034. * event on a series isn't triggered until the mouse moves over another
  90035. * series, or out of the plot area. When false, the `mouseOut` event on a
  90036. * series is triggered when the mouse leaves the area around the series'
  90037. * graph or markers. This also implies the tooltip when not shared. When
  90038. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  90039. * be hidden when moving the mouse between series. Defaults to true for line
  90040. * and area type series, but to false for columns, pies etc.
  90041. *
  90042. * **Note:** The boost module will force this option because of technical
  90043. * limitations.
  90044. */
  90045. stickyTracking?: boolean;
  90046. /**
  90047. * (Highcharts, Highstock) The threshold, also called zero level or base
  90048. * level. For line type series this is only used in conjunction with
  90049. * negativeColor.
  90050. */
  90051. threshold?: number;
  90052. /**
  90053. * (Highstock) A configuration object for the tooltip rendering of each
  90054. * single series. Properties are inherited from tooltip, but only the
  90055. * following properties can be defined on a series level.
  90056. */
  90057. tooltip?: SeriesTooltipOptionsObject;
  90058. /**
  90059. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  90060. * is longer than this, only one dimensional arrays of numbers, or two
  90061. * dimensional arrays with x and y values are allowed. Also, only the first
  90062. * point is tested, and the rest are assumed to be the same format. This
  90063. * saves expensive data checking and indexing in long series. Set it to `0`
  90064. * disable.
  90065. *
  90066. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  90067. * two dimensional arrays are allowed.
  90068. */
  90069. turboThreshold?: number;
  90070. /**
  90071. * (Highstock) Set the initial visibility of the series.
  90072. */
  90073. visible?: boolean;
  90074. /**
  90075. * (Highmaps) Define the z index of the series.
  90076. */
  90077. zIndex?: number;
  90078. /**
  90079. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  90080. */
  90081. zoneAxis?: string;
  90082. /**
  90083. * (Highcharts, Highstock) An array defining zones within a series. Zones
  90084. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  90085. * the `zoneAxis` option. The zone definitions have to be in ascending order
  90086. * regarding to the value.
  90087. *
  90088. * In styled mode, the color zones are styled with the
  90089. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  90090. * option (view live demo).
  90091. */
  90092. zones?: Array<SeriesZonesOptionsObject>;
  90093. }
  90094. /**
  90095. * (Highstock) Paramters used in calculation of regression series' points.
  90096. */
  90097. export interface PlotTrendlineParamsOptions {
  90098. /**
  90099. * (Highstock) The point index which indicator calculations will base. For
  90100. * example using OHLC data, index=2 means the indicator will be calculated
  90101. * using Low values.
  90102. */
  90103. index?: (number|string);
  90104. }
  90105. /**
  90106. * (Highstock) Enable or disable the initial animation when a series is
  90107. * displayed. The animation can also be set as a configuration object. Please
  90108. * note that this option only applies to the initial animation of the series
  90109. * itself. For other animations, see chart.animation and the animation parameter
  90110. * under the API methods. The following properties are supported:
  90111. *
  90112. * - `defer`: The animation delay time in milliseconds.
  90113. *
  90114. * - `duration`: The duration of the animation in milliseconds.
  90115. *
  90116. * - `easing`: Can be a string reference to an easing function set on the `Math`
  90117. * object or a function. See the _Custom easing function_ demo below.
  90118. *
  90119. * Due to poor performance, animation is disabled in old IE browsers for several
  90120. * chart types.
  90121. */
  90122. export interface PlotTrixAnimationOptions {
  90123. defer?: number;
  90124. }
  90125. /**
  90126. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  90127. * animation when a series is displayed for the `dataLabels`. The animation can
  90128. * also be set as a configuration object. Please note that this option only
  90129. * applies to the initial animation. For other animations, see chart.animation
  90130. * and the animation parameter under the API methods. The following properties
  90131. * are supported:
  90132. *
  90133. * - `defer`: The animation delay time in milliseconds.
  90134. */
  90135. export interface PlotTrixDataLabelsAnimationOptions {
  90136. /**
  90137. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  90138. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  90139. * inherits defer time from the series.animation.defer.
  90140. */
  90141. defer?: number;
  90142. }
  90143. /**
  90144. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  90145. * appearing next to each data point.
  90146. *
  90147. * Since v6.2.0, multiple data labels can be applied to each single point by
  90148. * defining them as an array of configs.
  90149. *
  90150. * In styled mode, the data labels can be styled with the
  90151. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  90152. * example).
  90153. */
  90154. export interface PlotTrixDataLabelsOptions {
  90155. /**
  90156. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  90157. * compared to the point. If `right`, the right side of the label should be
  90158. * touching the point. For points with an extent, like columns, the
  90159. * alignments also dictates how to align it inside the box, as given with
  90160. * the inside option. Can be one of `left`, `center` or `right`.
  90161. */
  90162. align?: (AlignValue|null);
  90163. /**
  90164. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  90165. * overlap. To make the labels less sensitive for overlapping, the
  90166. * dataLabels.padding can be set to 0.
  90167. */
  90168. allowOverlap?: boolean;
  90169. /**
  90170. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  90171. * animation when a series is displayed for the `dataLabels`. The animation
  90172. * can also be set as a configuration object. Please note that this option
  90173. * only applies to the initial animation. For other animations, see
  90174. * chart.animation and the animation parameter under the API methods. The
  90175. * following properties are supported:
  90176. *
  90177. * - `defer`: The animation delay time in milliseconds.
  90178. */
  90179. animation?: (boolean|PlotTrixDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  90180. /**
  90181. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  90182. * for the data label.
  90183. */
  90184. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  90185. /**
  90186. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  90187. * label. Defaults to `undefined`.
  90188. */
  90189. borderColor?: (ColorString|GradientColorObject|PatternObject);
  90190. /**
  90191. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  90192. * the data label.
  90193. */
  90194. borderRadius?: number;
  90195. /**
  90196. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  90197. * the data label.
  90198. */
  90199. borderWidth?: number;
  90200. /**
  90201. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  90202. * Particularly in styled mode, this can be used to give each series' or
  90203. * point's data label unique styling. In addition to this option, a default
  90204. * color class name is added so that we can give the labels a contrast text
  90205. * shadow.
  90206. */
  90207. className?: string;
  90208. /**
  90209. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  90210. * labels. Defaults to `undefined`. For certain series types, like column or
  90211. * map, the data labels can be drawn inside the points. In this case the
  90212. * data label will be drawn with maximum contrast by default. Additionally,
  90213. * it will be given a `text-outline` style with the opposite color, to
  90214. * further increase the contrast. This can be overridden by setting the
  90215. * `text-outline` style to `none` in the `dataLabels.style` option.
  90216. */
  90217. color?: (ColorString|GradientColorObject|PatternObject);
  90218. /**
  90219. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  90220. * are outside the plot area. By default, the data label is moved inside the
  90221. * plot area according to the overflow option.
  90222. */
  90223. crop?: boolean;
  90224. /**
  90225. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  90226. * labels until the initial series animation has finished. Setting to
  90227. * `false` renders the data label immediately. If set to `true` inherits the
  90228. * defer time set in plotOptions.series.animation.
  90229. */
  90230. defer?: boolean;
  90231. /**
  90232. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  90233. * labels.
  90234. */
  90235. enabled?: boolean;
  90236. /**
  90237. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  90238. * of which data labels to display. The declarative filter is designed for
  90239. * use when callback functions are not available, like when the chart
  90240. * options require a pure JSON structure or for use with graphical editors.
  90241. * For programmatic control, use the `formatter` instead, and return
  90242. * `undefined` to disable a single data label.
  90243. */
  90244. filter?: DataLabelsFilterOptionsObject;
  90245. /**
  90246. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  90247. * label. Available variables are the same as for `formatter`.
  90248. */
  90249. format?: string;
  90250. /**
  90251. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  90252. * format the data label. Note that if a `format` is defined, the format
  90253. * takes precedence and the formatter is ignored.
  90254. */
  90255. formatter?: DataLabelsFormatterCallbackFunction;
  90256. /**
  90257. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  90258. * columns or map areas, whether to align the data label inside the box or
  90259. * to the actual value point. Defaults to `false` in most cases, `true` in
  90260. * stacked columns.
  90261. */
  90262. inside?: boolean;
  90263. /**
  90264. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  90265. * of null. Works analogously to format. `nullFormat` can be applied only to
  90266. * series which support displaying null points.
  90267. */
  90268. nullFormat?: (boolean|string);
  90269. /**
  90270. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  90271. * that defines formatting for points with the value of null. Works
  90272. * analogously to formatter. `nullPointFormatter` can be applied only to
  90273. * series which support displaying null points.
  90274. */
  90275. nullFormatter?: DataLabelsFormatterCallbackFunction;
  90276. /**
  90277. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  90278. * flow outside the plot area. The default is `"justify"`, which aligns them
  90279. * inside the plot area. For columns and bars, this means it will be moved
  90280. * inside the bar. To display data labels outside the plot area, set `crop`
  90281. * to `false` and `overflow` to `"allow"`.
  90282. */
  90283. overflow?: DataLabelsOverflowValue;
  90284. /**
  90285. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  90286. * the `backgroundColor` is set, this is the padding within the box.
  90287. */
  90288. padding?: number;
  90289. /**
  90290. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  90291. * points. If `center` alignment is not possible, it defaults to `right`.
  90292. */
  90293. position?: AlignValue;
  90294. /**
  90295. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  90296. * that due to a more complex structure, backgrounds, borders and padding
  90297. * will be lost on a rotated data label.
  90298. */
  90299. rotation?: number;
  90300. /**
  90301. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  90302. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  90303. * an object configuration containing `color`, `offsetX`, `offsetY`,
  90304. * `opacity` and `width`.
  90305. */
  90306. shadow?: (boolean|ShadowOptionsObject);
  90307. /**
  90308. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  90309. * the border around the label. Symbols are predefined functions on the
  90310. * Renderer object.
  90311. */
  90312. shape?: string;
  90313. /**
  90314. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  90315. * default `color` setting is `"contrast"`, which is a pseudo color that
  90316. * Highcharts picks up and applies the maximum contrast to the underlying
  90317. * point item, for example the bar in a bar chart.
  90318. *
  90319. * The `textOutline` is a pseudo property that applies an outline of the
  90320. * given width with the given color, which by default is the maximum
  90321. * contrast to the text. So a bright text color will result in a black text
  90322. * outline for maximum readability on a mixed background. In some cases,
  90323. * especially with grayscale text, the text outline doesn't work well, in
  90324. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  90325. * is true, the `textOutline` will not be picked up. In this, case, the same
  90326. * effect can be acheived through the `text-shadow` CSS property.
  90327. *
  90328. * For some series types, where each point has an extent, like for example
  90329. * tree maps, the data label may overflow the point. There are two
  90330. * strategies for handling overflow. By default, the text will wrap to
  90331. * multiple lines. The other strategy is to set `style.textOverflow` to
  90332. * `ellipsis`, which will keep the text on one line plus it will break
  90333. * inside long words.
  90334. */
  90335. style?: CSSObject;
  90336. /**
  90337. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  90338. * should follow marker's shape. Border and background are disabled for a
  90339. * label that follows a path.
  90340. *
  90341. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  90342. * to true will disable this option.
  90343. */
  90344. textPath?: DataLabelsTextPathOptionsObject;
  90345. /**
  90346. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  90347. * the labels.
  90348. */
  90349. useHTML?: boolean;
  90350. /**
  90351. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  90352. * label. Can be one of `top`, `middle` or `bottom`. The default value
  90353. * depends on the data, for instance in a column chart, the label is above
  90354. * positive values and below negative values.
  90355. */
  90356. verticalAlign?: (VerticalAlignValue|null);
  90357. /**
  90358. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  90359. * label relative to the point in pixels.
  90360. */
  90361. x?: number;
  90362. /**
  90363. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  90364. * label relative to the point in pixels.
  90365. */
  90366. y?: number;
  90367. /**
  90368. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  90369. * The default Z index puts it above the series. Use a Z index of 2 to
  90370. * display it behind the series.
  90371. */
  90372. z?: number;
  90373. }
  90374. /**
  90375. * (Highcharts, Highstock) Options for the series data sorting.
  90376. */
  90377. export interface PlotTrixDataSortingOptions {
  90378. /**
  90379. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  90380. * Use xAxis.reversed to change the sorting order.
  90381. */
  90382. enabled?: boolean;
  90383. /**
  90384. * (Highcharts, Highstock) Whether to allow matching points by name in an
  90385. * update. If this option is disabled, points will be matched by order.
  90386. */
  90387. matchByName?: boolean;
  90388. /**
  90389. * (Highcharts, Highstock) Determines what data value should be used to sort
  90390. * by.
  90391. */
  90392. sortKey?: string;
  90393. }
  90394. /**
  90395. * (Highstock) Triple exponential average (TRIX) oscillator. This series
  90396. * requires `linkedTo` option to be set.
  90397. *
  90398. * Requires https://code.highcharts.com/stock/indicators/ema.js and
  90399. * https://code.highcharts.com/stock/indicators/tema.js.
  90400. *
  90401. * In TypeScript the type option must always be set.
  90402. *
  90403. * Configuration options for the series are given in three levels:
  90404. *
  90405. * 1. Options for all series in a chart are defined in the plotOptions.series
  90406. * object.
  90407. *
  90408. * 2. Options for all `trix` series are defined in plotOptions.trix.
  90409. *
  90410. * 3. Options for one single series are given in the series instance array. (see
  90411. * online documentation for example)
  90412. */
  90413. export interface PlotTrixOptions {
  90414. /**
  90415. * (Highstock) Accessibility options for a series.
  90416. */
  90417. accessibility?: SeriesAccessibilityOptionsObject;
  90418. /**
  90419. * (Highstock) Allow this series' points to be selected by clicking on the
  90420. * graphic (columns, point markers, pie slices, map areas etc).
  90421. *
  90422. * The selected points can be handled by point select and unselect events,
  90423. * or collectively by the getSelectedPoints function.
  90424. *
  90425. * And alternative way of selecting points is through dragging.
  90426. */
  90427. allowPointSelect?: boolean;
  90428. /**
  90429. * (Highstock) Enable or disable the initial animation when a series is
  90430. * displayed. The animation can also be set as a configuration object.
  90431. * Please note that this option only applies to the initial animation of the
  90432. * series itself. For other animations, see chart.animation and the
  90433. * animation parameter under the API methods. The following properties are
  90434. * supported:
  90435. *
  90436. * - `defer`: The animation delay time in milliseconds.
  90437. *
  90438. * - `duration`: The duration of the animation in milliseconds.
  90439. *
  90440. * - `easing`: Can be a string reference to an easing function set on the
  90441. * `Math` object or a function. See the _Custom easing function_ demo below.
  90442. *
  90443. * Due to poor performance, animation is disabled in old IE browsers for
  90444. * several chart types.
  90445. */
  90446. animation?: (boolean|PlotTrixAnimationOptions|Partial<AnimationOptionsObject>);
  90447. /**
  90448. * (Highstock) For some series, there is a limit that shuts down initial
  90449. * animation by default when the total number of points in the chart is too
  90450. * high. For example, for a column chart and its derivatives, animation does
  90451. * not run if there is more than 250 points totally. To disable this cap,
  90452. * set `animationLimit` to `Infinity`.
  90453. */
  90454. animationLimit?: number;
  90455. /**
  90456. * (Highstock) Sets the color blending in the boost module.
  90457. */
  90458. boostBlending?: OptionsBoostBlendingValue;
  90459. /**
  90460. * (Highstock) Set the point threshold for when a series should enter boost
  90461. * mode.
  90462. *
  90463. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  90464. * there are 2000 or more points in the series.
  90465. *
  90466. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  90467. * it to 1 will force boosting.
  90468. *
  90469. * Note that the cropThreshold also affects this setting. When zooming in on
  90470. * a series that has fewer points than the `cropThreshold`, all points are
  90471. * rendered although outside the visible plot area, and the `boostThreshold`
  90472. * won't take effect.
  90473. */
  90474. boostThreshold?: number;
  90475. /**
  90476. * (Highmaps) The border color of the map areas.
  90477. *
  90478. * In styled mode, the border stroke is given in the `.highcharts-point`
  90479. * class.
  90480. */
  90481. borderColor?: (ColorString|GradientColorObject|PatternObject);
  90482. /**
  90483. * (Highmaps) The border width of each map area.
  90484. *
  90485. * In styled mode, the border stroke width is given in the
  90486. * `.highcharts-point` class.
  90487. */
  90488. borderWidth?: number;
  90489. /**
  90490. * (Highstock) An additional class name to apply to the series' graphical
  90491. * elements. This option does not replace default class names of the
  90492. * graphical element.
  90493. */
  90494. className?: string;
  90495. /**
  90496. * (Highstock) Disable this option to allow series rendering in the whole
  90497. * plotting area.
  90498. *
  90499. * **Note:** Clipping should be always enabled when chart.zoomType is set
  90500. */
  90501. clip?: boolean;
  90502. /**
  90503. * (Highstock) The main color of the series. In line type series it applies
  90504. * to the line and the point markers unless otherwise specified. In bar type
  90505. * series it applies to the bars unless a color is specified per point. The
  90506. * default value is pulled from the `options.colors` array.
  90507. *
  90508. * In styled mode, the color can be defined by the colorIndex option. Also,
  90509. * the series color can be set with the `.highcharts-series`,
  90510. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  90511. * `.highcharts-series-{n}` class, or individual classes given by the
  90512. * `className` option.
  90513. */
  90514. color?: (ColorString|GradientColorObject|PatternObject);
  90515. /**
  90516. * (Highstock) Styled mode only. A specific color index to use for the
  90517. * series, so its graphic representations are given the class name
  90518. * `highcharts-color-{n}`.
  90519. */
  90520. colorIndex?: number;
  90521. /**
  90522. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  90523. * used to calculate point color if `colorAxis` is used. Requires to set
  90524. * `min` and `max` if some custom point property is used or if approximation
  90525. * for data grouping is set to `'sum'`.
  90526. */
  90527. colorKey?: string;
  90528. /**
  90529. * (Highstock) Defines if comparison should start from the first point
  90530. * within the visible range or should start from the first point **before**
  90531. * the range.
  90532. *
  90533. * In other words, this flag determines if first point within the visible
  90534. * range will have 0% (`compareStart=true`) or should have been already
  90535. * calculated according to the previous point (`compareStart=false`).
  90536. */
  90537. compareStart?: boolean;
  90538. /**
  90539. * (Highstock) Whether to compare indicator to the main series values or
  90540. * indicator values.
  90541. */
  90542. compareToMain?: boolean;
  90543. /**
  90544. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  90545. * series plot across the extremes.
  90546. */
  90547. connectEnds?: boolean;
  90548. /**
  90549. * (Highcharts, Highstock) Whether to connect a graph line across null
  90550. * points, or render a gap between the two points on either side of the
  90551. * null.
  90552. */
  90553. connectNulls?: boolean;
  90554. /**
  90555. * (Gantt) Override Pathfinder connector options for a series. Requires
  90556. * Highcharts Gantt to be loaded.
  90557. */
  90558. connectors?: SeriesConnectorsOptionsObject;
  90559. /**
  90560. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  90561. * rounded to its nearest pixel in order to render sharp on screen. In some
  90562. * cases, when there are a lot of densely packed columns, this leads to
  90563. * visible difference in column widths or distance between columns. In these
  90564. * cases, setting `crisp` to `false` may look better, even though each
  90565. * column is rendered blurry.
  90566. */
  90567. crisp?: boolean;
  90568. /**
  90569. * (Highcharts, Highstock) When the series contains less points than the
  90570. * crop threshold, all points are drawn, even if the points fall outside the
  90571. * visible plot area at the current zoom. The advantage of drawing all
  90572. * points (including markers and columns), is that animation is performed on
  90573. * updates. On the other hand, when the series contains more points than the
  90574. * crop threshold, the series data is cropped to only contain points that
  90575. * fall within the plot area. The advantage of cropping away invisible
  90576. * points is to increase performance on large series.
  90577. */
  90578. cropThreshold?: number;
  90579. /**
  90580. * (Highstock) You can set the cursor to "pointer" if you have click events
  90581. * attached to the series, to signal to the user that the points and lines
  90582. * can be clicked.
  90583. *
  90584. * In styled mode, the series cursor can be set with the same classes as
  90585. * listed under series.color.
  90586. */
  90587. cursor?: (string|CursorValue);
  90588. /**
  90589. * (Highstock) A reserved subspace to store options and values for
  90590. * customized functionality. Here you can add additional data for your own
  90591. * event callbacks and formatter callbacks.
  90592. */
  90593. custom?: Dictionary<any>;
  90594. /**
  90595. * (Highstock) Name of the dash style to use for the graph, or for some
  90596. * series types the outline of each shape.
  90597. *
  90598. * In styled mode, the stroke dash-array can be set with the same classes as
  90599. * listed under series.color.
  90600. */
  90601. dashStyle?: DashStyleValue;
  90602. /**
  90603. * (Highstock) Data grouping is the concept of sampling the data values into
  90604. * larger blocks in order to ease readability and increase performance of
  90605. * the JavaScript charts. Highstock by default applies data grouping when
  90606. * the points become closer than a certain pixel value, determined by the
  90607. * `groupPixelWidth` option.
  90608. *
  90609. * If data grouping is applied, the grouping information of grouped points
  90610. * can be read from the Point.dataGroup. If point options other than the
  90611. * data itself are set, for example `name` or `color` or custom properties,
  90612. * the grouping logic doesn't know how to group it. In this case the options
  90613. * of the first point instance are copied over to the group point. This can
  90614. * be altered through a custom `approximation` callback function.
  90615. */
  90616. dataGrouping?: DataGroupingOptionsObject;
  90617. /**
  90618. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  90619. * labels, appearing next to each data point.
  90620. *
  90621. * Since v6.2.0, multiple data labels can be applied to each single point by
  90622. * defining them as an array of configs.
  90623. *
  90624. * In styled mode, the data labels can be styled with the
  90625. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  90626. * (see example).
  90627. */
  90628. dataLabels?: (PlotTrixDataLabelsOptions|Array<PlotTrixDataLabelsOptions>);
  90629. /**
  90630. * (Highcharts, Highstock) Options for the series data sorting.
  90631. */
  90632. dataSorting?: (DataSortingOptionsObject|PlotTrixDataSortingOptions);
  90633. /**
  90634. * (Highstock) A description of the series to add to the screen reader
  90635. * information about the series.
  90636. */
  90637. description?: string;
  90638. /**
  90639. * (Highstock) Enable or disable the mouse tracking for a specific series.
  90640. * This includes point tooltips and click events on graphs and points. For
  90641. * large datasets it improves performance.
  90642. */
  90643. enableMouseTracking?: boolean;
  90644. /**
  90645. * (Highstock) General event handlers for the series items. These event
  90646. * hooks can also be attached to the series at run time using the
  90647. * `Highcharts.addEvent` function.
  90648. */
  90649. events?: SeriesEventsOptionsObject;
  90650. /**
  90651. * (Highstock) Determines whether the series should look for the nearest
  90652. * point in both dimensions or just the x-dimension when hovering the
  90653. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  90654. * series. If the data has duplicate x-values, it is recommended to set this
  90655. * to `'xy'` to allow hovering over all points.
  90656. *
  90657. * Applies only to series types using nearest neighbor search (not direct
  90658. * hover) for tooltip.
  90659. */
  90660. findNearestPointBy?: OptionsFindNearestPointByValue;
  90661. /**
  90662. * (Highstock) Defines when to display a gap in the graph, together with the
  90663. * gapUnit option.
  90664. *
  90665. * In case when `dataGrouping` is enabled, points can be grouped into a
  90666. * larger time span. This can make the grouped points to have a greater
  90667. * distance than the absolute value of `gapSize` property, which will result
  90668. * in disappearing graph completely. To prevent this situation the mentioned
  90669. * distance between grouped points is used instead of previously defined
  90670. * `gapSize`.
  90671. *
  90672. * In practice, this option is most often used to visualize gaps in time
  90673. * series. In a stock chart, intraday data is available for daytime hours,
  90674. * while gaps will appear in nights and weekends.
  90675. */
  90676. gapSize?: number;
  90677. /**
  90678. * (Highstock) Together with gapSize, this option defines where to draw gaps
  90679. * in the graph.
  90680. *
  90681. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  90682. * if the distance between two points is greater than 5 times that of the
  90683. * two closest points, the graph will be broken.
  90684. *
  90685. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  90686. * values, which on a datetime axis is milliseconds. This also applies to
  90687. * the navigator series that inherits gap options from the base series.
  90688. */
  90689. gapUnit?: OptionsGapUnitValue;
  90690. /**
  90691. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  90692. * chart width or only the zoomed area when zooming in on parts of the X
  90693. * axis. By default, the Y axis adjusts to the min and max of the visible
  90694. * data. Cartesian series only.
  90695. */
  90696. getExtremesFromAll?: boolean;
  90697. /**
  90698. * (Highstock) When set to `false` will prevent the series data from being
  90699. * included in any form of data export.
  90700. *
  90701. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  90702. * `includeInCSVExport`.
  90703. */
  90704. includeInDataExport?: boolean;
  90705. /**
  90706. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  90707. * series as possible in a natural way, seeking to avoid other series. The
  90708. * goal of this feature is to make the chart more easily readable, like if a
  90709. * human designer placed the labels in the optimal position.
  90710. *
  90711. * The series labels currently work with series types having a `graph` or an
  90712. * `area`.
  90713. */
  90714. label?: SeriesLabelOptionsObject;
  90715. /**
  90716. * (Highstock) The line marks the last price from all points.
  90717. */
  90718. lastPrice?: SeriesLastPriceOptionsObject;
  90719. /**
  90720. * (Highstock) The line marks the last price from visible range of points.
  90721. */
  90722. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  90723. /**
  90724. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  90725. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  90726. * the ends and bends.
  90727. */
  90728. linecap?: SeriesLinecapValue;
  90729. /**
  90730. * (Highcharts, Highstock) Pixel width of the graph line.
  90731. */
  90732. lineWidth?: number;
  90733. /**
  90734. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  90735. * based on. Required for this indicator.
  90736. */
  90737. linkedTo?: string;
  90738. /**
  90739. * (Highstock) Options for the point markers of line-like series. Properties
  90740. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  90741. * appearance of the markers. Other series types, like column series, don't
  90742. * have markers, but have visual options on the series level instead.
  90743. *
  90744. * In styled mode, the markers can be styled with the `.highcharts-point`,
  90745. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  90746. */
  90747. marker?: PointMarkerOptionsObject;
  90748. /**
  90749. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  90750. * If not set, it will be based on a technical indicator type and default
  90751. * params.
  90752. */
  90753. name?: string;
  90754. /**
  90755. * (Highstock) The color for the parts of the graph or points that are below
  90756. * the threshold. Note that `zones` takes precedence over the negative
  90757. * color. Using `negativeColor` is equivalent to applying a zone with value
  90758. * of 0.
  90759. */
  90760. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  90761. /**
  90762. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  90763. * dataLabels.
  90764. */
  90765. opacity?: number;
  90766. /**
  90767. * (Highstock) Paramters used in calculation of regression series' points.
  90768. */
  90769. params?: PlotTrixParamsOptions;
  90770. /**
  90771. * (Highstock) Properties for each single point.
  90772. */
  90773. point?: PlotSeriesPointOptions;
  90774. /**
  90775. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  90776. * individual series. Overrides the chart wide configuration.
  90777. */
  90778. pointDescriptionFormatter?: Function;
  90779. /**
  90780. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  90781. * true, the checkbox next to the series name in the legend will be checked
  90782. * for a selected series.
  90783. */
  90784. selected?: boolean;
  90785. /**
  90786. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  90787. * the shadow can be an object configuration containing `color`, `offsetX`,
  90788. * `offsetY`, `opacity` and `width`.
  90789. */
  90790. shadow?: (boolean|ShadowOptionsObject);
  90791. /**
  90792. * (Highstock) If true, a checkbox is displayed next to the legend item to
  90793. * allow selecting the series. The state of the checkbox is determined by
  90794. * the `selected` option.
  90795. */
  90796. showCheckbox?: boolean;
  90797. /**
  90798. * (Highstock) Whether to display this particular series or series type in
  90799. * the legend. Standalone series are shown in legend by default, and linked
  90800. * series are not. Since v7.2.0 it is possible to show series that use
  90801. * colorAxis by setting this option to `true`.
  90802. */
  90803. showInLegend?: boolean;
  90804. /**
  90805. * (Highstock) If set to `true`, the accessibility module will skip past the
  90806. * points in this series for keyboard navigation.
  90807. */
  90808. skipKeyboardNavigation?: boolean;
  90809. /**
  90810. * (Highcharts, Highstock) When this is true, the series will not cause the
  90811. * Y axis to cross the zero plane (or threshold option) unless the data
  90812. * actually crosses the plane.
  90813. *
  90814. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  90815. * make the Y axis show negative values according to the `minPadding`
  90816. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  90817. */
  90818. softThreshold?: boolean;
  90819. states?: SeriesStatesOptionsObject;
  90820. /**
  90821. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  90822. * values are `left`, `center` and `right`.
  90823. */
  90824. step?: OptionsStepValue;
  90825. /**
  90826. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  90827. * event on a series isn't triggered until the mouse moves over another
  90828. * series, or out of the plot area. When false, the `mouseOut` event on a
  90829. * series is triggered when the mouse leaves the area around the series'
  90830. * graph or markers. This also implies the tooltip when not shared. When
  90831. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  90832. * be hidden when moving the mouse between series. Defaults to true for line
  90833. * and area type series, but to false for columns, pies etc.
  90834. *
  90835. * **Note:** The boost module will force this option because of technical
  90836. * limitations.
  90837. */
  90838. stickyTracking?: boolean;
  90839. /**
  90840. * (Highcharts, Highstock) The threshold, also called zero level or base
  90841. * level. For line type series this is only used in conjunction with
  90842. * negativeColor.
  90843. */
  90844. threshold?: number;
  90845. /**
  90846. * (Highstock) A configuration object for the tooltip rendering of each
  90847. * single series. Properties are inherited from tooltip, but only the
  90848. * following properties can be defined on a series level.
  90849. */
  90850. tooltip?: SeriesTooltipOptionsObject;
  90851. /**
  90852. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  90853. * is longer than this, only one dimensional arrays of numbers, or two
  90854. * dimensional arrays with x and y values are allowed. Also, only the first
  90855. * point is tested, and the rest are assumed to be the same format. This
  90856. * saves expensive data checking and indexing in long series. Set it to `0`
  90857. * disable.
  90858. *
  90859. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  90860. * two dimensional arrays are allowed.
  90861. */
  90862. turboThreshold?: number;
  90863. /**
  90864. * (Highstock) Set the initial visibility of the series.
  90865. */
  90866. visible?: boolean;
  90867. /**
  90868. * (Highmaps) Define the z index of the series.
  90869. */
  90870. zIndex?: number;
  90871. /**
  90872. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  90873. */
  90874. zoneAxis?: string;
  90875. /**
  90876. * (Highcharts, Highstock) An array defining zones within a series. Zones
  90877. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  90878. * the `zoneAxis` option. The zone definitions have to be in ascending order
  90879. * regarding to the value.
  90880. *
  90881. * In styled mode, the color zones are styled with the
  90882. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  90883. * option (view live demo).
  90884. */
  90885. zones?: Array<SeriesZonesOptionsObject>;
  90886. }
  90887. /**
  90888. * (Highstock) Paramters used in calculation of regression series' points.
  90889. */
  90890. export interface PlotTrixParamsOptions {
  90891. /**
  90892. * (Highstock) The point index which indicator calculations will base. For
  90893. * example using OHLC data, index=2 means the indicator will be calculated
  90894. * using Low values.
  90895. *
  90896. * By default index value used to be set to 0. Since Highstock 7 by default
  90897. * index is set to 3 which means that the ema indicator will be calculated
  90898. * using Close values.
  90899. */
  90900. index?: number;
  90901. /**
  90902. * (Highstock) The base period for indicator calculations. This is the
  90903. * number of data points which are taken into account for the indicator
  90904. * calculations.
  90905. */
  90906. period?: number;
  90907. }
  90908. /**
  90909. * (Highcharts) Enable or disable the initial animation when a series is
  90910. * displayed. The animation can also be set as a configuration object. Please
  90911. * note that this option only applies to the initial animation of the series
  90912. * itself. For other animations, see chart.animation and the animation parameter
  90913. * under the API methods. The following properties are supported:
  90914. *
  90915. * - `defer`: The animation delay time in milliseconds.
  90916. *
  90917. * - `duration`: The duration of the animation in milliseconds.
  90918. *
  90919. * - `easing`: Can be a string reference to an easing function set on the `Math`
  90920. * object or a function. See the _Custom easing function_ demo below.
  90921. *
  90922. * Due to poor performance, animation is disabled in old IE browsers for several
  90923. * chart types.
  90924. */
  90925. export interface PlotVariablepieAnimationOptions {
  90926. defer?: number;
  90927. }
  90928. /**
  90929. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  90930. * animation when a series is displayed for the `dataLabels`. The animation can
  90931. * also be set as a configuration object. Please note that this option only
  90932. * applies to the initial animation. For other animations, see chart.animation
  90933. * and the animation parameter under the API methods. The following properties
  90934. * are supported:
  90935. *
  90936. * - `defer`: The animation delay time in milliseconds.
  90937. */
  90938. export interface PlotVariablepieDataLabelsAnimationOptions {
  90939. /**
  90940. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  90941. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  90942. * inherits defer time from the series.animation.defer.
  90943. */
  90944. defer?: number;
  90945. }
  90946. /**
  90947. * (Highcharts) A variable pie series is a two dimensional series type, where
  90948. * each point renders an Y and Z value. Each point is drawn as a pie slice where
  90949. * the size (arc) of the slice relates to the Y value and the radius of pie
  90950. * slice relates to the Z value.
  90951. *
  90952. * In TypeScript the type option must always be set.
  90953. *
  90954. * Configuration options for the series are given in three levels:
  90955. *
  90956. * 1. Options for all series in a chart are defined in the plotOptions.series
  90957. * object.
  90958. *
  90959. * 2. Options for all `variablepie` series are defined in
  90960. * plotOptions.variablepie.
  90961. *
  90962. * 3. Options for one single series are given in the series instance array. (see
  90963. * online documentation for example)
  90964. */
  90965. export interface PlotVariablepieOptions {
  90966. /**
  90967. * (Highcharts) Accessibility options for a series.
  90968. */
  90969. accessibility?: SeriesAccessibilityOptionsObject;
  90970. /**
  90971. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  90972. * rendered. If `true`, areas which don't correspond to a data point, are
  90973. * rendered as `null` points. If `false`, those areas are skipped.
  90974. */
  90975. allAreas?: boolean;
  90976. /**
  90977. * (Highcharts) Allow this series' points to be selected by clicking on the
  90978. * graphic (columns, point markers, pie slices, map areas etc).
  90979. *
  90980. * The selected points can be handled by point select and unselect events,
  90981. * or collectively by the getSelectedPoints function.
  90982. *
  90983. * And alternative way of selecting points is through dragging.
  90984. */
  90985. allowPointSelect?: boolean;
  90986. /**
  90987. * (Highcharts) Enable or disable the initial animation when a series is
  90988. * displayed. The animation can also be set as a configuration object.
  90989. * Please note that this option only applies to the initial animation of the
  90990. * series itself. For other animations, see chart.animation and the
  90991. * animation parameter under the API methods. The following properties are
  90992. * supported:
  90993. *
  90994. * - `defer`: The animation delay time in milliseconds.
  90995. *
  90996. * - `duration`: The duration of the animation in milliseconds.
  90997. *
  90998. * - `easing`: Can be a string reference to an easing function set on the
  90999. * `Math` object or a function. See the _Custom easing function_ demo below.
  91000. *
  91001. * Due to poor performance, animation is disabled in old IE browsers for
  91002. * several chart types.
  91003. */
  91004. animation?: (boolean|PlotVariablepieAnimationOptions|Partial<AnimationOptionsObject>);
  91005. /**
  91006. * (Highcharts) The color of the border surrounding each slice. When `null`,
  91007. * the border takes the same color as the slice fill. This can be used
  91008. * together with a `borderWidth` to fill drawing gaps created by
  91009. * antialiazing artefacts in borderless pies.
  91010. *
  91011. * In styled mode, the border stroke is given in the `.highcharts-point`
  91012. * class.
  91013. */
  91014. borderColor?: (ColorString|GradientColorObject|PatternObject);
  91015. /**
  91016. * (Highcharts) The width of the border surrounding each slice.
  91017. *
  91018. * When setting the border width to 0, there may be small gaps between the
  91019. * slices due to SVG antialiasing artefacts. To work around this, keep the
  91020. * border width at 0.5 or 1, but set the `borderColor` to `null` instead.
  91021. *
  91022. * In styled mode, the border stroke width is given in the
  91023. * `.highcharts-point` class.
  91024. */
  91025. borderWidth?: number;
  91026. /**
  91027. * (Highcharts) The center of the pie chart relative to the plot area. Can
  91028. * be percentages or pixel values. The default behaviour (as of 3.0) is to
  91029. * center the pie so that all slices and data labels are within the plot
  91030. * area. As a consequence, the pie may actually jump around in a chart with
  91031. * dynamic values, as the data labels move. In that case, the center should
  91032. * be explicitly set, for example to `["50%", "50%"]`.
  91033. */
  91034. center?: [(number|string|null), (number|string|null)];
  91035. /**
  91036. * (Highcharts) An additional class name to apply to the series' graphical
  91037. * elements. This option does not replace default class names of the
  91038. * graphical element.
  91039. */
  91040. className?: string;
  91041. /**
  91042. * (Highcharts) Disable this option to allow series rendering in the whole
  91043. * plotting area.
  91044. *
  91045. * **Note:** Clipping should be always enabled when chart.zoomType is set
  91046. */
  91047. clip?: boolean;
  91048. /**
  91049. * (Highcharts) The color of the pie series. A pie series is represented as
  91050. * an empty circle if the total sum of its values is 0. Use this property to
  91051. * define the color of its border.
  91052. *
  91053. * In styled mode, the color can be defined by the colorIndex option. Also,
  91054. * the series color can be set with the `.highcharts-series`,
  91055. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  91056. * `.highcharts-series-{n}` class, or individual classes given by the
  91057. * `className` option.
  91058. */
  91059. color?: (ColorString|GradientColorObject|PatternObject);
  91060. /**
  91061. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  91062. * this number defines which colorAxis the particular series is connected
  91063. * to. It refers to either the axis id or the index of the axis in the
  91064. * colorAxis array, with 0 being the first. Set this option to false to
  91065. * prevent a series from connecting to the default color axis.
  91066. *
  91067. * Since v7.2.0 the option can also be an axis id or an axis index instead
  91068. * of a boolean flag.
  91069. */
  91070. colorAxis?: (boolean|number|string);
  91071. /**
  91072. * (Highcharts) Styled mode only. A specific color index to use for the
  91073. * series, so its graphic representations are given the class name
  91074. * `highcharts-color-{n}`.
  91075. */
  91076. colorIndex?: number;
  91077. /**
  91078. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  91079. * used to calculate point color if `colorAxis` is used. Requires to set
  91080. * `min` and `max` if some custom point property is used or if approximation
  91081. * for data grouping is set to `'sum'`.
  91082. */
  91083. colorKey?: string;
  91084. /**
  91085. * (Highcharts) A series specific or series type specific color set to use
  91086. * instead of the global colors.
  91087. */
  91088. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  91089. /**
  91090. * (Highstock) Compare the values of the series against the first non-null,
  91091. * non- zero value in the visible range. The y axis will show percentage or
  91092. * absolute change depending on whether `compare` is set to `"percent"` or
  91093. * `"value"`. When this is applied to multiple series, it allows comparing
  91094. * the development of the series against each other. Adds a `change` field
  91095. * to every point object.
  91096. */
  91097. compare?: string;
  91098. /**
  91099. * (Highstock) When compare is `percent`, this option dictates whether to
  91100. * use 0 or 100 as the base of comparison.
  91101. */
  91102. compareBase?: (0|100);
  91103. /**
  91104. * (Highstock) Defines if comparison should start from the first point
  91105. * within the visible range or should start from the first point **before**
  91106. * the range.
  91107. *
  91108. * In other words, this flag determines if first point within the visible
  91109. * range will have 0% (`compareStart=true`) or should have been already
  91110. * calculated according to the previous point (`compareStart=false`).
  91111. */
  91112. compareStart?: boolean;
  91113. /**
  91114. * (Gantt) Override Pathfinder connector options for a series. Requires
  91115. * Highcharts Gantt to be loaded.
  91116. */
  91117. connectors?: SeriesConnectorsOptionsObject;
  91118. /**
  91119. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  91120. * rounded to its nearest pixel in order to render sharp on screen. In some
  91121. * cases, when there are a lot of densely packed columns, this leads to
  91122. * visible difference in column widths or distance between columns. In these
  91123. * cases, setting `crisp` to `false` may look better, even though each
  91124. * column is rendered blurry.
  91125. */
  91126. crisp?: boolean;
  91127. /**
  91128. * (Highcharts) You can set the cursor to "pointer" if you have click events
  91129. * attached to the series, to signal to the user that the points and lines
  91130. * can be clicked.
  91131. *
  91132. * In styled mode, the series cursor can be set with the same classes as
  91133. * listed under series.color.
  91134. */
  91135. cursor?: (string|CursorValue);
  91136. /**
  91137. * (Highcharts) A reserved subspace to store options and values for
  91138. * customized functionality. Here you can add additional data for your own
  91139. * event callbacks and formatter callbacks.
  91140. */
  91141. custom?: Dictionary<any>;
  91142. /**
  91143. * (Highstock) Data grouping is the concept of sampling the data values into
  91144. * larger blocks in order to ease readability and increase performance of
  91145. * the JavaScript charts. Highstock by default applies data grouping when
  91146. * the points become closer than a certain pixel value, determined by the
  91147. * `groupPixelWidth` option.
  91148. *
  91149. * If data grouping is applied, the grouping information of grouped points
  91150. * can be read from the Point.dataGroup. If point options other than the
  91151. * data itself are set, for example `name` or `color` or custom properties,
  91152. * the grouping logic doesn't know how to group it. In this case the options
  91153. * of the first point instance are copied over to the group point. This can
  91154. * be altered through a custom `approximation` callback function.
  91155. */
  91156. dataGrouping?: DataGroupingOptionsObject;
  91157. /**
  91158. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  91159. * labels, appearing next to each data point.
  91160. *
  91161. * Since v6.2.0, multiple data labels can be applied to each single point by
  91162. * defining them as an array of configs.
  91163. *
  91164. * In styled mode, the data labels can be styled with the
  91165. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  91166. * (see example).
  91167. */
  91168. dataLabels?: (SeriesPieDataLabelsOptionsObject|Array<SeriesPieDataLabelsOptionsObject>);
  91169. /**
  91170. * (Highcharts) The thickness of a 3D pie.
  91171. */
  91172. depth?: number;
  91173. /**
  91174. * (Highcharts) A description of the series to add to the screen reader
  91175. * information about the series.
  91176. */
  91177. description?: string;
  91178. /**
  91179. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  91180. * This includes point tooltips and click events on graphs and points. For
  91181. * large datasets it improves performance.
  91182. */
  91183. enableMouseTracking?: boolean;
  91184. /**
  91185. * (Highcharts) The end angle of the pie in degrees where 0 is top and 90 is
  91186. * right. Defaults to `startAngle` plus 360.
  91187. */
  91188. endAngle?: number;
  91189. /**
  91190. * (Highcharts) General event handlers for the series items. These event
  91191. * hooks can also be attached to the series at run time using the
  91192. * `Highcharts.addEvent` function.
  91193. */
  91194. events?: SeriesEventsOptionsObject;
  91195. /**
  91196. * (Highcharts) If the total sum of the pie's values is 0, the series is
  91197. * represented as an empty circle . The `fillColor` option defines the color
  91198. * of that circle. Use pie.borderWidth to set the border thickness.
  91199. */
  91200. fillColor?: (ColorString|GradientColorObject|PatternObject);
  91201. /**
  91202. * (Highstock) Defines when to display a gap in the graph, together with the
  91203. * gapUnit option.
  91204. *
  91205. * In case when `dataGrouping` is enabled, points can be grouped into a
  91206. * larger time span. This can make the grouped points to have a greater
  91207. * distance than the absolute value of `gapSize` property, which will result
  91208. * in disappearing graph completely. To prevent this situation the mentioned
  91209. * distance between grouped points is used instead of previously defined
  91210. * `gapSize`.
  91211. *
  91212. * In practice, this option is most often used to visualize gaps in time
  91213. * series. In a stock chart, intraday data is available for daytime hours,
  91214. * while gaps will appear in nights and weekends.
  91215. */
  91216. gapSize?: number;
  91217. /**
  91218. * (Highstock) Together with gapSize, this option defines where to draw gaps
  91219. * in the graph.
  91220. *
  91221. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  91222. * if the distance between two points is greater than 5 times that of the
  91223. * two closest points, the graph will be broken.
  91224. *
  91225. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  91226. * values, which on a datetime axis is milliseconds. This also applies to
  91227. * the navigator series that inherits gap options from the base series.
  91228. */
  91229. gapUnit?: OptionsGapUnitValue;
  91230. /**
  91231. * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
  91232. * whether the series shall be redrawn as if the hidden point were `null`.
  91233. *
  91234. * The default value changed from `false` to `true` with Highcharts 3.0.
  91235. */
  91236. ignoreHiddenPoint?: boolean;
  91237. /**
  91238. * (Highcharts) When set to `false` will prevent the series data from being
  91239. * included in any form of data export.
  91240. *
  91241. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  91242. * `includeInCSVExport`.
  91243. */
  91244. includeInDataExport?: boolean;
  91245. /**
  91246. * (Highcharts) The size of the inner diameter for the pie. A size greater
  91247. * than 0 renders a donut chart. Can be a percentage or pixel value.
  91248. * Percentages are relative to the pie size. Pixel values are given as
  91249. * integers.
  91250. *
  91251. * Note: in Highcharts < 4.1.2, the percentage was relative to the plot
  91252. * area, not the pie size.
  91253. */
  91254. innerSize?: (number|string);
  91255. /**
  91256. * (Highmaps) What property to join the `mapData` to the value data. For
  91257. * example, if joinBy is "code", the mapData items with a specific code is
  91258. * merged into the data with the same code. For maps loaded from GeoJSON,
  91259. * the keys may be held in each point's `properties` object.
  91260. *
  91261. * The joinBy option can also be an array of two values, where the first
  91262. * points to a key in the `mapData`, and the second points to another key in
  91263. * the `data`.
  91264. *
  91265. * When joinBy is `null`, the map items are joined by their position in the
  91266. * array, which performs much better in maps with many data points. This is
  91267. * the recommended option if you are printing more than a thousand data
  91268. * points and have a backend that can preprocess the data into a parallel
  91269. * array of the mapData.
  91270. */
  91271. joinBy?: (string|Array<string>);
  91272. /**
  91273. * (Highcharts) An array specifying which option maps to which key in the
  91274. * data point array. This makes it convenient to work with unstructured data
  91275. * arrays from different sources.
  91276. */
  91277. keys?: Array<string>;
  91278. /**
  91279. * (Highstock) The line marks the last price from all points.
  91280. */
  91281. lastPrice?: SeriesLastPriceOptionsObject;
  91282. /**
  91283. * (Highstock) The line marks the last price from visible range of points.
  91284. */
  91285. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  91286. /**
  91287. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  91288. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  91289. * the ends and bends.
  91290. */
  91291. linecap?: SeriesLinecapValue;
  91292. /**
  91293. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  91294. * Additionally, the value can be ":previous" to link to the previous
  91295. * series. When two series are linked, only the first one appears in the
  91296. * legend. Toggling the visibility of this also toggles the linked series.
  91297. *
  91298. * If master series uses data sorting and linked series does not have its
  91299. * own sorting definition, the linked series will be sorted in the same
  91300. * order as the master one.
  91301. */
  91302. linkedTo?: string;
  91303. /**
  91304. * (Highcharts) The maximum size of the points' radius related to chart's
  91305. * `plotArea`. If a number is set, it applies in pixels.
  91306. */
  91307. maxPointSize?: (number|string);
  91308. /**
  91309. * (Highcharts) The minimum size of the points' radius related to chart's
  91310. * `plotArea`. If a number is set, it applies in pixels.
  91311. */
  91312. minPointSize?: (number|string);
  91313. /**
  91314. * (Highcharts) The minimum size for a pie in response to auto margins. The
  91315. * pie will try to shrink to make room for data labels in side the plot
  91316. * area, but only to this size.
  91317. */
  91318. minSize?: (number|string);
  91319. /**
  91320. * (Highstock) Options for the corresponding navigator series if
  91321. * `showInNavigator` is `true` for this series. Available options are the
  91322. * same as any series, documented at plotOptions and series.
  91323. *
  91324. * These options are merged with options in navigator.series, and will take
  91325. * precedence if the same option is defined both places.
  91326. */
  91327. navigatorOptions?: PlotSeriesOptions;
  91328. /**
  91329. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  91330. * dataLabels.
  91331. */
  91332. opacity?: number;
  91333. /**
  91334. * (Highcharts) Properties for each single point.
  91335. */
  91336. point?: PlotSeriesPointOptions;
  91337. /**
  91338. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  91339. * individual series. Overrides the chart wide configuration.
  91340. */
  91341. pointDescriptionFormatter?: Function;
  91342. /**
  91343. * (Highstock) The width of each point on the x axis. For example in a
  91344. * column chart with one value each day, the pointRange would be 1 day (= 24
  91345. * * 3600
  91346. *
  91347. * * 1000 milliseconds). This is normally computed automatically, but this
  91348. * option can be used to override the automatic value.
  91349. */
  91350. pointRange?: number;
  91351. /**
  91352. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  91353. * true, the checkbox next to the series name in the legend will be checked
  91354. * for a selected series.
  91355. */
  91356. selected?: boolean;
  91357. /**
  91358. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  91359. * the shadow can be an object configuration containing `color`, `offsetX`,
  91360. * `offsetY`, `opacity` and `width`.
  91361. */
  91362. shadow?: (boolean|ShadowOptionsObject);
  91363. /**
  91364. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  91365. * allow selecting the series. The state of the checkbox is determined by
  91366. * the `selected` option.
  91367. */
  91368. showCheckbox?: boolean;
  91369. /**
  91370. * (Highcharts) Whether to display this particular series or series type in
  91371. * the legend. Since 2.1, pies are not shown in the legend by default.
  91372. */
  91373. showInLegend?: boolean;
  91374. /**
  91375. * (Highstock) Whether or not to show the series in the navigator. Takes
  91376. * precedence over navigator.baseSeries if defined.
  91377. */
  91378. showInNavigator?: boolean;
  91379. /**
  91380. * (Highcharts) The diameter of the pie relative to the plot area. Can be a
  91381. * percentage or pixel value. Pixel values are given as integers. The
  91382. * default behaviour (as of 3.0) is to scale to the plot area and give room
  91383. * for data labels within the plot area. slicedOffset is also included in
  91384. * the default size calculation. As a consequence, the size of the pie may
  91385. * vary when points are updated and data labels more around. In that case it
  91386. * is best to set a fixed value, for example `"75%"`.
  91387. */
  91388. size?: (number|string|null);
  91389. /**
  91390. * (Highcharts) Whether the pie slice's value should be represented by the
  91391. * area or the radius of the slice. Can be either `area` or `radius`. The
  91392. * default, `area`, corresponds best to the human perception of the size of
  91393. * each pie slice.
  91394. */
  91395. sizeBy?: VariablePieSizeByValue;
  91396. /**
  91397. * (Highcharts) If set to `true`, the accessibility module will skip past
  91398. * the points in this series for keyboard navigation.
  91399. */
  91400. skipKeyboardNavigation?: boolean;
  91401. /**
  91402. * (Highcharts) If a point is sliced, moved out from the center, how many
  91403. * pixels should it be moved?.
  91404. */
  91405. slicedOffset?: number;
  91406. /**
  91407. * (Highcharts) The start angle of the pie slices in degrees where 0 is top
  91408. * and 90 right.
  91409. */
  91410. startAngle?: number;
  91411. states?: SeriesStatesOptionsObject;
  91412. /**
  91413. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  91414. * event on a series isn't triggered until the mouse moves over another
  91415. * series, or out of the plot area. When false, the `mouseOut` event on a
  91416. * series is triggered when the mouse leaves the area around the series'
  91417. * graph or markers. This also implies the tooltip. When `stickyTracking` is
  91418. * false and `tooltip.shared` is false, the tooltip will be hidden when
  91419. * moving the mouse between series.
  91420. */
  91421. stickyTracking?: boolean;
  91422. /**
  91423. * (Highcharts) A configuration object for the tooltip rendering of each
  91424. * single series. Properties are inherited from tooltip, but only the
  91425. * following properties can be defined on a series level.
  91426. */
  91427. tooltip?: SeriesTooltipOptionsObject;
  91428. /**
  91429. * (Highstock) The parameter allows setting line series type and use OHLC
  91430. * indicators. Data in OHLC format is required.
  91431. */
  91432. useOhlcData?: boolean;
  91433. /**
  91434. * (Highcharts) Set the initial visibility of the series.
  91435. */
  91436. visible?: boolean;
  91437. /**
  91438. * (Highmaps) Define the z index of the series.
  91439. */
  91440. zIndex?: number;
  91441. /**
  91442. * (Highcharts) The maximum possible z value for the point's radius
  91443. * calculation. If the point's Z value is bigger than zMax, the slice will
  91444. * be drawn according to the zMax value
  91445. */
  91446. zMax?: number;
  91447. /**
  91448. * (Highcharts) The minimum possible z value for the point's radius
  91449. * calculation. If the point's Z value is smaller than zMin, the slice will
  91450. * be drawn according to the zMin value.
  91451. */
  91452. zMin?: number;
  91453. }
  91454. /**
  91455. * (Highcharts) Enable or disable the initial animation when a series is
  91456. * displayed. The animation can also be set as a configuration object. Please
  91457. * note that this option only applies to the initial animation of the series
  91458. * itself. For other animations, see chart.animation and the animation parameter
  91459. * under the API methods. The following properties are supported:
  91460. *
  91461. * - `defer`: The animation delay time in milliseconds.
  91462. *
  91463. * - `duration`: The duration of the animation in milliseconds.
  91464. *
  91465. * - `easing`: Can be a string reference to an easing function set on the `Math`
  91466. * object or a function. See the _Custom easing function_ demo below.
  91467. *
  91468. * Due to poor performance, animation is disabled in old IE browsers for several
  91469. * chart types.
  91470. */
  91471. export interface PlotVariwideAnimationOptions {
  91472. defer?: number;
  91473. }
  91474. /**
  91475. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  91476. * animation when a series is displayed for the `dataLabels`. The animation can
  91477. * also be set as a configuration object. Please note that this option only
  91478. * applies to the initial animation. For other animations, see chart.animation
  91479. * and the animation parameter under the API methods. The following properties
  91480. * are supported:
  91481. *
  91482. * - `defer`: The animation delay time in milliseconds.
  91483. */
  91484. export interface PlotVariwideDataLabelsAnimationOptions {
  91485. /**
  91486. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  91487. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  91488. * inherits defer time from the series.animation.defer.
  91489. */
  91490. defer?: number;
  91491. }
  91492. /**
  91493. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  91494. * appearing next to each data point.
  91495. *
  91496. * Since v6.2.0, multiple data labels can be applied to each single point by
  91497. * defining them as an array of configs.
  91498. *
  91499. * In styled mode, the data labels can be styled with the
  91500. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  91501. * example).
  91502. */
  91503. export interface PlotVariwideDataLabelsOptions {
  91504. /**
  91505. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  91506. * compared to the point. If `right`, the right side of the label should be
  91507. * touching the point. For points with an extent, like columns, the
  91508. * alignments also dictates how to align it inside the box, as given with
  91509. * the inside option. Can be one of `left`, `center` or `right`.
  91510. */
  91511. align?: string;
  91512. /**
  91513. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  91514. * overlap. To make the labels less sensitive for overlapping, the
  91515. * dataLabels.padding can be set to 0.
  91516. */
  91517. allowOverlap?: boolean;
  91518. /**
  91519. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  91520. * animation when a series is displayed for the `dataLabels`. The animation
  91521. * can also be set as a configuration object. Please note that this option
  91522. * only applies to the initial animation. For other animations, see
  91523. * chart.animation and the animation parameter under the API methods. The
  91524. * following properties are supported:
  91525. *
  91526. * - `defer`: The animation delay time in milliseconds.
  91527. */
  91528. animation?: (boolean|PlotVariwideDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  91529. /**
  91530. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  91531. * for the data label.
  91532. */
  91533. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  91534. /**
  91535. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  91536. * label. Defaults to `undefined`.
  91537. */
  91538. borderColor?: (ColorString|GradientColorObject|PatternObject);
  91539. /**
  91540. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  91541. * the data label.
  91542. */
  91543. borderRadius?: number;
  91544. /**
  91545. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  91546. * the data label.
  91547. */
  91548. borderWidth?: number;
  91549. /**
  91550. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  91551. * Particularly in styled mode, this can be used to give each series' or
  91552. * point's data label unique styling. In addition to this option, a default
  91553. * color class name is added so that we can give the labels a contrast text
  91554. * shadow.
  91555. */
  91556. className?: string;
  91557. /**
  91558. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  91559. * labels. Defaults to `undefined`. For certain series types, like column or
  91560. * map, the data labels can be drawn inside the points. In this case the
  91561. * data label will be drawn with maximum contrast by default. Additionally,
  91562. * it will be given a `text-outline` style with the opposite color, to
  91563. * further increase the contrast. This can be overridden by setting the
  91564. * `text-outline` style to `none` in the `dataLabels.style` option.
  91565. */
  91566. color?: (ColorString|GradientColorObject|PatternObject);
  91567. /**
  91568. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  91569. * are outside the plot area. By default, the data label is moved inside the
  91570. * plot area according to the overflow option.
  91571. */
  91572. crop?: boolean;
  91573. /**
  91574. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  91575. * labels until the initial series animation has finished. Setting to
  91576. * `false` renders the data label immediately. If set to `true` inherits the
  91577. * defer time set in plotOptions.series.animation.
  91578. */
  91579. defer?: boolean;
  91580. /**
  91581. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  91582. * labels.
  91583. */
  91584. enabled?: boolean;
  91585. /**
  91586. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  91587. * of which data labels to display. The declarative filter is designed for
  91588. * use when callback functions are not available, like when the chart
  91589. * options require a pure JSON structure or for use with graphical editors.
  91590. * For programmatic control, use the `formatter` instead, and return
  91591. * `undefined` to disable a single data label.
  91592. */
  91593. filter?: DataLabelsFilterOptionsObject;
  91594. /**
  91595. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  91596. * label. Available variables are the same as for `formatter`.
  91597. */
  91598. format?: string;
  91599. /**
  91600. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  91601. * format the data label. Note that if a `format` is defined, the format
  91602. * takes precedence and the formatter is ignored.
  91603. */
  91604. formatter?: DataLabelsFormatterCallbackFunction;
  91605. /**
  91606. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  91607. * columns or map areas, whether to align the data label inside the box or
  91608. * to the actual value point. Defaults to `false` in most cases, `true` in
  91609. * stacked columns.
  91610. */
  91611. inside?: boolean;
  91612. /**
  91613. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  91614. * of null. Works analogously to format. `nullFormat` can be applied only to
  91615. * series which support displaying null points.
  91616. */
  91617. nullFormat?: (boolean|string);
  91618. /**
  91619. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  91620. * that defines formatting for points with the value of null. Works
  91621. * analogously to formatter. `nullPointFormatter` can be applied only to
  91622. * series which support displaying null points.
  91623. */
  91624. nullFormatter?: DataLabelsFormatterCallbackFunction;
  91625. /**
  91626. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  91627. * flow outside the plot area. The default is `"justify"`, which aligns them
  91628. * inside the plot area. For columns and bars, this means it will be moved
  91629. * inside the bar. To display data labels outside the plot area, set `crop`
  91630. * to `false` and `overflow` to `"allow"`.
  91631. */
  91632. overflow?: DataLabelsOverflowValue;
  91633. /**
  91634. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  91635. * the `backgroundColor` is set, this is the padding within the box.
  91636. */
  91637. padding?: number;
  91638. /**
  91639. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  91640. * points. If `center` alignment is not possible, it defaults to `right`.
  91641. */
  91642. position?: AlignValue;
  91643. /**
  91644. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  91645. * that due to a more complex structure, backgrounds, borders and padding
  91646. * will be lost on a rotated data label.
  91647. */
  91648. rotation?: number;
  91649. /**
  91650. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  91651. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  91652. * an object configuration containing `color`, `offsetX`, `offsetY`,
  91653. * `opacity` and `width`.
  91654. */
  91655. shadow?: (boolean|ShadowOptionsObject);
  91656. /**
  91657. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  91658. * the border around the label. Symbols are predefined functions on the
  91659. * Renderer object.
  91660. */
  91661. shape?: string;
  91662. /**
  91663. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  91664. * default `color` setting is `"contrast"`, which is a pseudo color that
  91665. * Highcharts picks up and applies the maximum contrast to the underlying
  91666. * point item, for example the bar in a bar chart.
  91667. *
  91668. * The `textOutline` is a pseudo property that applies an outline of the
  91669. * given width with the given color, which by default is the maximum
  91670. * contrast to the text. So a bright text color will result in a black text
  91671. * outline for maximum readability on a mixed background. In some cases,
  91672. * especially with grayscale text, the text outline doesn't work well, in
  91673. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  91674. * is true, the `textOutline` will not be picked up. In this, case, the same
  91675. * effect can be acheived through the `text-shadow` CSS property.
  91676. *
  91677. * For some series types, where each point has an extent, like for example
  91678. * tree maps, the data label may overflow the point. There are two
  91679. * strategies for handling overflow. By default, the text will wrap to
  91680. * multiple lines. The other strategy is to set `style.textOverflow` to
  91681. * `ellipsis`, which will keep the text on one line plus it will break
  91682. * inside long words.
  91683. */
  91684. style?: CSSObject;
  91685. /**
  91686. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  91687. * should follow marker's shape. Border and background are disabled for a
  91688. * label that follows a path.
  91689. *
  91690. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  91691. * to true will disable this option.
  91692. */
  91693. textPath?: DataLabelsTextPathOptionsObject;
  91694. /**
  91695. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  91696. * the labels.
  91697. */
  91698. useHTML?: boolean;
  91699. /**
  91700. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  91701. * label. Can be one of `top`, `middle` or `bottom`. The default value
  91702. * depends on the data, for instance in a column chart, the label is above
  91703. * positive values and below negative values.
  91704. */
  91705. verticalAlign?: string;
  91706. /**
  91707. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  91708. * label relative to the point in pixels.
  91709. */
  91710. x?: number;
  91711. /**
  91712. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  91713. * label relative to the point in pixels.
  91714. */
  91715. y?: number;
  91716. /**
  91717. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  91718. * The default Z index puts it above the series. Use a Z index of 2 to
  91719. * display it behind the series.
  91720. */
  91721. z?: number;
  91722. }
  91723. /**
  91724. * (Highcharts, Highstock) Options for the series data sorting.
  91725. */
  91726. export interface PlotVariwideDataSortingOptions {
  91727. /**
  91728. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  91729. * Use xAxis.reversed to change the sorting order.
  91730. */
  91731. enabled?: boolean;
  91732. /**
  91733. * (Highcharts, Highstock) Whether to allow matching points by name in an
  91734. * update. If this option is disabled, points will be matched by order.
  91735. */
  91736. matchByName?: boolean;
  91737. /**
  91738. * (Highcharts, Highstock) Determines what data value should be used to sort
  91739. * by.
  91740. */
  91741. sortKey?: string;
  91742. }
  91743. /**
  91744. * (Highcharts) Style options for the guide box. The guide box has one state by
  91745. * default, the `default` state.
  91746. */
  91747. export interface PlotVariwideDragDropGuideBoxOptions {
  91748. /**
  91749. * (Highcharts) Style options for the guide box default state.
  91750. */
  91751. default?: DragDropGuideBoxOptionsObject;
  91752. }
  91753. /**
  91754. * (Highcharts) A variwide chart (related to marimekko chart) is a column chart
  91755. * with a variable width expressing a third dimension.
  91756. *
  91757. * In TypeScript the type option must always be set.
  91758. *
  91759. * Configuration options for the series are given in three levels:
  91760. *
  91761. * 1. Options for all series in a chart are defined in the plotOptions.series
  91762. * object.
  91763. *
  91764. * 2. Options for all `variwide` series are defined in plotOptions.variwide.
  91765. *
  91766. * 3. Options for one single series are given in the series instance array. (see
  91767. * online documentation for example)
  91768. */
  91769. export interface PlotVariwideOptions {
  91770. /**
  91771. * (Highcharts) Accessibility options for a series.
  91772. */
  91773. accessibility?: SeriesAccessibilityOptionsObject;
  91774. /**
  91775. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  91776. * rendered. If `true`, areas which don't correspond to a data point, are
  91777. * rendered as `null` points. If `false`, those areas are skipped.
  91778. */
  91779. allAreas?: boolean;
  91780. /**
  91781. * (Highcharts) Allow this series' points to be selected by clicking on the
  91782. * graphic (columns, point markers, pie slices, map areas etc).
  91783. *
  91784. * The selected points can be handled by point select and unselect events,
  91785. * or collectively by the getSelectedPoints function.
  91786. *
  91787. * And alternative way of selecting points is through dragging.
  91788. */
  91789. allowPointSelect?: boolean;
  91790. /**
  91791. * (Highcharts) Enable or disable the initial animation when a series is
  91792. * displayed. The animation can also be set as a configuration object.
  91793. * Please note that this option only applies to the initial animation of the
  91794. * series itself. For other animations, see chart.animation and the
  91795. * animation parameter under the API methods. The following properties are
  91796. * supported:
  91797. *
  91798. * - `defer`: The animation delay time in milliseconds.
  91799. *
  91800. * - `duration`: The duration of the animation in milliseconds.
  91801. *
  91802. * - `easing`: Can be a string reference to an easing function set on the
  91803. * `Math` object or a function. See the _Custom easing function_ demo below.
  91804. *
  91805. * Due to poor performance, animation is disabled in old IE browsers for
  91806. * several chart types.
  91807. */
  91808. animation?: (boolean|PlotVariwideAnimationOptions|Partial<AnimationOptionsObject>);
  91809. /**
  91810. * (Highcharts) For some series, there is a limit that shuts down initial
  91811. * animation by default when the total number of points in the chart is too
  91812. * high. For example, for a column chart and its derivatives, animation does
  91813. * not run if there is more than 250 points totally. To disable this cap,
  91814. * set `animationLimit` to `Infinity`.
  91815. */
  91816. animationLimit?: number;
  91817. /**
  91818. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  91819. * column or bar.
  91820. *
  91821. * In styled mode, the border stroke can be set with the `.highcharts-point`
  91822. * rule.
  91823. */
  91824. borderColor?: (ColorString|GradientColorObject|PatternObject);
  91825. /**
  91826. * (Highcharts, Highstock, Gantt) The corner radius of the border
  91827. * surrounding each column or bar.
  91828. */
  91829. borderRadius?: number;
  91830. /**
  91831. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  91832. * column or bar. Defaults to `1` when there is room for a border, but to
  91833. * `0` when the columns are so dense that a border would cover the next
  91834. * column.
  91835. *
  91836. * In styled mode, the stroke width can be set with the `.highcharts-point`
  91837. * rule.
  91838. */
  91839. borderWidth?: number;
  91840. /**
  91841. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  91842. * the category, ignoring null or missing points. When `false`, space will
  91843. * be reserved for null or missing points.
  91844. */
  91845. centerInCategory?: boolean;
  91846. /**
  91847. * (Highcharts) An additional class name to apply to the series' graphical
  91848. * elements. This option does not replace default class names of the
  91849. * graphical element.
  91850. */
  91851. className?: string;
  91852. /**
  91853. * (Highcharts) Disable this option to allow series rendering in the whole
  91854. * plotting area.
  91855. *
  91856. * **Note:** Clipping should be always enabled when chart.zoomType is set
  91857. */
  91858. clip?: boolean;
  91859. /**
  91860. * (Highcharts) The main color of the series. In line type series it applies
  91861. * to the line and the point markers unless otherwise specified. In bar type
  91862. * series it applies to the bars unless a color is specified per point. The
  91863. * default value is pulled from the `options.colors` array.
  91864. *
  91865. * In styled mode, the color can be defined by the colorIndex option. Also,
  91866. * the series color can be set with the `.highcharts-series`,
  91867. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  91868. * `.highcharts-series-{n}` class, or individual classes given by the
  91869. * `className` option.
  91870. */
  91871. color?: (ColorString|GradientColorObject|PatternObject);
  91872. /**
  91873. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  91874. * this number defines which colorAxis the particular series is connected
  91875. * to. It refers to either the axis id or the index of the axis in the
  91876. * colorAxis array, with 0 being the first. Set this option to false to
  91877. * prevent a series from connecting to the default color axis.
  91878. *
  91879. * Since v7.2.0 the option can also be an axis id or an axis index instead
  91880. * of a boolean flag.
  91881. */
  91882. colorAxis?: (boolean|number|string);
  91883. /**
  91884. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  91885. * from the global colors or series-specific plotOptions.column.colors
  91886. * collections, this option determines whether the chart should receive one
  91887. * color per series or one color per point.
  91888. *
  91889. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  91890. * and instead this option gives the points individual color class names on
  91891. * the form `highcharts-color-{n}`.
  91892. */
  91893. colorByPoint?: boolean;
  91894. /**
  91895. * (Highcharts) Styled mode only. A specific color index to use for the
  91896. * series, so its graphic representations are given the class name
  91897. * `highcharts-color-{n}`.
  91898. */
  91899. colorIndex?: number;
  91900. /**
  91901. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  91902. * used to calculate point color if `colorAxis` is used. Requires to set
  91903. * `min` and `max` if some custom point property is used or if approximation
  91904. * for data grouping is set to `'sum'`.
  91905. */
  91906. colorKey?: string;
  91907. /**
  91908. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  91909. * color set to apply instead of the global colors when colorByPoint is
  91910. * true.
  91911. */
  91912. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  91913. /**
  91914. * (Highstock) Compare the values of the series against the first non-null,
  91915. * non- zero value in the visible range. The y axis will show percentage or
  91916. * absolute change depending on whether `compare` is set to `"percent"` or
  91917. * `"value"`. When this is applied to multiple series, it allows comparing
  91918. * the development of the series against each other. Adds a `change` field
  91919. * to every point object.
  91920. */
  91921. compare?: string;
  91922. /**
  91923. * (Highstock) When compare is `percent`, this option dictates whether to
  91924. * use 0 or 100 as the base of comparison.
  91925. */
  91926. compareBase?: (0|100);
  91927. /**
  91928. * (Highstock) Defines if comparison should start from the first point
  91929. * within the visible range or should start from the first point **before**
  91930. * the range.
  91931. *
  91932. * In other words, this flag determines if first point within the visible
  91933. * range will have 0% (`compareStart=true`) or should have been already
  91934. * calculated according to the previous point (`compareStart=false`).
  91935. */
  91936. compareStart?: boolean;
  91937. /**
  91938. * (Gantt) Override Pathfinder connector options for a series. Requires
  91939. * Highcharts Gantt to be loaded.
  91940. */
  91941. connectors?: SeriesConnectorsOptionsObject;
  91942. /**
  91943. * (Highcharts, Highstock, Gantt) When the series contains less points than
  91944. * the crop threshold, all points are drawn, event if the points fall
  91945. * outside the visible plot area at the current zoom. The advantage of
  91946. * drawing all points (including markers and columns), is that animation is
  91947. * performed on updates. On the other hand, when the series contains more
  91948. * points than the crop threshold, the series data is cropped to only
  91949. * contain points that fall within the plot area. The advantage of cropping
  91950. * away invisible points is to increase performance on large series.
  91951. */
  91952. cropThreshold?: number;
  91953. /**
  91954. * (Highcharts) You can set the cursor to "pointer" if you have click events
  91955. * attached to the series, to signal to the user that the points and lines
  91956. * can be clicked.
  91957. *
  91958. * In styled mode, the series cursor can be set with the same classes as
  91959. * listed under series.color.
  91960. */
  91961. cursor?: (string|CursorValue);
  91962. /**
  91963. * (Highcharts) A reserved subspace to store options and values for
  91964. * customized functionality. Here you can add additional data for your own
  91965. * event callbacks and formatter callbacks.
  91966. */
  91967. custom?: Dictionary<any>;
  91968. /**
  91969. * (Highcharts) Name of the dash style to use for the graph, or for some
  91970. * series types the outline of each shape.
  91971. *
  91972. * In styled mode, the stroke dash-array can be set with the same classes as
  91973. * listed under series.color.
  91974. */
  91975. dashStyle?: DashStyleValue;
  91976. /**
  91977. * (Highstock) Data grouping is the concept of sampling the data values into
  91978. * larger blocks in order to ease readability and increase performance of
  91979. * the JavaScript charts. Highstock by default applies data grouping when
  91980. * the points become closer than a certain pixel value, determined by the
  91981. * `groupPixelWidth` option.
  91982. *
  91983. * If data grouping is applied, the grouping information of grouped points
  91984. * can be read from the Point.dataGroup. If point options other than the
  91985. * data itself are set, for example `name` or `color` or custom properties,
  91986. * the grouping logic doesn't know how to group it. In this case the options
  91987. * of the first point instance are copied over to the group point. This can
  91988. * be altered through a custom `approximation` callback function.
  91989. */
  91990. dataGrouping?: DataGroupingOptionsObject;
  91991. /**
  91992. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  91993. * labels, appearing next to each data point.
  91994. *
  91995. * Since v6.2.0, multiple data labels can be applied to each single point by
  91996. * defining them as an array of configs.
  91997. *
  91998. * In styled mode, the data labels can be styled with the
  91999. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  92000. * (see example).
  92001. */
  92002. dataLabels?: (PlotVariwideDataLabelsOptions|Array<PlotVariwideDataLabelsOptions>);
  92003. /**
  92004. * (Highcharts, Highstock) Options for the series data sorting.
  92005. */
  92006. dataSorting?: (DataSortingOptionsObject|PlotVariwideDataSortingOptions);
  92007. /**
  92008. * (Highcharts) A description of the series to add to the screen reader
  92009. * information about the series.
  92010. */
  92011. description?: string;
  92012. /**
  92013. * (Highcharts) The draggable-points module allows points to be moved around
  92014. * or modified in the chart. In addition to the options mentioned under the
  92015. * `dragDrop` API structure, the module fires three events, point.dragStart,
  92016. * point.drag and point.drop.
  92017. */
  92018. dragDrop?: SeriesDragDropOptionsObject;
  92019. /**
  92020. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  92021. * This includes point tooltips and click events on graphs and points. For
  92022. * large datasets it improves performance.
  92023. */
  92024. enableMouseTracking?: boolean;
  92025. /**
  92026. * (Highcharts) General event handlers for the series items. These event
  92027. * hooks can also be attached to the series at run time using the
  92028. * `Highcharts.addEvent` function.
  92029. */
  92030. events?: SeriesEventsOptionsObject;
  92031. /**
  92032. * (Highcharts) Determines whether the series should look for the nearest
  92033. * point in both dimensions or just the x-dimension when hovering the
  92034. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  92035. * series. If the data has duplicate x-values, it is recommended to set this
  92036. * to `'xy'` to allow hovering over all points.
  92037. *
  92038. * Applies only to series types using nearest neighbor search (not direct
  92039. * hover) for tooltip.
  92040. */
  92041. findNearestPointBy?: OptionsFindNearestPointByValue;
  92042. /**
  92043. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  92044. * chart width or only the zoomed area when zooming in on parts of the X
  92045. * axis. By default, the Y axis adjusts to the min and max of the visible
  92046. * data. Cartesian series only.
  92047. */
  92048. getExtremesFromAll?: boolean;
  92049. /**
  92050. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  92051. * let them render independent of each other. Non-grouped columns will be
  92052. * laid out individually and overlap each other.
  92053. */
  92054. grouping?: boolean;
  92055. /**
  92056. * (Highcharts, Highstock, Gantt) In a variwide chart, the group padding is
  92057. * 0 in order to express the horizontal stacking of items.
  92058. */
  92059. groupPadding?: number;
  92060. /**
  92061. * (Highcharts) When set to `false` will prevent the series data from being
  92062. * included in any form of data export.
  92063. *
  92064. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  92065. * `includeInCSVExport`.
  92066. */
  92067. includeInDataExport?: boolean;
  92068. /**
  92069. * (Highmaps) What property to join the `mapData` to the value data. For
  92070. * example, if joinBy is "code", the mapData items with a specific code is
  92071. * merged into the data with the same code. For maps loaded from GeoJSON,
  92072. * the keys may be held in each point's `properties` object.
  92073. *
  92074. * The joinBy option can also be an array of two values, where the first
  92075. * points to a key in the `mapData`, and the second points to another key in
  92076. * the `data`.
  92077. *
  92078. * When joinBy is `null`, the map items are joined by their position in the
  92079. * array, which performs much better in maps with many data points. This is
  92080. * the recommended option if you are printing more than a thousand data
  92081. * points and have a backend that can preprocess the data into a parallel
  92082. * array of the mapData.
  92083. */
  92084. joinBy?: (string|Array<string>);
  92085. /**
  92086. * (Highcharts) An array specifying which option maps to which key in the
  92087. * data point array. This makes it convenient to work with unstructured data
  92088. * arrays from different sources.
  92089. */
  92090. keys?: Array<string>;
  92091. /**
  92092. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  92093. * series as possible in a natural way, seeking to avoid other series. The
  92094. * goal of this feature is to make the chart more easily readable, like if a
  92095. * human designer placed the labels in the optimal position.
  92096. *
  92097. * The series labels currently work with series types having a `graph` or an
  92098. * `area`.
  92099. */
  92100. label?: SeriesLabelOptionsObject;
  92101. /**
  92102. * (Highstock) The line marks the last price from all points.
  92103. */
  92104. lastPrice?: SeriesLastPriceOptionsObject;
  92105. /**
  92106. * (Highstock) The line marks the last price from visible range of points.
  92107. */
  92108. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  92109. /**
  92110. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  92111. * Additionally, the value can be ":previous" to link to the previous
  92112. * series. When two series are linked, only the first one appears in the
  92113. * legend. Toggling the visibility of this also toggles the linked series.
  92114. *
  92115. * If master series uses data sorting and linked series does not have its
  92116. * own sorting definition, the linked series will be sorted in the same
  92117. * order as the master one.
  92118. */
  92119. linkedTo?: string;
  92120. /**
  92121. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  92122. * column, translated to the height of a bar in a bar chart. This prevents
  92123. * the columns from becoming too wide when there is a small number of points
  92124. * in the chart.
  92125. */
  92126. maxPointWidth?: number;
  92127. /**
  92128. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  92129. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  92130. * to zero) point, set the minimal point length to a pixel value like 3\. In
  92131. * stacked column charts, minPointLength might not be respected for tightly
  92132. * packed values.
  92133. */
  92134. minPointLength?: number;
  92135. /**
  92136. * (Highstock) Options for the corresponding navigator series if
  92137. * `showInNavigator` is `true` for this series. Available options are the
  92138. * same as any series, documented at plotOptions and series.
  92139. *
  92140. * These options are merged with options in navigator.series, and will take
  92141. * precedence if the same option is defined both places.
  92142. */
  92143. navigatorOptions?: PlotSeriesOptions;
  92144. /**
  92145. * (Highcharts) The color for the parts of the graph or points that are
  92146. * below the threshold. Note that `zones` takes precedence over the negative
  92147. * color. Using `negativeColor` is equivalent to applying a zone with value
  92148. * of 0.
  92149. */
  92150. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  92151. /**
  92152. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  92153. * dataLabels.
  92154. */
  92155. opacity?: number;
  92156. /**
  92157. * (Highcharts) Properties for each single point.
  92158. */
  92159. point?: PlotSeriesPointOptions;
  92160. /**
  92161. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  92162. * individual series. Overrides the chart wide configuration.
  92163. */
  92164. pointDescriptionFormatter?: Function;
  92165. /**
  92166. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  92167. * a series, `pointInterval` defines the interval of the x values. For
  92168. * example, if a series contains one value every decade starting from year
  92169. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  92170. * `pointInterval` is set in milliseconds.
  92171. *
  92172. * It can be also be combined with `pointIntervalUnit` to draw irregular
  92173. * time intervals.
  92174. *
  92175. * Please note that this options applies to the _series data_, not the
  92176. * interval of the axis ticks, which is independent.
  92177. */
  92178. pointInterval?: number;
  92179. /**
  92180. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  92181. * setting the pointInterval to irregular time units, `day`, `month` and
  92182. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  92183. * also takes the DST crossover into consideration when dealing with local
  92184. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  92185. * months, 10 years etc.
  92186. *
  92187. * Please note that this options applies to the _series data_, not the
  92188. * interval of the axis ticks, which is independent.
  92189. */
  92190. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  92191. /**
  92192. * (Highcharts, Highstock, Gantt) In a variwide chart, the point padding is
  92193. * 0 in order to express the horizontal stacking of items.
  92194. */
  92195. pointPadding?: number;
  92196. /**
  92197. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  92198. * `number`.
  92199. *
  92200. * In a column chart, when pointPlacement is `"on"`, the point will not
  92201. * create any padding of the X axis. In a polar column chart this means that
  92202. * the first column points directly north. If the pointPlacement is
  92203. * `"between"`, the columns will be laid out between ticks. This is useful
  92204. * for example for visualising an amount between two points in time or in a
  92205. * certain sector of a polar chart.
  92206. *
  92207. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  92208. * is on the axis value, -0.5 is between this value and the previous, and
  92209. * 0.5 is between this value and the next. Unlike the textual options,
  92210. * numeric point placement options won't affect axis padding.
  92211. *
  92212. * Note that pointPlacement needs a pointRange to work. For column series
  92213. * this is computed, but for line-type series it needs to be set.
  92214. *
  92215. * For the `xrange` series type and gantt charts, if the Y axis is a
  92216. * category axis, the `pointPlacement` applies to the Y axis rather than the
  92217. * (typically datetime) X axis.
  92218. *
  92219. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  92220. */
  92221. pointPlacement?: (number|string);
  92222. /**
  92223. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  92224. * for. This determines the width of the column. On a categorized axis, the
  92225. * range will be 1 by default (one category unit). On linear and datetime
  92226. * axes, the range will be computed as the distance between the two closest
  92227. * data points.
  92228. *
  92229. * The default `null` means it is computed automatically, but this option
  92230. * can be used to override the automatic value.
  92231. *
  92232. * This option is set by default to 1 if data sorting is enabled.
  92233. */
  92234. pointRange?: (number|null);
  92235. /**
  92236. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  92237. * a series, pointStart defines on what value to start. For example, if a
  92238. * series contains one yearly value starting from 1945, set pointStart to
  92239. * 1945.
  92240. */
  92241. pointStart?: number;
  92242. /**
  92243. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  92244. * each column or bar point. When `null`, the width is calculated from the
  92245. * `pointPadding` and `groupPadding`. The width effects the dimension that
  92246. * is not based on the point value. For column series it is the hoizontal
  92247. * length and for bar series it is the vertical length.
  92248. */
  92249. pointWidth?: number;
  92250. /**
  92251. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  92252. * true, the checkbox next to the series name in the legend will be checked
  92253. * for a selected series.
  92254. */
  92255. selected?: boolean;
  92256. /**
  92257. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  92258. * the shadow can be an object configuration containing `color`, `offsetX`,
  92259. * `offsetY`, `opacity` and `width`.
  92260. */
  92261. shadow?: (boolean|ShadowOptionsObject);
  92262. /**
  92263. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  92264. * allow selecting the series. The state of the checkbox is determined by
  92265. * the `selected` option.
  92266. */
  92267. showCheckbox?: boolean;
  92268. /**
  92269. * (Highcharts) Whether to display this particular series or series type in
  92270. * the legend. Standalone series are shown in legend by default, and linked
  92271. * series are not. Since v7.2.0 it is possible to show series that use
  92272. * colorAxis by setting this option to `true`.
  92273. */
  92274. showInLegend?: boolean;
  92275. /**
  92276. * (Highstock) Whether or not to show the series in the navigator. Takes
  92277. * precedence over navigator.baseSeries if defined.
  92278. */
  92279. showInNavigator?: boolean;
  92280. /**
  92281. * (Highcharts) If set to `true`, the accessibility module will skip past
  92282. * the points in this series for keyboard navigation.
  92283. */
  92284. skipKeyboardNavigation?: boolean;
  92285. /**
  92286. * (Highcharts, Highstock) When this is true, the series will not cause the
  92287. * Y axis to cross the zero plane (or threshold option) unless the data
  92288. * actually crosses the plane.
  92289. *
  92290. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  92291. * make the Y axis show negative values according to the `minPadding`
  92292. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  92293. */
  92294. softThreshold?: boolean;
  92295. /**
  92296. * (Highcharts, Highstock) Whether to stack the values of each series on top
  92297. * of each other. Possible values are `undefined` to disable, `"normal"` to
  92298. * stack by value or `"percent"`.
  92299. *
  92300. * When stacking is enabled, data must be sorted in ascending X order.
  92301. *
  92302. * Some stacking options are related to specific series types. In the
  92303. * streamgraph series type, the stacking option is set to `"stream"`. The
  92304. * second one is `"overlap"`, which only applies to waterfall series.
  92305. */
  92306. stacking?: OptionsStackingValue;
  92307. states?: SeriesStatesOptionsObject;
  92308. /**
  92309. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  92310. * event on a series isn't triggered until the mouse moves over another
  92311. * series, or out of the plot area. When false, the `mouseOut` event on a
  92312. * series is triggered when the mouse leaves the area around the series'
  92313. * graph or markers. This also implies the tooltip when not shared. When
  92314. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  92315. * be hidden when moving the mouse between series. Defaults to true for line
  92316. * and area type series, but to false for columns, pies etc.
  92317. *
  92318. * **Note:** The boost module will force this option because of technical
  92319. * limitations.
  92320. */
  92321. stickyTracking?: boolean;
  92322. /**
  92323. * (Highcharts) The Y axis value to serve as the base for the columns, for
  92324. * distinguishing between values above and below a threshold. If `null`, the
  92325. * columns extend from the padding Y axis minimum.
  92326. */
  92327. threshold?: (number|null);
  92328. /**
  92329. * (Highcharts) A configuration object for the tooltip rendering of each
  92330. * single series. Properties are inherited from tooltip, but only the
  92331. * following properties can be defined on a series level.
  92332. */
  92333. tooltip?: SeriesTooltipOptionsObject;
  92334. /**
  92335. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  92336. * is longer than this, only one dimensional arrays of numbers, or two
  92337. * dimensional arrays with x and y values are allowed. Also, only the first
  92338. * point is tested, and the rest are assumed to be the same format. This
  92339. * saves expensive data checking and indexing in long series. Set it to `0`
  92340. * disable.
  92341. *
  92342. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  92343. * two dimensional arrays are allowed.
  92344. */
  92345. turboThreshold?: number;
  92346. /**
  92347. * (Highcharts) Set the initial visibility of the series.
  92348. */
  92349. visible?: boolean;
  92350. /**
  92351. * (Highmaps) Define the z index of the series.
  92352. */
  92353. zIndex?: number;
  92354. /**
  92355. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  92356. */
  92357. zoneAxis?: string;
  92358. /**
  92359. * (Highcharts, Highstock) An array defining zones within a series. Zones
  92360. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  92361. * the `zoneAxis` option. The zone definitions have to be in ascending order
  92362. * regarding to the value.
  92363. *
  92364. * In styled mode, the color zones are styled with the
  92365. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  92366. * option (view live demo).
  92367. */
  92368. zones?: Array<SeriesZonesOptionsObject>;
  92369. }
  92370. /**
  92371. * (Highstock) Enable or disable the initial animation when a series is
  92372. * displayed. The animation can also be set as a configuration object. Please
  92373. * note that this option only applies to the initial animation of the series
  92374. * itself. For other animations, see chart.animation and the animation parameter
  92375. * under the API methods. The following properties are supported:
  92376. *
  92377. * - `defer`: The animation delay time in milliseconds.
  92378. *
  92379. * - `duration`: The duration of the animation in milliseconds.
  92380. *
  92381. * - `easing`: Can be a string reference to an easing function set on the `Math`
  92382. * object or a function. See the _Custom easing function_ demo below.
  92383. *
  92384. * Due to poor performance, animation is disabled in old IE browsers for several
  92385. * chart types.
  92386. */
  92387. export interface PlotVbpAnimationOptions {
  92388. defer?: number;
  92389. }
  92390. /**
  92391. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  92392. * animation when a series is displayed for the `dataLabels`. The animation can
  92393. * also be set as a configuration object. Please note that this option only
  92394. * applies to the initial animation. For other animations, see chart.animation
  92395. * and the animation parameter under the API methods. The following properties
  92396. * are supported:
  92397. *
  92398. * - `defer`: The animation delay time in milliseconds.
  92399. */
  92400. export interface PlotVbpDataLabelsAnimationOptions {
  92401. /**
  92402. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  92403. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  92404. * inherits defer time from the series.animation.defer.
  92405. */
  92406. defer?: number;
  92407. }
  92408. /**
  92409. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  92410. * appearing next to each data point.
  92411. *
  92412. * Since v6.2.0, multiple data labels can be applied to each single point by
  92413. * defining them as an array of configs.
  92414. *
  92415. * In styled mode, the data labels can be styled with the
  92416. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  92417. * example).
  92418. */
  92419. export interface PlotVbpDataLabelsOptions {
  92420. /**
  92421. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  92422. * compared to the point. If `right`, the right side of the label should be
  92423. * touching the point. For points with an extent, like columns, the
  92424. * alignments also dictates how to align it inside the box, as given with
  92425. * the inside option. Can be one of `left`, `center` or `right`.
  92426. */
  92427. align?: (AlignValue|null);
  92428. /**
  92429. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  92430. * overlap. To make the labels less sensitive for overlapping, the
  92431. * dataLabels.padding can be set to 0.
  92432. */
  92433. allowOverlap?: boolean;
  92434. /**
  92435. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  92436. * animation when a series is displayed for the `dataLabels`. The animation
  92437. * can also be set as a configuration object. Please note that this option
  92438. * only applies to the initial animation. For other animations, see
  92439. * chart.animation and the animation parameter under the API methods. The
  92440. * following properties are supported:
  92441. *
  92442. * - `defer`: The animation delay time in milliseconds.
  92443. */
  92444. animation?: (boolean|PlotVbpDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  92445. /**
  92446. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  92447. * for the data label.
  92448. */
  92449. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  92450. /**
  92451. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  92452. * label. Defaults to `undefined`.
  92453. */
  92454. borderColor?: (ColorString|GradientColorObject|PatternObject);
  92455. /**
  92456. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  92457. * the data label.
  92458. */
  92459. borderRadius?: number;
  92460. /**
  92461. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  92462. * the data label.
  92463. */
  92464. borderWidth?: number;
  92465. /**
  92466. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  92467. * Particularly in styled mode, this can be used to give each series' or
  92468. * point's data label unique styling. In addition to this option, a default
  92469. * color class name is added so that we can give the labels a contrast text
  92470. * shadow.
  92471. */
  92472. className?: string;
  92473. /**
  92474. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  92475. * labels. Defaults to `undefined`. For certain series types, like column or
  92476. * map, the data labels can be drawn inside the points. In this case the
  92477. * data label will be drawn with maximum contrast by default. Additionally,
  92478. * it will be given a `text-outline` style with the opposite color, to
  92479. * further increase the contrast. This can be overridden by setting the
  92480. * `text-outline` style to `none` in the `dataLabels.style` option.
  92481. */
  92482. color?: (ColorString|GradientColorObject|PatternObject);
  92483. /**
  92484. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  92485. * are outside the plot area. By default, the data label is moved inside the
  92486. * plot area according to the overflow option.
  92487. */
  92488. crop?: boolean;
  92489. /**
  92490. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  92491. * labels until the initial series animation has finished. Setting to
  92492. * `false` renders the data label immediately. If set to `true` inherits the
  92493. * defer time set in plotOptions.series.animation.
  92494. */
  92495. defer?: boolean;
  92496. /**
  92497. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  92498. * labels.
  92499. */
  92500. enabled?: boolean;
  92501. /**
  92502. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  92503. * of which data labels to display. The declarative filter is designed for
  92504. * use when callback functions are not available, like when the chart
  92505. * options require a pure JSON structure or for use with graphical editors.
  92506. * For programmatic control, use the `formatter` instead, and return
  92507. * `undefined` to disable a single data label.
  92508. */
  92509. filter?: DataLabelsFilterOptionsObject;
  92510. /**
  92511. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  92512. * label. Available variables are the same as for `formatter`.
  92513. */
  92514. format?: string;
  92515. /**
  92516. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  92517. * format the data label. Note that if a `format` is defined, the format
  92518. * takes precedence and the formatter is ignored.
  92519. */
  92520. formatter?: DataLabelsFormatterCallbackFunction;
  92521. /**
  92522. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  92523. * columns or map areas, whether to align the data label inside the box or
  92524. * to the actual value point. Defaults to `false` in most cases, `true` in
  92525. * stacked columns.
  92526. */
  92527. inside?: boolean;
  92528. /**
  92529. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  92530. * of null. Works analogously to format. `nullFormat` can be applied only to
  92531. * series which support displaying null points.
  92532. */
  92533. nullFormat?: (boolean|string);
  92534. /**
  92535. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  92536. * that defines formatting for points with the value of null. Works
  92537. * analogously to formatter. `nullPointFormatter` can be applied only to
  92538. * series which support displaying null points.
  92539. */
  92540. nullFormatter?: DataLabelsFormatterCallbackFunction;
  92541. /**
  92542. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  92543. * flow outside the plot area. The default is `"justify"`, which aligns them
  92544. * inside the plot area. For columns and bars, this means it will be moved
  92545. * inside the bar. To display data labels outside the plot area, set `crop`
  92546. * to `false` and `overflow` to `"allow"`.
  92547. */
  92548. overflow?: DataLabelsOverflowValue;
  92549. /**
  92550. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  92551. * the `backgroundColor` is set, this is the padding within the box.
  92552. */
  92553. padding?: number;
  92554. /**
  92555. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  92556. * points. If `center` alignment is not possible, it defaults to `right`.
  92557. */
  92558. position?: AlignValue;
  92559. /**
  92560. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  92561. * that due to a more complex structure, backgrounds, borders and padding
  92562. * will be lost on a rotated data label.
  92563. */
  92564. rotation?: number;
  92565. /**
  92566. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  92567. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  92568. * an object configuration containing `color`, `offsetX`, `offsetY`,
  92569. * `opacity` and `width`.
  92570. */
  92571. shadow?: (boolean|ShadowOptionsObject);
  92572. /**
  92573. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  92574. * the border around the label. Symbols are predefined functions on the
  92575. * Renderer object.
  92576. */
  92577. shape?: string;
  92578. /**
  92579. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  92580. * default `color` setting is `"contrast"`, which is a pseudo color that
  92581. * Highcharts picks up and applies the maximum contrast to the underlying
  92582. * point item, for example the bar in a bar chart.
  92583. *
  92584. * The `textOutline` is a pseudo property that applies an outline of the
  92585. * given width with the given color, which by default is the maximum
  92586. * contrast to the text. So a bright text color will result in a black text
  92587. * outline for maximum readability on a mixed background. In some cases,
  92588. * especially with grayscale text, the text outline doesn't work well, in
  92589. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  92590. * is true, the `textOutline` will not be picked up. In this, case, the same
  92591. * effect can be acheived through the `text-shadow` CSS property.
  92592. *
  92593. * For some series types, where each point has an extent, like for example
  92594. * tree maps, the data label may overflow the point. There are two
  92595. * strategies for handling overflow. By default, the text will wrap to
  92596. * multiple lines. The other strategy is to set `style.textOverflow` to
  92597. * `ellipsis`, which will keep the text on one line plus it will break
  92598. * inside long words.
  92599. */
  92600. style?: CSSObject;
  92601. /**
  92602. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  92603. * should follow marker's shape. Border and background are disabled for a
  92604. * label that follows a path.
  92605. *
  92606. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  92607. * to true will disable this option.
  92608. */
  92609. textPath?: DataLabelsTextPathOptionsObject;
  92610. /**
  92611. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  92612. * the labels.
  92613. */
  92614. useHTML?: boolean;
  92615. /**
  92616. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  92617. * label. Can be one of `top`, `middle` or `bottom`. The default value
  92618. * depends on the data, for instance in a column chart, the label is above
  92619. * positive values and below negative values.
  92620. */
  92621. verticalAlign?: string;
  92622. /**
  92623. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  92624. * label relative to the point in pixels.
  92625. */
  92626. x?: number;
  92627. /**
  92628. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  92629. * label relative to the point in pixels.
  92630. */
  92631. y?: number;
  92632. /**
  92633. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  92634. * The default Z index puts it above the series. Use a Z index of 2 to
  92635. * display it behind the series.
  92636. */
  92637. z?: number;
  92638. }
  92639. /**
  92640. * (Highcharts, Highstock) Options for the series data sorting.
  92641. */
  92642. export interface PlotVbpDataSortingOptions {
  92643. /**
  92644. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  92645. * Use xAxis.reversed to change the sorting order.
  92646. */
  92647. enabled?: boolean;
  92648. /**
  92649. * (Highcharts, Highstock) Whether to allow matching points by name in an
  92650. * update. If this option is disabled, points will be matched by order.
  92651. */
  92652. matchByName?: boolean;
  92653. /**
  92654. * (Highcharts, Highstock) Determines what data value should be used to sort
  92655. * by.
  92656. */
  92657. sortKey?: string;
  92658. }
  92659. /**
  92660. * (Highstock) Volume By Price indicator.
  92661. *
  92662. * This series requires `linkedTo` option to be set.
  92663. *
  92664. * In TypeScript the type option must always be set.
  92665. *
  92666. * Configuration options for the series are given in three levels:
  92667. *
  92668. * 1. Options for all series in a chart are defined in the plotOptions.series
  92669. * object.
  92670. *
  92671. * 2. Options for all `vbp` series are defined in plotOptions.vbp.
  92672. *
  92673. * 3. Options for one single series are given in the series instance array. (see
  92674. * online documentation for example)
  92675. */
  92676. export interface PlotVbpOptions {
  92677. /**
  92678. * (Highstock) Accessibility options for a series.
  92679. */
  92680. accessibility?: SeriesAccessibilityOptionsObject;
  92681. /**
  92682. * (Highstock) Allow this series' points to be selected by clicking on the
  92683. * graphic (columns, point markers, pie slices, map areas etc).
  92684. *
  92685. * The selected points can be handled by point select and unselect events,
  92686. * or collectively by the getSelectedPoints function.
  92687. *
  92688. * And alternative way of selecting points is through dragging.
  92689. */
  92690. allowPointSelect?: boolean;
  92691. /**
  92692. * (Highstock) Enable or disable the initial animation when a series is
  92693. * displayed. The animation can also be set as a configuration object.
  92694. * Please note that this option only applies to the initial animation of the
  92695. * series itself. For other animations, see chart.animation and the
  92696. * animation parameter under the API methods. The following properties are
  92697. * supported:
  92698. *
  92699. * - `defer`: The animation delay time in milliseconds.
  92700. *
  92701. * - `duration`: The duration of the animation in milliseconds.
  92702. *
  92703. * - `easing`: Can be a string reference to an easing function set on the
  92704. * `Math` object or a function. See the _Custom easing function_ demo below.
  92705. *
  92706. * Due to poor performance, animation is disabled in old IE browsers for
  92707. * several chart types.
  92708. */
  92709. animation?: (boolean|PlotVbpAnimationOptions|Partial<AnimationOptionsObject>);
  92710. /**
  92711. * (Highstock) For some series, there is a limit that shuts down initial
  92712. * animation by default when the total number of points in the chart is too
  92713. * high. For example, for a column chart and its derivatives, animation does
  92714. * not run if there is more than 250 points totally. To disable this cap,
  92715. * set `animationLimit` to `Infinity`.
  92716. */
  92717. animationLimit?: number;
  92718. /**
  92719. * (Highstock) Sets the color blending in the boost module.
  92720. */
  92721. boostBlending?: OptionsBoostBlendingValue;
  92722. /**
  92723. * (Highstock) Set the point threshold for when a series should enter boost
  92724. * mode.
  92725. *
  92726. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  92727. * there are 2000 or more points in the series.
  92728. *
  92729. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  92730. * it to 1 will force boosting.
  92731. *
  92732. * Note that the cropThreshold also affects this setting. When zooming in on
  92733. * a series that has fewer points than the `cropThreshold`, all points are
  92734. * rendered although outside the visible plot area, and the `boostThreshold`
  92735. * won't take effect.
  92736. */
  92737. boostThreshold?: number;
  92738. /**
  92739. * (Highmaps) The border color of the map areas.
  92740. *
  92741. * In styled mode, the border stroke is given in the `.highcharts-point`
  92742. * class.
  92743. */
  92744. borderColor?: (ColorString|GradientColorObject|PatternObject);
  92745. /**
  92746. * (Highmaps) The border width of each map area.
  92747. *
  92748. * In styled mode, the border stroke width is given in the
  92749. * `.highcharts-point` class.
  92750. */
  92751. borderWidth?: number;
  92752. /**
  92753. * (Highstock) An additional class name to apply to the series' graphical
  92754. * elements. This option does not replace default class names of the
  92755. * graphical element.
  92756. */
  92757. className?: string;
  92758. /**
  92759. * (Highstock) Disable this option to allow series rendering in the whole
  92760. * plotting area.
  92761. *
  92762. * **Note:** Clipping should be always enabled when chart.zoomType is set
  92763. */
  92764. clip?: boolean;
  92765. /**
  92766. * (Highstock) The main color of the series. In line type series it applies
  92767. * to the line and the point markers unless otherwise specified. In bar type
  92768. * series it applies to the bars unless a color is specified per point. The
  92769. * default value is pulled from the `options.colors` array.
  92770. *
  92771. * In styled mode, the color can be defined by the colorIndex option. Also,
  92772. * the series color can be set with the `.highcharts-series`,
  92773. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  92774. * `.highcharts-series-{n}` class, or individual classes given by the
  92775. * `className` option.
  92776. */
  92777. color?: (ColorString|GradientColorObject|PatternObject);
  92778. /**
  92779. * (Highstock) Styled mode only. A specific color index to use for the
  92780. * series, so its graphic representations are given the class name
  92781. * `highcharts-color-{n}`.
  92782. */
  92783. colorIndex?: number;
  92784. /**
  92785. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  92786. * used to calculate point color if `colorAxis` is used. Requires to set
  92787. * `min` and `max` if some custom point property is used or if approximation
  92788. * for data grouping is set to `'sum'`.
  92789. */
  92790. colorKey?: string;
  92791. /**
  92792. * (Highstock) Compare the values of the series against the first non-null,
  92793. * non- zero value in the visible range. The y axis will show percentage or
  92794. * absolute change depending on whether `compare` is set to `"percent"` or
  92795. * `"value"`. When this is applied to multiple series, it allows comparing
  92796. * the development of the series against each other. Adds a `change` field
  92797. * to every point object.
  92798. */
  92799. compare?: string;
  92800. /**
  92801. * (Highstock) When compare is `percent`, this option dictates whether to
  92802. * use 0 or 100 as the base of comparison.
  92803. */
  92804. compareBase?: (0|100);
  92805. /**
  92806. * (Highstock) Defines if comparison should start from the first point
  92807. * within the visible range or should start from the first point **before**
  92808. * the range.
  92809. *
  92810. * In other words, this flag determines if first point within the visible
  92811. * range will have 0% (`compareStart=true`) or should have been already
  92812. * calculated according to the previous point (`compareStart=false`).
  92813. */
  92814. compareStart?: boolean;
  92815. /**
  92816. * (Highstock) Whether to compare indicator to the main series values or
  92817. * indicator values.
  92818. */
  92819. compareToMain?: boolean;
  92820. /**
  92821. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  92822. * series plot across the extremes.
  92823. */
  92824. connectEnds?: boolean;
  92825. /**
  92826. * (Highcharts, Highstock) Whether to connect a graph line across null
  92827. * points, or render a gap between the two points on either side of the
  92828. * null.
  92829. */
  92830. connectNulls?: boolean;
  92831. /**
  92832. * (Gantt) Override Pathfinder connector options for a series. Requires
  92833. * Highcharts Gantt to be loaded.
  92834. */
  92835. connectors?: SeriesConnectorsOptionsObject;
  92836. /**
  92837. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  92838. * rounded to its nearest pixel in order to render sharp on screen. In some
  92839. * cases, when there are a lot of densely packed columns, this leads to
  92840. * visible difference in column widths or distance between columns. In these
  92841. * cases, setting `crisp` to `false` may look better, even though each
  92842. * column is rendered blurry.
  92843. */
  92844. crisp?: boolean;
  92845. /**
  92846. * (Highcharts, Highstock) When the series contains less points than the
  92847. * crop threshold, all points are drawn, even if the points fall outside the
  92848. * visible plot area at the current zoom. The advantage of drawing all
  92849. * points (including markers and columns), is that animation is performed on
  92850. * updates. On the other hand, when the series contains more points than the
  92851. * crop threshold, the series data is cropped to only contain points that
  92852. * fall within the plot area. The advantage of cropping away invisible
  92853. * points is to increase performance on large series.
  92854. */
  92855. cropThreshold?: number;
  92856. /**
  92857. * (Highstock) You can set the cursor to "pointer" if you have click events
  92858. * attached to the series, to signal to the user that the points and lines
  92859. * can be clicked.
  92860. *
  92861. * In styled mode, the series cursor can be set with the same classes as
  92862. * listed under series.color.
  92863. */
  92864. cursor?: (string|CursorValue);
  92865. /**
  92866. * (Highstock) A reserved subspace to store options and values for
  92867. * customized functionality. Here you can add additional data for your own
  92868. * event callbacks and formatter callbacks.
  92869. */
  92870. custom?: Dictionary<any>;
  92871. /**
  92872. * (Highstock) Name of the dash style to use for the graph, or for some
  92873. * series types the outline of each shape.
  92874. *
  92875. * In styled mode, the stroke dash-array can be set with the same classes as
  92876. * listed under series.color.
  92877. */
  92878. dashStyle?: DashStyleValue;
  92879. /**
  92880. * (Highstock) Data grouping is the concept of sampling the data values into
  92881. * larger blocks in order to ease readability and increase performance of
  92882. * the JavaScript charts. Highstock by default applies data grouping when
  92883. * the points become closer than a certain pixel value, determined by the
  92884. * `groupPixelWidth` option.
  92885. *
  92886. * If data grouping is applied, the grouping information of grouped points
  92887. * can be read from the Point.dataGroup. If point options other than the
  92888. * data itself are set, for example `name` or `color` or custom properties,
  92889. * the grouping logic doesn't know how to group it. In this case the options
  92890. * of the first point instance are copied over to the group point. This can
  92891. * be altered through a custom `approximation` callback function.
  92892. */
  92893. dataGrouping?: DataGroupingOptionsObject;
  92894. /**
  92895. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  92896. * labels, appearing next to each data point.
  92897. *
  92898. * Since v6.2.0, multiple data labels can be applied to each single point by
  92899. * defining them as an array of configs.
  92900. *
  92901. * In styled mode, the data labels can be styled with the
  92902. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  92903. * (see example).
  92904. */
  92905. dataLabels?: (PlotVbpDataLabelsOptions|Array<PlotVbpDataLabelsOptions>);
  92906. /**
  92907. * (Highcharts, Highstock) Options for the series data sorting.
  92908. */
  92909. dataSorting?: (DataSortingOptionsObject|PlotVbpDataSortingOptions);
  92910. /**
  92911. * (Highstock) A description of the series to add to the screen reader
  92912. * information about the series.
  92913. */
  92914. description?: string;
  92915. /**
  92916. * (Highstock) Enable or disable the mouse tracking for a specific series.
  92917. * This includes point tooltips and click events on graphs and points. For
  92918. * large datasets it improves performance.
  92919. */
  92920. enableMouseTracking?: boolean;
  92921. /**
  92922. * (Highstock) General event handlers for the series items. These event
  92923. * hooks can also be attached to the series at run time using the
  92924. * `Highcharts.addEvent` function.
  92925. */
  92926. events?: SeriesEventsOptionsObject;
  92927. /**
  92928. * (Highstock) Determines whether the series should look for the nearest
  92929. * point in both dimensions or just the x-dimension when hovering the
  92930. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  92931. * series. If the data has duplicate x-values, it is recommended to set this
  92932. * to `'xy'` to allow hovering over all points.
  92933. *
  92934. * Applies only to series types using nearest neighbor search (not direct
  92935. * hover) for tooltip.
  92936. */
  92937. findNearestPointBy?: OptionsFindNearestPointByValue;
  92938. /**
  92939. * (Highstock) Defines when to display a gap in the graph, together with the
  92940. * gapUnit option.
  92941. *
  92942. * In case when `dataGrouping` is enabled, points can be grouped into a
  92943. * larger time span. This can make the grouped points to have a greater
  92944. * distance than the absolute value of `gapSize` property, which will result
  92945. * in disappearing graph completely. To prevent this situation the mentioned
  92946. * distance between grouped points is used instead of previously defined
  92947. * `gapSize`.
  92948. *
  92949. * In practice, this option is most often used to visualize gaps in time
  92950. * series. In a stock chart, intraday data is available for daytime hours,
  92951. * while gaps will appear in nights and weekends.
  92952. */
  92953. gapSize?: number;
  92954. /**
  92955. * (Highstock) Together with gapSize, this option defines where to draw gaps
  92956. * in the graph.
  92957. *
  92958. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  92959. * if the distance between two points is greater than 5 times that of the
  92960. * two closest points, the graph will be broken.
  92961. *
  92962. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  92963. * values, which on a datetime axis is milliseconds. This also applies to
  92964. * the navigator series that inherits gap options from the base series.
  92965. */
  92966. gapUnit?: OptionsGapUnitValue;
  92967. /**
  92968. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  92969. * chart width or only the zoomed area when zooming in on parts of the X
  92970. * axis. By default, the Y axis adjusts to the min and max of the visible
  92971. * data. Cartesian series only.
  92972. */
  92973. getExtremesFromAll?: boolean;
  92974. /**
  92975. * (Highstock) When set to `false` will prevent the series data from being
  92976. * included in any form of data export.
  92977. *
  92978. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  92979. * `includeInCSVExport`.
  92980. */
  92981. includeInDataExport?: boolean;
  92982. /**
  92983. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  92984. * series as possible in a natural way, seeking to avoid other series. The
  92985. * goal of this feature is to make the chart more easily readable, like if a
  92986. * human designer placed the labels in the optimal position.
  92987. *
  92988. * The series labels currently work with series types having a `graph` or an
  92989. * `area`.
  92990. */
  92991. label?: SeriesLabelOptionsObject;
  92992. /**
  92993. * (Highstock) The line marks the last price from all points.
  92994. */
  92995. lastPrice?: SeriesLastPriceOptionsObject;
  92996. /**
  92997. * (Highstock) The line marks the last price from visible range of points.
  92998. */
  92999. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  93000. /**
  93001. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  93002. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  93003. * the ends and bends.
  93004. */
  93005. linecap?: SeriesLinecapValue;
  93006. /**
  93007. * (Highcharts, Highstock) Pixel width of the graph line.
  93008. */
  93009. lineWidth?: number;
  93010. /**
  93011. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  93012. * based on. Required for this indicator.
  93013. */
  93014. linkedTo?: string;
  93015. /**
  93016. * (Highstock) Options for the point markers of line-like series. Properties
  93017. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  93018. * appearance of the markers. Other series types, like column series, don't
  93019. * have markers, but have visual options on the series level instead.
  93020. *
  93021. * In styled mode, the markers can be styled with the `.highcharts-point`,
  93022. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  93023. */
  93024. marker?: PointMarkerOptionsObject;
  93025. /**
  93026. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  93027. * If not set, it will be based on a technical indicator type and default
  93028. * params.
  93029. */
  93030. name?: string;
  93031. /**
  93032. * (Highstock) The color for the parts of the graph or points that are below
  93033. * the threshold. Note that `zones` takes precedence over the negative
  93034. * color. Using `negativeColor` is equivalent to applying a zone with value
  93035. * of 0.
  93036. */
  93037. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  93038. /**
  93039. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  93040. * dataLabels.
  93041. */
  93042. opacity?: number;
  93043. /**
  93044. * (Highstock) Paramters used in calculation of regression series' points.
  93045. */
  93046. params?: PlotVbpParamsOptions;
  93047. /**
  93048. * (Highstock) Properties for each single point.
  93049. */
  93050. point?: PlotSeriesPointOptions;
  93051. /**
  93052. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  93053. * individual series. Overrides the chart wide configuration.
  93054. */
  93055. pointDescriptionFormatter?: Function;
  93056. pointPadding?: number;
  93057. /**
  93058. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  93059. * true, the checkbox next to the series name in the legend will be checked
  93060. * for a selected series.
  93061. */
  93062. selected?: boolean;
  93063. /**
  93064. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  93065. * the shadow can be an object configuration containing `color`, `offsetX`,
  93066. * `offsetY`, `opacity` and `width`.
  93067. */
  93068. shadow?: (boolean|ShadowOptionsObject);
  93069. /**
  93070. * (Highstock) If true, a checkbox is displayed next to the legend item to
  93071. * allow selecting the series. The state of the checkbox is determined by
  93072. * the `selected` option.
  93073. */
  93074. showCheckbox?: boolean;
  93075. /**
  93076. * (Highstock) Whether to display this particular series or series type in
  93077. * the legend. Standalone series are shown in legend by default, and linked
  93078. * series are not. Since v7.2.0 it is possible to show series that use
  93079. * colorAxis by setting this option to `true`.
  93080. */
  93081. showInLegend?: boolean;
  93082. /**
  93083. * (Highstock) If set to `true`, the accessibility module will skip past the
  93084. * points in this series for keyboard navigation.
  93085. */
  93086. skipKeyboardNavigation?: boolean;
  93087. /**
  93088. * (Highcharts, Highstock) When this is true, the series will not cause the
  93089. * Y axis to cross the zero plane (or threshold option) unless the data
  93090. * actually crosses the plane.
  93091. *
  93092. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  93093. * make the Y axis show negative values according to the `minPadding`
  93094. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  93095. */
  93096. softThreshold?: boolean;
  93097. states?: SeriesStatesOptionsObject;
  93098. /**
  93099. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  93100. * values are `left`, `center` and `right`.
  93101. */
  93102. step?: OptionsStepValue;
  93103. /**
  93104. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  93105. * event on a series isn't triggered until the mouse moves over another
  93106. * series, or out of the plot area. When false, the `mouseOut` event on a
  93107. * series is triggered when the mouse leaves the area around the series'
  93108. * graph or markers. This also implies the tooltip when not shared. When
  93109. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  93110. * be hidden when moving the mouse between series. Defaults to true for line
  93111. * and area type series, but to false for columns, pies etc.
  93112. *
  93113. * **Note:** The boost module will force this option because of technical
  93114. * limitations.
  93115. */
  93116. stickyTracking?: boolean;
  93117. /**
  93118. * (Highcharts, Highstock) The threshold, also called zero level or base
  93119. * level. For line type series this is only used in conjunction with
  93120. * negativeColor.
  93121. */
  93122. threshold?: number;
  93123. /**
  93124. * (Highstock) A configuration object for the tooltip rendering of each
  93125. * single series. Properties are inherited from tooltip, but only the
  93126. * following properties can be defined on a series level.
  93127. */
  93128. tooltip?: SeriesTooltipOptionsObject;
  93129. /**
  93130. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  93131. * is longer than this, only one dimensional arrays of numbers, or two
  93132. * dimensional arrays with x and y values are allowed. Also, only the first
  93133. * point is tested, and the rest are assumed to be the same format. This
  93134. * saves expensive data checking and indexing in long series. Set it to `0`
  93135. * disable.
  93136. *
  93137. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  93138. * two dimensional arrays are allowed.
  93139. */
  93140. turboThreshold?: number;
  93141. /**
  93142. * (Highstock) Set the initial visibility of the series.
  93143. */
  93144. visible?: boolean;
  93145. /**
  93146. * (Highstock) The styles for bars when volume is divided into
  93147. * positive/negative.
  93148. */
  93149. volumeDivision?: PlotVbpVolumeDivisionOptions;
  93150. /**
  93151. * (Highmaps) Define the z index of the series.
  93152. */
  93153. zIndex?: number;
  93154. /**
  93155. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  93156. */
  93157. zoneAxis?: string;
  93158. /**
  93159. * (Highstock) The styles for lines which determine price zones.
  93160. */
  93161. zoneLines?: PlotVbpZoneLinesOptions;
  93162. /**
  93163. * (Highcharts, Highstock) An array defining zones within a series. Zones
  93164. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  93165. * the `zoneAxis` option. The zone definitions have to be in ascending order
  93166. * regarding to the value.
  93167. *
  93168. * In styled mode, the color zones are styled with the
  93169. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  93170. * option (view live demo).
  93171. */
  93172. zones?: Array<SeriesZonesOptionsObject>;
  93173. }
  93174. /**
  93175. * (Highstock) Paramters used in calculation of regression series' points.
  93176. */
  93177. export interface PlotVbpParamsOptions {
  93178. /**
  93179. * (Highstock) The number of price zones.
  93180. */
  93181. ranges?: number;
  93182. /**
  93183. * (Highstock) The id of volume series which is mandatory. For example using
  93184. * OHLC data, volumeSeriesID='volume' means the indicator will be calculated
  93185. * using OHLC and volume values.
  93186. */
  93187. volumeSeriesID?: string;
  93188. }
  93189. /**
  93190. * (Highstock) The styles for bars when volume is divided into
  93191. * positive/negative.
  93192. */
  93193. export interface PlotVbpVolumeDivisionOptions {
  93194. /**
  93195. * (Highstock) Option to control if volume is divided.
  93196. */
  93197. enabled?: boolean;
  93198. styles?: PlotVbpVolumeDivisionStylesOptions;
  93199. }
  93200. export interface PlotVbpVolumeDivisionStylesOptions {
  93201. /**
  93202. * (Highstock) Color of negative volume bars.
  93203. */
  93204. negativeColor?: ColorString;
  93205. /**
  93206. * (Highstock) Color of positive volume bars.
  93207. */
  93208. positiveColor?: ColorString;
  93209. }
  93210. /**
  93211. * (Highstock) The styles for lines which determine price zones.
  93212. */
  93213. export interface PlotVbpZoneLinesOptions {
  93214. /**
  93215. * (Highstock) Enable/disable zone lines.
  93216. */
  93217. enabled?: boolean;
  93218. /**
  93219. * (Highstock) Specify the style of zone lines.
  93220. */
  93221. styles?: CSSObject;
  93222. }
  93223. /**
  93224. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  93225. * is displayed. The animation can also be set as a configuration object. Please
  93226. * note that this option only applies to the initial animation of the series
  93227. * itself. For other animations, see chart.animation and the animation parameter
  93228. * under the API methods. The following properties are supported:
  93229. *
  93230. * - `defer`: The animation delay time in milliseconds.
  93231. *
  93232. * - `duration`: The duration of the animation in milliseconds.
  93233. *
  93234. * - `easing`: Can be a string reference to an easing function set on the `Math`
  93235. * object or a function. See the _Custom easing function_ demo below.
  93236. *
  93237. * Due to poor performance, animation is disabled in old IE browsers for several
  93238. * chart types.
  93239. */
  93240. export interface PlotVectorAnimationOptions {
  93241. defer?: number;
  93242. }
  93243. export interface PlotVectorClusterEventsOptions {
  93244. /**
  93245. * (Highcharts, Highmaps) Fires when the cluster point is clicked and
  93246. * `drillToCluster` is enabled. One parameter, `event`, is passed to the
  93247. * function. The default action is to zoom to the cluster points range. This
  93248. * can be prevented by calling `event.preventDefault()`.
  93249. */
  93250. drillToCluster?: MarkerClusterDrillCallbackFunction;
  93251. }
  93252. /**
  93253. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are options
  93254. * to change the type of the algorithm, gridSize, distance or iterations.
  93255. */
  93256. export interface PlotVectorClusterLayoutAlgorithmOptions {
  93257. /**
  93258. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `distance` is a
  93259. * maximum distance between point and cluster center so that this point will
  93260. * be inside the cluster. The distance is either a number defining pixels or
  93261. * a percentage defining a percentage of the plot area width.
  93262. */
  93263. distance?: (number|string);
  93264. /**
  93265. * (Highcharts, Highmaps) When `type` is set to the `grid`, `gridSize` is a
  93266. * size of a grid square element either as a number defining pixels, or a
  93267. * percentage defining a percentage of the plot area width.
  93268. */
  93269. gridSize?: (number|string);
  93270. /**
  93271. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `iterations` are
  93272. * the number of iterations that this algorithm will be repeated to find
  93273. * clusters positions.
  93274. */
  93275. iterations?: number;
  93276. /**
  93277. * (Highcharts, Highmaps) When `type` is set to `undefined` and there are
  93278. * more visible points than the kmeansThreshold the `grid` algorithm is used
  93279. * to find clusters, otherwise `kmeans`. It ensures good performance on
  93280. * large datasets and better clusters arrangement after the zoom.
  93281. */
  93282. kmeansThreshold?: number;
  93283. /**
  93284. * (Highcharts, Highmaps) Type of the algorithm used to combine points into
  93285. * a cluster. There are three available algorithms:
  93286. *
  93287. * 1) `grid` - grid-based clustering technique. Points are assigned to
  93288. * squares of set size depending on their position on the plot area. Points
  93289. * inside the grid square are combined into a cluster. The grid size can be
  93290. * controlled by `gridSize` property (grid size changes at certain zoom
  93291. * levels).
  93292. *
  93293. * 2) `kmeans` - based on K-Means clustering technique. In the first step,
  93294. * points are divided using the grid method (distance property is a grid
  93295. * size) to find the initial amount of clusters. Next, each point is
  93296. * classified by computing the distance between each cluster center and that
  93297. * point. When the closest cluster distance is lower than distance property
  93298. * set by a user the point is added to this cluster otherwise is classified
  93299. * as `noise`. The algorithm is repeated until each cluster center not
  93300. * change its previous position more than one pixel. This technique is more
  93301. * accurate but also more time consuming than the `grid` algorithm,
  93302. * especially for big datasets.
  93303. *
  93304. * 3) `optimizedKmeans` - based on K-Means clustering technique. This
  93305. * algorithm uses k-means algorithm only on the chart initialization or when
  93306. * chart extremes have greater range than on initialization. When a chart is
  93307. * redrawn the algorithm checks only clustered points distance from the
  93308. * cluster center and rebuild it when the point is spaced enough to be
  93309. * outside the cluster. It provides performance improvement and more stable
  93310. * clusters position yet can be used rather on small and sparse datasets.
  93311. *
  93312. * By default, the algorithm depends on visible quantity of points and
  93313. * `kmeansThreshold`. When there are more visible points than the
  93314. * `kmeansThreshold` the `grid` algorithm is used, otherwise `kmeans`.
  93315. *
  93316. * The custom clustering algorithm can be added by assigning a callback
  93317. * function as the type property. This function takes an array of
  93318. * `processedXData`, `processedYData`, `processedXData` indexes and
  93319. * `layoutAlgorithm` options as arguments and should return an object with
  93320. * grouped data.
  93321. *
  93322. * The algorithm should return an object like that: (see online
  93323. * documentation for example)
  93324. *
  93325. * `clusterId` (example above - unique id of a cluster or noise) is an array
  93326. * of points belonging to a cluster. If the array has only one point or
  93327. * fewer points than set in `cluster.minimumClusterSize` it won't be
  93328. * combined into a cluster.
  93329. */
  93330. type?: (string|Function);
  93331. }
  93332. /**
  93333. * (Highcharts, Highmaps) Options for marker clusters, the concept of sampling
  93334. * the data values into larger blocks in order to ease readability and increase
  93335. * performance of the JavaScript charts.
  93336. *
  93337. * Note: marker clusters module is not working with `boost` and
  93338. * `draggable-points` modules.
  93339. *
  93340. * The marker clusters feature requires the marker-clusters.js file to be
  93341. * loaded, found in the modules directory of the download package, or online at
  93342. * code.highcharts.com/modules/marker-clusters.js.
  93343. */
  93344. export interface PlotVectorClusterOptions {
  93345. /**
  93346. * (Highcharts, Highmaps) When set to `false` prevent cluster overlapping -
  93347. * this option works only when `layoutAlgorithm.type = "grid"`.
  93348. */
  93349. allowOverlap?: boolean;
  93350. /**
  93351. * (Highcharts, Highmaps) Options for the cluster marker animation.
  93352. */
  93353. animation?: (boolean|Partial<AnimationOptionsObject>);
  93354. /**
  93355. * (Highcharts, Highmaps) Options for the cluster data labels.
  93356. */
  93357. dataLabels?: DataLabelsOptions;
  93358. /**
  93359. * (Highcharts, Highmaps) Zoom the plot area to the cluster points range
  93360. * when a cluster is clicked.
  93361. */
  93362. drillToCluster?: boolean;
  93363. /**
  93364. * (Highcharts, Highmaps) Whether to enable the marker-clusters module.
  93365. */
  93366. enabled?: boolean;
  93367. events?: PlotVectorClusterEventsOptions;
  93368. /**
  93369. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are
  93370. * options to change the type of the algorithm, gridSize, distance or
  93371. * iterations.
  93372. */
  93373. layoutAlgorithm?: PlotVectorClusterLayoutAlgorithmOptions;
  93374. /**
  93375. * (Highcharts, Highmaps) Options for the cluster marker.
  93376. */
  93377. marker?: PointMarkerOptionsObject;
  93378. /**
  93379. * (Highcharts, Highmaps) The minimum amount of points to be combined into a
  93380. * cluster. This value has to be greater or equal to 2.
  93381. */
  93382. minimumClusterSize?: number;
  93383. states?: PlotVectorClusterStatesOptions;
  93384. /**
  93385. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  93386. *
  93387. * In styled mode, the color zones are styled with the
  93388. * `.highcharts-cluster-zone-{n}` class, or custom classed from the
  93389. * `className` option.
  93390. */
  93391. zones?: Array<PlotVectorClusterZonesOptions>;
  93392. }
  93393. export interface PlotVectorClusterStatesHoverOptions {
  93394. /**
  93395. * (Highcharts, Highmaps) The fill color of the cluster marker in hover
  93396. * state. When `undefined`, the series' or point's fillColor for normal
  93397. * state is used.
  93398. */
  93399. fillColor?: ColorType;
  93400. }
  93401. export interface PlotVectorClusterStatesOptions {
  93402. hover?: PlotVectorClusterStatesHoverOptions;
  93403. }
  93404. /**
  93405. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  93406. *
  93407. * In styled mode, the color zones are styled with the
  93408. * `.highcharts-cluster-zone-{n}` class, or custom classed from the `className`
  93409. * option.
  93410. */
  93411. export interface PlotVectorClusterZonesOptions {
  93412. /**
  93413. * (Highcharts, Highmaps) Styled mode only. A custom class name for the
  93414. * zone.
  93415. */
  93416. className?: string;
  93417. /**
  93418. * (Highcharts, Highmaps) The value where the zone starts.
  93419. */
  93420. from?: number;
  93421. /**
  93422. * (Highcharts, Highmaps) Settings for the cluster marker belonging to the
  93423. * zone.
  93424. */
  93425. marker?: PointMarkerOptionsObject;
  93426. /**
  93427. * (Highcharts, Highmaps) The value where the zone ends.
  93428. */
  93429. to?: number;
  93430. }
  93431. /**
  93432. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  93433. * animation when a series is displayed for the `dataLabels`. The animation can
  93434. * also be set as a configuration object. Please note that this option only
  93435. * applies to the initial animation. For other animations, see chart.animation
  93436. * and the animation parameter under the API methods. The following properties
  93437. * are supported:
  93438. *
  93439. * - `defer`: The animation delay time in milliseconds.
  93440. */
  93441. export interface PlotVectorDataLabelsAnimationOptions {
  93442. /**
  93443. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  93444. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  93445. * inherits defer time from the series.animation.defer.
  93446. */
  93447. defer?: number;
  93448. }
  93449. /**
  93450. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  93451. * appearing next to each data point.
  93452. *
  93453. * Since v6.2.0, multiple data labels can be applied to each single point by
  93454. * defining them as an array of configs.
  93455. *
  93456. * In styled mode, the data labels can be styled with the
  93457. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  93458. * example).
  93459. */
  93460. export interface PlotVectorDataLabelsOptions {
  93461. /**
  93462. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  93463. * compared to the point. If `right`, the right side of the label should be
  93464. * touching the point. For points with an extent, like columns, the
  93465. * alignments also dictates how to align it inside the box, as given with
  93466. * the inside option. Can be one of `left`, `center` or `right`.
  93467. */
  93468. align?: (AlignValue|null);
  93469. /**
  93470. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  93471. * overlap. To make the labels less sensitive for overlapping, the
  93472. * dataLabels.padding can be set to 0.
  93473. */
  93474. allowOverlap?: boolean;
  93475. /**
  93476. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  93477. * animation when a series is displayed for the `dataLabels`. The animation
  93478. * can also be set as a configuration object. Please note that this option
  93479. * only applies to the initial animation. For other animations, see
  93480. * chart.animation and the animation parameter under the API methods. The
  93481. * following properties are supported:
  93482. *
  93483. * - `defer`: The animation delay time in milliseconds.
  93484. */
  93485. animation?: (boolean|PlotVectorDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  93486. /**
  93487. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  93488. * for the data label.
  93489. */
  93490. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  93491. /**
  93492. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  93493. * label. Defaults to `undefined`.
  93494. */
  93495. borderColor?: (ColorString|GradientColorObject|PatternObject);
  93496. /**
  93497. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  93498. * the data label.
  93499. */
  93500. borderRadius?: number;
  93501. /**
  93502. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  93503. * the data label.
  93504. */
  93505. borderWidth?: number;
  93506. /**
  93507. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  93508. * Particularly in styled mode, this can be used to give each series' or
  93509. * point's data label unique styling. In addition to this option, a default
  93510. * color class name is added so that we can give the labels a contrast text
  93511. * shadow.
  93512. */
  93513. className?: string;
  93514. /**
  93515. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  93516. * labels. Defaults to `undefined`. For certain series types, like column or
  93517. * map, the data labels can be drawn inside the points. In this case the
  93518. * data label will be drawn with maximum contrast by default. Additionally,
  93519. * it will be given a `text-outline` style with the opposite color, to
  93520. * further increase the contrast. This can be overridden by setting the
  93521. * `text-outline` style to `none` in the `dataLabels.style` option.
  93522. */
  93523. color?: (ColorString|GradientColorObject|PatternObject);
  93524. /**
  93525. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  93526. * are outside the plot area. By default, the data label is moved inside the
  93527. * plot area according to the overflow option.
  93528. */
  93529. crop?: boolean;
  93530. /**
  93531. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  93532. * labels until the initial series animation has finished. Setting to
  93533. * `false` renders the data label immediately. If set to `true` inherits the
  93534. * defer time set in plotOptions.series.animation.
  93535. */
  93536. defer?: boolean;
  93537. /**
  93538. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  93539. * labels.
  93540. */
  93541. enabled?: boolean;
  93542. /**
  93543. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  93544. * of which data labels to display. The declarative filter is designed for
  93545. * use when callback functions are not available, like when the chart
  93546. * options require a pure JSON structure or for use with graphical editors.
  93547. * For programmatic control, use the `formatter` instead, and return
  93548. * `undefined` to disable a single data label.
  93549. */
  93550. filter?: DataLabelsFilterOptionsObject;
  93551. /**
  93552. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  93553. * label. Available variables are the same as for `formatter`.
  93554. */
  93555. format?: string;
  93556. /**
  93557. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  93558. * format the data label. Note that if a `format` is defined, the format
  93559. * takes precedence and the formatter is ignored.
  93560. */
  93561. formatter?: DataLabelsFormatterCallbackFunction;
  93562. /**
  93563. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  93564. * columns or map areas, whether to align the data label inside the box or
  93565. * to the actual value point. Defaults to `false` in most cases, `true` in
  93566. * stacked columns.
  93567. */
  93568. inside?: boolean;
  93569. /**
  93570. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  93571. * of null. Works analogously to format. `nullFormat` can be applied only to
  93572. * series which support displaying null points.
  93573. */
  93574. nullFormat?: (boolean|string);
  93575. /**
  93576. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  93577. * that defines formatting for points with the value of null. Works
  93578. * analogously to formatter. `nullPointFormatter` can be applied only to
  93579. * series which support displaying null points.
  93580. */
  93581. nullFormatter?: DataLabelsFormatterCallbackFunction;
  93582. /**
  93583. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  93584. * flow outside the plot area. The default is `"justify"`, which aligns them
  93585. * inside the plot area. For columns and bars, this means it will be moved
  93586. * inside the bar. To display data labels outside the plot area, set `crop`
  93587. * to `false` and `overflow` to `"allow"`.
  93588. */
  93589. overflow?: DataLabelsOverflowValue;
  93590. /**
  93591. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  93592. * the `backgroundColor` is set, this is the padding within the box.
  93593. */
  93594. padding?: number;
  93595. /**
  93596. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  93597. * points. If `center` alignment is not possible, it defaults to `right`.
  93598. */
  93599. position?: AlignValue;
  93600. /**
  93601. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  93602. * that due to a more complex structure, backgrounds, borders and padding
  93603. * will be lost on a rotated data label.
  93604. */
  93605. rotation?: number;
  93606. /**
  93607. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  93608. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  93609. * an object configuration containing `color`, `offsetX`, `offsetY`,
  93610. * `opacity` and `width`.
  93611. */
  93612. shadow?: (boolean|ShadowOptionsObject);
  93613. /**
  93614. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  93615. * the border around the label. Symbols are predefined functions on the
  93616. * Renderer object.
  93617. */
  93618. shape?: string;
  93619. /**
  93620. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  93621. * default `color` setting is `"contrast"`, which is a pseudo color that
  93622. * Highcharts picks up and applies the maximum contrast to the underlying
  93623. * point item, for example the bar in a bar chart.
  93624. *
  93625. * The `textOutline` is a pseudo property that applies an outline of the
  93626. * given width with the given color, which by default is the maximum
  93627. * contrast to the text. So a bright text color will result in a black text
  93628. * outline for maximum readability on a mixed background. In some cases,
  93629. * especially with grayscale text, the text outline doesn't work well, in
  93630. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  93631. * is true, the `textOutline` will not be picked up. In this, case, the same
  93632. * effect can be acheived through the `text-shadow` CSS property.
  93633. *
  93634. * For some series types, where each point has an extent, like for example
  93635. * tree maps, the data label may overflow the point. There are two
  93636. * strategies for handling overflow. By default, the text will wrap to
  93637. * multiple lines. The other strategy is to set `style.textOverflow` to
  93638. * `ellipsis`, which will keep the text on one line plus it will break
  93639. * inside long words.
  93640. */
  93641. style?: CSSObject;
  93642. /**
  93643. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  93644. * should follow marker's shape. Border and background are disabled for a
  93645. * label that follows a path.
  93646. *
  93647. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  93648. * to true will disable this option.
  93649. */
  93650. textPath?: DataLabelsTextPathOptionsObject;
  93651. /**
  93652. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  93653. * the labels.
  93654. */
  93655. useHTML?: boolean;
  93656. /**
  93657. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  93658. * label. Can be one of `top`, `middle` or `bottom`. The default value
  93659. * depends on the data, for instance in a column chart, the label is above
  93660. * positive values and below negative values.
  93661. */
  93662. verticalAlign?: (VerticalAlignValue|null);
  93663. /**
  93664. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  93665. * label relative to the point in pixels.
  93666. */
  93667. x?: number;
  93668. /**
  93669. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  93670. * label relative to the point in pixels.
  93671. */
  93672. y?: number;
  93673. /**
  93674. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  93675. * The default Z index puts it above the series. Use a Z index of 2 to
  93676. * display it behind the series.
  93677. */
  93678. z?: number;
  93679. }
  93680. /**
  93681. * (Highcharts, Highstock) Options for the series data sorting.
  93682. */
  93683. export interface PlotVectorDataSortingOptions {
  93684. /**
  93685. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  93686. * Use xAxis.reversed to change the sorting order.
  93687. */
  93688. enabled?: boolean;
  93689. /**
  93690. * (Highcharts, Highstock) Whether to allow matching points by name in an
  93691. * update. If this option is disabled, points will be matched by order.
  93692. */
  93693. matchByName?: boolean;
  93694. /**
  93695. * (Highcharts, Highstock) Determines what data value should be used to sort
  93696. * by.
  93697. */
  93698. sortKey?: string;
  93699. }
  93700. /**
  93701. * (Highcharts, Highstock) A vector plot is a type of cartesian chart where each
  93702. * point has an X and Y position, a length and a direction. Vectors are drawn as
  93703. * arrows.
  93704. *
  93705. * In TypeScript the type option must always be set.
  93706. *
  93707. * Configuration options for the series are given in three levels:
  93708. *
  93709. * 1. Options for all series in a chart are defined in the plotOptions.series
  93710. * object.
  93711. *
  93712. * 2. Options for all `vector` series are defined in plotOptions.vector.
  93713. *
  93714. * 3. Options for one single series are given in the series instance array. (see
  93715. * online documentation for example)
  93716. */
  93717. export interface PlotVectorOptions {
  93718. /**
  93719. * (Highcharts, Highstock) Accessibility options for a series.
  93720. */
  93721. accessibility?: SeriesAccessibilityOptionsObject;
  93722. /**
  93723. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  93724. * rendered. If `true`, areas which don't correspond to a data point, are
  93725. * rendered as `null` points. If `false`, those areas are skipped.
  93726. */
  93727. allAreas?: boolean;
  93728. /**
  93729. * (Highcharts, Highstock) Allow this series' points to be selected by
  93730. * clicking on the graphic (columns, point markers, pie slices, map areas
  93731. * etc).
  93732. *
  93733. * The selected points can be handled by point select and unselect events,
  93734. * or collectively by the getSelectedPoints function.
  93735. *
  93736. * And alternative way of selecting points is through dragging.
  93737. */
  93738. allowPointSelect?: boolean;
  93739. /**
  93740. * (Highcharts, Highstock) Enable or disable the initial animation when a
  93741. * series is displayed. The animation can also be set as a configuration
  93742. * object. Please note that this option only applies to the initial
  93743. * animation of the series itself. For other animations, see chart.animation
  93744. * and the animation parameter under the API methods. The following
  93745. * properties are supported:
  93746. *
  93747. * - `defer`: The animation delay time in milliseconds.
  93748. *
  93749. * - `duration`: The duration of the animation in milliseconds.
  93750. *
  93751. * - `easing`: Can be a string reference to an easing function set on the
  93752. * `Math` object or a function. See the _Custom easing function_ demo below.
  93753. *
  93754. * Due to poor performance, animation is disabled in old IE browsers for
  93755. * several chart types.
  93756. */
  93757. animation?: (boolean|PlotVectorAnimationOptions|Partial<AnimationOptionsObject>);
  93758. /**
  93759. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  93760. * initial animation by default when the total number of points in the chart
  93761. * is too high. For example, for a column chart and its derivatives,
  93762. * animation does not run if there is more than 250 points totally. To
  93763. * disable this cap, set `animationLimit` to `Infinity`.
  93764. */
  93765. animationLimit?: number;
  93766. /**
  93767. * (Highmaps) The border color of the map areas.
  93768. *
  93769. * In styled mode, the border stroke is given in the `.highcharts-point`
  93770. * class.
  93771. */
  93772. borderColor?: (ColorString|GradientColorObject|PatternObject);
  93773. /**
  93774. * (Highmaps) The border width of each map area.
  93775. *
  93776. * In styled mode, the border stroke width is given in the
  93777. * `.highcharts-point` class.
  93778. */
  93779. borderWidth?: number;
  93780. /**
  93781. * (Highcharts, Highstock) An additional class name to apply to the series'
  93782. * graphical elements. This option does not replace default class names of
  93783. * the graphical element.
  93784. */
  93785. className?: string;
  93786. /**
  93787. * (Highcharts, Highstock) Disable this option to allow series rendering in
  93788. * the whole plotting area.
  93789. *
  93790. * **Note:** Clipping should be always enabled when chart.zoomType is set
  93791. */
  93792. clip?: boolean;
  93793. /**
  93794. * (Highcharts, Highmaps) Options for marker clusters, the concept of
  93795. * sampling the data values into larger blocks in order to ease readability
  93796. * and increase performance of the JavaScript charts.
  93797. *
  93798. * Note: marker clusters module is not working with `boost` and
  93799. * `draggable-points` modules.
  93800. *
  93801. * The marker clusters feature requires the marker-clusters.js file to be
  93802. * loaded, found in the modules directory of the download package, or online
  93803. * at code.highcharts.com/modules/marker-clusters.js.
  93804. */
  93805. cluster?: PlotVectorClusterOptions;
  93806. /**
  93807. * (Highcharts, Highstock) The main color of the series. In line type series
  93808. * it applies to the line and the point markers unless otherwise specified.
  93809. * In bar type series it applies to the bars unless a color is specified per
  93810. * point. The default value is pulled from the `options.colors` array.
  93811. *
  93812. * In styled mode, the color can be defined by the colorIndex option. Also,
  93813. * the series color can be set with the `.highcharts-series`,
  93814. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  93815. * `.highcharts-series-{n}` class, or individual classes given by the
  93816. * `className` option.
  93817. */
  93818. color?: (ColorString|GradientColorObject|PatternObject);
  93819. /**
  93820. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  93821. * this number defines which colorAxis the particular series is connected
  93822. * to. It refers to either the axis id or the index of the axis in the
  93823. * colorAxis array, with 0 being the first. Set this option to false to
  93824. * prevent a series from connecting to the default color axis.
  93825. *
  93826. * Since v7.2.0 the option can also be an axis id or an axis index instead
  93827. * of a boolean flag.
  93828. */
  93829. colorAxis?: (boolean|number|string);
  93830. /**
  93831. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  93832. * for the series, so its graphic representations are given the class name
  93833. * `highcharts-color-{n}`.
  93834. */
  93835. colorIndex?: number;
  93836. /**
  93837. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  93838. * used to calculate point color if `colorAxis` is used. Requires to set
  93839. * `min` and `max` if some custom point property is used or if approximation
  93840. * for data grouping is set to `'sum'`.
  93841. */
  93842. colorKey?: string;
  93843. /**
  93844. * (Highstock) Compare the values of the series against the first non-null,
  93845. * non- zero value in the visible range. The y axis will show percentage or
  93846. * absolute change depending on whether `compare` is set to `"percent"` or
  93847. * `"value"`. When this is applied to multiple series, it allows comparing
  93848. * the development of the series against each other. Adds a `change` field
  93849. * to every point object.
  93850. */
  93851. compare?: string;
  93852. /**
  93853. * (Highstock) When compare is `percent`, this option dictates whether to
  93854. * use 0 or 100 as the base of comparison.
  93855. */
  93856. compareBase?: (0|100);
  93857. /**
  93858. * (Highstock) Defines if comparison should start from the first point
  93859. * within the visible range or should start from the first point **before**
  93860. * the range.
  93861. *
  93862. * In other words, this flag determines if first point within the visible
  93863. * range will have 0% (`compareStart=true`) or should have been already
  93864. * calculated according to the previous point (`compareStart=false`).
  93865. */
  93866. compareStart?: boolean;
  93867. /**
  93868. * (Gantt) Override Pathfinder connector options for a series. Requires
  93869. * Highcharts Gantt to be loaded.
  93870. */
  93871. connectors?: SeriesConnectorsOptionsObject;
  93872. /**
  93873. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  93874. * rounded to its nearest pixel in order to render sharp on screen. In some
  93875. * cases, when there are a lot of densely packed columns, this leads to
  93876. * visible difference in column widths or distance between columns. In these
  93877. * cases, setting `crisp` to `false` may look better, even though each
  93878. * column is rendered blurry.
  93879. */
  93880. crisp?: boolean;
  93881. /**
  93882. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  93883. * click events attached to the series, to signal to the user that the
  93884. * points and lines can be clicked.
  93885. *
  93886. * In styled mode, the series cursor can be set with the same classes as
  93887. * listed under series.color.
  93888. */
  93889. cursor?: (string|CursorValue);
  93890. /**
  93891. * (Highcharts, Highstock) A reserved subspace to store options and values
  93892. * for customized functionality. Here you can add additional data for your
  93893. * own event callbacks and formatter callbacks.
  93894. */
  93895. custom?: Dictionary<any>;
  93896. /**
  93897. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  93898. * labels, appearing next to each data point.
  93899. *
  93900. * Since v6.2.0, multiple data labels can be applied to each single point by
  93901. * defining them as an array of configs.
  93902. *
  93903. * In styled mode, the data labels can be styled with the
  93904. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  93905. * (see example).
  93906. */
  93907. dataLabels?: (PlotVectorDataLabelsOptions|Array<PlotVectorDataLabelsOptions>);
  93908. /**
  93909. * (Highcharts, Highstock) Options for the series data sorting.
  93910. */
  93911. dataSorting?: (DataSortingOptionsObject|PlotVectorDataSortingOptions);
  93912. /**
  93913. * (Highcharts, Highstock) A description of the series to add to the screen
  93914. * reader information about the series.
  93915. */
  93916. description?: string;
  93917. /**
  93918. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  93919. * specific series. This includes point tooltips and click events on graphs
  93920. * and points. For large datasets it improves performance.
  93921. */
  93922. enableMouseTracking?: boolean;
  93923. /**
  93924. * (Highcharts, Highstock) General event handlers for the series items.
  93925. * These event hooks can also be attached to the series at run time using
  93926. * the `Highcharts.addEvent` function.
  93927. */
  93928. events?: SeriesEventsOptionsObject;
  93929. /**
  93930. * (Highcharts, Highstock) Determines whether the series should look for the
  93931. * nearest point in both dimensions or just the x-dimension when hovering
  93932. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  93933. * other series. If the data has duplicate x-values, it is recommended to
  93934. * set this to `'xy'` to allow hovering over all points.
  93935. *
  93936. * Applies only to series types using nearest neighbor search (not direct
  93937. * hover) for tooltip.
  93938. */
  93939. findNearestPointBy?: OptionsFindNearestPointByValue;
  93940. /**
  93941. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  93942. * chart width or only the zoomed area when zooming in on parts of the X
  93943. * axis. By default, the Y axis adjusts to the min and max of the visible
  93944. * data. Cartesian series only.
  93945. */
  93946. getExtremesFromAll?: boolean;
  93947. /**
  93948. * (Highcharts, Highstock) When set to `false` will prevent the series data
  93949. * from being included in any form of data export.
  93950. *
  93951. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  93952. * `includeInCSVExport`.
  93953. */
  93954. includeInDataExport?: boolean;
  93955. /**
  93956. * (Highmaps) What property to join the `mapData` to the value data. For
  93957. * example, if joinBy is "code", the mapData items with a specific code is
  93958. * merged into the data with the same code. For maps loaded from GeoJSON,
  93959. * the keys may be held in each point's `properties` object.
  93960. *
  93961. * The joinBy option can also be an array of two values, where the first
  93962. * points to a key in the `mapData`, and the second points to another key in
  93963. * the `data`.
  93964. *
  93965. * When joinBy is `null`, the map items are joined by their position in the
  93966. * array, which performs much better in maps with many data points. This is
  93967. * the recommended option if you are printing more than a thousand data
  93968. * points and have a backend that can preprocess the data into a parallel
  93969. * array of the mapData.
  93970. */
  93971. joinBy?: (string|Array<string>);
  93972. /**
  93973. * (Highcharts, Highstock) An array specifying which option maps to which
  93974. * key in the data point array. This makes it convenient to work with
  93975. * unstructured data arrays from different sources.
  93976. */
  93977. keys?: Array<string>;
  93978. /**
  93979. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  93980. * series as possible in a natural way, seeking to avoid other series. The
  93981. * goal of this feature is to make the chart more easily readable, like if a
  93982. * human designer placed the labels in the optimal position.
  93983. *
  93984. * The series labels currently work with series types having a `graph` or an
  93985. * `area`.
  93986. */
  93987. label?: SeriesLabelOptionsObject;
  93988. /**
  93989. * (Highstock) The line marks the last price from all points.
  93990. */
  93991. lastPrice?: SeriesLastPriceOptionsObject;
  93992. /**
  93993. * (Highstock) The line marks the last price from visible range of points.
  93994. */
  93995. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  93996. /**
  93997. * (Highcharts, Highstock) The line width for each vector arrow.
  93998. */
  93999. lineWidth?: number;
  94000. /**
  94001. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  94002. * Additionally, the value can be ":previous" to link to the previous
  94003. * series. When two series are linked, only the first one appears in the
  94004. * legend. Toggling the visibility of this also toggles the linked series.
  94005. *
  94006. * If master series uses data sorting and linked series does not have its
  94007. * own sorting definition, the linked series will be sorted in the same
  94008. * order as the master one.
  94009. */
  94010. linkedTo?: string;
  94011. /**
  94012. * (Highstock) Options for the corresponding navigator series if
  94013. * `showInNavigator` is `true` for this series. Available options are the
  94014. * same as any series, documented at plotOptions and series.
  94015. *
  94016. * These options are merged with options in navigator.series, and will take
  94017. * precedence if the same option is defined both places.
  94018. */
  94019. navigatorOptions?: PlotSeriesOptions;
  94020. /**
  94021. * (Highcharts, Highstock) The color for the parts of the graph or points
  94022. * that are below the threshold. Note that `zones` takes precedence over the
  94023. * negative color. Using `negativeColor` is equivalent to applying a zone
  94024. * with value of 0.
  94025. */
  94026. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  94027. /**
  94028. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  94029. * and dataLabels.
  94030. */
  94031. opacity?: number;
  94032. /**
  94033. * (Highcharts, Highstock) Properties for each single point.
  94034. */
  94035. point?: PlotSeriesPointOptions;
  94036. /**
  94037. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  94038. * but for an individual series. Overrides the chart wide configuration.
  94039. */
  94040. pointDescriptionFormatter?: Function;
  94041. /**
  94042. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  94043. * a series, `pointInterval` defines the interval of the x values. For
  94044. * example, if a series contains one value every decade starting from year
  94045. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  94046. * `pointInterval` is set in milliseconds.
  94047. *
  94048. * It can be also be combined with `pointIntervalUnit` to draw irregular
  94049. * time intervals.
  94050. *
  94051. * Please note that this options applies to the _series data_, not the
  94052. * interval of the axis ticks, which is independent.
  94053. */
  94054. pointInterval?: number;
  94055. /**
  94056. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  94057. * setting the pointInterval to irregular time units, `day`, `month` and
  94058. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  94059. * also takes the DST crossover into consideration when dealing with local
  94060. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  94061. * months, 10 years etc.
  94062. *
  94063. * Please note that this options applies to the _series data_, not the
  94064. * interval of the axis ticks, which is independent.
  94065. */
  94066. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  94067. /**
  94068. * (Highstock) The width of each point on the x axis. For example in a
  94069. * column chart with one value each day, the pointRange would be 1 day (= 24
  94070. * * 3600
  94071. *
  94072. * * 1000 milliseconds). This is normally computed automatically, but this
  94073. * option can be used to override the automatic value.
  94074. */
  94075. pointRange?: number;
  94076. /**
  94077. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  94078. * a series, pointStart defines on what value to start. For example, if a
  94079. * series contains one yearly value starting from 1945, set pointStart to
  94080. * 1945.
  94081. */
  94082. pointStart?: number;
  94083. /**
  94084. * (Highcharts, Highstock) What part of the vector it should be rotated
  94085. * around. Can be one of `start`, `center` and `end`. When `start`, the
  94086. * vectors will start from the given [x, y] position, and when `end` the
  94087. * vectors will end in the [x, y] position.
  94088. */
  94089. rotationOrigin?: OptionsRotationOriginValue;
  94090. /**
  94091. * (Highcharts, Highstock) Whether to select the series initially. If
  94092. * `showCheckbox` is true, the checkbox next to the series name in the
  94093. * legend will be checked for a selected series.
  94094. */
  94095. selected?: boolean;
  94096. /**
  94097. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  94098. * legend item to allow selecting the series. The state of the checkbox is
  94099. * determined by the `selected` option.
  94100. */
  94101. showCheckbox?: boolean;
  94102. /**
  94103. * (Highcharts, Highstock) Whether to display this particular series or
  94104. * series type in the legend. Standalone series are shown in legend by
  94105. * default, and linked series are not. Since v7.2.0 it is possible to show
  94106. * series that use colorAxis by setting this option to `true`.
  94107. */
  94108. showInLegend?: boolean;
  94109. /**
  94110. * (Highstock) Whether or not to show the series in the navigator. Takes
  94111. * precedence over navigator.baseSeries if defined.
  94112. */
  94113. showInNavigator?: boolean;
  94114. /**
  94115. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  94116. * skip past the points in this series for keyboard navigation.
  94117. */
  94118. skipKeyboardNavigation?: boolean;
  94119. /**
  94120. * (Highcharts, Highstock) When this is true, the series will not cause the
  94121. * Y axis to cross the zero plane (or threshold option) unless the data
  94122. * actually crosses the plane.
  94123. *
  94124. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  94125. * make the Y axis show negative values according to the `minPadding`
  94126. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  94127. */
  94128. softThreshold?: boolean;
  94129. states?: SeriesStatesOptionsObject;
  94130. /**
  94131. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  94132. * `mouseOut` event on a series isn't triggered until the mouse moves over
  94133. * another series, or out of the plot area. When false, the `mouseOut` event
  94134. * on a series is triggered when the mouse leaves the area around the
  94135. * series' graph or markers. This also implies the tooltip. When
  94136. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  94137. * be hidden when moving the mouse between series.
  94138. */
  94139. stickyTracking?: boolean;
  94140. /**
  94141. * (Highcharts, Highstock) The threshold, also called zero level or base
  94142. * level. For line type series this is only used in conjunction with
  94143. * negativeColor.
  94144. */
  94145. threshold?: number;
  94146. /**
  94147. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  94148. * of each single series. Properties are inherited from tooltip. Overridable
  94149. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  94150. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  94151. * series.name by default shows in the headerFormat and point.x and point.y
  94152. * in the pointFormat.
  94153. */
  94154. tooltip?: SeriesTooltipOptionsObject;
  94155. /**
  94156. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  94157. * is longer than this, only one dimensional arrays of numbers, or two
  94158. * dimensional arrays with x and y values are allowed. Also, only the first
  94159. * point is tested, and the rest are assumed to be the same format. This
  94160. * saves expensive data checking and indexing in long series. Set it to `0`
  94161. * disable.
  94162. *
  94163. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  94164. * two dimensional arrays are allowed.
  94165. */
  94166. turboThreshold?: number;
  94167. /**
  94168. * (Highcharts, Highstock) Maximum length of the arrows in the vector plot.
  94169. * The individual arrow length is computed between 0 and this value.
  94170. */
  94171. vectorLength?: number;
  94172. /**
  94173. * (Highcharts, Highstock) Set the initial visibility of the series.
  94174. */
  94175. visible?: boolean;
  94176. /**
  94177. * (Highmaps) Define the z index of the series.
  94178. */
  94179. zIndex?: number;
  94180. /**
  94181. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  94182. */
  94183. zoneAxis?: string;
  94184. /**
  94185. * (Highcharts, Highstock) An array defining zones within a series. Zones
  94186. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  94187. * the `zoneAxis` option. The zone definitions have to be in ascending order
  94188. * regarding to the value.
  94189. *
  94190. * In styled mode, the color zones are styled with the
  94191. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  94192. * option (view live demo).
  94193. */
  94194. zones?: Array<SeriesZonesOptionsObject>;
  94195. }
  94196. /**
  94197. * (Highcharts) Enable or disable the initial animation when a series is
  94198. * displayed. The animation can also be set as a configuration object. Please
  94199. * note that this option only applies to the initial animation of the series
  94200. * itself. For other animations, see chart.animation and the animation parameter
  94201. * under the API methods. The following properties are supported:
  94202. *
  94203. * - `defer`: The animation delay time in milliseconds.
  94204. *
  94205. * - `duration`: The duration of the animation in milliseconds.
  94206. *
  94207. * - `easing`: Can be a string reference to an easing function set on the `Math`
  94208. * object or a function. See the _Custom easing function_ demo below.
  94209. *
  94210. * Due to poor performance, animation is disabled in old IE browsers for several
  94211. * chart types.
  94212. */
  94213. export interface PlotVennAnimationOptions {
  94214. defer?: number;
  94215. }
  94216. export interface PlotVennClusterEventsOptions {
  94217. /**
  94218. * (Highcharts, Highmaps) Fires when the cluster point is clicked and
  94219. * `drillToCluster` is enabled. One parameter, `event`, is passed to the
  94220. * function. The default action is to zoom to the cluster points range. This
  94221. * can be prevented by calling `event.preventDefault()`.
  94222. */
  94223. drillToCluster?: MarkerClusterDrillCallbackFunction;
  94224. }
  94225. /**
  94226. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are options
  94227. * to change the type of the algorithm, gridSize, distance or iterations.
  94228. */
  94229. export interface PlotVennClusterLayoutAlgorithmOptions {
  94230. /**
  94231. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `distance` is a
  94232. * maximum distance between point and cluster center so that this point will
  94233. * be inside the cluster. The distance is either a number defining pixels or
  94234. * a percentage defining a percentage of the plot area width.
  94235. */
  94236. distance?: (number|string);
  94237. /**
  94238. * (Highcharts, Highmaps) When `type` is set to the `grid`, `gridSize` is a
  94239. * size of a grid square element either as a number defining pixels, or a
  94240. * percentage defining a percentage of the plot area width.
  94241. */
  94242. gridSize?: (number|string);
  94243. /**
  94244. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `iterations` are
  94245. * the number of iterations that this algorithm will be repeated to find
  94246. * clusters positions.
  94247. */
  94248. iterations?: number;
  94249. /**
  94250. * (Highcharts, Highmaps) When `type` is set to `undefined` and there are
  94251. * more visible points than the kmeansThreshold the `grid` algorithm is used
  94252. * to find clusters, otherwise `kmeans`. It ensures good performance on
  94253. * large datasets and better clusters arrangement after the zoom.
  94254. */
  94255. kmeansThreshold?: number;
  94256. /**
  94257. * (Highcharts, Highmaps) Type of the algorithm used to combine points into
  94258. * a cluster. There are three available algorithms:
  94259. *
  94260. * 1) `grid` - grid-based clustering technique. Points are assigned to
  94261. * squares of set size depending on their position on the plot area. Points
  94262. * inside the grid square are combined into a cluster. The grid size can be
  94263. * controlled by `gridSize` property (grid size changes at certain zoom
  94264. * levels).
  94265. *
  94266. * 2) `kmeans` - based on K-Means clustering technique. In the first step,
  94267. * points are divided using the grid method (distance property is a grid
  94268. * size) to find the initial amount of clusters. Next, each point is
  94269. * classified by computing the distance between each cluster center and that
  94270. * point. When the closest cluster distance is lower than distance property
  94271. * set by a user the point is added to this cluster otherwise is classified
  94272. * as `noise`. The algorithm is repeated until each cluster center not
  94273. * change its previous position more than one pixel. This technique is more
  94274. * accurate but also more time consuming than the `grid` algorithm,
  94275. * especially for big datasets.
  94276. *
  94277. * 3) `optimizedKmeans` - based on K-Means clustering technique. This
  94278. * algorithm uses k-means algorithm only on the chart initialization or when
  94279. * chart extremes have greater range than on initialization. When a chart is
  94280. * redrawn the algorithm checks only clustered points distance from the
  94281. * cluster center and rebuild it when the point is spaced enough to be
  94282. * outside the cluster. It provides performance improvement and more stable
  94283. * clusters position yet can be used rather on small and sparse datasets.
  94284. *
  94285. * By default, the algorithm depends on visible quantity of points and
  94286. * `kmeansThreshold`. When there are more visible points than the
  94287. * `kmeansThreshold` the `grid` algorithm is used, otherwise `kmeans`.
  94288. *
  94289. * The custom clustering algorithm can be added by assigning a callback
  94290. * function as the type property. This function takes an array of
  94291. * `processedXData`, `processedYData`, `processedXData` indexes and
  94292. * `layoutAlgorithm` options as arguments and should return an object with
  94293. * grouped data.
  94294. *
  94295. * The algorithm should return an object like that: (see online
  94296. * documentation for example)
  94297. *
  94298. * `clusterId` (example above - unique id of a cluster or noise) is an array
  94299. * of points belonging to a cluster. If the array has only one point or
  94300. * fewer points than set in `cluster.minimumClusterSize` it won't be
  94301. * combined into a cluster.
  94302. */
  94303. type?: (string|Function);
  94304. }
  94305. /**
  94306. * (Highcharts, Highmaps) Options for marker clusters, the concept of sampling
  94307. * the data values into larger blocks in order to ease readability and increase
  94308. * performance of the JavaScript charts.
  94309. *
  94310. * Note: marker clusters module is not working with `boost` and
  94311. * `draggable-points` modules.
  94312. *
  94313. * The marker clusters feature requires the marker-clusters.js file to be
  94314. * loaded, found in the modules directory of the download package, or online at
  94315. * code.highcharts.com/modules/marker-clusters.js.
  94316. */
  94317. export interface PlotVennClusterOptions {
  94318. /**
  94319. * (Highcharts, Highmaps) When set to `false` prevent cluster overlapping -
  94320. * this option works only when `layoutAlgorithm.type = "grid"`.
  94321. */
  94322. allowOverlap?: boolean;
  94323. /**
  94324. * (Highcharts, Highmaps) Options for the cluster marker animation.
  94325. */
  94326. animation?: (boolean|Partial<AnimationOptionsObject>);
  94327. /**
  94328. * (Highcharts, Highmaps) Options for the cluster data labels.
  94329. */
  94330. dataLabels?: DataLabelsOptions;
  94331. /**
  94332. * (Highcharts, Highmaps) Zoom the plot area to the cluster points range
  94333. * when a cluster is clicked.
  94334. */
  94335. drillToCluster?: boolean;
  94336. /**
  94337. * (Highcharts, Highmaps) Whether to enable the marker-clusters module.
  94338. */
  94339. enabled?: boolean;
  94340. events?: PlotVennClusterEventsOptions;
  94341. /**
  94342. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are
  94343. * options to change the type of the algorithm, gridSize, distance or
  94344. * iterations.
  94345. */
  94346. layoutAlgorithm?: PlotVennClusterLayoutAlgorithmOptions;
  94347. /**
  94348. * (Highcharts, Highmaps) Options for the cluster marker.
  94349. */
  94350. marker?: PointMarkerOptionsObject;
  94351. /**
  94352. * (Highcharts, Highmaps) The minimum amount of points to be combined into a
  94353. * cluster. This value has to be greater or equal to 2.
  94354. */
  94355. minimumClusterSize?: number;
  94356. states?: PlotVennClusterStatesOptions;
  94357. /**
  94358. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  94359. *
  94360. * In styled mode, the color zones are styled with the
  94361. * `.highcharts-cluster-zone-{n}` class, or custom classed from the
  94362. * `className` option.
  94363. */
  94364. zones?: Array<PlotVennClusterZonesOptions>;
  94365. }
  94366. export interface PlotVennClusterStatesHoverOptions {
  94367. /**
  94368. * (Highcharts, Highmaps) The fill color of the cluster marker in hover
  94369. * state. When `undefined`, the series' or point's fillColor for normal
  94370. * state is used.
  94371. */
  94372. fillColor?: ColorType;
  94373. }
  94374. export interface PlotVennClusterStatesOptions {
  94375. hover?: PlotVennClusterStatesHoverOptions;
  94376. }
  94377. /**
  94378. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  94379. *
  94380. * In styled mode, the color zones are styled with the
  94381. * `.highcharts-cluster-zone-{n}` class, or custom classed from the `className`
  94382. * option.
  94383. */
  94384. export interface PlotVennClusterZonesOptions {
  94385. /**
  94386. * (Highcharts, Highmaps) Styled mode only. A custom class name for the
  94387. * zone.
  94388. */
  94389. className?: string;
  94390. /**
  94391. * (Highcharts, Highmaps) The value where the zone starts.
  94392. */
  94393. from?: number;
  94394. /**
  94395. * (Highcharts, Highmaps) Settings for the cluster marker belonging to the
  94396. * zone.
  94397. */
  94398. marker?: PointMarkerOptionsObject;
  94399. /**
  94400. * (Highcharts, Highmaps) The value where the zone ends.
  94401. */
  94402. to?: number;
  94403. }
  94404. /**
  94405. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  94406. * animation when a series is displayed for the `dataLabels`. The animation can
  94407. * also be set as a configuration object. Please note that this option only
  94408. * applies to the initial animation. For other animations, see chart.animation
  94409. * and the animation parameter under the API methods. The following properties
  94410. * are supported:
  94411. *
  94412. * - `defer`: The animation delay time in milliseconds.
  94413. */
  94414. export interface PlotVennDataLabelsAnimationOptions {
  94415. /**
  94416. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  94417. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  94418. * inherits defer time from the series.animation.defer.
  94419. */
  94420. defer?: number;
  94421. }
  94422. /**
  94423. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  94424. * appearing next to each data point.
  94425. *
  94426. * Since v6.2.0, multiple data labels can be applied to each single point by
  94427. * defining them as an array of configs.
  94428. *
  94429. * In styled mode, the data labels can be styled with the
  94430. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  94431. * example).
  94432. */
  94433. export interface PlotVennDataLabelsOptions {
  94434. /**
  94435. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  94436. * compared to the point. If `right`, the right side of the label should be
  94437. * touching the point. For points with an extent, like columns, the
  94438. * alignments also dictates how to align it inside the box, as given with
  94439. * the inside option. Can be one of `left`, `center` or `right`.
  94440. */
  94441. align?: (AlignValue|null);
  94442. /**
  94443. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  94444. * overlap. To make the labels less sensitive for overlapping, the
  94445. * dataLabels.padding can be set to 0.
  94446. */
  94447. allowOverlap?: boolean;
  94448. /**
  94449. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  94450. * animation when a series is displayed for the `dataLabels`. The animation
  94451. * can also be set as a configuration object. Please note that this option
  94452. * only applies to the initial animation. For other animations, see
  94453. * chart.animation and the animation parameter under the API methods. The
  94454. * following properties are supported:
  94455. *
  94456. * - `defer`: The animation delay time in milliseconds.
  94457. */
  94458. animation?: (boolean|PlotVennDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  94459. /**
  94460. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  94461. * for the data label.
  94462. */
  94463. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  94464. /**
  94465. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  94466. * label. Defaults to `undefined`.
  94467. */
  94468. borderColor?: (ColorString|GradientColorObject|PatternObject);
  94469. /**
  94470. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  94471. * the data label.
  94472. */
  94473. borderRadius?: number;
  94474. /**
  94475. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  94476. * the data label.
  94477. */
  94478. borderWidth?: number;
  94479. /**
  94480. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  94481. * Particularly in styled mode, this can be used to give each series' or
  94482. * point's data label unique styling. In addition to this option, a default
  94483. * color class name is added so that we can give the labels a contrast text
  94484. * shadow.
  94485. */
  94486. className?: string;
  94487. /**
  94488. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  94489. * labels. Defaults to `undefined`. For certain series types, like column or
  94490. * map, the data labels can be drawn inside the points. In this case the
  94491. * data label will be drawn with maximum contrast by default. Additionally,
  94492. * it will be given a `text-outline` style with the opposite color, to
  94493. * further increase the contrast. This can be overridden by setting the
  94494. * `text-outline` style to `none` in the `dataLabels.style` option.
  94495. */
  94496. color?: (ColorString|GradientColorObject|PatternObject);
  94497. /**
  94498. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  94499. * are outside the plot area. By default, the data label is moved inside the
  94500. * plot area according to the overflow option.
  94501. */
  94502. crop?: boolean;
  94503. /**
  94504. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  94505. * labels until the initial series animation has finished. Setting to
  94506. * `false` renders the data label immediately. If set to `true` inherits the
  94507. * defer time set in plotOptions.series.animation.
  94508. */
  94509. defer?: boolean;
  94510. /**
  94511. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  94512. * labels.
  94513. */
  94514. enabled?: boolean;
  94515. /**
  94516. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  94517. * of which data labels to display. The declarative filter is designed for
  94518. * use when callback functions are not available, like when the chart
  94519. * options require a pure JSON structure or for use with graphical editors.
  94520. * For programmatic control, use the `formatter` instead, and return
  94521. * `undefined` to disable a single data label.
  94522. */
  94523. filter?: DataLabelsFilterOptionsObject;
  94524. /**
  94525. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  94526. * label. Available variables are the same as for `formatter`.
  94527. */
  94528. format?: string;
  94529. /**
  94530. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  94531. * format the data label. Note that if a `format` is defined, the format
  94532. * takes precedence and the formatter is ignored.
  94533. */
  94534. formatter?: DataLabelsFormatterCallbackFunction;
  94535. /**
  94536. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  94537. * columns or map areas, whether to align the data label inside the box or
  94538. * to the actual value point. Defaults to `false` in most cases, `true` in
  94539. * stacked columns.
  94540. */
  94541. inside?: boolean;
  94542. /**
  94543. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  94544. * of null. Works analogously to format. `nullFormat` can be applied only to
  94545. * series which support displaying null points.
  94546. */
  94547. nullFormat?: (boolean|string);
  94548. /**
  94549. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  94550. * that defines formatting for points with the value of null. Works
  94551. * analogously to formatter. `nullPointFormatter` can be applied only to
  94552. * series which support displaying null points.
  94553. */
  94554. nullFormatter?: DataLabelsFormatterCallbackFunction;
  94555. /**
  94556. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  94557. * flow outside the plot area. The default is `"justify"`, which aligns them
  94558. * inside the plot area. For columns and bars, this means it will be moved
  94559. * inside the bar. To display data labels outside the plot area, set `crop`
  94560. * to `false` and `overflow` to `"allow"`.
  94561. */
  94562. overflow?: DataLabelsOverflowValue;
  94563. /**
  94564. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  94565. * the `backgroundColor` is set, this is the padding within the box.
  94566. */
  94567. padding?: number;
  94568. /**
  94569. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  94570. * points. If `center` alignment is not possible, it defaults to `right`.
  94571. */
  94572. position?: AlignValue;
  94573. /**
  94574. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  94575. * that due to a more complex structure, backgrounds, borders and padding
  94576. * will be lost on a rotated data label.
  94577. */
  94578. rotation?: number;
  94579. /**
  94580. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  94581. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  94582. * an object configuration containing `color`, `offsetX`, `offsetY`,
  94583. * `opacity` and `width`.
  94584. */
  94585. shadow?: (boolean|ShadowOptionsObject);
  94586. /**
  94587. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  94588. * the border around the label. Symbols are predefined functions on the
  94589. * Renderer object.
  94590. */
  94591. shape?: string;
  94592. /**
  94593. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  94594. * default `color` setting is `"contrast"`, which is a pseudo color that
  94595. * Highcharts picks up and applies the maximum contrast to the underlying
  94596. * point item, for example the bar in a bar chart.
  94597. *
  94598. * The `textOutline` is a pseudo property that applies an outline of the
  94599. * given width with the given color, which by default is the maximum
  94600. * contrast to the text. So a bright text color will result in a black text
  94601. * outline for maximum readability on a mixed background. In some cases,
  94602. * especially with grayscale text, the text outline doesn't work well, in
  94603. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  94604. * is true, the `textOutline` will not be picked up. In this, case, the same
  94605. * effect can be acheived through the `text-shadow` CSS property.
  94606. *
  94607. * For some series types, where each point has an extent, like for example
  94608. * tree maps, the data label may overflow the point. There are two
  94609. * strategies for handling overflow. By default, the text will wrap to
  94610. * multiple lines. The other strategy is to set `style.textOverflow` to
  94611. * `ellipsis`, which will keep the text on one line plus it will break
  94612. * inside long words.
  94613. */
  94614. style?: CSSObject;
  94615. /**
  94616. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  94617. * should follow marker's shape. Border and background are disabled for a
  94618. * label that follows a path.
  94619. *
  94620. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  94621. * to true will disable this option.
  94622. */
  94623. textPath?: DataLabelsTextPathOptionsObject;
  94624. /**
  94625. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  94626. * the labels.
  94627. */
  94628. useHTML?: boolean;
  94629. /**
  94630. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  94631. * label. Can be one of `top`, `middle` or `bottom`. The default value
  94632. * depends on the data, for instance in a column chart, the label is above
  94633. * positive values and below negative values.
  94634. */
  94635. verticalAlign?: string;
  94636. /**
  94637. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  94638. * label relative to the point in pixels.
  94639. */
  94640. x?: number;
  94641. /**
  94642. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  94643. * label relative to the point in pixels.
  94644. */
  94645. y?: number;
  94646. /**
  94647. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  94648. * The default Z index puts it above the series. Use a Z index of 2 to
  94649. * display it behind the series.
  94650. */
  94651. z?: number;
  94652. }
  94653. /**
  94654. * (Highcharts) A Venn diagram displays all possible logical relations between a
  94655. * collection of different sets. The sets are represented by circles, and the
  94656. * relation between the sets are displayed by the overlap or lack of overlap
  94657. * between them. The venn diagram is a special case of Euler diagrams, which can
  94658. * also be displayed by this series type.
  94659. *
  94660. * In TypeScript the type option must always be set.
  94661. *
  94662. * Configuration options for the series are given in three levels:
  94663. *
  94664. * 1. Options for all series in a chart are defined in the plotOptions.series
  94665. * object.
  94666. *
  94667. * 2. Options for all `venn` series are defined in plotOptions.venn.
  94668. *
  94669. * 3. Options for one single series are given in the series instance array. (see
  94670. * online documentation for example)
  94671. */
  94672. export interface PlotVennOptions {
  94673. /**
  94674. * (Highcharts) Accessibility options for a series.
  94675. */
  94676. accessibility?: SeriesAccessibilityOptionsObject;
  94677. /**
  94678. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  94679. * rendered. If `true`, areas which don't correspond to a data point, are
  94680. * rendered as `null` points. If `false`, those areas are skipped.
  94681. */
  94682. allAreas?: boolean;
  94683. /**
  94684. * (Highcharts) Allow this series' points to be selected by clicking on the
  94685. * graphic (columns, point markers, pie slices, map areas etc).
  94686. *
  94687. * The selected points can be handled by point select and unselect events,
  94688. * or collectively by the getSelectedPoints function.
  94689. *
  94690. * And alternative way of selecting points is through dragging.
  94691. */
  94692. allowPointSelect?: boolean;
  94693. /**
  94694. * (Highcharts) Enable or disable the initial animation when a series is
  94695. * displayed. The animation can also be set as a configuration object.
  94696. * Please note that this option only applies to the initial animation of the
  94697. * series itself. For other animations, see chart.animation and the
  94698. * animation parameter under the API methods. The following properties are
  94699. * supported:
  94700. *
  94701. * - `defer`: The animation delay time in milliseconds.
  94702. *
  94703. * - `duration`: The duration of the animation in milliseconds.
  94704. *
  94705. * - `easing`: Can be a string reference to an easing function set on the
  94706. * `Math` object or a function. See the _Custom easing function_ demo below.
  94707. *
  94708. * Due to poor performance, animation is disabled in old IE browsers for
  94709. * several chart types.
  94710. */
  94711. animation?: (boolean|PlotVennAnimationOptions|Partial<AnimationOptionsObject>);
  94712. /**
  94713. * (Highcharts) For some series, there is a limit that shuts down initial
  94714. * animation by default when the total number of points in the chart is too
  94715. * high. For example, for a column chart and its derivatives, animation does
  94716. * not run if there is more than 250 points totally. To disable this cap,
  94717. * set `animationLimit` to `Infinity`.
  94718. */
  94719. animationLimit?: number;
  94720. /**
  94721. * (Highmaps) The border color of the map areas.
  94722. *
  94723. * In styled mode, the border stroke is given in the `.highcharts-point`
  94724. * class.
  94725. */
  94726. borderColor?: string;
  94727. borderDashStyle?: string;
  94728. /**
  94729. * (Highmaps) The border width of each map area.
  94730. *
  94731. * In styled mode, the border stroke width is given in the
  94732. * `.highcharts-point` class.
  94733. */
  94734. borderWidth?: number;
  94735. brighten?: number;
  94736. /**
  94737. * (Highcharts) An additional class name to apply to the series' graphical
  94738. * elements. This option does not replace default class names of the
  94739. * graphical element.
  94740. */
  94741. className?: string;
  94742. /**
  94743. * (Highcharts) Disable this option to allow series rendering in the whole
  94744. * plotting area.
  94745. *
  94746. * **Note:** Clipping should be always enabled when chart.zoomType is set
  94747. */
  94748. clip?: boolean;
  94749. /**
  94750. * (Highcharts, Highmaps) Options for marker clusters, the concept of
  94751. * sampling the data values into larger blocks in order to ease readability
  94752. * and increase performance of the JavaScript charts.
  94753. *
  94754. * Note: marker clusters module is not working with `boost` and
  94755. * `draggable-points` modules.
  94756. *
  94757. * The marker clusters feature requires the marker-clusters.js file to be
  94758. * loaded, found in the modules directory of the download package, or online
  94759. * at code.highcharts.com/modules/marker-clusters.js.
  94760. */
  94761. cluster?: PlotVennClusterOptions;
  94762. /**
  94763. * (Highcharts) The main color of the series. In line type series it applies
  94764. * to the line and the point markers unless otherwise specified. In bar type
  94765. * series it applies to the bars unless a color is specified per point. The
  94766. * default value is pulled from the `options.colors` array.
  94767. *
  94768. * In styled mode, the color can be defined by the colorIndex option. Also,
  94769. * the series color can be set with the `.highcharts-series`,
  94770. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  94771. * `.highcharts-series-{n}` class, or individual classes given by the
  94772. * `className` option.
  94773. */
  94774. color?: (ColorString|GradientColorObject|PatternObject);
  94775. /**
  94776. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  94777. * this number defines which colorAxis the particular series is connected
  94778. * to. It refers to either the axis id or the index of the axis in the
  94779. * colorAxis array, with 0 being the first. Set this option to false to
  94780. * prevent a series from connecting to the default color axis.
  94781. *
  94782. * Since v7.2.0 the option can also be an axis id or an axis index instead
  94783. * of a boolean flag.
  94784. */
  94785. colorAxis?: (boolean|number|string);
  94786. colorByPoint?: boolean;
  94787. /**
  94788. * (Highcharts) Styled mode only. A specific color index to use for the
  94789. * series, so its graphic representations are given the class name
  94790. * `highcharts-color-{n}`.
  94791. */
  94792. colorIndex?: number;
  94793. /**
  94794. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  94795. * used to calculate point color if `colorAxis` is used. Requires to set
  94796. * `min` and `max` if some custom point property is used or if approximation
  94797. * for data grouping is set to `'sum'`.
  94798. */
  94799. colorKey?: string;
  94800. /**
  94801. * (Highstock) Compare the values of the series against the first non-null,
  94802. * non- zero value in the visible range. The y axis will show percentage or
  94803. * absolute change depending on whether `compare` is set to `"percent"` or
  94804. * `"value"`. When this is applied to multiple series, it allows comparing
  94805. * the development of the series against each other. Adds a `change` field
  94806. * to every point object.
  94807. */
  94808. compare?: string;
  94809. /**
  94810. * (Highstock) When compare is `percent`, this option dictates whether to
  94811. * use 0 or 100 as the base of comparison.
  94812. */
  94813. compareBase?: (0|100);
  94814. /**
  94815. * (Highstock) Defines if comparison should start from the first point
  94816. * within the visible range or should start from the first point **before**
  94817. * the range.
  94818. *
  94819. * In other words, this flag determines if first point within the visible
  94820. * range will have 0% (`compareStart=true`) or should have been already
  94821. * calculated according to the previous point (`compareStart=false`).
  94822. */
  94823. compareStart?: boolean;
  94824. /**
  94825. * (Gantt) Override Pathfinder connector options for a series. Requires
  94826. * Highcharts Gantt to be loaded.
  94827. */
  94828. connectors?: SeriesConnectorsOptionsObject;
  94829. /**
  94830. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  94831. * rounded to its nearest pixel in order to render sharp on screen. In some
  94832. * cases, when there are a lot of densely packed columns, this leads to
  94833. * visible difference in column widths or distance between columns. In these
  94834. * cases, setting `crisp` to `false` may look better, even though each
  94835. * column is rendered blurry.
  94836. */
  94837. crisp?: boolean;
  94838. /**
  94839. * (Highcharts) You can set the cursor to "pointer" if you have click events
  94840. * attached to the series, to signal to the user that the points and lines
  94841. * can be clicked.
  94842. *
  94843. * In styled mode, the series cursor can be set with the same classes as
  94844. * listed under series.color.
  94845. */
  94846. cursor?: (string|CursorValue);
  94847. /**
  94848. * (Highcharts) A reserved subspace to store options and values for
  94849. * customized functionality. Here you can add additional data for your own
  94850. * event callbacks and formatter callbacks.
  94851. */
  94852. custom?: Dictionary<any>;
  94853. /**
  94854. * (Highcharts) Name of the dash style to use for the graph, or for some
  94855. * series types the outline of each shape.
  94856. *
  94857. * In styled mode, the stroke dash-array can be set with the same classes as
  94858. * listed under series.color.
  94859. */
  94860. dashStyle?: DashStyleValue;
  94861. /**
  94862. * (Highstock) Data grouping is the concept of sampling the data values into
  94863. * larger blocks in order to ease readability and increase performance of
  94864. * the JavaScript charts. Highstock by default applies data grouping when
  94865. * the points become closer than a certain pixel value, determined by the
  94866. * `groupPixelWidth` option.
  94867. *
  94868. * If data grouping is applied, the grouping information of grouped points
  94869. * can be read from the Point.dataGroup. If point options other than the
  94870. * data itself are set, for example `name` or `color` or custom properties,
  94871. * the grouping logic doesn't know how to group it. In this case the options
  94872. * of the first point instance are copied over to the group point. This can
  94873. * be altered through a custom `approximation` callback function.
  94874. */
  94875. dataGrouping?: DataGroupingOptionsObject;
  94876. /**
  94877. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  94878. * labels, appearing next to each data point.
  94879. *
  94880. * Since v6.2.0, multiple data labels can be applied to each single point by
  94881. * defining them as an array of configs.
  94882. *
  94883. * In styled mode, the data labels can be styled with the
  94884. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  94885. * (see example).
  94886. */
  94887. dataLabels?: (PlotVennDataLabelsOptions|Array<PlotVennDataLabelsOptions>);
  94888. /**
  94889. * (Highcharts) A description of the series to add to the screen reader
  94890. * information about the series.
  94891. */
  94892. description?: string;
  94893. /**
  94894. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  94895. * This includes point tooltips and click events on graphs and points. For
  94896. * large datasets it improves performance.
  94897. */
  94898. enableMouseTracking?: boolean;
  94899. /**
  94900. * (Highcharts) General event handlers for the series items. These event
  94901. * hooks can also be attached to the series at run time using the
  94902. * `Highcharts.addEvent` function.
  94903. */
  94904. events?: SeriesEventsOptionsObject;
  94905. /**
  94906. * (Highstock) Defines when to display a gap in the graph, together with the
  94907. * gapUnit option.
  94908. *
  94909. * In case when `dataGrouping` is enabled, points can be grouped into a
  94910. * larger time span. This can make the grouped points to have a greater
  94911. * distance than the absolute value of `gapSize` property, which will result
  94912. * in disappearing graph completely. To prevent this situation the mentioned
  94913. * distance between grouped points is used instead of previously defined
  94914. * `gapSize`.
  94915. *
  94916. * In practice, this option is most often used to visualize gaps in time
  94917. * series. In a stock chart, intraday data is available for daytime hours,
  94918. * while gaps will appear in nights and weekends.
  94919. */
  94920. gapSize?: number;
  94921. /**
  94922. * (Highstock) Together with gapSize, this option defines where to draw gaps
  94923. * in the graph.
  94924. *
  94925. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  94926. * if the distance between two points is greater than 5 times that of the
  94927. * two closest points, the graph will be broken.
  94928. *
  94929. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  94930. * values, which on a datetime axis is milliseconds. This also applies to
  94931. * the navigator series that inherits gap options from the base series.
  94932. */
  94933. gapUnit?: OptionsGapUnitValue;
  94934. /**
  94935. * (Highcharts) When set to `false` will prevent the series data from being
  94936. * included in any form of data export.
  94937. *
  94938. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  94939. * `includeInCSVExport`.
  94940. */
  94941. includeInDataExport?: boolean;
  94942. /**
  94943. * (Highmaps) What property to join the `mapData` to the value data. For
  94944. * example, if joinBy is "code", the mapData items with a specific code is
  94945. * merged into the data with the same code. For maps loaded from GeoJSON,
  94946. * the keys may be held in each point's `properties` object.
  94947. *
  94948. * The joinBy option can also be an array of two values, where the first
  94949. * points to a key in the `mapData`, and the second points to another key in
  94950. * the `data`.
  94951. *
  94952. * When joinBy is `null`, the map items are joined by their position in the
  94953. * array, which performs much better in maps with many data points. This is
  94954. * the recommended option if you are printing more than a thousand data
  94955. * points and have a backend that can preprocess the data into a parallel
  94956. * array of the mapData.
  94957. */
  94958. joinBy?: (string|Array<string>);
  94959. /**
  94960. * (Highcharts) An array specifying which option maps to which key in the
  94961. * data point array. This makes it convenient to work with unstructured data
  94962. * arrays from different sources.
  94963. */
  94964. keys?: Array<string>;
  94965. /**
  94966. * (Highstock) The line marks the last price from all points.
  94967. */
  94968. lastPrice?: SeriesLastPriceOptionsObject;
  94969. /**
  94970. * (Highstock) The line marks the last price from visible range of points.
  94971. */
  94972. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  94973. marker?: boolean;
  94974. /**
  94975. * (Highstock) Options for the corresponding navigator series if
  94976. * `showInNavigator` is `true` for this series. Available options are the
  94977. * same as any series, documented at plotOptions and series.
  94978. *
  94979. * These options are merged with options in navigator.series, and will take
  94980. * precedence if the same option is defined both places.
  94981. */
  94982. navigatorOptions?: PlotSeriesOptions;
  94983. /**
  94984. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  94985. * dataLabels.
  94986. */
  94987. opacity?: number;
  94988. /**
  94989. * (Highcharts) Properties for each single point.
  94990. */
  94991. point?: PlotSeriesPointOptions;
  94992. /**
  94993. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  94994. * individual series. Overrides the chart wide configuration.
  94995. */
  94996. pointDescriptionFormatter?: Function;
  94997. /**
  94998. * (Highstock) The width of each point on the x axis. For example in a
  94999. * column chart with one value each day, the pointRange would be 1 day (= 24
  95000. * * 3600
  95001. *
  95002. * * 1000 milliseconds). This is normally computed automatically, but this
  95003. * option can be used to override the automatic value.
  95004. */
  95005. pointRange?: number;
  95006. /**
  95007. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  95008. * true, the checkbox next to the series name in the legend will be checked
  95009. * for a selected series.
  95010. */
  95011. selected?: boolean;
  95012. /**
  95013. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  95014. * allow selecting the series. The state of the checkbox is determined by
  95015. * the `selected` option.
  95016. */
  95017. showCheckbox?: boolean;
  95018. /**
  95019. * (Highcharts) Whether to display this particular series or series type in
  95020. * the legend. Standalone series are shown in legend by default, and linked
  95021. * series are not. Since v7.2.0 it is possible to show series that use
  95022. * colorAxis by setting this option to `true`.
  95023. */
  95024. showInLegend?: boolean;
  95025. /**
  95026. * (Highstock) Whether or not to show the series in the navigator. Takes
  95027. * precedence over navigator.baseSeries if defined.
  95028. */
  95029. showInNavigator?: boolean;
  95030. /**
  95031. * (Highcharts) If set to `true`, the accessibility module will skip past
  95032. * the points in this series for keyboard navigation.
  95033. */
  95034. skipKeyboardNavigation?: boolean;
  95035. states?: SeriesStatesOptionsObject;
  95036. /**
  95037. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  95038. * values are `left`, `center` and `right`.
  95039. */
  95040. step?: OptionsStepValue;
  95041. /**
  95042. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  95043. * `mouseOut` event on a series isn't triggered until the mouse moves over
  95044. * another series, or out of the plot area. When false, the `mouseOut` event
  95045. * on a series is triggered when the mouse leaves the area around the
  95046. * series' graph or markers. This also implies the tooltip. When
  95047. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  95048. * be hidden when moving the mouse between series.
  95049. */
  95050. stickyTracking?: boolean;
  95051. /**
  95052. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  95053. * of each single series. Properties are inherited from tooltip. Overridable
  95054. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  95055. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  95056. * series.name by default shows in the headerFormat and point.x and point.y
  95057. * in the pointFormat.
  95058. */
  95059. tooltip?: SeriesTooltipOptionsObject;
  95060. /**
  95061. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  95062. * is longer than this, only one dimensional arrays of numbers, or two
  95063. * dimensional arrays with x and y values are allowed. Also, only the first
  95064. * point is tested, and the rest are assumed to be the same format. This
  95065. * saves expensive data checking and indexing in long series. Set it to `0`
  95066. * disable.
  95067. *
  95068. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  95069. * two dimensional arrays are allowed.
  95070. */
  95071. turboThreshold?: number;
  95072. /**
  95073. * (Highcharts) Set the initial visibility of the series.
  95074. */
  95075. visible?: boolean;
  95076. /**
  95077. * (Highmaps) Define the z index of the series.
  95078. */
  95079. zIndex?: number;
  95080. }
  95081. /**
  95082. * (Highstock) Enable or disable the initial animation when a series is
  95083. * displayed. The animation can also be set as a configuration object. Please
  95084. * note that this option only applies to the initial animation of the series
  95085. * itself. For other animations, see chart.animation and the animation parameter
  95086. * under the API methods. The following properties are supported:
  95087. *
  95088. * - `defer`: The animation delay time in milliseconds.
  95089. *
  95090. * - `duration`: The duration of the animation in milliseconds.
  95091. *
  95092. * - `easing`: Can be a string reference to an easing function set on the `Math`
  95093. * object or a function. See the _Custom easing function_ demo below.
  95094. *
  95095. * Due to poor performance, animation is disabled in old IE browsers for several
  95096. * chart types.
  95097. */
  95098. export interface PlotVwapAnimationOptions {
  95099. defer?: number;
  95100. }
  95101. /**
  95102. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  95103. * animation when a series is displayed for the `dataLabels`. The animation can
  95104. * also be set as a configuration object. Please note that this option only
  95105. * applies to the initial animation. For other animations, see chart.animation
  95106. * and the animation parameter under the API methods. The following properties
  95107. * are supported:
  95108. *
  95109. * - `defer`: The animation delay time in milliseconds.
  95110. */
  95111. export interface PlotVwapDataLabelsAnimationOptions {
  95112. /**
  95113. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  95114. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  95115. * inherits defer time from the series.animation.defer.
  95116. */
  95117. defer?: number;
  95118. }
  95119. /**
  95120. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  95121. * appearing next to each data point.
  95122. *
  95123. * Since v6.2.0, multiple data labels can be applied to each single point by
  95124. * defining them as an array of configs.
  95125. *
  95126. * In styled mode, the data labels can be styled with the
  95127. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  95128. * example).
  95129. */
  95130. export interface PlotVwapDataLabelsOptions {
  95131. /**
  95132. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  95133. * compared to the point. If `right`, the right side of the label should be
  95134. * touching the point. For points with an extent, like columns, the
  95135. * alignments also dictates how to align it inside the box, as given with
  95136. * the inside option. Can be one of `left`, `center` or `right`.
  95137. */
  95138. align?: (AlignValue|null);
  95139. /**
  95140. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  95141. * overlap. To make the labels less sensitive for overlapping, the
  95142. * dataLabels.padding can be set to 0.
  95143. */
  95144. allowOverlap?: boolean;
  95145. /**
  95146. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  95147. * animation when a series is displayed for the `dataLabels`. The animation
  95148. * can also be set as a configuration object. Please note that this option
  95149. * only applies to the initial animation. For other animations, see
  95150. * chart.animation and the animation parameter under the API methods. The
  95151. * following properties are supported:
  95152. *
  95153. * - `defer`: The animation delay time in milliseconds.
  95154. */
  95155. animation?: (boolean|PlotVwapDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  95156. /**
  95157. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  95158. * for the data label.
  95159. */
  95160. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  95161. /**
  95162. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  95163. * label. Defaults to `undefined`.
  95164. */
  95165. borderColor?: (ColorString|GradientColorObject|PatternObject);
  95166. /**
  95167. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  95168. * the data label.
  95169. */
  95170. borderRadius?: number;
  95171. /**
  95172. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  95173. * the data label.
  95174. */
  95175. borderWidth?: number;
  95176. /**
  95177. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  95178. * Particularly in styled mode, this can be used to give each series' or
  95179. * point's data label unique styling. In addition to this option, a default
  95180. * color class name is added so that we can give the labels a contrast text
  95181. * shadow.
  95182. */
  95183. className?: string;
  95184. /**
  95185. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  95186. * labels. Defaults to `undefined`. For certain series types, like column or
  95187. * map, the data labels can be drawn inside the points. In this case the
  95188. * data label will be drawn with maximum contrast by default. Additionally,
  95189. * it will be given a `text-outline` style with the opposite color, to
  95190. * further increase the contrast. This can be overridden by setting the
  95191. * `text-outline` style to `none` in the `dataLabels.style` option.
  95192. */
  95193. color?: (ColorString|GradientColorObject|PatternObject);
  95194. /**
  95195. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  95196. * are outside the plot area. By default, the data label is moved inside the
  95197. * plot area according to the overflow option.
  95198. */
  95199. crop?: boolean;
  95200. /**
  95201. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  95202. * labels until the initial series animation has finished. Setting to
  95203. * `false` renders the data label immediately. If set to `true` inherits the
  95204. * defer time set in plotOptions.series.animation.
  95205. */
  95206. defer?: boolean;
  95207. /**
  95208. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  95209. * labels.
  95210. */
  95211. enabled?: boolean;
  95212. /**
  95213. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  95214. * of which data labels to display. The declarative filter is designed for
  95215. * use when callback functions are not available, like when the chart
  95216. * options require a pure JSON structure or for use with graphical editors.
  95217. * For programmatic control, use the `formatter` instead, and return
  95218. * `undefined` to disable a single data label.
  95219. */
  95220. filter?: DataLabelsFilterOptionsObject;
  95221. /**
  95222. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  95223. * label. Available variables are the same as for `formatter`.
  95224. */
  95225. format?: string;
  95226. /**
  95227. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  95228. * format the data label. Note that if a `format` is defined, the format
  95229. * takes precedence and the formatter is ignored.
  95230. */
  95231. formatter?: DataLabelsFormatterCallbackFunction;
  95232. /**
  95233. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  95234. * columns or map areas, whether to align the data label inside the box or
  95235. * to the actual value point. Defaults to `false` in most cases, `true` in
  95236. * stacked columns.
  95237. */
  95238. inside?: boolean;
  95239. /**
  95240. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  95241. * of null. Works analogously to format. `nullFormat` can be applied only to
  95242. * series which support displaying null points.
  95243. */
  95244. nullFormat?: (boolean|string);
  95245. /**
  95246. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  95247. * that defines formatting for points with the value of null. Works
  95248. * analogously to formatter. `nullPointFormatter` can be applied only to
  95249. * series which support displaying null points.
  95250. */
  95251. nullFormatter?: DataLabelsFormatterCallbackFunction;
  95252. /**
  95253. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  95254. * flow outside the plot area. The default is `"justify"`, which aligns them
  95255. * inside the plot area. For columns and bars, this means it will be moved
  95256. * inside the bar. To display data labels outside the plot area, set `crop`
  95257. * to `false` and `overflow` to `"allow"`.
  95258. */
  95259. overflow?: DataLabelsOverflowValue;
  95260. /**
  95261. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  95262. * the `backgroundColor` is set, this is the padding within the box.
  95263. */
  95264. padding?: number;
  95265. /**
  95266. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  95267. * points. If `center` alignment is not possible, it defaults to `right`.
  95268. */
  95269. position?: AlignValue;
  95270. /**
  95271. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  95272. * that due to a more complex structure, backgrounds, borders and padding
  95273. * will be lost on a rotated data label.
  95274. */
  95275. rotation?: number;
  95276. /**
  95277. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  95278. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  95279. * an object configuration containing `color`, `offsetX`, `offsetY`,
  95280. * `opacity` and `width`.
  95281. */
  95282. shadow?: (boolean|ShadowOptionsObject);
  95283. /**
  95284. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  95285. * the border around the label. Symbols are predefined functions on the
  95286. * Renderer object.
  95287. */
  95288. shape?: string;
  95289. /**
  95290. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  95291. * default `color` setting is `"contrast"`, which is a pseudo color that
  95292. * Highcharts picks up and applies the maximum contrast to the underlying
  95293. * point item, for example the bar in a bar chart.
  95294. *
  95295. * The `textOutline` is a pseudo property that applies an outline of the
  95296. * given width with the given color, which by default is the maximum
  95297. * contrast to the text. So a bright text color will result in a black text
  95298. * outline for maximum readability on a mixed background. In some cases,
  95299. * especially with grayscale text, the text outline doesn't work well, in
  95300. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  95301. * is true, the `textOutline` will not be picked up. In this, case, the same
  95302. * effect can be acheived through the `text-shadow` CSS property.
  95303. *
  95304. * For some series types, where each point has an extent, like for example
  95305. * tree maps, the data label may overflow the point. There are two
  95306. * strategies for handling overflow. By default, the text will wrap to
  95307. * multiple lines. The other strategy is to set `style.textOverflow` to
  95308. * `ellipsis`, which will keep the text on one line plus it will break
  95309. * inside long words.
  95310. */
  95311. style?: CSSObject;
  95312. /**
  95313. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  95314. * should follow marker's shape. Border and background are disabled for a
  95315. * label that follows a path.
  95316. *
  95317. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  95318. * to true will disable this option.
  95319. */
  95320. textPath?: DataLabelsTextPathOptionsObject;
  95321. /**
  95322. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  95323. * the labels.
  95324. */
  95325. useHTML?: boolean;
  95326. /**
  95327. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  95328. * label. Can be one of `top`, `middle` or `bottom`. The default value
  95329. * depends on the data, for instance in a column chart, the label is above
  95330. * positive values and below negative values.
  95331. */
  95332. verticalAlign?: (VerticalAlignValue|null);
  95333. /**
  95334. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  95335. * label relative to the point in pixels.
  95336. */
  95337. x?: number;
  95338. /**
  95339. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  95340. * label relative to the point in pixels.
  95341. */
  95342. y?: number;
  95343. /**
  95344. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  95345. * The default Z index puts it above the series. Use a Z index of 2 to
  95346. * display it behind the series.
  95347. */
  95348. z?: number;
  95349. }
  95350. /**
  95351. * (Highcharts, Highstock) Options for the series data sorting.
  95352. */
  95353. export interface PlotVwapDataSortingOptions {
  95354. /**
  95355. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  95356. * Use xAxis.reversed to change the sorting order.
  95357. */
  95358. enabled?: boolean;
  95359. /**
  95360. * (Highcharts, Highstock) Whether to allow matching points by name in an
  95361. * update. If this option is disabled, points will be matched by order.
  95362. */
  95363. matchByName?: boolean;
  95364. /**
  95365. * (Highcharts, Highstock) Determines what data value should be used to sort
  95366. * by.
  95367. */
  95368. sortKey?: string;
  95369. }
  95370. /**
  95371. * (Highstock) Volume Weighted Average Price indicator.
  95372. *
  95373. * This series requires `linkedTo` option to be set.
  95374. *
  95375. * In TypeScript the type option must always be set.
  95376. *
  95377. * Configuration options for the series are given in three levels:
  95378. *
  95379. * 1. Options for all series in a chart are defined in the plotOptions.series
  95380. * object.
  95381. *
  95382. * 2. Options for all `vwap` series are defined in plotOptions.vwap.
  95383. *
  95384. * 3. Options for one single series are given in the series instance array. (see
  95385. * online documentation for example)
  95386. */
  95387. export interface PlotVwapOptions {
  95388. /**
  95389. * (Highstock) Accessibility options for a series.
  95390. */
  95391. accessibility?: SeriesAccessibilityOptionsObject;
  95392. /**
  95393. * (Highstock) Allow this series' points to be selected by clicking on the
  95394. * graphic (columns, point markers, pie slices, map areas etc).
  95395. *
  95396. * The selected points can be handled by point select and unselect events,
  95397. * or collectively by the getSelectedPoints function.
  95398. *
  95399. * And alternative way of selecting points is through dragging.
  95400. */
  95401. allowPointSelect?: boolean;
  95402. /**
  95403. * (Highstock) Enable or disable the initial animation when a series is
  95404. * displayed. The animation can also be set as a configuration object.
  95405. * Please note that this option only applies to the initial animation of the
  95406. * series itself. For other animations, see chart.animation and the
  95407. * animation parameter under the API methods. The following properties are
  95408. * supported:
  95409. *
  95410. * - `defer`: The animation delay time in milliseconds.
  95411. *
  95412. * - `duration`: The duration of the animation in milliseconds.
  95413. *
  95414. * - `easing`: Can be a string reference to an easing function set on the
  95415. * `Math` object or a function. See the _Custom easing function_ demo below.
  95416. *
  95417. * Due to poor performance, animation is disabled in old IE browsers for
  95418. * several chart types.
  95419. */
  95420. animation?: (boolean|PlotVwapAnimationOptions|Partial<AnimationOptionsObject>);
  95421. /**
  95422. * (Highstock) For some series, there is a limit that shuts down initial
  95423. * animation by default when the total number of points in the chart is too
  95424. * high. For example, for a column chart and its derivatives, animation does
  95425. * not run if there is more than 250 points totally. To disable this cap,
  95426. * set `animationLimit` to `Infinity`.
  95427. */
  95428. animationLimit?: number;
  95429. /**
  95430. * (Highstock) Sets the color blending in the boost module.
  95431. */
  95432. boostBlending?: OptionsBoostBlendingValue;
  95433. /**
  95434. * (Highstock) Set the point threshold for when a series should enter boost
  95435. * mode.
  95436. *
  95437. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  95438. * there are 2000 or more points in the series.
  95439. *
  95440. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  95441. * it to 1 will force boosting.
  95442. *
  95443. * Note that the cropThreshold also affects this setting. When zooming in on
  95444. * a series that has fewer points than the `cropThreshold`, all points are
  95445. * rendered although outside the visible plot area, and the `boostThreshold`
  95446. * won't take effect.
  95447. */
  95448. boostThreshold?: number;
  95449. /**
  95450. * (Highmaps) The border color of the map areas.
  95451. *
  95452. * In styled mode, the border stroke is given in the `.highcharts-point`
  95453. * class.
  95454. */
  95455. borderColor?: (ColorString|GradientColorObject|PatternObject);
  95456. /**
  95457. * (Highmaps) The border width of each map area.
  95458. *
  95459. * In styled mode, the border stroke width is given in the
  95460. * `.highcharts-point` class.
  95461. */
  95462. borderWidth?: number;
  95463. /**
  95464. * (Highstock) An additional class name to apply to the series' graphical
  95465. * elements. This option does not replace default class names of the
  95466. * graphical element.
  95467. */
  95468. className?: string;
  95469. /**
  95470. * (Highstock) Disable this option to allow series rendering in the whole
  95471. * plotting area.
  95472. *
  95473. * **Note:** Clipping should be always enabled when chart.zoomType is set
  95474. */
  95475. clip?: boolean;
  95476. /**
  95477. * (Highstock) The main color of the series. In line type series it applies
  95478. * to the line and the point markers unless otherwise specified. In bar type
  95479. * series it applies to the bars unless a color is specified per point. The
  95480. * default value is pulled from the `options.colors` array.
  95481. *
  95482. * In styled mode, the color can be defined by the colorIndex option. Also,
  95483. * the series color can be set with the `.highcharts-series`,
  95484. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  95485. * `.highcharts-series-{n}` class, or individual classes given by the
  95486. * `className` option.
  95487. */
  95488. color?: (ColorString|GradientColorObject|PatternObject);
  95489. /**
  95490. * (Highstock) Styled mode only. A specific color index to use for the
  95491. * series, so its graphic representations are given the class name
  95492. * `highcharts-color-{n}`.
  95493. */
  95494. colorIndex?: number;
  95495. /**
  95496. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  95497. * used to calculate point color if `colorAxis` is used. Requires to set
  95498. * `min` and `max` if some custom point property is used or if approximation
  95499. * for data grouping is set to `'sum'`.
  95500. */
  95501. colorKey?: string;
  95502. /**
  95503. * (Highstock) Compare the values of the series against the first non-null,
  95504. * non- zero value in the visible range. The y axis will show percentage or
  95505. * absolute change depending on whether `compare` is set to `"percent"` or
  95506. * `"value"`. When this is applied to multiple series, it allows comparing
  95507. * the development of the series against each other. Adds a `change` field
  95508. * to every point object.
  95509. */
  95510. compare?: string;
  95511. /**
  95512. * (Highstock) When compare is `percent`, this option dictates whether to
  95513. * use 0 or 100 as the base of comparison.
  95514. */
  95515. compareBase?: (0|100);
  95516. /**
  95517. * (Highstock) Defines if comparison should start from the first point
  95518. * within the visible range or should start from the first point **before**
  95519. * the range.
  95520. *
  95521. * In other words, this flag determines if first point within the visible
  95522. * range will have 0% (`compareStart=true`) or should have been already
  95523. * calculated according to the previous point (`compareStart=false`).
  95524. */
  95525. compareStart?: boolean;
  95526. /**
  95527. * (Highstock) Whether to compare indicator to the main series values or
  95528. * indicator values.
  95529. */
  95530. compareToMain?: boolean;
  95531. /**
  95532. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  95533. * series plot across the extremes.
  95534. */
  95535. connectEnds?: boolean;
  95536. /**
  95537. * (Highcharts, Highstock) Whether to connect a graph line across null
  95538. * points, or render a gap between the two points on either side of the
  95539. * null.
  95540. */
  95541. connectNulls?: boolean;
  95542. /**
  95543. * (Gantt) Override Pathfinder connector options for a series. Requires
  95544. * Highcharts Gantt to be loaded.
  95545. */
  95546. connectors?: SeriesConnectorsOptionsObject;
  95547. /**
  95548. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  95549. * rounded to its nearest pixel in order to render sharp on screen. In some
  95550. * cases, when there are a lot of densely packed columns, this leads to
  95551. * visible difference in column widths or distance between columns. In these
  95552. * cases, setting `crisp` to `false` may look better, even though each
  95553. * column is rendered blurry.
  95554. */
  95555. crisp?: boolean;
  95556. /**
  95557. * (Highcharts, Highstock) When the series contains less points than the
  95558. * crop threshold, all points are drawn, even if the points fall outside the
  95559. * visible plot area at the current zoom. The advantage of drawing all
  95560. * points (including markers and columns), is that animation is performed on
  95561. * updates. On the other hand, when the series contains more points than the
  95562. * crop threshold, the series data is cropped to only contain points that
  95563. * fall within the plot area. The advantage of cropping away invisible
  95564. * points is to increase performance on large series.
  95565. */
  95566. cropThreshold?: number;
  95567. /**
  95568. * (Highstock) You can set the cursor to "pointer" if you have click events
  95569. * attached to the series, to signal to the user that the points and lines
  95570. * can be clicked.
  95571. *
  95572. * In styled mode, the series cursor can be set with the same classes as
  95573. * listed under series.color.
  95574. */
  95575. cursor?: (string|CursorValue);
  95576. /**
  95577. * (Highstock) A reserved subspace to store options and values for
  95578. * customized functionality. Here you can add additional data for your own
  95579. * event callbacks and formatter callbacks.
  95580. */
  95581. custom?: Dictionary<any>;
  95582. /**
  95583. * (Highstock) Name of the dash style to use for the graph, or for some
  95584. * series types the outline of each shape.
  95585. *
  95586. * In styled mode, the stroke dash-array can be set with the same classes as
  95587. * listed under series.color.
  95588. */
  95589. dashStyle?: DashStyleValue;
  95590. /**
  95591. * (Highstock) Data grouping is the concept of sampling the data values into
  95592. * larger blocks in order to ease readability and increase performance of
  95593. * the JavaScript charts. Highstock by default applies data grouping when
  95594. * the points become closer than a certain pixel value, determined by the
  95595. * `groupPixelWidth` option.
  95596. *
  95597. * If data grouping is applied, the grouping information of grouped points
  95598. * can be read from the Point.dataGroup. If point options other than the
  95599. * data itself are set, for example `name` or `color` or custom properties,
  95600. * the grouping logic doesn't know how to group it. In this case the options
  95601. * of the first point instance are copied over to the group point. This can
  95602. * be altered through a custom `approximation` callback function.
  95603. */
  95604. dataGrouping?: DataGroupingOptionsObject;
  95605. /**
  95606. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  95607. * labels, appearing next to each data point.
  95608. *
  95609. * Since v6.2.0, multiple data labels can be applied to each single point by
  95610. * defining them as an array of configs.
  95611. *
  95612. * In styled mode, the data labels can be styled with the
  95613. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  95614. * (see example).
  95615. */
  95616. dataLabels?: (PlotVwapDataLabelsOptions|Array<PlotVwapDataLabelsOptions>);
  95617. /**
  95618. * (Highcharts, Highstock) Options for the series data sorting.
  95619. */
  95620. dataSorting?: (DataSortingOptionsObject|PlotVwapDataSortingOptions);
  95621. /**
  95622. * (Highstock) A description of the series to add to the screen reader
  95623. * information about the series.
  95624. */
  95625. description?: string;
  95626. /**
  95627. * (Highstock) Enable or disable the mouse tracking for a specific series.
  95628. * This includes point tooltips and click events on graphs and points. For
  95629. * large datasets it improves performance.
  95630. */
  95631. enableMouseTracking?: boolean;
  95632. /**
  95633. * (Highstock) General event handlers for the series items. These event
  95634. * hooks can also be attached to the series at run time using the
  95635. * `Highcharts.addEvent` function.
  95636. */
  95637. events?: SeriesEventsOptionsObject;
  95638. /**
  95639. * (Highstock) Determines whether the series should look for the nearest
  95640. * point in both dimensions or just the x-dimension when hovering the
  95641. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  95642. * series. If the data has duplicate x-values, it is recommended to set this
  95643. * to `'xy'` to allow hovering over all points.
  95644. *
  95645. * Applies only to series types using nearest neighbor search (not direct
  95646. * hover) for tooltip.
  95647. */
  95648. findNearestPointBy?: OptionsFindNearestPointByValue;
  95649. /**
  95650. * (Highstock) Defines when to display a gap in the graph, together with the
  95651. * gapUnit option.
  95652. *
  95653. * In case when `dataGrouping` is enabled, points can be grouped into a
  95654. * larger time span. This can make the grouped points to have a greater
  95655. * distance than the absolute value of `gapSize` property, which will result
  95656. * in disappearing graph completely. To prevent this situation the mentioned
  95657. * distance between grouped points is used instead of previously defined
  95658. * `gapSize`.
  95659. *
  95660. * In practice, this option is most often used to visualize gaps in time
  95661. * series. In a stock chart, intraday data is available for daytime hours,
  95662. * while gaps will appear in nights and weekends.
  95663. */
  95664. gapSize?: number;
  95665. /**
  95666. * (Highstock) Together with gapSize, this option defines where to draw gaps
  95667. * in the graph.
  95668. *
  95669. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  95670. * if the distance between two points is greater than 5 times that of the
  95671. * two closest points, the graph will be broken.
  95672. *
  95673. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  95674. * values, which on a datetime axis is milliseconds. This also applies to
  95675. * the navigator series that inherits gap options from the base series.
  95676. */
  95677. gapUnit?: OptionsGapUnitValue;
  95678. /**
  95679. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  95680. * chart width or only the zoomed area when zooming in on parts of the X
  95681. * axis. By default, the Y axis adjusts to the min and max of the visible
  95682. * data. Cartesian series only.
  95683. */
  95684. getExtremesFromAll?: boolean;
  95685. /**
  95686. * (Highstock) When set to `false` will prevent the series data from being
  95687. * included in any form of data export.
  95688. *
  95689. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  95690. * `includeInCSVExport`.
  95691. */
  95692. includeInDataExport?: boolean;
  95693. /**
  95694. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  95695. * series as possible in a natural way, seeking to avoid other series. The
  95696. * goal of this feature is to make the chart more easily readable, like if a
  95697. * human designer placed the labels in the optimal position.
  95698. *
  95699. * The series labels currently work with series types having a `graph` or an
  95700. * `area`.
  95701. */
  95702. label?: SeriesLabelOptionsObject;
  95703. /**
  95704. * (Highstock) The line marks the last price from all points.
  95705. */
  95706. lastPrice?: SeriesLastPriceOptionsObject;
  95707. /**
  95708. * (Highstock) The line marks the last price from visible range of points.
  95709. */
  95710. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  95711. /**
  95712. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  95713. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  95714. * the ends and bends.
  95715. */
  95716. linecap?: SeriesLinecapValue;
  95717. /**
  95718. * (Highcharts, Highstock) Pixel width of the graph line.
  95719. */
  95720. lineWidth?: number;
  95721. /**
  95722. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  95723. * based on. Required for this indicator.
  95724. */
  95725. linkedTo?: string;
  95726. /**
  95727. * (Highstock) Options for the point markers of line-like series. Properties
  95728. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  95729. * appearance of the markers. Other series types, like column series, don't
  95730. * have markers, but have visual options on the series level instead.
  95731. *
  95732. * In styled mode, the markers can be styled with the `.highcharts-point`,
  95733. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  95734. */
  95735. marker?: PointMarkerOptionsObject;
  95736. /**
  95737. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  95738. * If not set, it will be based on a technical indicator type and default
  95739. * params.
  95740. */
  95741. name?: string;
  95742. /**
  95743. * (Highstock) The color for the parts of the graph or points that are below
  95744. * the threshold. Note that `zones` takes precedence over the negative
  95745. * color. Using `negativeColor` is equivalent to applying a zone with value
  95746. * of 0.
  95747. */
  95748. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  95749. /**
  95750. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  95751. * dataLabels.
  95752. */
  95753. opacity?: number;
  95754. /**
  95755. * (Highstock) Paramters used in calculation of regression series' points.
  95756. */
  95757. params?: PlotVwapParamsOptions;
  95758. /**
  95759. * (Highstock) Properties for each single point.
  95760. */
  95761. point?: PlotSeriesPointOptions;
  95762. /**
  95763. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  95764. * individual series. Overrides the chart wide configuration.
  95765. */
  95766. pointDescriptionFormatter?: Function;
  95767. /**
  95768. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  95769. * true, the checkbox next to the series name in the legend will be checked
  95770. * for a selected series.
  95771. */
  95772. selected?: boolean;
  95773. /**
  95774. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  95775. * the shadow can be an object configuration containing `color`, `offsetX`,
  95776. * `offsetY`, `opacity` and `width`.
  95777. */
  95778. shadow?: (boolean|ShadowOptionsObject);
  95779. /**
  95780. * (Highstock) If true, a checkbox is displayed next to the legend item to
  95781. * allow selecting the series. The state of the checkbox is determined by
  95782. * the `selected` option.
  95783. */
  95784. showCheckbox?: boolean;
  95785. /**
  95786. * (Highstock) Whether to display this particular series or series type in
  95787. * the legend. Standalone series are shown in legend by default, and linked
  95788. * series are not. Since v7.2.0 it is possible to show series that use
  95789. * colorAxis by setting this option to `true`.
  95790. */
  95791. showInLegend?: boolean;
  95792. /**
  95793. * (Highstock) If set to `true`, the accessibility module will skip past the
  95794. * points in this series for keyboard navigation.
  95795. */
  95796. skipKeyboardNavigation?: boolean;
  95797. /**
  95798. * (Highcharts, Highstock) When this is true, the series will not cause the
  95799. * Y axis to cross the zero plane (or threshold option) unless the data
  95800. * actually crosses the plane.
  95801. *
  95802. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  95803. * make the Y axis show negative values according to the `minPadding`
  95804. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  95805. */
  95806. softThreshold?: boolean;
  95807. states?: SeriesStatesOptionsObject;
  95808. /**
  95809. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  95810. * values are `left`, `center` and `right`.
  95811. */
  95812. step?: OptionsStepValue;
  95813. /**
  95814. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  95815. * event on a series isn't triggered until the mouse moves over another
  95816. * series, or out of the plot area. When false, the `mouseOut` event on a
  95817. * series is triggered when the mouse leaves the area around the series'
  95818. * graph or markers. This also implies the tooltip when not shared. When
  95819. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  95820. * be hidden when moving the mouse between series. Defaults to true for line
  95821. * and area type series, but to false for columns, pies etc.
  95822. *
  95823. * **Note:** The boost module will force this option because of technical
  95824. * limitations.
  95825. */
  95826. stickyTracking?: boolean;
  95827. /**
  95828. * (Highcharts, Highstock) The threshold, also called zero level or base
  95829. * level. For line type series this is only used in conjunction with
  95830. * negativeColor.
  95831. */
  95832. threshold?: number;
  95833. /**
  95834. * (Highstock) A configuration object for the tooltip rendering of each
  95835. * single series. Properties are inherited from tooltip, but only the
  95836. * following properties can be defined on a series level.
  95837. */
  95838. tooltip?: SeriesTooltipOptionsObject;
  95839. /**
  95840. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  95841. * is longer than this, only one dimensional arrays of numbers, or two
  95842. * dimensional arrays with x and y values are allowed. Also, only the first
  95843. * point is tested, and the rest are assumed to be the same format. This
  95844. * saves expensive data checking and indexing in long series. Set it to `0`
  95845. * disable.
  95846. *
  95847. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  95848. * two dimensional arrays are allowed.
  95849. */
  95850. turboThreshold?: number;
  95851. /**
  95852. * (Highstock) Set the initial visibility of the series.
  95853. */
  95854. visible?: boolean;
  95855. /**
  95856. * (Highmaps) Define the z index of the series.
  95857. */
  95858. zIndex?: number;
  95859. /**
  95860. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  95861. */
  95862. zoneAxis?: string;
  95863. /**
  95864. * (Highcharts, Highstock) An array defining zones within a series. Zones
  95865. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  95866. * the `zoneAxis` option. The zone definitions have to be in ascending order
  95867. * regarding to the value.
  95868. *
  95869. * In styled mode, the color zones are styled with the
  95870. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  95871. * option (view live demo).
  95872. */
  95873. zones?: Array<SeriesZonesOptionsObject>;
  95874. }
  95875. /**
  95876. * (Highstock) Paramters used in calculation of regression series' points.
  95877. */
  95878. export interface PlotVwapParamsOptions {
  95879. /**
  95880. * (Highstock) The base period for indicator calculations. This is the
  95881. * number of data points which are taken into account for the indicator
  95882. * calculations.
  95883. */
  95884. period?: number;
  95885. /**
  95886. * (Highstock) The id of volume series which is mandatory. For example using
  95887. * OHLC data, volumeSeriesID='volume' means the indicator will be calculated
  95888. * using OHLC and volume values.
  95889. */
  95890. volumeSeriesID?: string;
  95891. }
  95892. /**
  95893. * (Highcharts) Enable or disable the initial animation when a series is
  95894. * displayed. The animation can also be set as a configuration object. Please
  95895. * note that this option only applies to the initial animation of the series
  95896. * itself. For other animations, see chart.animation and the animation parameter
  95897. * under the API methods. The following properties are supported:
  95898. *
  95899. * - `defer`: The animation delay time in milliseconds.
  95900. *
  95901. * - `duration`: The duration of the animation in milliseconds.
  95902. *
  95903. * - `easing`: Can be a string reference to an easing function set on the `Math`
  95904. * object or a function. See the _Custom easing function_ demo below.
  95905. *
  95906. * Due to poor performance, animation is disabled in old IE browsers for several
  95907. * chart types.
  95908. */
  95909. export interface PlotWaterfallAnimationOptions {
  95910. defer?: number;
  95911. }
  95912. /**
  95913. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  95914. * animation when a series is displayed for the `dataLabels`. The animation can
  95915. * also be set as a configuration object. Please note that this option only
  95916. * applies to the initial animation. For other animations, see chart.animation
  95917. * and the animation parameter under the API methods. The following properties
  95918. * are supported:
  95919. *
  95920. * - `defer`: The animation delay time in milliseconds.
  95921. */
  95922. export interface PlotWaterfallDataLabelsAnimationOptions {
  95923. /**
  95924. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  95925. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  95926. * inherits defer time from the series.animation.defer.
  95927. */
  95928. defer?: number;
  95929. }
  95930. /**
  95931. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  95932. * appearing next to each data point.
  95933. *
  95934. * Since v6.2.0, multiple data labels can be applied to each single point by
  95935. * defining them as an array of configs.
  95936. *
  95937. * In styled mode, the data labels can be styled with the
  95938. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  95939. * example).
  95940. */
  95941. export interface PlotWaterfallDataLabelsOptions {
  95942. /**
  95943. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  95944. * compared to the point. If `right`, the right side of the label should be
  95945. * touching the point. For points with an extent, like columns, the
  95946. * alignments also dictates how to align it inside the box, as given with
  95947. * the inside option. Can be one of `left`, `center` or `right`.
  95948. */
  95949. align?: string;
  95950. /**
  95951. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  95952. * overlap. To make the labels less sensitive for overlapping, the
  95953. * dataLabels.padding can be set to 0.
  95954. */
  95955. allowOverlap?: boolean;
  95956. /**
  95957. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  95958. * animation when a series is displayed for the `dataLabels`. The animation
  95959. * can also be set as a configuration object. Please note that this option
  95960. * only applies to the initial animation. For other animations, see
  95961. * chart.animation and the animation parameter under the API methods. The
  95962. * following properties are supported:
  95963. *
  95964. * - `defer`: The animation delay time in milliseconds.
  95965. */
  95966. animation?: (boolean|PlotWaterfallDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  95967. /**
  95968. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  95969. * for the data label.
  95970. */
  95971. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  95972. /**
  95973. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  95974. * label. Defaults to `undefined`.
  95975. */
  95976. borderColor?: (ColorString|GradientColorObject|PatternObject);
  95977. /**
  95978. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  95979. * the data label.
  95980. */
  95981. borderRadius?: number;
  95982. /**
  95983. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  95984. * the data label.
  95985. */
  95986. borderWidth?: number;
  95987. /**
  95988. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  95989. * Particularly in styled mode, this can be used to give each series' or
  95990. * point's data label unique styling. In addition to this option, a default
  95991. * color class name is added so that we can give the labels a contrast text
  95992. * shadow.
  95993. */
  95994. className?: string;
  95995. /**
  95996. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  95997. * labels. Defaults to `undefined`. For certain series types, like column or
  95998. * map, the data labels can be drawn inside the points. In this case the
  95999. * data label will be drawn with maximum contrast by default. Additionally,
  96000. * it will be given a `text-outline` style with the opposite color, to
  96001. * further increase the contrast. This can be overridden by setting the
  96002. * `text-outline` style to `none` in the `dataLabels.style` option.
  96003. */
  96004. color?: (ColorString|GradientColorObject|PatternObject);
  96005. /**
  96006. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  96007. * are outside the plot area. By default, the data label is moved inside the
  96008. * plot area according to the overflow option.
  96009. */
  96010. crop?: boolean;
  96011. /**
  96012. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  96013. * labels until the initial series animation has finished. Setting to
  96014. * `false` renders the data label immediately. If set to `true` inherits the
  96015. * defer time set in plotOptions.series.animation.
  96016. */
  96017. defer?: boolean;
  96018. /**
  96019. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  96020. * labels.
  96021. */
  96022. enabled?: boolean;
  96023. /**
  96024. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  96025. * of which data labels to display. The declarative filter is designed for
  96026. * use when callback functions are not available, like when the chart
  96027. * options require a pure JSON structure or for use with graphical editors.
  96028. * For programmatic control, use the `formatter` instead, and return
  96029. * `undefined` to disable a single data label.
  96030. */
  96031. filter?: DataLabelsFilterOptionsObject;
  96032. /**
  96033. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  96034. * label. Available variables are the same as for `formatter`.
  96035. */
  96036. format?: string;
  96037. /**
  96038. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  96039. * format the data label. Note that if a `format` is defined, the format
  96040. * takes precedence and the formatter is ignored.
  96041. */
  96042. formatter?: DataLabelsFormatterCallbackFunction;
  96043. /**
  96044. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  96045. * columns or map areas, whether to align the data label inside the box or
  96046. * to the actual value point. Defaults to `false` in most cases, `true` in
  96047. * stacked columns.
  96048. */
  96049. inside?: boolean;
  96050. /**
  96051. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  96052. * of null. Works analogously to format. `nullFormat` can be applied only to
  96053. * series which support displaying null points.
  96054. */
  96055. nullFormat?: (boolean|string);
  96056. /**
  96057. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  96058. * that defines formatting for points with the value of null. Works
  96059. * analogously to formatter. `nullPointFormatter` can be applied only to
  96060. * series which support displaying null points.
  96061. */
  96062. nullFormatter?: DataLabelsFormatterCallbackFunction;
  96063. /**
  96064. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  96065. * flow outside the plot area. The default is `"justify"`, which aligns them
  96066. * inside the plot area. For columns and bars, this means it will be moved
  96067. * inside the bar. To display data labels outside the plot area, set `crop`
  96068. * to `false` and `overflow` to `"allow"`.
  96069. */
  96070. overflow?: DataLabelsOverflowValue;
  96071. /**
  96072. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  96073. * the `backgroundColor` is set, this is the padding within the box.
  96074. */
  96075. padding?: number;
  96076. /**
  96077. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  96078. * points. If `center` alignment is not possible, it defaults to `right`.
  96079. */
  96080. position?: AlignValue;
  96081. /**
  96082. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  96083. * that due to a more complex structure, backgrounds, borders and padding
  96084. * will be lost on a rotated data label.
  96085. */
  96086. rotation?: number;
  96087. /**
  96088. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  96089. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  96090. * an object configuration containing `color`, `offsetX`, `offsetY`,
  96091. * `opacity` and `width`.
  96092. */
  96093. shadow?: (boolean|ShadowOptionsObject);
  96094. /**
  96095. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  96096. * the border around the label. Symbols are predefined functions on the
  96097. * Renderer object.
  96098. */
  96099. shape?: string;
  96100. /**
  96101. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  96102. * default `color` setting is `"contrast"`, which is a pseudo color that
  96103. * Highcharts picks up and applies the maximum contrast to the underlying
  96104. * point item, for example the bar in a bar chart.
  96105. *
  96106. * The `textOutline` is a pseudo property that applies an outline of the
  96107. * given width with the given color, which by default is the maximum
  96108. * contrast to the text. So a bright text color will result in a black text
  96109. * outline for maximum readability on a mixed background. In some cases,
  96110. * especially with grayscale text, the text outline doesn't work well, in
  96111. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  96112. * is true, the `textOutline` will not be picked up. In this, case, the same
  96113. * effect can be acheived through the `text-shadow` CSS property.
  96114. *
  96115. * For some series types, where each point has an extent, like for example
  96116. * tree maps, the data label may overflow the point. There are two
  96117. * strategies for handling overflow. By default, the text will wrap to
  96118. * multiple lines. The other strategy is to set `style.textOverflow` to
  96119. * `ellipsis`, which will keep the text on one line plus it will break
  96120. * inside long words.
  96121. */
  96122. style?: CSSObject;
  96123. /**
  96124. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  96125. * should follow marker's shape. Border and background are disabled for a
  96126. * label that follows a path.
  96127. *
  96128. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  96129. * to true will disable this option.
  96130. */
  96131. textPath?: DataLabelsTextPathOptionsObject;
  96132. /**
  96133. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  96134. * the labels.
  96135. */
  96136. useHTML?: boolean;
  96137. /**
  96138. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  96139. * label. Can be one of `top`, `middle` or `bottom`. The default value
  96140. * depends on the data, for instance in a column chart, the label is above
  96141. * positive values and below negative values.
  96142. */
  96143. verticalAlign?: string;
  96144. /**
  96145. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  96146. * label relative to the point in pixels.
  96147. */
  96148. x?: number;
  96149. /**
  96150. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  96151. * label relative to the point in pixels.
  96152. */
  96153. y?: number;
  96154. /**
  96155. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  96156. * The default Z index puts it above the series. Use a Z index of 2 to
  96157. * display it behind the series.
  96158. */
  96159. z?: number;
  96160. }
  96161. /**
  96162. * (Highcharts, Highstock) Options for the series data sorting.
  96163. */
  96164. export interface PlotWaterfallDataSortingOptions {
  96165. /**
  96166. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  96167. * Use xAxis.reversed to change the sorting order.
  96168. */
  96169. enabled?: boolean;
  96170. /**
  96171. * (Highcharts, Highstock) Whether to allow matching points by name in an
  96172. * update. If this option is disabled, points will be matched by order.
  96173. */
  96174. matchByName?: boolean;
  96175. /**
  96176. * (Highcharts, Highstock) Determines what data value should be used to sort
  96177. * by.
  96178. */
  96179. sortKey?: string;
  96180. }
  96181. /**
  96182. * (Highcharts) Style options for the guide box. The guide box has one state by
  96183. * default, the `default` state.
  96184. */
  96185. export interface PlotWaterfallDragDropGuideBoxOptions {
  96186. /**
  96187. * (Highcharts) Style options for the guide box default state.
  96188. */
  96189. default?: DragDropGuideBoxOptionsObject;
  96190. }
  96191. /**
  96192. * (Highcharts) A waterfall chart displays sequentially introduced positive or
  96193. * negative values in cumulative columns.
  96194. *
  96195. * In TypeScript the type option must always be set.
  96196. *
  96197. * Configuration options for the series are given in three levels:
  96198. *
  96199. * 1. Options for all series in a chart are defined in the plotOptions.series
  96200. * object.
  96201. *
  96202. * 2. Options for all `waterfall` series are defined in plotOptions.waterfall.
  96203. *
  96204. * 3. Options for one single series are given in the series instance array. (see
  96205. * online documentation for example)
  96206. */
  96207. export interface PlotWaterfallOptions {
  96208. /**
  96209. * (Highcharts) Accessibility options for a series.
  96210. */
  96211. accessibility?: SeriesAccessibilityOptionsObject;
  96212. /**
  96213. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  96214. * rendered. If `true`, areas which don't correspond to a data point, are
  96215. * rendered as `null` points. If `false`, those areas are skipped.
  96216. */
  96217. allAreas?: boolean;
  96218. /**
  96219. * (Highcharts) Allow this series' points to be selected by clicking on the
  96220. * graphic (columns, point markers, pie slices, map areas etc).
  96221. *
  96222. * The selected points can be handled by point select and unselect events,
  96223. * or collectively by the getSelectedPoints function.
  96224. *
  96225. * And alternative way of selecting points is through dragging.
  96226. */
  96227. allowPointSelect?: boolean;
  96228. /**
  96229. * (Highcharts) Enable or disable the initial animation when a series is
  96230. * displayed. The animation can also be set as a configuration object.
  96231. * Please note that this option only applies to the initial animation of the
  96232. * series itself. For other animations, see chart.animation and the
  96233. * animation parameter under the API methods. The following properties are
  96234. * supported:
  96235. *
  96236. * - `defer`: The animation delay time in milliseconds.
  96237. *
  96238. * - `duration`: The duration of the animation in milliseconds.
  96239. *
  96240. * - `easing`: Can be a string reference to an easing function set on the
  96241. * `Math` object or a function. See the _Custom easing function_ demo below.
  96242. *
  96243. * Due to poor performance, animation is disabled in old IE browsers for
  96244. * several chart types.
  96245. */
  96246. animation?: (boolean|PlotWaterfallAnimationOptions|Partial<AnimationOptionsObject>);
  96247. /**
  96248. * (Highcharts) For some series, there is a limit that shuts down initial
  96249. * animation by default when the total number of points in the chart is too
  96250. * high. For example, for a column chart and its derivatives, animation does
  96251. * not run if there is more than 250 points totally. To disable this cap,
  96252. * set `animationLimit` to `Infinity`.
  96253. */
  96254. animationLimit?: number;
  96255. /**
  96256. * (Highcharts) The color of the border of each waterfall column.
  96257. *
  96258. * In styled mode, the border stroke can be set with the `.highcharts-point`
  96259. * class.
  96260. */
  96261. borderColor?: (ColorString|GradientColorObject|PatternObject);
  96262. /**
  96263. * (Highcharts, Highstock, Gantt) The corner radius of the border
  96264. * surrounding each column or bar.
  96265. */
  96266. borderRadius?: number;
  96267. /**
  96268. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  96269. * column or bar. Defaults to `1` when there is room for a border, but to
  96270. * `0` when the columns are so dense that a border would cover the next
  96271. * column.
  96272. *
  96273. * In styled mode, the stroke width can be set with the `.highcharts-point`
  96274. * rule.
  96275. */
  96276. borderWidth?: number;
  96277. /**
  96278. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  96279. * the category, ignoring null or missing points. When `false`, space will
  96280. * be reserved for null or missing points.
  96281. */
  96282. centerInCategory?: boolean;
  96283. /**
  96284. * (Highcharts) An additional class name to apply to the series' graphical
  96285. * elements. This option does not replace default class names of the
  96286. * graphical element.
  96287. */
  96288. className?: string;
  96289. /**
  96290. * (Highcharts) Disable this option to allow series rendering in the whole
  96291. * plotting area.
  96292. *
  96293. * **Note:** Clipping should be always enabled when chart.zoomType is set
  96294. */
  96295. clip?: boolean;
  96296. /**
  96297. * (Highcharts) The main color of the series. In line type series it applies
  96298. * to the line and the point markers unless otherwise specified. In bar type
  96299. * series it applies to the bars unless a color is specified per point. The
  96300. * default value is pulled from the `options.colors` array.
  96301. *
  96302. * In styled mode, the color can be defined by the colorIndex option. Also,
  96303. * the series color can be set with the `.highcharts-series`,
  96304. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  96305. * `.highcharts-series-{n}` class, or individual classes given by the
  96306. * `className` option.
  96307. */
  96308. color?: (ColorString|GradientColorObject|PatternObject);
  96309. /**
  96310. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  96311. * this number defines which colorAxis the particular series is connected
  96312. * to. It refers to either the axis id or the index of the axis in the
  96313. * colorAxis array, with 0 being the first. Set this option to false to
  96314. * prevent a series from connecting to the default color axis.
  96315. *
  96316. * Since v7.2.0 the option can also be an axis id or an axis index instead
  96317. * of a boolean flag.
  96318. */
  96319. colorAxis?: (boolean|number|string);
  96320. /**
  96321. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  96322. * from the global colors or series-specific plotOptions.column.colors
  96323. * collections, this option determines whether the chart should receive one
  96324. * color per series or one color per point.
  96325. *
  96326. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  96327. * and instead this option gives the points individual color class names on
  96328. * the form `highcharts-color-{n}`.
  96329. */
  96330. colorByPoint?: boolean;
  96331. /**
  96332. * (Highcharts) Styled mode only. A specific color index to use for the
  96333. * series, so its graphic representations are given the class name
  96334. * `highcharts-color-{n}`.
  96335. */
  96336. colorIndex?: number;
  96337. /**
  96338. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  96339. * used to calculate point color if `colorAxis` is used. Requires to set
  96340. * `min` and `max` if some custom point property is used or if approximation
  96341. * for data grouping is set to `'sum'`.
  96342. */
  96343. colorKey?: string;
  96344. /**
  96345. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  96346. * color set to apply instead of the global colors when colorByPoint is
  96347. * true.
  96348. */
  96349. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  96350. /**
  96351. * (Highstock) Compare the values of the series against the first non-null,
  96352. * non- zero value in the visible range. The y axis will show percentage or
  96353. * absolute change depending on whether `compare` is set to `"percent"` or
  96354. * `"value"`. When this is applied to multiple series, it allows comparing
  96355. * the development of the series against each other. Adds a `change` field
  96356. * to every point object.
  96357. */
  96358. compare?: string;
  96359. /**
  96360. * (Highstock) When compare is `percent`, this option dictates whether to
  96361. * use 0 or 100 as the base of comparison.
  96362. */
  96363. compareBase?: (0|100);
  96364. /**
  96365. * (Highstock) Defines if comparison should start from the first point
  96366. * within the visible range or should start from the first point **before**
  96367. * the range.
  96368. *
  96369. * In other words, this flag determines if first point within the visible
  96370. * range will have 0% (`compareStart=true`) or should have been already
  96371. * calculated according to the previous point (`compareStart=false`).
  96372. */
  96373. compareStart?: boolean;
  96374. /**
  96375. * (Gantt) Override Pathfinder connector options for a series. Requires
  96376. * Highcharts Gantt to be loaded.
  96377. */
  96378. connectors?: SeriesConnectorsOptionsObject;
  96379. /**
  96380. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  96381. * rounded to its nearest pixel in order to render sharp on screen. In some
  96382. * cases, when there are a lot of densely packed columns, this leads to
  96383. * visible difference in column widths or distance between columns. In these
  96384. * cases, setting `crisp` to `false` may look better, even though each
  96385. * column is rendered blurry.
  96386. */
  96387. crisp?: boolean;
  96388. /**
  96389. * (Highcharts, Highstock, Gantt) When the series contains less points than
  96390. * the crop threshold, all points are drawn, event if the points fall
  96391. * outside the visible plot area at the current zoom. The advantage of
  96392. * drawing all points (including markers and columns), is that animation is
  96393. * performed on updates. On the other hand, when the series contains more
  96394. * points than the crop threshold, the series data is cropped to only
  96395. * contain points that fall within the plot area. The advantage of cropping
  96396. * away invisible points is to increase performance on large series.
  96397. */
  96398. cropThreshold?: number;
  96399. /**
  96400. * (Highcharts) You can set the cursor to "pointer" if you have click events
  96401. * attached to the series, to signal to the user that the points and lines
  96402. * can be clicked.
  96403. *
  96404. * In styled mode, the series cursor can be set with the same classes as
  96405. * listed under series.color.
  96406. */
  96407. cursor?: (string|CursorValue);
  96408. /**
  96409. * (Highcharts) A reserved subspace to store options and values for
  96410. * customized functionality. Here you can add additional data for your own
  96411. * event callbacks and formatter callbacks.
  96412. */
  96413. custom?: Dictionary<any>;
  96414. /**
  96415. * (Highcharts) A name for the dash style to use for the line connecting the
  96416. * columns of the waterfall series. Possible values: Dash, DashDot, Dot,
  96417. * LongDash, LongDashDot, LongDashDotDot, ShortDash, ShortDashDot,
  96418. * ShortDashDotDot, ShortDot, Solid
  96419. *
  96420. * In styled mode, the stroke dash-array can be set with the
  96421. * `.highcharts-graph` class.
  96422. */
  96423. dashStyle?: DashStyleValue;
  96424. /**
  96425. * (Highstock) Data grouping is the concept of sampling the data values into
  96426. * larger blocks in order to ease readability and increase performance of
  96427. * the JavaScript charts. Highstock by default applies data grouping when
  96428. * the points become closer than a certain pixel value, determined by the
  96429. * `groupPixelWidth` option.
  96430. *
  96431. * If data grouping is applied, the grouping information of grouped points
  96432. * can be read from the Point.dataGroup. If point options other than the
  96433. * data itself are set, for example `name` or `color` or custom properties,
  96434. * the grouping logic doesn't know how to group it. In this case the options
  96435. * of the first point instance are copied over to the group point. This can
  96436. * be altered through a custom `approximation` callback function.
  96437. */
  96438. dataGrouping?: DataGroupingOptionsObject;
  96439. /**
  96440. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  96441. * labels, appearing next to each data point.
  96442. *
  96443. * Since v6.2.0, multiple data labels can be applied to each single point by
  96444. * defining them as an array of configs.
  96445. *
  96446. * In styled mode, the data labels can be styled with the
  96447. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  96448. * (see example).
  96449. */
  96450. dataLabels?: (PlotWaterfallDataLabelsOptions|Array<PlotWaterfallDataLabelsOptions>);
  96451. /**
  96452. * (Highcharts, Highstock) Options for the series data sorting.
  96453. */
  96454. dataSorting?: (DataSortingOptionsObject|PlotWaterfallDataSortingOptions);
  96455. /**
  96456. * (Highcharts) Depth of the columns in a 3D column chart.
  96457. */
  96458. depth?: number;
  96459. /**
  96460. * (Highcharts) A description of the series to add to the screen reader
  96461. * information about the series.
  96462. */
  96463. description?: string;
  96464. /**
  96465. * (Highcharts) The draggable-points module allows points to be moved around
  96466. * or modified in the chart. In addition to the options mentioned under the
  96467. * `dragDrop` API structure, the module fires three events, point.dragStart,
  96468. * point.drag and point.drop.
  96469. */
  96470. dragDrop?: SeriesDragDropOptionsObject;
  96471. /**
  96472. * (Highcharts) 3D columns only. The color of the edges. Similar to
  96473. * `borderColor`, except it defaults to the same color as the column.
  96474. */
  96475. edgeColor?: ColorString;
  96476. /**
  96477. * (Highcharts) 3D columns only. The width of the colored edges.
  96478. */
  96479. edgeWidth?: number;
  96480. /**
  96481. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  96482. * This includes point tooltips and click events on graphs and points. For
  96483. * large datasets it improves performance.
  96484. */
  96485. enableMouseTracking?: boolean;
  96486. /**
  96487. * (Highcharts) General event handlers for the series items. These event
  96488. * hooks can also be attached to the series at run time using the
  96489. * `Highcharts.addEvent` function.
  96490. */
  96491. events?: SeriesEventsOptionsObject;
  96492. /**
  96493. * (Highcharts) Determines whether the series should look for the nearest
  96494. * point in both dimensions or just the x-dimension when hovering the
  96495. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  96496. * series. If the data has duplicate x-values, it is recommended to set this
  96497. * to `'xy'` to allow hovering over all points.
  96498. *
  96499. * Applies only to series types using nearest neighbor search (not direct
  96500. * hover) for tooltip.
  96501. */
  96502. findNearestPointBy?: OptionsFindNearestPointByValue;
  96503. /**
  96504. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  96505. * chart width or only the zoomed area when zooming in on parts of the X
  96506. * axis. By default, the Y axis adjusts to the min and max of the visible
  96507. * data. Cartesian series only.
  96508. */
  96509. getExtremesFromAll?: boolean;
  96510. /**
  96511. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  96512. * let them render independent of each other. Non-grouped columns will be
  96513. * laid out individually and overlap each other.
  96514. */
  96515. grouping?: boolean;
  96516. /**
  96517. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  96518. * axis units.
  96519. */
  96520. groupPadding?: number;
  96521. /**
  96522. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  96523. */
  96524. groupZPadding?: number;
  96525. /**
  96526. * (Highcharts) When set to `false` will prevent the series data from being
  96527. * included in any form of data export.
  96528. *
  96529. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  96530. * `includeInCSVExport`.
  96531. */
  96532. includeInDataExport?: boolean;
  96533. /**
  96534. * (Highmaps) What property to join the `mapData` to the value data. For
  96535. * example, if joinBy is "code", the mapData items with a specific code is
  96536. * merged into the data with the same code. For maps loaded from GeoJSON,
  96537. * the keys may be held in each point's `properties` object.
  96538. *
  96539. * The joinBy option can also be an array of two values, where the first
  96540. * points to a key in the `mapData`, and the second points to another key in
  96541. * the `data`.
  96542. *
  96543. * When joinBy is `null`, the map items are joined by their position in the
  96544. * array, which performs much better in maps with many data points. This is
  96545. * the recommended option if you are printing more than a thousand data
  96546. * points and have a backend that can preprocess the data into a parallel
  96547. * array of the mapData.
  96548. */
  96549. joinBy?: (string|Array<string>);
  96550. /**
  96551. * (Highcharts) An array specifying which option maps to which key in the
  96552. * data point array. This makes it convenient to work with unstructured data
  96553. * arrays from different sources.
  96554. */
  96555. keys?: Array<string>;
  96556. /**
  96557. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  96558. * series as possible in a natural way, seeking to avoid other series. The
  96559. * goal of this feature is to make the chart more easily readable, like if a
  96560. * human designer placed the labels in the optimal position.
  96561. *
  96562. * The series labels currently work with series types having a `graph` or an
  96563. * `area`.
  96564. */
  96565. label?: SeriesLabelOptionsObject;
  96566. /**
  96567. * (Highstock) The line marks the last price from all points.
  96568. */
  96569. lastPrice?: SeriesLastPriceOptionsObject;
  96570. /**
  96571. * (Highstock) The line marks the last price from visible range of points.
  96572. */
  96573. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  96574. /**
  96575. * (Highcharts) The color of the line that connects columns in a waterfall
  96576. * series.
  96577. *
  96578. * In styled mode, the stroke can be set with the `.highcharts-graph` class.
  96579. */
  96580. lineColor?: (ColorString|GradientColorObject|PatternObject);
  96581. /**
  96582. * (Highcharts) The width of the line connecting waterfall columns.
  96583. */
  96584. lineWidth?: number;
  96585. /**
  96586. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  96587. * Additionally, the value can be ":previous" to link to the previous
  96588. * series. When two series are linked, only the first one appears in the
  96589. * legend. Toggling the visibility of this also toggles the linked series.
  96590. *
  96591. * If master series uses data sorting and linked series does not have its
  96592. * own sorting definition, the linked series will be sorted in the same
  96593. * order as the master one.
  96594. */
  96595. linkedTo?: string;
  96596. /**
  96597. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  96598. * column, translated to the height of a bar in a bar chart. This prevents
  96599. * the columns from becoming too wide when there is a small number of points
  96600. * in the chart.
  96601. */
  96602. maxPointWidth?: number;
  96603. /**
  96604. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  96605. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  96606. * to zero) point, set the minimal point length to a pixel value like 3\. In
  96607. * stacked column charts, minPointLength might not be respected for tightly
  96608. * packed values.
  96609. */
  96610. minPointLength?: number;
  96611. /**
  96612. * (Highstock) Options for the corresponding navigator series if
  96613. * `showInNavigator` is `true` for this series. Available options are the
  96614. * same as any series, documented at plotOptions and series.
  96615. *
  96616. * These options are merged with options in navigator.series, and will take
  96617. * precedence if the same option is defined both places.
  96618. */
  96619. navigatorOptions?: PlotSeriesOptions;
  96620. /**
  96621. * (Highcharts) The color for the parts of the graph or points that are
  96622. * below the threshold. Note that `zones` takes precedence over the negative
  96623. * color. Using `negativeColor` is equivalent to applying a zone with value
  96624. * of 0.
  96625. */
  96626. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  96627. /**
  96628. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  96629. * dataLabels.
  96630. */
  96631. opacity?: number;
  96632. /**
  96633. * (Highcharts) Properties for each single point.
  96634. */
  96635. point?: PlotSeriesPointOptions;
  96636. /**
  96637. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  96638. * individual series. Overrides the chart wide configuration.
  96639. */
  96640. pointDescriptionFormatter?: Function;
  96641. /**
  96642. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  96643. * a series, `pointInterval` defines the interval of the x values. For
  96644. * example, if a series contains one value every decade starting from year
  96645. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  96646. * `pointInterval` is set in milliseconds.
  96647. *
  96648. * It can be also be combined with `pointIntervalUnit` to draw irregular
  96649. * time intervals.
  96650. *
  96651. * Please note that this options applies to the _series data_, not the
  96652. * interval of the axis ticks, which is independent.
  96653. */
  96654. pointInterval?: number;
  96655. /**
  96656. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  96657. * setting the pointInterval to irregular time units, `day`, `month` and
  96658. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  96659. * also takes the DST crossover into consideration when dealing with local
  96660. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  96661. * months, 10 years etc.
  96662. *
  96663. * Please note that this options applies to the _series data_, not the
  96664. * interval of the axis ticks, which is independent.
  96665. */
  96666. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  96667. /**
  96668. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  96669. * axis units.
  96670. */
  96671. pointPadding?: number;
  96672. /**
  96673. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  96674. * `number`.
  96675. *
  96676. * In a column chart, when pointPlacement is `"on"`, the point will not
  96677. * create any padding of the X axis. In a polar column chart this means that
  96678. * the first column points directly north. If the pointPlacement is
  96679. * `"between"`, the columns will be laid out between ticks. This is useful
  96680. * for example for visualising an amount between two points in time or in a
  96681. * certain sector of a polar chart.
  96682. *
  96683. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  96684. * is on the axis value, -0.5 is between this value and the previous, and
  96685. * 0.5 is between this value and the next. Unlike the textual options,
  96686. * numeric point placement options won't affect axis padding.
  96687. *
  96688. * Note that pointPlacement needs a pointRange to work. For column series
  96689. * this is computed, but for line-type series it needs to be set.
  96690. *
  96691. * For the `xrange` series type and gantt charts, if the Y axis is a
  96692. * category axis, the `pointPlacement` applies to the Y axis rather than the
  96693. * (typically datetime) X axis.
  96694. *
  96695. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  96696. */
  96697. pointPlacement?: (number|string);
  96698. /**
  96699. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  96700. * for. This determines the width of the column. On a categorized axis, the
  96701. * range will be 1 by default (one category unit). On linear and datetime
  96702. * axes, the range will be computed as the distance between the two closest
  96703. * data points.
  96704. *
  96705. * The default `null` means it is computed automatically, but this option
  96706. * can be used to override the automatic value.
  96707. *
  96708. * This option is set by default to 1 if data sorting is enabled.
  96709. */
  96710. pointRange?: (number|null);
  96711. /**
  96712. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  96713. * a series, pointStart defines on what value to start. For example, if a
  96714. * series contains one yearly value starting from 1945, set pointStart to
  96715. * 1945.
  96716. */
  96717. pointStart?: number;
  96718. /**
  96719. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  96720. * each column or bar point. When `null`, the width is calculated from the
  96721. * `pointPadding` and `groupPadding`. The width effects the dimension that
  96722. * is not based on the point value. For column series it is the hoizontal
  96723. * length and for bar series it is the vertical length.
  96724. */
  96725. pointWidth?: number;
  96726. /**
  96727. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  96728. * true, the checkbox next to the series name in the legend will be checked
  96729. * for a selected series.
  96730. */
  96731. selected?: boolean;
  96732. /**
  96733. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  96734. * the shadow can be an object configuration containing `color`, `offsetX`,
  96735. * `offsetY`, `opacity` and `width`.
  96736. */
  96737. shadow?: (boolean|ShadowOptionsObject);
  96738. /**
  96739. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  96740. * allow selecting the series. The state of the checkbox is determined by
  96741. * the `selected` option.
  96742. */
  96743. showCheckbox?: boolean;
  96744. /**
  96745. * (Highcharts) Whether to display this particular series or series type in
  96746. * the legend. Standalone series are shown in legend by default, and linked
  96747. * series are not. Since v7.2.0 it is possible to show series that use
  96748. * colorAxis by setting this option to `true`.
  96749. */
  96750. showInLegend?: boolean;
  96751. /**
  96752. * (Highstock) Whether or not to show the series in the navigator. Takes
  96753. * precedence over navigator.baseSeries if defined.
  96754. */
  96755. showInNavigator?: boolean;
  96756. /**
  96757. * (Highcharts) If set to `true`, the accessibility module will skip past
  96758. * the points in this series for keyboard navigation.
  96759. */
  96760. skipKeyboardNavigation?: boolean;
  96761. /**
  96762. * (Highcharts, Highstock) When this is true, the series will not cause the
  96763. * Y axis to cross the zero plane (or threshold option) unless the data
  96764. * actually crosses the plane.
  96765. *
  96766. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  96767. * make the Y axis show negative values according to the `minPadding`
  96768. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  96769. */
  96770. softThreshold?: boolean;
  96771. /**
  96772. * (Highcharts, Highstock) Whether to stack the values of each series on top
  96773. * of each other. Possible values are `undefined` to disable, `"normal"` to
  96774. * stack by value or `"percent"`.
  96775. *
  96776. * When stacking is enabled, data must be sorted in ascending X order.
  96777. *
  96778. * Some stacking options are related to specific series types. In the
  96779. * streamgraph series type, the stacking option is set to `"stream"`. The
  96780. * second one is `"overlap"`, which only applies to waterfall series.
  96781. */
  96782. stacking?: OptionsStackingValue;
  96783. states?: SeriesStatesOptionsObject;
  96784. /**
  96785. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  96786. * event on a series isn't triggered until the mouse moves over another
  96787. * series, or out of the plot area. When false, the `mouseOut` event on a
  96788. * series is triggered when the mouse leaves the area around the series'
  96789. * graph or markers. This also implies the tooltip when not shared. When
  96790. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  96791. * be hidden when moving the mouse between series. Defaults to true for line
  96792. * and area type series, but to false for columns, pies etc.
  96793. *
  96794. * **Note:** The boost module will force this option because of technical
  96795. * limitations.
  96796. */
  96797. stickyTracking?: boolean;
  96798. /**
  96799. * (Highcharts) The Y axis value to serve as the base for the columns, for
  96800. * distinguishing between values above and below a threshold. If `null`, the
  96801. * columns extend from the padding Y axis minimum.
  96802. */
  96803. threshold?: (number|null);
  96804. /**
  96805. * (Highcharts) A configuration object for the tooltip rendering of each
  96806. * single series. Properties are inherited from tooltip, but only the
  96807. * following properties can be defined on a series level.
  96808. */
  96809. tooltip?: SeriesTooltipOptionsObject;
  96810. /**
  96811. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  96812. * is longer than this, only one dimensional arrays of numbers, or two
  96813. * dimensional arrays with x and y values are allowed. Also, only the first
  96814. * point is tested, and the rest are assumed to be the same format. This
  96815. * saves expensive data checking and indexing in long series. Set it to `0`
  96816. * disable.
  96817. *
  96818. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  96819. * two dimensional arrays are allowed.
  96820. */
  96821. turboThreshold?: number;
  96822. /**
  96823. * (Highcharts) The color used specifically for positive point columns. When
  96824. * not specified, the general series color is used.
  96825. *
  96826. * In styled mode, the waterfall colors can be set with the
  96827. * `.highcharts-point-negative`, `.highcharts-sum` and
  96828. * `.highcharts-intermediate-sum` classes.
  96829. */
  96830. upColor?: (ColorString|GradientColorObject|PatternObject);
  96831. /**
  96832. * (Highcharts) Set the initial visibility of the series.
  96833. */
  96834. visible?: boolean;
  96835. /**
  96836. * (Highmaps) Define the z index of the series.
  96837. */
  96838. zIndex?: number;
  96839. /**
  96840. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  96841. */
  96842. zoneAxis?: string;
  96843. /**
  96844. * (Highcharts, Highstock) An array defining zones within a series. Zones
  96845. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  96846. * the `zoneAxis` option. The zone definitions have to be in ascending order
  96847. * regarding to the value.
  96848. *
  96849. * In styled mode, the color zones are styled with the
  96850. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  96851. * option (view live demo).
  96852. */
  96853. zones?: Array<SeriesZonesOptionsObject>;
  96854. }
  96855. /**
  96856. * (Highstock) Enable or disable the initial animation when a series is
  96857. * displayed. The animation can also be set as a configuration object. Please
  96858. * note that this option only applies to the initial animation of the series
  96859. * itself. For other animations, see chart.animation and the animation parameter
  96860. * under the API methods. The following properties are supported:
  96861. *
  96862. * - `defer`: The animation delay time in milliseconds.
  96863. *
  96864. * - `duration`: The duration of the animation in milliseconds.
  96865. *
  96866. * - `easing`: Can be a string reference to an easing function set on the `Math`
  96867. * object or a function. See the _Custom easing function_ demo below.
  96868. *
  96869. * Due to poor performance, animation is disabled in old IE browsers for several
  96870. * chart types.
  96871. */
  96872. export interface PlotWilliamsrAnimationOptions {
  96873. defer?: number;
  96874. }
  96875. /**
  96876. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  96877. * animation when a series is displayed for the `dataLabels`. The animation can
  96878. * also be set as a configuration object. Please note that this option only
  96879. * applies to the initial animation. For other animations, see chart.animation
  96880. * and the animation parameter under the API methods. The following properties
  96881. * are supported:
  96882. *
  96883. * - `defer`: The animation delay time in milliseconds.
  96884. */
  96885. export interface PlotWilliamsrDataLabelsAnimationOptions {
  96886. /**
  96887. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  96888. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  96889. * inherits defer time from the series.animation.defer.
  96890. */
  96891. defer?: number;
  96892. }
  96893. /**
  96894. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  96895. * appearing next to each data point.
  96896. *
  96897. * Since v6.2.0, multiple data labels can be applied to each single point by
  96898. * defining them as an array of configs.
  96899. *
  96900. * In styled mode, the data labels can be styled with the
  96901. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  96902. * example).
  96903. */
  96904. export interface PlotWilliamsrDataLabelsOptions {
  96905. /**
  96906. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  96907. * compared to the point. If `right`, the right side of the label should be
  96908. * touching the point. For points with an extent, like columns, the
  96909. * alignments also dictates how to align it inside the box, as given with
  96910. * the inside option. Can be one of `left`, `center` or `right`.
  96911. */
  96912. align?: (AlignValue|null);
  96913. /**
  96914. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  96915. * overlap. To make the labels less sensitive for overlapping, the
  96916. * dataLabels.padding can be set to 0.
  96917. */
  96918. allowOverlap?: boolean;
  96919. /**
  96920. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  96921. * animation when a series is displayed for the `dataLabels`. The animation
  96922. * can also be set as a configuration object. Please note that this option
  96923. * only applies to the initial animation. For other animations, see
  96924. * chart.animation and the animation parameter under the API methods. The
  96925. * following properties are supported:
  96926. *
  96927. * - `defer`: The animation delay time in milliseconds.
  96928. */
  96929. animation?: (boolean|PlotWilliamsrDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  96930. /**
  96931. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  96932. * for the data label.
  96933. */
  96934. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  96935. /**
  96936. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  96937. * label. Defaults to `undefined`.
  96938. */
  96939. borderColor?: (ColorString|GradientColorObject|PatternObject);
  96940. /**
  96941. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  96942. * the data label.
  96943. */
  96944. borderRadius?: number;
  96945. /**
  96946. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  96947. * the data label.
  96948. */
  96949. borderWidth?: number;
  96950. /**
  96951. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  96952. * Particularly in styled mode, this can be used to give each series' or
  96953. * point's data label unique styling. In addition to this option, a default
  96954. * color class name is added so that we can give the labels a contrast text
  96955. * shadow.
  96956. */
  96957. className?: string;
  96958. /**
  96959. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  96960. * labels. Defaults to `undefined`. For certain series types, like column or
  96961. * map, the data labels can be drawn inside the points. In this case the
  96962. * data label will be drawn with maximum contrast by default. Additionally,
  96963. * it will be given a `text-outline` style with the opposite color, to
  96964. * further increase the contrast. This can be overridden by setting the
  96965. * `text-outline` style to `none` in the `dataLabels.style` option.
  96966. */
  96967. color?: (ColorString|GradientColorObject|PatternObject);
  96968. /**
  96969. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  96970. * are outside the plot area. By default, the data label is moved inside the
  96971. * plot area according to the overflow option.
  96972. */
  96973. crop?: boolean;
  96974. /**
  96975. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  96976. * labels until the initial series animation has finished. Setting to
  96977. * `false` renders the data label immediately. If set to `true` inherits the
  96978. * defer time set in plotOptions.series.animation.
  96979. */
  96980. defer?: boolean;
  96981. /**
  96982. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  96983. * labels.
  96984. */
  96985. enabled?: boolean;
  96986. /**
  96987. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  96988. * of which data labels to display. The declarative filter is designed for
  96989. * use when callback functions are not available, like when the chart
  96990. * options require a pure JSON structure or for use with graphical editors.
  96991. * For programmatic control, use the `formatter` instead, and return
  96992. * `undefined` to disable a single data label.
  96993. */
  96994. filter?: DataLabelsFilterOptionsObject;
  96995. /**
  96996. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  96997. * label. Available variables are the same as for `formatter`.
  96998. */
  96999. format?: string;
  97000. /**
  97001. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  97002. * format the data label. Note that if a `format` is defined, the format
  97003. * takes precedence and the formatter is ignored.
  97004. */
  97005. formatter?: DataLabelsFormatterCallbackFunction;
  97006. /**
  97007. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  97008. * columns or map areas, whether to align the data label inside the box or
  97009. * to the actual value point. Defaults to `false` in most cases, `true` in
  97010. * stacked columns.
  97011. */
  97012. inside?: boolean;
  97013. /**
  97014. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  97015. * of null. Works analogously to format. `nullFormat` can be applied only to
  97016. * series which support displaying null points.
  97017. */
  97018. nullFormat?: (boolean|string);
  97019. /**
  97020. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  97021. * that defines formatting for points with the value of null. Works
  97022. * analogously to formatter. `nullPointFormatter` can be applied only to
  97023. * series which support displaying null points.
  97024. */
  97025. nullFormatter?: DataLabelsFormatterCallbackFunction;
  97026. /**
  97027. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  97028. * flow outside the plot area. The default is `"justify"`, which aligns them
  97029. * inside the plot area. For columns and bars, this means it will be moved
  97030. * inside the bar. To display data labels outside the plot area, set `crop`
  97031. * to `false` and `overflow` to `"allow"`.
  97032. */
  97033. overflow?: DataLabelsOverflowValue;
  97034. /**
  97035. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  97036. * the `backgroundColor` is set, this is the padding within the box.
  97037. */
  97038. padding?: number;
  97039. /**
  97040. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  97041. * points. If `center` alignment is not possible, it defaults to `right`.
  97042. */
  97043. position?: AlignValue;
  97044. /**
  97045. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  97046. * that due to a more complex structure, backgrounds, borders and padding
  97047. * will be lost on a rotated data label.
  97048. */
  97049. rotation?: number;
  97050. /**
  97051. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  97052. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  97053. * an object configuration containing `color`, `offsetX`, `offsetY`,
  97054. * `opacity` and `width`.
  97055. */
  97056. shadow?: (boolean|ShadowOptionsObject);
  97057. /**
  97058. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  97059. * the border around the label. Symbols are predefined functions on the
  97060. * Renderer object.
  97061. */
  97062. shape?: string;
  97063. /**
  97064. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  97065. * default `color` setting is `"contrast"`, which is a pseudo color that
  97066. * Highcharts picks up and applies the maximum contrast to the underlying
  97067. * point item, for example the bar in a bar chart.
  97068. *
  97069. * The `textOutline` is a pseudo property that applies an outline of the
  97070. * given width with the given color, which by default is the maximum
  97071. * contrast to the text. So a bright text color will result in a black text
  97072. * outline for maximum readability on a mixed background. In some cases,
  97073. * especially with grayscale text, the text outline doesn't work well, in
  97074. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  97075. * is true, the `textOutline` will not be picked up. In this, case, the same
  97076. * effect can be acheived through the `text-shadow` CSS property.
  97077. *
  97078. * For some series types, where each point has an extent, like for example
  97079. * tree maps, the data label may overflow the point. There are two
  97080. * strategies for handling overflow. By default, the text will wrap to
  97081. * multiple lines. The other strategy is to set `style.textOverflow` to
  97082. * `ellipsis`, which will keep the text on one line plus it will break
  97083. * inside long words.
  97084. */
  97085. style?: CSSObject;
  97086. /**
  97087. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  97088. * should follow marker's shape. Border and background are disabled for a
  97089. * label that follows a path.
  97090. *
  97091. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  97092. * to true will disable this option.
  97093. */
  97094. textPath?: DataLabelsTextPathOptionsObject;
  97095. /**
  97096. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  97097. * the labels.
  97098. */
  97099. useHTML?: boolean;
  97100. /**
  97101. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  97102. * label. Can be one of `top`, `middle` or `bottom`. The default value
  97103. * depends on the data, for instance in a column chart, the label is above
  97104. * positive values and below negative values.
  97105. */
  97106. verticalAlign?: (VerticalAlignValue|null);
  97107. /**
  97108. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  97109. * label relative to the point in pixels.
  97110. */
  97111. x?: number;
  97112. /**
  97113. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  97114. * label relative to the point in pixels.
  97115. */
  97116. y?: number;
  97117. /**
  97118. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  97119. * The default Z index puts it above the series. Use a Z index of 2 to
  97120. * display it behind the series.
  97121. */
  97122. z?: number;
  97123. }
  97124. /**
  97125. * (Highcharts, Highstock) Options for the series data sorting.
  97126. */
  97127. export interface PlotWilliamsrDataSortingOptions {
  97128. /**
  97129. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  97130. * Use xAxis.reversed to change the sorting order.
  97131. */
  97132. enabled?: boolean;
  97133. /**
  97134. * (Highcharts, Highstock) Whether to allow matching points by name in an
  97135. * update. If this option is disabled, points will be matched by order.
  97136. */
  97137. matchByName?: boolean;
  97138. /**
  97139. * (Highcharts, Highstock) Determines what data value should be used to sort
  97140. * by.
  97141. */
  97142. sortKey?: string;
  97143. }
  97144. /**
  97145. * (Highstock) Williams %R. This series requires the `linkedTo` option to be set
  97146. * and should be loaded after the `stock/indicators/indicators.js`.
  97147. *
  97148. * In TypeScript the type option must always be set.
  97149. *
  97150. * Configuration options for the series are given in three levels:
  97151. *
  97152. * 1. Options for all series in a chart are defined in the plotOptions.series
  97153. * object.
  97154. *
  97155. * 2. Options for all `williamsr` series are defined in plotOptions.williamsr.
  97156. *
  97157. * 3. Options for one single series are given in the series instance array. (see
  97158. * online documentation for example)
  97159. */
  97160. export interface PlotWilliamsrOptions {
  97161. /**
  97162. * (Highstock) Accessibility options for a series.
  97163. */
  97164. accessibility?: SeriesAccessibilityOptionsObject;
  97165. /**
  97166. * (Highstock) Allow this series' points to be selected by clicking on the
  97167. * graphic (columns, point markers, pie slices, map areas etc).
  97168. *
  97169. * The selected points can be handled by point select and unselect events,
  97170. * or collectively by the getSelectedPoints function.
  97171. *
  97172. * And alternative way of selecting points is through dragging.
  97173. */
  97174. allowPointSelect?: boolean;
  97175. /**
  97176. * (Highstock) Enable or disable the initial animation when a series is
  97177. * displayed. The animation can also be set as a configuration object.
  97178. * Please note that this option only applies to the initial animation of the
  97179. * series itself. For other animations, see chart.animation and the
  97180. * animation parameter under the API methods. The following properties are
  97181. * supported:
  97182. *
  97183. * - `defer`: The animation delay time in milliseconds.
  97184. *
  97185. * - `duration`: The duration of the animation in milliseconds.
  97186. *
  97187. * - `easing`: Can be a string reference to an easing function set on the
  97188. * `Math` object or a function. See the _Custom easing function_ demo below.
  97189. *
  97190. * Due to poor performance, animation is disabled in old IE browsers for
  97191. * several chart types.
  97192. */
  97193. animation?: (boolean|PlotWilliamsrAnimationOptions|Partial<AnimationOptionsObject>);
  97194. /**
  97195. * (Highstock) For some series, there is a limit that shuts down initial
  97196. * animation by default when the total number of points in the chart is too
  97197. * high. For example, for a column chart and its derivatives, animation does
  97198. * not run if there is more than 250 points totally. To disable this cap,
  97199. * set `animationLimit` to `Infinity`.
  97200. */
  97201. animationLimit?: number;
  97202. /**
  97203. * (Highstock) Sets the color blending in the boost module.
  97204. */
  97205. boostBlending?: OptionsBoostBlendingValue;
  97206. /**
  97207. * (Highstock) Set the point threshold for when a series should enter boost
  97208. * mode.
  97209. *
  97210. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  97211. * there are 2000 or more points in the series.
  97212. *
  97213. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  97214. * it to 1 will force boosting.
  97215. *
  97216. * Note that the cropThreshold also affects this setting. When zooming in on
  97217. * a series that has fewer points than the `cropThreshold`, all points are
  97218. * rendered although outside the visible plot area, and the `boostThreshold`
  97219. * won't take effect.
  97220. */
  97221. boostThreshold?: number;
  97222. /**
  97223. * (Highmaps) The border color of the map areas.
  97224. *
  97225. * In styled mode, the border stroke is given in the `.highcharts-point`
  97226. * class.
  97227. */
  97228. borderColor?: (ColorString|GradientColorObject|PatternObject);
  97229. /**
  97230. * (Highmaps) The border width of each map area.
  97231. *
  97232. * In styled mode, the border stroke width is given in the
  97233. * `.highcharts-point` class.
  97234. */
  97235. borderWidth?: number;
  97236. /**
  97237. * (Highstock) An additional class name to apply to the series' graphical
  97238. * elements. This option does not replace default class names of the
  97239. * graphical element.
  97240. */
  97241. className?: string;
  97242. /**
  97243. * (Highstock) Disable this option to allow series rendering in the whole
  97244. * plotting area.
  97245. *
  97246. * **Note:** Clipping should be always enabled when chart.zoomType is set
  97247. */
  97248. clip?: boolean;
  97249. /**
  97250. * (Highstock) The main color of the series. In line type series it applies
  97251. * to the line and the point markers unless otherwise specified. In bar type
  97252. * series it applies to the bars unless a color is specified per point. The
  97253. * default value is pulled from the `options.colors` array.
  97254. *
  97255. * In styled mode, the color can be defined by the colorIndex option. Also,
  97256. * the series color can be set with the `.highcharts-series`,
  97257. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  97258. * `.highcharts-series-{n}` class, or individual classes given by the
  97259. * `className` option.
  97260. */
  97261. color?: (ColorString|GradientColorObject|PatternObject);
  97262. /**
  97263. * (Highstock) Styled mode only. A specific color index to use for the
  97264. * series, so its graphic representations are given the class name
  97265. * `highcharts-color-{n}`.
  97266. */
  97267. colorIndex?: number;
  97268. /**
  97269. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  97270. * used to calculate point color if `colorAxis` is used. Requires to set
  97271. * `min` and `max` if some custom point property is used or if approximation
  97272. * for data grouping is set to `'sum'`.
  97273. */
  97274. colorKey?: string;
  97275. /**
  97276. * (Highstock) Compare the values of the series against the first non-null,
  97277. * non- zero value in the visible range. The y axis will show percentage or
  97278. * absolute change depending on whether `compare` is set to `"percent"` or
  97279. * `"value"`. When this is applied to multiple series, it allows comparing
  97280. * the development of the series against each other. Adds a `change` field
  97281. * to every point object.
  97282. */
  97283. compare?: string;
  97284. /**
  97285. * (Highstock) When compare is `percent`, this option dictates whether to
  97286. * use 0 or 100 as the base of comparison.
  97287. */
  97288. compareBase?: (0|100);
  97289. /**
  97290. * (Highstock) Defines if comparison should start from the first point
  97291. * within the visible range or should start from the first point **before**
  97292. * the range.
  97293. *
  97294. * In other words, this flag determines if first point within the visible
  97295. * range will have 0% (`compareStart=true`) or should have been already
  97296. * calculated according to the previous point (`compareStart=false`).
  97297. */
  97298. compareStart?: boolean;
  97299. /**
  97300. * (Highstock) Whether to compare indicator to the main series values or
  97301. * indicator values.
  97302. */
  97303. compareToMain?: boolean;
  97304. /**
  97305. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  97306. * series plot across the extremes.
  97307. */
  97308. connectEnds?: boolean;
  97309. /**
  97310. * (Highcharts, Highstock) Whether to connect a graph line across null
  97311. * points, or render a gap between the two points on either side of the
  97312. * null.
  97313. */
  97314. connectNulls?: boolean;
  97315. /**
  97316. * (Gantt) Override Pathfinder connector options for a series. Requires
  97317. * Highcharts Gantt to be loaded.
  97318. */
  97319. connectors?: SeriesConnectorsOptionsObject;
  97320. /**
  97321. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  97322. * rounded to its nearest pixel in order to render sharp on screen. In some
  97323. * cases, when there are a lot of densely packed columns, this leads to
  97324. * visible difference in column widths or distance between columns. In these
  97325. * cases, setting `crisp` to `false` may look better, even though each
  97326. * column is rendered blurry.
  97327. */
  97328. crisp?: boolean;
  97329. /**
  97330. * (Highcharts, Highstock) When the series contains less points than the
  97331. * crop threshold, all points are drawn, even if the points fall outside the
  97332. * visible plot area at the current zoom. The advantage of drawing all
  97333. * points (including markers and columns), is that animation is performed on
  97334. * updates. On the other hand, when the series contains more points than the
  97335. * crop threshold, the series data is cropped to only contain points that
  97336. * fall within the plot area. The advantage of cropping away invisible
  97337. * points is to increase performance on large series.
  97338. */
  97339. cropThreshold?: number;
  97340. /**
  97341. * (Highstock) You can set the cursor to "pointer" if you have click events
  97342. * attached to the series, to signal to the user that the points and lines
  97343. * can be clicked.
  97344. *
  97345. * In styled mode, the series cursor can be set with the same classes as
  97346. * listed under series.color.
  97347. */
  97348. cursor?: (string|CursorValue);
  97349. /**
  97350. * (Highstock) A reserved subspace to store options and values for
  97351. * customized functionality. Here you can add additional data for your own
  97352. * event callbacks and formatter callbacks.
  97353. */
  97354. custom?: Dictionary<any>;
  97355. /**
  97356. * (Highstock) Name of the dash style to use for the graph, or for some
  97357. * series types the outline of each shape.
  97358. *
  97359. * In styled mode, the stroke dash-array can be set with the same classes as
  97360. * listed under series.color.
  97361. */
  97362. dashStyle?: DashStyleValue;
  97363. /**
  97364. * (Highstock) Data grouping is the concept of sampling the data values into
  97365. * larger blocks in order to ease readability and increase performance of
  97366. * the JavaScript charts. Highstock by default applies data grouping when
  97367. * the points become closer than a certain pixel value, determined by the
  97368. * `groupPixelWidth` option.
  97369. *
  97370. * If data grouping is applied, the grouping information of grouped points
  97371. * can be read from the Point.dataGroup. If point options other than the
  97372. * data itself are set, for example `name` or `color` or custom properties,
  97373. * the grouping logic doesn't know how to group it. In this case the options
  97374. * of the first point instance are copied over to the group point. This can
  97375. * be altered through a custom `approximation` callback function.
  97376. */
  97377. dataGrouping?: DataGroupingOptionsObject;
  97378. /**
  97379. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  97380. * labels, appearing next to each data point.
  97381. *
  97382. * Since v6.2.0, multiple data labels can be applied to each single point by
  97383. * defining them as an array of configs.
  97384. *
  97385. * In styled mode, the data labels can be styled with the
  97386. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  97387. * (see example).
  97388. */
  97389. dataLabels?: (PlotWilliamsrDataLabelsOptions|Array<PlotWilliamsrDataLabelsOptions>);
  97390. /**
  97391. * (Highcharts, Highstock) Options for the series data sorting.
  97392. */
  97393. dataSorting?: (DataSortingOptionsObject|PlotWilliamsrDataSortingOptions);
  97394. /**
  97395. * (Highstock) A description of the series to add to the screen reader
  97396. * information about the series.
  97397. */
  97398. description?: string;
  97399. /**
  97400. * (Highstock) Enable or disable the mouse tracking for a specific series.
  97401. * This includes point tooltips and click events on graphs and points. For
  97402. * large datasets it improves performance.
  97403. */
  97404. enableMouseTracking?: boolean;
  97405. /**
  97406. * (Highstock) General event handlers for the series items. These event
  97407. * hooks can also be attached to the series at run time using the
  97408. * `Highcharts.addEvent` function.
  97409. */
  97410. events?: SeriesEventsOptionsObject;
  97411. /**
  97412. * (Highstock) Determines whether the series should look for the nearest
  97413. * point in both dimensions or just the x-dimension when hovering the
  97414. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  97415. * series. If the data has duplicate x-values, it is recommended to set this
  97416. * to `'xy'` to allow hovering over all points.
  97417. *
  97418. * Applies only to series types using nearest neighbor search (not direct
  97419. * hover) for tooltip.
  97420. */
  97421. findNearestPointBy?: OptionsFindNearestPointByValue;
  97422. /**
  97423. * (Highstock) Defines when to display a gap in the graph, together with the
  97424. * gapUnit option.
  97425. *
  97426. * In case when `dataGrouping` is enabled, points can be grouped into a
  97427. * larger time span. This can make the grouped points to have a greater
  97428. * distance than the absolute value of `gapSize` property, which will result
  97429. * in disappearing graph completely. To prevent this situation the mentioned
  97430. * distance between grouped points is used instead of previously defined
  97431. * `gapSize`.
  97432. *
  97433. * In practice, this option is most often used to visualize gaps in time
  97434. * series. In a stock chart, intraday data is available for daytime hours,
  97435. * while gaps will appear in nights and weekends.
  97436. */
  97437. gapSize?: number;
  97438. /**
  97439. * (Highstock) Together with gapSize, this option defines where to draw gaps
  97440. * in the graph.
  97441. *
  97442. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  97443. * if the distance between two points is greater than 5 times that of the
  97444. * two closest points, the graph will be broken.
  97445. *
  97446. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  97447. * values, which on a datetime axis is milliseconds. This also applies to
  97448. * the navigator series that inherits gap options from the base series.
  97449. */
  97450. gapUnit?: OptionsGapUnitValue;
  97451. /**
  97452. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  97453. * chart width or only the zoomed area when zooming in on parts of the X
  97454. * axis. By default, the Y axis adjusts to the min and max of the visible
  97455. * data. Cartesian series only.
  97456. */
  97457. getExtremesFromAll?: boolean;
  97458. /**
  97459. * (Highstock) When set to `false` will prevent the series data from being
  97460. * included in any form of data export.
  97461. *
  97462. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  97463. * `includeInCSVExport`.
  97464. */
  97465. includeInDataExport?: boolean;
  97466. /**
  97467. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  97468. * series as possible in a natural way, seeking to avoid other series. The
  97469. * goal of this feature is to make the chart more easily readable, like if a
  97470. * human designer placed the labels in the optimal position.
  97471. *
  97472. * The series labels currently work with series types having a `graph` or an
  97473. * `area`.
  97474. */
  97475. label?: SeriesLabelOptionsObject;
  97476. /**
  97477. * (Highstock) The line marks the last price from all points.
  97478. */
  97479. lastPrice?: SeriesLastPriceOptionsObject;
  97480. /**
  97481. * (Highstock) The line marks the last price from visible range of points.
  97482. */
  97483. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  97484. /**
  97485. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  97486. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  97487. * the ends and bends.
  97488. */
  97489. linecap?: SeriesLinecapValue;
  97490. /**
  97491. * (Highcharts, Highstock) Pixel width of the graph line.
  97492. */
  97493. lineWidth?: number;
  97494. /**
  97495. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  97496. * based on. Required for this indicator.
  97497. */
  97498. linkedTo?: string;
  97499. /**
  97500. * (Highstock) Options for the point markers of line-like series. Properties
  97501. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  97502. * appearance of the markers. Other series types, like column series, don't
  97503. * have markers, but have visual options on the series level instead.
  97504. *
  97505. * In styled mode, the markers can be styled with the `.highcharts-point`,
  97506. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  97507. */
  97508. marker?: PointMarkerOptionsObject;
  97509. /**
  97510. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  97511. * If not set, it will be based on a technical indicator type and default
  97512. * params.
  97513. */
  97514. name?: string;
  97515. /**
  97516. * (Highstock) The color for the parts of the graph or points that are below
  97517. * the threshold. Note that `zones` takes precedence over the negative
  97518. * color. Using `negativeColor` is equivalent to applying a zone with value
  97519. * of 0.
  97520. */
  97521. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  97522. /**
  97523. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  97524. * dataLabels.
  97525. */
  97526. opacity?: number;
  97527. /**
  97528. * (Highstock) Paramters used in calculation of Williams %R series points.
  97529. */
  97530. params?: PlotWilliamsrParamsOptions;
  97531. /**
  97532. * (Highstock) Properties for each single point.
  97533. */
  97534. point?: PlotSeriesPointOptions;
  97535. /**
  97536. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  97537. * individual series. Overrides the chart wide configuration.
  97538. */
  97539. pointDescriptionFormatter?: Function;
  97540. /**
  97541. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  97542. * true, the checkbox next to the series name in the legend will be checked
  97543. * for a selected series.
  97544. */
  97545. selected?: boolean;
  97546. /**
  97547. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  97548. * the shadow can be an object configuration containing `color`, `offsetX`,
  97549. * `offsetY`, `opacity` and `width`.
  97550. */
  97551. shadow?: (boolean|ShadowOptionsObject);
  97552. /**
  97553. * (Highstock) If true, a checkbox is displayed next to the legend item to
  97554. * allow selecting the series. The state of the checkbox is determined by
  97555. * the `selected` option.
  97556. */
  97557. showCheckbox?: boolean;
  97558. /**
  97559. * (Highstock) Whether to display this particular series or series type in
  97560. * the legend. Standalone series are shown in legend by default, and linked
  97561. * series are not. Since v7.2.0 it is possible to show series that use
  97562. * colorAxis by setting this option to `true`.
  97563. */
  97564. showInLegend?: boolean;
  97565. /**
  97566. * (Highstock) If set to `true`, the accessibility module will skip past the
  97567. * points in this series for keyboard navigation.
  97568. */
  97569. skipKeyboardNavigation?: boolean;
  97570. /**
  97571. * (Highcharts, Highstock) When this is true, the series will not cause the
  97572. * Y axis to cross the zero plane (or threshold option) unless the data
  97573. * actually crosses the plane.
  97574. *
  97575. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  97576. * make the Y axis show negative values according to the `minPadding`
  97577. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  97578. */
  97579. softThreshold?: boolean;
  97580. states?: SeriesStatesOptionsObject;
  97581. /**
  97582. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  97583. * values are `left`, `center` and `right`.
  97584. */
  97585. step?: OptionsStepValue;
  97586. /**
  97587. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  97588. * event on a series isn't triggered until the mouse moves over another
  97589. * series, or out of the plot area. When false, the `mouseOut` event on a
  97590. * series is triggered when the mouse leaves the area around the series'
  97591. * graph or markers. This also implies the tooltip when not shared. When
  97592. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  97593. * be hidden when moving the mouse between series. Defaults to true for line
  97594. * and area type series, but to false for columns, pies etc.
  97595. *
  97596. * **Note:** The boost module will force this option because of technical
  97597. * limitations.
  97598. */
  97599. stickyTracking?: boolean;
  97600. /**
  97601. * (Highcharts, Highstock) The threshold, also called zero level or base
  97602. * level. For line type series this is only used in conjunction with
  97603. * negativeColor.
  97604. */
  97605. threshold?: number;
  97606. /**
  97607. * (Highstock) A configuration object for the tooltip rendering of each
  97608. * single series. Properties are inherited from tooltip, but only the
  97609. * following properties can be defined on a series level.
  97610. */
  97611. tooltip?: SeriesTooltipOptionsObject;
  97612. /**
  97613. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  97614. * is longer than this, only one dimensional arrays of numbers, or two
  97615. * dimensional arrays with x and y values are allowed. Also, only the first
  97616. * point is tested, and the rest are assumed to be the same format. This
  97617. * saves expensive data checking and indexing in long series. Set it to `0`
  97618. * disable.
  97619. *
  97620. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  97621. * two dimensional arrays are allowed.
  97622. */
  97623. turboThreshold?: number;
  97624. /**
  97625. * (Highstock) Set the initial visibility of the series.
  97626. */
  97627. visible?: boolean;
  97628. /**
  97629. * (Highmaps) Define the z index of the series.
  97630. */
  97631. zIndex?: number;
  97632. /**
  97633. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  97634. */
  97635. zoneAxis?: string;
  97636. /**
  97637. * (Highcharts, Highstock) An array defining zones within a series. Zones
  97638. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  97639. * the `zoneAxis` option. The zone definitions have to be in ascending order
  97640. * regarding to the value.
  97641. *
  97642. * In styled mode, the color zones are styled with the
  97643. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  97644. * option (view live demo).
  97645. */
  97646. zones?: Array<SeriesZonesOptionsObject>;
  97647. }
  97648. /**
  97649. * (Highstock) Paramters used in calculation of Williams %R series points.
  97650. */
  97651. export interface PlotWilliamsrParamsOptions {
  97652. /**
  97653. * (Highstock) Period for Williams %R oscillator
  97654. */
  97655. period?: number;
  97656. }
  97657. /**
  97658. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  97659. * is displayed. The animation can also be set as a configuration object. Please
  97660. * note that this option only applies to the initial animation of the series
  97661. * itself. For other animations, see chart.animation and the animation parameter
  97662. * under the API methods. The following properties are supported:
  97663. *
  97664. * - `defer`: The animation delay time in milliseconds.
  97665. *
  97666. * - `duration`: The duration of the animation in milliseconds.
  97667. *
  97668. * - `easing`: Can be a string reference to an easing function set on the `Math`
  97669. * object or a function. See the _Custom easing function_ demo below.
  97670. *
  97671. * Due to poor performance, animation is disabled in old IE browsers for several
  97672. * chart types.
  97673. */
  97674. export interface PlotWindbarbAnimationOptions {
  97675. defer?: number;
  97676. }
  97677. /**
  97678. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  97679. * animation when a series is displayed for the `dataLabels`. The animation can
  97680. * also be set as a configuration object. Please note that this option only
  97681. * applies to the initial animation. For other animations, see chart.animation
  97682. * and the animation parameter under the API methods. The following properties
  97683. * are supported:
  97684. *
  97685. * - `defer`: The animation delay time in milliseconds.
  97686. */
  97687. export interface PlotWindbarbDataLabelsAnimationOptions {
  97688. /**
  97689. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  97690. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  97691. * inherits defer time from the series.animation.defer.
  97692. */
  97693. defer?: number;
  97694. }
  97695. /**
  97696. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  97697. * appearing next to each data point.
  97698. *
  97699. * Since v6.2.0, multiple data labels can be applied to each single point by
  97700. * defining them as an array of configs.
  97701. *
  97702. * In styled mode, the data labels can be styled with the
  97703. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  97704. * example).
  97705. */
  97706. export interface PlotWindbarbDataLabelsOptions {
  97707. /**
  97708. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  97709. * compared to the point. If `right`, the right side of the label should be
  97710. * touching the point. For points with an extent, like columns, the
  97711. * alignments also dictates how to align it inside the box, as given with
  97712. * the inside option. Can be one of `left`, `center` or `right`.
  97713. */
  97714. align?: string;
  97715. /**
  97716. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  97717. * overlap. To make the labels less sensitive for overlapping, the
  97718. * dataLabels.padding can be set to 0.
  97719. */
  97720. allowOverlap?: boolean;
  97721. /**
  97722. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  97723. * animation when a series is displayed for the `dataLabels`. The animation
  97724. * can also be set as a configuration object. Please note that this option
  97725. * only applies to the initial animation. For other animations, see
  97726. * chart.animation and the animation parameter under the API methods. The
  97727. * following properties are supported:
  97728. *
  97729. * - `defer`: The animation delay time in milliseconds.
  97730. */
  97731. animation?: (boolean|PlotWindbarbDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  97732. /**
  97733. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  97734. * for the data label.
  97735. */
  97736. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  97737. /**
  97738. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  97739. * label. Defaults to `undefined`.
  97740. */
  97741. borderColor?: (ColorString|GradientColorObject|PatternObject);
  97742. /**
  97743. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  97744. * the data label.
  97745. */
  97746. borderRadius?: number;
  97747. /**
  97748. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  97749. * the data label.
  97750. */
  97751. borderWidth?: number;
  97752. /**
  97753. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  97754. * Particularly in styled mode, this can be used to give each series' or
  97755. * point's data label unique styling. In addition to this option, a default
  97756. * color class name is added so that we can give the labels a contrast text
  97757. * shadow.
  97758. */
  97759. className?: string;
  97760. /**
  97761. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  97762. * labels. Defaults to `undefined`. For certain series types, like column or
  97763. * map, the data labels can be drawn inside the points. In this case the
  97764. * data label will be drawn with maximum contrast by default. Additionally,
  97765. * it will be given a `text-outline` style with the opposite color, to
  97766. * further increase the contrast. This can be overridden by setting the
  97767. * `text-outline` style to `none` in the `dataLabels.style` option.
  97768. */
  97769. color?: (ColorString|GradientColorObject|PatternObject);
  97770. /**
  97771. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  97772. * are outside the plot area. By default, the data label is moved inside the
  97773. * plot area according to the overflow option.
  97774. */
  97775. crop?: boolean;
  97776. /**
  97777. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  97778. * labels until the initial series animation has finished. Setting to
  97779. * `false` renders the data label immediately. If set to `true` inherits the
  97780. * defer time set in plotOptions.series.animation.
  97781. */
  97782. defer?: boolean;
  97783. /**
  97784. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  97785. * labels.
  97786. */
  97787. enabled?: boolean;
  97788. /**
  97789. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  97790. * of which data labels to display. The declarative filter is designed for
  97791. * use when callback functions are not available, like when the chart
  97792. * options require a pure JSON structure or for use with graphical editors.
  97793. * For programmatic control, use the `formatter` instead, and return
  97794. * `undefined` to disable a single data label.
  97795. */
  97796. filter?: DataLabelsFilterOptionsObject;
  97797. /**
  97798. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  97799. * label. Available variables are the same as for `formatter`.
  97800. */
  97801. format?: string;
  97802. /**
  97803. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  97804. * format the data label. Note that if a `format` is defined, the format
  97805. * takes precedence and the formatter is ignored.
  97806. */
  97807. formatter?: DataLabelsFormatterCallbackFunction;
  97808. /**
  97809. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  97810. * columns or map areas, whether to align the data label inside the box or
  97811. * to the actual value point. Defaults to `false` in most cases, `true` in
  97812. * stacked columns.
  97813. */
  97814. inside?: boolean;
  97815. /**
  97816. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  97817. * of null. Works analogously to format. `nullFormat` can be applied only to
  97818. * series which support displaying null points.
  97819. */
  97820. nullFormat?: (boolean|string);
  97821. /**
  97822. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  97823. * that defines formatting for points with the value of null. Works
  97824. * analogously to formatter. `nullPointFormatter` can be applied only to
  97825. * series which support displaying null points.
  97826. */
  97827. nullFormatter?: DataLabelsFormatterCallbackFunction;
  97828. /**
  97829. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  97830. * flow outside the plot area. The default is `"justify"`, which aligns them
  97831. * inside the plot area. For columns and bars, this means it will be moved
  97832. * inside the bar. To display data labels outside the plot area, set `crop`
  97833. * to `false` and `overflow` to `"allow"`.
  97834. */
  97835. overflow?: DataLabelsOverflowValue;
  97836. /**
  97837. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  97838. * the `backgroundColor` is set, this is the padding within the box.
  97839. */
  97840. padding?: number;
  97841. /**
  97842. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  97843. * points. If `center` alignment is not possible, it defaults to `right`.
  97844. */
  97845. position?: AlignValue;
  97846. /**
  97847. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  97848. * that due to a more complex structure, backgrounds, borders and padding
  97849. * will be lost on a rotated data label.
  97850. */
  97851. rotation?: number;
  97852. /**
  97853. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  97854. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  97855. * an object configuration containing `color`, `offsetX`, `offsetY`,
  97856. * `opacity` and `width`.
  97857. */
  97858. shadow?: (boolean|ShadowOptionsObject);
  97859. /**
  97860. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  97861. * the border around the label. Symbols are predefined functions on the
  97862. * Renderer object.
  97863. */
  97864. shape?: string;
  97865. /**
  97866. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  97867. * default `color` setting is `"contrast"`, which is a pseudo color that
  97868. * Highcharts picks up and applies the maximum contrast to the underlying
  97869. * point item, for example the bar in a bar chart.
  97870. *
  97871. * The `textOutline` is a pseudo property that applies an outline of the
  97872. * given width with the given color, which by default is the maximum
  97873. * contrast to the text. So a bright text color will result in a black text
  97874. * outline for maximum readability on a mixed background. In some cases,
  97875. * especially with grayscale text, the text outline doesn't work well, in
  97876. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  97877. * is true, the `textOutline` will not be picked up. In this, case, the same
  97878. * effect can be acheived through the `text-shadow` CSS property.
  97879. *
  97880. * For some series types, where each point has an extent, like for example
  97881. * tree maps, the data label may overflow the point. There are two
  97882. * strategies for handling overflow. By default, the text will wrap to
  97883. * multiple lines. The other strategy is to set `style.textOverflow` to
  97884. * `ellipsis`, which will keep the text on one line plus it will break
  97885. * inside long words.
  97886. */
  97887. style?: CSSObject;
  97888. /**
  97889. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  97890. * should follow marker's shape. Border and background are disabled for a
  97891. * label that follows a path.
  97892. *
  97893. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  97894. * to true will disable this option.
  97895. */
  97896. textPath?: DataLabelsTextPathOptionsObject;
  97897. /**
  97898. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  97899. * the labels.
  97900. */
  97901. useHTML?: boolean;
  97902. /**
  97903. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  97904. * label. Can be one of `top`, `middle` or `bottom`. The default value
  97905. * depends on the data, for instance in a column chart, the label is above
  97906. * positive values and below negative values.
  97907. */
  97908. verticalAlign?: string;
  97909. /**
  97910. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  97911. * label relative to the point in pixels.
  97912. */
  97913. x?: number;
  97914. /**
  97915. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  97916. * label relative to the point in pixels.
  97917. */
  97918. y?: number;
  97919. /**
  97920. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  97921. * The default Z index puts it above the series. Use a Z index of 2 to
  97922. * display it behind the series.
  97923. */
  97924. z?: number;
  97925. }
  97926. /**
  97927. * (Highcharts, Highstock) Options for the series data sorting.
  97928. */
  97929. export interface PlotWindbarbDataSortingOptions {
  97930. /**
  97931. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  97932. * Use xAxis.reversed to change the sorting order.
  97933. */
  97934. enabled?: boolean;
  97935. /**
  97936. * (Highcharts, Highstock) Whether to allow matching points by name in an
  97937. * update. If this option is disabled, points will be matched by order.
  97938. */
  97939. matchByName?: boolean;
  97940. /**
  97941. * (Highcharts, Highstock) Determines what data value should be used to sort
  97942. * by.
  97943. */
  97944. sortKey?: string;
  97945. }
  97946. /**
  97947. * (Highcharts, Highstock) Wind barbs are a convenient way to represent wind
  97948. * speed and direction in one graphical form. Wind direction is given by the
  97949. * stem direction, and wind speed by the number and shape of barbs.
  97950. *
  97951. * In TypeScript the type option must always be set.
  97952. *
  97953. * Configuration options for the series are given in three levels:
  97954. *
  97955. * 1. Options for all series in a chart are defined in the plotOptions.series
  97956. * object.
  97957. *
  97958. * 2. Options for all `windbarb` series are defined in plotOptions.windbarb.
  97959. *
  97960. * 3. Options for one single series are given in the series instance array. (see
  97961. * online documentation for example)
  97962. */
  97963. export interface PlotWindbarbOptions {
  97964. /**
  97965. * (Highcharts, Highstock) Accessibility options for a series.
  97966. */
  97967. accessibility?: SeriesAccessibilityOptionsObject;
  97968. /**
  97969. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  97970. * rendered. If `true`, areas which don't correspond to a data point, are
  97971. * rendered as `null` points. If `false`, those areas are skipped.
  97972. */
  97973. allAreas?: boolean;
  97974. /**
  97975. * (Highcharts, Highstock) Allow this series' points to be selected by
  97976. * clicking on the graphic (columns, point markers, pie slices, map areas
  97977. * etc).
  97978. *
  97979. * The selected points can be handled by point select and unselect events,
  97980. * or collectively by the getSelectedPoints function.
  97981. *
  97982. * And alternative way of selecting points is through dragging.
  97983. */
  97984. allowPointSelect?: boolean;
  97985. /**
  97986. * (Highcharts, Highstock) Enable or disable the initial animation when a
  97987. * series is displayed. The animation can also be set as a configuration
  97988. * object. Please note that this option only applies to the initial
  97989. * animation of the series itself. For other animations, see chart.animation
  97990. * and the animation parameter under the API methods. The following
  97991. * properties are supported:
  97992. *
  97993. * - `defer`: The animation delay time in milliseconds.
  97994. *
  97995. * - `duration`: The duration of the animation in milliseconds.
  97996. *
  97997. * - `easing`: Can be a string reference to an easing function set on the
  97998. * `Math` object or a function. See the _Custom easing function_ demo below.
  97999. *
  98000. * Due to poor performance, animation is disabled in old IE browsers for
  98001. * several chart types.
  98002. */
  98003. animation?: (boolean|PlotWindbarbAnimationOptions|Partial<AnimationOptionsObject>);
  98004. /**
  98005. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  98006. * initial animation by default when the total number of points in the chart
  98007. * is too high. For example, for a column chart and its derivatives,
  98008. * animation does not run if there is more than 250 points totally. To
  98009. * disable this cap, set `animationLimit` to `Infinity`.
  98010. */
  98011. animationLimit?: number;
  98012. /**
  98013. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  98014. * column or bar.
  98015. *
  98016. * In styled mode, the border stroke can be set with the `.highcharts-point`
  98017. * rule.
  98018. */
  98019. borderColor?: (ColorString|GradientColorObject|PatternObject);
  98020. /**
  98021. * (Highcharts, Highstock, Gantt) The corner radius of the border
  98022. * surrounding each column or bar.
  98023. */
  98024. borderRadius?: number;
  98025. /**
  98026. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  98027. * column or bar. Defaults to `1` when there is room for a border, but to
  98028. * `0` when the columns are so dense that a border would cover the next
  98029. * column.
  98030. *
  98031. * In styled mode, the stroke width can be set with the `.highcharts-point`
  98032. * rule.
  98033. */
  98034. borderWidth?: number;
  98035. /**
  98036. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  98037. * the category, ignoring null or missing points. When `false`, space will
  98038. * be reserved for null or missing points.
  98039. */
  98040. centerInCategory?: boolean;
  98041. /**
  98042. * (Highcharts, Highstock) An additional class name to apply to the series'
  98043. * graphical elements. This option does not replace default class names of
  98044. * the graphical element.
  98045. */
  98046. className?: string;
  98047. /**
  98048. * (Highcharts, Highstock) Disable this option to allow series rendering in
  98049. * the whole plotting area.
  98050. *
  98051. * **Note:** Clipping should be always enabled when chart.zoomType is set
  98052. */
  98053. clip?: boolean;
  98054. /**
  98055. * (Highcharts, Highstock) The main color of the series. In line type series
  98056. * it applies to the line and the point markers unless otherwise specified.
  98057. * In bar type series it applies to the bars unless a color is specified per
  98058. * point. The default value is pulled from the `options.colors` array.
  98059. *
  98060. * In styled mode, the color can be defined by the colorIndex option. Also,
  98061. * the series color can be set with the `.highcharts-series`,
  98062. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  98063. * `.highcharts-series-{n}` class, or individual classes given by the
  98064. * `className` option.
  98065. */
  98066. color?: (ColorString|GradientColorObject|PatternObject);
  98067. /**
  98068. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  98069. * this number defines which colorAxis the particular series is connected
  98070. * to. It refers to either the axis id or the index of the axis in the
  98071. * colorAxis array, with 0 being the first. Set this option to false to
  98072. * prevent a series from connecting to the default color axis.
  98073. *
  98074. * Since v7.2.0 the option can also be an axis id or an axis index instead
  98075. * of a boolean flag.
  98076. */
  98077. colorAxis?: (boolean|number|string);
  98078. /**
  98079. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  98080. * from the global colors or series-specific plotOptions.column.colors
  98081. * collections, this option determines whether the chart should receive one
  98082. * color per series or one color per point.
  98083. *
  98084. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  98085. * and instead this option gives the points individual color class names on
  98086. * the form `highcharts-color-{n}`.
  98087. */
  98088. colorByPoint?: boolean;
  98089. /**
  98090. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  98091. * for the series, so its graphic representations are given the class name
  98092. * `highcharts-color-{n}`.
  98093. */
  98094. colorIndex?: number;
  98095. /**
  98096. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  98097. * used to calculate point color if `colorAxis` is used. Requires to set
  98098. * `min` and `max` if some custom point property is used or if approximation
  98099. * for data grouping is set to `'sum'`.
  98100. */
  98101. colorKey?: string;
  98102. /**
  98103. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  98104. * color set to apply instead of the global colors when colorByPoint is
  98105. * true.
  98106. */
  98107. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  98108. /**
  98109. * (Highstock) Compare the values of the series against the first non-null,
  98110. * non- zero value in the visible range. The y axis will show percentage or
  98111. * absolute change depending on whether `compare` is set to `"percent"` or
  98112. * `"value"`. When this is applied to multiple series, it allows comparing
  98113. * the development of the series against each other. Adds a `change` field
  98114. * to every point object.
  98115. */
  98116. compare?: string;
  98117. /**
  98118. * (Highstock) When compare is `percent`, this option dictates whether to
  98119. * use 0 or 100 as the base of comparison.
  98120. */
  98121. compareBase?: (0|100);
  98122. /**
  98123. * (Highstock) Defines if comparison should start from the first point
  98124. * within the visible range or should start from the first point **before**
  98125. * the range.
  98126. *
  98127. * In other words, this flag determines if first point within the visible
  98128. * range will have 0% (`compareStart=true`) or should have been already
  98129. * calculated according to the previous point (`compareStart=false`).
  98130. */
  98131. compareStart?: boolean;
  98132. /**
  98133. * (Gantt) Override Pathfinder connector options for a series. Requires
  98134. * Highcharts Gantt to be loaded.
  98135. */
  98136. connectors?: SeriesConnectorsOptionsObject;
  98137. /**
  98138. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  98139. * rounded to its nearest pixel in order to render sharp on screen. In some
  98140. * cases, when there are a lot of densely packed columns, this leads to
  98141. * visible difference in column widths or distance between columns. In these
  98142. * cases, setting `crisp` to `false` may look better, even though each
  98143. * column is rendered blurry.
  98144. */
  98145. crisp?: boolean;
  98146. /**
  98147. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  98148. * click events attached to the series, to signal to the user that the
  98149. * points and lines can be clicked.
  98150. *
  98151. * In styled mode, the series cursor can be set with the same classes as
  98152. * listed under series.color.
  98153. */
  98154. cursor?: (string|CursorValue);
  98155. /**
  98156. * (Highcharts, Highstock) A reserved subspace to store options and values
  98157. * for customized functionality. Here you can add additional data for your
  98158. * own event callbacks and formatter callbacks.
  98159. */
  98160. custom?: Dictionary<any>;
  98161. /**
  98162. * (Highcharts, Highstock) Data grouping options for the wind barbs. In
  98163. * Highcharts, this requires the `modules/datagrouping.js` module to be
  98164. * loaded. In Highstock, data grouping is included.
  98165. */
  98166. dataGrouping?: DataGroupingOptionsObject;
  98167. /**
  98168. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  98169. * labels, appearing next to each data point.
  98170. *
  98171. * Since v6.2.0, multiple data labels can be applied to each single point by
  98172. * defining them as an array of configs.
  98173. *
  98174. * In styled mode, the data labels can be styled with the
  98175. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  98176. * (see example).
  98177. */
  98178. dataLabels?: (PlotWindbarbDataLabelsOptions|Array<PlotWindbarbDataLabelsOptions>);
  98179. /**
  98180. * (Highcharts, Highstock) Options for the series data sorting.
  98181. */
  98182. dataSorting?: (DataSortingOptionsObject|PlotWindbarbDataSortingOptions);
  98183. /**
  98184. * (Highcharts) Depth of the columns in a 3D column chart.
  98185. */
  98186. depth?: number;
  98187. /**
  98188. * (Highcharts, Highstock) A description of the series to add to the screen
  98189. * reader information about the series.
  98190. */
  98191. description?: string;
  98192. /**
  98193. * (Highcharts) 3D columns only. The color of the edges. Similar to
  98194. * `borderColor`, except it defaults to the same color as the column.
  98195. */
  98196. edgeColor?: ColorString;
  98197. /**
  98198. * (Highcharts) 3D columns only. The width of the colored edges.
  98199. */
  98200. edgeWidth?: number;
  98201. /**
  98202. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  98203. * specific series. This includes point tooltips and click events on graphs
  98204. * and points. For large datasets it improves performance.
  98205. */
  98206. enableMouseTracking?: boolean;
  98207. /**
  98208. * (Highcharts, Highstock) General event handlers for the series items.
  98209. * These event hooks can also be attached to the series at run time using
  98210. * the `Highcharts.addEvent` function.
  98211. */
  98212. events?: SeriesEventsOptionsObject;
  98213. /**
  98214. * (Highcharts, Highstock) Determines whether the series should look for the
  98215. * nearest point in both dimensions or just the x-dimension when hovering
  98216. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  98217. * other series. If the data has duplicate x-values, it is recommended to
  98218. * set this to `'xy'` to allow hovering over all points.
  98219. *
  98220. * Applies only to series types using nearest neighbor search (not direct
  98221. * hover) for tooltip.
  98222. */
  98223. findNearestPointBy?: OptionsFindNearestPointByValue;
  98224. /**
  98225. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  98226. * chart width or only the zoomed area when zooming in on parts of the X
  98227. * axis. By default, the Y axis adjusts to the min and max of the visible
  98228. * data. Cartesian series only.
  98229. */
  98230. getExtremesFromAll?: boolean;
  98231. /**
  98232. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  98233. * let them render independent of each other. Non-grouped columns will be
  98234. * laid out individually and overlap each other.
  98235. */
  98236. grouping?: boolean;
  98237. /**
  98238. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  98239. * axis units.
  98240. */
  98241. groupPadding?: number;
  98242. /**
  98243. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  98244. */
  98245. groupZPadding?: number;
  98246. /**
  98247. * (Highcharts, Highstock) When set to `false` will prevent the series data
  98248. * from being included in any form of data export.
  98249. *
  98250. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  98251. * `includeInCSVExport`.
  98252. */
  98253. includeInDataExport?: boolean;
  98254. /**
  98255. * (Highmaps) What property to join the `mapData` to the value data. For
  98256. * example, if joinBy is "code", the mapData items with a specific code is
  98257. * merged into the data with the same code. For maps loaded from GeoJSON,
  98258. * the keys may be held in each point's `properties` object.
  98259. *
  98260. * The joinBy option can also be an array of two values, where the first
  98261. * points to a key in the `mapData`, and the second points to another key in
  98262. * the `data`.
  98263. *
  98264. * When joinBy is `null`, the map items are joined by their position in the
  98265. * array, which performs much better in maps with many data points. This is
  98266. * the recommended option if you are printing more than a thousand data
  98267. * points and have a backend that can preprocess the data into a parallel
  98268. * array of the mapData.
  98269. */
  98270. joinBy?: (string|Array<string>);
  98271. /**
  98272. * (Highcharts, Highstock) An array specifying which option maps to which
  98273. * key in the data point array. This makes it convenient to work with
  98274. * unstructured data arrays from different sources.
  98275. */
  98276. keys?: Array<string>;
  98277. /**
  98278. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  98279. * series as possible in a natural way, seeking to avoid other series. The
  98280. * goal of this feature is to make the chart more easily readable, like if a
  98281. * human designer placed the labels in the optimal position.
  98282. *
  98283. * The series labels currently work with series types having a `graph` or an
  98284. * `area`.
  98285. */
  98286. label?: SeriesLabelOptionsObject;
  98287. /**
  98288. * (Highstock) The line marks the last price from all points.
  98289. */
  98290. lastPrice?: SeriesLastPriceOptionsObject;
  98291. /**
  98292. * (Highstock) The line marks the last price from visible range of points.
  98293. */
  98294. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  98295. /**
  98296. * (Highcharts, Highstock) The line width of the wind barb symbols.
  98297. */
  98298. lineWidth?: number;
  98299. /**
  98300. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  98301. * Additionally, the value can be ":previous" to link to the previous
  98302. * series. When two series are linked, only the first one appears in the
  98303. * legend. Toggling the visibility of this also toggles the linked series.
  98304. *
  98305. * If master series uses data sorting and linked series does not have its
  98306. * own sorting definition, the linked series will be sorted in the same
  98307. * order as the master one.
  98308. */
  98309. linkedTo?: string;
  98310. /**
  98311. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  98312. * column, translated to the height of a bar in a bar chart. This prevents
  98313. * the columns from becoming too wide when there is a small number of points
  98314. * in the chart.
  98315. */
  98316. maxPointWidth?: number;
  98317. /**
  98318. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  98319. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  98320. * to zero) point, set the minimal point length to a pixel value like 3\. In
  98321. * stacked column charts, minPointLength might not be respected for tightly
  98322. * packed values.
  98323. */
  98324. minPointLength?: number;
  98325. /**
  98326. * (Highstock) Options for the corresponding navigator series if
  98327. * `showInNavigator` is `true` for this series. Available options are the
  98328. * same as any series, documented at plotOptions and series.
  98329. *
  98330. * These options are merged with options in navigator.series, and will take
  98331. * precedence if the same option is defined both places.
  98332. */
  98333. navigatorOptions?: PlotSeriesOptions;
  98334. /**
  98335. * (Highcharts, Highstock) The color for the parts of the graph or points
  98336. * that are below the threshold. Note that `zones` takes precedence over the
  98337. * negative color. Using `negativeColor` is equivalent to applying a zone
  98338. * with value of 0.
  98339. */
  98340. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  98341. /**
  98342. * (Highcharts, Highstock) The id of another series in the chart that the
  98343. * wind barbs are projected on. When `null`, the wind symbols are drawn on
  98344. * the X axis, but offset up or down by the `yOffset` setting.
  98345. */
  98346. onSeries?: (string|null);
  98347. /**
  98348. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  98349. * and dataLabels.
  98350. */
  98351. opacity?: number;
  98352. /**
  98353. * (Highcharts, Highstock) Properties for each single point.
  98354. */
  98355. point?: PlotSeriesPointOptions;
  98356. /**
  98357. * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
  98358. * but for an individual series. Overrides the chart wide configuration.
  98359. */
  98360. pointDescriptionFormatter?: Function;
  98361. /**
  98362. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  98363. * a series, `pointInterval` defines the interval of the x values. For
  98364. * example, if a series contains one value every decade starting from year
  98365. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  98366. * `pointInterval` is set in milliseconds.
  98367. *
  98368. * It can be also be combined with `pointIntervalUnit` to draw irregular
  98369. * time intervals.
  98370. *
  98371. * Please note that this options applies to the _series data_, not the
  98372. * interval of the axis ticks, which is independent.
  98373. */
  98374. pointInterval?: number;
  98375. /**
  98376. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  98377. * setting the pointInterval to irregular time units, `day`, `month` and
  98378. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  98379. * also takes the DST crossover into consideration when dealing with local
  98380. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  98381. * months, 10 years etc.
  98382. *
  98383. * Please note that this options applies to the _series data_, not the
  98384. * interval of the axis ticks, which is independent.
  98385. */
  98386. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  98387. /**
  98388. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  98389. * axis units.
  98390. */
  98391. pointPadding?: number;
  98392. /**
  98393. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  98394. * `number`.
  98395. *
  98396. * In a column chart, when pointPlacement is `"on"`, the point will not
  98397. * create any padding of the X axis. In a polar column chart this means that
  98398. * the first column points directly north. If the pointPlacement is
  98399. * `"between"`, the columns will be laid out between ticks. This is useful
  98400. * for example for visualising an amount between two points in time or in a
  98401. * certain sector of a polar chart.
  98402. *
  98403. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  98404. * is on the axis value, -0.5 is between this value and the previous, and
  98405. * 0.5 is between this value and the next. Unlike the textual options,
  98406. * numeric point placement options won't affect axis padding.
  98407. *
  98408. * Note that pointPlacement needs a pointRange to work. For column series
  98409. * this is computed, but for line-type series it needs to be set.
  98410. *
  98411. * For the `xrange` series type and gantt charts, if the Y axis is a
  98412. * category axis, the `pointPlacement` applies to the Y axis rather than the
  98413. * (typically datetime) X axis.
  98414. *
  98415. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  98416. */
  98417. pointPlacement?: (number|string);
  98418. /**
  98419. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  98420. * for. This determines the width of the column. On a categorized axis, the
  98421. * range will be 1 by default (one category unit). On linear and datetime
  98422. * axes, the range will be computed as the distance between the two closest
  98423. * data points.
  98424. *
  98425. * The default `null` means it is computed automatically, but this option
  98426. * can be used to override the automatic value.
  98427. *
  98428. * This option is set by default to 1 if data sorting is enabled.
  98429. */
  98430. pointRange?: (number|null);
  98431. /**
  98432. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  98433. * a series, pointStart defines on what value to start. For example, if a
  98434. * series contains one yearly value starting from 1945, set pointStart to
  98435. * 1945.
  98436. */
  98437. pointStart?: number;
  98438. /**
  98439. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  98440. * each column or bar point. When `null`, the width is calculated from the
  98441. * `pointPadding` and `groupPadding`. The width effects the dimension that
  98442. * is not based on the point value. For column series it is the hoizontal
  98443. * length and for bar series it is the vertical length.
  98444. */
  98445. pointWidth?: number;
  98446. /**
  98447. * (Highcharts, Highstock) Whether to select the series initially. If
  98448. * `showCheckbox` is true, the checkbox next to the series name in the
  98449. * legend will be checked for a selected series.
  98450. */
  98451. selected?: boolean;
  98452. /**
  98453. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  98454. * legend item to allow selecting the series. The state of the checkbox is
  98455. * determined by the `selected` option.
  98456. */
  98457. showCheckbox?: boolean;
  98458. /**
  98459. * (Highcharts, Highstock) Whether to display this particular series or
  98460. * series type in the legend. Standalone series are shown in legend by
  98461. * default, and linked series are not. Since v7.2.0 it is possible to show
  98462. * series that use colorAxis by setting this option to `true`.
  98463. */
  98464. showInLegend?: boolean;
  98465. /**
  98466. * (Highstock) Whether or not to show the series in the navigator. Takes
  98467. * precedence over navigator.baseSeries if defined.
  98468. */
  98469. showInNavigator?: boolean;
  98470. /**
  98471. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  98472. * skip past the points in this series for keyboard navigation.
  98473. */
  98474. skipKeyboardNavigation?: boolean;
  98475. /**
  98476. * (Highcharts, Highstock) When this is true, the series will not cause the
  98477. * Y axis to cross the zero plane (or threshold option) unless the data
  98478. * actually crosses the plane.
  98479. *
  98480. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  98481. * make the Y axis show negative values according to the `minPadding`
  98482. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  98483. */
  98484. softThreshold?: boolean;
  98485. states?: SeriesStatesOptionsObject;
  98486. /**
  98487. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  98488. * `mouseOut` event on a series isn't triggered until the mouse moves over
  98489. * another series, or out of the plot area. When false, the `mouseOut` event
  98490. * on a series is triggered when the mouse leaves the area around the
  98491. * series' graph or markers. This also implies the tooltip when not shared.
  98492. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  98493. * will be hidden when moving the mouse between series. Defaults to true for
  98494. * line and area type series, but to false for columns, pies etc.
  98495. *
  98496. * **Note:** The boost module will force this option because of technical
  98497. * limitations.
  98498. */
  98499. stickyTracking?: boolean;
  98500. /**
  98501. * (Highcharts) The Y axis value to serve as the base for the columns, for
  98502. * distinguishing between values above and below a threshold. If `null`, the
  98503. * columns extend from the padding Y axis minimum.
  98504. */
  98505. threshold?: (number|null);
  98506. /**
  98507. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  98508. * of each single series. Properties are inherited from tooltip, but only
  98509. * the following properties can be defined on a series level.
  98510. */
  98511. tooltip?: SeriesTooltipOptionsObject;
  98512. /**
  98513. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  98514. * is longer than this, only one dimensional arrays of numbers, or two
  98515. * dimensional arrays with x and y values are allowed. Also, only the first
  98516. * point is tested, and the rest are assumed to be the same format. This
  98517. * saves expensive data checking and indexing in long series. Set it to `0`
  98518. * disable.
  98519. *
  98520. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  98521. * two dimensional arrays are allowed.
  98522. */
  98523. turboThreshold?: number;
  98524. /**
  98525. * (Highcharts, Highstock) Pixel length of the stems.
  98526. */
  98527. vectorLength?: number;
  98528. /**
  98529. * (Highcharts, Highstock) Set the initial visibility of the series.
  98530. */
  98531. visible?: boolean;
  98532. /**
  98533. * (Highcharts, Highstock) Horizontal offset from the cartesian position, in
  98534. * pixels. When the chart is inverted, this option allows translation like
  98535. * yOffset in non inverted charts.
  98536. */
  98537. xOffset?: number;
  98538. /**
  98539. * (Highcharts, Highstock) Vertical offset from the cartesian position, in
  98540. * pixels. The default value makes sure the symbols don't overlap the X axis
  98541. * when `onSeries` is `null`, and that they don't overlap the linked series
  98542. * when `onSeries` is given.
  98543. */
  98544. yOffset?: number;
  98545. /**
  98546. * (Highmaps) Define the z index of the series.
  98547. */
  98548. zIndex?: number;
  98549. /**
  98550. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  98551. */
  98552. zoneAxis?: string;
  98553. /**
  98554. * (Highcharts, Highstock) An array defining zones within a series. Zones
  98555. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  98556. * the `zoneAxis` option. The zone definitions have to be in ascending order
  98557. * regarding to the value.
  98558. *
  98559. * In styled mode, the color zones are styled with the
  98560. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  98561. * option (view live demo).
  98562. */
  98563. zones?: Array<SeriesZonesOptionsObject>;
  98564. }
  98565. /**
  98566. * (Highstock) Enable or disable the initial animation when a series is
  98567. * displayed. The animation can also be set as a configuration object. Please
  98568. * note that this option only applies to the initial animation of the series
  98569. * itself. For other animations, see chart.animation and the animation parameter
  98570. * under the API methods. The following properties are supported:
  98571. *
  98572. * - `defer`: The animation delay time in milliseconds.
  98573. *
  98574. * - `duration`: The duration of the animation in milliseconds.
  98575. *
  98576. * - `easing`: Can be a string reference to an easing function set on the `Math`
  98577. * object or a function. See the _Custom easing function_ demo below.
  98578. *
  98579. * Due to poor performance, animation is disabled in old IE browsers for several
  98580. * chart types.
  98581. */
  98582. export interface PlotWmaAnimationOptions {
  98583. defer?: number;
  98584. }
  98585. /**
  98586. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  98587. * animation when a series is displayed for the `dataLabels`. The animation can
  98588. * also be set as a configuration object. Please note that this option only
  98589. * applies to the initial animation. For other animations, see chart.animation
  98590. * and the animation parameter under the API methods. The following properties
  98591. * are supported:
  98592. *
  98593. * - `defer`: The animation delay time in milliseconds.
  98594. */
  98595. export interface PlotWmaDataLabelsAnimationOptions {
  98596. /**
  98597. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  98598. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  98599. * inherits defer time from the series.animation.defer.
  98600. */
  98601. defer?: number;
  98602. }
  98603. /**
  98604. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  98605. * appearing next to each data point.
  98606. *
  98607. * Since v6.2.0, multiple data labels can be applied to each single point by
  98608. * defining them as an array of configs.
  98609. *
  98610. * In styled mode, the data labels can be styled with the
  98611. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  98612. * example).
  98613. */
  98614. export interface PlotWmaDataLabelsOptions {
  98615. /**
  98616. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  98617. * compared to the point. If `right`, the right side of the label should be
  98618. * touching the point. For points with an extent, like columns, the
  98619. * alignments also dictates how to align it inside the box, as given with
  98620. * the inside option. Can be one of `left`, `center` or `right`.
  98621. */
  98622. align?: (AlignValue|null);
  98623. /**
  98624. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  98625. * overlap. To make the labels less sensitive for overlapping, the
  98626. * dataLabels.padding can be set to 0.
  98627. */
  98628. allowOverlap?: boolean;
  98629. /**
  98630. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  98631. * animation when a series is displayed for the `dataLabels`. The animation
  98632. * can also be set as a configuration object. Please note that this option
  98633. * only applies to the initial animation. For other animations, see
  98634. * chart.animation and the animation parameter under the API methods. The
  98635. * following properties are supported:
  98636. *
  98637. * - `defer`: The animation delay time in milliseconds.
  98638. */
  98639. animation?: (boolean|PlotWmaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  98640. /**
  98641. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  98642. * for the data label.
  98643. */
  98644. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  98645. /**
  98646. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  98647. * label. Defaults to `undefined`.
  98648. */
  98649. borderColor?: (ColorString|GradientColorObject|PatternObject);
  98650. /**
  98651. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  98652. * the data label.
  98653. */
  98654. borderRadius?: number;
  98655. /**
  98656. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  98657. * the data label.
  98658. */
  98659. borderWidth?: number;
  98660. /**
  98661. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  98662. * Particularly in styled mode, this can be used to give each series' or
  98663. * point's data label unique styling. In addition to this option, a default
  98664. * color class name is added so that we can give the labels a contrast text
  98665. * shadow.
  98666. */
  98667. className?: string;
  98668. /**
  98669. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  98670. * labels. Defaults to `undefined`. For certain series types, like column or
  98671. * map, the data labels can be drawn inside the points. In this case the
  98672. * data label will be drawn with maximum contrast by default. Additionally,
  98673. * it will be given a `text-outline` style with the opposite color, to
  98674. * further increase the contrast. This can be overridden by setting the
  98675. * `text-outline` style to `none` in the `dataLabels.style` option.
  98676. */
  98677. color?: (ColorString|GradientColorObject|PatternObject);
  98678. /**
  98679. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  98680. * are outside the plot area. By default, the data label is moved inside the
  98681. * plot area according to the overflow option.
  98682. */
  98683. crop?: boolean;
  98684. /**
  98685. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  98686. * labels until the initial series animation has finished. Setting to
  98687. * `false` renders the data label immediately. If set to `true` inherits the
  98688. * defer time set in plotOptions.series.animation.
  98689. */
  98690. defer?: boolean;
  98691. /**
  98692. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  98693. * labels.
  98694. */
  98695. enabled?: boolean;
  98696. /**
  98697. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  98698. * of which data labels to display. The declarative filter is designed for
  98699. * use when callback functions are not available, like when the chart
  98700. * options require a pure JSON structure or for use with graphical editors.
  98701. * For programmatic control, use the `formatter` instead, and return
  98702. * `undefined` to disable a single data label.
  98703. */
  98704. filter?: DataLabelsFilterOptionsObject;
  98705. /**
  98706. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  98707. * label. Available variables are the same as for `formatter`.
  98708. */
  98709. format?: string;
  98710. /**
  98711. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  98712. * format the data label. Note that if a `format` is defined, the format
  98713. * takes precedence and the formatter is ignored.
  98714. */
  98715. formatter?: DataLabelsFormatterCallbackFunction;
  98716. /**
  98717. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  98718. * columns or map areas, whether to align the data label inside the box or
  98719. * to the actual value point. Defaults to `false` in most cases, `true` in
  98720. * stacked columns.
  98721. */
  98722. inside?: boolean;
  98723. /**
  98724. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  98725. * of null. Works analogously to format. `nullFormat` can be applied only to
  98726. * series which support displaying null points.
  98727. */
  98728. nullFormat?: (boolean|string);
  98729. /**
  98730. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  98731. * that defines formatting for points with the value of null. Works
  98732. * analogously to formatter. `nullPointFormatter` can be applied only to
  98733. * series which support displaying null points.
  98734. */
  98735. nullFormatter?: DataLabelsFormatterCallbackFunction;
  98736. /**
  98737. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  98738. * flow outside the plot area. The default is `"justify"`, which aligns them
  98739. * inside the plot area. For columns and bars, this means it will be moved
  98740. * inside the bar. To display data labels outside the plot area, set `crop`
  98741. * to `false` and `overflow` to `"allow"`.
  98742. */
  98743. overflow?: DataLabelsOverflowValue;
  98744. /**
  98745. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  98746. * the `backgroundColor` is set, this is the padding within the box.
  98747. */
  98748. padding?: number;
  98749. /**
  98750. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  98751. * points. If `center` alignment is not possible, it defaults to `right`.
  98752. */
  98753. position?: AlignValue;
  98754. /**
  98755. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  98756. * that due to a more complex structure, backgrounds, borders and padding
  98757. * will be lost on a rotated data label.
  98758. */
  98759. rotation?: number;
  98760. /**
  98761. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  98762. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  98763. * an object configuration containing `color`, `offsetX`, `offsetY`,
  98764. * `opacity` and `width`.
  98765. */
  98766. shadow?: (boolean|ShadowOptionsObject);
  98767. /**
  98768. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  98769. * the border around the label. Symbols are predefined functions on the
  98770. * Renderer object.
  98771. */
  98772. shape?: string;
  98773. /**
  98774. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  98775. * default `color` setting is `"contrast"`, which is a pseudo color that
  98776. * Highcharts picks up and applies the maximum contrast to the underlying
  98777. * point item, for example the bar in a bar chart.
  98778. *
  98779. * The `textOutline` is a pseudo property that applies an outline of the
  98780. * given width with the given color, which by default is the maximum
  98781. * contrast to the text. So a bright text color will result in a black text
  98782. * outline for maximum readability on a mixed background. In some cases,
  98783. * especially with grayscale text, the text outline doesn't work well, in
  98784. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  98785. * is true, the `textOutline` will not be picked up. In this, case, the same
  98786. * effect can be acheived through the `text-shadow` CSS property.
  98787. *
  98788. * For some series types, where each point has an extent, like for example
  98789. * tree maps, the data label may overflow the point. There are two
  98790. * strategies for handling overflow. By default, the text will wrap to
  98791. * multiple lines. The other strategy is to set `style.textOverflow` to
  98792. * `ellipsis`, which will keep the text on one line plus it will break
  98793. * inside long words.
  98794. */
  98795. style?: CSSObject;
  98796. /**
  98797. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  98798. * should follow marker's shape. Border and background are disabled for a
  98799. * label that follows a path.
  98800. *
  98801. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  98802. * to true will disable this option.
  98803. */
  98804. textPath?: DataLabelsTextPathOptionsObject;
  98805. /**
  98806. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  98807. * the labels.
  98808. */
  98809. useHTML?: boolean;
  98810. /**
  98811. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  98812. * label. Can be one of `top`, `middle` or `bottom`. The default value
  98813. * depends on the data, for instance in a column chart, the label is above
  98814. * positive values and below negative values.
  98815. */
  98816. verticalAlign?: (VerticalAlignValue|null);
  98817. /**
  98818. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  98819. * label relative to the point in pixels.
  98820. */
  98821. x?: number;
  98822. /**
  98823. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  98824. * label relative to the point in pixels.
  98825. */
  98826. y?: number;
  98827. /**
  98828. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  98829. * The default Z index puts it above the series. Use a Z index of 2 to
  98830. * display it behind the series.
  98831. */
  98832. z?: number;
  98833. }
  98834. /**
  98835. * (Highcharts, Highstock) Options for the series data sorting.
  98836. */
  98837. export interface PlotWmaDataSortingOptions {
  98838. /**
  98839. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  98840. * Use xAxis.reversed to change the sorting order.
  98841. */
  98842. enabled?: boolean;
  98843. /**
  98844. * (Highcharts, Highstock) Whether to allow matching points by name in an
  98845. * update. If this option is disabled, points will be matched by order.
  98846. */
  98847. matchByName?: boolean;
  98848. /**
  98849. * (Highcharts, Highstock) Determines what data value should be used to sort
  98850. * by.
  98851. */
  98852. sortKey?: string;
  98853. }
  98854. /**
  98855. * (Highstock) Weighted moving average indicator (WMA). This series requires
  98856. * `linkedTo` option to be set.
  98857. *
  98858. * In TypeScript the type option must always be set.
  98859. *
  98860. * Configuration options for the series are given in three levels:
  98861. *
  98862. * 1. Options for all series in a chart are defined in the plotOptions.series
  98863. * object.
  98864. *
  98865. * 2. Options for all `wma` series are defined in plotOptions.wma.
  98866. *
  98867. * 3. Options for one single series are given in the series instance array. (see
  98868. * online documentation for example)
  98869. */
  98870. export interface PlotWmaOptions {
  98871. /**
  98872. * (Highstock) Accessibility options for a series.
  98873. */
  98874. accessibility?: SeriesAccessibilityOptionsObject;
  98875. /**
  98876. * (Highstock) Allow this series' points to be selected by clicking on the
  98877. * graphic (columns, point markers, pie slices, map areas etc).
  98878. *
  98879. * The selected points can be handled by point select and unselect events,
  98880. * or collectively by the getSelectedPoints function.
  98881. *
  98882. * And alternative way of selecting points is through dragging.
  98883. */
  98884. allowPointSelect?: boolean;
  98885. /**
  98886. * (Highstock) Enable or disable the initial animation when a series is
  98887. * displayed. The animation can also be set as a configuration object.
  98888. * Please note that this option only applies to the initial animation of the
  98889. * series itself. For other animations, see chart.animation and the
  98890. * animation parameter under the API methods. The following properties are
  98891. * supported:
  98892. *
  98893. * - `defer`: The animation delay time in milliseconds.
  98894. *
  98895. * - `duration`: The duration of the animation in milliseconds.
  98896. *
  98897. * - `easing`: Can be a string reference to an easing function set on the
  98898. * `Math` object or a function. See the _Custom easing function_ demo below.
  98899. *
  98900. * Due to poor performance, animation is disabled in old IE browsers for
  98901. * several chart types.
  98902. */
  98903. animation?: (boolean|PlotWmaAnimationOptions|Partial<AnimationOptionsObject>);
  98904. /**
  98905. * (Highstock) For some series, there is a limit that shuts down initial
  98906. * animation by default when the total number of points in the chart is too
  98907. * high. For example, for a column chart and its derivatives, animation does
  98908. * not run if there is more than 250 points totally. To disable this cap,
  98909. * set `animationLimit` to `Infinity`.
  98910. */
  98911. animationLimit?: number;
  98912. /**
  98913. * (Highstock) Sets the color blending in the boost module.
  98914. */
  98915. boostBlending?: OptionsBoostBlendingValue;
  98916. /**
  98917. * (Highstock) Set the point threshold for when a series should enter boost
  98918. * mode.
  98919. *
  98920. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  98921. * there are 2000 or more points in the series.
  98922. *
  98923. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  98924. * it to 1 will force boosting.
  98925. *
  98926. * Note that the cropThreshold also affects this setting. When zooming in on
  98927. * a series that has fewer points than the `cropThreshold`, all points are
  98928. * rendered although outside the visible plot area, and the `boostThreshold`
  98929. * won't take effect.
  98930. */
  98931. boostThreshold?: number;
  98932. /**
  98933. * (Highmaps) The border color of the map areas.
  98934. *
  98935. * In styled mode, the border stroke is given in the `.highcharts-point`
  98936. * class.
  98937. */
  98938. borderColor?: (ColorString|GradientColorObject|PatternObject);
  98939. /**
  98940. * (Highmaps) The border width of each map area.
  98941. *
  98942. * In styled mode, the border stroke width is given in the
  98943. * `.highcharts-point` class.
  98944. */
  98945. borderWidth?: number;
  98946. /**
  98947. * (Highstock) An additional class name to apply to the series' graphical
  98948. * elements. This option does not replace default class names of the
  98949. * graphical element.
  98950. */
  98951. className?: string;
  98952. /**
  98953. * (Highstock) Disable this option to allow series rendering in the whole
  98954. * plotting area.
  98955. *
  98956. * **Note:** Clipping should be always enabled when chart.zoomType is set
  98957. */
  98958. clip?: boolean;
  98959. /**
  98960. * (Highstock) The main color of the series. In line type series it applies
  98961. * to the line and the point markers unless otherwise specified. In bar type
  98962. * series it applies to the bars unless a color is specified per point. The
  98963. * default value is pulled from the `options.colors` array.
  98964. *
  98965. * In styled mode, the color can be defined by the colorIndex option. Also,
  98966. * the series color can be set with the `.highcharts-series`,
  98967. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  98968. * `.highcharts-series-{n}` class, or individual classes given by the
  98969. * `className` option.
  98970. */
  98971. color?: (ColorString|GradientColorObject|PatternObject);
  98972. /**
  98973. * (Highstock) Styled mode only. A specific color index to use for the
  98974. * series, so its graphic representations are given the class name
  98975. * `highcharts-color-{n}`.
  98976. */
  98977. colorIndex?: number;
  98978. /**
  98979. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  98980. * used to calculate point color if `colorAxis` is used. Requires to set
  98981. * `min` and `max` if some custom point property is used or if approximation
  98982. * for data grouping is set to `'sum'`.
  98983. */
  98984. colorKey?: string;
  98985. /**
  98986. * (Highstock) Compare the values of the series against the first non-null,
  98987. * non- zero value in the visible range. The y axis will show percentage or
  98988. * absolute change depending on whether `compare` is set to `"percent"` or
  98989. * `"value"`. When this is applied to multiple series, it allows comparing
  98990. * the development of the series against each other. Adds a `change` field
  98991. * to every point object.
  98992. */
  98993. compare?: string;
  98994. /**
  98995. * (Highstock) When compare is `percent`, this option dictates whether to
  98996. * use 0 or 100 as the base of comparison.
  98997. */
  98998. compareBase?: (0|100);
  98999. /**
  99000. * (Highstock) Defines if comparison should start from the first point
  99001. * within the visible range or should start from the first point **before**
  99002. * the range.
  99003. *
  99004. * In other words, this flag determines if first point within the visible
  99005. * range will have 0% (`compareStart=true`) or should have been already
  99006. * calculated according to the previous point (`compareStart=false`).
  99007. */
  99008. compareStart?: boolean;
  99009. /**
  99010. * (Highstock) Whether to compare indicator to the main series values or
  99011. * indicator values.
  99012. */
  99013. compareToMain?: boolean;
  99014. /**
  99015. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  99016. * series plot across the extremes.
  99017. */
  99018. connectEnds?: boolean;
  99019. /**
  99020. * (Highcharts, Highstock) Whether to connect a graph line across null
  99021. * points, or render a gap between the two points on either side of the
  99022. * null.
  99023. */
  99024. connectNulls?: boolean;
  99025. /**
  99026. * (Gantt) Override Pathfinder connector options for a series. Requires
  99027. * Highcharts Gantt to be loaded.
  99028. */
  99029. connectors?: SeriesConnectorsOptionsObject;
  99030. /**
  99031. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  99032. * rounded to its nearest pixel in order to render sharp on screen. In some
  99033. * cases, when there are a lot of densely packed columns, this leads to
  99034. * visible difference in column widths or distance between columns. In these
  99035. * cases, setting `crisp` to `false` may look better, even though each
  99036. * column is rendered blurry.
  99037. */
  99038. crisp?: boolean;
  99039. /**
  99040. * (Highcharts, Highstock) When the series contains less points than the
  99041. * crop threshold, all points are drawn, even if the points fall outside the
  99042. * visible plot area at the current zoom. The advantage of drawing all
  99043. * points (including markers and columns), is that animation is performed on
  99044. * updates. On the other hand, when the series contains more points than the
  99045. * crop threshold, the series data is cropped to only contain points that
  99046. * fall within the plot area. The advantage of cropping away invisible
  99047. * points is to increase performance on large series.
  99048. */
  99049. cropThreshold?: number;
  99050. /**
  99051. * (Highstock) You can set the cursor to "pointer" if you have click events
  99052. * attached to the series, to signal to the user that the points and lines
  99053. * can be clicked.
  99054. *
  99055. * In styled mode, the series cursor can be set with the same classes as
  99056. * listed under series.color.
  99057. */
  99058. cursor?: (string|CursorValue);
  99059. /**
  99060. * (Highstock) A reserved subspace to store options and values for
  99061. * customized functionality. Here you can add additional data for your own
  99062. * event callbacks and formatter callbacks.
  99063. */
  99064. custom?: Dictionary<any>;
  99065. /**
  99066. * (Highstock) Name of the dash style to use for the graph, or for some
  99067. * series types the outline of each shape.
  99068. *
  99069. * In styled mode, the stroke dash-array can be set with the same classes as
  99070. * listed under series.color.
  99071. */
  99072. dashStyle?: DashStyleValue;
  99073. /**
  99074. * (Highstock) Data grouping is the concept of sampling the data values into
  99075. * larger blocks in order to ease readability and increase performance of
  99076. * the JavaScript charts. Highstock by default applies data grouping when
  99077. * the points become closer than a certain pixel value, determined by the
  99078. * `groupPixelWidth` option.
  99079. *
  99080. * If data grouping is applied, the grouping information of grouped points
  99081. * can be read from the Point.dataGroup. If point options other than the
  99082. * data itself are set, for example `name` or `color` or custom properties,
  99083. * the grouping logic doesn't know how to group it. In this case the options
  99084. * of the first point instance are copied over to the group point. This can
  99085. * be altered through a custom `approximation` callback function.
  99086. */
  99087. dataGrouping?: DataGroupingOptionsObject;
  99088. /**
  99089. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  99090. * labels, appearing next to each data point.
  99091. *
  99092. * Since v6.2.0, multiple data labels can be applied to each single point by
  99093. * defining them as an array of configs.
  99094. *
  99095. * In styled mode, the data labels can be styled with the
  99096. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  99097. * (see example).
  99098. */
  99099. dataLabels?: (PlotWmaDataLabelsOptions|Array<PlotWmaDataLabelsOptions>);
  99100. /**
  99101. * (Highcharts, Highstock) Options for the series data sorting.
  99102. */
  99103. dataSorting?: (DataSortingOptionsObject|PlotWmaDataSortingOptions);
  99104. /**
  99105. * (Highstock) A description of the series to add to the screen reader
  99106. * information about the series.
  99107. */
  99108. description?: string;
  99109. /**
  99110. * (Highstock) Enable or disable the mouse tracking for a specific series.
  99111. * This includes point tooltips and click events on graphs and points. For
  99112. * large datasets it improves performance.
  99113. */
  99114. enableMouseTracking?: boolean;
  99115. /**
  99116. * (Highstock) General event handlers for the series items. These event
  99117. * hooks can also be attached to the series at run time using the
  99118. * `Highcharts.addEvent` function.
  99119. */
  99120. events?: SeriesEventsOptionsObject;
  99121. /**
  99122. * (Highstock) Determines whether the series should look for the nearest
  99123. * point in both dimensions or just the x-dimension when hovering the
  99124. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  99125. * series. If the data has duplicate x-values, it is recommended to set this
  99126. * to `'xy'` to allow hovering over all points.
  99127. *
  99128. * Applies only to series types using nearest neighbor search (not direct
  99129. * hover) for tooltip.
  99130. */
  99131. findNearestPointBy?: OptionsFindNearestPointByValue;
  99132. /**
  99133. * (Highstock) Defines when to display a gap in the graph, together with the
  99134. * gapUnit option.
  99135. *
  99136. * In case when `dataGrouping` is enabled, points can be grouped into a
  99137. * larger time span. This can make the grouped points to have a greater
  99138. * distance than the absolute value of `gapSize` property, which will result
  99139. * in disappearing graph completely. To prevent this situation the mentioned
  99140. * distance between grouped points is used instead of previously defined
  99141. * `gapSize`.
  99142. *
  99143. * In practice, this option is most often used to visualize gaps in time
  99144. * series. In a stock chart, intraday data is available for daytime hours,
  99145. * while gaps will appear in nights and weekends.
  99146. */
  99147. gapSize?: number;
  99148. /**
  99149. * (Highstock) Together with gapSize, this option defines where to draw gaps
  99150. * in the graph.
  99151. *
  99152. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  99153. * if the distance between two points is greater than 5 times that of the
  99154. * two closest points, the graph will be broken.
  99155. *
  99156. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  99157. * values, which on a datetime axis is milliseconds. This also applies to
  99158. * the navigator series that inherits gap options from the base series.
  99159. */
  99160. gapUnit?: OptionsGapUnitValue;
  99161. /**
  99162. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  99163. * chart width or only the zoomed area when zooming in on parts of the X
  99164. * axis. By default, the Y axis adjusts to the min and max of the visible
  99165. * data. Cartesian series only.
  99166. */
  99167. getExtremesFromAll?: boolean;
  99168. /**
  99169. * (Highstock) When set to `false` will prevent the series data from being
  99170. * included in any form of data export.
  99171. *
  99172. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  99173. * `includeInCSVExport`.
  99174. */
  99175. includeInDataExport?: boolean;
  99176. /**
  99177. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  99178. * series as possible in a natural way, seeking to avoid other series. The
  99179. * goal of this feature is to make the chart more easily readable, like if a
  99180. * human designer placed the labels in the optimal position.
  99181. *
  99182. * The series labels currently work with series types having a `graph` or an
  99183. * `area`.
  99184. */
  99185. label?: SeriesLabelOptionsObject;
  99186. /**
  99187. * (Highstock) The line marks the last price from all points.
  99188. */
  99189. lastPrice?: SeriesLastPriceOptionsObject;
  99190. /**
  99191. * (Highstock) The line marks the last price from visible range of points.
  99192. */
  99193. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  99194. /**
  99195. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  99196. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  99197. * the ends and bends.
  99198. */
  99199. linecap?: SeriesLinecapValue;
  99200. /**
  99201. * (Highcharts, Highstock) Pixel width of the graph line.
  99202. */
  99203. lineWidth?: number;
  99204. /**
  99205. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  99206. * based on. Required for this indicator.
  99207. */
  99208. linkedTo?: string;
  99209. /**
  99210. * (Highstock) Options for the point markers of line-like series. Properties
  99211. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  99212. * appearance of the markers. Other series types, like column series, don't
  99213. * have markers, but have visual options on the series level instead.
  99214. *
  99215. * In styled mode, the markers can be styled with the `.highcharts-point`,
  99216. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  99217. */
  99218. marker?: PointMarkerOptionsObject;
  99219. /**
  99220. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  99221. * If not set, it will be based on a technical indicator type and default
  99222. * params.
  99223. */
  99224. name?: string;
  99225. /**
  99226. * (Highstock) The color for the parts of the graph or points that are below
  99227. * the threshold. Note that `zones` takes precedence over the negative
  99228. * color. Using `negativeColor` is equivalent to applying a zone with value
  99229. * of 0.
  99230. */
  99231. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  99232. /**
  99233. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  99234. * dataLabels.
  99235. */
  99236. opacity?: number;
  99237. /**
  99238. * (Highstock) Paramters used in calculation of regression series' points.
  99239. */
  99240. params?: PlotWmaParamsOptions;
  99241. /**
  99242. * (Highstock) Properties for each single point.
  99243. */
  99244. point?: PlotSeriesPointOptions;
  99245. /**
  99246. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  99247. * individual series. Overrides the chart wide configuration.
  99248. */
  99249. pointDescriptionFormatter?: Function;
  99250. /**
  99251. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  99252. * true, the checkbox next to the series name in the legend will be checked
  99253. * for a selected series.
  99254. */
  99255. selected?: boolean;
  99256. /**
  99257. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  99258. * the shadow can be an object configuration containing `color`, `offsetX`,
  99259. * `offsetY`, `opacity` and `width`.
  99260. */
  99261. shadow?: (boolean|ShadowOptionsObject);
  99262. /**
  99263. * (Highstock) If true, a checkbox is displayed next to the legend item to
  99264. * allow selecting the series. The state of the checkbox is determined by
  99265. * the `selected` option.
  99266. */
  99267. showCheckbox?: boolean;
  99268. /**
  99269. * (Highstock) Whether to display this particular series or series type in
  99270. * the legend. Standalone series are shown in legend by default, and linked
  99271. * series are not. Since v7.2.0 it is possible to show series that use
  99272. * colorAxis by setting this option to `true`.
  99273. */
  99274. showInLegend?: boolean;
  99275. /**
  99276. * (Highstock) If set to `true`, the accessibility module will skip past the
  99277. * points in this series for keyboard navigation.
  99278. */
  99279. skipKeyboardNavigation?: boolean;
  99280. /**
  99281. * (Highcharts, Highstock) When this is true, the series will not cause the
  99282. * Y axis to cross the zero plane (or threshold option) unless the data
  99283. * actually crosses the plane.
  99284. *
  99285. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  99286. * make the Y axis show negative values according to the `minPadding`
  99287. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  99288. */
  99289. softThreshold?: boolean;
  99290. states?: SeriesStatesOptionsObject;
  99291. /**
  99292. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  99293. * values are `left`, `center` and `right`.
  99294. */
  99295. step?: OptionsStepValue;
  99296. /**
  99297. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  99298. * event on a series isn't triggered until the mouse moves over another
  99299. * series, or out of the plot area. When false, the `mouseOut` event on a
  99300. * series is triggered when the mouse leaves the area around the series'
  99301. * graph or markers. This also implies the tooltip when not shared. When
  99302. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  99303. * be hidden when moving the mouse between series. Defaults to true for line
  99304. * and area type series, but to false for columns, pies etc.
  99305. *
  99306. * **Note:** The boost module will force this option because of technical
  99307. * limitations.
  99308. */
  99309. stickyTracking?: boolean;
  99310. /**
  99311. * (Highcharts, Highstock) The threshold, also called zero level or base
  99312. * level. For line type series this is only used in conjunction with
  99313. * negativeColor.
  99314. */
  99315. threshold?: number;
  99316. /**
  99317. * (Highstock) A configuration object for the tooltip rendering of each
  99318. * single series. Properties are inherited from tooltip, but only the
  99319. * following properties can be defined on a series level.
  99320. */
  99321. tooltip?: SeriesTooltipOptionsObject;
  99322. /**
  99323. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  99324. * is longer than this, only one dimensional arrays of numbers, or two
  99325. * dimensional arrays with x and y values are allowed. Also, only the first
  99326. * point is tested, and the rest are assumed to be the same format. This
  99327. * saves expensive data checking and indexing in long series. Set it to `0`
  99328. * disable.
  99329. *
  99330. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  99331. * two dimensional arrays are allowed.
  99332. */
  99333. turboThreshold?: number;
  99334. /**
  99335. * (Highstock) Set the initial visibility of the series.
  99336. */
  99337. visible?: boolean;
  99338. /**
  99339. * (Highmaps) Define the z index of the series.
  99340. */
  99341. zIndex?: number;
  99342. /**
  99343. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  99344. */
  99345. zoneAxis?: string;
  99346. /**
  99347. * (Highcharts, Highstock) An array defining zones within a series. Zones
  99348. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  99349. * the `zoneAxis` option. The zone definitions have to be in ascending order
  99350. * regarding to the value.
  99351. *
  99352. * In styled mode, the color zones are styled with the
  99353. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  99354. * option (view live demo).
  99355. */
  99356. zones?: Array<SeriesZonesOptionsObject>;
  99357. }
  99358. /**
  99359. * (Highstock) Paramters used in calculation of regression series' points.
  99360. */
  99361. export interface PlotWmaParamsOptions {
  99362. /**
  99363. * (Highstock) The point index which indicator calculations will base. For
  99364. * example using OHLC data, index=2 means the indicator will be calculated
  99365. * using Low values.
  99366. */
  99367. index?: number;
  99368. /**
  99369. * (Highstock) The base period for indicator calculations. This is the
  99370. * number of data points which are taken into account for the indicator
  99371. * calculations.
  99372. */
  99373. period?: number;
  99374. }
  99375. /**
  99376. * (Highcharts) Enable or disable the initial animation when a series is
  99377. * displayed. The animation can also be set as a configuration object. Please
  99378. * note that this option only applies to the initial animation of the series
  99379. * itself. For other animations, see chart.animation and the animation parameter
  99380. * under the API methods. The following properties are supported:
  99381. *
  99382. * - `defer`: The animation delay time in milliseconds.
  99383. *
  99384. * - `duration`: The duration of the animation in milliseconds.
  99385. *
  99386. * - `easing`: Can be a string reference to an easing function set on the `Math`
  99387. * object or a function. See the _Custom easing function_ demo below.
  99388. *
  99389. * Due to poor performance, animation is disabled in old IE browsers for several
  99390. * chart types.
  99391. */
  99392. export interface PlotWordcloudAnimationOptions {
  99393. defer?: number;
  99394. }
  99395. /**
  99396. * (Highcharts) A word cloud is a visualization of a set of words, where the
  99397. * size and placement of a word is determined by how it is weighted.
  99398. *
  99399. * In TypeScript the type option must always be set.
  99400. *
  99401. * Configuration options for the series are given in three levels:
  99402. *
  99403. * 1. Options for all series in a chart are defined in the plotOptions.series
  99404. * object.
  99405. *
  99406. * 2. Options for all `wordcloud` series are defined in plotOptions.wordcloud.
  99407. *
  99408. * 3. Options for one single series are given in the series instance array. (see
  99409. * online documentation for example)
  99410. */
  99411. export interface PlotWordcloudOptions {
  99412. /**
  99413. * (Highcharts) Accessibility options for a series.
  99414. */
  99415. accessibility?: SeriesAccessibilityOptionsObject;
  99416. /**
  99417. * (Highcharts) If there is no space for a word on the playing field, then
  99418. * this option will allow the playing field to be extended to fit the word.
  99419. * If false then the word will be dropped from the visualization.
  99420. *
  99421. * NB! This option is currently not decided to be published in the API, and
  99422. * is therefore marked as private.
  99423. */
  99424. allowExtendPlayingField?: boolean;
  99425. /**
  99426. * (Highcharts) Allow this series' points to be selected by clicking on the
  99427. * graphic (columns, point markers, pie slices, map areas etc).
  99428. *
  99429. * The selected points can be handled by point select and unselect events,
  99430. * or collectively by the getSelectedPoints function.
  99431. *
  99432. * And alternative way of selecting points is through dragging.
  99433. */
  99434. allowPointSelect?: boolean;
  99435. /**
  99436. * (Highcharts) Enable or disable the initial animation when a series is
  99437. * displayed. The animation can also be set as a configuration object.
  99438. * Please note that this option only applies to the initial animation of the
  99439. * series itself. For other animations, see chart.animation and the
  99440. * animation parameter under the API methods. The following properties are
  99441. * supported:
  99442. *
  99443. * - `defer`: The animation delay time in milliseconds.
  99444. *
  99445. * - `duration`: The duration of the animation in milliseconds.
  99446. *
  99447. * - `easing`: Can be a string reference to an easing function set on the
  99448. * `Math` object or a function. See the _Custom easing function_ demo below.
  99449. *
  99450. * Due to poor performance, animation is disabled in old IE browsers for
  99451. * several chart types.
  99452. */
  99453. animation?: (boolean|PlotWordcloudAnimationOptions|Partial<AnimationOptionsObject>);
  99454. /**
  99455. * (Highcharts) For some series, there is a limit that shuts down initial
  99456. * animation by default when the total number of points in the chart is too
  99457. * high. For example, for a column chart and its derivatives, animation does
  99458. * not run if there is more than 250 points totally. To disable this cap,
  99459. * set `animationLimit` to `Infinity`.
  99460. */
  99461. animationLimit?: number;
  99462. /**
  99463. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  99464. * column or bar.
  99465. *
  99466. * In styled mode, the border stroke can be set with the `.highcharts-point`
  99467. * rule.
  99468. */
  99469. borderColor?: (ColorString|GradientColorObject|PatternObject);
  99470. /**
  99471. * (Highcharts, Highstock, Gantt) The corner radius of the border
  99472. * surrounding each column or bar.
  99473. */
  99474. borderRadius?: number;
  99475. /**
  99476. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  99477. * column or bar. Defaults to `1` when there is room for a border, but to
  99478. * `0` when the columns are so dense that a border would cover the next
  99479. * column.
  99480. *
  99481. * In styled mode, the stroke width can be set with the `.highcharts-point`
  99482. * rule.
  99483. */
  99484. borderWidth?: number;
  99485. /**
  99486. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  99487. * the category, ignoring null or missing points. When `false`, space will
  99488. * be reserved for null or missing points.
  99489. */
  99490. centerInCategory?: boolean;
  99491. /**
  99492. * (Highcharts) An additional class name to apply to the series' graphical
  99493. * elements. This option does not replace default class names of the
  99494. * graphical element.
  99495. */
  99496. className?: string;
  99497. clip?: boolean;
  99498. /**
  99499. * (Highcharts) The main color of the series. In line type series it applies
  99500. * to the line and the point markers unless otherwise specified. In bar type
  99501. * series it applies to the bars unless a color is specified per point. The
  99502. * default value is pulled from the `options.colors` array.
  99503. *
  99504. * In styled mode, the color can be defined by the colorIndex option. Also,
  99505. * the series color can be set with the `.highcharts-series`,
  99506. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  99507. * `.highcharts-series-{n}` class, or individual classes given by the
  99508. * `className` option.
  99509. */
  99510. color?: (ColorString|GradientColorObject|PatternObject);
  99511. /**
  99512. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  99513. * from the global colors or series-specific plotOptions.column.colors
  99514. * collections, this option determines whether the chart should receive one
  99515. * color per series or one color per point.
  99516. *
  99517. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  99518. * and instead this option gives the points individual color class names on
  99519. * the form `highcharts-color-{n}`.
  99520. */
  99521. colorByPoint?: boolean;
  99522. /**
  99523. * (Highcharts) Styled mode only. A specific color index to use for the
  99524. * series, so its graphic representations are given the class name
  99525. * `highcharts-color-{n}`.
  99526. */
  99527. colorIndex?: number;
  99528. /**
  99529. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  99530. * used to calculate point color if `colorAxis` is used. Requires to set
  99531. * `min` and `max` if some custom point property is used or if approximation
  99532. * for data grouping is set to `'sum'`.
  99533. */
  99534. colorKey?: string;
  99535. /**
  99536. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  99537. * color set to apply instead of the global colors when colorByPoint is
  99538. * true.
  99539. */
  99540. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  99541. /**
  99542. * (Highstock) Defines if comparison should start from the first point
  99543. * within the visible range or should start from the first point **before**
  99544. * the range.
  99545. *
  99546. * In other words, this flag determines if first point within the visible
  99547. * range will have 0% (`compareStart=true`) or should have been already
  99548. * calculated according to the previous point (`compareStart=false`).
  99549. */
  99550. compareStart?: boolean;
  99551. /**
  99552. * (Gantt) Override Pathfinder connector options for a series. Requires
  99553. * Highcharts Gantt to be loaded.
  99554. */
  99555. connectors?: SeriesConnectorsOptionsObject;
  99556. /**
  99557. * (Highcharts, Highstock, Gantt) When the series contains less points than
  99558. * the crop threshold, all points are drawn, event if the points fall
  99559. * outside the visible plot area at the current zoom. The advantage of
  99560. * drawing all points (including markers and columns), is that animation is
  99561. * performed on updates. On the other hand, when the series contains more
  99562. * points than the crop threshold, the series data is cropped to only
  99563. * contain points that fall within the plot area. The advantage of cropping
  99564. * away invisible points is to increase performance on large series.
  99565. */
  99566. cropThreshold?: number;
  99567. /**
  99568. * (Highcharts) You can set the cursor to "pointer" if you have click events
  99569. * attached to the series, to signal to the user that the points and lines
  99570. * can be clicked.
  99571. *
  99572. * In styled mode, the series cursor can be set with the same classes as
  99573. * listed under series.color.
  99574. */
  99575. cursor?: (string|CursorValue);
  99576. /**
  99577. * (Highcharts) A reserved subspace to store options and values for
  99578. * customized functionality. Here you can add additional data for your own
  99579. * event callbacks and formatter callbacks.
  99580. */
  99581. custom?: Dictionary<any>;
  99582. /**
  99583. * (Highcharts) Name of the dash style to use for the graph, or for some
  99584. * series types the outline of each shape.
  99585. *
  99586. * In styled mode, the stroke dash-array can be set with the same classes as
  99587. * listed under series.color.
  99588. */
  99589. dashStyle?: DashStyleValue;
  99590. /**
  99591. * (Highcharts) A description of the series to add to the screen reader
  99592. * information about the series.
  99593. */
  99594. description?: string;
  99595. /**
  99596. * (Highcharts) 3D columns only. The width of the colored edges.
  99597. */
  99598. edgeWidth?: number;
  99599. /**
  99600. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  99601. * This includes point tooltips and click events on graphs and points. For
  99602. * large datasets it improves performance.
  99603. */
  99604. enableMouseTracking?: boolean;
  99605. /**
  99606. * (Highcharts) General event handlers for the series items. These event
  99607. * hooks can also be attached to the series at run time using the
  99608. * `Highcharts.addEvent` function.
  99609. */
  99610. events?: SeriesEventsOptionsObject;
  99611. /**
  99612. * (Highcharts) When set to `false` will prevent the series data from being
  99613. * included in any form of data export.
  99614. *
  99615. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  99616. * `includeInCSVExport`.
  99617. */
  99618. includeInDataExport?: boolean;
  99619. /**
  99620. * (Highcharts) An array specifying which option maps to which key in the
  99621. * data point array. This makes it convenient to work with unstructured data
  99622. * arrays from different sources.
  99623. */
  99624. keys?: Array<string>;
  99625. /**
  99626. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  99627. * series as possible in a natural way, seeking to avoid other series. The
  99628. * goal of this feature is to make the chart more easily readable, like if a
  99629. * human designer placed the labels in the optimal position.
  99630. *
  99631. * The series labels currently work with series types having a `graph` or an
  99632. * `area`.
  99633. */
  99634. label?: SeriesLabelOptionsObject;
  99635. /**
  99636. * (Highstock) The line marks the last price from all points.
  99637. */
  99638. lastPrice?: SeriesLastPriceOptionsObject;
  99639. /**
  99640. * (Highstock) The line marks the last price from visible range of points.
  99641. */
  99642. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  99643. /**
  99644. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  99645. * Additionally, the value can be ":previous" to link to the previous
  99646. * series. When two series are linked, only the first one appears in the
  99647. * legend. Toggling the visibility of this also toggles the linked series.
  99648. *
  99649. * If master series uses data sorting and linked series does not have its
  99650. * own sorting definition, the linked series will be sorted in the same
  99651. * order as the master one.
  99652. */
  99653. linkedTo?: string;
  99654. /**
  99655. * (Highcharts) The word with the largest weight will have a font size equal
  99656. * to this value. The font size of a word is the ratio between its weight
  99657. * and the largest occuring weight, multiplied with the value of
  99658. * maxFontSize.
  99659. */
  99660. maxFontSize?: number;
  99661. /**
  99662. * (Highcharts) A threshold determining the minimum font size that can be
  99663. * applied to a word.
  99664. */
  99665. minFontSize?: number;
  99666. /**
  99667. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  99668. * dataLabels.
  99669. */
  99670. opacity?: number;
  99671. /**
  99672. * (Highcharts) This option decides which algorithm is used for placement,
  99673. * and rotation of a word. The choice of algorith is therefore a crucial
  99674. * part of the resulting layout of the wordcloud. It is possible for users
  99675. * to add their own custom placement strategies for use in word cloud. Read
  99676. * more about it in our documentation
  99677. */
  99678. placementStrategy?: string;
  99679. /**
  99680. * (Highcharts) Properties for each single point.
  99681. */
  99682. point?: PlotSeriesPointOptions;
  99683. /**
  99684. * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
  99685. * individual series. Overrides the chart wide configuration.
  99686. */
  99687. pointDescriptionFormatter?: Function;
  99688. /**
  99689. * (Highcharts) Rotation options for the words in the wordcloud.
  99690. */
  99691. rotation?: PlotWordcloudRotationOptions;
  99692. /**
  99693. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  99694. * true, the checkbox next to the series name in the legend will be checked
  99695. * for a selected series.
  99696. */
  99697. selected?: boolean;
  99698. /**
  99699. * (Highcharts) Whether to display this particular series or series type in
  99700. * the legend. Standalone series are shown in legend by default, and linked
  99701. * series are not. Since v7.2.0 it is possible to show series that use
  99702. * colorAxis by setting this option to `true`.
  99703. */
  99704. showInLegend?: boolean;
  99705. /**
  99706. * (Highcharts) If set to `true`, the accessibility module will skip past
  99707. * the points in this series for keyboard navigation.
  99708. */
  99709. skipKeyboardNavigation?: boolean;
  99710. /**
  99711. * (Highcharts) Spiral used for placing a word after the initial position
  99712. * experienced a collision with either another word or the borders. It is
  99713. * possible for users to add their own custom spiralling algorithms for use
  99714. * in word cloud. Read more about it in our documentation
  99715. */
  99716. spiral?: string;
  99717. states?: SeriesStatesOptionsObject;
  99718. /**
  99719. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  99720. * event on a series isn't triggered until the mouse moves over another
  99721. * series, or out of the plot area. When false, the `mouseOut` event on a
  99722. * series is triggered when the mouse leaves the area around the series'
  99723. * graph or markers. This also implies the tooltip when not shared. When
  99724. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  99725. * be hidden when moving the mouse between series. Defaults to true for line
  99726. * and area type series, but to false for columns, pies etc.
  99727. *
  99728. * **Note:** The boost module will force this option because of technical
  99729. * limitations.
  99730. */
  99731. stickyTracking?: boolean;
  99732. /**
  99733. * (Highcharts) CSS styles for the words.
  99734. */
  99735. style?: CSSObject;
  99736. /**
  99737. * (Highcharts) A configuration object for the tooltip rendering of each
  99738. * single series. Properties are inherited from tooltip, but only the
  99739. * following properties can be defined on a series level.
  99740. */
  99741. tooltip?: SeriesTooltipOptionsObject;
  99742. /**
  99743. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  99744. * is longer than this, only one dimensional arrays of numbers, or two
  99745. * dimensional arrays with x and y values are allowed. Also, only the first
  99746. * point is tested, and the rest are assumed to be the same format. This
  99747. * saves expensive data checking and indexing in long series. Set it to `0`
  99748. * disable.
  99749. *
  99750. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  99751. * two dimensional arrays are allowed.
  99752. */
  99753. turboThreshold?: number;
  99754. /**
  99755. * (Highcharts) Set the initial visibility of the series.
  99756. */
  99757. visible?: boolean;
  99758. /**
  99759. * (Highmaps) Define the z index of the series.
  99760. */
  99761. zIndex?: number;
  99762. }
  99763. /**
  99764. * (Highcharts) Rotation options for the words in the wordcloud.
  99765. */
  99766. export interface PlotWordcloudRotationOptions {
  99767. /**
  99768. * (Highcharts) The smallest degree of rotation for a word.
  99769. */
  99770. from?: number;
  99771. /**
  99772. * (Highcharts) The number of possible orientations for a word, within the
  99773. * range of `rotation.from` and `rotation.to`. Must be a number larger than
  99774. * 0.
  99775. */
  99776. orientations?: number;
  99777. /**
  99778. * (Highcharts) The largest degree of rotation for a word.
  99779. */
  99780. to?: number;
  99781. }
  99782. /**
  99783. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  99784. * series is displayed. The animation can also be set as a configuration object.
  99785. * Please note that this option only applies to the initial animation of the
  99786. * series itself. For other animations, see chart.animation and the animation
  99787. * parameter under the API methods. The following properties are supported:
  99788. *
  99789. * - `defer`: The animation delay time in milliseconds.
  99790. *
  99791. * - `duration`: The duration of the animation in milliseconds.
  99792. *
  99793. * - `easing`: Can be a string reference to an easing function set on the `Math`
  99794. * object or a function. See the _Custom easing function_ demo below.
  99795. *
  99796. * Due to poor performance, animation is disabled in old IE browsers for several
  99797. * chart types.
  99798. */
  99799. export interface PlotXrangeAnimationOptions {
  99800. defer?: number;
  99801. }
  99802. /**
  99803. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  99804. * animation when a series is displayed for the `dataLabels`. The animation can
  99805. * also be set as a configuration object. Please note that this option only
  99806. * applies to the initial animation. For other animations, see chart.animation
  99807. * and the animation parameter under the API methods. The following properties
  99808. * are supported:
  99809. *
  99810. * - `defer`: The animation delay time in milliseconds.
  99811. */
  99812. export interface PlotXrangeDataLabelsAnimationOptions {
  99813. /**
  99814. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  99815. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  99816. * inherits defer time from the series.animation.defer.
  99817. */
  99818. defer?: number;
  99819. }
  99820. /**
  99821. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  99822. * appearing next to each data point.
  99823. *
  99824. * Since v6.2.0, multiple data labels can be applied to each single point by
  99825. * defining them as an array of configs.
  99826. *
  99827. * In styled mode, the data labels can be styled with the
  99828. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  99829. * example).
  99830. */
  99831. export interface PlotXrangeDataLabelsOptions {
  99832. /**
  99833. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  99834. * compared to the point. If `right`, the right side of the label should be
  99835. * touching the point. For points with an extent, like columns, the
  99836. * alignments also dictates how to align it inside the box, as given with
  99837. * the inside option. Can be one of `left`, `center` or `right`.
  99838. */
  99839. align?: string;
  99840. /**
  99841. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  99842. * overlap. To make the labels less sensitive for overlapping, the
  99843. * dataLabels.padding can be set to 0.
  99844. */
  99845. allowOverlap?: boolean;
  99846. /**
  99847. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  99848. * animation when a series is displayed for the `dataLabels`. The animation
  99849. * can also be set as a configuration object. Please note that this option
  99850. * only applies to the initial animation. For other animations, see
  99851. * chart.animation and the animation parameter under the API methods. The
  99852. * following properties are supported:
  99853. *
  99854. * - `defer`: The animation delay time in milliseconds.
  99855. */
  99856. animation?: (boolean|PlotXrangeDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  99857. /**
  99858. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  99859. * for the data label.
  99860. */
  99861. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  99862. /**
  99863. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  99864. * label. Defaults to `undefined`.
  99865. */
  99866. borderColor?: (ColorString|GradientColorObject|PatternObject);
  99867. /**
  99868. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  99869. * the data label.
  99870. */
  99871. borderRadius?: number;
  99872. /**
  99873. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  99874. * the data label.
  99875. */
  99876. borderWidth?: number;
  99877. /**
  99878. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  99879. * Particularly in styled mode, this can be used to give each series' or
  99880. * point's data label unique styling. In addition to this option, a default
  99881. * color class name is added so that we can give the labels a contrast text
  99882. * shadow.
  99883. */
  99884. className?: string;
  99885. /**
  99886. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  99887. * labels. Defaults to `undefined`. For certain series types, like column or
  99888. * map, the data labels can be drawn inside the points. In this case the
  99889. * data label will be drawn with maximum contrast by default. Additionally,
  99890. * it will be given a `text-outline` style with the opposite color, to
  99891. * further increase the contrast. This can be overridden by setting the
  99892. * `text-outline` style to `none` in the `dataLabels.style` option.
  99893. */
  99894. color?: (ColorString|GradientColorObject|PatternObject);
  99895. /**
  99896. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  99897. * are outside the plot area. By default, the data label is moved inside the
  99898. * plot area according to the overflow option.
  99899. */
  99900. crop?: boolean;
  99901. /**
  99902. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  99903. * labels until the initial series animation has finished. Setting to
  99904. * `false` renders the data label immediately. If set to `true` inherits the
  99905. * defer time set in plotOptions.series.animation.
  99906. */
  99907. defer?: boolean;
  99908. /**
  99909. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  99910. * labels.
  99911. */
  99912. enabled?: boolean;
  99913. /**
  99914. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  99915. * of which data labels to display. The declarative filter is designed for
  99916. * use when callback functions are not available, like when the chart
  99917. * options require a pure JSON structure or for use with graphical editors.
  99918. * For programmatic control, use the `formatter` instead, and return
  99919. * `undefined` to disable a single data label.
  99920. */
  99921. filter?: DataLabelsFilterOptionsObject;
  99922. /**
  99923. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  99924. * label. Available variables are the same as for `formatter`.
  99925. */
  99926. format?: string;
  99927. /**
  99928. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  99929. * format the data label. Note that if a `format` is defined, the format
  99930. * takes precedence and the formatter is ignored.
  99931. */
  99932. formatter?: DataLabelsFormatterCallbackFunction;
  99933. /**
  99934. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  99935. * columns or map areas, whether to align the data label inside the box or
  99936. * to the actual value point. Defaults to `false` in most cases, `true` in
  99937. * stacked columns.
  99938. */
  99939. inside?: boolean;
  99940. /**
  99941. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  99942. * of null. Works analogously to format. `nullFormat` can be applied only to
  99943. * series which support displaying null points.
  99944. */
  99945. nullFormat?: (boolean|string);
  99946. /**
  99947. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  99948. * that defines formatting for points with the value of null. Works
  99949. * analogously to formatter. `nullPointFormatter` can be applied only to
  99950. * series which support displaying null points.
  99951. */
  99952. nullFormatter?: DataLabelsFormatterCallbackFunction;
  99953. /**
  99954. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  99955. * flow outside the plot area. The default is `"justify"`, which aligns them
  99956. * inside the plot area. For columns and bars, this means it will be moved
  99957. * inside the bar. To display data labels outside the plot area, set `crop`
  99958. * to `false` and `overflow` to `"allow"`.
  99959. */
  99960. overflow?: DataLabelsOverflowValue;
  99961. /**
  99962. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  99963. * the `backgroundColor` is set, this is the padding within the box.
  99964. */
  99965. padding?: number;
  99966. /**
  99967. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  99968. * points. If `center` alignment is not possible, it defaults to `right`.
  99969. */
  99970. position?: AlignValue;
  99971. /**
  99972. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  99973. * that due to a more complex structure, backgrounds, borders and padding
  99974. * will be lost on a rotated data label.
  99975. */
  99976. rotation?: number;
  99977. /**
  99978. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  99979. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  99980. * an object configuration containing `color`, `offsetX`, `offsetY`,
  99981. * `opacity` and `width`.
  99982. */
  99983. shadow?: (boolean|ShadowOptionsObject);
  99984. /**
  99985. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  99986. * the border around the label. Symbols are predefined functions on the
  99987. * Renderer object.
  99988. */
  99989. shape?: string;
  99990. /**
  99991. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  99992. * default `color` setting is `"contrast"`, which is a pseudo color that
  99993. * Highcharts picks up and applies the maximum contrast to the underlying
  99994. * point item, for example the bar in a bar chart.
  99995. *
  99996. * The `textOutline` is a pseudo property that applies an outline of the
  99997. * given width with the given color, which by default is the maximum
  99998. * contrast to the text. So a bright text color will result in a black text
  99999. * outline for maximum readability on a mixed background. In some cases,
  100000. * especially with grayscale text, the text outline doesn't work well, in
  100001. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  100002. * is true, the `textOutline` will not be picked up. In this, case, the same
  100003. * effect can be acheived through the `text-shadow` CSS property.
  100004. *
  100005. * For some series types, where each point has an extent, like for example
  100006. * tree maps, the data label may overflow the point. There are two
  100007. * strategies for handling overflow. By default, the text will wrap to
  100008. * multiple lines. The other strategy is to set `style.textOverflow` to
  100009. * `ellipsis`, which will keep the text on one line plus it will break
  100010. * inside long words.
  100011. */
  100012. style?: CSSObject;
  100013. /**
  100014. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  100015. * should follow marker's shape. Border and background are disabled for a
  100016. * label that follows a path.
  100017. *
  100018. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  100019. * to true will disable this option.
  100020. */
  100021. textPath?: DataLabelsTextPathOptionsObject;
  100022. /**
  100023. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  100024. * the labels.
  100025. */
  100026. useHTML?: boolean;
  100027. /**
  100028. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  100029. * label. Can be one of `top`, `middle` or `bottom`. The default value
  100030. * depends on the data, for instance in a column chart, the label is above
  100031. * positive values and below negative values.
  100032. */
  100033. verticalAlign?: string;
  100034. /**
  100035. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  100036. * label relative to the point in pixels.
  100037. */
  100038. x?: number;
  100039. /**
  100040. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  100041. * label relative to the point in pixels.
  100042. */
  100043. y?: number;
  100044. /**
  100045. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  100046. * The default Z index puts it above the series. Use a Z index of 2 to
  100047. * display it behind the series.
  100048. */
  100049. z?: number;
  100050. }
  100051. /**
  100052. * (Highcharts, Highstock, Gantt) Style options for the guide box. The guide box
  100053. * has one state by default, the `default` state.
  100054. */
  100055. export interface PlotXrangeDragDropGuideBoxOptions {
  100056. /**
  100057. * (Highcharts, Highstock, Gantt) Style options for the guide box default
  100058. * state.
  100059. */
  100060. default?: DragDropGuideBoxOptionsObject;
  100061. }
  100062. /**
  100063. * (Highcharts, Highstock, Gantt) The X-range series displays ranges on the X
  100064. * axis, typically time intervals with a start and end date.
  100065. *
  100066. * In TypeScript the type option must always be set.
  100067. *
  100068. * Configuration options for the series are given in three levels:
  100069. *
  100070. * 1. Options for all series in a chart are defined in the plotOptions.series
  100071. * object.
  100072. *
  100073. * 2. Options for all `xrange` series are defined in plotOptions.xrange.
  100074. *
  100075. * 3. Options for one single series are given in the series instance array. (see
  100076. * online documentation for example)
  100077. */
  100078. export interface PlotXrangeOptions {
  100079. /**
  100080. * (Highcharts, Highstock, Gantt) Accessibility options for a series.
  100081. */
  100082. accessibility?: SeriesAccessibilityOptionsObject;
  100083. /**
  100084. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  100085. * rendered. If `true`, areas which don't correspond to a data point, are
  100086. * rendered as `null` points. If `false`, those areas are skipped.
  100087. */
  100088. allAreas?: boolean;
  100089. /**
  100090. * (Highcharts, Highstock, Gantt) Allow this series' points to be selected
  100091. * by clicking on the graphic (columns, point markers, pie slices, map areas
  100092. * etc).
  100093. *
  100094. * The selected points can be handled by point select and unselect events,
  100095. * or collectively by the getSelectedPoints function.
  100096. *
  100097. * And alternative way of selecting points is through dragging.
  100098. */
  100099. allowPointSelect?: boolean;
  100100. /**
  100101. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation
  100102. * when a series is displayed. The animation can also be set as a
  100103. * configuration object. Please note that this option only applies to the
  100104. * initial animation of the series itself. For other animations, see
  100105. * chart.animation and the animation parameter under the API methods. The
  100106. * following properties are supported:
  100107. *
  100108. * - `defer`: The animation delay time in milliseconds.
  100109. *
  100110. * - `duration`: The duration of the animation in milliseconds.
  100111. *
  100112. * - `easing`: Can be a string reference to an easing function set on the
  100113. * `Math` object or a function. See the _Custom easing function_ demo below.
  100114. *
  100115. * Due to poor performance, animation is disabled in old IE browsers for
  100116. * several chart types.
  100117. */
  100118. animation?: (boolean|PlotXrangeAnimationOptions|Partial<AnimationOptionsObject>);
  100119. /**
  100120. * (Highcharts, Highstock, Gantt) For some series, there is a limit that
  100121. * shuts down initial animation by default when the total number of points
  100122. * in the chart is too high. For example, for a column chart and its
  100123. * derivatives, animation does not run if there is more than 250 points
  100124. * totally. To disable this cap, set `animationLimit` to `Infinity`.
  100125. */
  100126. animationLimit?: number;
  100127. /**
  100128. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  100129. * column or bar.
  100130. *
  100131. * In styled mode, the border stroke can be set with the `.highcharts-point`
  100132. * rule.
  100133. */
  100134. borderColor?: (ColorString|GradientColorObject|PatternObject);
  100135. /**
  100136. * (Highcharts, Highstock, Gantt) The corner radius of the border
  100137. * surrounding each column or bar.
  100138. */
  100139. borderRadius?: number;
  100140. /**
  100141. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  100142. * column or bar. Defaults to `1` when there is room for a border, but to
  100143. * `0` when the columns are so dense that a border would cover the next
  100144. * column.
  100145. *
  100146. * In styled mode, the stroke width can be set with the `.highcharts-point`
  100147. * rule.
  100148. */
  100149. borderWidth?: number;
  100150. /**
  100151. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  100152. * the category, ignoring null or missing points. When `false`, space will
  100153. * be reserved for null or missing points.
  100154. */
  100155. centerInCategory?: boolean;
  100156. /**
  100157. * (Highcharts, Highstock, Gantt) An additional class name to apply to the
  100158. * series' graphical elements. This option does not replace default class
  100159. * names of the graphical element.
  100160. */
  100161. className?: string;
  100162. /**
  100163. * (Highcharts, Highstock, Gantt) Disable this option to allow series
  100164. * rendering in the whole plotting area.
  100165. *
  100166. * **Note:** Clipping should be always enabled when chart.zoomType is set
  100167. */
  100168. clip?: boolean;
  100169. /**
  100170. * (Highcharts, Highstock, Gantt) The main color of the series. In line type
  100171. * series it applies to the line and the point markers unless otherwise
  100172. * specified. In bar type series it applies to the bars unless a color is
  100173. * specified per point. The default value is pulled from the
  100174. * `options.colors` array.
  100175. *
  100176. * In styled mode, the color can be defined by the colorIndex option. Also,
  100177. * the series color can be set with the `.highcharts-series`,
  100178. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  100179. * `.highcharts-series-{n}` class, or individual classes given by the
  100180. * `className` option.
  100181. */
  100182. color?: (ColorString|GradientColorObject|PatternObject);
  100183. /**
  100184. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  100185. * this number defines which colorAxis the particular series is connected
  100186. * to. It refers to either the axis id or the index of the axis in the
  100187. * colorAxis array, with 0 being the first. Set this option to false to
  100188. * prevent a series from connecting to the default color axis.
  100189. *
  100190. * Since v7.2.0 the option can also be an axis id or an axis index instead
  100191. * of a boolean flag.
  100192. */
  100193. colorAxis?: (boolean|number|string);
  100194. /**
  100195. * (Highcharts, Highstock, Gantt) In an X-range series, this option makes
  100196. * all points of the same Y-axis category the same color.
  100197. */
  100198. colorByPoint?: boolean;
  100199. /**
  100200. * (Highcharts, Highstock, Gantt) Styled mode only. A specific color index
  100201. * to use for the series, so its graphic representations are given the class
  100202. * name `highcharts-color-{n}`.
  100203. */
  100204. colorIndex?: number;
  100205. /**
  100206. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  100207. * used to calculate point color if `colorAxis` is used. Requires to set
  100208. * `min` and `max` if some custom point property is used or if approximation
  100209. * for data grouping is set to `'sum'`.
  100210. */
  100211. colorKey?: string;
  100212. /**
  100213. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  100214. * color set to apply instead of the global colors when colorByPoint is
  100215. * true.
  100216. */
  100217. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  100218. /**
  100219. * (Highstock) Compare the values of the series against the first non-null,
  100220. * non- zero value in the visible range. The y axis will show percentage or
  100221. * absolute change depending on whether `compare` is set to `"percent"` or
  100222. * `"value"`. When this is applied to multiple series, it allows comparing
  100223. * the development of the series against each other. Adds a `change` field
  100224. * to every point object.
  100225. */
  100226. compare?: string;
  100227. /**
  100228. * (Highstock) When compare is `percent`, this option dictates whether to
  100229. * use 0 or 100 as the base of comparison.
  100230. */
  100231. compareBase?: (0|100);
  100232. /**
  100233. * (Highstock) Defines if comparison should start from the first point
  100234. * within the visible range or should start from the first point **before**
  100235. * the range.
  100236. *
  100237. * In other words, this flag determines if first point within the visible
  100238. * range will have 0% (`compareStart=true`) or should have been already
  100239. * calculated according to the previous point (`compareStart=false`).
  100240. */
  100241. compareStart?: boolean;
  100242. /**
  100243. * (Gantt) Override Pathfinder connector options for a series. Requires
  100244. * Highcharts Gantt to be loaded.
  100245. */
  100246. connectors?: SeriesConnectorsOptionsObject;
  100247. /**
  100248. * (Highcharts, Highstock, Gantt) You can set the cursor to "pointer" if you
  100249. * have click events attached to the series, to signal to the user that the
  100250. * points and lines can be clicked.
  100251. *
  100252. * In styled mode, the series cursor can be set with the same classes as
  100253. * listed under series.color.
  100254. */
  100255. cursor?: (string|CursorValue);
  100256. /**
  100257. * (Highcharts, Highstock, Gantt) A reserved subspace to store options and
  100258. * values for customized functionality. Here you can add additional data for
  100259. * your own event callbacks and formatter callbacks.
  100260. */
  100261. custom?: Dictionary<any>;
  100262. /**
  100263. * (Highcharts, Highstock, Gantt) Name of the dash style to use for the
  100264. * graph, or for some series types the outline of each shape.
  100265. *
  100266. * In styled mode, the stroke dash-array can be set with the same classes as
  100267. * listed under series.color.
  100268. */
  100269. dashStyle?: DashStyleValue;
  100270. /**
  100271. * (Highstock) Data grouping is the concept of sampling the data values into
  100272. * larger blocks in order to ease readability and increase performance of
  100273. * the JavaScript charts. Highstock by default applies data grouping when
  100274. * the points become closer than a certain pixel value, determined by the
  100275. * `groupPixelWidth` option.
  100276. *
  100277. * If data grouping is applied, the grouping information of grouped points
  100278. * can be read from the Point.dataGroup. If point options other than the
  100279. * data itself are set, for example `name` or `color` or custom properties,
  100280. * the grouping logic doesn't know how to group it. In this case the options
  100281. * of the first point instance are copied over to the group point. This can
  100282. * be altered through a custom `approximation` callback function.
  100283. */
  100284. dataGrouping?: DataGroupingOptionsObject;
  100285. /**
  100286. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  100287. * labels, appearing next to each data point.
  100288. *
  100289. * Since v6.2.0, multiple data labels can be applied to each single point by
  100290. * defining them as an array of configs.
  100291. *
  100292. * In styled mode, the data labels can be styled with the
  100293. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  100294. * (see example).
  100295. */
  100296. dataLabels?: (PlotXrangeDataLabelsOptions|Array<PlotXrangeDataLabelsOptions>);
  100297. /**
  100298. * (Highcharts, Highstock, Gantt) A description of the series to add to the
  100299. * screen reader information about the series.
  100300. */
  100301. description?: string;
  100302. /**
  100303. * (Highcharts, Highstock, Gantt) The draggable-points module allows points
  100304. * to be moved around or modified in the chart. In addition to the options
  100305. * mentioned under the `dragDrop` API structure, the module fires three
  100306. * events, point.dragStart, point.drag and point.drop.
  100307. */
  100308. dragDrop?: SeriesDragDropOptionsObject;
  100309. /**
  100310. * (Highcharts, Highstock, Gantt) Enable or disable the mouse tracking for a
  100311. * specific series. This includes point tooltips and click events on graphs
  100312. * and points. For large datasets it improves performance.
  100313. */
  100314. enableMouseTracking?: boolean;
  100315. /**
  100316. * (Highcharts, Highstock, Gantt) General event handlers for the series
  100317. * items. These event hooks can also be attached to the series at run time
  100318. * using the `Highcharts.addEvent` function.
  100319. */
  100320. events?: SeriesEventsOptionsObject;
  100321. /**
  100322. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  100323. * let them render independent of each other. Non-grouped columns will be
  100324. * laid out individually and overlap each other.
  100325. */
  100326. grouping?: boolean;
  100327. /**
  100328. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  100329. * axis units.
  100330. */
  100331. groupPadding?: number;
  100332. /**
  100333. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  100334. */
  100335. groupZPadding?: number;
  100336. /**
  100337. * (Highcharts, Highstock, Gantt) When set to `false` will prevent the
  100338. * series data from being included in any form of data export.
  100339. *
  100340. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  100341. * `includeInCSVExport`.
  100342. */
  100343. includeInDataExport?: boolean;
  100344. /**
  100345. * (Highmaps) What property to join the `mapData` to the value data. For
  100346. * example, if joinBy is "code", the mapData items with a specific code is
  100347. * merged into the data with the same code. For maps loaded from GeoJSON,
  100348. * the keys may be held in each point's `properties` object.
  100349. *
  100350. * The joinBy option can also be an array of two values, where the first
  100351. * points to a key in the `mapData`, and the second points to another key in
  100352. * the `data`.
  100353. *
  100354. * When joinBy is `null`, the map items are joined by their position in the
  100355. * array, which performs much better in maps with many data points. This is
  100356. * the recommended option if you are printing more than a thousand data
  100357. * points and have a backend that can preprocess the data into a parallel
  100358. * array of the mapData.
  100359. */
  100360. joinBy?: (string|Array<string>);
  100361. /**
  100362. * (Highcharts, Highstock, Gantt) An array specifying which option maps to
  100363. * which key in the data point array. This makes it convenient to work with
  100364. * unstructured data arrays from different sources.
  100365. */
  100366. keys?: Array<string>;
  100367. /**
  100368. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  100369. * series as possible in a natural way, seeking to avoid other series. The
  100370. * goal of this feature is to make the chart more easily readable, like if a
  100371. * human designer placed the labels in the optimal position.
  100372. *
  100373. * The series labels currently work with series types having a `graph` or an
  100374. * `area`.
  100375. */
  100376. label?: SeriesLabelOptionsObject;
  100377. /**
  100378. * (Highstock) The line marks the last price from all points.
  100379. */
  100380. lastPrice?: SeriesLastPriceOptionsObject;
  100381. /**
  100382. * (Highstock) The line marks the last price from visible range of points.
  100383. */
  100384. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  100385. /**
  100386. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  100387. * Additionally, the value can be ":previous" to link to the previous
  100388. * series. When two series are linked, only the first one appears in the
  100389. * legend. Toggling the visibility of this also toggles the linked series.
  100390. *
  100391. * If master series uses data sorting and linked series does not have its
  100392. * own sorting definition, the linked series will be sorted in the same
  100393. * order as the master one.
  100394. */
  100395. linkedTo?: string;
  100396. /**
  100397. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  100398. * column, translated to the height of a bar in a bar chart. This prevents
  100399. * the columns from becoming too wide when there is a small number of points
  100400. * in the chart.
  100401. */
  100402. maxPointWidth?: number;
  100403. /**
  100404. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  100405. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  100406. * to zero) point, set the minimal point length to a pixel value like 3\. In
  100407. * stacked column charts, minPointLength might not be respected for tightly
  100408. * packed values.
  100409. */
  100410. minPointLength?: number;
  100411. /**
  100412. * (Highstock) Options for the corresponding navigator series if
  100413. * `showInNavigator` is `true` for this series. Available options are the
  100414. * same as any series, documented at plotOptions and series.
  100415. *
  100416. * These options are merged with options in navigator.series, and will take
  100417. * precedence if the same option is defined both places.
  100418. */
  100419. navigatorOptions?: PlotSeriesOptions;
  100420. /**
  100421. * (Highcharts, Highstock, Gantt) Opacity of a series parts: line, fill
  100422. * (e.g. area) and dataLabels.
  100423. */
  100424. opacity?: number;
  100425. /**
  100426. * (Highcharts, Highstock, Gantt) A partial fill for each point, typically
  100427. * used to visualize how much of a task is performed. The partial fill
  100428. * object can be set either on series or point level.
  100429. */
  100430. partialFill?: PlotXrangePartialFillOptions;
  100431. /**
  100432. * (Highcharts, Highstock, Gantt) Properties for each single point.
  100433. */
  100434. point?: PlotSeriesPointOptions;
  100435. /**
  100436. * (Highcharts, Highstock, Gantt) Same as
  100437. * accessibility.pointDescriptionFormatter, but for an individual series.
  100438. * Overrides the chart wide configuration.
  100439. */
  100440. pointDescriptionFormatter?: Function;
  100441. /**
  100442. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  100443. * axis units.
  100444. */
  100445. pointPadding?: number;
  100446. pointRange?: number;
  100447. /**
  100448. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  100449. * each column or bar point. When `null`, the width is calculated from the
  100450. * `pointPadding` and `groupPadding`. The width effects the dimension that
  100451. * is not based on the point value. For column series it is the hoizontal
  100452. * length and for bar series it is the vertical length.
  100453. */
  100454. pointWidth?: number;
  100455. /**
  100456. * (Highcharts, Highstock, Gantt) Whether to select the series initially. If
  100457. * `showCheckbox` is true, the checkbox next to the series name in the
  100458. * legend will be checked for a selected series.
  100459. */
  100460. selected?: boolean;
  100461. /**
  100462. * (Highcharts, Highstock, Gantt) Whether to apply a drop shadow to the
  100463. * graph line. Since 2.3 the shadow can be an object configuration
  100464. * containing `color`, `offsetX`, `offsetY`, `opacity` and `width`.
  100465. */
  100466. shadow?: (boolean|ShadowOptionsObject);
  100467. /**
  100468. * (Highcharts, Highstock, Gantt) If true, a checkbox is displayed next to
  100469. * the legend item to allow selecting the series. The state of the checkbox
  100470. * is determined by the `selected` option.
  100471. */
  100472. showCheckbox?: boolean;
  100473. /**
  100474. * (Highcharts, Highstock, Gantt) Whether to display this particular series
  100475. * or series type in the legend. Standalone series are shown in legend by
  100476. * default, and linked series are not. Since v7.2.0 it is possible to show
  100477. * series that use colorAxis by setting this option to `true`.
  100478. */
  100479. showInLegend?: boolean;
  100480. /**
  100481. * (Highstock) Whether or not to show the series in the navigator. Takes
  100482. * precedence over navigator.baseSeries if defined.
  100483. */
  100484. showInNavigator?: boolean;
  100485. /**
  100486. * (Highcharts, Highstock, Gantt) If set to `true`, the accessibility module
  100487. * will skip past the points in this series for keyboard navigation.
  100488. */
  100489. skipKeyboardNavigation?: boolean;
  100490. states?: SeriesStatesOptionsObject;
  100491. /**
  100492. * (Highcharts, Highstock, Gantt) Sticky tracking of mouse events. When
  100493. * true, the `mouseOut` event on a series isn't triggered until the mouse
  100494. * moves over another series, or out of the plot area. When false, the
  100495. * `mouseOut` event on a series is triggered when the mouse leaves the area
  100496. * around the series' graph or markers. This also implies the tooltip when
  100497. * not shared. When `stickyTracking` is false and `tooltip.shared` is false,
  100498. * the tooltip will be hidden when moving the mouse between series. Defaults
  100499. * to true for line and area type series, but to false for columns, pies
  100500. * etc.
  100501. *
  100502. * **Note:** The boost module will force this option because of technical
  100503. * limitations.
  100504. */
  100505. stickyTracking?: boolean;
  100506. /**
  100507. * (Highcharts, Highstock, Gantt) A configuration object for the tooltip
  100508. * rendering of each single series. Properties are inherited from tooltip,
  100509. * but only the following properties can be defined on a series level.
  100510. */
  100511. tooltip?: SeriesTooltipOptionsObject;
  100512. /**
  100513. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  100514. * is longer than this, only one dimensional arrays of numbers, or two
  100515. * dimensional arrays with x and y values are allowed. Also, only the first
  100516. * point is tested, and the rest are assumed to be the same format. This
  100517. * saves expensive data checking and indexing in long series. Set it to `0`
  100518. * disable.
  100519. *
  100520. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  100521. * two dimensional arrays are allowed.
  100522. */
  100523. turboThreshold?: number;
  100524. /**
  100525. * (Highcharts, Highstock, Gantt) Set the initial visibility of the series.
  100526. */
  100527. visible?: boolean;
  100528. /**
  100529. * (Highmaps) Define the z index of the series.
  100530. */
  100531. zIndex?: number;
  100532. /**
  100533. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  100534. */
  100535. zoneAxis?: string;
  100536. /**
  100537. * (Highcharts, Highstock) An array defining zones within a series. Zones
  100538. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  100539. * the `zoneAxis` option. The zone definitions have to be in ascending order
  100540. * regarding to the value.
  100541. *
  100542. * In styled mode, the color zones are styled with the
  100543. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  100544. * option (view live demo).
  100545. */
  100546. zones?: Array<SeriesZonesOptionsObject>;
  100547. }
  100548. /**
  100549. * (Highcharts, Highstock, Gantt) A partial fill for each point, typically used
  100550. * to visualize how much of a task is performed. The partial fill object can be
  100551. * set either on series or point level.
  100552. */
  100553. export interface PlotXrangePartialFillOptions {
  100554. /**
  100555. * (Highcharts, Highstock, Gantt) The fill color to be used for partial
  100556. * fills. Defaults to a darker shade of the point color.
  100557. */
  100558. fill?: (ColorString|GradientColorObject|PatternObject);
  100559. }
  100560. /**
  100561. * (Highstock) Enable or disable the initial animation when a series is
  100562. * displayed. The animation can also be set as a configuration object. Please
  100563. * note that this option only applies to the initial animation of the series
  100564. * itself. For other animations, see chart.animation and the animation parameter
  100565. * under the API methods. The following properties are supported:
  100566. *
  100567. * - `defer`: The animation delay time in milliseconds.
  100568. *
  100569. * - `duration`: The duration of the animation in milliseconds.
  100570. *
  100571. * - `easing`: Can be a string reference to an easing function set on the `Math`
  100572. * object or a function. See the _Custom easing function_ demo below.
  100573. *
  100574. * Due to poor performance, animation is disabled in old IE browsers for several
  100575. * chart types.
  100576. */
  100577. export interface PlotZigzagAnimationOptions {
  100578. defer?: number;
  100579. }
  100580. /**
  100581. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  100582. * animation when a series is displayed for the `dataLabels`. The animation can
  100583. * also be set as a configuration object. Please note that this option only
  100584. * applies to the initial animation. For other animations, see chart.animation
  100585. * and the animation parameter under the API methods. The following properties
  100586. * are supported:
  100587. *
  100588. * - `defer`: The animation delay time in milliseconds.
  100589. */
  100590. export interface PlotZigzagDataLabelsAnimationOptions {
  100591. /**
  100592. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  100593. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  100594. * inherits defer time from the series.animation.defer.
  100595. */
  100596. defer?: number;
  100597. }
  100598. /**
  100599. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  100600. * appearing next to each data point.
  100601. *
  100602. * Since v6.2.0, multiple data labels can be applied to each single point by
  100603. * defining them as an array of configs.
  100604. *
  100605. * In styled mode, the data labels can be styled with the
  100606. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  100607. * example).
  100608. */
  100609. export interface PlotZigzagDataLabelsOptions {
  100610. /**
  100611. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  100612. * compared to the point. If `right`, the right side of the label should be
  100613. * touching the point. For points with an extent, like columns, the
  100614. * alignments also dictates how to align it inside the box, as given with
  100615. * the inside option. Can be one of `left`, `center` or `right`.
  100616. */
  100617. align?: (AlignValue|null);
  100618. /**
  100619. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  100620. * overlap. To make the labels less sensitive for overlapping, the
  100621. * dataLabels.padding can be set to 0.
  100622. */
  100623. allowOverlap?: boolean;
  100624. /**
  100625. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  100626. * animation when a series is displayed for the `dataLabels`. The animation
  100627. * can also be set as a configuration object. Please note that this option
  100628. * only applies to the initial animation. For other animations, see
  100629. * chart.animation and the animation parameter under the API methods. The
  100630. * following properties are supported:
  100631. *
  100632. * - `defer`: The animation delay time in milliseconds.
  100633. */
  100634. animation?: (boolean|PlotZigzagDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  100635. /**
  100636. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  100637. * for the data label.
  100638. */
  100639. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  100640. /**
  100641. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  100642. * label. Defaults to `undefined`.
  100643. */
  100644. borderColor?: (ColorString|GradientColorObject|PatternObject);
  100645. /**
  100646. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  100647. * the data label.
  100648. */
  100649. borderRadius?: number;
  100650. /**
  100651. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  100652. * the data label.
  100653. */
  100654. borderWidth?: number;
  100655. /**
  100656. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  100657. * Particularly in styled mode, this can be used to give each series' or
  100658. * point's data label unique styling. In addition to this option, a default
  100659. * color class name is added so that we can give the labels a contrast text
  100660. * shadow.
  100661. */
  100662. className?: string;
  100663. /**
  100664. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  100665. * labels. Defaults to `undefined`. For certain series types, like column or
  100666. * map, the data labels can be drawn inside the points. In this case the
  100667. * data label will be drawn with maximum contrast by default. Additionally,
  100668. * it will be given a `text-outline` style with the opposite color, to
  100669. * further increase the contrast. This can be overridden by setting the
  100670. * `text-outline` style to `none` in the `dataLabels.style` option.
  100671. */
  100672. color?: (ColorString|GradientColorObject|PatternObject);
  100673. /**
  100674. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  100675. * are outside the plot area. By default, the data label is moved inside the
  100676. * plot area according to the overflow option.
  100677. */
  100678. crop?: boolean;
  100679. /**
  100680. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  100681. * labels until the initial series animation has finished. Setting to
  100682. * `false` renders the data label immediately. If set to `true` inherits the
  100683. * defer time set in plotOptions.series.animation.
  100684. */
  100685. defer?: boolean;
  100686. /**
  100687. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  100688. * labels.
  100689. */
  100690. enabled?: boolean;
  100691. /**
  100692. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  100693. * of which data labels to display. The declarative filter is designed for
  100694. * use when callback functions are not available, like when the chart
  100695. * options require a pure JSON structure or for use with graphical editors.
  100696. * For programmatic control, use the `formatter` instead, and return
  100697. * `undefined` to disable a single data label.
  100698. */
  100699. filter?: DataLabelsFilterOptionsObject;
  100700. /**
  100701. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  100702. * label. Available variables are the same as for `formatter`.
  100703. */
  100704. format?: string;
  100705. /**
  100706. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  100707. * format the data label. Note that if a `format` is defined, the format
  100708. * takes precedence and the formatter is ignored.
  100709. */
  100710. formatter?: DataLabelsFormatterCallbackFunction;
  100711. /**
  100712. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  100713. * columns or map areas, whether to align the data label inside the box or
  100714. * to the actual value point. Defaults to `false` in most cases, `true` in
  100715. * stacked columns.
  100716. */
  100717. inside?: boolean;
  100718. /**
  100719. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  100720. * of null. Works analogously to format. `nullFormat` can be applied only to
  100721. * series which support displaying null points.
  100722. */
  100723. nullFormat?: (boolean|string);
  100724. /**
  100725. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  100726. * that defines formatting for points with the value of null. Works
  100727. * analogously to formatter. `nullPointFormatter` can be applied only to
  100728. * series which support displaying null points.
  100729. */
  100730. nullFormatter?: DataLabelsFormatterCallbackFunction;
  100731. /**
  100732. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  100733. * flow outside the plot area. The default is `"justify"`, which aligns them
  100734. * inside the plot area. For columns and bars, this means it will be moved
  100735. * inside the bar. To display data labels outside the plot area, set `crop`
  100736. * to `false` and `overflow` to `"allow"`.
  100737. */
  100738. overflow?: DataLabelsOverflowValue;
  100739. /**
  100740. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  100741. * the `backgroundColor` is set, this is the padding within the box.
  100742. */
  100743. padding?: number;
  100744. /**
  100745. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  100746. * points. If `center` alignment is not possible, it defaults to `right`.
  100747. */
  100748. position?: AlignValue;
  100749. /**
  100750. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  100751. * that due to a more complex structure, backgrounds, borders and padding
  100752. * will be lost on a rotated data label.
  100753. */
  100754. rotation?: number;
  100755. /**
  100756. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  100757. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  100758. * an object configuration containing `color`, `offsetX`, `offsetY`,
  100759. * `opacity` and `width`.
  100760. */
  100761. shadow?: (boolean|ShadowOptionsObject);
  100762. /**
  100763. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  100764. * the border around the label. Symbols are predefined functions on the
  100765. * Renderer object.
  100766. */
  100767. shape?: string;
  100768. /**
  100769. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  100770. * default `color` setting is `"contrast"`, which is a pseudo color that
  100771. * Highcharts picks up and applies the maximum contrast to the underlying
  100772. * point item, for example the bar in a bar chart.
  100773. *
  100774. * The `textOutline` is a pseudo property that applies an outline of the
  100775. * given width with the given color, which by default is the maximum
  100776. * contrast to the text. So a bright text color will result in a black text
  100777. * outline for maximum readability on a mixed background. In some cases,
  100778. * especially with grayscale text, the text outline doesn't work well, in
  100779. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  100780. * is true, the `textOutline` will not be picked up. In this, case, the same
  100781. * effect can be acheived through the `text-shadow` CSS property.
  100782. *
  100783. * For some series types, where each point has an extent, like for example
  100784. * tree maps, the data label may overflow the point. There are two
  100785. * strategies for handling overflow. By default, the text will wrap to
  100786. * multiple lines. The other strategy is to set `style.textOverflow` to
  100787. * `ellipsis`, which will keep the text on one line plus it will break
  100788. * inside long words.
  100789. */
  100790. style?: CSSObject;
  100791. /**
  100792. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  100793. * should follow marker's shape. Border and background are disabled for a
  100794. * label that follows a path.
  100795. *
  100796. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  100797. * to true will disable this option.
  100798. */
  100799. textPath?: DataLabelsTextPathOptionsObject;
  100800. /**
  100801. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  100802. * the labels.
  100803. */
  100804. useHTML?: boolean;
  100805. /**
  100806. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  100807. * label. Can be one of `top`, `middle` or `bottom`. The default value
  100808. * depends on the data, for instance in a column chart, the label is above
  100809. * positive values and below negative values.
  100810. */
  100811. verticalAlign?: (VerticalAlignValue|null);
  100812. /**
  100813. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  100814. * label relative to the point in pixels.
  100815. */
  100816. x?: number;
  100817. /**
  100818. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  100819. * label relative to the point in pixels.
  100820. */
  100821. y?: number;
  100822. /**
  100823. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  100824. * The default Z index puts it above the series. Use a Z index of 2 to
  100825. * display it behind the series.
  100826. */
  100827. z?: number;
  100828. }
  100829. /**
  100830. * (Highcharts, Highstock) Options for the series data sorting.
  100831. */
  100832. export interface PlotZigzagDataSortingOptions {
  100833. /**
  100834. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  100835. * Use xAxis.reversed to change the sorting order.
  100836. */
  100837. enabled?: boolean;
  100838. /**
  100839. * (Highcharts, Highstock) Whether to allow matching points by name in an
  100840. * update. If this option is disabled, points will be matched by order.
  100841. */
  100842. matchByName?: boolean;
  100843. /**
  100844. * (Highcharts, Highstock) Determines what data value should be used to sort
  100845. * by.
  100846. */
  100847. sortKey?: string;
  100848. }
  100849. /**
  100850. * (Highstock) Zig Zag indicator.
  100851. *
  100852. * This series requires `linkedTo` option to be set.
  100853. *
  100854. * In TypeScript the type option must always be set.
  100855. *
  100856. * Configuration options for the series are given in three levels:
  100857. *
  100858. * 1. Options for all series in a chart are defined in the plotOptions.series
  100859. * object.
  100860. *
  100861. * 2. Options for all `zigzag` series are defined in plotOptions.zigzag.
  100862. *
  100863. * 3. Options for one single series are given in the series instance array. (see
  100864. * online documentation for example)
  100865. */
  100866. export interface PlotZigzagOptions {
  100867. /**
  100868. * (Highstock) Accessibility options for a series.
  100869. */
  100870. accessibility?: SeriesAccessibilityOptionsObject;
  100871. /**
  100872. * (Highstock) Allow this series' points to be selected by clicking on the
  100873. * graphic (columns, point markers, pie slices, map areas etc).
  100874. *
  100875. * The selected points can be handled by point select and unselect events,
  100876. * or collectively by the getSelectedPoints function.
  100877. *
  100878. * And alternative way of selecting points is through dragging.
  100879. */
  100880. allowPointSelect?: boolean;
  100881. /**
  100882. * (Highstock) Enable or disable the initial animation when a series is
  100883. * displayed. The animation can also be set as a configuration object.
  100884. * Please note that this option only applies to the initial animation of the
  100885. * series itself. For other animations, see chart.animation and the
  100886. * animation parameter under the API methods. The following properties are
  100887. * supported:
  100888. *
  100889. * - `defer`: The animation delay time in milliseconds.
  100890. *
  100891. * - `duration`: The duration of the animation in milliseconds.
  100892. *
  100893. * - `easing`: Can be a string reference to an easing function set on the
  100894. * `Math` object or a function. See the _Custom easing function_ demo below.
  100895. *
  100896. * Due to poor performance, animation is disabled in old IE browsers for
  100897. * several chart types.
  100898. */
  100899. animation?: (boolean|PlotZigzagAnimationOptions|Partial<AnimationOptionsObject>);
  100900. /**
  100901. * (Highstock) For some series, there is a limit that shuts down initial
  100902. * animation by default when the total number of points in the chart is too
  100903. * high. For example, for a column chart and its derivatives, animation does
  100904. * not run if there is more than 250 points totally. To disable this cap,
  100905. * set `animationLimit` to `Infinity`.
  100906. */
  100907. animationLimit?: number;
  100908. /**
  100909. * (Highstock) Sets the color blending in the boost module.
  100910. */
  100911. boostBlending?: OptionsBoostBlendingValue;
  100912. /**
  100913. * (Highstock) Set the point threshold for when a series should enter boost
  100914. * mode.
  100915. *
  100916. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  100917. * there are 2000 or more points in the series.
  100918. *
  100919. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  100920. * it to 1 will force boosting.
  100921. *
  100922. * Note that the cropThreshold also affects this setting. When zooming in on
  100923. * a series that has fewer points than the `cropThreshold`, all points are
  100924. * rendered although outside the visible plot area, and the `boostThreshold`
  100925. * won't take effect.
  100926. */
  100927. boostThreshold?: number;
  100928. /**
  100929. * (Highmaps) The border color of the map areas.
  100930. *
  100931. * In styled mode, the border stroke is given in the `.highcharts-point`
  100932. * class.
  100933. */
  100934. borderColor?: (ColorString|GradientColorObject|PatternObject);
  100935. /**
  100936. * (Highmaps) The border width of each map area.
  100937. *
  100938. * In styled mode, the border stroke width is given in the
  100939. * `.highcharts-point` class.
  100940. */
  100941. borderWidth?: number;
  100942. /**
  100943. * (Highstock) An additional class name to apply to the series' graphical
  100944. * elements. This option does not replace default class names of the
  100945. * graphical element.
  100946. */
  100947. className?: string;
  100948. /**
  100949. * (Highstock) Disable this option to allow series rendering in the whole
  100950. * plotting area.
  100951. *
  100952. * **Note:** Clipping should be always enabled when chart.zoomType is set
  100953. */
  100954. clip?: boolean;
  100955. /**
  100956. * (Highstock) The main color of the series. In line type series it applies
  100957. * to the line and the point markers unless otherwise specified. In bar type
  100958. * series it applies to the bars unless a color is specified per point. The
  100959. * default value is pulled from the `options.colors` array.
  100960. *
  100961. * In styled mode, the color can be defined by the colorIndex option. Also,
  100962. * the series color can be set with the `.highcharts-series`,
  100963. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  100964. * `.highcharts-series-{n}` class, or individual classes given by the
  100965. * `className` option.
  100966. */
  100967. color?: (ColorString|GradientColorObject|PatternObject);
  100968. /**
  100969. * (Highstock) Styled mode only. A specific color index to use for the
  100970. * series, so its graphic representations are given the class name
  100971. * `highcharts-color-{n}`.
  100972. */
  100973. colorIndex?: number;
  100974. /**
  100975. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  100976. * used to calculate point color if `colorAxis` is used. Requires to set
  100977. * `min` and `max` if some custom point property is used or if approximation
  100978. * for data grouping is set to `'sum'`.
  100979. */
  100980. colorKey?: string;
  100981. /**
  100982. * (Highstock) Compare the values of the series against the first non-null,
  100983. * non- zero value in the visible range. The y axis will show percentage or
  100984. * absolute change depending on whether `compare` is set to `"percent"` or
  100985. * `"value"`. When this is applied to multiple series, it allows comparing
  100986. * the development of the series against each other. Adds a `change` field
  100987. * to every point object.
  100988. */
  100989. compare?: string;
  100990. /**
  100991. * (Highstock) When compare is `percent`, this option dictates whether to
  100992. * use 0 or 100 as the base of comparison.
  100993. */
  100994. compareBase?: (0|100);
  100995. /**
  100996. * (Highstock) Defines if comparison should start from the first point
  100997. * within the visible range or should start from the first point **before**
  100998. * the range.
  100999. *
  101000. * In other words, this flag determines if first point within the visible
  101001. * range will have 0% (`compareStart=true`) or should have been already
  101002. * calculated according to the previous point (`compareStart=false`).
  101003. */
  101004. compareStart?: boolean;
  101005. /**
  101006. * (Highstock) Whether to compare indicator to the main series values or
  101007. * indicator values.
  101008. */
  101009. compareToMain?: boolean;
  101010. /**
  101011. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  101012. * series plot across the extremes.
  101013. */
  101014. connectEnds?: boolean;
  101015. /**
  101016. * (Highcharts, Highstock) Whether to connect a graph line across null
  101017. * points, or render a gap between the two points on either side of the
  101018. * null.
  101019. */
  101020. connectNulls?: boolean;
  101021. /**
  101022. * (Gantt) Override Pathfinder connector options for a series. Requires
  101023. * Highcharts Gantt to be loaded.
  101024. */
  101025. connectors?: SeriesConnectorsOptionsObject;
  101026. /**
  101027. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  101028. * rounded to its nearest pixel in order to render sharp on screen. In some
  101029. * cases, when there are a lot of densely packed columns, this leads to
  101030. * visible difference in column widths or distance between columns. In these
  101031. * cases, setting `crisp` to `false` may look better, even though each
  101032. * column is rendered blurry.
  101033. */
  101034. crisp?: boolean;
  101035. /**
  101036. * (Highcharts, Highstock) When the series contains less points than the
  101037. * crop threshold, all points are drawn, even if the points fall outside the
  101038. * visible plot area at the current zoom. The advantage of drawing all
  101039. * points (including markers and columns), is that animation is performed on
  101040. * updates. On the other hand, when the series contains more points than the
  101041. * crop threshold, the series data is cropped to only contain points that
  101042. * fall within the plot area. The advantage of cropping away invisible
  101043. * points is to increase performance on large series.
  101044. */
  101045. cropThreshold?: number;
  101046. /**
  101047. * (Highstock) You can set the cursor to "pointer" if you have click events
  101048. * attached to the series, to signal to the user that the points and lines
  101049. * can be clicked.
  101050. *
  101051. * In styled mode, the series cursor can be set with the same classes as
  101052. * listed under series.color.
  101053. */
  101054. cursor?: (string|CursorValue);
  101055. /**
  101056. * (Highstock) A reserved subspace to store options and values for
  101057. * customized functionality. Here you can add additional data for your own
  101058. * event callbacks and formatter callbacks.
  101059. */
  101060. custom?: Dictionary<any>;
  101061. /**
  101062. * (Highstock) Name of the dash style to use for the graph, or for some
  101063. * series types the outline of each shape.
  101064. *
  101065. * In styled mode, the stroke dash-array can be set with the same classes as
  101066. * listed under series.color.
  101067. */
  101068. dashStyle?: DashStyleValue;
  101069. /**
  101070. * (Highstock) Data grouping is the concept of sampling the data values into
  101071. * larger blocks in order to ease readability and increase performance of
  101072. * the JavaScript charts. Highstock by default applies data grouping when
  101073. * the points become closer than a certain pixel value, determined by the
  101074. * `groupPixelWidth` option.
  101075. *
  101076. * If data grouping is applied, the grouping information of grouped points
  101077. * can be read from the Point.dataGroup. If point options other than the
  101078. * data itself are set, for example `name` or `color` or custom properties,
  101079. * the grouping logic doesn't know how to group it. In this case the options
  101080. * of the first point instance are copied over to the group point. This can
  101081. * be altered through a custom `approximation` callback function.
  101082. */
  101083. dataGrouping?: DataGroupingOptionsObject;
  101084. /**
  101085. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  101086. * labels, appearing next to each data point.
  101087. *
  101088. * Since v6.2.0, multiple data labels can be applied to each single point by
  101089. * defining them as an array of configs.
  101090. *
  101091. * In styled mode, the data labels can be styled with the
  101092. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  101093. * (see example).
  101094. */
  101095. dataLabels?: (PlotZigzagDataLabelsOptions|Array<PlotZigzagDataLabelsOptions>);
  101096. /**
  101097. * (Highcharts, Highstock) Options for the series data sorting.
  101098. */
  101099. dataSorting?: (DataSortingOptionsObject|PlotZigzagDataSortingOptions);
  101100. /**
  101101. * (Highstock) A description of the series to add to the screen reader
  101102. * information about the series.
  101103. */
  101104. description?: string;
  101105. /**
  101106. * (Highstock) Enable or disable the mouse tracking for a specific series.
  101107. * This includes point tooltips and click events on graphs and points. For
  101108. * large datasets it improves performance.
  101109. */
  101110. enableMouseTracking?: boolean;
  101111. /**
  101112. * (Highstock) General event handlers for the series items. These event
  101113. * hooks can also be attached to the series at run time using the
  101114. * `Highcharts.addEvent` function.
  101115. */
  101116. events?: SeriesEventsOptionsObject;
  101117. /**
  101118. * (Highstock) Determines whether the series should look for the nearest
  101119. * point in both dimensions or just the x-dimension when hovering the
  101120. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  101121. * series. If the data has duplicate x-values, it is recommended to set this
  101122. * to `'xy'` to allow hovering over all points.
  101123. *
  101124. * Applies only to series types using nearest neighbor search (not direct
  101125. * hover) for tooltip.
  101126. */
  101127. findNearestPointBy?: OptionsFindNearestPointByValue;
  101128. /**
  101129. * (Highstock) Defines when to display a gap in the graph, together with the
  101130. * gapUnit option.
  101131. *
  101132. * In case when `dataGrouping` is enabled, points can be grouped into a
  101133. * larger time span. This can make the grouped points to have a greater
  101134. * distance than the absolute value of `gapSize` property, which will result
  101135. * in disappearing graph completely. To prevent this situation the mentioned
  101136. * distance between grouped points is used instead of previously defined
  101137. * `gapSize`.
  101138. *
  101139. * In practice, this option is most often used to visualize gaps in time
  101140. * series. In a stock chart, intraday data is available for daytime hours,
  101141. * while gaps will appear in nights and weekends.
  101142. */
  101143. gapSize?: number;
  101144. /**
  101145. * (Highstock) Together with gapSize, this option defines where to draw gaps
  101146. * in the graph.
  101147. *
  101148. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  101149. * if the distance between two points is greater than 5 times that of the
  101150. * two closest points, the graph will be broken.
  101151. *
  101152. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  101153. * values, which on a datetime axis is milliseconds. This also applies to
  101154. * the navigator series that inherits gap options from the base series.
  101155. */
  101156. gapUnit?: OptionsGapUnitValue;
  101157. /**
  101158. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  101159. * chart width or only the zoomed area when zooming in on parts of the X
  101160. * axis. By default, the Y axis adjusts to the min and max of the visible
  101161. * data. Cartesian series only.
  101162. */
  101163. getExtremesFromAll?: boolean;
  101164. /**
  101165. * (Highstock) When set to `false` will prevent the series data from being
  101166. * included in any form of data export.
  101167. *
  101168. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  101169. * `includeInCSVExport`.
  101170. */
  101171. includeInDataExport?: boolean;
  101172. /**
  101173. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  101174. * series as possible in a natural way, seeking to avoid other series. The
  101175. * goal of this feature is to make the chart more easily readable, like if a
  101176. * human designer placed the labels in the optimal position.
  101177. *
  101178. * The series labels currently work with series types having a `graph` or an
  101179. * `area`.
  101180. */
  101181. label?: SeriesLabelOptionsObject;
  101182. /**
  101183. * (Highstock) The line marks the last price from all points.
  101184. */
  101185. lastPrice?: SeriesLastPriceOptionsObject;
  101186. /**
  101187. * (Highstock) The line marks the last price from visible range of points.
  101188. */
  101189. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  101190. /**
  101191. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  101192. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  101193. * the ends and bends.
  101194. */
  101195. linecap?: SeriesLinecapValue;
  101196. /**
  101197. * (Highcharts, Highstock) Pixel width of the graph line.
  101198. */
  101199. lineWidth?: number;
  101200. /**
  101201. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  101202. * based on. Required for this indicator.
  101203. */
  101204. linkedTo?: string;
  101205. /**
  101206. * (Highstock) Options for the point markers of line-like series. Properties
  101207. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  101208. * appearance of the markers. Other series types, like column series, don't
  101209. * have markers, but have visual options on the series level instead.
  101210. *
  101211. * In styled mode, the markers can be styled with the `.highcharts-point`,
  101212. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  101213. */
  101214. marker?: PointMarkerOptionsObject;
  101215. /**
  101216. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  101217. * If not set, it will be based on a technical indicator type and default
  101218. * params.
  101219. */
  101220. name?: string;
  101221. /**
  101222. * (Highstock) The color for the parts of the graph or points that are below
  101223. * the threshold. Note that `zones` takes precedence over the negative
  101224. * color. Using `negativeColor` is equivalent to applying a zone with value
  101225. * of 0.
  101226. */
  101227. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  101228. /**
  101229. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  101230. * dataLabels.
  101231. */
  101232. opacity?: number;
  101233. /**
  101234. * (Highstock) Paramters used in calculation of regression series' points.
  101235. */
  101236. params?: PlotZigzagParamsOptions;
  101237. /**
  101238. * (Highstock) Properties for each single point.
  101239. */
  101240. point?: PlotSeriesPointOptions;
  101241. /**
  101242. * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
  101243. * individual series. Overrides the chart wide configuration.
  101244. */
  101245. pointDescriptionFormatter?: Function;
  101246. /**
  101247. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  101248. * true, the checkbox next to the series name in the legend will be checked
  101249. * for a selected series.
  101250. */
  101251. selected?: boolean;
  101252. /**
  101253. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  101254. * the shadow can be an object configuration containing `color`, `offsetX`,
  101255. * `offsetY`, `opacity` and `width`.
  101256. */
  101257. shadow?: (boolean|ShadowOptionsObject);
  101258. /**
  101259. * (Highstock) If true, a checkbox is displayed next to the legend item to
  101260. * allow selecting the series. The state of the checkbox is determined by
  101261. * the `selected` option.
  101262. */
  101263. showCheckbox?: boolean;
  101264. /**
  101265. * (Highstock) Whether to display this particular series or series type in
  101266. * the legend. Standalone series are shown in legend by default, and linked
  101267. * series are not. Since v7.2.0 it is possible to show series that use
  101268. * colorAxis by setting this option to `true`.
  101269. */
  101270. showInLegend?: boolean;
  101271. /**
  101272. * (Highstock) If set to `true`, the accessibility module will skip past the
  101273. * points in this series for keyboard navigation.
  101274. */
  101275. skipKeyboardNavigation?: boolean;
  101276. /**
  101277. * (Highcharts, Highstock) When this is true, the series will not cause the
  101278. * Y axis to cross the zero plane (or threshold option) unless the data
  101279. * actually crosses the plane.
  101280. *
  101281. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  101282. * make the Y axis show negative values according to the `minPadding`
  101283. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  101284. */
  101285. softThreshold?: boolean;
  101286. states?: SeriesStatesOptionsObject;
  101287. /**
  101288. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  101289. * values are `left`, `center` and `right`.
  101290. */
  101291. step?: OptionsStepValue;
  101292. /**
  101293. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  101294. * event on a series isn't triggered until the mouse moves over another
  101295. * series, or out of the plot area. When false, the `mouseOut` event on a
  101296. * series is triggered when the mouse leaves the area around the series'
  101297. * graph or markers. This also implies the tooltip when not shared. When
  101298. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  101299. * be hidden when moving the mouse between series. Defaults to true for line
  101300. * and area type series, but to false for columns, pies etc.
  101301. *
  101302. * **Note:** The boost module will force this option because of technical
  101303. * limitations.
  101304. */
  101305. stickyTracking?: boolean;
  101306. /**
  101307. * (Highcharts, Highstock) The threshold, also called zero level or base
  101308. * level. For line type series this is only used in conjunction with
  101309. * negativeColor.
  101310. */
  101311. threshold?: number;
  101312. /**
  101313. * (Highstock) A configuration object for the tooltip rendering of each
  101314. * single series. Properties are inherited from tooltip, but only the
  101315. * following properties can be defined on a series level.
  101316. */
  101317. tooltip?: SeriesTooltipOptionsObject;
  101318. /**
  101319. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  101320. * is longer than this, only one dimensional arrays of numbers, or two
  101321. * dimensional arrays with x and y values are allowed. Also, only the first
  101322. * point is tested, and the rest are assumed to be the same format. This
  101323. * saves expensive data checking and indexing in long series. Set it to `0`
  101324. * disable.
  101325. *
  101326. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  101327. * two dimensional arrays are allowed.
  101328. */
  101329. turboThreshold?: number;
  101330. /**
  101331. * (Highstock) Set the initial visibility of the series.
  101332. */
  101333. visible?: boolean;
  101334. /**
  101335. * (Highmaps) Define the z index of the series.
  101336. */
  101337. zIndex?: number;
  101338. /**
  101339. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  101340. */
  101341. zoneAxis?: string;
  101342. /**
  101343. * (Highcharts, Highstock) An array defining zones within a series. Zones
  101344. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  101345. * the `zoneAxis` option. The zone definitions have to be in ascending order
  101346. * regarding to the value.
  101347. *
  101348. * In styled mode, the color zones are styled with the
  101349. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  101350. * option (view live demo).
  101351. */
  101352. zones?: Array<SeriesZonesOptionsObject>;
  101353. }
  101354. /**
  101355. * (Highstock) Paramters used in calculation of regression series' points.
  101356. */
  101357. export interface PlotZigzagParamsOptions {
  101358. /**
  101359. * (Highstock) The threshold for the value change.
  101360. *
  101361. * For example deviation=1 means the indicator will ignore all price
  101362. * movements less than 1%.
  101363. */
  101364. deviation?: number;
  101365. /**
  101366. * (Highstock) The point index which indicator calculations will base - high
  101367. * value.
  101368. *
  101369. * For example using OHLC data, index=1 means the indicator will be
  101370. * calculated using High values.
  101371. */
  101372. highIndex?: number;
  101373. /**
  101374. * (Highstock) The point index which indicator calculations will base - low
  101375. * value.
  101376. *
  101377. * For example using OHLC data, index=2 means the indicator will be
  101378. * calculated using Low values.
  101379. */
  101380. lowIndex?: number;
  101381. }
  101382. /**
  101383. * (Highcharts, Highstock, Gantt) Accessibility options for a data point.
  101384. */
  101385. export interface PointAccessibilityOptionsObject {
  101386. /**
  101387. * (Highcharts, Highstock, Gantt) Provide a description of the data point,
  101388. * announced to screen readers.
  101389. */
  101390. description?: string;
  101391. }
  101392. /**
  101393. * Common information for a click event on a series point.
  101394. */
  101395. export interface PointClickEventObject extends PointerEventObject {
  101396. /**
  101397. * Clicked point.
  101398. */
  101399. point: Point;
  101400. }
  101401. /**
  101402. * Contains information about a points new values.
  101403. */
  101404. export interface PointDragDropObject {
  101405. /**
  101406. * New values.
  101407. */
  101408. newValues: Dictionary<number>;
  101409. /**
  101410. * Updated point.
  101411. */
  101412. point: Point;
  101413. }
  101414. /**
  101415. * Contains common information for a drag event on series points.
  101416. */
  101417. export interface PointDragEventObject {
  101418. /**
  101419. * New points during drag.
  101420. */
  101421. newPoints: Dictionary<PointDragDropObject>;
  101422. /**
  101423. * Original data.
  101424. */
  101425. origin: DragDropPositionObject;
  101426. /**
  101427. * Prevent default drag action.
  101428. */
  101429. preventDefault: Function;
  101430. /**
  101431. * Target point that caused the event.
  101432. */
  101433. target: Point;
  101434. /**
  101435. * Event type.
  101436. */
  101437. type: "drag";
  101438. }
  101439. /**
  101440. * Contains common information for a drag event on series point.
  101441. */
  101442. export interface PointDragStartEventObject extends MouseEvent {
  101443. /**
  101444. * Data property being dragged.
  101445. */
  101446. updateProp?: string;
  101447. }
  101448. /**
  101449. * Contains common information for a drop event on series points.
  101450. */
  101451. export interface PointDropEventObject {
  101452. /**
  101453. * New point after drag if only a single one.
  101454. */
  101455. newPoint?: PointDragDropObject;
  101456. /**
  101457. * New point id after drag if only a single one.
  101458. */
  101459. newPointId?: string;
  101460. /**
  101461. * New points after drop.
  101462. */
  101463. newPoints: Dictionary<PointDragDropObject>;
  101464. /**
  101465. * Number of new points.
  101466. */
  101467. numNewPoints: number;
  101468. /**
  101469. * Original data.
  101470. */
  101471. origin: DragDropPositionObject;
  101472. /**
  101473. * Prevent default drop action.
  101474. */
  101475. preventDefault: Function;
  101476. /**
  101477. * Target point that caused the event.
  101478. */
  101479. target: Point;
  101480. /**
  101481. * Event type.
  101482. */
  101483. type: "drop";
  101484. }
  101485. /**
  101486. * One position in relation to an axis.
  101487. */
  101488. export interface PointerAxisCoordinateObject {
  101489. /**
  101490. * Related axis.
  101491. */
  101492. axis: Axis;
  101493. /**
  101494. * Axis value.
  101495. */
  101496. value: number;
  101497. }
  101498. /**
  101499. * Positions in terms of axis values.
  101500. */
  101501. export interface PointerAxisCoordinatesObject {
  101502. /**
  101503. * Positions on the x-axis.
  101504. */
  101505. xAxis: Array<PointerAxisCoordinateObject>;
  101506. /**
  101507. * Positions on the y-axis.
  101508. */
  101509. yAxis: Array<PointerAxisCoordinateObject>;
  101510. }
  101511. /**
  101512. * Pointer coordinates.
  101513. */
  101514. export interface PointerCoordinatesObject {
  101515. chartX: number;
  101516. chartY: number;
  101517. }
  101518. /**
  101519. * A native browser mouse or touch event, extended with position information
  101520. * relative to the Chart.container.
  101521. */
  101522. export interface PointerEventObject extends PointerEvent {
  101523. /**
  101524. * The X coordinate of the pointer interaction relative to the chart.
  101525. */
  101526. chartX: number;
  101527. /**
  101528. * The Y coordinate of the pointer interaction relative to the chart.
  101529. */
  101530. chartY: number;
  101531. }
  101532. /**
  101533. * (Highcharts, Highstock, Gantt) The individual point events.
  101534. */
  101535. export interface PointEventsOptionsObject {
  101536. /**
  101537. * (Highcharts, Highstock, Gantt) Fires when a point is clicked. One
  101538. * parameter, `event`, is passed to the function, containing common event
  101539. * information.
  101540. *
  101541. * If the `series.allowPointSelect` option is true, the default action for
  101542. * the point's click event is to toggle the point's select state. Returning
  101543. * `false` cancels this action.
  101544. */
  101545. click?: PointClickCallbackFunction;
  101546. /**
  101547. * (Highcharts, Highstock, Gantt) Callback that fires while dragging a
  101548. * point. The mouse event is passed in as parameter. The original data can
  101549. * be accessed from `e.origin`, and the new point values can be accessed
  101550. * from `e.newPoints`. If there is only a single point being updated, it can
  101551. * be accessed from `e.newPoint` for simplicity, and its ID can be accessed
  101552. * from `e.newPointId`. The `this` context is the point being dragged. To
  101553. * stop the default drag action, return false. See drag and drop options.
  101554. */
  101555. drag?: PointDragCallbackFunction;
  101556. /**
  101557. * (Highcharts, Highstock, Gantt) Callback that fires when starting to drag
  101558. * a point. The mouse event object is passed in as an argument. If a drag
  101559. * handle is used, `e.updateProp` is set to the data property being dragged.
  101560. * The `this` context is the point. See drag and drop options.
  101561. */
  101562. dragStart?: PointDragStartCallbackFunction;
  101563. /**
  101564. * (Highcharts, Highstock, Gantt) Callback that fires when the point is
  101565. * dropped. The parameters passed are the same as for drag. To stop the
  101566. * default drop action, return false. See drag and drop options.
  101567. */
  101568. drop?: PointDropCallbackFunction;
  101569. /**
  101570. * (Highcharts) Fires when the legend item belonging to the pie point
  101571. * (slice) is clicked. The `this` keyword refers to the point itself. One
  101572. * parameter, `event`, is passed to the function, containing common event
  101573. * information. The default action is to toggle the visibility of the point.
  101574. * This can be prevented by calling `event.preventDefault()`.
  101575. */
  101576. legendItemClick?: PointLegendItemClickCallbackFunction;
  101577. /**
  101578. * (Highcharts, Highstock, Gantt) Fires when the mouse leaves the area close
  101579. * to the point. One parameter, `event`, is passed to the function,
  101580. * containing common event information.
  101581. */
  101582. mouseOut?: PointMouseOutCallbackFunction;
  101583. /**
  101584. * (Highcharts, Highstock, Gantt) Fires when the mouse enters the area close
  101585. * to the point. One parameter, `event`, is passed to the function,
  101586. * containing common event information.
  101587. */
  101588. mouseOver?: PointMouseOverCallbackFunction;
  101589. /**
  101590. * (Highcharts, Highstock, Gantt) Fires when the point is removed using the
  101591. * `.remove()` method. One parameter, `event`, is passed to the function.
  101592. * Returning `false` cancels the operation.
  101593. */
  101594. remove?: PointRemoveCallbackFunction;
  101595. /**
  101596. * Fires when the point is selected either programmatically or following a
  101597. * click on the point. One parameter, `event`, is passed to the function.
  101598. * Returning `false` cancels the operation.
  101599. */
  101600. select?: PointSelectCallbackFunction;
  101601. /**
  101602. * Fires when the point is unselected either programmatically or following a
  101603. * click on the point. One parameter, `event`, is passed to the function.
  101604. * Returning `false` cancels the operation.
  101605. */
  101606. unselect?: PointUnselectCallbackFunction;
  101607. /**
  101608. * (Highcharts, Highstock, Gantt) Fires when the point is updated
  101609. * programmatically through the `.update()` method. One parameter, `event`,
  101610. * is passed to the function. The new point options can be accessed through
  101611. * `event.options`. Returning `false` cancels the operation.
  101612. */
  101613. update?: PointUpdateCallbackFunction;
  101614. }
  101615. /**
  101616. * Information about the select/unselect event.
  101617. */
  101618. export interface PointInteractionEventObject extends Event {
  101619. accumulate: boolean;
  101620. }
  101621. /**
  101622. * Configuration hash for the data label and tooltip formatters.
  101623. */
  101624. export interface PointLabelObject {
  101625. /**
  101626. * The point's current color.
  101627. */
  101628. color?: (ColorString|GradientColorObject|PatternObject);
  101629. /**
  101630. * The point's current color index, used in styled mode instead of `color`.
  101631. * The color index is inserted in class names used for styling.
  101632. */
  101633. colorIndex: number;
  101634. /**
  101635. * The name of the related point.
  101636. */
  101637. key?: string;
  101638. /**
  101639. * The percentage for related points in a stacked series or pies.
  101640. */
  101641. percentage: number;
  101642. /**
  101643. * The related point. The point name, if defined, is available through
  101644. * `this.point.name`.
  101645. */
  101646. point: Point;
  101647. /**
  101648. * The related series. The series name is available through
  101649. * `this.series.name`.
  101650. */
  101651. series: Series;
  101652. /**
  101653. * The total of values in either a stack for stacked series, or a pie in a
  101654. * pie series.
  101655. */
  101656. total?: number;
  101657. /**
  101658. * For categorized axes this property holds the category name for the point.
  101659. * For other axes it holds the X value.
  101660. */
  101661. x?: (number|string);
  101662. /**
  101663. * The y value of the point.
  101664. */
  101665. y?: number;
  101666. }
  101667. /**
  101668. * Information about the legend click event.
  101669. */
  101670. export interface PointLegendItemClickEventObject {
  101671. /**
  101672. * Related browser event.
  101673. */
  101674. browserEvent: PointerEvent;
  101675. /**
  101676. * Prevent the default action of toggle the visibility of the point.
  101677. */
  101678. preventDefault: Function;
  101679. /**
  101680. * Related point.
  101681. */
  101682. target: Point;
  101683. /**
  101684. * Event type.
  101685. */
  101686. type: "legendItemClick";
  101687. }
  101688. /**
  101689. * (Highcharts, Highstock) Options for the point markers of line-like series.
  101690. */
  101691. export interface PointMarkerOptionsObject {
  101692. /**
  101693. * (Highcharts, Highstock, Highmaps) Animation for the marker as it moves
  101694. * between values. Set to `false` to disable animation. Defaults to `{
  101695. * duration: 50 }`.
  101696. */
  101697. animation?: (boolean|Partial<AnimationOptionsObject>);
  101698. /**
  101699. * (Highcharts, Highstock, Highmaps) The color of the marker.
  101700. */
  101701. color?: (ColorString|GradientColorObject|PatternObject);
  101702. /**
  101703. * (Highcharts, Highstock) Enable or disable the point marker. If
  101704. * `undefined`, the markers are hidden when the data is dense, and shown for
  101705. * more widespread data points.
  101706. */
  101707. enabled?: boolean;
  101708. /**
  101709. * (Highcharts, Highstock) The threshold for how dense the point markers
  101710. * should be before they are hidden, given that `enabled` is not defined.
  101711. * The number indicates the horizontal distance between the two closest
  101712. * points in the series, as multiples of the `marker.radius`. In other
  101713. * words, the default value of 2 means points are hidden if overlapping
  101714. * horizontally.
  101715. */
  101716. enabledThreshold?: number;
  101717. /**
  101718. * (Highcharts, Highstock) The fill color of the point marker. When
  101719. * `undefined`, the series' or point's color is used.
  101720. */
  101721. fillColor?: (ColorString|GradientColorObject|PatternObject);
  101722. /**
  101723. * (Highcharts) The fill opacity of the bubble markers.
  101724. */
  101725. fillOpacity?: number;
  101726. /**
  101727. * (Highcharts, Highstock) Image markers only. Set the image width
  101728. * explicitly. When using this option, a `width` must also be set.
  101729. */
  101730. height?: number;
  101731. /**
  101732. * (Highcharts, Highstock) The color of the point marker's outline. When
  101733. * `undefined`, the series' or point's color is used.
  101734. */
  101735. lineColor?: (string|ColorString|GradientColorObject|PatternObject);
  101736. /**
  101737. * (Highcharts, Highstock) The width of the point marker's outline.
  101738. */
  101739. lineWidth?: number;
  101740. /**
  101741. * (Highcharts, Highstock) The radius of the point marker.
  101742. */
  101743. radius?: number;
  101744. /**
  101745. * (Highcharts, Highstock) States for a single point marker.
  101746. */
  101747. states?: PointStatesOptionsObject;
  101748. /**
  101749. * (Highcharts, Highstock) A predefined shape or symbol for the marker. When
  101750. * undefined, the symbol is pulled from options.symbols. Other possible
  101751. * values are `'circle'`, `'square'`,`'diamond'`, `'triangle'` and
  101752. * `'triangle-down'`.
  101753. *
  101754. * Additionally, the URL to a graphic can be given on this form:
  101755. * `'url(graphic.png)'`. Note that for the image to be applied to exported
  101756. * charts, its URL needs to be accessible by the export server.
  101757. *
  101758. * Custom callbacks for symbol path generation can also be added to
  101759. * `Highcharts.SVGRenderer.prototype.symbols`. The callback is then used by
  101760. * its method name, as shown in the demo.
  101761. */
  101762. symbol?: (string|SymbolKeyValue);
  101763. /**
  101764. * (Highcharts, Highstock) Image markers only. Set the image width
  101765. * explicitly. When using this option, a `height` must also be set.
  101766. */
  101767. width?: number;
  101768. }
  101769. /**
  101770. * The generic point options for all series.
  101771. *
  101772. * In TypeScript you have to extend `PointOptionsObject` with an additional
  101773. * declaration to allow custom data options: (see online documentation for
  101774. * example)
  101775. */
  101776. export interface PointOptionsObject {
  101777. /**
  101778. * (Highcharts) Accessibility options for a data point.
  101779. */
  101780. accessibility?: PointAccessibilityOptionsObject;
  101781. /**
  101782. * (Highcharts, Highstock) The color of the border surrounding the column or
  101783. * bar.
  101784. *
  101785. * In styled mode, the border stroke can be set with the `.highcharts-point`
  101786. * rule.
  101787. */
  101788. borderColor?: (ColorString|GradientColorObject|PatternObject);
  101789. /**
  101790. * (Highcharts, Highstock) The width of the border surrounding the column or
  101791. * bar.
  101792. *
  101793. * In styled mode, the stroke width can be set with the `.highcharts-point`
  101794. * rule.
  101795. */
  101796. borderWidth?: number;
  101797. /**
  101798. * (Highcharts) The dash style of the box.
  101799. */
  101800. boxDashStyle?: DashStyleValue;
  101801. /**
  101802. * (Highcharts, Gantt) An additional, individual class name for the data
  101803. * point's graphic representation.
  101804. */
  101805. className?: string;
  101806. /**
  101807. * (Highstock) The closing value of each data point.
  101808. */
  101809. close?: number;
  101810. /**
  101811. * (Highcharts, Highstock, Gantt) Individual color for the point. By default
  101812. * the color is pulled from the global `colors` array.
  101813. *
  101814. * In styled mode, the `color` option doesn't take effect. Instead, use
  101815. * `colorIndex`.
  101816. */
  101817. color?: (ColorString|GradientColorObject|PatternObject);
  101818. /**
  101819. * (Highcharts, Gantt) A specific color index to use for the point, so its
  101820. * graphic representations are given the class name `highcharts-color-{n}`.
  101821. * In styled mode this will change the color of the graphic. In non-styled
  101822. * mode, the color by is set by the `fill` attribute, so the change in class
  101823. * name won't have a visual effect by default.
  101824. */
  101825. colorIndex?: number;
  101826. /**
  101827. * (Highcharts) Serves a purpose only if a `colorAxis` object is defined in
  101828. * the chart options. This value will decide which color the point gets from
  101829. * the scale of the colorAxis.
  101830. */
  101831. colorValue?: number;
  101832. /**
  101833. * (Highcharts, Highstock) Color of the line that connects the dumbbell
  101834. * point's values. By default it is the series' color.
  101835. */
  101836. connectorColor?: string;
  101837. /**
  101838. * (Highcharts, Highstock) Pixel width of the line that connects the
  101839. * dumbbell point's values.
  101840. */
  101841. connectorWidth?: number;
  101842. /**
  101843. * (Highcharts) A reserved subspace to store options and values for
  101844. * customized functionality. Here you can add additional data for your own
  101845. * event callbacks and formatter callbacks.
  101846. */
  101847. custom?: Dictionary<any>;
  101848. /**
  101849. * (Highcharts) A name for the dash style to use for the column or bar.
  101850. * Overrides dashStyle on the series.
  101851. *
  101852. * In styled mode, the stroke dash-array can be set with the same classes as
  101853. * listed under data.color.
  101854. */
  101855. dashStyle?: DashStyleValue;
  101856. /**
  101857. * (Highcharts, Highstock, Gantt) Individual data label for each point. The
  101858. * options are the same as the ones for plotOptions.series.dataLabels.
  101859. */
  101860. dataLabels?: (DataLabelsOptions|DataLabelsOptions|SeriesNetworkgraphDataLabelsOptionsObject|SeriesPackedBubbleDataLabelsOptionsObject|SeriesPieDataLabelsOptionsObject|
  101861. SeriesSunburstDataLabelsOptionsObject|Array<DataLabelsOptions>|Array<SeriesNetworkgraphDataLabelsOptionsObject>|Array<SeriesPackedBubbleDataLabelsOptionsObject>|
  101862. Array<SeriesSunburstDataLabelsOptionsObject>);
  101863. /**
  101864. * (Highcharts) A description of the point to add to the screen reader
  101865. * information about the point.
  101866. */
  101867. description?: string;
  101868. /**
  101869. * (Highcharts, Highstock) The wind direction in degrees, where 0 is north
  101870. * (pointing towards south).
  101871. */
  101872. direction?: number;
  101873. /**
  101874. * (Highcharts) Point specific options for the draggable-points module.
  101875. * Overrides options on `series.dragDrop`.
  101876. */
  101877. dragDrop?: SeriesLineDataDragDropOptions;
  101878. /**
  101879. * (Highcharts) The `id` of a series in the drilldown.series array to use
  101880. * for a drilldown for this point.
  101881. */
  101882. drilldown?: string;
  101883. /**
  101884. * (Highcharts, Highstock, Gantt) The individual point events.
  101885. */
  101886. events?: PointEventsOptionsObject;
  101887. /**
  101888. * (Highstock) The fill color of an individual flag. By default it inherits
  101889. * from the series color.
  101890. */
  101891. fillColor?: (ColorString|GradientColorObject|PatternObject);
  101892. /**
  101893. * (Highcharts) The node that the link runs from.
  101894. */
  101895. from?: string;
  101896. /**
  101897. * (Highcharts, Highstock) The high or maximum value for each data point.
  101898. */
  101899. high?: number;
  101900. /**
  101901. * (Highcharts, Highstock, Gantt) An id for the point. This can be used
  101902. * after render time to get a pointer to the point object through
  101903. * `chart.get()`.
  101904. */
  101905. id?: string;
  101906. /**
  101907. * (Highcharts) The inner radius of an individual point in a solid gauge.
  101908. * Can be given as a number (pixels) or percentage string.
  101909. */
  101910. innerRadius?: (number|string);
  101911. /**
  101912. * (Highcharts) When this property is true, the points acts as a summary
  101913. * column for the values added or substracted since the last intermediate
  101914. * sum, or since the start of the series. The `y` value is ignored.
  101915. */
  101916. isIntermediateSum?: boolean;
  101917. /**
  101918. * (Highcharts) When this property is true, the point display the total sum
  101919. * across the entire series. The `y` value is ignored.
  101920. */
  101921. isSum?: boolean;
  101922. /**
  101923. * (Highcharts) The label of event.
  101924. */
  101925. label?: string;
  101926. /**
  101927. * (Highcharts) The rank for this point's data label in case of collision.
  101928. * If two data labels are about to overlap, only the one with the highest
  101929. * `labelrank` will be drawn.
  101930. */
  101931. labelrank?: number;
  101932. /**
  101933. * (Highcharts) The sequential index of the data point in the legend.
  101934. */
  101935. legendIndex?: number;
  101936. /**
  101937. * (Highcharts, Highstock) The length of the vector. The rendered length
  101938. * will relate to the `vectorLength` setting.
  101939. */
  101940. length?: number;
  101941. /**
  101942. * (Highcharts, Highstock) The low or minimum value for each data point.
  101943. */
  101944. low?: number;
  101945. /**
  101946. * (Highcharts, Highstock) Color of the start markers in a dumbbell graph.
  101947. */
  101948. lowColor?: (ColorString|GradientColorObject|PatternObject);
  101949. /**
  101950. * (Highcharts, Highstock) Options for the point markers of line-like
  101951. * series.
  101952. */
  101953. marker?: PointMarkerOptionsObject;
  101954. /**
  101955. * (Highcharts) The median for each data point. This is drawn as a line
  101956. * through the middle area of the box.
  101957. */
  101958. median?: number;
  101959. /**
  101960. * (Highcharts) The dash style of the median.
  101961. */
  101962. medianDashStyle?: DashStyleValue;
  101963. /**
  101964. * (Highcharts) The name of the point as shown in the legend, tooltip,
  101965. * dataLabels, etc.
  101966. */
  101967. name?: (number|string);
  101968. /**
  101969. * (Highstock) The opening value of each data point.
  101970. */
  101971. open?: number;
  101972. /**
  101973. * (Highcharts) Only for treemap. Use this option to build a tree structure.
  101974. * The value should be the id of the point which is the parent. If no points
  101975. * has a matching id, or this option is undefined, then the parent will be
  101976. * set to the root.
  101977. */
  101978. parent?: string;
  101979. /**
  101980. * (Highcharts, Highmaps) Point padding for a single point.
  101981. */
  101982. pointPadding?: number;
  101983. /**
  101984. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  101985. * the column or bar. Overrides pointWidth on the series. The width effects
  101986. * the dimension that is not based on the point value.
  101987. */
  101988. pointWidth?: number;
  101989. /**
  101990. * (Highcharts) The lower quartile for each data point. This is the bottom
  101991. * of the box.
  101992. */
  101993. q1?: number;
  101994. /**
  101995. * (Highcharts) The higher quartile for each data point. This is the top of
  101996. * the box.
  101997. */
  101998. q3?: number;
  101999. /**
  102000. * (Highcharts) The outer radius of an individual point in a solid gauge.
  102001. * Can be given as a number (pixels) or percentage string.
  102002. */
  102003. radius?: (number|string);
  102004. /**
  102005. * (Highcharts, Highstock, Gantt) Whether the data point is selected
  102006. * initially.
  102007. */
  102008. selected?: boolean;
  102009. /**
  102010. * (Highcharts) The set or sets the options will be applied to. If a single
  102011. * entry is defined, then it will create a new set. If more than one entry
  102012. * is defined, then it will define the overlap between the sets in the
  102013. * array.
  102014. */
  102015. sets?: Array<string>;
  102016. /**
  102017. * (Highcharts) Whether to display a slice offset from the center.
  102018. */
  102019. sliced?: boolean;
  102020. /**
  102021. * (Highcharts) The dash style of the stem.
  102022. */
  102023. stemDashStyle?: DashStyleValue;
  102024. /**
  102025. * (Highcharts) The target value of a point.
  102026. */
  102027. target?: number;
  102028. /**
  102029. * (Highcharts) Individual target options for each point.
  102030. */
  102031. targetOptions?: SeriesBulletDataTargetOptions;
  102032. /**
  102033. * (Highstock) The longer text to be shown in the flag's tooltip.
  102034. */
  102035. text?: string;
  102036. /**
  102037. * (Highstock) The short text to be shown on the flag.
  102038. */
  102039. title?: string;
  102040. /**
  102041. * (Highcharts) The node that the link runs to.
  102042. */
  102043. to?: string;
  102044. /**
  102045. * (Highcharts, Highstock) The wind speed in meters per second.
  102046. */
  102047. value?: (number|null);
  102048. /**
  102049. * (Highcharts) The weighting of a word. The weight decides the relative
  102050. * size of a word compared to the rest of the collection.
  102051. */
  102052. weight?: number;
  102053. /**
  102054. * (Highcharts) The dash style of the whiskers.
  102055. */
  102056. whiskerDashStyle?: DashStyleValue;
  102057. /**
  102058. * (Highcharts, Highstock) The x value of the point. For datetime axes, the
  102059. * X value is the timestamp in milliseconds since 1970.
  102060. */
  102061. x?: number;
  102062. /**
  102063. * (Highcharts, Highstock) The y value of the point.
  102064. */
  102065. y?: (number|null);
  102066. /**
  102067. * (Highcharts) The relative width for each column. On a category axis, the
  102068. * widths are distributed so they sum up to the X axis length. On linear and
  102069. * datetime axes, the columns will be laid out from the X value and Z units
  102070. * along the axis.
  102071. */
  102072. z?: (number|null);
  102073. }
  102074. /**
  102075. * (Highcharts, Highstock) The hover state for a single point marker.
  102076. */
  102077. export interface PointStatesHoverOptionsObject {
  102078. /**
  102079. * (Highcharts, Highstock) Animation when hovering over the marker.
  102080. */
  102081. animation?: (boolean|Partial<AnimationOptionsObject>);
  102082. /**
  102083. * (Highcharts, Highstock) Enable or disable the point marker.
  102084. */
  102085. enabled?: boolean;
  102086. /**
  102087. * (Highcharts, Highstock) The fill color of the marker in hover state. When
  102088. * `undefined`, the series' or point's fillColor for normal state is used.
  102089. */
  102090. fillColor?: (ColorString|GradientColorObject|PatternObject);
  102091. /**
  102092. * (Highcharts, Highmaps) Set the marker's fixed height on hover state.
  102093. */
  102094. height?: (number|undefined);
  102095. /**
  102096. * (Highcharts, Highstock) The number of pixels to increase the height of
  102097. * the hovered point.
  102098. */
  102099. heightPlus?: (number|undefined);
  102100. /**
  102101. * (Highcharts, Highstock) The color of the point marker's outline. When
  102102. * `undefined`, the series' or point's lineColor for normal state is used.
  102103. */
  102104. lineColor?: (ColorString|GradientColorObject|PatternObject);
  102105. /**
  102106. * (Highcharts, Highstock) The width of the point marker's outline. When
  102107. * `undefined`, the series' or point's lineWidth for normal state is used.
  102108. */
  102109. lineWidth?: number;
  102110. /**
  102111. * (Highcharts, Highstock) The additional line width for a hovered point.
  102112. */
  102113. lineWidthPlus?: (number|undefined);
  102114. /**
  102115. * (Highcharts, Highstock) The radius of the point marker. In hover state,
  102116. * it defaults to the normal state's radius + 2 as per the radiusPlus
  102117. * option.
  102118. */
  102119. radius?: number;
  102120. /**
  102121. * (Highcharts, Highstock) The number of pixels to increase the radius of
  102122. * the hovered point.
  102123. */
  102124. radiusPlus?: number;
  102125. /**
  102126. * (Highcharts, Highmaps) Set the marker's fixed width on hover state.
  102127. */
  102128. width?: (number|undefined);
  102129. /**
  102130. * (Highcharts, Highstock) The number of pixels to increase the width of the
  102131. * hovered point.
  102132. */
  102133. widthPlus?: (number|undefined);
  102134. }
  102135. /**
  102136. * (Highcharts) The opposite state of a hover for a single point node. Applied
  102137. * to all not connected nodes to the hovered one.
  102138. */
  102139. export interface PointStatesInactiveOptionsObject {
  102140. /**
  102141. * (Highcharts) Animation when not hovering over the node.
  102142. */
  102143. animation?: (boolean|Partial<AnimationOptionsObject>);
  102144. /**
  102145. * (Highcharts) Opacity of inactive markers.
  102146. */
  102147. opacity?: number;
  102148. }
  102149. /**
  102150. * (Highcharts, Highstock) The normal state of a single point marker. Currently
  102151. * only used for setting animation when returning to normal state from hover.
  102152. */
  102153. export interface PointStatesNormalOptionsObject {
  102154. /**
  102155. * (Highcharts, Highstock) Animation when returning to normal state after
  102156. * hovering.
  102157. */
  102158. animation?: (boolean|Partial<AnimationOptionsObject>);
  102159. }
  102160. /**
  102161. * (Highcharts, Highstock) States for a single point marker.
  102162. */
  102163. export interface PointStatesOptionsObject {
  102164. /**
  102165. * (Highcharts, Highstock) The hover state for a single point marker.
  102166. */
  102167. hover?: PointStatesHoverOptionsObject;
  102168. /**
  102169. * (Highcharts) The opposite state of a hover for a single point node.
  102170. * Applied to all not connected nodes to the hovered one.
  102171. */
  102172. inactive?: PointStatesInactiveOptionsObject;
  102173. /**
  102174. * (Highcharts, Highstock) The normal state of a single point marker.
  102175. * Currently only used for setting animation when returning to normal state
  102176. * from hover.
  102177. */
  102178. normal?: PointStatesNormalOptionsObject;
  102179. /**
  102180. * (Highcharts, Highstock) The appearance of the point marker when selected.
  102181. * In order to allow a point to be selected, set the
  102182. * `series.allowPointSelect` option to true.
  102183. */
  102184. select?: PointStatesSelectOptionsObject;
  102185. }
  102186. /**
  102187. * (Highcharts, Highstock) The appearance of the point marker when selected. In
  102188. * order to allow a point to be selected, set the `series.allowPointSelect`
  102189. * option to true.
  102190. */
  102191. export interface PointStatesSelectOptionsObject {
  102192. /**
  102193. * (Highcharts, Highstock) Enable or disable visible feedback for selection.
  102194. */
  102195. enabled?: boolean;
  102196. /**
  102197. * (Highcharts, Highstock) The fill color of the point marker.
  102198. */
  102199. fillColor?: (ColorString|GradientColorObject|PatternObject);
  102200. /**
  102201. * (Highcharts, Highmaps) Set the marker's fixed height on select state.
  102202. */
  102203. height?: (number|undefined);
  102204. /**
  102205. * (Highcharts, Highstock) The number of pixels to increase the height of
  102206. * the hovered point.
  102207. */
  102208. heightPlus?: (number|undefined);
  102209. /**
  102210. * (Highcharts, Highstock) The color of the point marker's outline. When
  102211. * `undefined`, the series' or point's color is used.
  102212. */
  102213. lineColor?: (ColorString|GradientColorObject|PatternObject);
  102214. /**
  102215. * (Highcharts, Highstock) The width of the point marker's outline.
  102216. */
  102217. lineWidth?: number;
  102218. /**
  102219. * (Highcharts, Highstock) The radius of the point marker. In hover state,
  102220. * it defaults to the normal state's radius + 2.
  102221. */
  102222. radius?: number;
  102223. /**
  102224. * (Highcharts, Highmaps) Set the marker's fixed width on select state.
  102225. */
  102226. width?: (number|undefined);
  102227. /**
  102228. * (Highcharts, Highstock) The number of pixels to increase the width of the
  102229. * hovered point.
  102230. */
  102231. widthPlus?: (number|undefined);
  102232. }
  102233. /**
  102234. * Information about the update event.
  102235. */
  102236. export interface PointUpdateEventObject extends Event {
  102237. /**
  102238. * Options data of the update event.
  102239. */
  102240. options: PointOptionsType;
  102241. }
  102242. /**
  102243. * An object containing `x` and `y` properties for the position of an element.
  102244. */
  102245. export interface PositionObject {
  102246. /**
  102247. * X position of the element.
  102248. */
  102249. x: number;
  102250. /**
  102251. * Y position of the element.
  102252. */
  102253. y: number;
  102254. }
  102255. /**
  102256. * Defines the center position and the radius for a gradient.
  102257. */
  102258. export interface RadialGradientColorObject {
  102259. /**
  102260. * Center horizontal position relative to the shape. Float ranges 0-1.
  102261. */
  102262. cx: number;
  102263. /**
  102264. * Center vertical position relative to the shape. Float ranges 0-1.
  102265. */
  102266. cy: number;
  102267. /**
  102268. * Radius relative to the shape. Float ranges 0-1.
  102269. */
  102270. r: number;
  102271. }
  102272. /**
  102273. * Describes a range.
  102274. */
  102275. export interface RangeObject {
  102276. /**
  102277. * Maximum number of the range.
  102278. */
  102279. max: number;
  102280. /**
  102281. * Minimum number of the range.
  102282. */
  102283. min: number;
  102284. }
  102285. /**
  102286. * (Highstock, Gantt) Positioning for the button row.
  102287. */
  102288. export interface RangeSelectorButtonPositionOptions {
  102289. /**
  102290. * (Highstock, Gantt) The alignment of the input box. Allowed properties are
  102291. * `left`, `center`, `right`.
  102292. */
  102293. align?: AlignValue;
  102294. /**
  102295. * (Highstock, Gantt) X offset of the button row.
  102296. */
  102297. x?: number;
  102298. /**
  102299. * (Highstock, Gantt) Y offset of the button row.
  102300. */
  102301. y?: number;
  102302. }
  102303. export interface RangeSelectorButtonsEventsOptions {
  102304. /**
  102305. * (Highstock, Gantt) Fires when clicking on the rangeSelector button. One
  102306. * parameter, event, is passed to the function, containing common event
  102307. * information. (see online documentation for example)
  102308. *
  102309. * Return false to stop default button's click action.
  102310. */
  102311. click?: RangeSelectorClickCallbackFunction;
  102312. }
  102313. /**
  102314. * (Highstock, Gantt) An array of configuration objects for the buttons.
  102315. *
  102316. * Defaults to: (see online documentation for example)
  102317. */
  102318. export interface RangeSelectorButtonsOptions {
  102319. /**
  102320. * (Highstock, Gantt) How many units of the defined type the button should
  102321. * span. If `type` is "month" and `count` is 3, the button spans three
  102322. * months.
  102323. */
  102324. count?: number;
  102325. /**
  102326. * (Highstock) A custom data grouping object for each button.
  102327. */
  102328. dataGrouping?: DataGroupingOptionsObject;
  102329. events?: RangeSelectorButtonsEventsOptions;
  102330. /**
  102331. * (Highstock, Gantt) Additional range (in milliseconds) added to the end of
  102332. * the calculated time span.
  102333. */
  102334. offsetMax?: number;
  102335. /**
  102336. * (Highstock, Gantt) Additional range (in milliseconds) added to the start
  102337. * of the calculated time span.
  102338. */
  102339. offsetMin?: number;
  102340. /**
  102341. * (Highstock, Gantt) When buttons apply dataGrouping on a series, by
  102342. * default zooming in/out will deselect buttons and unset dataGrouping.
  102343. * Enable this option to keep buttons selected when extremes change.
  102344. */
  102345. preserveDataGrouping?: boolean;
  102346. /**
  102347. * (Highstock, Gantt) The text for the button itself.
  102348. */
  102349. text?: string;
  102350. /**
  102351. * (Highstock, Gantt) Defined the time span for the button. Can be one of
  102352. * `millisecond`, `second`, `minute`, `hour`, `day`, `week`, `month`,
  102353. * `year`, `ytd`, and `all`.
  102354. */
  102355. type?: RangeSelectorButtonTypeValue;
  102356. }
  102357. /**
  102358. * (Highstock, Gantt) Positioning for the input boxes. Allowed properties are
  102359. * `align`, `x` and `y`.
  102360. */
  102361. export interface RangeSelectorInputPositionOptions {
  102362. /**
  102363. * (Highstock, Gantt) The alignment of the input box. Allowed properties are
  102364. * `left`, `center`, `right`.
  102365. */
  102366. align?: AlignValue;
  102367. /**
  102368. * (Highstock, Gantt) X offset of the input row.
  102369. */
  102370. x?: number;
  102371. /**
  102372. * (Highstock, Gantt) Y offset of the input row.
  102373. */
  102374. y?: number;
  102375. }
  102376. /**
  102377. * (Highstock, Gantt) The range selector is a tool for selecting ranges to
  102378. * display within the chart. It provides buttons to select preconfigured ranges
  102379. * in the chart, like 1 day, 1 week, 1 month etc. It also provides input boxes
  102380. * where min and max dates can be manually input.
  102381. */
  102382. export interface RangeSelectorOptions {
  102383. /**
  102384. * (Highstock, Gantt) Whether to enable all buttons from the start. By
  102385. * default buttons are only enabled if the corresponding time range exists
  102386. * on the X axis, but enabling all buttons allows for dynamically loading
  102387. * different time ranges.
  102388. */
  102389. allButtonsEnabled?: boolean;
  102390. /**
  102391. * (Highstock, Gantt) Positioning for the button row.
  102392. */
  102393. buttonPosition?: RangeSelectorButtonPositionOptions;
  102394. /**
  102395. * (Highstock, Gantt) An array of configuration objects for the buttons.
  102396. *
  102397. * Defaults to: (see online documentation for example)
  102398. */
  102399. buttons?: Array<RangeSelectorButtonsOptions>;
  102400. /**
  102401. * (Highstock, Gantt) The space in pixels between the buttons in the range
  102402. * selector.
  102403. */
  102404. buttonSpacing?: number;
  102405. /**
  102406. * (Highstock, Gantt) A collection of attributes for the buttons. The object
  102407. * takes SVG attributes like `fill`, `stroke`, `stroke-width`, as well as
  102408. * `style`, a collection of CSS properties for the text.
  102409. *
  102410. * The object can also be extended with states, so you can set
  102411. * presentational options for `hover`, `select` or `disabled` button states.
  102412. *
  102413. * CSS styles for the text label.
  102414. *
  102415. * In styled mode, the buttons are styled by the
  102416. * `.highcharts-range-selector-buttons .highcharts-button` rule with its
  102417. * different states.
  102418. */
  102419. buttonTheme?: SVGAttributes;
  102420. /**
  102421. * (Highstock, Gantt) Enable or disable the range selector.
  102422. */
  102423. enabled?: boolean;
  102424. /**
  102425. * (Highstock, Gantt) When the rangeselector is floating, the plot area does
  102426. * not reserve space for it. This opens for positioning anywhere on the
  102427. * chart.
  102428. */
  102429. floating?: boolean;
  102430. /**
  102431. * (Highstock, Gantt) The border color of the date input boxes.
  102432. */
  102433. inputBoxBorderColor?: ColorString;
  102434. /**
  102435. * (Highstock, Gantt) The pixel height of the date input boxes.
  102436. */
  102437. inputBoxHeight?: number;
  102438. /**
  102439. * (Highstock, Gantt) The pixel width of the date input boxes.
  102440. */
  102441. inputBoxWidth?: number;
  102442. /**
  102443. * (Highstock, Gantt) The date format in the input boxes when not selected
  102444. * for editing. Defaults to `%b %e, %Y`.
  102445. */
  102446. inputDateFormat?: string;
  102447. /**
  102448. * (Highstock, Gantt) A custom callback function to parse values entered in
  102449. * the input boxes and return a valid JavaScript time as milliseconds since
  102450. * 1970. The first argument passed is a value to parse, second is a boolean
  102451. * indicating use of the UTC time.
  102452. */
  102453. inputDateParser?: RangeSelectorParseCallbackFunction;
  102454. /**
  102455. * (Highstock, Gantt) The date format in the input boxes when they are
  102456. * selected for editing. This must be a format that is recognized by
  102457. * JavaScript Date.parse.
  102458. */
  102459. inputEditDateFormat?: string;
  102460. /**
  102461. * (Highstock, Gantt) Enable or disable the date input boxes. Defaults to
  102462. * enabled when there is enough space, disabled if not (typically mobile).
  102463. */
  102464. inputEnabled?: boolean;
  102465. /**
  102466. * (Highstock, Gantt) Positioning for the input boxes. Allowed properties
  102467. * are `align`, `x` and `y`.
  102468. */
  102469. inputPosition?: RangeSelectorInputPositionOptions;
  102470. /**
  102471. * (Highstock, Gantt) CSS for the HTML inputs in the range selector.
  102472. *
  102473. * In styled mode, the inputs are styled by the `.highcharts-range-input
  102474. * text` rule in SVG mode, and `input.highcharts-range-selector` when
  102475. * active.
  102476. */
  102477. inputStyle?: CSSObject;
  102478. /**
  102479. * (Highstock, Gantt) CSS styles for the labels - the Zoom, From and To
  102480. * texts.
  102481. *
  102482. * In styled mode, the labels are styled by the `.highcharts-range-label`
  102483. * class.
  102484. */
  102485. labelStyle?: CSSObject;
  102486. /**
  102487. * (Highstock, Gantt) The index of the button to appear pre-selected.
  102488. */
  102489. selected?: number;
  102490. /**
  102491. * (Highstock, Gantt) The vertical alignment of the rangeselector box.
  102492. * Allowed properties are `top`, `middle`, `bottom`.
  102493. */
  102494. verticalAlign?: VerticalAlignValue;
  102495. /**
  102496. * (Highstock, Gantt) The x offset of the range selector relative to its
  102497. * horizontal alignment within `chart.spacingLeft` and `chart.spacingRight`.
  102498. */
  102499. x?: number;
  102500. /**
  102501. * (Highstock, Gantt) The y offset of the range selector relative to its
  102502. * horizontal alignment within `chart.spacingLeft` and `chart.spacingRight`.
  102503. */
  102504. y?: number;
  102505. }
  102506. /**
  102507. * A rectangle.
  102508. */
  102509. export interface RectangleObject {
  102510. /**
  102511. * Height of the rectangle.
  102512. */
  102513. height: number;
  102514. /**
  102515. * Width of the rectangle.
  102516. */
  102517. width: number;
  102518. /**
  102519. * Horizontal position of the rectangle.
  102520. */
  102521. x: number;
  102522. /**
  102523. * Vertical position of the rectangle.
  102524. */
  102525. y: number;
  102526. }
  102527. /**
  102528. * (Highcharts, Highstock, Highmaps, Gantt) Allows setting a set of rules to
  102529. * apply for different screen or chart sizes. Each rule specifies additional
  102530. * chart options.
  102531. */
  102532. export interface ResponsiveOptions {
  102533. /**
  102534. * (Highcharts, Highstock, Highmaps, Gantt) A set of rules for responsive
  102535. * settings. The rules are executed from the top down.
  102536. */
  102537. rules?: Array<ResponsiveRulesOptions>;
  102538. }
  102539. /**
  102540. * (Highcharts, Highstock, Highmaps, Gantt) Under which conditions the rule
  102541. * applies.
  102542. */
  102543. export interface ResponsiveRulesConditionOptions {
  102544. /**
  102545. * (Highcharts, Highstock, Highmaps, Gantt) A callback function to gain
  102546. * complete control on when the responsive rule applies. Return `true` if it
  102547. * applies. This opens for checking against other metrics than the chart
  102548. * size, for example the document size or other elements.
  102549. */
  102550. callback?: ResponsiveCallbackFunction;
  102551. /**
  102552. * (Highcharts, Highstock, Highmaps, Gantt) The responsive rule applies if
  102553. * the chart height is less than this.
  102554. */
  102555. maxHeight?: number;
  102556. /**
  102557. * (Highcharts, Highstock, Highmaps, Gantt) The responsive rule applies if
  102558. * the chart width is less than this.
  102559. */
  102560. maxWidth?: number;
  102561. /**
  102562. * (Highcharts, Highstock, Highmaps, Gantt) The responsive rule applies if
  102563. * the chart height is greater than this.
  102564. */
  102565. minHeight?: number;
  102566. /**
  102567. * (Highcharts, Highstock, Highmaps, Gantt) The responsive rule applies if
  102568. * the chart width is greater than this.
  102569. */
  102570. minWidth?: number;
  102571. }
  102572. /**
  102573. * (Highcharts, Highstock, Highmaps, Gantt) A set of rules for responsive
  102574. * settings. The rules are executed from the top down.
  102575. */
  102576. export interface ResponsiveRulesOptions {
  102577. /**
  102578. * (Highcharts, Highstock, Highmaps, Gantt) A full set of chart options to
  102579. * apply as overrides to the general chart options. The chart options are
  102580. * applied when the given rule is active.
  102581. *
  102582. * A special case is configuration objects that take arrays, for example
  102583. * xAxis, yAxis or series. For these collections, an `id` option is used to
  102584. * map the new option set to an existing object. If an existing object of
  102585. * the same id is not found, the item of the same indexupdated. So for
  102586. * example, setting `chartOptions` with two series items without an `id`,
  102587. * will cause the existing chart's two series to be updated with respective
  102588. * options.
  102589. */
  102590. chartOptions?: Options;
  102591. /**
  102592. * (Highcharts, Highstock, Highmaps, Gantt) Under which conditions the rule
  102593. * applies.
  102594. */
  102595. condition?: ResponsiveRulesConditionOptions;
  102596. }
  102597. /**
  102598. * (Highcharts) A node in a sankey diagram.
  102599. */
  102600. export interface SankeyNodeObject extends Point {
  102601. /**
  102602. * The color of the auto generated node.
  102603. */
  102604. color: (ColorString|GradientColorObject|PatternObject);
  102605. /**
  102606. * The color index of the auto generated node, especially for use in styled
  102607. * mode.
  102608. */
  102609. colorIndex: number;
  102610. /**
  102611. * An optional column index of where to place the node. The default
  102612. * behaviour is to place it next to the preceding node.
  102613. */
  102614. column: number;
  102615. /**
  102616. * The id of the auto-generated node, refering to the `from` or `to` setting
  102617. * of the link.
  102618. */
  102619. id: string;
  102620. /**
  102621. * (Highcharts) The name to display for the node in data labels and
  102622. * tooltips. Use this when the name is different from the `id`. Where the id
  102623. * must be unique for each node, this is not necessary for the name.
  102624. */
  102625. name: string;
  102626. /**
  102627. * The vertical offset of a node in terms of weight. Positive values shift
  102628. * the node downwards, negative shift it upwards.
  102629. */
  102630. offset: number;
  102631. }
  102632. /**
  102633. * (Highstock, Gantt) The scrollbar is a means of panning over the X axis of a
  102634. * stock chart. Scrollbars can also be applied to other types of axes.
  102635. *
  102636. * Another approach to scrollable charts is the chart.scrollablePlotArea option
  102637. * that is especially suitable for simpler cartesian charts on mobile.
  102638. *
  102639. * In styled mode, all the presentational options for the scrollbar are replaced
  102640. * by the classes `.highcharts-scrollbar-thumb`, `.highcharts-scrollbar-arrow`,
  102641. * `.highcharts-scrollbar-button`, `.highcharts-scrollbar-rifles` and
  102642. * `.highcharts-scrollbar-track`.
  102643. */
  102644. export interface ScrollbarOptions {
  102645. /**
  102646. * (Highstock, Gantt) The background color of the scrollbar itself.
  102647. */
  102648. barBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  102649. /**
  102650. * (Highstock, Gantt) The color of the scrollbar's border.
  102651. */
  102652. barBorderColor?: (ColorString|GradientColorObject|PatternObject);
  102653. /**
  102654. * (Highstock, Gantt) The border rounding radius of the bar.
  102655. */
  102656. barBorderRadius?: number;
  102657. /**
  102658. * (Highstock, Gantt) The width of the bar's border.
  102659. */
  102660. barBorderWidth?: number;
  102661. /**
  102662. * (Highstock, Gantt) The color of the small arrow inside the scrollbar
  102663. * buttons.
  102664. */
  102665. buttonArrowColor?: (ColorString|GradientColorObject|PatternObject);
  102666. /**
  102667. * (Highstock, Gantt) The color of scrollbar buttons.
  102668. */
  102669. buttonBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  102670. /**
  102671. * (Highstock, Gantt) The color of the border of the scrollbar buttons.
  102672. */
  102673. buttonBorderColor?: (ColorString|GradientColorObject|PatternObject);
  102674. /**
  102675. * (Highstock, Gantt) The corner radius of the scrollbar buttons.
  102676. */
  102677. buttonBorderRadius?: number;
  102678. /**
  102679. * (Highstock, Gantt) The border width of the scrollbar buttons.
  102680. */
  102681. buttonBorderWidth?: number;
  102682. /**
  102683. * (Highstock, Gantt) Enable or disable the scrollbar.
  102684. */
  102685. enabled?: boolean;
  102686. /**
  102687. * (Highstock, Gantt) The height of the scrollbar. The height also applies
  102688. * to the width of the scroll arrows so that they are always squares.
  102689. * Defaults to 20 for touch devices and 14 for mouse devices.
  102690. */
  102691. height?: number;
  102692. /**
  102693. * (Highstock, Gantt) Whether to redraw the main chart as the scrollbar or
  102694. * the navigator zoomed window is moved. Defaults to `true` for modern
  102695. * browsers and `false` for legacy IE browsers as well as mobile devices.
  102696. */
  102697. liveRedraw?: boolean;
  102698. /**
  102699. * (Highstock, Gantt) The margin between the scrollbar and its axis when the
  102700. * scrollbar is applied directly to an axis.
  102701. */
  102702. margin?: number;
  102703. /**
  102704. * (Highstock, Gantt) The minimum width of the scrollbar.
  102705. */
  102706. minWidth?: number;
  102707. /**
  102708. * (Highstock, Gantt) The color of the small rifles in the middle of the
  102709. * scrollbar.
  102710. */
  102711. rifleColor?: (ColorString|GradientColorObject|PatternObject);
  102712. /**
  102713. * (Highstock, Gantt) Whether to show or hide the scrollbar when the
  102714. * scrolled content is zoomed out to it full extent.
  102715. */
  102716. showFull?: boolean;
  102717. step?: number;
  102718. /**
  102719. * (Highstock, Gantt) The color of the track background.
  102720. */
  102721. trackBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  102722. /**
  102723. * (Highstock, Gantt) The color of the border of the scrollbar track.
  102724. */
  102725. trackBorderColor?: (ColorString|GradientColorObject|PatternObject);
  102726. /**
  102727. * (Highstock, Gantt) The corner radius of the border of the scrollbar
  102728. * track.
  102729. */
  102730. trackBorderRadius?: number;
  102731. /**
  102732. * (Highstock, Gantt) The width of the border of the scrollbar track.
  102733. */
  102734. trackBorderWidth?: number;
  102735. /**
  102736. * (Highstock, Gantt) The z index of the scrollbar group.
  102737. */
  102738. zIndex?: number;
  102739. }
  102740. /**
  102741. * Axis-specific data of a selection.
  102742. */
  102743. export interface SelectDataObject {
  102744. axis: Axis;
  102745. max: number;
  102746. min: number;
  102747. }
  102748. /**
  102749. * Object for select events.
  102750. */
  102751. export interface SelectEventObject {
  102752. originalEvent: Event;
  102753. xAxis: Array<SelectDataObject>;
  102754. yAxis: Array<SelectDataObject>;
  102755. }
  102756. /**
  102757. * (Highstock) An Acceleration bands indicator. If the type option is not
  102758. * specified, it is inherited from chart.type.
  102759. *
  102760. * In TypeScript the type option must always be set.
  102761. *
  102762. * Configuration options for the series are given in three levels:
  102763. *
  102764. * 1. Options for all series in a chart are defined in the plotOptions.series
  102765. * object.
  102766. *
  102767. * 2. Options for all `abands` series are defined in plotOptions.abands.
  102768. *
  102769. * 3. Options for one single series are given in the series instance array. (see
  102770. * online documentation for example)
  102771. *
  102772. * You have to extend the `SeriesAbandsOptions` via an interface to allow custom
  102773. * properties: ``` declare interface SeriesAbandsOptions { customProperty:
  102774. * string; }
  102775. *
  102776. */
  102777. export interface SeriesAbandsOptions extends PlotAbandsOptions, SeriesOptions {
  102778. /**
  102779. * Not available
  102780. */
  102781. dataParser?: undefined;
  102782. /**
  102783. * Not available
  102784. */
  102785. dataURL?: undefined;
  102786. /**
  102787. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  102788. * TypeScript non-optional and might be `undefined` in series objects from
  102789. * unknown sources.
  102790. */
  102791. type: "abands";
  102792. }
  102793. /**
  102794. * (Highstock) Keyboard navigation for a series
  102795. */
  102796. export interface SeriesAccessibilityKeyboardNavigationOptionsObject {
  102797. /**
  102798. * (Highstock) Enable/disable keyboard navigation support for a specific
  102799. * series.
  102800. */
  102801. enabled?: boolean;
  102802. }
  102803. /**
  102804. * (Highstock) Accessibility options for a series.
  102805. */
  102806. export interface SeriesAccessibilityOptionsObject {
  102807. /**
  102808. * (Highstock) Provide a description of the series, announced to screen
  102809. * readers.
  102810. */
  102811. description?: string;
  102812. /**
  102813. * (Highstock) Enable/disable accessibility functionality for a specific
  102814. * series.
  102815. */
  102816. enabled?: boolean;
  102817. /**
  102818. * (Highstock) Expose only the series element to screen readers, not its
  102819. * points.
  102820. */
  102821. exposeAsGroupOnly?: boolean;
  102822. /**
  102823. * (Highstock) Keyboard navigation for a series
  102824. */
  102825. keyboardNavigation?: SeriesAccessibilityKeyboardNavigationOptionsObject;
  102826. /**
  102827. * (Highstock) Formatter function to use instead of the default for point
  102828. * descriptions. Same as `accessibility.point.descriptionFormatter`, but for
  102829. * a single series.
  102830. */
  102831. pointDescriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
  102832. }
  102833. /**
  102834. * (Highstock) A `AD` series. If the type option is not specified, it is
  102835. * inherited from chart.type.
  102836. *
  102837. * In TypeScript the type option must always be set.
  102838. *
  102839. * Configuration options for the series are given in three levels:
  102840. *
  102841. * 1. Options for all series in a chart are defined in the plotOptions.series
  102842. * object.
  102843. *
  102844. * 2. Options for all `ad` series are defined in plotOptions.ad.
  102845. *
  102846. * 3. Options for one single series are given in the series instance array. (see
  102847. * online documentation for example)
  102848. *
  102849. * You have to extend the `SeriesAdOptions` via an interface to allow custom
  102850. * properties: ``` declare interface SeriesAdOptions { customProperty: string; }
  102851. *
  102852. */
  102853. export interface SeriesAdOptions extends PlotAdOptions, SeriesOptions {
  102854. /**
  102855. * Not available
  102856. */
  102857. dataParser?: undefined;
  102858. /**
  102859. * Not available
  102860. */
  102861. dataURL?: undefined;
  102862. /**
  102863. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  102864. * TypeScript non-optional and might be `undefined` in series objects from
  102865. * unknown sources.
  102866. */
  102867. type: "ad";
  102868. }
  102869. /**
  102870. * Event information regarding completed animation of a series.
  102871. */
  102872. export interface SeriesAfterAnimateEventObject {
  102873. /**
  102874. * Animated series.
  102875. */
  102876. target: Series;
  102877. /**
  102878. * Event type.
  102879. */
  102880. type: "afterAnimate";
  102881. }
  102882. /**
  102883. * (Highstock) An `AO` series. If the type option is not specified, it is
  102884. * inherited from chart.type.
  102885. *
  102886. * In TypeScript the type option must always be set.
  102887. *
  102888. * Configuration options for the series are given in three levels:
  102889. *
  102890. * 1. Options for all series in a chart are defined in the plotOptions.series
  102891. * object.
  102892. *
  102893. * 2. Options for all `ao` series are defined in plotOptions.ao.
  102894. *
  102895. * 3. Options for one single series are given in the series instance array. (see
  102896. * online documentation for example)
  102897. *
  102898. * You have to extend the `SeriesAoOptions` via an interface to allow custom
  102899. * properties: ``` declare interface SeriesAoOptions { customProperty: string; }
  102900. *
  102901. */
  102902. export interface SeriesAoOptions extends PlotAoOptions, SeriesOptions {
  102903. /**
  102904. * Not available
  102905. */
  102906. dataParser?: undefined;
  102907. /**
  102908. * Not available
  102909. */
  102910. dataURL?: undefined;
  102911. /**
  102912. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  102913. * TypeScript non-optional and might be `undefined` in series objects from
  102914. * unknown sources.
  102915. */
  102916. type: "ao";
  102917. }
  102918. /**
  102919. * (Highstock) An `Absolute Price Oscillator` series. If the type option is not
  102920. * specified, it is inherited from chart.type.
  102921. *
  102922. * In TypeScript the type option must always be set.
  102923. *
  102924. * Configuration options for the series are given in three levels:
  102925. *
  102926. * 1. Options for all series in a chart are defined in the plotOptions.series
  102927. * object.
  102928. *
  102929. * 2. Options for all `apo` series are defined in plotOptions.apo.
  102930. *
  102931. * 3. Options for one single series are given in the series instance array. (see
  102932. * online documentation for example)
  102933. *
  102934. * You have to extend the `SeriesApoOptions` via an interface to allow custom
  102935. * properties: ``` declare interface SeriesApoOptions { customProperty: string;
  102936. * }
  102937. *
  102938. */
  102939. export interface SeriesApoOptions extends PlotApoOptions, SeriesOptions {
  102940. /**
  102941. * Not available
  102942. */
  102943. dataParser?: undefined;
  102944. /**
  102945. * Not available
  102946. */
  102947. dataURL?: undefined;
  102948. /**
  102949. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  102950. * TypeScript non-optional and might be `undefined` in series objects from
  102951. * unknown sources.
  102952. */
  102953. type: "apo";
  102954. }
  102955. /**
  102956. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  102957. * series is displayed for the `dataLabels`. The animation can also be set as a
  102958. * configuration object. Please note that this option only applies to the
  102959. * initial animation. For other animations, see chart.animation and the
  102960. * animation parameter under the API methods. The following properties are
  102961. * supported:
  102962. *
  102963. * - `defer`: The animation delay time in milliseconds.
  102964. */
  102965. export interface SeriesAreaDataDataLabelsAnimationOptions {
  102966. /**
  102967. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  102968. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  102969. * time from the series.animation.defer.
  102970. */
  102971. defer?: number;
  102972. }
  102973. /**
  102974. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  102975. * one state by default, the `default` state.
  102976. */
  102977. export interface SeriesAreaDataDragDropGuideBoxOptions {
  102978. /**
  102979. * (Highcharts, Highstock) Style options for the guide box default state.
  102980. */
  102981. default?: DragDropGuideBoxOptionsObject;
  102982. }
  102983. /**
  102984. * (Highcharts, Highstock) A `area` series. If the type option is not specified,
  102985. * it is inherited from chart.type.
  102986. *
  102987. * In TypeScript the type option must always be set.
  102988. *
  102989. * Configuration options for the series are given in three levels:
  102990. *
  102991. * 1. Options for all series in a chart are defined in the plotOptions.series
  102992. * object.
  102993. *
  102994. * 2. Options for all `area` series are defined in plotOptions.area.
  102995. *
  102996. * 3. Options for one single series are given in the series instance array. (see
  102997. * online documentation for example)
  102998. *
  102999. * You have to extend the `SeriesAreaOptions` via an interface to allow custom
  103000. * properties: ``` declare interface SeriesAreaOptions { customProperty: string;
  103001. * }
  103002. *
  103003. */
  103004. export interface SeriesAreaOptions extends PlotAreaOptions, SeriesOptions {
  103005. /**
  103006. * (Highcharts, Highstock) An array of data points for the series. For the
  103007. * `area` series type, points can be given in the following ways:
  103008. *
  103009. * 1. An array of numerical values. In this case, the numerical values will
  103010. * be interpreted as `y` options. The `x` values will be automatically
  103011. * calculated, either starting at 0 and incremented by 1, or from
  103012. * `pointStart` * and `pointInterval` given in the series options. If the
  103013. * axis has categories, these will be used. Example: (see online
  103014. * documentation for example)
  103015. *
  103016. * 2. An array of arrays with 2 values. In this case, the values correspond
  103017. * to `x,y`. If the first value is a string, it is applied as the name of
  103018. * the point, and the `x` value is inferred. (see online documentation for
  103019. * example)
  103020. *
  103021. * 3. An array of objects with named values. The following snippet shows
  103022. * only a few settings, see the complete options set below. If the total
  103023. * number of data points exceeds the series' turboThreshold, this option is
  103024. * not available. (see online documentation for example)
  103025. */
  103026. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  103027. /**
  103028. * Not available
  103029. */
  103030. dataParser?: undefined;
  103031. /**
  103032. * Not available
  103033. */
  103034. dataURL?: undefined;
  103035. /**
  103036. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  103037. * TypeScript non-optional and might be `undefined` in series objects from
  103038. * unknown sources.
  103039. */
  103040. type: "area";
  103041. /**
  103042. * Not available
  103043. */
  103044. useOhlcData?: undefined;
  103045. }
  103046. /**
  103047. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  103048. * is displayed for the `dataLabels`. The animation can also be set as a
  103049. * configuration object. Please note that this option only applies to the
  103050. * initial animation. For other animations, see chart.animation and the
  103051. * animation parameter under the API methods. The following properties are
  103052. * supported:
  103053. *
  103054. * - `defer`: The animation delay time in milliseconds.
  103055. */
  103056. export interface SeriesArearangeDataDataLabelsAnimationOptions {
  103057. /**
  103058. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  103059. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  103060. * from the series.animation.defer.
  103061. */
  103062. defer?: number;
  103063. }
  103064. /**
  103065. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  103066. * one state by default, the `default` state.
  103067. */
  103068. export interface SeriesArearangeDataDragDropGuideBoxOptions {
  103069. /**
  103070. * (Highcharts, Highstock) Style options for the guide box default state.
  103071. */
  103072. default?: DragDropGuideBoxOptionsObject;
  103073. }
  103074. /**
  103075. * (Highcharts, Highstock) Extended data labels for range series types. Range
  103076. * series data labels use no `x` and `y` options. Instead, they have `xLow`,
  103077. * `xHigh`, `yLow` and `yHigh` options to allow the higher and lower data label
  103078. * sets individually.
  103079. */
  103080. export interface SeriesAreaRangeDataLabelsOptionsObject {
  103081. /**
  103082. * (Highcharts, Highstock) The alignment of the data label compared to the
  103083. * point. If `right`, the right side of the label should be touching the
  103084. * point. For points with an extent, like columns, the alignments also
  103085. * dictates how to align it inside the box, as given with the inside option.
  103086. * Can be one of `left`, `center` or `right`.
  103087. */
  103088. align?: string;
  103089. /**
  103090. * (Highcharts, Highstock) Whether to allow data labels to overlap. To make
  103091. * the labels less sensitive for overlapping, the dataLabels.padding can be
  103092. * set to 0.
  103093. */
  103094. allowOverlap?: boolean;
  103095. /**
  103096. * (Highcharts, Highstock) Enable or disable the initial animation when a
  103097. * series is displayed for the `dataLabels`. The animation can also be set
  103098. * as a configuration object. Please note that this option only applies to
  103099. * the initial animation. For other animations, see chart.animation and the
  103100. * animation parameter under the API methods. The following properties are
  103101. * supported:
  103102. *
  103103. * - `defer`: The animation delay time in milliseconds.
  103104. */
  103105. animation?: (boolean|PlotArearangeDataLabelsAnimationOptions|PlotAreasplinerangeDataLabelsAnimationOptions|PlotColumnrangeDataLabelsAnimationOptions|PlotDumbbellDataLabelsAnimationOptions|
  103106. PlotLollipopDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  103107. /**
  103108. * (Highcharts, Highstock) The background color or gradient for the data
  103109. * label.
  103110. */
  103111. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  103112. /**
  103113. * (Highcharts, Highstock) The border color for the data label. Defaults to
  103114. * `undefined`.
  103115. */
  103116. borderColor?: (ColorString|GradientColorObject|PatternObject);
  103117. /**
  103118. * (Highcharts, Highstock) The border radius in pixels for the data label.
  103119. */
  103120. borderRadius?: number;
  103121. /**
  103122. * (Highcharts, Highstock) The border width in pixels for the data label.
  103123. */
  103124. borderWidth?: number;
  103125. /**
  103126. * (Highcharts, Highstock) A class name for the data label. Particularly in
  103127. * styled mode, this can be used to give each series' or point's data label
  103128. * unique styling. In addition to this option, a default color class name is
  103129. * added so that we can give the labels a contrast text shadow.
  103130. */
  103131. className?: string;
  103132. /**
  103133. * (Highcharts, Highstock) The text color for the data labels. Defaults to
  103134. * `undefined`. For certain series types, like column or map, the data
  103135. * labels can be drawn inside the points. In this case the data label will
  103136. * be drawn with maximum contrast by default. Additionally, it will be given
  103137. * a `text-outline` style with the opposite color, to further increase the
  103138. * contrast. This can be overridden by setting the `text-outline` style to
  103139. * `none` in the `dataLabels.style` option.
  103140. */
  103141. color?: (ColorString|GradientColorObject|PatternObject);
  103142. /**
  103143. * (Highcharts, Highstock) Whether to hide data labels that are outside the
  103144. * plot area. By default, the data label is moved inside the plot area
  103145. * according to the overflow option.
  103146. */
  103147. crop?: boolean;
  103148. /**
  103149. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  103150. * labels until the initial series animation has finished. Setting to
  103151. * `false` renders the data label immediately. If set to `true` inherits the
  103152. * defer time set in plotOptions.series.animation.
  103153. */
  103154. defer?: boolean;
  103155. /**
  103156. * (Highcharts, Highstock) Enable or disable the data labels.
  103157. */
  103158. enabled?: boolean;
  103159. /**
  103160. * (Highcharts, Highstock) A declarative filter to control of which data
  103161. * labels to display. The declarative filter is designed for use when
  103162. * callback functions are not available, like when the chart options require
  103163. * a pure JSON structure or for use with graphical editors. For programmatic
  103164. * control, use the `formatter` instead, and return `undefined` to disable a
  103165. * single data label.
  103166. */
  103167. filter?: DataLabelsFilterOptionsObject;
  103168. /**
  103169. * (Highcharts, Highstock) A format string for the data label. Available
  103170. * variables are the same as for `formatter`.
  103171. */
  103172. format?: string;
  103173. /**
  103174. * (Highcharts, Highstock) Callback JavaScript function to format the data
  103175. * label. Note that if a `format` is defined, the format takes precedence
  103176. * and the formatter is ignored.
  103177. */
  103178. formatter?: DataLabelsFormatterCallbackFunction;
  103179. /**
  103180. * (Highcharts, Highstock) For points with an extent, like columns or map
  103181. * areas, whether to align the data label inside the box or to the actual
  103182. * value point. Defaults to `false` in most cases, `true` in stacked
  103183. * columns.
  103184. */
  103185. inside?: boolean;
  103186. /**
  103187. * (Highcharts, Highstock) Format for points with the value of null. Works
  103188. * analogously to format. `nullFormat` can be applied only to series which
  103189. * support displaying null points.
  103190. */
  103191. nullFormat?: (boolean|string);
  103192. /**
  103193. * (Highcharts, Highstock) Callback JavaScript function that defines
  103194. * formatting for points with the value of null. Works analogously to
  103195. * formatter. `nullPointFormatter` can be applied only to series which
  103196. * support displaying null points.
  103197. */
  103198. nullFormatter?: DataLabelsFormatterCallbackFunction;
  103199. /**
  103200. * (Highcharts, Highstock) How to handle data labels that flow outside the
  103201. * plot area. The default is `"justify"`, which aligns them inside the plot
  103202. * area. For columns and bars, this means it will be moved inside the bar.
  103203. * To display data labels outside the plot area, set `crop` to `false` and
  103204. * `overflow` to `"allow"`.
  103205. */
  103206. overflow?: DataLabelsOverflowValue;
  103207. /**
  103208. * (Highcharts, Highstock) When either the `borderWidth` or the
  103209. * `backgroundColor` is set, this is the padding within the box.
  103210. */
  103211. padding?: number;
  103212. /**
  103213. * (Highcharts, Highstock) Aligns data labels relative to points. If
  103214. * `center` alignment is not possible, it defaults to `right`.
  103215. */
  103216. position?: AlignValue;
  103217. /**
  103218. * (Highcharts, Highstock) Text rotation in degrees. Note that due to a more
  103219. * complex structure, backgrounds, borders and padding will be lost on a
  103220. * rotated data label.
  103221. */
  103222. rotation?: number;
  103223. /**
  103224. * (Highcharts, Highstock) The shadow of the box. Works best with
  103225. * `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be an object
  103226. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  103227. * `width`.
  103228. */
  103229. shadow?: (boolean|ShadowOptionsObject);
  103230. /**
  103231. * (Highcharts, Highstock) The name of a symbol to use for the border around
  103232. * the label. Symbols are predefined functions on the Renderer object.
  103233. */
  103234. shape?: string;
  103235. /**
  103236. * (Highcharts, Highstock) Styles for the label. The default `color` setting
  103237. * is `"contrast"`, which is a pseudo color that Highcharts picks up and
  103238. * applies the maximum contrast to the underlying point item, for example
  103239. * the bar in a bar chart.
  103240. *
  103241. * The `textOutline` is a pseudo property that applies an outline of the
  103242. * given width with the given color, which by default is the maximum
  103243. * contrast to the text. So a bright text color will result in a black text
  103244. * outline for maximum readability on a mixed background. In some cases,
  103245. * especially with grayscale text, the text outline doesn't work well, in
  103246. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  103247. * is true, the `textOutline` will not be picked up. In this, case, the same
  103248. * effect can be acheived through the `text-shadow` CSS property.
  103249. *
  103250. * For some series types, where each point has an extent, like for example
  103251. * tree maps, the data label may overflow the point. There are two
  103252. * strategies for handling overflow. By default, the text will wrap to
  103253. * multiple lines. The other strategy is to set `style.textOverflow` to
  103254. * `ellipsis`, which will keep the text on one line plus it will break
  103255. * inside long words.
  103256. */
  103257. style?: CSSObject;
  103258. /**
  103259. * (Highcharts, Highstock) Options for a label text which should follow
  103260. * marker's shape. Border and background are disabled for a label that
  103261. * follows a path.
  103262. *
  103263. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  103264. * to true will disable this option.
  103265. */
  103266. textPath?: DataLabelsTextPathOptionsObject;
  103267. /**
  103268. * (Highcharts, Highstock) Whether to use HTML to render the labels.
  103269. */
  103270. useHTML?: boolean;
  103271. /**
  103272. * (Highcharts, Highstock) The vertical alignment of a data label. Can be
  103273. * one of `top`, `middle` or `bottom`. The default value depends on the
  103274. * data, for instance in a column chart, the label is above positive values
  103275. * and below negative values.
  103276. */
  103277. verticalAlign?: string;
  103278. /**
  103279. * (Highcharts, Highstock) The x position offset of the label relative to
  103280. * the point in pixels.
  103281. */
  103282. x?: number;
  103283. /**
  103284. * (Highcharts, Highstock) X offset of the higher data labels relative to
  103285. * the point value.
  103286. */
  103287. xHigh?: number;
  103288. /**
  103289. * (Highcharts, Highstock) X offset of the lower data labels relative to the
  103290. * point value.
  103291. */
  103292. xLow?: number;
  103293. /**
  103294. * (Highcharts, Highstock) The y position offset of the label relative to
  103295. * the point in pixels.
  103296. */
  103297. y?: number;
  103298. /**
  103299. * (Highcharts, Highstock) Y offset of the higher data labels relative to
  103300. * the point value.
  103301. */
  103302. yHigh?: number;
  103303. /**
  103304. * (Highcharts, Highstock) Y offset of the lower data labels relative to the
  103305. * point value.
  103306. */
  103307. yLow?: number;
  103308. /**
  103309. * (Highcharts, Highstock) The Z index of the data labels. The default Z
  103310. * index puts it above the series. Use a Z index of 2 to display it behind
  103311. * the series.
  103312. */
  103313. z?: number;
  103314. }
  103315. /**
  103316. * (Highcharts, Highstock) A `arearange` series. If the type option is not
  103317. * specified, it is inherited from chart.type.
  103318. *
  103319. * In TypeScript the type option must always be set.
  103320. *
  103321. * Configuration options for the series are given in three levels:
  103322. *
  103323. * 1. Options for all series in a chart are defined in the plotOptions.series
  103324. * object.
  103325. *
  103326. * 2. Options for all `arearange` series are defined in plotOptions.arearange.
  103327. *
  103328. * 3. Options for one single series are given in the series instance array. (see
  103329. * online documentation for example)
  103330. *
  103331. * You have to extend the `SeriesArearangeOptions` via an interface to allow
  103332. * custom properties: ``` declare interface SeriesArearangeOptions {
  103333. * customProperty: string; }
  103334. *
  103335. */
  103336. export interface SeriesArearangeOptions extends PlotArearangeOptions, SeriesOptions {
  103337. /**
  103338. * (Highcharts, Highstock) An array of data points for the series. For the
  103339. * `arearange` series type, points can be given in the following ways:
  103340. *
  103341. * 1. An array of arrays with 3 or 2 values. In this case, the values
  103342. * correspond to `x,low,high`. If the first value is a string, it is applied
  103343. * as the name of the point, and the `x` value is inferred. The `x` value
  103344. * can also be omitted, in which case the inner arrays should be of length
  103345. * 2\. Then the `x` value is automatically calculated, either starting at 0
  103346. * and incremented by 1, or from `pointStart` and `pointInterval` given in
  103347. * the series options. (see online documentation for example)
  103348. *
  103349. * 2. An array of objects with named values. The following snippet shows
  103350. * only a few settings, see the complete options set below. If the total
  103351. * number of data points exceeds the series' turboThreshold, this option is
  103352. * not available. (see online documentation for example)
  103353. */
  103354. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  103355. /**
  103356. * Not available
  103357. */
  103358. dataParser?: undefined;
  103359. /**
  103360. * Not available
  103361. */
  103362. dataURL?: undefined;
  103363. /**
  103364. * Not available
  103365. */
  103366. stack?: undefined;
  103367. /**
  103368. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  103369. * TypeScript non-optional and might be `undefined` in series objects from
  103370. * unknown sources.
  103371. */
  103372. type: "arearange";
  103373. }
  103374. /**
  103375. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  103376. * series is displayed for the `dataLabels`. The animation can also be set as a
  103377. * configuration object. Please note that this option only applies to the
  103378. * initial animation. For other animations, see chart.animation and the
  103379. * animation parameter under the API methods. The following properties are
  103380. * supported:
  103381. *
  103382. * - `defer`: The animation delay time in milliseconds.
  103383. */
  103384. export interface SeriesAreasplineDataDataLabelsAnimationOptions {
  103385. /**
  103386. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  103387. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  103388. * time from the series.animation.defer.
  103389. */
  103390. defer?: number;
  103391. }
  103392. /**
  103393. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  103394. * one state by default, the `default` state.
  103395. */
  103396. export interface SeriesAreasplineDataDragDropGuideBoxOptions {
  103397. /**
  103398. * (Highcharts, Highstock) Style options for the guide box default state.
  103399. */
  103400. default?: DragDropGuideBoxOptionsObject;
  103401. }
  103402. /**
  103403. * (Highcharts, Highstock) A `areaspline` series. If the type option is not
  103404. * specified, it is inherited from chart.type.
  103405. *
  103406. * In TypeScript the type option must always be set.
  103407. *
  103408. * Configuration options for the series are given in three levels:
  103409. *
  103410. * 1. Options for all series in a chart are defined in the plotOptions.series
  103411. * object.
  103412. *
  103413. * 2. Options for all `areaspline` series are defined in plotOptions.areaspline.
  103414. *
  103415. * 3. Options for one single series are given in the series instance array. (see
  103416. * online documentation for example)
  103417. *
  103418. * You have to extend the `SeriesAreasplineOptions` via an interface to allow
  103419. * custom properties: ``` declare interface SeriesAreasplineOptions {
  103420. * customProperty: string; }
  103421. *
  103422. */
  103423. export interface SeriesAreasplineOptions extends PlotAreasplineOptions, SeriesOptions {
  103424. /**
  103425. * (Highcharts, Highstock) An array of data points for the series. For the
  103426. * `areaspline` series type, points can be given in the following ways:
  103427. *
  103428. * 1. An array of numerical values. In this case, the numerical values will
  103429. * be interpreted as `y` options. The `x` values will be automatically
  103430. * calculated, either starting at 0 and incremented by 1, or from
  103431. * `pointStart` and `pointInterval` given in the series options. If the axis
  103432. * has categories, these will be used. Example: (see online documentation
  103433. * for example)
  103434. *
  103435. * 2. An array of arrays with 2 values. In this case, the values correspond
  103436. * to `x,y`. If the first value is a string, it is applied as the name of
  103437. * the point, and the `x` value is inferred. (see online documentation for
  103438. * example)
  103439. *
  103440. * 3. An array of objects with named values. The following snippet shows
  103441. * only a few settings, see the complete options set below. If the total
  103442. * number of data points exceeds the series' turboThreshold, this option is
  103443. * not available. (see online documentation for example)
  103444. */
  103445. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  103446. /**
  103447. * Not available
  103448. */
  103449. dataParser?: undefined;
  103450. /**
  103451. * Not available
  103452. */
  103453. dataURL?: undefined;
  103454. /**
  103455. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  103456. * TypeScript non-optional and might be `undefined` in series objects from
  103457. * unknown sources.
  103458. */
  103459. type: "areaspline";
  103460. }
  103461. /**
  103462. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  103463. * is displayed for the `dataLabels`. The animation can also be set as a
  103464. * configuration object. Please note that this option only applies to the
  103465. * initial animation. For other animations, see chart.animation and the
  103466. * animation parameter under the API methods. The following properties are
  103467. * supported:
  103468. *
  103469. * - `defer`: The animation delay time in milliseconds.
  103470. */
  103471. export interface SeriesAreasplinerangeDataDataLabelsAnimationOptions {
  103472. /**
  103473. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  103474. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  103475. * from the series.animation.defer.
  103476. */
  103477. defer?: number;
  103478. }
  103479. /**
  103480. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  103481. * one state by default, the `default` state.
  103482. */
  103483. export interface SeriesAreasplinerangeDataDragDropGuideBoxOptions {
  103484. /**
  103485. * (Highcharts, Highstock) Style options for the guide box default state.
  103486. */
  103487. default?: DragDropGuideBoxOptionsObject;
  103488. }
  103489. /**
  103490. * (Highcharts, Highstock) A `areasplinerange` series. If the type option is not
  103491. * specified, it is inherited from chart.type.
  103492. *
  103493. * In TypeScript the type option must always be set.
  103494. *
  103495. * Configuration options for the series are given in three levels:
  103496. *
  103497. * 1. Options for all series in a chart are defined in the plotOptions.series
  103498. * object.
  103499. *
  103500. * 2. Options for all `areasplinerange` series are defined in
  103501. * plotOptions.areasplinerange.
  103502. *
  103503. * 3. Options for one single series are given in the series instance array. (see
  103504. * online documentation for example)
  103505. *
  103506. * You have to extend the `SeriesAreasplinerangeOptions` via an interface to
  103507. * allow custom properties: ``` declare interface SeriesAreasplinerangeOptions {
  103508. * customProperty: string; }
  103509. *
  103510. */
  103511. export interface SeriesAreasplinerangeOptions extends PlotAreasplinerangeOptions, SeriesOptions {
  103512. /**
  103513. * (Highcharts, Highstock) An array of data points for the series. For the
  103514. * `areasplinerange` series type, points can be given in the following ways:
  103515. *
  103516. * 1. An array of arrays with 3 or 2 values. In this case, the values
  103517. * correspond to `x,low,high`. If the first value is a string, it is applied
  103518. * as the name of the point, and the `x` value is inferred. The `x` value
  103519. * can also be omitted, in which case the inner arrays should be of length
  103520. * 2\. Then the `x` value is automatically calculated, either starting at 0
  103521. * and incremented by 1, or from `pointStart` and `pointInterval` given in
  103522. * the series options. (see online documentation for example)
  103523. *
  103524. * 2. An array of objects with named values. The following snippet shows
  103525. * only a few settings, see the complete options set below. If the total
  103526. * number of data points exceeds the series' turboThreshold, this option is
  103527. * not available. (see online documentation for example)
  103528. */
  103529. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  103530. /**
  103531. * Not available
  103532. */
  103533. dataParser?: undefined;
  103534. /**
  103535. * Not available
  103536. */
  103537. dataURL?: undefined;
  103538. /**
  103539. * Not available
  103540. */
  103541. stack?: undefined;
  103542. /**
  103543. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  103544. * TypeScript non-optional and might be `undefined` in series objects from
  103545. * unknown sources.
  103546. */
  103547. type: "areasplinerange";
  103548. }
  103549. /**
  103550. * (Highstock) A Aroon indicator. If the type option is not specified, it is
  103551. * inherited from chart.type.
  103552. *
  103553. * In TypeScript the type option must always be set.
  103554. *
  103555. * Configuration options for the series are given in three levels:
  103556. *
  103557. * 1. Options for all series in a chart are defined in the plotOptions.series
  103558. * object.
  103559. *
  103560. * 2. Options for all `aroon` series are defined in plotOptions.aroon.
  103561. *
  103562. * 3. Options for one single series are given in the series instance array. (see
  103563. * online documentation for example)
  103564. *
  103565. * You have to extend the `SeriesAroonOptions` via an interface to allow custom
  103566. * properties: ``` declare interface SeriesAroonOptions { customProperty:
  103567. * string; }
  103568. *
  103569. */
  103570. export interface SeriesAroonOptions extends PlotAroonOptions, SeriesOptions {
  103571. /**
  103572. * Not available
  103573. */
  103574. dataParser?: undefined;
  103575. /**
  103576. * Not available
  103577. */
  103578. dataURL?: undefined;
  103579. /**
  103580. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  103581. * TypeScript non-optional and might be `undefined` in series objects from
  103582. * unknown sources.
  103583. */
  103584. type: "aroon";
  103585. }
  103586. /**
  103587. * (Highstock) An `Aroon Oscillator` series. If the type option is not
  103588. * specified, it is inherited from chart.type.
  103589. *
  103590. * In TypeScript the type option must always be set.
  103591. *
  103592. * Configuration options for the series are given in three levels:
  103593. *
  103594. * 1. Options for all series in a chart are defined in the plotOptions.series
  103595. * object.
  103596. *
  103597. * 2. Options for all `aroonoscillator` series are defined in
  103598. * plotOptions.aroonoscillator.
  103599. *
  103600. * 3. Options for one single series are given in the series instance array. (see
  103601. * online documentation for example)
  103602. *
  103603. * You have to extend the `SeriesAroonoscillatorOptions` via an interface to
  103604. * allow custom properties: ``` declare interface SeriesAroonoscillatorOptions {
  103605. * customProperty: string; }
  103606. *
  103607. */
  103608. export interface SeriesAroonoscillatorOptions extends PlotAroonoscillatorOptions, SeriesOptions {
  103609. /**
  103610. * Not available
  103611. */
  103612. aroonDown?: undefined;
  103613. /**
  103614. * Not available
  103615. */
  103616. dataParser?: undefined;
  103617. /**
  103618. * Not available
  103619. */
  103620. dataURL?: undefined;
  103621. /**
  103622. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  103623. * TypeScript non-optional and might be `undefined` in series objects from
  103624. * unknown sources.
  103625. */
  103626. type: "aroonoscillator";
  103627. }
  103628. /**
  103629. * (Highstock) A `ATR` series. If the type option is not specified, it is
  103630. * inherited from chart.type.
  103631. *
  103632. * In TypeScript the type option must always be set.
  103633. *
  103634. * Configuration options for the series are given in three levels:
  103635. *
  103636. * 1. Options for all series in a chart are defined in the plotOptions.series
  103637. * object.
  103638. *
  103639. * 2. Options for all `atr` series are defined in plotOptions.atr.
  103640. *
  103641. * 3. Options for one single series are given in the series instance array. (see
  103642. * online documentation for example)
  103643. *
  103644. * You have to extend the `SeriesAtrOptions` via an interface to allow custom
  103645. * properties: ``` declare interface SeriesAtrOptions { customProperty: string;
  103646. * }
  103647. *
  103648. */
  103649. export interface SeriesAtrOptions extends PlotAtrOptions, SeriesOptions {
  103650. /**
  103651. * Not available
  103652. */
  103653. dataParser?: undefined;
  103654. /**
  103655. * Not available
  103656. */
  103657. dataURL?: undefined;
  103658. /**
  103659. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  103660. * TypeScript non-optional and might be `undefined` in series objects from
  103661. * unknown sources.
  103662. */
  103663. type: "atr";
  103664. }
  103665. /**
  103666. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  103667. * series is displayed for the `dataLabels`. The animation can also be set as a
  103668. * configuration object. Please note that this option only applies to the
  103669. * initial animation. For other animations, see chart.animation and the
  103670. * animation parameter under the API methods. The following properties are
  103671. * supported:
  103672. *
  103673. * - `defer`: The animation delay time in milliseconds.
  103674. */
  103675. export interface SeriesBarDataDataLabelsAnimationOptions {
  103676. /**
  103677. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  103678. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  103679. * time from the series.animation.defer.
  103680. */
  103681. defer?: number;
  103682. }
  103683. /**
  103684. * (Highcharts) Style options for the guide box. The guide box has one state by
  103685. * default, the `default` state.
  103686. */
  103687. export interface SeriesBarDataDragDropGuideBoxOptions {
  103688. /**
  103689. * (Highcharts) Style options for the guide box default state.
  103690. */
  103691. default?: DragDropGuideBoxOptionsObject;
  103692. }
  103693. /**
  103694. * (Highcharts) A `bar` series. If the type option is not specified, it is
  103695. * inherited from chart.type.
  103696. *
  103697. * In TypeScript the type option must always be set.
  103698. *
  103699. * Configuration options for the series are given in three levels:
  103700. *
  103701. * 1. Options for all series in a chart are defined in the plotOptions.series
  103702. * object.
  103703. *
  103704. * 2. Options for all `bar` series are defined in plotOptions.bar.
  103705. *
  103706. * 3. Options for one single series are given in the series instance array. (see
  103707. * online documentation for example)
  103708. *
  103709. * You have to extend the `SeriesBarOptions` via an interface to allow custom
  103710. * properties: ``` declare interface SeriesBarOptions { customProperty: string;
  103711. * }
  103712. *
  103713. */
  103714. export interface SeriesBarOptions extends PlotBarOptions, SeriesOptions {
  103715. /**
  103716. * (Highcharts) An array of data points for the series. For the `bar` series
  103717. * type, points can be given in the following ways:
  103718. *
  103719. * 1. An array of numerical values. In this case, the numerical values will
  103720. * be interpreted as `y` options. The `x` values will be automatically
  103721. * calculated, either starting at 0 and incremented by 1, or from
  103722. * `pointStart` and `pointInterval` given in the series options. If the axis
  103723. * has categories, these will be used. Example: (see online documentation
  103724. * for example)
  103725. *
  103726. * 2. An array of arrays with 2 values. In this case, the values correspond
  103727. * to `x,y`. If the first value is a string, it is applied as the name of
  103728. * the point, and the `x` value is inferred. (see online documentation for
  103729. * example)
  103730. *
  103731. * 3. An array of objects with named values. The following snippet shows
  103732. * only a few settings, see the complete options set below. If the total
  103733. * number of data points exceeds the series' turboThreshold, this option is
  103734. * not available. (see online documentation for example)
  103735. */
  103736. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  103737. /**
  103738. * Not available
  103739. */
  103740. dataParser?: undefined;
  103741. /**
  103742. * Not available
  103743. */
  103744. dataURL?: undefined;
  103745. /**
  103746. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  103747. * TypeScript non-optional and might be `undefined` in series objects from
  103748. * unknown sources.
  103749. */
  103750. type: "bar";
  103751. }
  103752. /**
  103753. * (Highstock) A bollinger bands indicator. If the type option is not specified,
  103754. * it is inherited from chart.type.
  103755. *
  103756. * In TypeScript the type option must always be set.
  103757. *
  103758. * Configuration options for the series are given in three levels:
  103759. *
  103760. * 1. Options for all series in a chart are defined in the plotOptions.series
  103761. * object.
  103762. *
  103763. * 2. Options for all `bb` series are defined in plotOptions.bb.
  103764. *
  103765. * 3. Options for one single series are given in the series instance array. (see
  103766. * online documentation for example)
  103767. *
  103768. * You have to extend the `SeriesBbOptions` via an interface to allow custom
  103769. * properties: ``` declare interface SeriesBbOptions { customProperty: string; }
  103770. *
  103771. */
  103772. export interface SeriesBbOptions extends PlotBbOptions, SeriesOptions {
  103773. /**
  103774. * Not available
  103775. */
  103776. dataParser?: undefined;
  103777. /**
  103778. * Not available
  103779. */
  103780. dataURL?: undefined;
  103781. /**
  103782. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  103783. * TypeScript non-optional and might be `undefined` in series objects from
  103784. * unknown sources.
  103785. */
  103786. type: "bb";
  103787. }
  103788. /**
  103789. * (Highcharts) A `bellcurve` series. If the type option is not specified, it is
  103790. * inherited from chart.type.
  103791. *
  103792. * For options that apply to multiple series, it is recommended to add them to
  103793. * the plotOptions.series options structure. To apply to all series of this
  103794. * specific type, apply it to plotOptions.bellcurve.
  103795. *
  103796. * In TypeScript the type option must always be set.
  103797. *
  103798. * Configuration options for the series are given in three levels:
  103799. *
  103800. * 1. Options for all series in a chart are defined in the plotOptions.series
  103801. * object.
  103802. *
  103803. * 2. Options for all `bellcurve` series are defined in plotOptions.bellcurve.
  103804. *
  103805. * 3. Options for one single series are given in the series instance array. (see
  103806. * online documentation for example)
  103807. *
  103808. * You have to extend the `SeriesBellcurveOptions` via an interface to allow
  103809. * custom properties: ``` declare interface SeriesBellcurveOptions {
  103810. * customProperty: string; }
  103811. *
  103812. */
  103813. export interface SeriesBellcurveOptions extends PlotBellcurveOptions, SeriesOptions {
  103814. /**
  103815. * (Highcharts) An integer identifying the index to use for the base series,
  103816. * or a string representing the id of the series.
  103817. */
  103818. baseSeries?: (number|string);
  103819. /**
  103820. * Not available
  103821. */
  103822. data?: undefined;
  103823. /**
  103824. * Not available
  103825. */
  103826. dataParser?: undefined;
  103827. /**
  103828. * Not available
  103829. */
  103830. dataURL?: undefined;
  103831. /**
  103832. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  103833. * TypeScript non-optional and might be `undefined` in series objects from
  103834. * unknown sources.
  103835. */
  103836. type: "bellcurve";
  103837. }
  103838. /**
  103839. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  103840. * series is displayed for the `dataLabels`. The animation can also be set as a
  103841. * configuration object. Please note that this option only applies to the
  103842. * initial animation. For other animations, see chart.animation and the
  103843. * animation parameter under the API methods. The following properties are
  103844. * supported:
  103845. *
  103846. * - `defer`: The animation delay time in milliseconds.
  103847. */
  103848. export interface SeriesBoxplotDataDataLabelsAnimationOptions {
  103849. /**
  103850. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  103851. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  103852. * time from the series.animation.defer.
  103853. */
  103854. defer?: number;
  103855. }
  103856. /**
  103857. * (Highcharts) Style options for the guide box. The guide box has one state by
  103858. * default, the `default` state.
  103859. */
  103860. export interface SeriesBoxplotDataDragDropGuideBoxOptions {
  103861. /**
  103862. * (Highcharts) Style options for the guide box default state.
  103863. */
  103864. default?: DragDropGuideBoxOptionsObject;
  103865. }
  103866. /**
  103867. * (Highcharts) A `boxplot` series. If the type option is not specified, it is
  103868. * inherited from chart.type.
  103869. *
  103870. * In TypeScript the type option must always be set.
  103871. *
  103872. * Configuration options for the series are given in three levels:
  103873. *
  103874. * 1. Options for all series in a chart are defined in the plotOptions.series
  103875. * object.
  103876. *
  103877. * 2. Options for all `boxplot` series are defined in plotOptions.boxplot.
  103878. *
  103879. * 3. Options for one single series are given in the series instance array. (see
  103880. * online documentation for example)
  103881. *
  103882. * You have to extend the `SeriesBoxplotOptions` via an interface to allow
  103883. * custom properties: ``` declare interface SeriesBoxplotOptions {
  103884. * customProperty: string; }
  103885. *
  103886. */
  103887. export interface SeriesBoxplotOptions extends PlotBoxplotOptions, SeriesOptions {
  103888. /**
  103889. * (Highcharts) An array of data points for the series. For the `boxplot`
  103890. * series type, points can be given in the following ways:
  103891. *
  103892. * 1. An array of arrays with 6 or 5 values. In this case, the values
  103893. * correspond to `x,low,q1,median,q3,high`. If the first value is a string,
  103894. * it is applied as the name of the point, and the `x` value is inferred.
  103895. * The `x` value can also be omitted, in which case the inner arrays should
  103896. * be of length 5. Then the `x` value is automatically calculated, either
  103897. * starting at 0 and incremented by 1, or from `pointStart` and
  103898. * `pointInterval` given in the series options. (see online documentation
  103899. * for example)
  103900. *
  103901. * 2. An array of objects with named values. The following snippet shows
  103902. * only a few settings, see the complete options set below. If the total
  103903. * number of data points exceeds the series' turboThreshold, this option is
  103904. * not available. (see online documentation for example)
  103905. */
  103906. data?: Array<([(number|string), number, number, number, number]|[(number|string), number, number, number, number, number]|PointOptionsObject)>;
  103907. /**
  103908. * Not available
  103909. */
  103910. dataParser?: undefined;
  103911. /**
  103912. * Not available
  103913. */
  103914. dataURL?: undefined;
  103915. /**
  103916. * Not available
  103917. */
  103918. stack?: undefined;
  103919. /**
  103920. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  103921. * TypeScript non-optional and might be `undefined` in series objects from
  103922. * unknown sources.
  103923. */
  103924. type: "boxplot";
  103925. }
  103926. /**
  103927. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  103928. * series is displayed for the `dataLabels`. The animation can also be set as a
  103929. * configuration object. Please note that this option only applies to the
  103930. * initial animation. For other animations, see chart.animation and the
  103931. * animation parameter under the API methods. The following properties are
  103932. * supported:
  103933. *
  103934. * - `defer`: The animation delay time in milliseconds.
  103935. */
  103936. export interface SeriesBubbleDataDataLabelsAnimationOptions {
  103937. /**
  103938. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  103939. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  103940. * time from the series.animation.defer.
  103941. */
  103942. defer?: number;
  103943. }
  103944. /**
  103945. * (Highcharts) Style options for the guide box. The guide box has one state by
  103946. * default, the `default` state.
  103947. */
  103948. export interface SeriesBubbleDataDragDropGuideBoxOptions {
  103949. /**
  103950. * (Highcharts) Style options for the guide box default state.
  103951. */
  103952. default?: DragDropGuideBoxOptionsObject;
  103953. }
  103954. /**
  103955. * (Highcharts, Highstock) A `bubble` series. If the type option is not
  103956. * specified, it is inherited from chart.type.
  103957. *
  103958. * In TypeScript the type option must always be set.
  103959. *
  103960. * Configuration options for the series are given in three levels:
  103961. *
  103962. * 1. Options for all series in a chart are defined in the plotOptions.series
  103963. * object.
  103964. *
  103965. * 2. Options for all `bubble` series are defined in plotOptions.bubble.
  103966. *
  103967. * 3. Options for one single series are given in the series instance array. (see
  103968. * online documentation for example)
  103969. *
  103970. * You have to extend the `SeriesBubbleOptions` via an interface to allow custom
  103971. * properties: ``` declare interface SeriesBubbleOptions { customProperty:
  103972. * string; }
  103973. *
  103974. */
  103975. export interface SeriesBubbleOptions extends PlotBubbleOptions, SeriesOptions {
  103976. /**
  103977. * (Highcharts) An array of data points for the series. For the `bubble`
  103978. * series type, points can be given in the following ways:
  103979. *
  103980. * 1. An array of arrays with 3 or 2 values. In this case, the values
  103981. * correspond to `x,y,z`. If the first value is a string, it is applied as
  103982. * the name of the point, and the `x` value is inferred. The `x` value can
  103983. * also be omitted, in which case the inner arrays should be of length 2\.
  103984. * Then the `x` value is automatically calculated, either starting at 0 and
  103985. * incremented by 1, or from `pointStart` and `pointInterval` given in the
  103986. * series options. (see online documentation for example)
  103987. *
  103988. * 2. An array of objects with named values. The following snippet shows
  103989. * only a few settings, see the complete options set below. If the total
  103990. * number of data points exceeds the series' turboThreshold, this option is
  103991. * not available. (see online documentation for example)
  103992. */
  103993. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  103994. /**
  103995. * Not available
  103996. */
  103997. dataParser?: undefined;
  103998. /**
  103999. * Not available
  104000. */
  104001. dataURL?: undefined;
  104002. /**
  104003. * Not available
  104004. */
  104005. stack?: undefined;
  104006. /**
  104007. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  104008. * TypeScript non-optional and might be `undefined` in series objects from
  104009. * unknown sources.
  104010. */
  104011. type: "bubble";
  104012. }
  104013. /**
  104014. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  104015. * series is displayed for the `dataLabels`. The animation can also be set as a
  104016. * configuration object. Please note that this option only applies to the
  104017. * initial animation. For other animations, see chart.animation and the
  104018. * animation parameter under the API methods. The following properties are
  104019. * supported:
  104020. *
  104021. * - `defer`: The animation delay time in milliseconds.
  104022. */
  104023. export interface SeriesBulletDataDataLabelsAnimationOptions {
  104024. /**
  104025. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  104026. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  104027. * time from the series.animation.defer.
  104028. */
  104029. defer?: number;
  104030. }
  104031. /**
  104032. * (Highcharts) Style options for the guide box. The guide box has one state by
  104033. * default, the `default` state.
  104034. */
  104035. export interface SeriesBulletDataDragDropGuideBoxOptions {
  104036. /**
  104037. * (Highcharts) Style options for the guide box default state.
  104038. */
  104039. default?: DragDropGuideBoxOptionsObject;
  104040. }
  104041. /**
  104042. * (Highcharts) Individual target options for each point.
  104043. */
  104044. export interface SeriesBulletDataTargetOptions {
  104045. /**
  104046. * (Highcharts) The border color of the rectangle representing the target.
  104047. * When not set, the point's border color is used.
  104048. *
  104049. * In styled mode, use class `highcharts-bullet-target` instead.
  104050. */
  104051. borderColor?: ColorString;
  104052. /**
  104053. * (Highcharts) The border width of the rectangle representing the target.
  104054. *
  104055. * In styled mode, use class `highcharts-bullet-target` instead.
  104056. */
  104057. borderWidth?: number;
  104058. /**
  104059. * (Highcharts) The color of the rectangle representing the target. When not
  104060. * set, point's color (if set in point's options - `color`) or zone of the
  104061. * target value (if `zones` or `negativeColor` are set) or the same color as
  104062. * the point has is used.
  104063. *
  104064. * In styled mode, use class `highcharts-bullet-target` instead.
  104065. */
  104066. color?: (ColorString|GradientColorObject|PatternObject);
  104067. /**
  104068. * (Highcharts) The height of the rectangle representing the target.
  104069. */
  104070. height?: number;
  104071. /**
  104072. * (Highcharts) The width of the rectangle representing the target. Could be
  104073. * set as a pixel value or as a percentage of a column width.
  104074. */
  104075. width?: (number|string);
  104076. }
  104077. /**
  104078. * (Highcharts) A `bullet` series. If the type option is not specified, it is
  104079. * inherited from chart.type.
  104080. *
  104081. * In TypeScript the type option must always be set.
  104082. *
  104083. * Configuration options for the series are given in three levels:
  104084. *
  104085. * 1. Options for all series in a chart are defined in the plotOptions.series
  104086. * object.
  104087. *
  104088. * 2. Options for all `bullet` series are defined in plotOptions.bullet.
  104089. *
  104090. * 3. Options for one single series are given in the series instance array. (see
  104091. * online documentation for example)
  104092. *
  104093. * You have to extend the `SeriesBulletOptions` via an interface to allow custom
  104094. * properties: ``` declare interface SeriesBulletOptions { customProperty:
  104095. * string; }
  104096. *
  104097. */
  104098. export interface SeriesBulletOptions extends PlotBulletOptions, SeriesOptions {
  104099. /**
  104100. * (Highcharts) An array of data points for the series. For the `bullet`
  104101. * series type, points can be given in the following ways:
  104102. *
  104103. * 1. An array of arrays with 3 or 2 values. In this case, the values
  104104. * correspond to `x,y,target`. If the first value is a string, it is applied
  104105. * as the name of the point, and the `x` value is inferred. The `x` value
  104106. * can also be omitted, in which case the inner arrays should be of length
  104107. * 2\. Then the `x` value is automatically calculated, either starting at 0
  104108. * and incremented by 1, or from `pointStart` and `pointInterval` given in
  104109. * the series options. (see online documentation for example)
  104110. *
  104111. * 2. An array of objects with named values. The following snippet shows
  104112. * only a few settings, see the complete options set below. If the total
  104113. * number of data points exceeds the series' turboThreshold, this option is
  104114. * not available. (see online documentation for example)
  104115. */
  104116. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  104117. /**
  104118. * Not available
  104119. */
  104120. dataParser?: undefined;
  104121. /**
  104122. * Not available
  104123. */
  104124. dataURL?: undefined;
  104125. /**
  104126. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  104127. * TypeScript non-optional and might be `undefined` in series objects from
  104128. * unknown sources.
  104129. */
  104130. type: "bullet";
  104131. }
  104132. /**
  104133. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  104134. * is displayed for the `dataLabels`. The animation can also be set as a
  104135. * configuration object. Please note that this option only applies to the
  104136. * initial animation. For other animations, see chart.animation and the
  104137. * animation parameter under the API methods. The following properties are
  104138. * supported:
  104139. *
  104140. * - `defer`: The animation delay time in milliseconds.
  104141. */
  104142. export interface SeriesCandlestickDataDataLabelsAnimationOptions {
  104143. /**
  104144. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  104145. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  104146. * from the series.animation.defer.
  104147. */
  104148. defer?: number;
  104149. }
  104150. /**
  104151. * (Highstock) Style options for the guide box. The guide box has one state by
  104152. * default, the `default` state.
  104153. */
  104154. export interface SeriesCandlestickDataDragDropGuideBoxOptions {
  104155. /**
  104156. * (Highstock) Style options for the guide box default state.
  104157. */
  104158. default?: DragDropGuideBoxOptionsObject;
  104159. }
  104160. /**
  104161. * (Highstock) A `candlestick` series. If the type option is not specified, it
  104162. * is inherited from chart.type.
  104163. *
  104164. * In TypeScript the type option must always be set.
  104165. *
  104166. * Configuration options for the series are given in three levels:
  104167. *
  104168. * 1. Options for all series in a chart are defined in the plotOptions.series
  104169. * object.
  104170. *
  104171. * 2. Options for all `candlestick` series are defined in
  104172. * plotOptions.candlestick.
  104173. *
  104174. * 3. Options for one single series are given in the series instance array. (see
  104175. * online documentation for example)
  104176. *
  104177. * You have to extend the `SeriesCandlestickOptions` via an interface to allow
  104178. * custom properties: ``` declare interface SeriesCandlestickOptions {
  104179. * customProperty: string; }
  104180. *
  104181. */
  104182. export interface SeriesCandlestickOptions extends PlotCandlestickOptions, SeriesOptions {
  104183. /**
  104184. * (Highstock) An array of data points for the series. For the `candlestick`
  104185. * series type, points can be given in the following ways:
  104186. *
  104187. * 1. An array of arrays with 5 or 4 values. In this case, the values
  104188. * correspond to `x,open,high,low,close`. If the first value is a string, it
  104189. * is applied as the name of the point, and the `x` value is inferred. The
  104190. * `x` value can also be omitted, in which case the inner arrays should be
  104191. * of length 4. Then the `x` value is automatically calculated, either
  104192. * starting at 0 and incremented by 1, or from `pointStart` and
  104193. * `pointInterval` given in the series options. (see online documentation
  104194. * for example)
  104195. *
  104196. * 2. An array of objects with named values. The following snippet shows
  104197. * only a few settings, see the complete options set below. If the total
  104198. * number of data points exceeds the series' turboThreshold, this option is
  104199. * not available. (see online documentation for example)
  104200. */
  104201. data?: Array<([(number|string), number, number, number]|[(number|string), number, number, number, number]|PointOptionsObject)>;
  104202. /**
  104203. * Not available
  104204. */
  104205. dataParser?: undefined;
  104206. /**
  104207. * Not available
  104208. */
  104209. dataURL?: undefined;
  104210. /**
  104211. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  104212. * TypeScript non-optional and might be `undefined` in series objects from
  104213. * unknown sources.
  104214. */
  104215. type: "candlestick";
  104216. }
  104217. /**
  104218. * (Highstock) A `CCI` series. If the type option is not specified, it is
  104219. * inherited from chart.type.
  104220. *
  104221. * In TypeScript the type option must always be set.
  104222. *
  104223. * Configuration options for the series are given in three levels:
  104224. *
  104225. * 1. Options for all series in a chart are defined in the plotOptions.series
  104226. * object.
  104227. *
  104228. * 2. Options for all `cci` series are defined in plotOptions.cci.
  104229. *
  104230. * 3. Options for one single series are given in the series instance array. (see
  104231. * online documentation for example)
  104232. *
  104233. * You have to extend the `SeriesCciOptions` via an interface to allow custom
  104234. * properties: ``` declare interface SeriesCciOptions { customProperty: string;
  104235. * }
  104236. *
  104237. */
  104238. export interface SeriesCciOptions extends PlotCciOptions, SeriesOptions {
  104239. /**
  104240. * Not available
  104241. */
  104242. dataParser?: undefined;
  104243. /**
  104244. * Not available
  104245. */
  104246. dataURL?: undefined;
  104247. /**
  104248. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  104249. * TypeScript non-optional and might be `undefined` in series objects from
  104250. * unknown sources.
  104251. */
  104252. type: "cci";
  104253. }
  104254. /**
  104255. * (Highstock) A `Chaikin Oscillator` series. If the type option is not
  104256. * specified, it is inherited from chart.type.
  104257. *
  104258. * In TypeScript the type option must always be set.
  104259. *
  104260. * Configuration options for the series are given in three levels:
  104261. *
  104262. * 1. Options for all series in a chart are defined in the plotOptions.series
  104263. * object.
  104264. *
  104265. * 2. Options for all `chaikin` series are defined in plotOptions.chaikin.
  104266. *
  104267. * 3. Options for one single series are given in the series instance array. (see
  104268. * online documentation for example)
  104269. *
  104270. * You have to extend the `SeriesChaikinOptions` via an interface to allow
  104271. * custom properties: ``` declare interface SeriesChaikinOptions {
  104272. * customProperty: string; }
  104273. *
  104274. */
  104275. export interface SeriesChaikinOptions extends PlotChaikinOptions, SeriesOptions {
  104276. /**
  104277. * Not available
  104278. */
  104279. dataParser?: undefined;
  104280. /**
  104281. * Not available
  104282. */
  104283. dataURL?: undefined;
  104284. /**
  104285. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  104286. * TypeScript non-optional and might be `undefined` in series objects from
  104287. * unknown sources.
  104288. */
  104289. type: "chaikin";
  104290. }
  104291. /**
  104292. * Event information regarding check of a series box.
  104293. */
  104294. export interface SeriesCheckboxClickEventObject {
  104295. /**
  104296. * Whether the box has been checked.
  104297. */
  104298. checked: boolean;
  104299. /**
  104300. * Related series.
  104301. */
  104302. item: Series;
  104303. /**
  104304. * Related series.
  104305. */
  104306. target: Series;
  104307. /**
  104308. * Event type.
  104309. */
  104310. type: "checkboxClick";
  104311. }
  104312. /**
  104313. * Common information for a click event on a series.
  104314. */
  104315. export interface SeriesClickEventObject extends Event {
  104316. /**
  104317. * Nearest point on the graph.
  104318. */
  104319. point: Point;
  104320. }
  104321. /**
  104322. * (Highstock) A `CMF` series. If the type option is not specified, it is
  104323. * inherited from chart.type.
  104324. *
  104325. * In TypeScript the type option must always be set.
  104326. *
  104327. * Configuration options for the series are given in three levels:
  104328. *
  104329. * 1. Options for all series in a chart are defined in the plotOptions.series
  104330. * object.
  104331. *
  104332. * 2. Options for all `cmf` series are defined in plotOptions.cmf.
  104333. *
  104334. * 3. Options for one single series are given in the series instance array. (see
  104335. * online documentation for example)
  104336. *
  104337. * You have to extend the `SeriesCmfOptions` via an interface to allow custom
  104338. * properties: ``` declare interface SeriesCmfOptions { customProperty: string;
  104339. * }
  104340. *
  104341. */
  104342. export interface SeriesCmfOptions extends PlotCmfOptions, SeriesOptions {
  104343. /**
  104344. * Not available
  104345. */
  104346. dataParser?: undefined;
  104347. /**
  104348. * Not available
  104349. */
  104350. dataURL?: undefined;
  104351. /**
  104352. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  104353. * TypeScript non-optional and might be `undefined` in series objects from
  104354. * unknown sources.
  104355. */
  104356. type: "cmf";
  104357. }
  104358. /**
  104359. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  104360. * series is displayed for the `dataLabels`. The animation can also be set as a
  104361. * configuration object. Please note that this option only applies to the
  104362. * initial animation. For other animations, see chart.animation and the
  104363. * animation parameter under the API methods. The following properties are
  104364. * supported:
  104365. *
  104366. * - `defer`: The animation delay time in milliseconds.
  104367. */
  104368. export interface SeriesColumnDataDataLabelsAnimationOptions {
  104369. /**
  104370. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  104371. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  104372. * time from the series.animation.defer.
  104373. */
  104374. defer?: number;
  104375. }
  104376. /**
  104377. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  104378. * one state by default, the `default` state.
  104379. */
  104380. export interface SeriesColumnDataDragDropGuideBoxOptions {
  104381. /**
  104382. * (Highcharts, Highstock) Style options for the guide box default state.
  104383. */
  104384. default?: DragDropGuideBoxOptionsObject;
  104385. }
  104386. /**
  104387. * (Highcharts, Highstock) A `column` series. If the type option is not
  104388. * specified, it is inherited from chart.type.
  104389. *
  104390. * In TypeScript the type option must always be set.
  104391. *
  104392. * Configuration options for the series are given in three levels:
  104393. *
  104394. * 1. Options for all series in a chart are defined in the plotOptions.series
  104395. * object.
  104396. *
  104397. * 2. Options for all `column` series are defined in plotOptions.column.
  104398. *
  104399. * 3. Options for one single series are given in the series instance array. (see
  104400. * online documentation for example)
  104401. *
  104402. * You have to extend the `SeriesColumnOptions` via an interface to allow custom
  104403. * properties: ``` declare interface SeriesColumnOptions { customProperty:
  104404. * string; }
  104405. *
  104406. */
  104407. export interface SeriesColumnOptions extends PlotColumnOptions, SeriesOptions {
  104408. /**
  104409. * (Highcharts, Highstock) An array of data points for the series. For the
  104410. * `column` series type, points can be given in the following ways:
  104411. *
  104412. * 1. An array of numerical values. In this case, the numerical values will
  104413. * be interpreted as `y` options. The `x` values will be automatically
  104414. * calculated, either starting at 0 and incremented by 1, or from
  104415. * `pointStart` and `pointInterval` given in the series options. If the axis
  104416. * has categories, these will be used. Example: (see online documentation
  104417. * for example)
  104418. *
  104419. * 2. An array of arrays with 2 values. In this case, the values correspond
  104420. * to `x,y`. If the first value is a string, it is applied as the name of
  104421. * the point, and the `x` value is inferred. (see online documentation for
  104422. * example)
  104423. *
  104424. * 3. An array of objects with named values. The following snippet shows
  104425. * only a few settings, see the complete options set below. If the total
  104426. * number of data points exceeds the series' turboThreshold, this option is
  104427. * not available. (see online documentation for example)
  104428. */
  104429. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  104430. /**
  104431. * Not available
  104432. */
  104433. dataParser?: undefined;
  104434. /**
  104435. * Not available
  104436. */
  104437. dataURL?: undefined;
  104438. /**
  104439. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  104440. * TypeScript non-optional and might be `undefined` in series objects from
  104441. * unknown sources.
  104442. */
  104443. type: "column";
  104444. }
  104445. /**
  104446. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  104447. * series is displayed for the `dataLabels`. The animation can also be set as a
  104448. * configuration object. Please note that this option only applies to the
  104449. * initial animation. For other animations, see chart.animation and the
  104450. * animation parameter under the API methods. The following properties are
  104451. * supported:
  104452. *
  104453. * - `defer`: The animation delay time in milliseconds.
  104454. */
  104455. export interface SeriesColumnpyramidDataDataLabelsAnimationOptions {
  104456. /**
  104457. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  104458. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  104459. * time from the series.animation.defer.
  104460. */
  104461. defer?: number;
  104462. }
  104463. /**
  104464. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  104465. * one state by default, the `default` state.
  104466. */
  104467. export interface SeriesColumnpyramidDataDragDropGuideBoxOptions {
  104468. /**
  104469. * (Highcharts, Highstock) Style options for the guide box default state.
  104470. */
  104471. default?: DragDropGuideBoxOptionsObject;
  104472. }
  104473. /**
  104474. * (Highcharts, Highstock) A `columnpyramid` series. If the type option is not
  104475. * specified, it is inherited from chart.type.
  104476. *
  104477. * In TypeScript the type option must always be set.
  104478. *
  104479. * Configuration options for the series are given in three levels:
  104480. *
  104481. * 1. Options for all series in a chart are defined in the plotOptions.series
  104482. * object.
  104483. *
  104484. * 2. Options for all `columnpyramid` series are defined in
  104485. * plotOptions.columnpyramid.
  104486. *
  104487. * 3. Options for one single series are given in the series instance array. (see
  104488. * online documentation for example)
  104489. *
  104490. * You have to extend the `SeriesColumnpyramidOptions` via an interface to allow
  104491. * custom properties: ``` declare interface SeriesColumnpyramidOptions {
  104492. * customProperty: string; }
  104493. *
  104494. */
  104495. export interface SeriesColumnpyramidOptions extends PlotColumnpyramidOptions, SeriesOptions {
  104496. /**
  104497. * (Highcharts, Highstock) An array of data points for the series. For the
  104498. * `columnpyramid` series type, points can be given in the following ways:
  104499. *
  104500. * 1. An array of numerical values. In this case, the numerical values will
  104501. * be interpreted as `y` options. The `x` values will be automatically
  104502. * calculated, either starting at 0 and incremented by 1, or from
  104503. * `pointStart` and `pointInterval` given in the series options. If the axis
  104504. * has categories, these will be used. Example: (see online documentation
  104505. * for example)
  104506. *
  104507. * 2. An array of arrays with 2 values. In this case, the values correspond
  104508. * to `x,y`. If the first value is a string, it is applied as the name of
  104509. * the point, and the `x` value is inferred. (see online documentation for
  104510. * example)
  104511. *
  104512. * 3. An array of objects with named values. The objects are point
  104513. * configuration objects as seen below. If the total number of data points
  104514. * exceeds the series' turboThreshold, this option is not available. (see
  104515. * online documentation for example)
  104516. */
  104517. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  104518. /**
  104519. * Not available
  104520. */
  104521. dataParser?: undefined;
  104522. /**
  104523. * Not available
  104524. */
  104525. dataURL?: undefined;
  104526. /**
  104527. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  104528. * TypeScript non-optional and might be `undefined` in series objects from
  104529. * unknown sources.
  104530. */
  104531. type: "columnpyramid";
  104532. }
  104533. /**
  104534. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  104535. * is displayed for the `dataLabels`. The animation can also be set as a
  104536. * configuration object. Please note that this option only applies to the
  104537. * initial animation. For other animations, see chart.animation and the
  104538. * animation parameter under the API methods. The following properties are
  104539. * supported:
  104540. *
  104541. * - `defer`: The animation delay time in milliseconds.
  104542. */
  104543. export interface SeriesColumnrangeDataDataLabelsAnimationOptions {
  104544. /**
  104545. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  104546. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  104547. * from the series.animation.defer.
  104548. */
  104549. defer?: number;
  104550. }
  104551. /**
  104552. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  104553. * one state by default, the `default` state.
  104554. */
  104555. export interface SeriesColumnrangeDataDragDropGuideBoxOptions {
  104556. /**
  104557. * (Highcharts, Highstock) Style options for the guide box default state.
  104558. */
  104559. default?: DragDropGuideBoxOptionsObject;
  104560. }
  104561. /**
  104562. * (Highcharts, Highstock) A `columnrange` series. If the type option is not
  104563. * specified, it is inherited from chart.type.
  104564. *
  104565. * In TypeScript the type option must always be set.
  104566. *
  104567. * Configuration options for the series are given in three levels:
  104568. *
  104569. * 1. Options for all series in a chart are defined in the plotOptions.series
  104570. * object.
  104571. *
  104572. * 2. Options for all `columnrange` series are defined in
  104573. * plotOptions.columnrange.
  104574. *
  104575. * 3. Options for one single series are given in the series instance array. (see
  104576. * online documentation for example)
  104577. *
  104578. * You have to extend the `SeriesColumnrangeOptions` via an interface to allow
  104579. * custom properties: ``` declare interface SeriesColumnrangeOptions {
  104580. * customProperty: string; }
  104581. *
  104582. */
  104583. export interface SeriesColumnrangeOptions extends PlotColumnrangeOptions, SeriesOptions {
  104584. /**
  104585. * (Highcharts, Highstock) An array of data points for the series. For the
  104586. * `columnrange` series type, points can be given in the following ways:
  104587. *
  104588. * 1. An array of arrays with 3 or 2 values. In this case, the values
  104589. * correspond to `x,low,high`. If the first value is a string, it is applied
  104590. * as the name of the point, and the `x` value is inferred. The `x` value
  104591. * can also be omitted, in which case the inner arrays should be of length
  104592. * 2\. Then the `x` value is automatically calculated, either starting at 0
  104593. * and incremented by 1, or from `pointStart` and `pointInterval` given in
  104594. * the series options. (see online documentation for example)
  104595. *
  104596. * 2. An array of objects with named values. The following snippet shows
  104597. * only a few settings, see the complete options set below. If the total
  104598. * number of data points exceeds the series' turboThreshold, this option is
  104599. * not available. (see online documentation for example)
  104600. */
  104601. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  104602. /**
  104603. * Not available
  104604. */
  104605. dataParser?: undefined;
  104606. /**
  104607. * Not available
  104608. */
  104609. dataURL?: undefined;
  104610. /**
  104611. * Not available
  104612. */
  104613. stack?: undefined;
  104614. /**
  104615. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  104616. * TypeScript non-optional and might be `undefined` in series objects from
  104617. * unknown sources.
  104618. */
  104619. type: "columnrange";
  104620. }
  104621. /**
  104622. * (Gantt) Override Pathfinder connector options for a series. Requires
  104623. * Highcharts Gantt to be loaded.
  104624. */
  104625. export interface SeriesConnectorsOptionsObject {
  104626. animation?: ConnectorsAnimationOptionsObject;
  104627. /**
  104628. * (Gantt) Set the default dash style for this chart's connecting lines.
  104629. */
  104630. dashStyle?: string;
  104631. /**
  104632. * (Gantt) Marker options specific to the end markers for this chart's
  104633. * Pathfinder connectors. Overrides the generic marker options.
  104634. */
  104635. endMarker?: ConnectorsEndMarkerOptions;
  104636. /**
  104637. * (Gantt) Set the default color for this chart's Pathfinder connecting
  104638. * lines. Defaults to the color of the point being connected.
  104639. */
  104640. lineColor?: ColorString;
  104641. /**
  104642. * (Gantt) Set the default pixel width for this chart's Pathfinder
  104643. * connecting lines.
  104644. */
  104645. lineWidth?: number;
  104646. /**
  104647. * (Gantt) Marker options for this chart's Pathfinder connectors. Note that
  104648. * this option is overridden by the `startMarker` and `endMarker` options.
  104649. */
  104650. marker?: ConnectorsMarkerOptions;
  104651. /**
  104652. * (Gantt) Marker options specific to the start markers for this chart's
  104653. * Pathfinder connectors. Overrides the generic marker options.
  104654. */
  104655. startMarker?: ConnectorsStartMarkerOptions;
  104656. /**
  104657. * (Gantt) Set the default pathfinder algorithm to use for this chart. It is
  104658. * possible to define your own algorithms by adding them to the
  104659. * Highcharts.Pathfinder.prototype.algorithms object before the chart has
  104660. * been created.
  104661. *
  104662. * The default algorithms are as follows:
  104663. *
  104664. * `straight`: Draws a straight line between the connecting points. Does not
  104665. * avoid other points when drawing.
  104666. *
  104667. * `simpleConnect`: Finds a path between the points using right angles only.
  104668. * Takes only starting/ending points into account, and will not avoid other
  104669. * points.
  104670. *
  104671. * `fastAvoid`: Finds a path between the points using right angles only.
  104672. * Will attempt to avoid other points, but its focus is performance over
  104673. * accuracy. Works well with less dense datasets.
  104674. *
  104675. * Default value: `straight` is used as default for most series types, while
  104676. * `simpleConnect` is used as default for Gantt series, to show dependencies
  104677. * between points.
  104678. */
  104679. type?: (string|PathfinderTypeValue);
  104680. }
  104681. /**
  104682. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  104683. * series is displayed for the `dataLabels`. The animation can also be set as a
  104684. * configuration object. Please note that this option only applies to the
  104685. * initial animation. For other animations, see chart.animation and the
  104686. * animation parameter under the API methods. The following properties are
  104687. * supported:
  104688. *
  104689. * - `defer`: The animation delay time in milliseconds.
  104690. */
  104691. export interface SeriesCylinderDataDataLabelsAnimationOptions {
  104692. /**
  104693. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  104694. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  104695. * time from the series.animation.defer.
  104696. */
  104697. defer?: number;
  104698. }
  104699. /**
  104700. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  104701. * one state by default, the `default` state.
  104702. */
  104703. export interface SeriesCylinderDataDragDropGuideBoxOptions {
  104704. /**
  104705. * (Highcharts, Highstock) Style options for the guide box default state.
  104706. */
  104707. default?: DragDropGuideBoxOptionsObject;
  104708. }
  104709. /**
  104710. * (Highcharts) A `cylinder` series. If the type option is not specified, it is
  104711. * inherited from chart.type.
  104712. *
  104713. * In TypeScript the type option must always be set.
  104714. *
  104715. * Configuration options for the series are given in three levels:
  104716. *
  104717. * 1. Options for all series in a chart are defined in the plotOptions.series
  104718. * object.
  104719. *
  104720. * 2. Options for all `cylinder` series are defined in plotOptions.cylinder.
  104721. *
  104722. * 3. Options for one single series are given in the series instance array. (see
  104723. * online documentation for example)
  104724. *
  104725. * You have to extend the `SeriesCylinderOptions` via an interface to allow
  104726. * custom properties: ``` declare interface SeriesCylinderOptions {
  104727. * customProperty: string; }
  104728. *
  104729. */
  104730. export interface SeriesCylinderOptions extends PlotCylinderOptions, SeriesOptions {
  104731. /**
  104732. * (Highcharts, Highstock) An array of data points for the series. For the
  104733. * `cylinder` series type, points can be given in the following ways:
  104734. *
  104735. * 1. An array of numerical values. In this case, the numerical values will
  104736. * be interpreted as `y` options. The `x` values will be automatically
  104737. * calculated, either starting at 0 and incremented by 1, or from
  104738. * `pointStart` and `pointInterval` given in the series options. If the axis
  104739. * has categories, these will be used. Example: (see online documentation
  104740. * for example)
  104741. *
  104742. * 2. An array of arrays with 2 values. In this case, the values correspond
  104743. * to `x,y`. If the first value is a string, it is applied as the name of
  104744. * the point, and the `x` value is inferred. (see online documentation for
  104745. * example)
  104746. *
  104747. * 3. An array of objects with named values. The following snippet shows
  104748. * only a few settings, see the complete options set below. If the total
  104749. * number of data points exceeds the series' turboThreshold, this option is
  104750. * not available. (see online documentation for example)
  104751. */
  104752. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  104753. /**
  104754. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  104755. * TypeScript non-optional and might be `undefined` in series objects from
  104756. * unknown sources.
  104757. */
  104758. type: "cylinder";
  104759. }
  104760. /**
  104761. * (Highstock) A `DEMA` series. If the type option is not specified, it is
  104762. * inherited from chart.type.
  104763. *
  104764. * In TypeScript the type option must always be set.
  104765. *
  104766. * Configuration options for the series are given in three levels:
  104767. *
  104768. * 1. Options for all series in a chart are defined in the plotOptions.series
  104769. * object.
  104770. *
  104771. * 2. Options for all `dema` series are defined in plotOptions.dema.
  104772. *
  104773. * 3. Options for one single series are given in the series instance array. (see
  104774. * online documentation for example)
  104775. *
  104776. * You have to extend the `SeriesDemaOptions` via an interface to allow custom
  104777. * properties: ``` declare interface SeriesDemaOptions { customProperty: string;
  104778. * }
  104779. *
  104780. */
  104781. export interface SeriesDemaOptions extends PlotDemaOptions, SeriesOptions {
  104782. /**
  104783. * Not available
  104784. */
  104785. dataParser?: undefined;
  104786. /**
  104787. * Not available
  104788. */
  104789. dataURL?: undefined;
  104790. /**
  104791. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  104792. * TypeScript non-optional and might be `undefined` in series objects from
  104793. * unknown sources.
  104794. */
  104795. type: "dema";
  104796. }
  104797. /**
  104798. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  104799. * animation when a series is displayed for the `dataLabels`. The animation can
  104800. * also be set as a configuration object. Please note that this option only
  104801. * applies to the initial animation. For other animations, see chart.animation
  104802. * and the animation parameter under the API methods. The following properties
  104803. * are supported:
  104804. *
  104805. * - `defer`: The animation delay time in milliseconds.
  104806. */
  104807. export interface SeriesDependencywheelNodesDataLabelsAnimationOptions {
  104808. /**
  104809. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  104810. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  104811. * inherits defer time from the series.animation.defer.
  104812. */
  104813. defer?: number;
  104814. }
  104815. /**
  104816. * (Highcharts) A `dependencywheel` series. If the type option is not specified,
  104817. * it is inherited from chart.type.
  104818. *
  104819. * In TypeScript the type option must always be set.
  104820. *
  104821. * Configuration options for the series are given in three levels:
  104822. *
  104823. * 1. Options for all series in a chart are defined in the plotOptions.series
  104824. * object.
  104825. *
  104826. * 2. Options for all `dependencywheel` series are defined in
  104827. * plotOptions.dependencywheel.
  104828. *
  104829. * 3. Options for one single series are given in the series instance array. (see
  104830. * online documentation for example)
  104831. *
  104832. * You have to extend the `SeriesDependencywheelOptions` via an interface to
  104833. * allow custom properties: ``` declare interface SeriesDependencywheelOptions {
  104834. * customProperty: string; }
  104835. *
  104836. */
  104837. export interface SeriesDependencywheelOptions extends PlotDependencywheelOptions, SeriesOptions {
  104838. /**
  104839. * (Highcharts) An array of data points for the series. For the
  104840. * `dependencywheel` series type, points can be given in the following way:
  104841. *
  104842. * An array of objects with named values. The following snippet shows only a
  104843. * few settings, see the complete options set below. If the total number of
  104844. * data points exceeds the series' turboThreshold, this option is not
  104845. * available. (see online documentation for example)
  104846. */
  104847. data?: Array<SeriesSankeyPointOptionsObject>;
  104848. /**
  104849. * (Highcharts) A collection of options for the individual nodes. The nodes
  104850. * in a dependency diagram are auto-generated instances of
  104851. * `Highcharts.Point`, but options can be applied here and linked by the
  104852. * `id`.
  104853. */
  104854. nodes?: Array<SeriesSankeyNodesOptionsObject>;
  104855. /**
  104856. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  104857. * TypeScript non-optional and might be `undefined` in series objects from
  104858. * unknown sources.
  104859. */
  104860. type: "dependencywheel";
  104861. }
  104862. /**
  104863. * (Highstock) A Detrended Price Oscillator. If the type option is not
  104864. * specified, it is inherited from chart.type.
  104865. *
  104866. * In TypeScript the type option must always be set.
  104867. *
  104868. * Configuration options for the series are given in three levels:
  104869. *
  104870. * 1. Options for all series in a chart are defined in the plotOptions.series
  104871. * object.
  104872. *
  104873. * 2. Options for all `dpo` series are defined in plotOptions.dpo.
  104874. *
  104875. * 3. Options for one single series are given in the series instance array. (see
  104876. * online documentation for example)
  104877. *
  104878. * You have to extend the `SeriesDpoOptions` via an interface to allow custom
  104879. * properties: ``` declare interface SeriesDpoOptions { customProperty: string;
  104880. * }
  104881. *
  104882. */
  104883. export interface SeriesDpoOptions extends PlotDpoOptions, SeriesOptions {
  104884. /**
  104885. * Not available
  104886. */
  104887. dataParser?: undefined;
  104888. /**
  104889. * Not available
  104890. */
  104891. dataURL?: undefined;
  104892. /**
  104893. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  104894. * TypeScript non-optional and might be `undefined` in series objects from
  104895. * unknown sources.
  104896. */
  104897. type: "dpo";
  104898. }
  104899. /**
  104900. * (Highcharts, Highstock, Gantt) The draggable-points module allows points to
  104901. * be moved around or modified in the chart. In addition to the options
  104902. * mentioned under the `dragDrop` API structure, the module fires three events,
  104903. * point.dragStart, point.drag and point.drop.
  104904. */
  104905. export interface SeriesDragDropOptionsObject {
  104906. /**
  104907. * (Highstock) Allow close value to be dragged individually.
  104908. */
  104909. draggableClose?: boolean;
  104910. /**
  104911. * (Gantt) Allow end value to be dragged individually.
  104912. */
  104913. draggableEnd?: boolean;
  104914. /**
  104915. * (Highstock) Allow high value to be dragged individually.
  104916. */
  104917. draggableHigh?: boolean;
  104918. /**
  104919. * (Highstock) Allow low value to be dragged individually.
  104920. */
  104921. draggableLow?: boolean;
  104922. /**
  104923. * (Highstock) Allow open value to be dragged individually.
  104924. */
  104925. draggableOpen?: boolean;
  104926. /**
  104927. * (Highcharts, Highstock) Allow Q1 value to be dragged individually.
  104928. */
  104929. draggableQ1?: boolean;
  104930. /**
  104931. * (Highcharts, Highstock) Allow Q3 value to be dragged individually.
  104932. */
  104933. draggableQ3?: boolean;
  104934. /**
  104935. * (Gantt) Allow start value to be dragged individually.
  104936. */
  104937. draggableStart?: boolean;
  104938. /**
  104939. * (Highcharts) Allow target value to be dragged individually.
  104940. */
  104941. draggableTarget?: boolean;
  104942. /**
  104943. * (Highcharts, Highstock, Gantt) Enable dragging in the X dimension.
  104944. */
  104945. draggableX?: boolean;
  104946. /**
  104947. * (Highcharts, Highstock, Gantt) Allow x value to be dragged individually.
  104948. */
  104949. draggableX1?: boolean;
  104950. /**
  104951. * (Highcharts, Highstock, Gantt) Allow x2 value to be dragged individually.
  104952. */
  104953. draggableX2?: boolean;
  104954. /**
  104955. * (Highcharts, Highstock, Gantt) Enable dragging in the Y dimension. Note
  104956. * that this is not supported for TreeGrid axes (the default axis type in
  104957. * Gantt charts).
  104958. */
  104959. draggableY?: boolean;
  104960. /**
  104961. * (Highcharts, Highstock, Gantt) Options for the drag handles.
  104962. */
  104963. dragHandle?: DragDropHandleOptionsObject;
  104964. /**
  104965. * (Highcharts, Highstock, Gantt) Set the maximum X value the points can be
  104966. * moved to.
  104967. */
  104968. dragMaxX?: number;
  104969. /**
  104970. * (Highcharts, Highstock, Gantt) Set the maximum Y value the points can be
  104971. * moved to.
  104972. */
  104973. dragMaxY?: number;
  104974. /**
  104975. * (Highcharts, Highstock, Gantt) Set the minimum X value the points can be
  104976. * moved to.
  104977. */
  104978. dragMinX?: number;
  104979. /**
  104980. * (Highcharts, Highstock, Gantt) Set the minimum Y value the points can be
  104981. * moved to.
  104982. */
  104983. dragMinY?: number;
  104984. /**
  104985. * (Highcharts, Highstock, Gantt) The X precision value to drag to for this
  104986. * series. Set to 0 to disable. By default this is disabled, except for
  104987. * category axes, where the default is 1.
  104988. */
  104989. dragPrecisionX?: number;
  104990. /**
  104991. * (Highcharts, Highstock, Gantt) The Y precision value to drag to for this
  104992. * series. Set to 0 to disable. By default this is disabled, except for
  104993. * category axes, where the default is 1.
  104994. */
  104995. dragPrecisionY?: number;
  104996. /**
  104997. * (Highcharts, Highstock, Gantt) The amount of pixels to drag the pointer
  104998. * before it counts as a drag operation. This prevents drag/drop to fire
  104999. * when just clicking or selecting points.
  105000. */
  105001. dragSensitivity?: number;
  105002. /**
  105003. * (Highcharts, Highstock, Gantt) Group the points by a property. Points
  105004. * with the same property value will be grouped together when moving.
  105005. */
  105006. groupBy?: string;
  105007. /**
  105008. * (Highcharts, Highstock, Gantt) Style options for the guide box. The guide
  105009. * box has one state by default, the `default` state.
  105010. */
  105011. guideBox?: (PlotAreaDragDropGuideBoxOptions|PlotArearangeDragDropGuideBoxOptions|PlotAreasplineDragDropGuideBoxOptions|PlotAreasplinerangeDragDropGuideBoxOptions|PlotBarDragDropGuideBoxOptions|
  105012. PlotBoxplotDragDropGuideBoxOptions|PlotBubbleDragDropGuideBoxOptions|PlotBulletDragDropGuideBoxOptions|PlotCandlestickDragDropGuideBoxOptions|PlotColumnDragDropGuideBoxOptions|
  105013. PlotColumnpyramidDragDropGuideBoxOptions|PlotColumnrangeDragDropGuideBoxOptions|PlotDumbbellDragDropGuideBoxOptions|PlotErrorbarDragDropGuideBoxOptions|PlotFlagsDragDropGuideBoxOptions|
  105014. PlotFunnel3dDragDropGuideBoxOptions|PlotGanttDragDropGuideBoxOptions|PlotHeatmapDragDropGuideBoxOptions|PlotLineDragDropGuideBoxOptions|PlotLollipopDragDropGuideBoxOptions|
  105015. PlotMapbubbleDragDropGuideBoxOptions|PlotMapDragDropGuideBoxOptions|PlotMaplineDragDropGuideBoxOptions|PlotMappointDragDropGuideBoxOptions|PlotOhlcDragDropGuideBoxOptions|
  105016. PlotPolygonDragDropGuideBoxOptions|PlotPyramid3dDragDropGuideBoxOptions|PlotScatterDragDropGuideBoxOptions|PlotSeriesDragDropGuideBoxOptions|PlotSplineDragDropGuideBoxOptions|
  105017. PlotStreamgraphDragDropGuideBoxOptions|PlotTilemapDragDropGuideBoxOptions|PlotTimelineDragDropGuideBoxOptions|PlotVariwideDragDropGuideBoxOptions|PlotWaterfallDragDropGuideBoxOptions|
  105018. PlotXrangeDragDropGuideBoxOptions|Dictionary<DragDropGuideBoxOptionsObject>);
  105019. /**
  105020. * (Highcharts, Highstock, Gantt) Update points as they are dragged. If
  105021. * false, a guide box is drawn to illustrate the new point size.
  105022. */
  105023. liveRedraw?: boolean;
  105024. }
  105025. /**
  105026. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  105027. * is displayed for the `dataLabels`. The animation can also be set as a
  105028. * configuration object. Please note that this option only applies to the
  105029. * initial animation. For other animations, see chart.animation and the
  105030. * animation parameter under the API methods. The following properties are
  105031. * supported:
  105032. *
  105033. * - `defer`: The animation delay time in milliseconds.
  105034. */
  105035. export interface SeriesDumbbellDataDataLabelsAnimationOptions {
  105036. /**
  105037. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  105038. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  105039. * from the series.animation.defer.
  105040. */
  105041. defer?: number;
  105042. }
  105043. /**
  105044. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  105045. * one state by default, the `default` state.
  105046. */
  105047. export interface SeriesDumbbellDataDragDropGuideBoxOptions {
  105048. /**
  105049. * (Highcharts, Highstock) Style options for the guide box default state.
  105050. */
  105051. default?: DragDropGuideBoxOptionsObject;
  105052. }
  105053. /**
  105054. * (Highcharts, Highstock) The `dumbbell` series. If the type option is not
  105055. * specified, it is inherited from chart.type.
  105056. *
  105057. * In TypeScript the type option must always be set.
  105058. *
  105059. * Configuration options for the series are given in three levels:
  105060. *
  105061. * 1. Options for all series in a chart are defined in the plotOptions.series
  105062. * object.
  105063. *
  105064. * 2. Options for all `dumbbell` series are defined in plotOptions.dumbbell.
  105065. *
  105066. * 3. Options for one single series are given in the series instance array. (see
  105067. * online documentation for example)
  105068. *
  105069. * You have to extend the `SeriesDumbbellOptions` via an interface to allow
  105070. * custom properties: ``` declare interface SeriesDumbbellOptions {
  105071. * customProperty: string; }
  105072. *
  105073. */
  105074. export interface SeriesDumbbellOptions extends PlotDumbbellOptions, SeriesOptions {
  105075. /**
  105076. * (Highcharts, Highstock) An array of data points for the series. For the
  105077. * `dumbbell` series type, points can be given in the following ways:
  105078. *
  105079. * 1. An array of arrays with 3 or 2 values. In this case, the values
  105080. * correspond to `x,low,high`. If the first value is a string, it is applied
  105081. * as the name of the point, and the `x` value is inferred. The `x` value
  105082. * can also be omitted, in which case the inner arrays should be of length
  105083. * 2\. Then the `x` value is automatically calculated, either starting at 0
  105084. * and incremented by 1, or from `pointStart` and `pointInterval` given in
  105085. * the series options. (see online documentation for example)
  105086. *
  105087. * 2. An array of objects with named values. The following snippet shows
  105088. * only a few settings, see the complete options set below. If the total
  105089. * number of data points exceeds the series' turboThreshold, this option is
  105090. * not available. (see online documentation for example)
  105091. */
  105092. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  105093. /**
  105094. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  105095. * TypeScript non-optional and might be `undefined` in series objects from
  105096. * unknown sources.
  105097. */
  105098. type: "dumbbell";
  105099. }
  105100. /**
  105101. * (Highstock) A `EMA` series. If the type option is not specified, it is
  105102. * inherited from chart.type.
  105103. *
  105104. * In TypeScript the type option must always be set.
  105105. *
  105106. * Configuration options for the series are given in three levels:
  105107. *
  105108. * 1. Options for all series in a chart are defined in the plotOptions.series
  105109. * object.
  105110. *
  105111. * 2. Options for all `ema` series are defined in plotOptions.ema.
  105112. *
  105113. * 3. Options for one single series are given in the series instance array. (see
  105114. * online documentation for example)
  105115. *
  105116. * You have to extend the `SeriesEmaOptions` via an interface to allow custom
  105117. * properties: ``` declare interface SeriesEmaOptions { customProperty: string;
  105118. * }
  105119. *
  105120. */
  105121. export interface SeriesEmaOptions extends PlotEmaOptions, SeriesOptions {
  105122. /**
  105123. * Not available
  105124. */
  105125. dataParser?: undefined;
  105126. /**
  105127. * Not available
  105128. */
  105129. dataURL?: undefined;
  105130. /**
  105131. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  105132. * TypeScript non-optional and might be `undefined` in series objects from
  105133. * unknown sources.
  105134. */
  105135. type: "ema";
  105136. }
  105137. /**
  105138. * (Highcharts) Style options for the guide box. The guide box has one state by
  105139. * default, the `default` state.
  105140. */
  105141. export interface SeriesErrorbarDataDragDropGuideBoxOptions {
  105142. /**
  105143. * (Highcharts) Style options for the guide box default state.
  105144. */
  105145. default?: DragDropGuideBoxOptionsObject;
  105146. }
  105147. /**
  105148. * (Highcharts) A `errorbar` series. If the type option is not specified, it is
  105149. * inherited from chart.type.
  105150. *
  105151. * In TypeScript the type option must always be set.
  105152. *
  105153. * Configuration options for the series are given in three levels:
  105154. *
  105155. * 1. Options for all series in a chart are defined in the plotOptions.series
  105156. * object.
  105157. *
  105158. * 2. Options for all `errorbar` series are defined in plotOptions.errorbar.
  105159. *
  105160. * 3. Options for one single series are given in the series instance array. (see
  105161. * online documentation for example)
  105162. *
  105163. * You have to extend the `SeriesErrorbarOptions` via an interface to allow
  105164. * custom properties: ``` declare interface SeriesErrorbarOptions {
  105165. * customProperty: string; }
  105166. *
  105167. */
  105168. export interface SeriesErrorbarOptions extends PlotErrorbarOptions, SeriesOptions {
  105169. /**
  105170. * (Highcharts) An array of data points for the series. For the `errorbar`
  105171. * series type, points can be given in the following ways:
  105172. *
  105173. * 1. An array of arrays with 3 or 2 values. In this case, the values
  105174. * correspond to `x,low,high`. If the first value is a string, it is applied
  105175. * as the name of the point, and the `x` value is inferred. The `x` value
  105176. * can also be omitted, in which case the inner arrays should be of length
  105177. * 2\. Then the `x` value is automatically calculated, either starting at 0
  105178. * and incremented by 1, or from `pointStart` and `pointInterval` given in
  105179. * the series options. (see online documentation for example)
  105180. *
  105181. * 2. An array of objects with named values. The following snippet shows
  105182. * only a few settings, see the complete options set below. If the total
  105183. * number of data points exceeds the series' turboThreshold, this option is
  105184. * not available. (see online documentation for example)
  105185. */
  105186. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  105187. /**
  105188. * Not available
  105189. */
  105190. dataParser?: undefined;
  105191. /**
  105192. * Not available
  105193. */
  105194. dataURL?: undefined;
  105195. /**
  105196. * Not available
  105197. */
  105198. stack?: undefined;
  105199. /**
  105200. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  105201. * TypeScript non-optional and might be `undefined` in series objects from
  105202. * unknown sources.
  105203. */
  105204. type: "errorbar";
  105205. }
  105206. /**
  105207. * (Highstock) General event handlers for the series items. These event hooks
  105208. * can also be attached to the series at run time using the
  105209. * `Highcharts.addEvent` function.
  105210. */
  105211. export interface SeriesEventsOptionsObject {
  105212. /**
  105213. * (Highcharts, Highstock, Gantt) Fires after the series has finished its
  105214. * initial animation, or in case animation is disabled, immediately as the
  105215. * series is displayed.
  105216. */
  105217. afterAnimate?: SeriesAfterAnimateCallbackFunction;
  105218. /**
  105219. * (Highstock) Fires when the checkbox next to the series' name in the
  105220. * legend is clicked. One parameter, `event`, is passed to the function. The
  105221. * state of the checkbox is found by `event.checked`. The checked item is
  105222. * found by `event.item`. Return `false` to prevent the default action which
  105223. * is to toggle the select state of the series.
  105224. */
  105225. checkboxClick?: (Function|SeriesCheckboxClickCallbackFunction);
  105226. /**
  105227. * (Highstock) Fires when the series is clicked. One parameter, `event`, is
  105228. * passed to the function, containing common event information.
  105229. * Additionally, `event.point` holds a pointer to the nearest point on the
  105230. * graph.
  105231. */
  105232. click?: SeriesClickCallbackFunction;
  105233. /**
  105234. * (Highstock) Fires when the series is hidden after chart generation time,
  105235. * either by clicking the legend item or by calling `.hide()`.
  105236. */
  105237. hide?: SeriesHideCallbackFunction;
  105238. /**
  105239. * (Highstock) Fires when the legend item belonging to the series is
  105240. * clicked. One parameter, `event`, is passed to the function. The default
  105241. * action is to toggle the visibility of the series. This can be prevented
  105242. * by returning `false` or calling `event.preventDefault()`.
  105243. */
  105244. legendItemClick?: SeriesLegendItemClickCallbackFunction;
  105245. /**
  105246. * (Highstock) Fires when the mouse leaves the graph. One parameter,
  105247. * `event`, is passed to the function, containing common event information.
  105248. * If the stickyTracking option is true, `mouseOut` doesn't happen before
  105249. * the mouse enters another graph or leaves the plot area.
  105250. */
  105251. mouseOut?: SeriesMouseOutCallbackFunction;
  105252. /**
  105253. * (Highstock) Fires when the mouse enters the graph. One parameter,
  105254. * `event`, is passed to the function, containing common event information.
  105255. */
  105256. mouseOver?: SeriesMouseOverCallbackFunction;
  105257. /**
  105258. * (Highcharts) Fires on a request for change of root node for the tree,
  105259. * before the update is made. An event object is passed to the function,
  105260. * containing additional properties `newRootId`, `previousRootId`, `redraw`
  105261. * and `trigger`.
  105262. */
  105263. setRootNode?: Function;
  105264. /**
  105265. * (Highstock) Fires when the series is shown after chart generation time,
  105266. * either by clicking the legend item or by calling `.show()`.
  105267. */
  105268. show?: SeriesShowCallbackFunction;
  105269. }
  105270. /**
  105271. * (Highstock) Style options for the guide box. The guide box has one state by
  105272. * default, the `default` state.
  105273. */
  105274. export interface SeriesFlagsDataDragDropGuideBoxOptions {
  105275. /**
  105276. * (Highstock) Style options for the guide box default state.
  105277. */
  105278. default?: DragDropGuideBoxOptionsObject;
  105279. }
  105280. /**
  105281. * (Highstock) A `flags` series. If the type option is not specified, it is
  105282. * inherited from chart.type.
  105283. *
  105284. * In TypeScript the type option must always be set.
  105285. *
  105286. * Configuration options for the series are given in three levels:
  105287. *
  105288. * 1. Options for all series in a chart are defined in the plotOptions.series
  105289. * object.
  105290. *
  105291. * 2. Options for all `flags` series are defined in plotOptions.flags.
  105292. *
  105293. * 3. Options for one single series are given in the series instance array. (see
  105294. * online documentation for example)
  105295. *
  105296. * You have to extend the `SeriesFlagsOptions` via an interface to allow custom
  105297. * properties: ``` declare interface SeriesFlagsOptions { customProperty:
  105298. * string; }
  105299. *
  105300. */
  105301. export interface SeriesFlagsOptions extends PlotFlagsOptions, SeriesOptions {
  105302. /**
  105303. * Not available
  105304. */
  105305. borderRadius?: undefined;
  105306. /**
  105307. * Not available
  105308. */
  105309. colorByPoint?: undefined;
  105310. /**
  105311. * (Highstock) An array of data points for the series. For the `flags`
  105312. * series type, points can be given in the following ways:
  105313. *
  105314. * 1. An array of objects with named values. The following snippet shows
  105315. * only a few settings, see the complete options set below. If the total
  105316. * number of data points exceeds the series' turboThreshold, this option is
  105317. * not available. (see online documentation for example)
  105318. */
  105319. data?: Array<PointOptionsObject>;
  105320. /**
  105321. * Not available
  105322. */
  105323. dataParser?: undefined;
  105324. /**
  105325. * Not available
  105326. */
  105327. dataURL?: undefined;
  105328. /**
  105329. * Not available
  105330. */
  105331. pointPadding?: undefined;
  105332. /**
  105333. * Not available
  105334. */
  105335. pointWidth?: undefined;
  105336. /**
  105337. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  105338. * TypeScript non-optional and might be `undefined` in series objects from
  105339. * unknown sources.
  105340. */
  105341. type: "flags";
  105342. /**
  105343. * Not available
  105344. */
  105345. useOhlcData?: undefined;
  105346. }
  105347. /**
  105348. * (Highcharts) A `funnel3d` series. If the type option is not specified, it is
  105349. * inherited from chart.type.
  105350. *
  105351. * In TypeScript the type option must always be set.
  105352. *
  105353. * Configuration options for the series are given in three levels:
  105354. *
  105355. * 1. Options for all series in a chart are defined in the plotOptions.series
  105356. * object.
  105357. *
  105358. * 2. Options for all `funnel3d` series are defined in plotOptions.funnel3d.
  105359. *
  105360. * 3. Options for one single series are given in the series instance array. (see
  105361. * online documentation for example)
  105362. *
  105363. * You have to extend the `SeriesFunnel3dOptions` via an interface to allow
  105364. * custom properties: ``` declare interface SeriesFunnel3dOptions {
  105365. * customProperty: string; }
  105366. *
  105367. */
  105368. export interface SeriesFunnel3dOptions extends PlotFunnel3dOptions, SeriesOptions {
  105369. /**
  105370. * Not available
  105371. */
  105372. allAreas?: undefined;
  105373. /**
  105374. * Not available
  105375. */
  105376. boostThreshold?: undefined;
  105377. /**
  105378. * (Highcharts) The center of the series. By default, it is centered in the
  105379. * middle of the plot area, so it fills the plot area height.
  105380. */
  105381. center?: Array<(number|string)>;
  105382. /**
  105383. * Not available
  105384. */
  105385. colorAxis?: undefined;
  105386. /**
  105387. * Not available
  105388. */
  105389. compare?: undefined;
  105390. /**
  105391. * Not available
  105392. */
  105393. compareBase?: undefined;
  105394. /**
  105395. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  105396. * series plot across the extremes.
  105397. */
  105398. connectEnds?: boolean;
  105399. /**
  105400. * (Highcharts, Highstock) Whether to connect a graph line across null
  105401. * points, or render a gap between the two points on either side of the
  105402. * null.
  105403. */
  105404. connectNulls?: boolean;
  105405. /**
  105406. * (Highcharts) The end angle of the pie in degrees where 0 is top and 90 is
  105407. * right. Defaults to `startAngle` plus 360.
  105408. */
  105409. endAngle?: number;
  105410. /**
  105411. * (Highcharts) If the total sum of the pie's values is 0, the series is
  105412. * represented as an empty circle . The `fillColor` option defines the color
  105413. * of that circle. Use pie.borderWidth to set the border thickness.
  105414. */
  105415. fillColor?: (ColorString|GradientColorObject|PatternObject);
  105416. /**
  105417. * (Highstock) Defines when to display a gap in the graph, together with the
  105418. * gapUnit option.
  105419. *
  105420. * In case when `dataGrouping` is enabled, points can be grouped into a
  105421. * larger time span. This can make the grouped points to have a greater
  105422. * distance than the absolute value of `gapSize` property, which will result
  105423. * in disappearing graph completely. To prevent this situation the mentioned
  105424. * distance between grouped points is used instead of previously defined
  105425. * `gapSize`.
  105426. *
  105427. * In practice, this option is most often used to visualize gaps in time
  105428. * series. In a stock chart, intraday data is available for daytime hours,
  105429. * while gaps will appear in nights and weekends.
  105430. */
  105431. gapSize?: number;
  105432. /**
  105433. * (Highstock) Together with gapSize, this option defines where to draw gaps
  105434. * in the graph.
  105435. *
  105436. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  105437. * if the distance between two points is greater than 5 times that of the
  105438. * two closest points, the graph will be broken.
  105439. *
  105440. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  105441. * values, which on a datetime axis is milliseconds. This also applies to
  105442. * the navigator series that inherits gap options from the base series.
  105443. */
  105444. gapUnit?: OptionsGapUnitValue;
  105445. /**
  105446. * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
  105447. * whether the series shall be redrawn as if the hidden point were `null`.
  105448. *
  105449. * The default value changed from `false` to `true` with Highcharts 3.0.
  105450. */
  105451. ignoreHiddenPoint?: boolean;
  105452. /**
  105453. * (Highcharts, Highstock) The line cap used for line ends and line joins on
  105454. * the graph.
  105455. */
  105456. linecap?: SeriesLinecapValue;
  105457. /**
  105458. * (Highcharts, Highstock) Pixel width of the graph line.
  105459. */
  105460. lineWidth?: number;
  105461. /**
  105462. * (Highcharts) Options for the point markers of line-like series.
  105463. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  105464. * visual appearance of the markers. Other series types, like column series,
  105465. * don't have markers, but have visual options on the series level instead.
  105466. *
  105467. * In styled mode, the markers can be styled with the `.highcharts-point`,
  105468. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  105469. */
  105470. marker?: PointMarkerOptionsObject;
  105471. /**
  105472. * (Highcharts) The minimum size for a pie in response to auto margins. The
  105473. * pie will try to shrink to make room for data labels in side the plot
  105474. * area, but only to this size.
  105475. */
  105476. minSize?: (number|string);
  105477. /**
  105478. * (Highcharts) If a point is sliced, moved out from the center, how many
  105479. * pixels should it be moved?.
  105480. */
  105481. slicedOffset?: number;
  105482. /**
  105483. * (Highcharts) The start angle of the pie slices in degrees where 0 is top
  105484. * and 90 right.
  105485. */
  105486. startAngle?: number;
  105487. /**
  105488. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  105489. * values are `left`, `center` and `right`.
  105490. */
  105491. step?: OptionsStepValue;
  105492. /**
  105493. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  105494. * TypeScript non-optional and might be `undefined` in series objects from
  105495. * unknown sources.
  105496. */
  105497. type: "funnel3d";
  105498. /**
  105499. * (Highstock) The parameter allows setting line series type and use OHLC
  105500. * indicators. Data in OHLC format is required.
  105501. */
  105502. useOhlcData?: boolean;
  105503. }
  105504. /**
  105505. * (Highcharts) Enable or disable the initial animation when a series is
  105506. * displayed for the `dataLabels`. The animation can also be set as a
  105507. * configuration object. Please note that this option only applies to the
  105508. * initial animation. For other animations, see chart.animation and the
  105509. * animation parameter under the API methods. The following properties are
  105510. * supported:
  105511. *
  105512. * - `defer`: The animation delay time in milliseconds.
  105513. */
  105514. export interface SeriesFunnelDataDataLabelsAnimationOptions {
  105515. /**
  105516. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  105517. * dataLabel immediately. As `undefined` inherits defer time from the
  105518. * series.animation.defer.
  105519. */
  105520. defer?: number;
  105521. }
  105522. /**
  105523. * (Highcharts) Style options for the guide box. The guide box has one state by
  105524. * default, the `default` state.
  105525. */
  105526. export interface SeriesFunnelDataDragDropGuideBoxOptions {
  105527. /**
  105528. * (Highcharts) Style options for the guide box default state.
  105529. */
  105530. default?: DragDropGuideBoxOptionsObject;
  105531. }
  105532. /**
  105533. * (Highcharts) A `funnel` series. If the type option is not specified, it is
  105534. * inherited from chart.type.
  105535. *
  105536. * In TypeScript the type option must always be set.
  105537. *
  105538. * Configuration options for the series are given in three levels:
  105539. *
  105540. * 1. Options for all series in a chart are defined in the plotOptions.series
  105541. * object.
  105542. *
  105543. * 2. Options for all `funnel` series are defined in plotOptions.funnel.
  105544. *
  105545. * 3. Options for one single series are given in the series instance array. (see
  105546. * online documentation for example)
  105547. *
  105548. * You have to extend the `SeriesFunnelOptions` via an interface to allow custom
  105549. * properties: ``` declare interface SeriesFunnelOptions { customProperty:
  105550. * string; }
  105551. *
  105552. */
  105553. export interface SeriesFunnelOptions extends PlotFunnelOptions, SeriesOptions {
  105554. /**
  105555. * (Highcharts) An array of data points for the series. For the `funnel`
  105556. * series type, points can be given in the following ways:
  105557. *
  105558. * 1. An array of numerical values. In this case, the numerical values will
  105559. * be interpreted as `y` options. Example: (see online documentation for
  105560. * example)
  105561. *
  105562. * 2. An array of objects with named values. The following snippet shows
  105563. * only a few settings, see the complete options set below. If the total
  105564. * number of data points exceeds the series' turboThreshold, this option is
  105565. * not available. (see online documentation for example)
  105566. */
  105567. data?: Array<(number|null|PointOptionsObject)>;
  105568. /**
  105569. * Not available
  105570. */
  105571. dataParser?: undefined;
  105572. /**
  105573. * Not available
  105574. */
  105575. dataURL?: undefined;
  105576. /**
  105577. * Not available
  105578. */
  105579. stack?: undefined;
  105580. /**
  105581. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  105582. * TypeScript non-optional and might be `undefined` in series objects from
  105583. * unknown sources.
  105584. */
  105585. type: "funnel";
  105586. /**
  105587. * Not available
  105588. */
  105589. xAxis?: undefined;
  105590. /**
  105591. * Not available
  105592. */
  105593. yAxis?: undefined;
  105594. }
  105595. /**
  105596. * (Gantt) Style options for the guide box. The guide box has one state by
  105597. * default, the `default` state.
  105598. */
  105599. export interface SeriesGanttDataDragDropGuideBoxOptions {
  105600. /**
  105601. * (Gantt) Style options for the guide box default state.
  105602. */
  105603. default?: DragDropGuideBoxOptionsObject;
  105604. }
  105605. /**
  105606. * (Gantt) A `gantt` series.
  105607. *
  105608. * In TypeScript the type option must always be set.
  105609. *
  105610. * Configuration options for the series are given in three levels:
  105611. *
  105612. * 1. Options for all series in a chart are defined in the plotOptions.series
  105613. * object.
  105614. *
  105615. * 2. Options for all `gantt` series are defined in plotOptions.gantt.
  105616. *
  105617. * 3. Options for one single series are given in the series instance array. (see
  105618. * online documentation for example)
  105619. *
  105620. * You have to extend the `SeriesGanttOptions` via an interface to allow custom
  105621. * properties: ``` declare interface SeriesGanttOptions { customProperty:
  105622. * string; }
  105623. *
  105624. */
  105625. export interface SeriesGanttOptions extends PlotGanttOptions, SeriesOptions {
  105626. /**
  105627. * (Gantt) Data for a Gantt series.
  105628. */
  105629. data?: Array<GanttPointOptionsObject>;
  105630. /**
  105631. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  105632. * TypeScript non-optional and might be `undefined` in series objects from
  105633. * unknown sources.
  105634. */
  105635. type: "gantt";
  105636. }
  105637. /**
  105638. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  105639. * series is displayed for the `dataLabels`. The animation can also be set as a
  105640. * configuration object. Please note that this option only applies to the
  105641. * initial animation. For other animations, see chart.animation and the
  105642. * animation parameter under the API methods. The following properties are
  105643. * supported:
  105644. *
  105645. * - `defer`: The animation delay time in milliseconds.
  105646. */
  105647. export interface SeriesGaugeDataDataLabelsAnimationOptions {
  105648. /**
  105649. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  105650. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  105651. * time from the series.animation.defer.
  105652. */
  105653. defer?: number;
  105654. }
  105655. /**
  105656. * (Highcharts) Style options for the guide box. The guide box has one state by
  105657. * default, the `default` state.
  105658. */
  105659. export interface SeriesGaugeDataDragDropGuideBoxOptions {
  105660. /**
  105661. * (Highcharts) Style options for the guide box default state.
  105662. */
  105663. default?: DragDropGuideBoxOptionsObject;
  105664. }
  105665. /**
  105666. * (Highcharts) A `gauge` series. If the type option is not specified, it is
  105667. * inherited from chart.type.
  105668. *
  105669. * In TypeScript the type option must always be set.
  105670. *
  105671. * Configuration options for the series are given in three levels:
  105672. *
  105673. * 1. Options for all series in a chart are defined in the plotOptions.series
  105674. * object.
  105675. *
  105676. * 2. Options for all `gauge` series are defined in plotOptions.gauge.
  105677. *
  105678. * 3. Options for one single series are given in the series instance array. (see
  105679. * online documentation for example)
  105680. *
  105681. * You have to extend the `SeriesGaugeOptions` via an interface to allow custom
  105682. * properties: ``` declare interface SeriesGaugeOptions { customProperty:
  105683. * string; }
  105684. *
  105685. */
  105686. export interface SeriesGaugeOptions extends PlotGaugeOptions, SeriesOptions {
  105687. /**
  105688. * (Highcharts) An array of data points for the series. For the `gauge`
  105689. * series type, points can be given in the following ways:
  105690. *
  105691. * 1. An array of numerical values. In this case, the numerical values will
  105692. * be interpreted as `y` options. Example: (see online documentation for
  105693. * example)
  105694. *
  105695. * 2. An array of objects with named values. The following snippet shows
  105696. * only a few settings, see the complete options set below. If the total
  105697. * number of data points exceeds the series' turboThreshold, this option is
  105698. * not available. (see online documentation for example)
  105699. *
  105700. * The typical gauge only contains a single data value.
  105701. */
  105702. data?: Array<(number|null|PointOptionsObject)>;
  105703. /**
  105704. * Not available
  105705. */
  105706. dataParser?: undefined;
  105707. /**
  105708. * Not available
  105709. */
  105710. dataURL?: undefined;
  105711. /**
  105712. * Not available
  105713. */
  105714. stack?: undefined;
  105715. /**
  105716. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  105717. * TypeScript non-optional and might be `undefined` in series objects from
  105718. * unknown sources.
  105719. */
  105720. type: "gauge";
  105721. }
  105722. /**
  105723. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  105724. * series is displayed for the `dataLabels`. The animation can also be set as a
  105725. * configuration object. Please note that this option only applies to the
  105726. * initial animation. For other animations, see chart.animation and the
  105727. * animation parameter under the API methods. The following properties are
  105728. * supported:
  105729. *
  105730. * - `defer`: The animation delay time in milliseconds.
  105731. */
  105732. export interface SeriesHeatmapDataDataLabelsAnimationOptions {
  105733. /**
  105734. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  105735. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  105736. * time from the series.animation.defer.
  105737. */
  105738. defer?: number;
  105739. }
  105740. /**
  105741. * (Highcharts, Highmaps) Style options for the guide box. The guide box has one
  105742. * state by default, the `default` state.
  105743. */
  105744. export interface SeriesHeatmapDataDragDropGuideBoxOptions {
  105745. /**
  105746. * (Highcharts, Highmaps) Style options for the guide box default state.
  105747. */
  105748. default?: DragDropGuideBoxOptionsObject;
  105749. }
  105750. /**
  105751. * (Highcharts, Highmaps) A `heatmap` series. If the type option is not
  105752. * specified, it is inherited from chart.type.
  105753. *
  105754. * In TypeScript the type option must always be set.
  105755. *
  105756. * Configuration options for the series are given in three levels:
  105757. *
  105758. * 1. Options for all series in a chart are defined in the plotOptions.series
  105759. * object.
  105760. *
  105761. * 2. Options for all `heatmap` series are defined in plotOptions.heatmap.
  105762. *
  105763. * 3. Options for one single series are given in the series instance array. (see
  105764. * online documentation for example)
  105765. *
  105766. * You have to extend the `SeriesHeatmapOptions` via an interface to allow
  105767. * custom properties: ``` declare interface SeriesHeatmapOptions {
  105768. * customProperty: string; }
  105769. *
  105770. */
  105771. export interface SeriesHeatmapOptions extends PlotHeatmapOptions, SeriesOptions {
  105772. /**
  105773. * (Highcharts, Highmaps) An array of data points for the series. For the
  105774. * `heatmap` series type, points can be given in the following ways:
  105775. *
  105776. * 1. An array of arrays with 3 or 2 values. In this case, the values
  105777. * correspond to `x,y,value`. If the first value is a string, it is applied
  105778. * as the name of the point, and the `x` value is inferred. The `x` value
  105779. * can also be omitted, in which case the inner arrays should be of length
  105780. * 2\. Then the `x` value is automatically calculated, either starting at 0
  105781. * and incremented by 1, or from `pointStart` and `pointInterval` given in
  105782. * the series options. (see online documentation for example)
  105783. *
  105784. * 2. An array of objects with named values. The following snippet shows
  105785. * only a few settings, see the complete options set below. If the total
  105786. * number of data points exceeds the series' turboThreshold, this option is
  105787. * not available. (see online documentation for example)
  105788. */
  105789. data?: Array<(Array<number>|PointOptionsObject)>;
  105790. /**
  105791. * Not available
  105792. */
  105793. dataParser?: undefined;
  105794. /**
  105795. * Not available
  105796. */
  105797. dataURL?: undefined;
  105798. /**
  105799. * Not available
  105800. */
  105801. stack?: undefined;
  105802. /**
  105803. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  105804. * TypeScript non-optional and might be `undefined` in series objects from
  105805. * unknown sources.
  105806. */
  105807. type: "heatmap";
  105808. }
  105809. /**
  105810. * (Highcharts) A `histogram` series. If the type option is not specified, it is
  105811. * inherited from chart.type.
  105812. *
  105813. * In TypeScript the type option must always be set.
  105814. *
  105815. * Configuration options for the series are given in three levels:
  105816. *
  105817. * 1. Options for all series in a chart are defined in the plotOptions.series
  105818. * object.
  105819. *
  105820. * 2. Options for all `histogram` series are defined in plotOptions.histogram.
  105821. *
  105822. * 3. Options for one single series are given in the series instance array. (see
  105823. * online documentation for example)
  105824. *
  105825. * You have to extend the `SeriesHistogramOptions` via an interface to allow
  105826. * custom properties: ``` declare interface SeriesHistogramOptions {
  105827. * customProperty: string; }
  105828. *
  105829. */
  105830. export interface SeriesHistogramOptions extends PlotHistogramOptions, SeriesOptions {
  105831. /**
  105832. * (Highcharts) An integer identifying the index to use for the base series,
  105833. * or a string representing the id of the series.
  105834. */
  105835. baseSeries?: (number|string);
  105836. /**
  105837. * Not available
  105838. */
  105839. data?: undefined;
  105840. /**
  105841. * Not available
  105842. */
  105843. dataParser?: undefined;
  105844. /**
  105845. * Not available
  105846. */
  105847. dataURL?: undefined;
  105848. /**
  105849. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  105850. * TypeScript non-optional and might be `undefined` in series objects from
  105851. * unknown sources.
  105852. */
  105853. type: "histogram";
  105854. }
  105855. /**
  105856. * (Highstock) A `IKH` series. If the type option is not specified, it is
  105857. * inherited from chart.type.
  105858. *
  105859. * In TypeScript the type option must always be set.
  105860. *
  105861. * Configuration options for the series are given in three levels:
  105862. *
  105863. * 1. Options for all series in a chart are defined in the plotOptions.series
  105864. * object.
  105865. *
  105866. * 2. Options for all `ikh` series are defined in plotOptions.ikh.
  105867. *
  105868. * 3. Options for one single series are given in the series instance array. (see
  105869. * online documentation for example)
  105870. *
  105871. * You have to extend the `SeriesIkhOptions` via an interface to allow custom
  105872. * properties: ``` declare interface SeriesIkhOptions { customProperty: string;
  105873. * }
  105874. *
  105875. */
  105876. export interface SeriesIkhOptions extends PlotIkhOptions, SeriesOptions {
  105877. /**
  105878. * Not available
  105879. */
  105880. dataParser?: undefined;
  105881. /**
  105882. * Not available
  105883. */
  105884. dataURL?: undefined;
  105885. /**
  105886. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  105887. * TypeScript non-optional and might be `undefined` in series objects from
  105888. * unknown sources.
  105889. */
  105890. type: "ikh";
  105891. }
  105892. /**
  105893. * (Highcharts) Enable or disable the initial animation when a series is
  105894. * displayed for the `dataLabels`. The animation can also be set as a
  105895. * configuration object. Please note that this option only applies to the
  105896. * initial animation. For other animations, see chart.animation and the
  105897. * animation parameter under the API methods. The following properties are
  105898. * supported:
  105899. *
  105900. * - `defer`: The animation delay time in milliseconds.
  105901. */
  105902. export interface SeriesItemDataDataLabelsAnimationOptions {
  105903. /**
  105904. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  105905. * dataLabel immediately. As `undefined` inherits defer time from the
  105906. * series.animation.defer.
  105907. */
  105908. defer?: number;
  105909. }
  105910. /**
  105911. * (Highcharts) Style options for the guide box. The guide box has one state by
  105912. * default, the `default` state.
  105913. */
  105914. export interface SeriesItemDataDragDropGuideBoxOptions {
  105915. /**
  105916. * (Highcharts) Style options for the guide box default state.
  105917. */
  105918. default?: DragDropGuideBoxOptionsObject;
  105919. }
  105920. /**
  105921. * (Highcharts) An `item` series. If the type option is not specified, it is
  105922. * inherited from chart.type.
  105923. *
  105924. * In TypeScript the type option must always be set.
  105925. *
  105926. * Configuration options for the series are given in three levels:
  105927. *
  105928. * 1. Options for all series in a chart are defined in the plotOptions.series
  105929. * object.
  105930. *
  105931. * 2. Options for all `item` series are defined in plotOptions.item.
  105932. *
  105933. * 3. Options for one single series are given in the series instance array. (see
  105934. * online documentation for example)
  105935. *
  105936. * You have to extend the `SeriesItemOptions` via an interface to allow custom
  105937. * properties: ``` declare interface SeriesItemOptions { customProperty: string;
  105938. * }
  105939. *
  105940. */
  105941. export interface SeriesItemOptions extends PlotItemOptions, SeriesOptions {
  105942. /**
  105943. * (Highcharts) An array of data points for the series. For the `item`
  105944. * series type, points can be given in the following ways:
  105945. *
  105946. * 1. An array of numerical values. In this case, the numerical values will
  105947. * be interpreted as `y` options. Example: (see online documentation for
  105948. * example)
  105949. *
  105950. * 2. An array of objects with named values. The following snippet shows
  105951. * only a few settings, see the complete options set below. If the total
  105952. * number of data points exceeds the series' turboThreshold, this option is
  105953. * not available. (see online documentation for example)
  105954. */
  105955. data?: Array<(number|[string, (number|null)]|null|PointOptionsObject)>;
  105956. /**
  105957. * Not available
  105958. */
  105959. dataParser?: undefined;
  105960. /**
  105961. * Not available
  105962. */
  105963. dataURL?: undefined;
  105964. /**
  105965. * Not available
  105966. */
  105967. stack?: undefined;
  105968. /**
  105969. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  105970. * TypeScript non-optional and might be `undefined` in series objects from
  105971. * unknown sources.
  105972. */
  105973. type: "item";
  105974. /**
  105975. * Not available
  105976. */
  105977. xAxis?: undefined;
  105978. /**
  105979. * Not available
  105980. */
  105981. yAxis?: undefined;
  105982. }
  105983. /**
  105984. * (Highstock) A Keltner Channels indicator. If the type option is not
  105985. * specified, it is inherited fromchart.type.
  105986. *
  105987. * In TypeScript the type option must always be set.
  105988. *
  105989. * Configuration options for the series are given in three levels:
  105990. *
  105991. * 1. Options for all series in a chart are defined in the plotOptions.series
  105992. * object.
  105993. *
  105994. * 2. Options for all `keltnerchannels` series are defined in
  105995. * plotOptions.keltnerchannels.
  105996. *
  105997. * 3. Options for one single series are given in the series instance array. (see
  105998. * online documentation for example)
  105999. *
  106000. * You have to extend the `SeriesKeltnerchannelsOptions` via an interface to
  106001. * allow custom properties: ``` declare interface SeriesKeltnerchannelsOptions {
  106002. * customProperty: string; }
  106003. *
  106004. */
  106005. export interface SeriesKeltnerchannelsOptions extends PlotKeltnerchannelsOptions, SeriesOptions {
  106006. /**
  106007. * Not available
  106008. */
  106009. dataParser?: undefined;
  106010. /**
  106011. * Not available
  106012. */
  106013. dataURL?: undefined;
  106014. /**
  106015. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  106016. * TypeScript non-optional and might be `undefined` in series objects from
  106017. * unknown sources.
  106018. */
  106019. type: "keltnerchannels";
  106020. }
  106021. /**
  106022. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  106023. * series as possible in a natural way, seeking to avoid other series. The goal
  106024. * of this feature is to make the chart more easily readable, like if a human
  106025. * designer placed the labels in the optimal position.
  106026. *
  106027. * The series labels currently work with series types having a `graph` or an
  106028. * `area`.
  106029. */
  106030. export interface SeriesLabelOptionsObject {
  106031. /**
  106032. * (Highcharts, Highstock, Gantt) An array of boxes to avoid when laying out
  106033. * the labels. Each item has a `left`, `right`, `top` and `bottom` property.
  106034. */
  106035. boxesToAvoid?: Array<LabelIntersectBoxObject>;
  106036. /**
  106037. * (Highcharts, Highstock, Gantt) Allow labels to be placed distant to the
  106038. * graph if necessary, and draw a connector line to the graph. Setting this
  106039. * option to true may decrease the performance significantly, since the
  106040. * algorithm with systematically search for open spaces in the whole plot
  106041. * area. Visually, it may also result in a more cluttered chart, though more
  106042. * of the series will be labeled.
  106043. */
  106044. connectorAllowed?: boolean;
  106045. /**
  106046. * (Highcharts, Highstock, Gantt) If the label is closer than this to a
  106047. * neighbour graph, draw a connector.
  106048. */
  106049. connectorNeighbourDistance?: number;
  106050. /**
  106051. * (Highcharts, Highstock, Gantt) Enable the series label per series.
  106052. */
  106053. enabled?: boolean;
  106054. /**
  106055. * (Highcharts, Highstock, Gantt) A format string for the label, with
  106056. * support for a subset of HTML. Variables are enclosed by curly brackets.
  106057. * Available variables are `name`, `options.xxx`, `color` and other members
  106058. * from the `series` object. Use this option also to set a static text for
  106059. * the label.
  106060. */
  106061. format?: string;
  106062. /**
  106063. * (Highcharts, Highstock, Gantt) Callback function to format each of the
  106064. * series' labels. The `this` keyword refers to the series object. By
  106065. * default the `formatter` is undefined and the `series.name` is rendered.
  106066. */
  106067. formatter?: FormatterCallbackFunction<Series>;
  106068. /**
  106069. * (Highcharts, Highstock, Gantt) For area-like series, allow the font size
  106070. * to vary so that small areas get a smaller font size. The default applies
  106071. * this effect to area-like series but not line-like series.
  106072. */
  106073. maxFontSize?: (number|null);
  106074. /**
  106075. * (Highcharts, Highstock, Gantt) For area-like series, allow the font size
  106076. * to vary so that small areas get a smaller font size. The default applies
  106077. * this effect to area-like series but not line-like series.
  106078. */
  106079. minFontSize?: (number|null);
  106080. /**
  106081. * (Highcharts, Highstock, Gantt) Draw the label on the area of an area
  106082. * series. By default it is drawn on the area. Set it to `false` to draw it
  106083. * next to the graph instead.
  106084. */
  106085. onArea?: (boolean|null);
  106086. /**
  106087. * (Highcharts, Highstock, Gantt) Styles for the series label. The color
  106088. * defaults to the series color, or a contrast color if `onArea`.
  106089. */
  106090. style?: CSSObject;
  106091. }
  106092. /**
  106093. * (Highstock) The line marks the last price from all points.
  106094. */
  106095. export interface SeriesLastPriceOptionsObject {
  106096. /**
  106097. * (Highstock) The color of the line of last price.
  106098. */
  106099. color?: string;
  106100. /**
  106101. * (Highstock) Enable or disable the indicator.
  106102. */
  106103. enabled?: boolean;
  106104. }
  106105. export interface SeriesLastVisiblePriceLabelOptionsObject {
  106106. /**
  106107. * (Highstock) Enable or disable the label.
  106108. */
  106109. enabled?: boolean;
  106110. }
  106111. /**
  106112. * (Highstock) The line marks the last price from visible range of points.
  106113. */
  106114. export interface SeriesLastVisiblePriceOptionsObject {
  106115. /**
  106116. * (Highstock) Enable or disable the indicator.
  106117. */
  106118. enabled?: boolean;
  106119. label?: SeriesLastVisiblePriceLabelOptionsObject;
  106120. }
  106121. /**
  106122. * Information about the legend click event.
  106123. */
  106124. export interface SeriesLegendItemClickEventObject {
  106125. /**
  106126. * Related browser event.
  106127. */
  106128. browserEvent: PointerEvent;
  106129. /**
  106130. * Prevent the default action of toggle the visibility of the series.
  106131. */
  106132. preventDefault: Function;
  106133. /**
  106134. * Related series.
  106135. */
  106136. target: Series;
  106137. /**
  106138. * Event type.
  106139. */
  106140. type: "legendItemClick";
  106141. }
  106142. /**
  106143. * (Highstock) A linear regression intercept series. If the type option is not
  106144. * specified, it is inherited from chart.type.
  106145. *
  106146. * In TypeScript the type option must always be set.
  106147. *
  106148. * Configuration options for the series are given in three levels:
  106149. *
  106150. * 1. Options for all series in a chart are defined in the plotOptions.series
  106151. * object.
  106152. *
  106153. * 2. Options for all `linearregressionangle` series are defined in
  106154. * plotOptions.linearregressionangle.
  106155. *
  106156. * 3. Options for one single series are given in the series instance array. (see
  106157. * online documentation for example)
  106158. *
  106159. * You have to extend the `SeriesLinearregressionangleOptions` via an interface
  106160. * to allow custom properties: ``` declare interface
  106161. * SeriesLinearregressionangleOptions { customProperty: string; }
  106162. *
  106163. */
  106164. export interface SeriesLinearregressionangleOptions extends PlotLinearregressionangleOptions, SeriesOptions {
  106165. /**
  106166. * Not available
  106167. */
  106168. dataParser?: undefined;
  106169. /**
  106170. * Not available
  106171. */
  106172. dataURL?: undefined;
  106173. /**
  106174. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  106175. * TypeScript non-optional and might be `undefined` in series objects from
  106176. * unknown sources.
  106177. */
  106178. type: "linearregressionangle";
  106179. }
  106180. /**
  106181. * (Highstock) A linear regression intercept series. If the type option is not
  106182. * specified, it is inherited from chart.type.
  106183. *
  106184. * In TypeScript the type option must always be set.
  106185. *
  106186. * Configuration options for the series are given in three levels:
  106187. *
  106188. * 1. Options for all series in a chart are defined in the plotOptions.series
  106189. * object.
  106190. *
  106191. * 2. Options for all `linearregressionintercept` series are defined in
  106192. * plotOptions.linearregressionintercept.
  106193. *
  106194. * 3. Options for one single series are given in the series instance array. (see
  106195. * online documentation for example)
  106196. *
  106197. * You have to extend the `SeriesLinearregressioninterceptOptions` via an
  106198. * interface to allow custom properties: ``` declare interface
  106199. * SeriesLinearregressioninterceptOptions { customProperty: string; }
  106200. *
  106201. */
  106202. export interface SeriesLinearregressioninterceptOptions extends PlotLinearregressioninterceptOptions, SeriesOptions {
  106203. /**
  106204. * Not available
  106205. */
  106206. dataParser?: undefined;
  106207. /**
  106208. * Not available
  106209. */
  106210. dataURL?: undefined;
  106211. /**
  106212. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  106213. * TypeScript non-optional and might be `undefined` in series objects from
  106214. * unknown sources.
  106215. */
  106216. type: "linearregressionintercept";
  106217. }
  106218. /**
  106219. * (Highstock) A linear regression series. If the type option is not specified,
  106220. * it is inherited from chart.type.
  106221. *
  106222. * In TypeScript the type option must always be set.
  106223. *
  106224. * Configuration options for the series are given in three levels:
  106225. *
  106226. * 1. Options for all series in a chart are defined in the plotOptions.series
  106227. * object.
  106228. *
  106229. * 2. Options for all `linearregression` series are defined in
  106230. * plotOptions.linearregression.
  106231. *
  106232. * 3. Options for one single series are given in the series instance array. (see
  106233. * online documentation for example)
  106234. *
  106235. * You have to extend the `SeriesLinearregressionOptions` via an interface to
  106236. * allow custom properties: ``` declare interface SeriesLinearregressionOptions
  106237. * { customProperty: string; }
  106238. *
  106239. */
  106240. export interface SeriesLinearregressionOptions extends PlotLinearregressionOptions, SeriesOptions {
  106241. /**
  106242. * Not available
  106243. */
  106244. dataParser?: undefined;
  106245. /**
  106246. * Not available
  106247. */
  106248. dataURL?: undefined;
  106249. /**
  106250. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  106251. * TypeScript non-optional and might be `undefined` in series objects from
  106252. * unknown sources.
  106253. */
  106254. type: "linearregression";
  106255. }
  106256. /**
  106257. * (Highstock) A linear regression slope series. If the type option is not
  106258. * specified, it is inherited from chart.type.
  106259. *
  106260. * In TypeScript the type option must always be set.
  106261. *
  106262. * Configuration options for the series are given in three levels:
  106263. *
  106264. * 1. Options for all series in a chart are defined in the plotOptions.series
  106265. * object.
  106266. *
  106267. * 2. Options for all `linearregressionslope` series are defined in
  106268. * plotOptions.linearregressionslope.
  106269. *
  106270. * 3. Options for one single series are given in the series instance array. (see
  106271. * online documentation for example)
  106272. *
  106273. * You have to extend the `SeriesLinearregressionslopeOptions` via an interface
  106274. * to allow custom properties: ``` declare interface
  106275. * SeriesLinearregressionslopeOptions { customProperty: string; }
  106276. *
  106277. */
  106278. export interface SeriesLinearregressionslopeOptions extends PlotLinearregressionslopeOptions, SeriesOptions {
  106279. /**
  106280. * Not available
  106281. */
  106282. dataParser?: undefined;
  106283. /**
  106284. * Not available
  106285. */
  106286. dataURL?: undefined;
  106287. /**
  106288. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  106289. * TypeScript non-optional and might be `undefined` in series objects from
  106290. * unknown sources.
  106291. */
  106292. type: "linearregressionslope";
  106293. }
  106294. /**
  106295. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  106296. * series is displayed for the `dataLabels`. The animation can also be set as a
  106297. * configuration object. Please note that this option only applies to the
  106298. * initial animation. For other animations, see chart.animation and the
  106299. * animation parameter under the API methods. The following properties are
  106300. * supported:
  106301. *
  106302. * - `defer`: The animation delay time in milliseconds.
  106303. */
  106304. export interface SeriesLineDataDataLabelsAnimationOptions {
  106305. /**
  106306. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  106307. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  106308. * time from the series.animation.defer.
  106309. */
  106310. defer?: number;
  106311. }
  106312. /**
  106313. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  106314. * one state by default, the `default` state.
  106315. */
  106316. export interface SeriesLineDataDragDropGuideBoxOptions {
  106317. /**
  106318. * (Highcharts, Highstock) Style options for the guide box default state.
  106319. */
  106320. default?: DragDropGuideBoxOptionsObject;
  106321. }
  106322. /**
  106323. * (Highcharts, Highstock, Gantt) Point specific options for the
  106324. * draggable-points module. Overrides options on `series.dragDrop`.
  106325. */
  106326. export interface SeriesLineDataDragDropOptions {
  106327. /**
  106328. * (Highcharts, Highstock, Gantt) Enable dragging in the X dimension.
  106329. */
  106330. draggableX?: boolean;
  106331. /**
  106332. * (Highcharts, Highstock, Gantt) Enable dragging in the Y dimension. Note
  106333. * that this is not supported for TreeGrid axes (the default axis type in
  106334. * Gantt charts).
  106335. */
  106336. draggableY?: boolean;
  106337. /**
  106338. * (Highcharts, Highstock, Gantt) Options for the drag handles.
  106339. */
  106340. dragHandle?: DragDropHandleOptionsObject;
  106341. /**
  106342. * (Highcharts, Highstock, Gantt) Set the maximum X value the points can be
  106343. * moved to.
  106344. */
  106345. dragMaxX?: number;
  106346. /**
  106347. * (Highcharts, Highstock, Gantt) Set the maximum Y value the points can be
  106348. * moved to.
  106349. */
  106350. dragMaxY?: number;
  106351. /**
  106352. * (Highcharts, Highstock, Gantt) Set the minimum X value the points can be
  106353. * moved to.
  106354. */
  106355. dragMinX?: number;
  106356. /**
  106357. * (Highcharts, Highstock, Gantt) Set the minimum Y value the points can be
  106358. * moved to.
  106359. */
  106360. dragMinY?: number;
  106361. /**
  106362. * (Highcharts, Highstock, Gantt) The X precision value to drag to for this
  106363. * series. Set to 0 to disable. By default this is disabled, except for
  106364. * category axes, where the default is 1.
  106365. */
  106366. dragPrecisionX?: number;
  106367. /**
  106368. * (Highcharts, Highstock, Gantt) The Y precision value to drag to for this
  106369. * series. Set to 0 to disable. By default this is disabled, except for
  106370. * category axes, where the default is 1.
  106371. */
  106372. dragPrecisionY?: number;
  106373. /**
  106374. * (Highcharts, Highstock, Gantt) The amount of pixels to drag the pointer
  106375. * before it counts as a drag operation. This prevents drag/drop to fire
  106376. * when just clicking or selecting points.
  106377. */
  106378. dragSensitivity?: number;
  106379. /**
  106380. * (Highcharts, Highstock, Gantt) Group the points by a property. Points
  106381. * with the same property value will be grouped together when moving.
  106382. */
  106383. groupBy?: string;
  106384. /**
  106385. * (Highcharts, Highstock, Gantt) Style options for the guide box. The guide
  106386. * box has one state by default, the `default` state.
  106387. */
  106388. guideBox?: (SeriesAreaDataDragDropGuideBoxOptions|SeriesArearangeDataDragDropGuideBoxOptions|SeriesAreasplineDataDragDropGuideBoxOptions|SeriesAreasplinerangeDataDragDropGuideBoxOptions|
  106389. SeriesBarDataDragDropGuideBoxOptions|SeriesBoxplotDataDragDropGuideBoxOptions|SeriesBubbleDataDragDropGuideBoxOptions|SeriesBulletDataDragDropGuideBoxOptions|
  106390. SeriesCandlestickDataDragDropGuideBoxOptions|SeriesColumnDataDragDropGuideBoxOptions|SeriesColumnpyramidDataDragDropGuideBoxOptions|SeriesColumnrangeDataDragDropGuideBoxOptions|
  106391. SeriesCylinderDataDragDropGuideBoxOptions|SeriesDumbbellDataDragDropGuideBoxOptions|SeriesErrorbarDataDragDropGuideBoxOptions|SeriesFlagsDataDragDropGuideBoxOptions|
  106392. SeriesFunnelDataDragDropGuideBoxOptions|SeriesGanttDataDragDropGuideBoxOptions|SeriesGaugeDataDragDropGuideBoxOptions|SeriesHeatmapDataDragDropGuideBoxOptions|SeriesItemDataDragDropGuideBoxOptions|
  106393. SeriesLineDataDragDropGuideBoxOptions|SeriesLollipopDataDragDropGuideBoxOptions|SeriesNetworkgraphDataDragDropGuideBoxOptions|SeriesOhlcDataDragDropGuideBoxOptions|
  106394. SeriesPackedbubbleDataDragDropGuideBoxOptions|SeriesParetoDataDragDropGuideBoxOptions|SeriesPieDataDragDropGuideBoxOptions|SeriesPolygonDataDragDropGuideBoxOptions|
  106395. SeriesPyramidDataDragDropGuideBoxOptions|SeriesScatter3dDataDragDropGuideBoxOptions|SeriesScatterDataDragDropGuideBoxOptions|SeriesSolidgaugeDataDragDropGuideBoxOptions|
  106396. SeriesSplineDataDragDropGuideBoxOptions|SeriesStreamgraphDataDragDropGuideBoxOptions|SeriesSunburstDataDragDropGuideBoxOptions|SeriesTilemapDataDragDropGuideBoxOptions|
  106397. SeriesTimelineDataDragDropGuideBoxOptions|SeriesTreemapDataDragDropGuideBoxOptions|SeriesVariablepieDataDragDropGuideBoxOptions|SeriesVariwideDataDragDropGuideBoxOptions|
  106398. SeriesVectorDataDragDropGuideBoxOptions|SeriesVennDataDragDropGuideBoxOptions|SeriesWaterfallDataDragDropGuideBoxOptions|SeriesWindbarbDataDragDropGuideBoxOptions|
  106399. SeriesWordcloudDataDragDropGuideBoxOptions|SeriesXrangeDataDragDropGuideBoxOptions|Dictionary<DragDropGuideBoxOptionsObject>);
  106400. /**
  106401. * (Highcharts, Highstock, Gantt) Update points as they are dragged. If
  106402. * false, a guide box is drawn to illustrate the new point size.
  106403. */
  106404. liveRedraw?: boolean;
  106405. }
  106406. /**
  106407. * (Highcharts, Highstock) A `line` series. If the type option is not specified,
  106408. * it is inherited from chart.type.
  106409. *
  106410. * In TypeScript the type option must always be set.
  106411. *
  106412. * Configuration options for the series are given in three levels:
  106413. *
  106414. * 1. Options for all series in a chart are defined in the plotOptions.series
  106415. * object.
  106416. *
  106417. * 2. Options for all `line` series are defined in plotOptions.line.
  106418. *
  106419. * 3. Options for one single series are given in the series instance array. (see
  106420. * online documentation for example)
  106421. *
  106422. * You have to extend the `SeriesLineOptions` via an interface to allow custom
  106423. * properties: ``` declare interface SeriesLineOptions { customProperty: string;
  106424. * }
  106425. *
  106426. */
  106427. export interface SeriesLineOptions extends PlotLineOptions, SeriesOptions {
  106428. /**
  106429. * (Highcharts, Highstock) An array of data points for the series. For the
  106430. * `line` series type, points can be given in the following ways:
  106431. *
  106432. * 1. An array of numerical values. In this case, the numerical values will
  106433. * be interpreted as `y` options. The `x` values will be automatically
  106434. * calculated, either starting at 0 and incremented by 1, or from
  106435. * `pointStart` and `pointInterval` given in the series options. If the axis
  106436. * has categories, these will be used. Example: (see online documentation
  106437. * for example)
  106438. *
  106439. * 2. An array of arrays with 2 values. In this case, the values correspond
  106440. * to `x,y`. If the first value is a string, it is applied as the name of
  106441. * the point, and the `x` value is inferred. (see online documentation for
  106442. * example)
  106443. *
  106444. * 3. An array of objects with named values. The following snippet shows
  106445. * only a few settings, see the complete options set below. If the total
  106446. * number of data points exceeds the series' turboThreshold, this option is
  106447. * not available. (see online documentation for example)
  106448. *
  106449. * **Note:** In TypeScript you have to extend `PointOptionsObject` with an
  106450. * additional declaration to allow custom data types: ```ts declare module
  106451. * `highcharts` { interface PointOptionsObject { custom: Record<string,
  106452. * (boolean|number|string)>; } } ```
  106453. */
  106454. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  106455. /**
  106456. * Not available
  106457. */
  106458. dataParser?: undefined;
  106459. /**
  106460. * Not available
  106461. */
  106462. dataURL?: undefined;
  106463. /**
  106464. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  106465. * TypeScript non-optional and might be `undefined` in series objects from
  106466. * unknown sources.
  106467. */
  106468. type: "line";
  106469. }
  106470. /**
  106471. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  106472. * is displayed for the `dataLabels`. The animation can also be set as a
  106473. * configuration object. Please note that this option only applies to the
  106474. * initial animation. For other animations, see chart.animation and the
  106475. * animation parameter under the API methods. The following properties are
  106476. * supported:
  106477. *
  106478. * - `defer`: The animation delay time in milliseconds.
  106479. */
  106480. export interface SeriesLollipopDataDataLabelsAnimationOptions {
  106481. /**
  106482. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  106483. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  106484. * from the series.animation.defer.
  106485. */
  106486. defer?: number;
  106487. }
  106488. /**
  106489. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  106490. * one state by default, the `default` state.
  106491. */
  106492. export interface SeriesLollipopDataDragDropGuideBoxOptions {
  106493. /**
  106494. * (Highcharts, Highstock) Style options for the guide box default state.
  106495. */
  106496. default?: DragDropGuideBoxOptionsObject;
  106497. }
  106498. /**
  106499. * (Highcharts, Highstock) The `lollipop` series. If the type option is not
  106500. * specified, it is inherited from chart.type.
  106501. *
  106502. * In TypeScript the type option must always be set.
  106503. *
  106504. * Configuration options for the series are given in three levels:
  106505. *
  106506. * 1. Options for all series in a chart are defined in the plotOptions.series
  106507. * object.
  106508. *
  106509. * 2. Options for all `lollipop` series are defined in plotOptions.lollipop.
  106510. *
  106511. * 3. Options for one single series are given in the series instance array. (see
  106512. * online documentation for example)
  106513. *
  106514. * You have to extend the `SeriesLollipopOptions` via an interface to allow
  106515. * custom properties: ``` declare interface SeriesLollipopOptions {
  106516. * customProperty: string; }
  106517. *
  106518. */
  106519. export interface SeriesLollipopOptions extends PlotLollipopOptions, SeriesOptions {
  106520. /**
  106521. * (Highcharts, Highstock) An array of data points for the series. For the
  106522. * `lollipop` series type, points can be given in the following ways:
  106523. *
  106524. * 1. An array of numerical values. In this case, the numerical values will
  106525. * be interpreted as `y` options. The `x` values will be automatically
  106526. * calculated, either starting at 0 and incremented by 1, or from
  106527. * `pointStart` and `pointInterval` given in the series options. If the axis
  106528. * has categories, these will be used. Example: (see online documentation
  106529. * for example)
  106530. *
  106531. * 2. An array of arrays with 2 values. In this case, the values correspond
  106532. * to `x,y`. If the first value is a string, it is applied as the name of
  106533. * the point, and the `x` value is inferred. (see online documentation for
  106534. * example)
  106535. *
  106536. * 3. An array of objects with named values. The following snippet shows
  106537. * only a few settings, see the complete options set below. If the total
  106538. * number of data points exceeds the series' turboThreshold, this option is
  106539. * not available. (see online documentation for example)
  106540. */
  106541. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  106542. /**
  106543. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  106544. * TypeScript non-optional and might be `undefined` in series objects from
  106545. * unknown sources.
  106546. */
  106547. type: "lollipop";
  106548. }
  106549. /**
  106550. * (Highstock) A `MACD` series. If the type option is not specified, it is
  106551. * inherited from chart.type.
  106552. *
  106553. * In TypeScript the type option must always be set.
  106554. *
  106555. * Configuration options for the series are given in three levels:
  106556. *
  106557. * 1. Options for all series in a chart are defined in the plotOptions.series
  106558. * object.
  106559. *
  106560. * 2. Options for all `macd` series are defined in plotOptions.macd.
  106561. *
  106562. * 3. Options for one single series are given in the series instance array. (see
  106563. * online documentation for example)
  106564. *
  106565. * You have to extend the `SeriesMacdOptions` via an interface to allow custom
  106566. * properties: ``` declare interface SeriesMacdOptions { customProperty: string;
  106567. * }
  106568. *
  106569. */
  106570. export interface SeriesMacdOptions extends PlotMacdOptions, SeriesOptions {
  106571. /**
  106572. * Not available
  106573. */
  106574. dataParser?: undefined;
  106575. /**
  106576. * Not available
  106577. */
  106578. dataURL?: undefined;
  106579. /**
  106580. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  106581. * TypeScript non-optional and might be `undefined` in series objects from
  106582. * unknown sources.
  106583. */
  106584. type: "macd";
  106585. }
  106586. /**
  106587. * (Highmaps) An array of data points for the series. For the `mapbubble` series
  106588. * type, points can be given in the following ways:
  106589. *
  106590. * 1. An array of numerical values. In this case, the numerical values will be
  106591. * interpreted as `z` options. Example: (see online documentation for example)
  106592. *
  106593. * 2. An array of objects with named values. The following snippet shows only a
  106594. * few settings, see the complete options set below. If the total number of data
  106595. * points exceeds the series' turboThreshold, this option is not available. (see
  106596. * online documentation for example)
  106597. */
  106598. export interface SeriesMapbubbleDataOptions {
  106599. /**
  106600. * (Highmaps) Individual color for the point. By default the color is either
  106601. * used to denote the value, or pulled from the global `colors` array.
  106602. */
  106603. color?: (ColorString|GradientColorObject|PatternObject);
  106604. /**
  106605. * (Highmaps) Individual data label for each point. The options are the same
  106606. * as the ones for plotOptions.series.dataLabels.
  106607. */
  106608. dataLabels?: DataLabelsOptions;
  106609. /**
  106610. * (Highmaps) The `id` of a series in the drilldown.series array to use for
  106611. * a drilldown for this point.
  106612. */
  106613. drilldown?: string;
  106614. /**
  106615. * (Highmaps) Individual point events
  106616. */
  106617. events?: PointEventsOptionsObject;
  106618. /**
  106619. * (Highmaps) An id for the point. This can be used after render time to get
  106620. * a pointer to the point object through `chart.get()`.
  106621. */
  106622. id?: string;
  106623. /**
  106624. * (Highmaps) The name of the point as shown in the legend, tooltip,
  106625. * dataLabel etc.
  106626. */
  106627. name?: string;
  106628. /**
  106629. * (Highmaps) While the `x` and `y` values of the bubble are determined by
  106630. * the underlying map, the `z` indicates the actual value that gives the
  106631. * size of the bubble.
  106632. */
  106633. z?: (number|null);
  106634. }
  106635. /**
  106636. * (Highmaps) A `mapbubble` series. If the type option is not specified, it is
  106637. * inherited from chart.type.
  106638. *
  106639. * In TypeScript the type option must always be set.
  106640. *
  106641. * Configuration options for the series are given in three levels:
  106642. *
  106643. * 1. Options for all series in a chart are defined in the plotOptions.series
  106644. * object.
  106645. *
  106646. * 2. Options for all `mapbubble` series are defined in plotOptions.mapbubble.
  106647. *
  106648. * 3. Options for one single series are given in the series instance array. (see
  106649. * online documentation for example)
  106650. *
  106651. * You have to extend the `SeriesMapbubbleOptions` via an interface to allow
  106652. * custom properties: ``` declare interface SeriesMapbubbleOptions {
  106653. * customProperty: string; }
  106654. *
  106655. */
  106656. export interface SeriesMapbubbleOptions extends PlotMapbubbleOptions, SeriesOptions {
  106657. /**
  106658. * (Highmaps) An array of data points for the series. For the `mapbubble`
  106659. * series type, points can be given in the following ways:
  106660. *
  106661. * 1. An array of numerical values. In this case, the numerical values will
  106662. * be interpreted as `z` options. Example: (see online documentation for
  106663. * example)
  106664. *
  106665. * 2. An array of objects with named values. The following snippet shows
  106666. * only a few settings, see the complete options set below. If the total
  106667. * number of data points exceeds the series' turboThreshold, this option is
  106668. * not available. (see online documentation for example)
  106669. */
  106670. data?: Array<(number|null|SeriesMapbubbleDataOptions)>;
  106671. /**
  106672. * Not available
  106673. */
  106674. dataParser?: undefined;
  106675. /**
  106676. * Not available
  106677. */
  106678. dataURL?: undefined;
  106679. /**
  106680. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  106681. * TypeScript non-optional and might be `undefined` in series objects from
  106682. * unknown sources.
  106683. */
  106684. type: "mapbubble";
  106685. }
  106686. /**
  106687. * (Highmaps) An array of data points for the series. For the `map` series type,
  106688. * points can be given in the following ways:
  106689. *
  106690. * 1. An array of numerical values. In this case, the numerical values will be
  106691. * interpreted as `value` options. Example: (see online documentation for
  106692. * example)
  106693. *
  106694. * 2. An array of arrays with 2 values. In this case, the values correspond to
  106695. * `[hc-key, value]`. Example: (see online documentation for example)
  106696. *
  106697. * 3. An array of objects with named values. The following snippet shows only a
  106698. * few settings, see the complete options set below. If the total number of data
  106699. * points exceeds the series' turboThreshold, this option is not available. (see
  106700. * online documentation for example)
  106701. */
  106702. export interface SeriesMapDataOptions {
  106703. /**
  106704. * (Highmaps) Individual color for the point. By default the color is either
  106705. * used to denote the value, or pulled from the global `colors` array.
  106706. */
  106707. color?: (ColorString|GradientColorObject|PatternObject);
  106708. /**
  106709. * (Highmaps) Individual data label for each point. The options are the same
  106710. * as the ones for plotOptions.series.dataLabels.
  106711. */
  106712. dataLabels?: DataLabelsOptions;
  106713. /**
  106714. * (Highmaps) The `id` of a series in the drilldown.series array to use for
  106715. * a drilldown for this point.
  106716. */
  106717. drilldown?: string;
  106718. /**
  106719. * (Highmaps) Individual point events
  106720. */
  106721. events?: PointEventsOptionsObject;
  106722. /**
  106723. * (Highmaps) An id for the point. This can be used after render time to get
  106724. * a pointer to the point object through `chart.get()`.
  106725. */
  106726. id?: string;
  106727. /**
  106728. * (Highmaps) When data labels are laid out on a map, Highmaps runs a
  106729. * simplified algorithm to detect collision. When two labels collide, the
  106730. * one with the lowest rank is hidden. By default the rank is computed from
  106731. * the area.
  106732. */
  106733. labelrank?: number;
  106734. /**
  106735. * (Highmaps) The relative mid point of an area, used to place the data
  106736. * label. Ranges from 0 to 1\. When `mapData` is used, middleX can be
  106737. * defined there.
  106738. */
  106739. middleX?: number;
  106740. /**
  106741. * (Highmaps) The relative mid point of an area, used to place the data
  106742. * label. Ranges from 0 to 1\. When `mapData` is used, middleY can be
  106743. * defined there.
  106744. */
  106745. middleY?: number;
  106746. /**
  106747. * (Highmaps) The name of the point as shown in the legend, tooltip,
  106748. * dataLabel etc.
  106749. */
  106750. name?: string;
  106751. /**
  106752. * (Highmaps) For map and mapline series types, the SVG path for the shape.
  106753. * For compatibily with old IE, not all SVG path definitions are supported,
  106754. * but M, L and C operators are safe.
  106755. *
  106756. * To achieve a better separation between the structure and the data, it is
  106757. * recommended to use `mapData` to define that paths instead of defining
  106758. * them on the data points themselves.
  106759. */
  106760. path?: string;
  106761. /**
  106762. * (Highmaps) The numeric value of the data point.
  106763. */
  106764. value?: (number|null);
  106765. }
  106766. /**
  106767. * (Highmaps) A `mapline` series. If the type option is not specified, it is
  106768. * inherited from chart.type.
  106769. *
  106770. * In TypeScript the type option must always be set.
  106771. *
  106772. * Configuration options for the series are given in three levels:
  106773. *
  106774. * 1. Options for all series in a chart are defined in the plotOptions.series
  106775. * object.
  106776. *
  106777. * 2. Options for all `mapline` series are defined in plotOptions.mapline.
  106778. *
  106779. * 3. Options for one single series are given in the series instance array. (see
  106780. * online documentation for example)
  106781. *
  106782. * You have to extend the `SeriesMaplineOptions` via an interface to allow
  106783. * custom properties: ``` declare interface SeriesMaplineOptions {
  106784. * customProperty: string; }
  106785. *
  106786. */
  106787. export interface SeriesMaplineOptions extends PlotMaplineOptions, SeriesOptions {
  106788. /**
  106789. * (Highmaps) An array of data points for the series. For the `mapline`
  106790. * series type, points can be given in the following ways:
  106791. *
  106792. * 1. An array of numerical values. In this case, the numerical values will
  106793. * be interpreted as `value` options. Example: (see online documentation for
  106794. * example)
  106795. *
  106796. * 2. An array of arrays with 2 values. In this case, the values correspond
  106797. * to `[hc-key, value]`. Example: (see online documentation for example)
  106798. *
  106799. * 3. An array of objects with named values. The following snippet shows
  106800. * only a few settings, see the complete options set below. If the total
  106801. * number of data points exceeds the series' turboThreshold, this option is
  106802. * not available. (see online documentation for example)
  106803. */
  106804. data?: Array<(number|[string, (number|null)]|null|any)>;
  106805. /**
  106806. * Not available
  106807. */
  106808. dataParser?: undefined;
  106809. /**
  106810. * Not available
  106811. */
  106812. dataURL?: undefined;
  106813. /**
  106814. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  106815. * TypeScript non-optional and might be `undefined` in series objects from
  106816. * unknown sources.
  106817. */
  106818. type: "mapline";
  106819. }
  106820. /**
  106821. * (Highmaps) A `map` series. If the type option is not specified, it is
  106822. * inherited from chart.type.
  106823. *
  106824. * In TypeScript the type option must always be set.
  106825. *
  106826. * Configuration options for the series are given in three levels:
  106827. *
  106828. * 1. Options for all series in a chart are defined in the plotOptions.series
  106829. * object.
  106830. *
  106831. * 2. Options for all `map` series are defined in plotOptions.map.
  106832. *
  106833. * 3. Options for one single series are given in the series instance array. (see
  106834. * online documentation for example)
  106835. *
  106836. * You have to extend the `SeriesMapOptions` via an interface to allow custom
  106837. * properties: ``` declare interface SeriesMapOptions { customProperty: string;
  106838. * }
  106839. *
  106840. */
  106841. export interface SeriesMapOptions extends PlotMapOptions, SeriesOptions {
  106842. /**
  106843. * (Highmaps) An array of data points for the series. For the `map` series
  106844. * type, points can be given in the following ways:
  106845. *
  106846. * 1. An array of numerical values. In this case, the numerical values will
  106847. * be interpreted as `value` options. Example: (see online documentation for
  106848. * example)
  106849. *
  106850. * 2. An array of arrays with 2 values. In this case, the values correspond
  106851. * to `[hc-key, value]`. Example: (see online documentation for example)
  106852. *
  106853. * 3. An array of objects with named values. The following snippet shows
  106854. * only a few settings, see the complete options set below. If the total
  106855. * number of data points exceeds the series' turboThreshold, this option is
  106856. * not available. (see online documentation for example)
  106857. */
  106858. data?: Array<(number|[string, (number|null)]|null|SeriesMapDataOptions)>;
  106859. /**
  106860. * Not available
  106861. */
  106862. dataParser?: undefined;
  106863. /**
  106864. * Not available
  106865. */
  106866. dataURL?: undefined;
  106867. /**
  106868. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  106869. * TypeScript non-optional and might be `undefined` in series objects from
  106870. * unknown sources.
  106871. */
  106872. type: "map";
  106873. }
  106874. /**
  106875. * (Highmaps) An array of data points for the series. For the `mappoint` series
  106876. * type, points can be given in the following ways:
  106877. *
  106878. * 1. An array of numerical values. In this case, the numerical values will be
  106879. * interpreted as `y` options. The `x` values will be automatically calculated,
  106880. * either starting at 0 and incremented by 1, or from `pointStart` and
  106881. * `pointInterval` given in the series options. If the axis has categories,
  106882. * these will be used. Example: (see online documentation for example)
  106883. *
  106884. * 2. An array of arrays with 2 values. In this case, the values correspond to
  106885. * `x,y`. If the first value is a string, it is applied as the name of the
  106886. * point, and the `x` value is inferred. (see online documentation for example)
  106887. *
  106888. * 3. An array of objects with named values. The following snippet shows only a
  106889. * few settings, see the complete options set below. If the total number of data
  106890. * points exceeds the series' turboThreshold, this option is not available. (see
  106891. * online documentation for example)
  106892. */
  106893. export interface SeriesMappointDataOptions {
  106894. /**
  106895. * (Highmaps) Individual color for the point. By default the color is either
  106896. * used to denote the value, or pulled from the global `colors` array.
  106897. */
  106898. color?: (ColorString|GradientColorObject|PatternObject);
  106899. /**
  106900. * (Highmaps) Individual data label for each point. The options are the same
  106901. * as the ones for plotOptions.series.dataLabels.
  106902. */
  106903. dataLabels?: DataLabelsOptions;
  106904. /**
  106905. * (Highmaps) The `id` of a series in the drilldown.series array to use for
  106906. * a drilldown for this point.
  106907. */
  106908. drilldown?: string;
  106909. /**
  106910. * (Highmaps) Individual point events
  106911. */
  106912. events?: PointEventsOptionsObject;
  106913. /**
  106914. * (Highmaps) An id for the point. This can be used after render time to get
  106915. * a pointer to the point object through `chart.get()`.
  106916. */
  106917. id?: string;
  106918. /**
  106919. * (Highmaps) The latitude of the point. Must be combined with the `lon`
  106920. * option to work. Overrides `x` and `y` values.
  106921. */
  106922. lat?: number;
  106923. /**
  106924. * (Highmaps) The longitude of the point. Must be combined with the `lon`
  106925. * option to work. Overrides `x` and `y` values.
  106926. */
  106927. lon?: number;
  106928. /**
  106929. * (Highmaps) The name of the point as shown in the legend, tooltip,
  106930. * dataLabel etc.
  106931. */
  106932. name?: string;
  106933. /**
  106934. * (Highmaps) The x coordinate of the point in terms of the map path
  106935. * coordinates.
  106936. */
  106937. x?: number;
  106938. /**
  106939. * (Highmaps) The x coordinate of the point in terms of the map path
  106940. * coordinates.
  106941. */
  106942. y?: (number|null);
  106943. }
  106944. /**
  106945. * (Highmaps) A `mappoint` series. If the type option is not specified, it is
  106946. * inherited from chart.type.
  106947. *
  106948. * In TypeScript the type option must always be set.
  106949. *
  106950. * Configuration options for the series are given in three levels:
  106951. *
  106952. * 1. Options for all series in a chart are defined in the plotOptions.series
  106953. * object.
  106954. *
  106955. * 2. Options for all `mappoint` series are defined in plotOptions.mappoint.
  106956. *
  106957. * 3. Options for one single series are given in the series instance array. (see
  106958. * online documentation for example)
  106959. *
  106960. * You have to extend the `SeriesMappointOptions` via an interface to allow
  106961. * custom properties: ``` declare interface SeriesMappointOptions {
  106962. * customProperty: string; }
  106963. *
  106964. */
  106965. export interface SeriesMappointOptions extends PlotMappointOptions, SeriesOptions {
  106966. /**
  106967. * (Highmaps) An array of data points for the series. For the `mappoint`
  106968. * series type, points can be given in the following ways:
  106969. *
  106970. * 1. An array of numerical values. In this case, the numerical values will
  106971. * be interpreted as `y` options. The `x` values will be automatically
  106972. * calculated, either starting at 0 and incremented by 1, or from
  106973. * `pointStart` and `pointInterval` given in the series options. If the axis
  106974. * has categories, these will be used. Example: (see online documentation
  106975. * for example)
  106976. *
  106977. * 2. An array of arrays with 2 values. In this case, the values correspond
  106978. * to `x,y`. If the first value is a string, it is applied as the name of
  106979. * the point, and the `x` value is inferred. (see online documentation for
  106980. * example)
  106981. *
  106982. * 3. An array of objects with named values. The following snippet shows
  106983. * only a few settings, see the complete options set below. If the total
  106984. * number of data points exceeds the series' turboThreshold, this option is
  106985. * not available. (see online documentation for example)
  106986. */
  106987. data?: Array<(number|[number, (number|null)]|null|SeriesMappointDataOptions)>;
  106988. /**
  106989. * Not available
  106990. */
  106991. dataParser?: undefined;
  106992. /**
  106993. * Not available
  106994. */
  106995. dataURL?: undefined;
  106996. /**
  106997. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  106998. * TypeScript non-optional and might be `undefined` in series objects from
  106999. * unknown sources.
  107000. */
  107001. type: "mappoint";
  107002. }
  107003. /**
  107004. * (Highstock) A `MFI` series. If the type option is not specified, it is
  107005. * inherited from chart.type.
  107006. *
  107007. * In TypeScript the type option must always be set.
  107008. *
  107009. * Configuration options for the series are given in three levels:
  107010. *
  107011. * 1. Options for all series in a chart are defined in the plotOptions.series
  107012. * object.
  107013. *
  107014. * 2. Options for all `mfi` series are defined in plotOptions.mfi.
  107015. *
  107016. * 3. Options for one single series are given in the series instance array. (see
  107017. * online documentation for example)
  107018. *
  107019. * You have to extend the `SeriesMfiOptions` via an interface to allow custom
  107020. * properties: ``` declare interface SeriesMfiOptions { customProperty: string;
  107021. * }
  107022. *
  107023. */
  107024. export interface SeriesMfiOptions extends PlotMfiOptions, SeriesOptions {
  107025. /**
  107026. * Not available
  107027. */
  107028. dataParser?: undefined;
  107029. /**
  107030. * Not available
  107031. */
  107032. dataURL?: undefined;
  107033. /**
  107034. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  107035. * TypeScript non-optional and might be `undefined` in series objects from
  107036. * unknown sources.
  107037. */
  107038. type: "mfi";
  107039. }
  107040. /**
  107041. * (Highstock) A `Momentum` series. If the type option is not specified, it is
  107042. * inherited from chart.type.
  107043. *
  107044. * In TypeScript the type option must always be set.
  107045. *
  107046. * Configuration options for the series are given in three levels:
  107047. *
  107048. * 1. Options for all series in a chart are defined in the plotOptions.series
  107049. * object.
  107050. *
  107051. * 2. Options for all `momentum` series are defined in plotOptions.momentum.
  107052. *
  107053. * 3. Options for one single series are given in the series instance array. (see
  107054. * online documentation for example)
  107055. *
  107056. * You have to extend the `SeriesMomentumOptions` via an interface to allow
  107057. * custom properties: ``` declare interface SeriesMomentumOptions {
  107058. * customProperty: string; }
  107059. *
  107060. */
  107061. export interface SeriesMomentumOptions extends PlotMomentumOptions, SeriesOptions {
  107062. /**
  107063. * Not available
  107064. */
  107065. dataParser?: undefined;
  107066. /**
  107067. * Not available
  107068. */
  107069. dataURL?: undefined;
  107070. /**
  107071. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  107072. * TypeScript non-optional and might be `undefined` in series objects from
  107073. * unknown sources.
  107074. */
  107075. type: "momentum";
  107076. }
  107077. /**
  107078. * (Highstock) A `NATR` series. If the type option is not specified, it is
  107079. * inherited from chart.type.
  107080. *
  107081. * In TypeScript the type option must always be set.
  107082. *
  107083. * Configuration options for the series are given in three levels:
  107084. *
  107085. * 1. Options for all series in a chart are defined in the plotOptions.series
  107086. * object.
  107087. *
  107088. * 2. Options for all `natr` series are defined in plotOptions.natr.
  107089. *
  107090. * 3. Options for one single series are given in the series instance array. (see
  107091. * online documentation for example)
  107092. *
  107093. * You have to extend the `SeriesNatrOptions` via an interface to allow custom
  107094. * properties: ``` declare interface SeriesNatrOptions { customProperty: string;
  107095. * }
  107096. *
  107097. */
  107098. export interface SeriesNatrOptions extends PlotNatrOptions, SeriesOptions {
  107099. /**
  107100. * Not available
  107101. */
  107102. dataParser?: undefined;
  107103. /**
  107104. * Not available
  107105. */
  107106. dataURL?: undefined;
  107107. /**
  107108. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  107109. * TypeScript non-optional and might be `undefined` in series objects from
  107110. * unknown sources.
  107111. */
  107112. type: "natr";
  107113. }
  107114. /**
  107115. * (Highcharts) Enable or disable the initial animation when a series is
  107116. * displayed for the `dataLabels`. The animation can also be set as a
  107117. * configuration object. Please note that this option only applies to the
  107118. * initial animation. For other animations, see chart.animation and the
  107119. * animation parameter under the API methods. The following properties are
  107120. * supported:
  107121. *
  107122. * - `defer`: The animation delay time in milliseconds.
  107123. */
  107124. export interface SeriesNetworkgraphDataDataLabelsAnimationOptions {
  107125. /**
  107126. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  107127. * dataLabel immediately. As `undefined` inherits defer time from the
  107128. * series.animation.defer.
  107129. */
  107130. defer?: number;
  107131. }
  107132. /**
  107133. * (Highcharts) Style options for the guide box. The guide box has one state by
  107134. * default, the `default` state.
  107135. */
  107136. export interface SeriesNetworkgraphDataDragDropGuideBoxOptions {
  107137. /**
  107138. * (Highcharts) Style options for the guide box default state.
  107139. */
  107140. default?: DragDropGuideBoxOptionsObject;
  107141. }
  107142. /**
  107143. * Context for the formatter function.
  107144. */
  107145. export interface SeriesNetworkgraphDataLabelsFormatterContextObject extends PointLabelObject {
  107146. /**
  107147. * The color of the node.
  107148. */
  107149. color: ColorString;
  107150. /**
  107151. * The ID of the node.
  107152. */
  107153. key: string;
  107154. /**
  107155. * The point (node) object. The node name, if defined, is available through
  107156. * `this.point.name`. Arrays: `this.point.linksFrom` and
  107157. * `this.point.linksTo` contains all nodes connected to this point.
  107158. */
  107159. point: Point;
  107160. }
  107161. /**
  107162. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  107163. * appearing next to each data point.
  107164. *
  107165. * Since v6.2.0, multiple data labels can be applied to each single point by
  107166. * defining them as an array of configs.
  107167. *
  107168. * In styled mode, the data labels can be styled with the
  107169. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  107170. * example).
  107171. */
  107172. export interface SeriesNetworkgraphDataLabelsOptionsObject {
  107173. /**
  107174. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  107175. * compared to the point. If `right`, the right side of the label should be
  107176. * touching the point. For points with an extent, like columns, the
  107177. * alignments also dictates how to align it inside the box, as given with
  107178. * the inside option. Can be one of `left`, `center` or `right`.
  107179. */
  107180. align?: (AlignValue|null);
  107181. /**
  107182. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  107183. * overlap. To make the labels less sensitive for overlapping, the
  107184. * dataLabels.padding can be set to 0.
  107185. */
  107186. allowOverlap?: boolean;
  107187. /**
  107188. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  107189. * animation when a series is displayed for the `dataLabels`. The animation
  107190. * can also be set as a configuration object. Please note that this option
  107191. * only applies to the initial animation. For other animations, see
  107192. * chart.animation and the animation parameter under the API methods. The
  107193. * following properties are supported:
  107194. *
  107195. * - `defer`: The animation delay time in milliseconds.
  107196. */
  107197. animation?: (boolean|PlotNetworkgraphDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  107198. /**
  107199. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  107200. * for the data label.
  107201. */
  107202. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  107203. /**
  107204. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  107205. * label. Defaults to `undefined`.
  107206. */
  107207. borderColor?: (ColorString|GradientColorObject|PatternObject);
  107208. /**
  107209. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  107210. * the data label.
  107211. */
  107212. borderRadius?: number;
  107213. /**
  107214. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  107215. * the data label.
  107216. */
  107217. borderWidth?: number;
  107218. /**
  107219. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  107220. * Particularly in styled mode, this can be used to give each series' or
  107221. * point's data label unique styling. In addition to this option, a default
  107222. * color class name is added so that we can give the labels a contrast text
  107223. * shadow.
  107224. */
  107225. className?: string;
  107226. /**
  107227. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  107228. * labels. Defaults to `undefined`. For certain series types, like column or
  107229. * map, the data labels can be drawn inside the points. In this case the
  107230. * data label will be drawn with maximum contrast by default. Additionally,
  107231. * it will be given a `text-outline` style with the opposite color, to
  107232. * further increase the contrast. This can be overridden by setting the
  107233. * `text-outline` style to `none` in the `dataLabels.style` option.
  107234. */
  107235. color?: (ColorString|GradientColorObject|PatternObject);
  107236. /**
  107237. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  107238. * are outside the plot area. By default, the data label is moved inside the
  107239. * plot area according to the overflow option.
  107240. */
  107241. crop?: boolean;
  107242. /**
  107243. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  107244. * labels until the initial series animation has finished. Setting to
  107245. * `false` renders the data label immediately. If set to `true` inherits the
  107246. * defer time set in plotOptions.series.animation.
  107247. */
  107248. defer?: boolean;
  107249. /**
  107250. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  107251. * labels.
  107252. */
  107253. enabled?: boolean;
  107254. /**
  107255. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  107256. * of which data labels to display. The declarative filter is designed for
  107257. * use when callback functions are not available, like when the chart
  107258. * options require a pure JSON structure or for use with graphical editors.
  107259. * For programmatic control, use the `formatter` instead, and return
  107260. * `undefined` to disable a single data label.
  107261. */
  107262. filter?: DataLabelsFilterOptionsObject;
  107263. /**
  107264. * (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
  107265. * what to show for _node_ in the networkgraph. In v7.0 defaults to `{key}`,
  107266. * since v7.1 defaults to `undefined` and `formatter` is used instead.
  107267. */
  107268. format?: string;
  107269. /**
  107270. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  107271. * format the data label for a node. Note that if a `format` is defined, the
  107272. * format takes precedence and the formatter is ignored.
  107273. */
  107274. formatter?: SeriesNetworkgraphDataLabelsFormatterCallbackFunction;
  107275. /**
  107276. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  107277. * columns or map areas, whether to align the data label inside the box or
  107278. * to the actual value point. Defaults to `false` in most cases, `true` in
  107279. * stacked columns.
  107280. */
  107281. inside?: boolean;
  107282. /**
  107283. * (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
  107284. * what to show for _links_ in the networkgraph. (Default: `undefined`)
  107285. */
  107286. linkFormat?: string;
  107287. /**
  107288. * (Highcharts, Highstock, Highmaps, Gantt) Callback to format data labels
  107289. * for _links_ in the sankey diagram. The `linkFormat` option takes
  107290. * precedence over the `linkFormatter`.
  107291. */
  107292. linkFormatter?: SeriesNetworkgraphDataLabelsFormatterCallbackFunction;
  107293. /**
  107294. * (Highcharts, Highstock, Highmaps, Gantt) Options for a _link_ label text
  107295. * which should follow link connection. Border and background are disabled
  107296. * for a label that follows a path.
  107297. *
  107298. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  107299. * to true will disable this option.
  107300. */
  107301. linkTextPath?: DataLabelsTextPathOptionsObject;
  107302. /**
  107303. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  107304. * of null. Works analogously to format. `nullFormat` can be applied only to
  107305. * series which support displaying null points.
  107306. */
  107307. nullFormat?: (boolean|string);
  107308. /**
  107309. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  107310. * that defines formatting for points with the value of null. Works
  107311. * analogously to formatter. `nullPointFormatter` can be applied only to
  107312. * series which support displaying null points.
  107313. */
  107314. nullFormatter?: DataLabelsFormatterCallbackFunction;
  107315. /**
  107316. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  107317. * flow outside the plot area. The default is `"justify"`, which aligns them
  107318. * inside the plot area. For columns and bars, this means it will be moved
  107319. * inside the bar. To display data labels outside the plot area, set `crop`
  107320. * to `false` and `overflow` to `"allow"`.
  107321. */
  107322. overflow?: DataLabelsOverflowValue;
  107323. /**
  107324. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  107325. * the `backgroundColor` is set, this is the padding within the box.
  107326. */
  107327. padding?: number;
  107328. /**
  107329. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  107330. * points. If `center` alignment is not possible, it defaults to `right`.
  107331. */
  107332. position?: AlignValue;
  107333. /**
  107334. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  107335. * that due to a more complex structure, backgrounds, borders and padding
  107336. * will be lost on a rotated data label.
  107337. */
  107338. rotation?: number;
  107339. /**
  107340. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  107341. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  107342. * an object configuration containing `color`, `offsetX`, `offsetY`,
  107343. * `opacity` and `width`.
  107344. */
  107345. shadow?: (boolean|ShadowOptionsObject);
  107346. /**
  107347. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  107348. * the border around the label. Symbols are predefined functions on the
  107349. * Renderer object.
  107350. */
  107351. shape?: string;
  107352. /**
  107353. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  107354. * default `color` setting is `"contrast"`, which is a pseudo color that
  107355. * Highcharts picks up and applies the maximum contrast to the underlying
  107356. * point item, for example the bar in a bar chart.
  107357. *
  107358. * The `textOutline` is a pseudo property that applies an outline of the
  107359. * given width with the given color, which by default is the maximum
  107360. * contrast to the text. So a bright text color will result in a black text
  107361. * outline for maximum readability on a mixed background. In some cases,
  107362. * especially with grayscale text, the text outline doesn't work well, in
  107363. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  107364. * is true, the `textOutline` will not be picked up. In this, case, the same
  107365. * effect can be acheived through the `text-shadow` CSS property.
  107366. *
  107367. * For some series types, where each point has an extent, like for example
  107368. * tree maps, the data label may overflow the point. There are two
  107369. * strategies for handling overflow. By default, the text will wrap to
  107370. * multiple lines. The other strategy is to set `style.textOverflow` to
  107371. * `ellipsis`, which will keep the text on one line plus it will break
  107372. * inside long words.
  107373. */
  107374. style?: (CSSObject|PlotNetworkgraphDataLabelsStyleOptions);
  107375. /**
  107376. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  107377. * should follow marker's shape. Border and background are disabled for a
  107378. * label that follows a path.
  107379. *
  107380. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  107381. * to true will disable this option.
  107382. */
  107383. textPath?: DataLabelsTextPathOptionsObject;
  107384. /**
  107385. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  107386. * the labels.
  107387. */
  107388. useHTML?: boolean;
  107389. /**
  107390. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  107391. * label. Can be one of `top`, `middle` or `bottom`. The default value
  107392. * depends on the data, for instance in a column chart, the label is above
  107393. * positive values and below negative values.
  107394. */
  107395. verticalAlign?: (VerticalAlignValue|null);
  107396. /**
  107397. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  107398. * label relative to the point in pixels.
  107399. */
  107400. x?: number;
  107401. /**
  107402. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  107403. * label relative to the point in pixels.
  107404. */
  107405. y?: number;
  107406. /**
  107407. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  107408. * The default Z index puts it above the series. Use a Z index of 2 to
  107409. * display it behind the series.
  107410. */
  107411. z?: number;
  107412. }
  107413. /**
  107414. * (Highcharts) A collection of options for the individual nodes. The nodes in a
  107415. * networkgraph diagram are auto-generated instances of `Highcharts.Point`, but
  107416. * options can be applied here and linked by the `id`.
  107417. */
  107418. export interface SeriesNetworkgraphNodesOptions {
  107419. /**
  107420. * (Highcharts) The color of the auto generated node.
  107421. */
  107422. color?: ColorString;
  107423. /**
  107424. * (Highcharts) The color index of the auto generated node, especially for
  107425. * use in styled mode.
  107426. */
  107427. colorIndex?: number;
  107428. /**
  107429. * (Highcharts) Individual data label for each node. The options are the
  107430. * same as the ones for series.networkgraph.dataLabels.
  107431. */
  107432. dataLabels?: (SeriesNetworkgraphDataLabelsOptionsObject|Array<SeriesNetworkgraphDataLabelsOptionsObject>);
  107433. /**
  107434. * (Highcharts) The id of the auto-generated node, refering to the `from` or
  107435. * `to` setting of the link.
  107436. */
  107437. id?: string;
  107438. /**
  107439. * (Highcharts) Mass of the node. By default, each node has mass equal to
  107440. * it's marker radius . Mass is used to determine how two connected nodes
  107441. * should affect each other:
  107442. *
  107443. * Attractive force is multiplied by the ratio of two connected nodes; if a
  107444. * big node has weights twice as the small one, then the small one will move
  107445. * towards the big one twice faster than the big one to the small one .
  107446. */
  107447. mass?: number;
  107448. /**
  107449. * (Highcharts) The name to display for the node in data labels and
  107450. * tooltips. Use this when the name is different from the `id`. Where the id
  107451. * must be unique for each node, this is not necessary for the name.
  107452. */
  107453. name?: string;
  107454. }
  107455. /**
  107456. * (Highcharts) A `networkgraph` series. If the type option is not specified, it
  107457. * is inherited from chart.type.
  107458. *
  107459. * In TypeScript the type option must always be set.
  107460. *
  107461. * Configuration options for the series are given in three levels:
  107462. *
  107463. * 1. Options for all series in a chart are defined in the plotOptions.series
  107464. * object.
  107465. *
  107466. * 2. Options for all `networkgraph` series are defined in
  107467. * plotOptions.networkgraph.
  107468. *
  107469. * 3. Options for one single series are given in the series instance array. (see
  107470. * online documentation for example)
  107471. *
  107472. * You have to extend the `SeriesNetworkgraphOptions` via an interface to allow
  107473. * custom properties: ``` declare interface SeriesNetworkgraphOptions {
  107474. * customProperty: string; }
  107475. *
  107476. */
  107477. export interface SeriesNetworkgraphOptions extends PlotNetworkgraphOptions, SeriesOptions {
  107478. /**
  107479. * (Highcharts) An array of data points for the series. For the
  107480. * `networkgraph` series type, points can be given in the following way:
  107481. *
  107482. * An array of objects with named values. The following snippet shows only a
  107483. * few settings, see the complete options set below. If the total number of
  107484. * data points exceeds the series' turboThreshold, this option is not
  107485. * available. (see online documentation for example)
  107486. */
  107487. data?: (PointOptionsObject|Array<(object|any[]|number)>);
  107488. /**
  107489. * (Highcharts) A collection of options for the individual nodes. The nodes
  107490. * in a networkgraph diagram are auto-generated instances of
  107491. * `Highcharts.Point`, but options can be applied here and linked by the
  107492. * `id`.
  107493. */
  107494. nodes?: Array<SeriesNetworkgraphNodesOptions>;
  107495. /**
  107496. * Not available
  107497. */
  107498. stack?: undefined;
  107499. /**
  107500. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  107501. * TypeScript non-optional and might be `undefined` in series objects from
  107502. * unknown sources.
  107503. */
  107504. type: "networkgraph";
  107505. /**
  107506. * Not available
  107507. */
  107508. xAxis?: undefined;
  107509. /**
  107510. * Not available
  107511. */
  107512. yAxis?: undefined;
  107513. }
  107514. /**
  107515. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  107516. * is displayed for the `dataLabels`. The animation can also be set as a
  107517. * configuration object. Please note that this option only applies to the
  107518. * initial animation. For other animations, see chart.animation and the
  107519. * animation parameter under the API methods. The following properties are
  107520. * supported:
  107521. *
  107522. * - `defer`: The animation delay time in milliseconds.
  107523. */
  107524. export interface SeriesOhlcDataDataLabelsAnimationOptions {
  107525. /**
  107526. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  107527. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  107528. * from the series.animation.defer.
  107529. */
  107530. defer?: number;
  107531. }
  107532. /**
  107533. * (Highstock) Style options for the guide box. The guide box has one state by
  107534. * default, the `default` state.
  107535. */
  107536. export interface SeriesOhlcDataDragDropGuideBoxOptions {
  107537. /**
  107538. * (Highstock) Style options for the guide box default state.
  107539. */
  107540. default?: DragDropGuideBoxOptionsObject;
  107541. }
  107542. /**
  107543. * (Highstock) A `ohlc` series. If the type option is not specified, it is
  107544. * inherited from chart.type.
  107545. *
  107546. * In TypeScript the type option must always be set.
  107547. *
  107548. * Configuration options for the series are given in three levels:
  107549. *
  107550. * 1. Options for all series in a chart are defined in the plotOptions.series
  107551. * object.
  107552. *
  107553. * 2. Options for all `ohlc` series are defined in plotOptions.ohlc.
  107554. *
  107555. * 3. Options for one single series are given in the series instance array. (see
  107556. * online documentation for example)
  107557. *
  107558. * You have to extend the `SeriesOhlcOptions` via an interface to allow custom
  107559. * properties: ``` declare interface SeriesOhlcOptions { customProperty: string;
  107560. * }
  107561. *
  107562. */
  107563. export interface SeriesOhlcOptions extends PlotOhlcOptions, SeriesOptions {
  107564. /**
  107565. * (Highstock) An array of data points for the series. For the `ohlc` series
  107566. * type, points can be given in the following ways:
  107567. *
  107568. * 1. An array of arrays with 5 or 4 values. In this case, the values
  107569. * correspond to `x,open,high,low,close`. If the first value is a string, it
  107570. * is applied as the name of the point, and the `x` value is inferred. The
  107571. * `x` value can also be omitted, in which case the inner arrays should be
  107572. * of length 4\. Then the `x` value is automatically calculated, either
  107573. * starting at 0 and incremented by 1, or from `pointStart` and
  107574. * `pointInterval` given in the series options. (see online documentation
  107575. * for example)
  107576. *
  107577. * 2. An array of objects with named values. The following snippet shows
  107578. * only a few settings, see the complete options set below. If the total
  107579. * number of data points exceeds the series' turboThreshold, this option is
  107580. * not available. (see online documentation for example)
  107581. */
  107582. data?: Array<([(number|string), number, number, number]|[(number|string), number, number, number, number]|PointOptionsObject)>;
  107583. /**
  107584. * Not available
  107585. */
  107586. dataParser?: undefined;
  107587. /**
  107588. * Not available
  107589. */
  107590. dataURL?: undefined;
  107591. /**
  107592. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  107593. * TypeScript non-optional and might be `undefined` in series objects from
  107594. * unknown sources.
  107595. */
  107596. type: "ohlc";
  107597. }
  107598. /**
  107599. * (Highcharts, Highstock, Highmaps, Gantt) Series options for specific data and
  107600. * the data itself. In TypeScript you have to cast the series options to
  107601. * specific series types, to get all possible options for a series.
  107602. *
  107603. * You have to extend the `SeriesOptions` via an interface to allow custom
  107604. * properties: ``` declare interface SeriesOptions { customProperty: string; }
  107605. *
  107606. */
  107607. export interface SeriesOptions {
  107608. /**
  107609. * (Highcharts, Highstock, Highmaps, Gantt) An id for the series. This can
  107610. * be used after render time to get a pointer to the series object through
  107611. * `chart.get()`.
  107612. */
  107613. id?: string;
  107614. /**
  107615. * (Highcharts, Highstock, Highmaps, Gantt) The index of the series in the
  107616. * chart, affecting the internal index in the `chart.series` array, the
  107617. * visible Z index as well as the order in the legend.
  107618. */
  107619. index?: number;
  107620. /**
  107621. * (Highcharts, Highstock, Highmaps, Gantt) The sequential index of the
  107622. * series in the legend.
  107623. */
  107624. legendIndex?: number;
  107625. /**
  107626. * (Highmaps) A map data object containing a `path` definition and
  107627. * optionally additional properties to join in the data as per the `joinBy`
  107628. * option.
  107629. */
  107630. mapData?: (Array<SeriesMapDataOptions>|any);
  107631. /**
  107632. * (Highcharts, Highstock, Highmaps, Gantt) The name of the series as shown
  107633. * in the legend, tooltip etc.
  107634. */
  107635. name?: string;
  107636. /**
  107637. * (Highcharts, Highstock) This option allows grouping series in a stacked
  107638. * chart. The stack option can be a string or anything else, as long as the
  107639. * grouped series' stack options match each other after conversion into a
  107640. * string.
  107641. */
  107642. stack?: (number|string);
  107643. /**
  107644. * (Highcharts, Highstock, Highmaps, Gantt) The type of series, for example
  107645. * `line` or `column`. By default, the series type is inherited from
  107646. * chart.type, so unless the chart is a combination of series types, there
  107647. * is no need to set it on the series level.
  107648. */
  107649. type: string;
  107650. /**
  107651. * (Highcharts, Highstock) When using dual or multiple x axes, this number
  107652. * defines which xAxis the particular series is connected to. It refers to
  107653. * either the axis id or the index of the axis in the xAxis array, with 0
  107654. * being the first.
  107655. */
  107656. xAxis?: (number|string);
  107657. /**
  107658. * (Highcharts, Highstock) When using dual or multiple y axes, this number
  107659. * defines which yAxis the particular series is connected to. It refers to
  107660. * either the axis id or the index of the axis in the yAxis array, with 0
  107661. * being the first.
  107662. */
  107663. yAxis?: (number|string);
  107664. /**
  107665. * (Highcharts, Highstock) Define the visual z index of the series.
  107666. */
  107667. zIndex?: number;
  107668. }
  107669. /**
  107670. * The registry for all types of series options.
  107671. */
  107672. export interface SeriesOptionsRegistry {
  107673. SeriesAbandsOptions: SeriesAbandsOptions;
  107674. SeriesAdOptions: SeriesAdOptions;
  107675. SeriesAoOptions: SeriesAoOptions;
  107676. SeriesApoOptions: SeriesApoOptions;
  107677. SeriesAreaOptions: SeriesAreaOptions;
  107678. SeriesArearangeOptions: SeriesArearangeOptions;
  107679. SeriesAreasplineOptions: SeriesAreasplineOptions;
  107680. SeriesAreasplinerangeOptions: SeriesAreasplinerangeOptions;
  107681. SeriesAroonOptions: SeriesAroonOptions;
  107682. SeriesAroonoscillatorOptions: SeriesAroonoscillatorOptions;
  107683. SeriesAtrOptions: SeriesAtrOptions;
  107684. SeriesBarOptions: SeriesBarOptions;
  107685. SeriesBbOptions: SeriesBbOptions;
  107686. SeriesBellcurveOptions: SeriesBellcurveOptions;
  107687. SeriesBoxplotOptions: SeriesBoxplotOptions;
  107688. SeriesBubbleOptions: SeriesBubbleOptions;
  107689. SeriesBulletOptions: SeriesBulletOptions;
  107690. SeriesCandlestickOptions: SeriesCandlestickOptions;
  107691. SeriesCciOptions: SeriesCciOptions;
  107692. SeriesChaikinOptions: SeriesChaikinOptions;
  107693. SeriesCmfOptions: SeriesCmfOptions;
  107694. SeriesColumnOptions: SeriesColumnOptions;
  107695. SeriesColumnpyramidOptions: SeriesColumnpyramidOptions;
  107696. SeriesColumnrangeOptions: SeriesColumnrangeOptions;
  107697. SeriesCylinderOptions: SeriesCylinderOptions;
  107698. SeriesDemaOptions: SeriesDemaOptions;
  107699. SeriesDependencywheelOptions: SeriesDependencywheelOptions;
  107700. SeriesDpoOptions: SeriesDpoOptions;
  107701. SeriesDumbbellOptions: SeriesDumbbellOptions;
  107702. SeriesEmaOptions: SeriesEmaOptions;
  107703. SeriesErrorbarOptions: SeriesErrorbarOptions;
  107704. SeriesFlagsOptions: SeriesFlagsOptions;
  107705. SeriesFunnel3dOptions: SeriesFunnel3dOptions;
  107706. SeriesFunnelOptions: SeriesFunnelOptions;
  107707. SeriesGanttOptions: SeriesGanttOptions;
  107708. SeriesGaugeOptions: SeriesGaugeOptions;
  107709. SeriesHeatmapOptions: SeriesHeatmapOptions;
  107710. SeriesHistogramOptions: SeriesHistogramOptions;
  107711. SeriesIkhOptions: SeriesIkhOptions;
  107712. SeriesItemOptions: SeriesItemOptions;
  107713. SeriesKeltnerchannelsOptions: SeriesKeltnerchannelsOptions;
  107714. SeriesLinearregressionangleOptions: SeriesLinearregressionangleOptions;
  107715. SeriesLinearregressioninterceptOptions: SeriesLinearregressioninterceptOptions;
  107716. SeriesLinearregressionOptions: SeriesLinearregressionOptions;
  107717. SeriesLinearregressionslopeOptions: SeriesLinearregressionslopeOptions;
  107718. SeriesLineOptions: SeriesLineOptions;
  107719. SeriesLollipopOptions: SeriesLollipopOptions;
  107720. SeriesMacdOptions: SeriesMacdOptions;
  107721. SeriesMapbubbleOptions: SeriesMapbubbleOptions;
  107722. SeriesMaplineOptions: SeriesMaplineOptions;
  107723. SeriesMapOptions: SeriesMapOptions;
  107724. SeriesMappointOptions: SeriesMappointOptions;
  107725. SeriesMfiOptions: SeriesMfiOptions;
  107726. SeriesMomentumOptions: SeriesMomentumOptions;
  107727. SeriesNatrOptions: SeriesNatrOptions;
  107728. SeriesNetworkgraphOptions: SeriesNetworkgraphOptions;
  107729. SeriesOhlcOptions: SeriesOhlcOptions;
  107730. SeriesOrganizationOptions: SeriesOrganizationOptions;
  107731. SeriesPackedbubbleOptions: SeriesPackedbubbleOptions;
  107732. SeriesParetoOptions: SeriesParetoOptions;
  107733. SeriesPcOptions: SeriesPcOptions;
  107734. SeriesPieOptions: SeriesPieOptions;
  107735. SeriesPivotpointsOptions: SeriesPivotpointsOptions;
  107736. SeriesPolygonOptions: SeriesPolygonOptions;
  107737. SeriesPpoOptions: SeriesPpoOptions;
  107738. SeriesPriceenvelopesOptions: SeriesPriceenvelopesOptions;
  107739. SeriesPsarOptions: SeriesPsarOptions;
  107740. SeriesPyramid3dOptions: SeriesPyramid3dOptions;
  107741. SeriesPyramidOptions: SeriesPyramidOptions;
  107742. SeriesRocOptions: SeriesRocOptions;
  107743. SeriesRsiOptions: SeriesRsiOptions;
  107744. SeriesSankeyOptions: SeriesSankeyOptions;
  107745. SeriesScatter3dOptions: SeriesScatter3dOptions;
  107746. SeriesScatterOptions: SeriesScatterOptions;
  107747. SeriesSlowstochasticOptions: SeriesSlowstochasticOptions;
  107748. SeriesSmaOptions: SeriesSmaOptions;
  107749. SeriesSolidgaugeOptions: SeriesSolidgaugeOptions;
  107750. SeriesSplineOptions: SeriesSplineOptions;
  107751. SeriesStochasticOptions: SeriesStochasticOptions;
  107752. SeriesStreamgraphOptions: SeriesStreamgraphOptions;
  107753. SeriesSunburstOptions: SeriesSunburstOptions;
  107754. SeriesSupertrendOptions: SeriesSupertrendOptions;
  107755. SeriesTemaOptions: SeriesTemaOptions;
  107756. SeriesTilemapOptions: SeriesTilemapOptions;
  107757. SeriesTimelineOptions: SeriesTimelineOptions;
  107758. SeriesTreemapOptions: SeriesTreemapOptions;
  107759. SeriesTrendlineOptions: SeriesTrendlineOptions;
  107760. SeriesTrixOptions: SeriesTrixOptions;
  107761. SeriesVariablepieOptions: SeriesVariablepieOptions;
  107762. SeriesVariwideOptions: SeriesVariwideOptions;
  107763. SeriesVbpOptions: SeriesVbpOptions;
  107764. SeriesVectorOptions: SeriesVectorOptions;
  107765. SeriesVennOptions: SeriesVennOptions;
  107766. SeriesVwapOptions: SeriesVwapOptions;
  107767. SeriesWaterfallOptions: SeriesWaterfallOptions;
  107768. SeriesWilliamsrOptions: SeriesWilliamsrOptions;
  107769. SeriesWindbarbOptions: SeriesWindbarbOptions;
  107770. SeriesWmaOptions: SeriesWmaOptions;
  107771. SeriesWordcloudOptions: SeriesWordcloudOptions;
  107772. SeriesXrangeOptions: SeriesXrangeOptions;
  107773. SeriesZigzagOptions: SeriesZigzagOptions;
  107774. }
  107775. /**
  107776. * (Highcharts) Enable or disable the initial animation when a series is
  107777. * displayed for the `dataLabels`. The animation can also be set as a
  107778. * configuration object. Please note that this option only applies to the
  107779. * initial animation. For other animations, see chart.animation and the
  107780. * animation parameter under the API methods. The following properties are
  107781. * supported:
  107782. *
  107783. * - `defer`: The animation delay time in milliseconds.
  107784. */
  107785. export interface SeriesOrganizationDataDataLabelsAnimationOptions {
  107786. /**
  107787. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  107788. * dataLabel immediately. As `undefined` inherits defer time from the
  107789. * series.animation.defer.
  107790. */
  107791. defer?: number;
  107792. }
  107793. /**
  107794. * (Highcharts, Highstock, Highmaps, Gantt) Options for the data labels
  107795. * appearing on top of the nodes and links. For sankey charts, data labels are
  107796. * visible for the nodes by default, but hidden for links. This is controlled by
  107797. * modifying the `nodeFormat`, and the `format` that applies to links and is an
  107798. * empty string by default.
  107799. */
  107800. export interface SeriesOrganizationDataLabelsOptionsObject {
  107801. /**
  107802. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  107803. * compared to the point. If `right`, the right side of the label should be
  107804. * touching the point. For points with an extent, like columns, the
  107805. * alignments also dictates how to align it inside the box, as given with
  107806. * the inside option. Can be one of `left`, `center` or `right`.
  107807. */
  107808. align?: string;
  107809. /**
  107810. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  107811. * overlap. To make the labels less sensitive for overlapping, the
  107812. * dataLabels.padding can be set to 0.
  107813. */
  107814. allowOverlap?: boolean;
  107815. /**
  107816. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  107817. * animation when a series is displayed for the `dataLabels`. The animation
  107818. * can also be set as a configuration object. Please note that this option
  107819. * only applies to the initial animation. For other animations, see
  107820. * chart.animation and the animation parameter under the API methods. The
  107821. * following properties are supported:
  107822. *
  107823. * - `defer`: The animation delay time in milliseconds.
  107824. */
  107825. animation?: (boolean|PlotOrganizationDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  107826. /**
  107827. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  107828. * for the data label.
  107829. */
  107830. backgroundColor?: string;
  107831. /**
  107832. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  107833. * label. Defaults to `undefined`.
  107834. */
  107835. borderColor?: (ColorString|GradientColorObject|PatternObject);
  107836. /**
  107837. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  107838. * the data label.
  107839. */
  107840. borderRadius?: number;
  107841. /**
  107842. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  107843. * the data label.
  107844. */
  107845. borderWidth?: number;
  107846. /**
  107847. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  107848. * Particularly in styled mode, this can be used to give each series' or
  107849. * point's data label unique styling. In addition to this option, a default
  107850. * color class name is added so that we can give the labels a contrast text
  107851. * shadow.
  107852. */
  107853. className?: string;
  107854. /**
  107855. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  107856. * labels. Defaults to `undefined`. For certain series types, like column or
  107857. * map, the data labels can be drawn inside the points. In this case the
  107858. * data label will be drawn with maximum contrast by default. Additionally,
  107859. * it will be given a `text-outline` style with the opposite color, to
  107860. * further increase the contrast. This can be overridden by setting the
  107861. * `text-outline` style to `none` in the `dataLabels.style` option.
  107862. */
  107863. color?: (ColorString|GradientColorObject|PatternObject);
  107864. /**
  107865. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  107866. * are outside the plot area. By default, the data label is moved inside the
  107867. * plot area according to the overflow option.
  107868. */
  107869. crop?: boolean;
  107870. /**
  107871. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  107872. * labels until the initial series animation has finished. Setting to
  107873. * `false` renders the data label immediately. If set to `true` inherits the
  107874. * defer time set in plotOptions.series.animation.
  107875. */
  107876. defer?: boolean;
  107877. /**
  107878. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  107879. * labels.
  107880. */
  107881. enabled?: boolean;
  107882. /**
  107883. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  107884. * of which data labels to display. The declarative filter is designed for
  107885. * use when callback functions are not available, like when the chart
  107886. * options require a pure JSON structure or for use with graphical editors.
  107887. * For programmatic control, use the `formatter` instead, and return
  107888. * `undefined` to disable a single data label.
  107889. */
  107890. filter?: DataLabelsFilterOptionsObject;
  107891. /**
  107892. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  107893. * label. Available variables are the same as for `formatter`.
  107894. */
  107895. format?: string;
  107896. /**
  107897. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  107898. * format the data label. Note that if a `format` is defined, the format
  107899. * takes precedence and the formatter is ignored.
  107900. */
  107901. formatter?: SeriesSankeyDataLabelsFormatterCallbackFunction;
  107902. /**
  107903. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  107904. * columns or map areas, whether to align the data label inside the box or
  107905. * to the actual value point. Defaults to `false` in most cases, `true` in
  107906. * stacked columns.
  107907. */
  107908. inside?: boolean;
  107909. /**
  107910. * (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
  107911. * what to show for _nodes_ in the sankey diagram. By default the
  107912. * `nodeFormatter` returns `{point.name}`.
  107913. */
  107914. nodeFormat?: string;
  107915. /**
  107916. * (Highcharts, Highstock, Highmaps, Gantt) A callback for defining the
  107917. * format for _nodes_ in the organization chart. The `nodeFormat` option
  107918. * takes precedence over `nodeFormatter`.
  107919. *
  107920. * In an organization chart, the `nodeFormatter` is a quite complex function
  107921. * of the available options, striving for a good default layout of cards
  107922. * with or without images. In organization chart, the data labels come with
  107923. * `useHTML` set to true, meaning they will be rendered as true HTML above
  107924. * the SVG.
  107925. */
  107926. nodeFormatter?: SeriesSankeyDataLabelsFormatterCallbackFunction;
  107927. /**
  107928. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  107929. * of null. Works analogously to format. `nullFormat` can be applied only to
  107930. * series which support displaying null points.
  107931. */
  107932. nullFormat?: (boolean|string);
  107933. /**
  107934. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  107935. * that defines formatting for points with the value of null. Works
  107936. * analogously to formatter. `nullPointFormatter` can be applied only to
  107937. * series which support displaying null points.
  107938. */
  107939. nullFormatter?: DataLabelsFormatterCallbackFunction;
  107940. /**
  107941. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  107942. * flow outside the plot area. The default is `"justify"`, which aligns them
  107943. * inside the plot area. For columns and bars, this means it will be moved
  107944. * inside the bar. To display data labels outside the plot area, set `crop`
  107945. * to `false` and `overflow` to `"allow"`.
  107946. */
  107947. overflow?: DataLabelsOverflowValue;
  107948. /**
  107949. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  107950. * the `backgroundColor` is set, this is the padding within the box.
  107951. */
  107952. padding?: number;
  107953. /**
  107954. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  107955. * points. If `center` alignment is not possible, it defaults to `right`.
  107956. */
  107957. position?: AlignValue;
  107958. /**
  107959. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  107960. * that due to a more complex structure, backgrounds, borders and padding
  107961. * will be lost on a rotated data label.
  107962. */
  107963. rotation?: number;
  107964. /**
  107965. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  107966. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  107967. * an object configuration containing `color`, `offsetX`, `offsetY`,
  107968. * `opacity` and `width`.
  107969. */
  107970. shadow?: (boolean|ShadowOptionsObject);
  107971. /**
  107972. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  107973. * the border around the label. Symbols are predefined functions on the
  107974. * Renderer object.
  107975. */
  107976. shape?: string;
  107977. /**
  107978. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  107979. * default `color` setting is `"contrast"`, which is a pseudo color that
  107980. * Highcharts picks up and applies the maximum contrast to the underlying
  107981. * point item, for example the bar in a bar chart.
  107982. *
  107983. * The `textOutline` is a pseudo property that applies an outline of the
  107984. * given width with the given color, which by default is the maximum
  107985. * contrast to the text. So a bright text color will result in a black text
  107986. * outline for maximum readability on a mixed background. In some cases,
  107987. * especially with grayscale text, the text outline doesn't work well, in
  107988. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  107989. * is true, the `textOutline` will not be picked up. In this, case, the same
  107990. * effect can be acheived through the `text-shadow` CSS property.
  107991. *
  107992. * For some series types, where each point has an extent, like for example
  107993. * tree maps, the data label may overflow the point. There are two
  107994. * strategies for handling overflow. By default, the text will wrap to
  107995. * multiple lines. The other strategy is to set `style.textOverflow` to
  107996. * `ellipsis`, which will keep the text on one line plus it will break
  107997. * inside long words.
  107998. */
  107999. style?: CSSObject;
  108000. /**
  108001. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  108002. * should follow marker's shape. Border and background are disabled for a
  108003. * label that follows a path.
  108004. *
  108005. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  108006. * to true will disable this option.
  108007. */
  108008. textPath?: DataLabelsTextPathOptionsObject;
  108009. /**
  108010. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  108011. * the labels.
  108012. */
  108013. useHTML?: boolean;
  108014. /**
  108015. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  108016. * label. Can be one of `top`, `middle` or `bottom`. The default value
  108017. * depends on the data, for instance in a column chart, the label is above
  108018. * positive values and below negative values.
  108019. */
  108020. verticalAlign?: string;
  108021. /**
  108022. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  108023. * label relative to the point in pixels.
  108024. */
  108025. x?: number;
  108026. /**
  108027. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  108028. * label relative to the point in pixels.
  108029. */
  108030. y?: number;
  108031. /**
  108032. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  108033. * The default Z index puts it above the series. Use a Z index of 2 to
  108034. * display it behind the series.
  108035. */
  108036. z?: number;
  108037. }
  108038. /**
  108039. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  108040. * animation when a series is displayed for the `dataLabels`. The animation can
  108041. * also be set as a configuration object. Please note that this option only
  108042. * applies to the initial animation. For other animations, see chart.animation
  108043. * and the animation parameter under the API methods. The following properties
  108044. * are supported:
  108045. *
  108046. * - `defer`: The animation delay time in milliseconds.
  108047. */
  108048. export interface SeriesOrganizationNodesDataLabelsAnimationOptions {
  108049. /**
  108050. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  108051. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  108052. * inherits defer time from the series.animation.defer.
  108053. */
  108054. defer?: number;
  108055. }
  108056. /**
  108057. * (Highcharts) An `organization` series. If the type option is not specified,
  108058. * it is inherited from chart.type.
  108059. *
  108060. * In TypeScript the type option must always be set.
  108061. *
  108062. * Configuration options for the series are given in three levels:
  108063. *
  108064. * 1. Options for all series in a chart are defined in the plotOptions.series
  108065. * object.
  108066. *
  108067. * 2. Options for all `organization` series are defined in
  108068. * plotOptions.organization.
  108069. *
  108070. * 3. Options for one single series are given in the series instance array. (see
  108071. * online documentation for example)
  108072. *
  108073. * You have to extend the `SeriesOrganizationOptions` via an interface to allow
  108074. * custom properties: ``` declare interface SeriesOrganizationOptions {
  108075. * customProperty: string; }
  108076. *
  108077. */
  108078. export interface SeriesOrganizationOptions extends PlotOrganizationOptions, SeriesOptions {
  108079. /**
  108080. * (Highcharts) An array of data points for the series. For the
  108081. * `organization` series type, points can be given in the following way:
  108082. *
  108083. * An array of objects with named values. The following snippet shows only a
  108084. * few settings, see the complete options set below. If the total number of
  108085. * data points exceeds the series' turboThreshold, this option is not
  108086. * available. (see online documentation for example)
  108087. */
  108088. data?: Array<SeriesSankeyPointOptionsObject>;
  108089. /**
  108090. * (Highcharts) A collection of options for the individual nodes. The nodes
  108091. * in an org chart are auto-generated instances of `Highcharts.Point`, but
  108092. * options can be applied here and linked by the `id`.
  108093. */
  108094. nodes?: Array<SeriesSankeyNodesOptionsObject>;
  108095. /**
  108096. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108097. * TypeScript non-optional and might be `undefined` in series objects from
  108098. * unknown sources.
  108099. */
  108100. type: "organization";
  108101. }
  108102. /**
  108103. * (Highcharts) Enable or disable the initial animation when a series is
  108104. * displayed for the `dataLabels`. The animation can also be set as a
  108105. * configuration object. Please note that this option only applies to the
  108106. * initial animation. For other animations, see chart.animation and the
  108107. * animation parameter under the API methods. The following properties are
  108108. * supported:
  108109. *
  108110. * - `defer`: The animation delay time in milliseconds.
  108111. */
  108112. export interface SeriesPackedbubbleDataDataLabelsAnimationOptions {
  108113. /**
  108114. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  108115. * dataLabel immediately. As `undefined` inherits defer time from the
  108116. * series.animation.defer.
  108117. */
  108118. defer?: number;
  108119. }
  108120. /**
  108121. * (Highcharts) Style options for the guide box. The guide box has one state by
  108122. * default, the `default` state.
  108123. */
  108124. export interface SeriesPackedbubbleDataDragDropGuideBoxOptions {
  108125. /**
  108126. * (Highcharts) Style options for the guide box default state.
  108127. */
  108128. default?: DragDropGuideBoxOptionsObject;
  108129. }
  108130. /**
  108131. * Context for the formatter function.
  108132. */
  108133. export interface SeriesPackedBubbleDataLabelsFormatterContextObject extends PointLabelObject {
  108134. /**
  108135. * The color of the node.
  108136. */
  108137. color: ColorString;
  108138. /**
  108139. * The ID of the node.
  108140. */
  108141. key: string;
  108142. /**
  108143. * The point (node) object. The node name, if defined, is available through
  108144. * `this.point.name`. Arrays: `this.point.linksFrom` and
  108145. * `this.point.linksTo` contains all nodes connected to this point.
  108146. */
  108147. point: Point;
  108148. }
  108149. /**
  108150. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  108151. * appearing next to each data point.
  108152. *
  108153. * Since v6.2.0, multiple data labels can be applied to each single point by
  108154. * defining them as an array of configs.
  108155. *
  108156. * In styled mode, the data labels can be styled with the
  108157. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  108158. * example).
  108159. */
  108160. export interface SeriesPackedBubbleDataLabelsOptionsObject {
  108161. /**
  108162. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  108163. * compared to the point. If `right`, the right side of the label should be
  108164. * touching the point. For points with an extent, like columns, the
  108165. * alignments also dictates how to align it inside the box, as given with
  108166. * the inside option. Can be one of `left`, `center` or `right`.
  108167. */
  108168. align?: (AlignValue|null);
  108169. /**
  108170. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  108171. * overlap. To make the labels less sensitive for overlapping, the
  108172. * dataLabels.padding can be set to 0.
  108173. */
  108174. allowOverlap?: boolean;
  108175. /**
  108176. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  108177. * animation when a series is displayed for the `dataLabels`. The animation
  108178. * can also be set as a configuration object. Please note that this option
  108179. * only applies to the initial animation. For other animations, see
  108180. * chart.animation and the animation parameter under the API methods. The
  108181. * following properties are supported:
  108182. *
  108183. * - `defer`: The animation delay time in milliseconds.
  108184. */
  108185. animation?: (boolean|PlotPackedbubbleDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  108186. /**
  108187. * (Highcharts, Highstock, Highmaps, Gantt) Presentation attributes for the
  108188. * text path.
  108189. */
  108190. attributes?: SVGAttributes;
  108191. /**
  108192. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  108193. * for the data label.
  108194. */
  108195. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  108196. /**
  108197. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  108198. * label. Defaults to `undefined`.
  108199. */
  108200. borderColor?: (ColorString|GradientColorObject|PatternObject);
  108201. /**
  108202. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  108203. * the data label.
  108204. */
  108205. borderRadius?: number;
  108206. /**
  108207. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  108208. * the data label.
  108209. */
  108210. borderWidth?: number;
  108211. /**
  108212. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  108213. * Particularly in styled mode, this can be used to give each series' or
  108214. * point's data label unique styling. In addition to this option, a default
  108215. * color class name is added so that we can give the labels a contrast text
  108216. * shadow.
  108217. */
  108218. className?: string;
  108219. /**
  108220. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  108221. * labels. Defaults to `undefined`. For certain series types, like column or
  108222. * map, the data labels can be drawn inside the points. In this case the
  108223. * data label will be drawn with maximum contrast by default. Additionally,
  108224. * it will be given a `text-outline` style with the opposite color, to
  108225. * further increase the contrast. This can be overridden by setting the
  108226. * `text-outline` style to `none` in the `dataLabels.style` option.
  108227. */
  108228. color?: (ColorString|GradientColorObject|PatternObject);
  108229. /**
  108230. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  108231. * are outside the plot area. By default, the data label is moved inside the
  108232. * plot area according to the overflow option.
  108233. */
  108234. crop?: boolean;
  108235. /**
  108236. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  108237. * labels until the initial series animation has finished. Setting to
  108238. * `false` renders the data label immediately. If set to `true` inherits the
  108239. * defer time set in plotOptions.series.animation.
  108240. */
  108241. defer?: boolean;
  108242. /**
  108243. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  108244. * labels.
  108245. */
  108246. enabled?: boolean;
  108247. /**
  108248. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  108249. * of which data labels to display. The declarative filter is designed for
  108250. * use when callback functions are not available, like when the chart
  108251. * options require a pure JSON structure or for use with graphical editors.
  108252. * For programmatic control, use the `formatter` instead, and return
  108253. * `undefined` to disable a single data label.
  108254. */
  108255. filter?: DataLabelsFilterOptionsObject;
  108256. /**
  108257. * (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
  108258. * what to show for _node_ in the networkgraph. In v7.0 defaults to `{key}`,
  108259. * since v7.1 defaults to `undefined` and `formatter` is used instead.
  108260. */
  108261. format?: string;
  108262. /**
  108263. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  108264. * format the data label for a node. Note that if a `format` is defined, the
  108265. * format takes precedence and the formatter is ignored.
  108266. */
  108267. formatter?: SeriesPackedBubbleDataLabelsFormatterCallbackFunction;
  108268. /**
  108269. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  108270. * columns or map areas, whether to align the data label inside the box or
  108271. * to the actual value point. Defaults to `false` in most cases, `true` in
  108272. * stacked columns.
  108273. */
  108274. inside?: boolean;
  108275. /**
  108276. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  108277. * of null. Works analogously to format. `nullFormat` can be applied only to
  108278. * series which support displaying null points.
  108279. */
  108280. nullFormat?: (boolean|string);
  108281. /**
  108282. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  108283. * that defines formatting for points with the value of null. Works
  108284. * analogously to formatter. `nullPointFormatter` can be applied only to
  108285. * series which support displaying null points.
  108286. */
  108287. nullFormatter?: DataLabelsFormatterCallbackFunction;
  108288. /**
  108289. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  108290. * flow outside the plot area. The default is `"justify"`, which aligns them
  108291. * inside the plot area. For columns and bars, this means it will be moved
  108292. * inside the bar. To display data labels outside the plot area, set `crop`
  108293. * to `false` and `overflow` to `"allow"`.
  108294. */
  108295. overflow?: DataLabelsOverflowValue;
  108296. /**
  108297. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  108298. * the `backgroundColor` is set, this is the padding within the box.
  108299. */
  108300. padding?: number;
  108301. parentNodeFormat?: string;
  108302. parentNodeFormatter?: SeriesPackedBubbleDataLabelsFormatterCallbackFunction;
  108303. parentNodeTextPath?: SeriesPackedBubbleDataLabelsTextPathOptionsObject;
  108304. /**
  108305. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  108306. * points. If `center` alignment is not possible, it defaults to `right`.
  108307. */
  108308. position?: AlignValue;
  108309. /**
  108310. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  108311. * that due to a more complex structure, backgrounds, borders and padding
  108312. * will be lost on a rotated data label.
  108313. */
  108314. rotation?: number;
  108315. /**
  108316. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  108317. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  108318. * an object configuration containing `color`, `offsetX`, `offsetY`,
  108319. * `opacity` and `width`.
  108320. */
  108321. shadow?: (boolean|ShadowOptionsObject);
  108322. /**
  108323. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  108324. * the border around the label. Symbols are predefined functions on the
  108325. * Renderer object.
  108326. */
  108327. shape?: string;
  108328. /**
  108329. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  108330. * default `color` setting is `"contrast"`, which is a pseudo color that
  108331. * Highcharts picks up and applies the maximum contrast to the underlying
  108332. * point item, for example the bar in a bar chart.
  108333. *
  108334. * The `textOutline` is a pseudo property that applies an outline of the
  108335. * given width with the given color, which by default is the maximum
  108336. * contrast to the text. So a bright text color will result in a black text
  108337. * outline for maximum readability on a mixed background. In some cases,
  108338. * especially with grayscale text, the text outline doesn't work well, in
  108339. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  108340. * is true, the `textOutline` will not be picked up. In this, case, the same
  108341. * effect can be acheived through the `text-shadow` CSS property.
  108342. *
  108343. * For some series types, where each point has an extent, like for example
  108344. * tree maps, the data label may overflow the point. There are two
  108345. * strategies for handling overflow. By default, the text will wrap to
  108346. * multiple lines. The other strategy is to set `style.textOverflow` to
  108347. * `ellipsis`, which will keep the text on one line plus it will break
  108348. * inside long words.
  108349. */
  108350. style?: (CSSObject|PlotPackedbubbleDataLabelsStyleOptions);
  108351. /**
  108352. * (Highcharts, Highstock, Highmaps, Gantt) Options for a _node_ label text
  108353. * which should follow marker's shape.
  108354. *
  108355. * **Note:** Only SVG-based renderer supports this option.
  108356. */
  108357. textPath?: DataLabelsTextPathOptionsObject;
  108358. /**
  108359. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  108360. * the labels.
  108361. */
  108362. useHTML?: boolean;
  108363. /**
  108364. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  108365. * label. Can be one of `top`, `middle` or `bottom`. The default value
  108366. * depends on the data, for instance in a column chart, the label is above
  108367. * positive values and below negative values.
  108368. */
  108369. verticalAlign?: string;
  108370. /**
  108371. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  108372. * label relative to the point in pixels.
  108373. */
  108374. x?: number;
  108375. /**
  108376. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  108377. * label relative to the point in pixels.
  108378. */
  108379. y?: number;
  108380. /**
  108381. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  108382. * The default Z index puts it above the series. Use a Z index of 2 to
  108383. * display it behind the series.
  108384. */
  108385. z?: number;
  108386. }
  108387. export interface SeriesPackedBubbleDataLabelsTextPathOptionsObject {
  108388. /**
  108389. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable `textPath`
  108390. * option for link's or marker's data labels.
  108391. */
  108392. enabled?: boolean;
  108393. }
  108394. /**
  108395. * (Highcharts) A `packedbubble` series. If the type option is not specified, it
  108396. * is inherited from chart.type.
  108397. *
  108398. * In TypeScript the type option must always be set.
  108399. *
  108400. * Configuration options for the series are given in three levels:
  108401. *
  108402. * 1. Options for all series in a chart are defined in the plotOptions.series
  108403. * object.
  108404. *
  108405. * 2. Options for all `packedbubble` series are defined in
  108406. * plotOptions.packedbubble.
  108407. *
  108408. * 3. Options for one single series are given in the series instance array. (see
  108409. * online documentation for example)
  108410. *
  108411. * You have to extend the `SeriesPackedbubbleOptions` via an interface to allow
  108412. * custom properties: ``` declare interface SeriesPackedbubbleOptions {
  108413. * customProperty: string; }
  108414. *
  108415. */
  108416. export interface SeriesPackedbubbleOptions extends PlotPackedbubbleOptions, SeriesOptions {
  108417. /**
  108418. * (Highcharts) An array of data points for the series. For the
  108419. * `packedbubble` series type, points can be given in the following ways:
  108420. *
  108421. * 1. An array of `values`. (see online documentation for example)
  108422. *
  108423. * 2. An array of objects with named values. The objects are point
  108424. * configuration objects as seen below. If the total number of data points
  108425. * exceeds the series' turboThreshold, this option is not available. (see
  108426. * online documentation for example)
  108427. */
  108428. data?: (PointOptionsObject|Array<(object|any[])>);
  108429. /**
  108430. * Not available
  108431. */
  108432. dataParser?: undefined;
  108433. /**
  108434. * Not available
  108435. */
  108436. dataURL?: undefined;
  108437. /**
  108438. * Not available
  108439. */
  108440. stack?: undefined;
  108441. /**
  108442. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108443. * TypeScript non-optional and might be `undefined` in series objects from
  108444. * unknown sources.
  108445. */
  108446. type: "packedbubble";
  108447. }
  108448. /**
  108449. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  108450. * series is displayed for the `dataLabels`. The animation can also be set as a
  108451. * configuration object. Please note that this option only applies to the
  108452. * initial animation. For other animations, see chart.animation and the
  108453. * animation parameter under the API methods. The following properties are
  108454. * supported:
  108455. *
  108456. * - `defer`: The animation delay time in milliseconds.
  108457. */
  108458. export interface SeriesParetoDataDataLabelsAnimationOptions {
  108459. /**
  108460. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  108461. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  108462. * time from the series.animation.defer.
  108463. */
  108464. defer?: number;
  108465. }
  108466. /**
  108467. * (Highcharts) Style options for the guide box. The guide box has one state by
  108468. * default, the `default` state.
  108469. */
  108470. export interface SeriesParetoDataDragDropGuideBoxOptions {
  108471. /**
  108472. * (Highcharts) Style options for the guide box default state.
  108473. */
  108474. default?: DragDropGuideBoxOptionsObject;
  108475. }
  108476. /**
  108477. * (Highcharts) A `pareto` series. If the type option is not specified, it is
  108478. * inherited from chart.type.
  108479. *
  108480. * In TypeScript the type option must always be set.
  108481. *
  108482. * Configuration options for the series are given in three levels:
  108483. *
  108484. * 1. Options for all series in a chart are defined in the plotOptions.series
  108485. * object.
  108486. *
  108487. * 2. Options for all `pareto` series are defined in plotOptions.pareto.
  108488. *
  108489. * 3. Options for one single series are given in the series instance array. (see
  108490. * online documentation for example)
  108491. *
  108492. * You have to extend the `SeriesParetoOptions` via an interface to allow custom
  108493. * properties: ``` declare interface SeriesParetoOptions { customProperty:
  108494. * string; }
  108495. *
  108496. */
  108497. export interface SeriesParetoOptions extends PlotParetoOptions, SeriesOptions {
  108498. /**
  108499. * (Highcharts) An integer identifying the index to use for the base series,
  108500. * or a string representing the id of the series.
  108501. */
  108502. baseSeries?: (number|string);
  108503. /**
  108504. * (Highcharts) An array of data points for the series. For the `pareto`
  108505. * series type, points are calculated dynamically.
  108506. */
  108507. data?: Array<(Array<(number|string)>|PointOptionsObject)>;
  108508. /**
  108509. * Not available
  108510. */
  108511. dataParser?: undefined;
  108512. /**
  108513. * Not available
  108514. */
  108515. dataURL?: undefined;
  108516. /**
  108517. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108518. * TypeScript non-optional and might be `undefined` in series objects from
  108519. * unknown sources.
  108520. */
  108521. type: "pareto";
  108522. }
  108523. /**
  108524. * (Highstock) A Price channel indicator. If the type option is not specified,
  108525. * it is inherited from chart.type.
  108526. *
  108527. * In TypeScript the type option must always be set.
  108528. *
  108529. * Configuration options for the series are given in three levels:
  108530. *
  108531. * 1. Options for all series in a chart are defined in the plotOptions.series
  108532. * object.
  108533. *
  108534. * 2. Options for all `pc` series are defined in plotOptions.pc.
  108535. *
  108536. * 3. Options for one single series are given in the series instance array. (see
  108537. * online documentation for example)
  108538. *
  108539. * You have to extend the `SeriesPcOptions` via an interface to allow custom
  108540. * properties: ``` declare interface SeriesPcOptions { customProperty: string; }
  108541. *
  108542. */
  108543. export interface SeriesPcOptions extends PlotPcOptions, SeriesOptions {
  108544. /**
  108545. * Not available
  108546. */
  108547. dataParser?: undefined;
  108548. /**
  108549. * Not available
  108550. */
  108551. dataURL?: undefined;
  108552. /**
  108553. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108554. * TypeScript non-optional and might be `undefined` in series objects from
  108555. * unknown sources.
  108556. */
  108557. type: "pc";
  108558. }
  108559. /**
  108560. * (Highcharts) Enable or disable the initial animation when a series is
  108561. * displayed for the `dataLabels`. The animation can also be set as a
  108562. * configuration object. Please note that this option only applies to the
  108563. * initial animation. For other animations, see chart.animation and the
  108564. * animation parameter under the API methods. The following properties are
  108565. * supported:
  108566. *
  108567. * - `defer`: The animation delay time in milliseconds.
  108568. */
  108569. export interface SeriesPieDataDataLabelsAnimationOptions {
  108570. /**
  108571. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  108572. * dataLabel immediately. As `undefined` inherits defer time from the
  108573. * series.animation.defer.
  108574. */
  108575. defer?: number;
  108576. }
  108577. /**
  108578. * (Highcharts) Style options for the guide box. The guide box has one state by
  108579. * default, the `default` state.
  108580. */
  108581. export interface SeriesPieDataDragDropGuideBoxOptions {
  108582. /**
  108583. * (Highcharts) Style options for the guide box default state.
  108584. */
  108585. default?: DragDropGuideBoxOptionsObject;
  108586. }
  108587. /**
  108588. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  108589. * appearing next to each data point.
  108590. *
  108591. * Since v6.2.0, multiple data labels can be applied to each single point by
  108592. * defining them as an array of configs.
  108593. *
  108594. * In styled mode, the data labels can be styled with the
  108595. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  108596. * example).
  108597. */
  108598. export interface SeriesPieDataLabelsOptionsObject {
  108599. /**
  108600. * (Highcharts) Alignment method for data labels. Possible values are:
  108601. *
  108602. * - `toPlotEdges`: Each label touches the nearest vertical edge of the plot
  108603. * area.
  108604. *
  108605. * - `connectors`: Connectors have the same x position and the widest label
  108606. * of each half (left & right) touches the nearest vertical edge of the plot
  108607. * area.
  108608. */
  108609. alignTo?: string;
  108610. allowOverlap?: boolean;
  108611. /**
  108612. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  108613. * animation when a series is displayed for the `dataLabels`. The animation
  108614. * can also be set as a configuration object. Please note that this option
  108615. * only applies to the initial animation. For other animations, see
  108616. * chart.animation and the animation parameter under the API methods. The
  108617. * following properties are supported:
  108618. *
  108619. * - `defer`: The animation delay time in milliseconds.
  108620. */
  108621. animation?: (boolean|PlotFunnelDataLabelsAnimationOptions|PlotItemDataLabelsAnimationOptions|PlotPieDataLabelsAnimationOptions|PlotPyramidDataLabelsAnimationOptions|
  108622. PlotVariablepieDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  108623. /**
  108624. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  108625. * for the data label.
  108626. */
  108627. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  108628. /**
  108629. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  108630. * label. Defaults to `undefined`.
  108631. */
  108632. borderColor?: (ColorString|GradientColorObject|PatternObject);
  108633. /**
  108634. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  108635. * the data label.
  108636. */
  108637. borderRadius?: number;
  108638. /**
  108639. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  108640. * the data label.
  108641. */
  108642. borderWidth?: number;
  108643. /**
  108644. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  108645. * Particularly in styled mode, this can be used to give each series' or
  108646. * point's data label unique styling. In addition to this option, a default
  108647. * color class name is added so that we can give the labels a contrast text
  108648. * shadow.
  108649. */
  108650. className?: string;
  108651. /**
  108652. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  108653. * labels. Defaults to `undefined`. For certain series types, like column or
  108654. * map, the data labels can be drawn inside the points. In this case the
  108655. * data label will be drawn with maximum contrast by default. Additionally,
  108656. * it will be given a `text-outline` style with the opposite color, to
  108657. * further increase the contrast. This can be overridden by setting the
  108658. * `text-outline` style to `none` in the `dataLabels.style` option.
  108659. */
  108660. color?: (ColorString|GradientColorObject|PatternObject);
  108661. /**
  108662. * (Highcharts) The color of the line connecting the data label to the pie
  108663. * slice. The default color is the same as the point's color.
  108664. *
  108665. * In styled mode, the connector stroke is given in the
  108666. * `.highcharts-data-label-connector` class.
  108667. */
  108668. connectorColor?: (ColorString|GradientColorObject|PatternObject);
  108669. /**
  108670. * (Highcharts) The distance from the data label to the connector. Note that
  108671. * data labels also have a default `padding`, so in order for the connector
  108672. * to touch the text, the `padding` must also be 0.
  108673. */
  108674. connectorPadding?: number;
  108675. /**
  108676. * (Highcharts) Specifies the method that is used to generate the connector
  108677. * path. Highcharts provides 3 built-in connector shapes: `'fixedOffset'`
  108678. * (default), `'straight'` and `'crookedLine'`. Using `'crookedLine'` has
  108679. * the most sense (in most of the cases) when `'alignTo'` is set.
  108680. *
  108681. * Users can provide their own method by passing a function instead of a
  108682. * String. 3 arguments are passed to the callback:
  108683. *
  108684. * - Object that holds the information about the coordinates of the label
  108685. * (`x` & `y` properties) and how the label is located in relation to the
  108686. * pie (`alignment` property). `alignment` can by one of the following:
  108687. * `'left'` (pie on the left side of the data label), `'right'` (pie on the
  108688. * right side of the data label) or `'center'` (data label overlaps the
  108689. * pie).
  108690. *
  108691. * - Object that holds the information about the position of the connector.
  108692. * Its `touchingSliceAt` porperty tells the position of the place where the
  108693. * connector touches the slice.
  108694. *
  108695. * - Data label options
  108696. *
  108697. * The function has to return an SVG path definition in array form (see the
  108698. * example).
  108699. */
  108700. connectorShape?: (string|Function);
  108701. /**
  108702. * (Highcharts) The width of the line connecting the data label to the pie
  108703. * slice.
  108704. *
  108705. * In styled mode, the connector stroke width is given in the
  108706. * `.highcharts-data-label-connector` class.
  108707. */
  108708. connectorWidth?: number;
  108709. /**
  108710. * (Highcharts) Works only if `connectorShape` is `'crookedLine'`. It
  108711. * defines how far from the vertical plot edge the coonnector path should be
  108712. * crooked.
  108713. */
  108714. crookDistance?: string;
  108715. /**
  108716. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  108717. * are outside the plot area. By default, the data label is moved inside the
  108718. * plot area according to the overflow option.
  108719. */
  108720. crop?: boolean;
  108721. /**
  108722. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  108723. * labels until the initial series animation has finished. Setting to
  108724. * `false` renders the data label immediately. If set to `true` inherits the
  108725. * defer time set in plotOptions.series.animation.
  108726. */
  108727. defer?: boolean;
  108728. /**
  108729. * (Highcharts) The distance of the data label from the pie's edge. Negative
  108730. * numbers put the data label on top of the pie slices. Can also be defined
  108731. * as a percentage of pie's radius. Connectors are only shown for data
  108732. * labels outside the pie.
  108733. */
  108734. distance?: (number|string);
  108735. /**
  108736. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  108737. * labels.
  108738. */
  108739. enabled?: boolean;
  108740. /**
  108741. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  108742. * of which data labels to display. The declarative filter is designed for
  108743. * use when callback functions are not available, like when the chart
  108744. * options require a pure JSON structure or for use with graphical editors.
  108745. * For programmatic control, use the `formatter` instead, and return
  108746. * `undefined` to disable a single data label.
  108747. */
  108748. filter?: DataLabelsFilterOptionsObject;
  108749. /**
  108750. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  108751. * label. Available variables are the same as for `formatter`.
  108752. */
  108753. format?: string;
  108754. /**
  108755. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  108756. * format the data label. Note that if a `format` is defined, the format
  108757. * takes precedence and the formatter is ignored.
  108758. */
  108759. formatter?: DataLabelsFormatterCallbackFunction;
  108760. /**
  108761. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  108762. * of null. Works analogously to format. `nullFormat` can be applied only to
  108763. * series which support displaying null points.
  108764. */
  108765. nullFormat?: (boolean|string);
  108766. /**
  108767. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  108768. * that defines formatting for points with the value of null. Works
  108769. * analogously to formatter. `nullPointFormatter` can be applied only to
  108770. * series which support displaying null points.
  108771. */
  108772. nullFormatter?: DataLabelsFormatterCallbackFunction;
  108773. /**
  108774. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  108775. * flow outside the plot area. The default is `"justify"`, which aligns them
  108776. * inside the plot area. For columns and bars, this means it will be moved
  108777. * inside the bar. To display data labels outside the plot area, set `crop`
  108778. * to `false` and `overflow` to `"allow"`.
  108779. */
  108780. overflow?: DataLabelsOverflowValue;
  108781. /**
  108782. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  108783. * the `backgroundColor` is set, this is the padding within the box.
  108784. */
  108785. padding?: number;
  108786. /**
  108787. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  108788. * points. If `center` alignment is not possible, it defaults to `right`.
  108789. */
  108790. position?: AlignValue;
  108791. /**
  108792. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  108793. * that due to a more complex structure, backgrounds, borders and padding
  108794. * will be lost on a rotated data label.
  108795. */
  108796. rotation?: number;
  108797. /**
  108798. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  108799. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  108800. * an object configuration containing `color`, `offsetX`, `offsetY`,
  108801. * `opacity` and `width`.
  108802. */
  108803. shadow?: (boolean|ShadowOptionsObject);
  108804. /**
  108805. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  108806. * the border around the label. Symbols are predefined functions on the
  108807. * Renderer object.
  108808. */
  108809. shape?: string;
  108810. /**
  108811. * (Highcharts) Whether to render the connector as a soft arc or a line with
  108812. * sharp break. Works only if `connectorShape` equals to `fixedOffset`.
  108813. */
  108814. softConnector?: boolean;
  108815. /**
  108816. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  108817. * default `color` setting is `"contrast"`, which is a pseudo color that
  108818. * Highcharts picks up and applies the maximum contrast to the underlying
  108819. * point item, for example the bar in a bar chart.
  108820. *
  108821. * The `textOutline` is a pseudo property that applies an outline of the
  108822. * given width with the given color, which by default is the maximum
  108823. * contrast to the text. So a bright text color will result in a black text
  108824. * outline for maximum readability on a mixed background. In some cases,
  108825. * especially with grayscale text, the text outline doesn't work well, in
  108826. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  108827. * is true, the `textOutline` will not be picked up. In this, case, the same
  108828. * effect can be acheived through the `text-shadow` CSS property.
  108829. *
  108830. * For some series types, where each point has an extent, like for example
  108831. * tree maps, the data label may overflow the point. There are two
  108832. * strategies for handling overflow. By default, the text will wrap to
  108833. * multiple lines. The other strategy is to set `style.textOverflow` to
  108834. * `ellipsis`, which will keep the text on one line plus it will break
  108835. * inside long words.
  108836. */
  108837. style?: CSSObject;
  108838. /**
  108839. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  108840. * should follow marker's shape. Border and background are disabled for a
  108841. * label that follows a path.
  108842. *
  108843. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  108844. * to true will disable this option.
  108845. */
  108846. textPath?: DataLabelsTextPathOptionsObject;
  108847. /**
  108848. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  108849. * the labels.
  108850. */
  108851. useHTML?: boolean;
  108852. /**
  108853. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  108854. * label. Can be one of `top`, `middle` or `bottom`. The default value
  108855. * depends on the data, for instance in a column chart, the label is above
  108856. * positive values and below negative values.
  108857. */
  108858. verticalAlign?: (string|VerticalAlignValue|null);
  108859. /**
  108860. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  108861. * label relative to the point in pixels.
  108862. */
  108863. x?: number;
  108864. /**
  108865. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  108866. * label relative to the point in pixels.
  108867. */
  108868. y?: number;
  108869. /**
  108870. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  108871. * The default Z index puts it above the series. Use a Z index of 2 to
  108872. * display it behind the series.
  108873. */
  108874. z?: number;
  108875. }
  108876. /**
  108877. * (Highcharts) A `pie` series. If the type option is not specified, it is
  108878. * inherited from chart.type.
  108879. *
  108880. * In TypeScript the type option must always be set.
  108881. *
  108882. * Configuration options for the series are given in three levels:
  108883. *
  108884. * 1. Options for all series in a chart are defined in the plotOptions.series
  108885. * object.
  108886. *
  108887. * 2. Options for all `pie` series are defined in plotOptions.pie.
  108888. *
  108889. * 3. Options for one single series are given in the series instance array. (see
  108890. * online documentation for example)
  108891. *
  108892. * You have to extend the `SeriesPieOptions` via an interface to allow custom
  108893. * properties: ``` declare interface SeriesPieOptions { customProperty: string;
  108894. * }
  108895. *
  108896. */
  108897. export interface SeriesPieOptions extends PlotPieOptions, SeriesOptions {
  108898. /**
  108899. * (Highcharts) An array of data points for the series. For the `pie` series
  108900. * type, points can be given in the following ways:
  108901. *
  108902. * 1. An array of numerical values. In this case, the numerical values will
  108903. * be interpreted as `y` options. Example: (see online documentation for
  108904. * example)
  108905. *
  108906. * 2. An array of objects with named values. The following snippet shows
  108907. * only a few settings, see the complete options set below. If the total
  108908. * number of data points exceeds the series' turboThreshold, this option is
  108909. * not available. (see online documentation for example)
  108910. */
  108911. data?: Array<(number|[string, (number|null)]|null|PointOptionsObject)>;
  108912. /**
  108913. * Not available
  108914. */
  108915. dataParser?: undefined;
  108916. /**
  108917. * Not available
  108918. */
  108919. dataURL?: undefined;
  108920. /**
  108921. * Not available
  108922. */
  108923. stack?: undefined;
  108924. /**
  108925. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108926. * TypeScript non-optional and might be `undefined` in series objects from
  108927. * unknown sources.
  108928. */
  108929. type: "pie";
  108930. /**
  108931. * Not available
  108932. */
  108933. xAxis?: undefined;
  108934. /**
  108935. * Not available
  108936. */
  108937. yAxis?: undefined;
  108938. }
  108939. /**
  108940. * (Highstock) A pivot points indicator. If the type option is not specified, it
  108941. * is inherited from chart.type.
  108942. *
  108943. * In TypeScript the type option must always be set.
  108944. *
  108945. * Configuration options for the series are given in three levels:
  108946. *
  108947. * 1. Options for all series in a chart are defined in the plotOptions.series
  108948. * object.
  108949. *
  108950. * 2. Options for all `pivotpoints` series are defined in
  108951. * plotOptions.pivotpoints.
  108952. *
  108953. * 3. Options for one single series are given in the series instance array. (see
  108954. * online documentation for example)
  108955. *
  108956. * You have to extend the `SeriesPivotpointsOptions` via an interface to allow
  108957. * custom properties: ``` declare interface SeriesPivotpointsOptions {
  108958. * customProperty: string; }
  108959. *
  108960. */
  108961. export interface SeriesPivotpointsOptions extends PlotPivotpointsOptions, SeriesOptions {
  108962. /**
  108963. * Not available
  108964. */
  108965. dataParser?: undefined;
  108966. /**
  108967. * Not available
  108968. */
  108969. dataURL?: undefined;
  108970. /**
  108971. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108972. * TypeScript non-optional and might be `undefined` in series objects from
  108973. * unknown sources.
  108974. */
  108975. type: "pivotpoints";
  108976. }
  108977. /**
  108978. * Translation and scale for the plot area of a series.
  108979. */
  108980. export interface SeriesPlotBoxObject {
  108981. scaleX: number;
  108982. scaleY: number;
  108983. translateX: number;
  108984. translateY: number;
  108985. }
  108986. /**
  108987. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  108988. * series is displayed for the `dataLabels`. The animation can also be set as a
  108989. * configuration object. Please note that this option only applies to the
  108990. * initial animation. For other animations, see chart.animation and the
  108991. * animation parameter under the API methods. The following properties are
  108992. * supported:
  108993. *
  108994. * - `defer`: The animation delay time in milliseconds.
  108995. */
  108996. export interface SeriesPolygonDataDataLabelsAnimationOptions {
  108997. /**
  108998. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  108999. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  109000. * time from the series.animation.defer.
  109001. */
  109002. defer?: number;
  109003. }
  109004. /**
  109005. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  109006. * one state by default, the `default` state.
  109007. */
  109008. export interface SeriesPolygonDataDragDropGuideBoxOptions {
  109009. /**
  109010. * (Highcharts, Highstock) Style options for the guide box default state.
  109011. */
  109012. default?: DragDropGuideBoxOptionsObject;
  109013. }
  109014. /**
  109015. * (Highcharts, Highstock) A `polygon` series. If the type option is not
  109016. * specified, it is inherited from chart.type.
  109017. *
  109018. * In TypeScript the type option must always be set.
  109019. *
  109020. * Configuration options for the series are given in three levels:
  109021. *
  109022. * 1. Options for all series in a chart are defined in the plotOptions.series
  109023. * object.
  109024. *
  109025. * 2. Options for all `polygon` series are defined in plotOptions.polygon.
  109026. *
  109027. * 3. Options for one single series are given in the series instance array. (see
  109028. * online documentation for example)
  109029. *
  109030. * You have to extend the `SeriesPolygonOptions` via an interface to allow
  109031. * custom properties: ``` declare interface SeriesPolygonOptions {
  109032. * customProperty: string; }
  109033. *
  109034. */
  109035. export interface SeriesPolygonOptions extends PlotPolygonOptions, SeriesOptions {
  109036. /**
  109037. * (Highcharts, Highstock) An array of data points for the series. For the
  109038. * `polygon` series type, points can be given in the following ways:
  109039. *
  109040. * 1. An array of numerical values. In this case, the numerical values will
  109041. * be interpreted as `y` options. The `x` values will be automatically
  109042. * calculated, either starting at 0 and incremented by 1, or from
  109043. * `pointStart` and `pointInterval` given in the series options. If the axis
  109044. * has categories, these will be used. Example: (see online documentation
  109045. * for example)
  109046. *
  109047. * 2. An array of arrays with 2 values. In this case, the values correspond
  109048. * to `x,y`. If the first value is a string, it is applied as the name of
  109049. * the point, and the `x` value is inferred. (see online documentation for
  109050. * example)
  109051. *
  109052. * 3. An array of objects with named values. The following snippet shows
  109053. * only a few settings, see the complete options set below. If the total
  109054. * number of data points exceeds the series' turboThreshold, this option is
  109055. * not available. (see online documentation for example)
  109056. */
  109057. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  109058. /**
  109059. * Not available
  109060. */
  109061. dataParser?: undefined;
  109062. /**
  109063. * Not available
  109064. */
  109065. dataURL?: undefined;
  109066. /**
  109067. * Not available
  109068. */
  109069. stack?: undefined;
  109070. /**
  109071. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109072. * TypeScript non-optional and might be `undefined` in series objects from
  109073. * unknown sources.
  109074. */
  109075. type: "polygon";
  109076. }
  109077. /**
  109078. * (Highstock) A `Percentage Price Oscillator` series. If the type option is not
  109079. * specified, it is inherited from chart.type.
  109080. *
  109081. * In TypeScript the type option must always be set.
  109082. *
  109083. * Configuration options for the series are given in three levels:
  109084. *
  109085. * 1. Options for all series in a chart are defined in the plotOptions.series
  109086. * object.
  109087. *
  109088. * 2. Options for all `ppo` series are defined in plotOptions.ppo.
  109089. *
  109090. * 3. Options for one single series are given in the series instance array. (see
  109091. * online documentation for example)
  109092. *
  109093. * You have to extend the `SeriesPpoOptions` via an interface to allow custom
  109094. * properties: ``` declare interface SeriesPpoOptions { customProperty: string;
  109095. * }
  109096. *
  109097. */
  109098. export interface SeriesPpoOptions extends PlotPpoOptions, SeriesOptions {
  109099. /**
  109100. * Not available
  109101. */
  109102. dataParser?: undefined;
  109103. /**
  109104. * Not available
  109105. */
  109106. dataURL?: undefined;
  109107. /**
  109108. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109109. * TypeScript non-optional and might be `undefined` in series objects from
  109110. * unknown sources.
  109111. */
  109112. type: "ppo";
  109113. }
  109114. /**
  109115. * (Highstock) A price envelopes indicator. If the type option is not specified,
  109116. * it is inherited from chart.type.
  109117. *
  109118. * In TypeScript the type option must always be set.
  109119. *
  109120. * Configuration options for the series are given in three levels:
  109121. *
  109122. * 1. Options for all series in a chart are defined in the plotOptions.series
  109123. * object.
  109124. *
  109125. * 2. Options for all `priceenvelopes` series are defined in
  109126. * plotOptions.priceenvelopes.
  109127. *
  109128. * 3. Options for one single series are given in the series instance array. (see
  109129. * online documentation for example)
  109130. *
  109131. * You have to extend the `SeriesPriceenvelopesOptions` via an interface to
  109132. * allow custom properties: ``` declare interface SeriesPriceenvelopesOptions {
  109133. * customProperty: string; }
  109134. *
  109135. */
  109136. export interface SeriesPriceenvelopesOptions extends PlotPriceenvelopesOptions, SeriesOptions {
  109137. /**
  109138. * Not available
  109139. */
  109140. dataParser?: undefined;
  109141. /**
  109142. * Not available
  109143. */
  109144. dataURL?: undefined;
  109145. /**
  109146. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109147. * TypeScript non-optional and might be `undefined` in series objects from
  109148. * unknown sources.
  109149. */
  109150. type: "priceenvelopes";
  109151. }
  109152. /**
  109153. * (Highstock) A `PSAR` series. If the type option is not specified, it is
  109154. * inherited from chart.type.
  109155. *
  109156. * In TypeScript the type option must always be set.
  109157. *
  109158. * Configuration options for the series are given in three levels:
  109159. *
  109160. * 1. Options for all series in a chart are defined in the plotOptions.series
  109161. * object.
  109162. *
  109163. * 2. Options for all `psar` series are defined in plotOptions.psar.
  109164. *
  109165. * 3. Options for one single series are given in the series instance array. (see
  109166. * online documentation for example)
  109167. *
  109168. * You have to extend the `SeriesPsarOptions` via an interface to allow custom
  109169. * properties: ``` declare interface SeriesPsarOptions { customProperty: string;
  109170. * }
  109171. *
  109172. */
  109173. export interface SeriesPsarOptions extends PlotPsarOptions, SeriesOptions {
  109174. /**
  109175. * Not available
  109176. */
  109177. dataParser?: undefined;
  109178. /**
  109179. * Not available
  109180. */
  109181. dataURL?: undefined;
  109182. /**
  109183. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109184. * TypeScript non-optional and might be `undefined` in series objects from
  109185. * unknown sources.
  109186. */
  109187. type: "psar";
  109188. }
  109189. /**
  109190. * (Highcharts) A `pyramid3d` series. If the type option is not specified, it is
  109191. * inherited from chart.type.
  109192. *
  109193. * In TypeScript the type option must always be set.
  109194. *
  109195. * Configuration options for the series are given in three levels:
  109196. *
  109197. * 1. Options for all series in a chart are defined in the plotOptions.series
  109198. * object.
  109199. *
  109200. * 2. Options for all `pyramid3d` series are defined in plotOptions.pyramid3d.
  109201. *
  109202. * 3. Options for one single series are given in the series instance array. (see
  109203. * online documentation for example)
  109204. *
  109205. * You have to extend the `SeriesPyramid3dOptions` via an interface to allow
  109206. * custom properties: ``` declare interface SeriesPyramid3dOptions {
  109207. * customProperty: string; }
  109208. *
  109209. */
  109210. export interface SeriesPyramid3dOptions extends PlotPyramid3dOptions, SeriesOptions {
  109211. /**
  109212. * Not available
  109213. */
  109214. allAreas?: undefined;
  109215. /**
  109216. * Not available
  109217. */
  109218. boostThreshold?: undefined;
  109219. /**
  109220. * (Highcharts) The center of the series. By default, it is centered in the
  109221. * middle of the plot area, so it fills the plot area height.
  109222. */
  109223. center?: Array<(number|string)>;
  109224. /**
  109225. * Not available
  109226. */
  109227. colorAxis?: undefined;
  109228. /**
  109229. * Not available
  109230. */
  109231. compare?: undefined;
  109232. /**
  109233. * Not available
  109234. */
  109235. compareBase?: undefined;
  109236. /**
  109237. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  109238. * series plot across the extremes.
  109239. */
  109240. connectEnds?: boolean;
  109241. /**
  109242. * (Highcharts, Highstock) Whether to connect a graph line across null
  109243. * points, or render a gap between the two points on either side of the
  109244. * null.
  109245. */
  109246. connectNulls?: boolean;
  109247. /**
  109248. * Not available
  109249. */
  109250. dataSorting?: undefined;
  109251. /**
  109252. * (Highcharts) The end angle of the pie in degrees where 0 is top and 90 is
  109253. * right. Defaults to `startAngle` plus 360.
  109254. */
  109255. endAngle?: number;
  109256. /**
  109257. * (Highcharts) If the total sum of the pie's values is 0, the series is
  109258. * represented as an empty circle . The `fillColor` option defines the color
  109259. * of that circle. Use pie.borderWidth to set the border thickness.
  109260. */
  109261. fillColor?: (ColorString|GradientColorObject|PatternObject);
  109262. /**
  109263. * (Highstock) Defines when to display a gap in the graph, together with the
  109264. * gapUnit option.
  109265. *
  109266. * In case when `dataGrouping` is enabled, points can be grouped into a
  109267. * larger time span. This can make the grouped points to have a greater
  109268. * distance than the absolute value of `gapSize` property, which will result
  109269. * in disappearing graph completely. To prevent this situation the mentioned
  109270. * distance between grouped points is used instead of previously defined
  109271. * `gapSize`.
  109272. *
  109273. * In practice, this option is most often used to visualize gaps in time
  109274. * series. In a stock chart, intraday data is available for daytime hours,
  109275. * while gaps will appear in nights and weekends.
  109276. */
  109277. gapSize?: number;
  109278. /**
  109279. * (Highstock) Together with gapSize, this option defines where to draw gaps
  109280. * in the graph.
  109281. *
  109282. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  109283. * if the distance between two points is greater than 5 times that of the
  109284. * two closest points, the graph will be broken.
  109285. *
  109286. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  109287. * values, which on a datetime axis is milliseconds. This also applies to
  109288. * the navigator series that inherits gap options from the base series.
  109289. */
  109290. gapUnit?: OptionsGapUnitValue;
  109291. /**
  109292. * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
  109293. * whether the series shall be redrawn as if the hidden point were `null`.
  109294. *
  109295. * The default value changed from `false` to `true` with Highcharts 3.0.
  109296. */
  109297. ignoreHiddenPoint?: boolean;
  109298. /**
  109299. * (Highcharts, Highstock) The line cap used for line ends and line joins on
  109300. * the graph.
  109301. */
  109302. linecap?: SeriesLinecapValue;
  109303. /**
  109304. * (Highcharts, Highstock) Pixel width of the graph line.
  109305. */
  109306. lineWidth?: number;
  109307. /**
  109308. * (Highcharts) Options for the point markers of line-like series.
  109309. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  109310. * visual appearance of the markers. Other series types, like column series,
  109311. * don't have markers, but have visual options on the series level instead.
  109312. *
  109313. * In styled mode, the markers can be styled with the `.highcharts-point`,
  109314. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  109315. */
  109316. marker?: PointMarkerOptionsObject;
  109317. /**
  109318. * (Highcharts) The minimum size for a pie in response to auto margins. The
  109319. * pie will try to shrink to make room for data labels in side the plot
  109320. * area, but only to this size.
  109321. */
  109322. minSize?: (number|string);
  109323. /**
  109324. * (Highcharts) If a point is sliced, moved out from the center, how many
  109325. * pixels should it be moved?.
  109326. */
  109327. slicedOffset?: number;
  109328. /**
  109329. * (Highcharts) The start angle of the pie slices in degrees where 0 is top
  109330. * and 90 right.
  109331. */
  109332. startAngle?: number;
  109333. /**
  109334. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  109335. * values are `left`, `center` and `right`.
  109336. */
  109337. step?: OptionsStepValue;
  109338. /**
  109339. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109340. * TypeScript non-optional and might be `undefined` in series objects from
  109341. * unknown sources.
  109342. */
  109343. type: "pyramid3d";
  109344. /**
  109345. * (Highstock) The parameter allows setting line series type and use OHLC
  109346. * indicators. Data in OHLC format is required.
  109347. */
  109348. useOhlcData?: boolean;
  109349. }
  109350. /**
  109351. * (Highcharts) Enable or disable the initial animation when a series is
  109352. * displayed for the `dataLabels`. The animation can also be set as a
  109353. * configuration object. Please note that this option only applies to the
  109354. * initial animation. For other animations, see chart.animation and the
  109355. * animation parameter under the API methods. The following properties are
  109356. * supported:
  109357. *
  109358. * - `defer`: The animation delay time in milliseconds.
  109359. */
  109360. export interface SeriesPyramidDataDataLabelsAnimationOptions {
  109361. /**
  109362. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  109363. * dataLabel immediately. As `undefined` inherits defer time from the
  109364. * series.animation.defer.
  109365. */
  109366. defer?: number;
  109367. }
  109368. /**
  109369. * (Highcharts) Style options for the guide box. The guide box has one state by
  109370. * default, the `default` state.
  109371. */
  109372. export interface SeriesPyramidDataDragDropGuideBoxOptions {
  109373. /**
  109374. * (Highcharts) Style options for the guide box default state.
  109375. */
  109376. default?: DragDropGuideBoxOptionsObject;
  109377. }
  109378. /**
  109379. * (Highcharts) A `pyramid` series. If the type option is not specified, it is
  109380. * inherited from chart.type.
  109381. *
  109382. * In TypeScript the type option must always be set.
  109383. *
  109384. * Configuration options for the series are given in three levels:
  109385. *
  109386. * 1. Options for all series in a chart are defined in the plotOptions.series
  109387. * object.
  109388. *
  109389. * 2. Options for all `pyramid` series are defined in plotOptions.pyramid.
  109390. *
  109391. * 3. Options for one single series are given in the series instance array. (see
  109392. * online documentation for example)
  109393. *
  109394. * You have to extend the `SeriesPyramidOptions` via an interface to allow
  109395. * custom properties: ``` declare interface SeriesPyramidOptions {
  109396. * customProperty: string; }
  109397. *
  109398. */
  109399. export interface SeriesPyramidOptions extends PlotPyramidOptions, SeriesOptions {
  109400. /**
  109401. * (Highcharts) An array of data points for the series. For the `pyramid`
  109402. * series type, points can be given in the following ways:
  109403. *
  109404. * 1. An array of numerical values. In this case, the numerical values will
  109405. * be interpreted as `y` options. Example: (see online documentation for
  109406. * example)
  109407. *
  109408. * 2. An array of objects with named values. The following snippet shows
  109409. * only a few settings, see the complete options set below. If the total
  109410. * number of data points exceeds the series' turboThreshold, this option is
  109411. * not available. (see online documentation for example)
  109412. */
  109413. data?: Array<(number|null|PointOptionsObject)>;
  109414. /**
  109415. * Not available
  109416. */
  109417. dataParser?: undefined;
  109418. /**
  109419. * Not available
  109420. */
  109421. dataURL?: undefined;
  109422. /**
  109423. * Not available
  109424. */
  109425. stack?: undefined;
  109426. /**
  109427. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109428. * TypeScript non-optional and might be `undefined` in series objects from
  109429. * unknown sources.
  109430. */
  109431. type: "pyramid";
  109432. /**
  109433. * Not available
  109434. */
  109435. xAxis?: undefined;
  109436. /**
  109437. * Not available
  109438. */
  109439. yAxis?: undefined;
  109440. }
  109441. /**
  109442. * (Highstock) A `ROC` series. If the type option is not specified, it is
  109443. * inherited from chart.type.
  109444. *
  109445. * Rate of change indicator (ROC). The indicator value for each point is defined
  109446. * as:
  109447. *
  109448. * `(C - Cn) / Cn * 100`
  109449. *
  109450. * where: `C` is the close value of the point of the same x in the linked series
  109451. * and `Cn` is the close value of the point `n` periods ago. `n` is set through
  109452. * period.
  109453. *
  109454. * This series requires `linkedTo` option to be set.
  109455. *
  109456. * In TypeScript the type option must always be set.
  109457. *
  109458. * Configuration options for the series are given in three levels:
  109459. *
  109460. * 1. Options for all series in a chart are defined in the plotOptions.series
  109461. * object.
  109462. *
  109463. * 2. Options for all `roc` series are defined in plotOptions.roc.
  109464. *
  109465. * 3. Options for one single series are given in the series instance array. (see
  109466. * online documentation for example)
  109467. *
  109468. * You have to extend the `SeriesRocOptions` via an interface to allow custom
  109469. * properties: ``` declare interface SeriesRocOptions { customProperty: string;
  109470. * }
  109471. *
  109472. */
  109473. export interface SeriesRocOptions extends PlotRocOptions, SeriesOptions {
  109474. /**
  109475. * Not available
  109476. */
  109477. dataParser?: undefined;
  109478. /**
  109479. * Not available
  109480. */
  109481. dataURL?: undefined;
  109482. /**
  109483. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109484. * TypeScript non-optional and might be `undefined` in series objects from
  109485. * unknown sources.
  109486. */
  109487. type: "roc";
  109488. }
  109489. /**
  109490. * (Highstock) A `RSI` series. If the type option is not specified, it is
  109491. * inherited from chart.type.
  109492. *
  109493. * In TypeScript the type option must always be set.
  109494. *
  109495. * Configuration options for the series are given in three levels:
  109496. *
  109497. * 1. Options for all series in a chart are defined in the plotOptions.series
  109498. * object.
  109499. *
  109500. * 2. Options for all `rsi` series are defined in plotOptions.rsi.
  109501. *
  109502. * 3. Options for one single series are given in the series instance array. (see
  109503. * online documentation for example)
  109504. *
  109505. * You have to extend the `SeriesRsiOptions` via an interface to allow custom
  109506. * properties: ``` declare interface SeriesRsiOptions { customProperty: string;
  109507. * }
  109508. *
  109509. */
  109510. export interface SeriesRsiOptions extends PlotRsiOptions, SeriesOptions {
  109511. /**
  109512. * Not available
  109513. */
  109514. dataParser?: undefined;
  109515. /**
  109516. * Not available
  109517. */
  109518. dataURL?: undefined;
  109519. /**
  109520. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109521. * TypeScript non-optional and might be `undefined` in series objects from
  109522. * unknown sources.
  109523. */
  109524. type: "rsi";
  109525. }
  109526. /**
  109527. * (Highcharts) Enable or disable the initial animation when a series is
  109528. * displayed for the `dataLabels`. The animation can also be set as a
  109529. * configuration object. Please note that this option only applies to the
  109530. * initial animation. For other animations, see chart.animation and the
  109531. * animation parameter under the API methods. The following properties are
  109532. * supported:
  109533. *
  109534. * - `defer`: The animation delay time in milliseconds.
  109535. */
  109536. export interface SeriesSankeyDataDataLabelsAnimationOptions {
  109537. /**
  109538. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  109539. * dataLabel immediately. As `undefined` inherits defer time from the
  109540. * series.animation.defer.
  109541. */
  109542. defer?: number;
  109543. }
  109544. /**
  109545. * Context for the node formatter function.
  109546. */
  109547. export interface SeriesSankeyDataLabelsFormatterContextObject extends PointLabelObject {
  109548. /**
  109549. * The node object. The node name, if defined, is available through
  109550. * `this.point.name`.
  109551. */
  109552. point: SankeyNodeObject;
  109553. }
  109554. /**
  109555. * (Highcharts, Highstock, Highmaps, Gantt) Individual data label for each node.
  109556. * The options are the same as the ones for series.sankey.dataLabels.
  109557. */
  109558. export interface SeriesSankeyDataLabelsOptionsObject {
  109559. /**
  109560. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  109561. * compared to the point. If `right`, the right side of the label should be
  109562. * touching the point. For points with an extent, like columns, the
  109563. * alignments also dictates how to align it inside the box, as given with
  109564. * the inside option. Can be one of `left`, `center` or `right`.
  109565. */
  109566. align?: string;
  109567. /**
  109568. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  109569. * overlap. To make the labels less sensitive for overlapping, the
  109570. * dataLabels.padding can be set to 0.
  109571. */
  109572. allowOverlap?: boolean;
  109573. /**
  109574. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  109575. * animation when a series is displayed for the `dataLabels`. The animation
  109576. * can also be set as a configuration object. Please note that this option
  109577. * only applies to the initial animation. For other animations, see
  109578. * chart.animation and the animation parameter under the API methods. The
  109579. * following properties are supported:
  109580. *
  109581. * - `defer`: The animation delay time in milliseconds.
  109582. */
  109583. animation?: (boolean|PlotDependencywheelDataLabelsAnimationOptions|PlotDependencywheelLevelsDataLabelsAnimationOptions|PlotOrganizationLevelsDataLabelsAnimationOptions|
  109584. PlotSankeyDataLabelsAnimationOptions|PlotSankeyLevelsDataLabelsAnimationOptions|SeriesDependencywheelNodesDataLabelsAnimationOptions|SeriesOrganizationNodesDataLabelsAnimationOptions|
  109585. SeriesSankeyNodesDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  109586. /**
  109587. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  109588. * for the data label.
  109589. */
  109590. backgroundColor?: string;
  109591. /**
  109592. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  109593. * label. Defaults to `undefined`.
  109594. */
  109595. borderColor?: (ColorString|GradientColorObject|PatternObject);
  109596. /**
  109597. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  109598. * the data label.
  109599. */
  109600. borderRadius?: number;
  109601. /**
  109602. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  109603. * the data label.
  109604. */
  109605. borderWidth?: number;
  109606. /**
  109607. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  109608. * Particularly in styled mode, this can be used to give each series' or
  109609. * point's data label unique styling. In addition to this option, a default
  109610. * color class name is added so that we can give the labels a contrast text
  109611. * shadow.
  109612. */
  109613. className?: string;
  109614. /**
  109615. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  109616. * labels. Defaults to `undefined`. For certain series types, like column or
  109617. * map, the data labels can be drawn inside the points. In this case the
  109618. * data label will be drawn with maximum contrast by default. Additionally,
  109619. * it will be given a `text-outline` style with the opposite color, to
  109620. * further increase the contrast. This can be overridden by setting the
  109621. * `text-outline` style to `none` in the `dataLabels.style` option.
  109622. */
  109623. color?: (ColorString|GradientColorObject|PatternObject);
  109624. /**
  109625. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  109626. * are outside the plot area. By default, the data label is moved inside the
  109627. * plot area according to the overflow option.
  109628. */
  109629. crop?: boolean;
  109630. /**
  109631. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  109632. * labels until the initial series animation has finished. Setting to
  109633. * `false` renders the data label immediately. If set to `true` inherits the
  109634. * defer time set in plotOptions.series.animation.
  109635. */
  109636. defer?: boolean;
  109637. /**
  109638. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  109639. * labels.
  109640. */
  109641. enabled?: boolean;
  109642. /**
  109643. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  109644. * of which data labels to display. The declarative filter is designed for
  109645. * use when callback functions are not available, like when the chart
  109646. * options require a pure JSON structure or for use with graphical editors.
  109647. * For programmatic control, use the `formatter` instead, and return
  109648. * `undefined` to disable a single data label.
  109649. */
  109650. filter?: DataLabelsFilterOptionsObject;
  109651. /**
  109652. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  109653. * label. Available variables are the same as for `formatter`.
  109654. */
  109655. format?: string;
  109656. /**
  109657. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  109658. * format the data label. Note that if a `format` is defined, the format
  109659. * takes precedence and the formatter is ignored.
  109660. */
  109661. formatter?: SeriesSankeyDataLabelsFormatterCallbackFunction;
  109662. /**
  109663. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  109664. * columns or map areas, whether to align the data label inside the box or
  109665. * to the actual value point. Defaults to `false` in most cases, `true` in
  109666. * stacked columns.
  109667. */
  109668. inside?: boolean;
  109669. /**
  109670. * (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
  109671. * what to show for _nodes_ in the sankey diagram. By default the
  109672. * `nodeFormatter` returns `{point.name}`.
  109673. */
  109674. nodeFormat?: string;
  109675. /**
  109676. * (Highcharts, Highstock, Highmaps, Gantt) Callback to format data labels
  109677. * for _nodes_ in the sankey diagram. The `nodeFormat` option takes
  109678. * precedence over the `nodeFormatter`.
  109679. */
  109680. nodeFormatter?: SeriesSankeyDataLabelsFormatterCallbackFunction;
  109681. /**
  109682. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  109683. * of null. Works analogously to format. `nullFormat` can be applied only to
  109684. * series which support displaying null points.
  109685. */
  109686. nullFormat?: (boolean|string);
  109687. /**
  109688. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  109689. * that defines formatting for points with the value of null. Works
  109690. * analogously to formatter. `nullPointFormatter` can be applied only to
  109691. * series which support displaying null points.
  109692. */
  109693. nullFormatter?: DataLabelsFormatterCallbackFunction;
  109694. /**
  109695. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  109696. * flow outside the plot area. The default is `"justify"`, which aligns them
  109697. * inside the plot area. For columns and bars, this means it will be moved
  109698. * inside the bar. To display data labels outside the plot area, set `crop`
  109699. * to `false` and `overflow` to `"allow"`.
  109700. */
  109701. overflow?: DataLabelsOverflowValue;
  109702. /**
  109703. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  109704. * the `backgroundColor` is set, this is the padding within the box.
  109705. */
  109706. padding?: number;
  109707. /**
  109708. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  109709. * points. If `center` alignment is not possible, it defaults to `right`.
  109710. */
  109711. position?: AlignValue;
  109712. /**
  109713. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  109714. * that due to a more complex structure, backgrounds, borders and padding
  109715. * will be lost on a rotated data label.
  109716. */
  109717. rotation?: number;
  109718. /**
  109719. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  109720. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  109721. * an object configuration containing `color`, `offsetX`, `offsetY`,
  109722. * `opacity` and `width`.
  109723. */
  109724. shadow?: (boolean|ShadowOptionsObject);
  109725. /**
  109726. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  109727. * the border around the label. Symbols are predefined functions on the
  109728. * Renderer object.
  109729. */
  109730. shape?: string;
  109731. /**
  109732. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  109733. * default `color` setting is `"contrast"`, which is a pseudo color that
  109734. * Highcharts picks up and applies the maximum contrast to the underlying
  109735. * point item, for example the bar in a bar chart.
  109736. *
  109737. * The `textOutline` is a pseudo property that applies an outline of the
  109738. * given width with the given color, which by default is the maximum
  109739. * contrast to the text. So a bright text color will result in a black text
  109740. * outline for maximum readability on a mixed background. In some cases,
  109741. * especially with grayscale text, the text outline doesn't work well, in
  109742. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  109743. * is true, the `textOutline` will not be picked up. In this, case, the same
  109744. * effect can be acheived through the `text-shadow` CSS property.
  109745. *
  109746. * For some series types, where each point has an extent, like for example
  109747. * tree maps, the data label may overflow the point. There are two
  109748. * strategies for handling overflow. By default, the text will wrap to
  109749. * multiple lines. The other strategy is to set `style.textOverflow` to
  109750. * `ellipsis`, which will keep the text on one line plus it will break
  109751. * inside long words.
  109752. */
  109753. style?: CSSObject;
  109754. /**
  109755. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  109756. * should follow marker's shape. Border and background are disabled for a
  109757. * label that follows a path.
  109758. *
  109759. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  109760. * to true will disable this option.
  109761. */
  109762. textPath?: DataLabelsTextPathOptionsObject;
  109763. /**
  109764. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  109765. * the labels.
  109766. */
  109767. useHTML?: boolean;
  109768. /**
  109769. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  109770. * label. Can be one of `top`, `middle` or `bottom`. The default value
  109771. * depends on the data, for instance in a column chart, the label is above
  109772. * positive values and below negative values.
  109773. */
  109774. verticalAlign?: string;
  109775. /**
  109776. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  109777. * label relative to the point in pixels.
  109778. */
  109779. x?: number;
  109780. /**
  109781. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  109782. * label relative to the point in pixels.
  109783. */
  109784. y?: number;
  109785. /**
  109786. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  109787. * The default Z index puts it above the series. Use a Z index of 2 to
  109788. * display it behind the series.
  109789. */
  109790. z?: number;
  109791. }
  109792. /**
  109793. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  109794. * animation when a series is displayed for the `dataLabels`. The animation can
  109795. * also be set as a configuration object. Please note that this option only
  109796. * applies to the initial animation. For other animations, see chart.animation
  109797. * and the animation parameter under the API methods. The following properties
  109798. * are supported:
  109799. *
  109800. * - `defer`: The animation delay time in milliseconds.
  109801. */
  109802. export interface SeriesSankeyNodesDataLabelsAnimationOptions {
  109803. /**
  109804. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  109805. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  109806. * inherits defer time from the series.animation.defer.
  109807. */
  109808. defer?: number;
  109809. }
  109810. /**
  109811. * (Highcharts) A collection of options for the individual nodes. The nodes in a
  109812. * sankey diagram are auto-generated instances of `Highcharts.Point`, but
  109813. * options can be applied here and linked by the `id`.
  109814. */
  109815. export interface SeriesSankeyNodesOptionsObject {
  109816. /**
  109817. * (Highcharts) The color of the auto generated node.
  109818. */
  109819. color?: (ColorString|GradientColorObject|PatternObject);
  109820. /**
  109821. * (Highcharts) The color index of the auto generated node, especially for
  109822. * use in styled mode.
  109823. */
  109824. colorIndex?: number;
  109825. /**
  109826. * (Highcharts) An optional column index of where to place the node. The
  109827. * default behaviour is to place it next to the preceding node. Note that
  109828. * this option name is counter intuitive in inverted charts, like for
  109829. * example an organization chart rendered top down. In this case the
  109830. * "columns" are horizontal.
  109831. */
  109832. column?: number;
  109833. /**
  109834. * (Highcharts, Highstock, Highmaps, Gantt) Individual data label for each
  109835. * node. The options are the same as the ones for series.sankey.dataLabels.
  109836. */
  109837. dataLabels?: (SeriesOrganizationDataLabelsOptionsObject|SeriesSankeyDataLabelsOptionsObject|SeriesSankeyDataLabelsOptionsObject|Array<SeriesOrganizationDataLabelsOptionsObject>|
  109838. Array<SeriesSankeyDataLabelsOptionsObject>);
  109839. /**
  109840. * (Highcharts) The job description for the node card, will be inserted by
  109841. * the default `dataLabel.nodeFormatter`.
  109842. */
  109843. description?: string;
  109844. /**
  109845. * (Highcharts) The id of the auto-generated node, refering to the `from` or
  109846. * `to` setting of the link.
  109847. */
  109848. id?: string;
  109849. /**
  109850. * (Highcharts) An image for the node card, will be inserted by the default
  109851. * `dataLabel.nodeFormatter`.
  109852. */
  109853. image?: string;
  109854. /**
  109855. * (Highcharts) Layout for the node's children. If `hanging`, this node's
  109856. * children will hang below their parent, allowing a tighter packing of
  109857. * nodes in the diagram.
  109858. */
  109859. layout?: SeriesOrganizationNodesLayoutValue;
  109860. /**
  109861. * (Highcharts) An optional level index of where to place the node. The
  109862. * default behaviour is to place it next to the preceding node. Alias of
  109863. * `nodes.column`, but in inverted sankeys and org charts, the levels are
  109864. * laid out as rows.
  109865. */
  109866. level?: number;
  109867. /**
  109868. * (Highcharts) The name to display for the node in data labels and
  109869. * tooltips. Use this when the name is different from the `id`. Where the id
  109870. * must be unique for each node, this is not necessary for the name.
  109871. */
  109872. name?: string;
  109873. /**
  109874. * (Highcharts) In a horizontal layout, the vertical offset of a node in
  109875. * terms of weight. Positive values shift the node downwards, negative shift
  109876. * it upwards. In a vertical layout, like organization chart, the offset is
  109877. * horizontal.
  109878. *
  109879. * If a percantage string is given, the node is offset by the percentage of
  109880. * the node size plus `nodePadding`.
  109881. */
  109882. offset?: (number|string);
  109883. /**
  109884. * (Highcharts) The job title for the node card, will be inserted by the
  109885. * default `dataLabel.nodeFormatter`.
  109886. */
  109887. title?: string;
  109888. }
  109889. /**
  109890. * (Highcharts) A `sankey` series. If the type option is not specified, it is
  109891. * inherited from chart.type.
  109892. *
  109893. * In TypeScript the type option must always be set.
  109894. *
  109895. * Configuration options for the series are given in three levels:
  109896. *
  109897. * 1. Options for all series in a chart are defined in the plotOptions.series
  109898. * object.
  109899. *
  109900. * 2. Options for all `sankey` series are defined in plotOptions.sankey.
  109901. *
  109902. * 3. Options for one single series are given in the series instance array. (see
  109903. * online documentation for example)
  109904. *
  109905. * You have to extend the `SeriesSankeyOptions` via an interface to allow custom
  109906. * properties: ``` declare interface SeriesSankeyOptions { customProperty:
  109907. * string; }
  109908. *
  109909. */
  109910. export interface SeriesSankeyOptions extends PlotSankeyOptions, SeriesOptions {
  109911. /**
  109912. * Not available
  109913. */
  109914. borderRadius?: undefined;
  109915. /**
  109916. * (Highcharts) An array of data points for the series. For the `sankey`
  109917. * series type, points can be given in the following way:
  109918. *
  109919. * An array of objects with named values. The following snippet shows only a
  109920. * few settings, see the complete options set below. If the total number of
  109921. * data points exceeds the series' turboThreshold, this option is not
  109922. * available. (see online documentation for example)
  109923. */
  109924. data?: Array<SeriesSankeyPointOptionsObject>;
  109925. /**
  109926. * Not available
  109927. */
  109928. dataParser?: undefined;
  109929. /**
  109930. * Not available
  109931. */
  109932. dataURL?: undefined;
  109933. /**
  109934. * Not available
  109935. */
  109936. depth?: undefined;
  109937. /**
  109938. * Not available
  109939. */
  109940. edgeColor?: undefined;
  109941. /**
  109942. * Not available
  109943. */
  109944. edgeWidth?: undefined;
  109945. /**
  109946. * Not available
  109947. */
  109948. grouping?: undefined;
  109949. /**
  109950. * Not available
  109951. */
  109952. groupPadding?: undefined;
  109953. /**
  109954. * Not available
  109955. */
  109956. groupZPadding?: undefined;
  109957. /**
  109958. * Not available
  109959. */
  109960. maxPointWidth?: undefined;
  109961. /**
  109962. * (Highcharts) A collection of options for the individual nodes. The nodes
  109963. * in a sankey diagram are auto-generated instances of `Highcharts.Point`,
  109964. * but options can be applied here and linked by the `id`.
  109965. */
  109966. nodes?: Array<SeriesSankeyNodesOptionsObject>;
  109967. /**
  109968. * Not available
  109969. */
  109970. pointPadding?: undefined;
  109971. /**
  109972. * Not available
  109973. */
  109974. pointWidth?: undefined;
  109975. /**
  109976. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109977. * TypeScript non-optional and might be `undefined` in series objects from
  109978. * unknown sources.
  109979. */
  109980. type: "sankey";
  109981. }
  109982. /**
  109983. * (Highcharts) An array of data points for the series. For the `sankey` series
  109984. * type, points can be given in the following way:
  109985. *
  109986. * An array of objects with named values. The following snippet shows only a few
  109987. * settings, see the complete options set below. If the total number of data
  109988. * points exceeds the series' turboThreshold, this option is not available. (see
  109989. * online documentation for example)
  109990. */
  109991. export interface SeriesSankeyPointOptionsObject {
  109992. /**
  109993. * (Highcharts) Accessibility options for a data point.
  109994. */
  109995. accessibility?: PointAccessibilityOptionsObject;
  109996. /**
  109997. * (Highcharts, Gantt) An additional, individual class name for the data
  109998. * point's graphic representation.
  109999. */
  110000. className?: string;
  110001. /**
  110002. * (Highcharts) The color for the individual _link_. By default, the link
  110003. * color is the same as the node it extends from. The `series.fillOpacity`
  110004. * option also applies to the points, so when setting a specific link color,
  110005. * consider setting the `fillOpacity` to 1.
  110006. */
  110007. color?: (ColorString|GradientColorObject|PatternObject);
  110008. /**
  110009. * (Highcharts, Gantt) A specific color index to use for the point, so its
  110010. * graphic representations are given the class name `highcharts-color-{n}`.
  110011. * In styled mode this will change the color of the graphic. In non-styled
  110012. * mode, the color by is set by the `fill` attribute, so the change in class
  110013. * name won't have a visual effect by default.
  110014. */
  110015. colorIndex?: number;
  110016. /**
  110017. * (Highcharts) A reserved subspace to store options and values for
  110018. * customized functionality. Here you can add additional data for your own
  110019. * event callbacks and formatter callbacks.
  110020. */
  110021. custom?: Dictionary<any>;
  110022. /**
  110023. * (Highcharts) Individual data label for each point. The options are the
  110024. * same as the ones for plotOptions.series.dataLabels.
  110025. */
  110026. dataLabels?: (DataLabelsOptions|SeriesOrganizationDataLabelsOptionsObject|SeriesSankeyDataLabelsOptionsObject|Array<SeriesOrganizationDataLabelsOptionsObject>|
  110027. Array<SeriesSankeyDataLabelsOptionsObject>);
  110028. /**
  110029. * (Highcharts) A description of the point to add to the screen reader
  110030. * information about the point.
  110031. */
  110032. description?: string;
  110033. /**
  110034. * (Highcharts, Highstock, Gantt) The individual point events.
  110035. */
  110036. events?: PointEventsOptionsObject;
  110037. /**
  110038. * (Highcharts) The node that the link runs from.
  110039. */
  110040. from?: string;
  110041. /**
  110042. * (Highcharts, Highstock, Gantt) An id for the point. This can be used
  110043. * after render time to get a pointer to the point object through
  110044. * `chart.get()`.
  110045. */
  110046. id?: string;
  110047. /**
  110048. * (Highcharts) The rank for this point's data label in case of collision.
  110049. * If two data labels are about to overlap, only the one with the highest
  110050. * `labelrank` will be drawn.
  110051. */
  110052. labelrank?: number;
  110053. /**
  110054. * (Highcharts) The name of the point as shown in the legend, tooltip,
  110055. * dataLabels, etc.
  110056. */
  110057. name?: string;
  110058. /**
  110059. * (Highcharts) Whether the link goes out of the system.
  110060. */
  110061. outgoing?: boolean;
  110062. /**
  110063. * (Highcharts, Highstock, Gantt) Whether the data point is selected
  110064. * initially.
  110065. */
  110066. selected?: boolean;
  110067. /**
  110068. * (Highcharts) The node that the link runs to.
  110069. */
  110070. to?: string;
  110071. /**
  110072. * (Highcharts) The weight of the link.
  110073. */
  110074. weight?: (number|null);
  110075. }
  110076. /**
  110077. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  110078. * series is displayed for the `dataLabels`. The animation can also be set as a
  110079. * configuration object. Please note that this option only applies to the
  110080. * initial animation. For other animations, see chart.animation and the
  110081. * animation parameter under the API methods. The following properties are
  110082. * supported:
  110083. *
  110084. * - `defer`: The animation delay time in milliseconds.
  110085. */
  110086. export interface SeriesScatter3dDataDataLabelsAnimationOptions {
  110087. /**
  110088. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  110089. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  110090. * time from the series.animation.defer.
  110091. */
  110092. defer?: number;
  110093. }
  110094. /**
  110095. * (Highcharts) Style options for the guide box. The guide box has one state by
  110096. * default, the `default` state.
  110097. */
  110098. export interface SeriesScatter3dDataDragDropGuideBoxOptions {
  110099. /**
  110100. * (Highcharts) Style options for the guide box default state.
  110101. */
  110102. default?: DragDropGuideBoxOptionsObject;
  110103. }
  110104. /**
  110105. * (Highcharts) A `scatter3d` series. If the type option is not specified, it is
  110106. * inherited from chart.type.
  110107. *
  110108. * scatter3d](#plotOptions.scatter3d).
  110109. *
  110110. * In TypeScript the type option must always be set.
  110111. *
  110112. * Configuration options for the series are given in three levels:
  110113. *
  110114. * 1. Options for all series in a chart are defined in the plotOptions.series
  110115. * object.
  110116. *
  110117. * 2. Options for all `scatter3d` series are defined in plotOptions.scatter3d.
  110118. *
  110119. * 3. Options for one single series are given in the series instance array. (see
  110120. * online documentation for example)
  110121. *
  110122. * You have to extend the `SeriesScatter3dOptions` via an interface to allow
  110123. * custom properties: ``` declare interface SeriesScatter3dOptions {
  110124. * customProperty: string; }
  110125. *
  110126. */
  110127. export interface SeriesScatter3dOptions extends PlotScatter3dOptions, SeriesOptions {
  110128. /**
  110129. * (Highcharts) An array of data points for the series. For the `scatter3d`
  110130. * series type, points can be given in the following ways:
  110131. *
  110132. * 1. An array of arrays with 3 values. In this case, the values correspond
  110133. * to `x,y,z`. If the first value is a string, it is applied as the name of
  110134. * the point, and the `x` value is inferred. (see online documentation for
  110135. * example)
  110136. *
  110137. * 3. An array of objects with named values. The following snippet shows
  110138. * only a few settings, see the complete options set below. If the total
  110139. * number of data points exceeds the series' turboThreshold, this option is
  110140. * not available. (see online documentation for example)
  110141. */
  110142. data?: Array<(Array<number>|PointOptionsObject)>;
  110143. /**
  110144. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110145. * TypeScript non-optional and might be `undefined` in series objects from
  110146. * unknown sources.
  110147. */
  110148. type: "scatter3d";
  110149. }
  110150. /**
  110151. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  110152. * series is displayed for the `dataLabels`. The animation can also be set as a
  110153. * configuration object. Please note that this option only applies to the
  110154. * initial animation. For other animations, see chart.animation and the
  110155. * animation parameter under the API methods. The following properties are
  110156. * supported:
  110157. *
  110158. * - `defer`: The animation delay time in milliseconds.
  110159. */
  110160. export interface SeriesScatterDataDataLabelsAnimationOptions {
  110161. /**
  110162. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  110163. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  110164. * time from the series.animation.defer.
  110165. */
  110166. defer?: number;
  110167. }
  110168. /**
  110169. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  110170. * one state by default, the `default` state.
  110171. */
  110172. export interface SeriesScatterDataDragDropGuideBoxOptions {
  110173. /**
  110174. * (Highcharts, Highstock) Style options for the guide box default state.
  110175. */
  110176. default?: DragDropGuideBoxOptionsObject;
  110177. }
  110178. /**
  110179. * (Highcharts, Highstock) A `scatter` series. If the type option is not
  110180. * specified, it is inherited from chart.type.
  110181. *
  110182. * In TypeScript the type option must always be set.
  110183. *
  110184. * Configuration options for the series are given in three levels:
  110185. *
  110186. * 1. Options for all series in a chart are defined in the plotOptions.series
  110187. * object.
  110188. *
  110189. * 2. Options for all `scatter` series are defined in plotOptions.scatter.
  110190. *
  110191. * 3. Options for one single series are given in the series instance array. (see
  110192. * online documentation for example)
  110193. *
  110194. * You have to extend the `SeriesScatterOptions` via an interface to allow
  110195. * custom properties: ``` declare interface SeriesScatterOptions {
  110196. * customProperty: string; }
  110197. *
  110198. */
  110199. export interface SeriesScatterOptions extends PlotScatterOptions, SeriesOptions {
  110200. /**
  110201. * (Highcharts, Highstock) An array of data points for the series. For the
  110202. * `scatter` series type, points can be given in the following ways:
  110203. *
  110204. * 1. An array of numerical values. In this case, the numerical values will
  110205. * be interpreted as `y` options. The `x` values will be automatically
  110206. * calculated, either starting at 0 and incremented by 1, or from
  110207. * `pointStart` and `pointInterval` given in the series options. If the axis
  110208. * has categories, these will be used. Example: (see online documentation
  110209. * for example)
  110210. *
  110211. * 2. An array of arrays with 2 values. In this case, the values correspond
  110212. * to `x,y`. If the first value is a string, it is applied as the name of
  110213. * the point, and the `x` value is inferred. (see online documentation for
  110214. * example)
  110215. *
  110216. * 3. An array of objects with named values. The following snippet shows
  110217. * only a few settings, see the complete options set below. If the total
  110218. * number of data points exceeds the series' turboThreshold, this option is
  110219. * not available. (see online documentation for example)
  110220. */
  110221. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  110222. /**
  110223. * Not available
  110224. */
  110225. dataParser?: undefined;
  110226. /**
  110227. * Not available
  110228. */
  110229. dataURL?: undefined;
  110230. /**
  110231. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110232. * TypeScript non-optional and might be `undefined` in series objects from
  110233. * unknown sources.
  110234. */
  110235. type: "scatter";
  110236. /**
  110237. * Not available
  110238. */
  110239. useOhlcData?: undefined;
  110240. }
  110241. /**
  110242. * (Highstock) A Slow Stochastic indicator. If the type option is not specified,
  110243. * it is inherited from chart.type.
  110244. *
  110245. * In TypeScript the type option must always be set.
  110246. *
  110247. * Configuration options for the series are given in three levels:
  110248. *
  110249. * 1. Options for all series in a chart are defined in the plotOptions.series
  110250. * object.
  110251. *
  110252. * 2. Options for all `slowstochastic` series are defined in
  110253. * plotOptions.slowstochastic.
  110254. *
  110255. * 3. Options for one single series are given in the series instance array. (see
  110256. * online documentation for example)
  110257. *
  110258. * You have to extend the `SeriesSlowstochasticOptions` via an interface to
  110259. * allow custom properties: ``` declare interface SeriesSlowstochasticOptions {
  110260. * customProperty: string; }
  110261. *
  110262. */
  110263. export interface SeriesSlowstochasticOptions extends PlotSlowstochasticOptions, SeriesOptions {
  110264. /**
  110265. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110266. * TypeScript non-optional and might be `undefined` in series objects from
  110267. * unknown sources.
  110268. */
  110269. type: "slowstochastic";
  110270. }
  110271. /**
  110272. * (Highstock) A `SMA` series. If the type option is not specified, it is
  110273. * inherited from chart.type.
  110274. *
  110275. * In TypeScript the type option must always be set.
  110276. *
  110277. * Configuration options for the series are given in three levels:
  110278. *
  110279. * 1. Options for all series in a chart are defined in the plotOptions.series
  110280. * object.
  110281. *
  110282. * 2. Options for all `sma` series are defined in plotOptions.sma.
  110283. *
  110284. * 3. Options for one single series are given in the series instance array. (see
  110285. * online documentation for example)
  110286. *
  110287. * You have to extend the `SeriesSmaOptions` via an interface to allow custom
  110288. * properties: ``` declare interface SeriesSmaOptions { customProperty: string;
  110289. * }
  110290. *
  110291. */
  110292. export interface SeriesSmaOptions extends PlotSmaOptions, SeriesOptions {
  110293. /**
  110294. * Not available
  110295. */
  110296. dataParser?: undefined;
  110297. /**
  110298. * Not available
  110299. */
  110300. dataURL?: undefined;
  110301. /**
  110302. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110303. * TypeScript non-optional and might be `undefined` in series objects from
  110304. * unknown sources.
  110305. */
  110306. type: "sma";
  110307. /**
  110308. * Not available
  110309. */
  110310. useOhlcData?: undefined;
  110311. }
  110312. /**
  110313. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  110314. * series is displayed for the `dataLabels`. The animation can also be set as a
  110315. * configuration object. Please note that this option only applies to the
  110316. * initial animation. For other animations, see chart.animation and the
  110317. * animation parameter under the API methods. The following properties are
  110318. * supported:
  110319. *
  110320. * - `defer`: The animation delay time in milliseconds.
  110321. */
  110322. export interface SeriesSolidgaugeDataDataLabelsAnimationOptions {
  110323. /**
  110324. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  110325. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  110326. * time from the series.animation.defer.
  110327. */
  110328. defer?: number;
  110329. }
  110330. /**
  110331. * (Highcharts) Style options for the guide box. The guide box has one state by
  110332. * default, the `default` state.
  110333. */
  110334. export interface SeriesSolidgaugeDataDragDropGuideBoxOptions {
  110335. /**
  110336. * (Highcharts) Style options for the guide box default state.
  110337. */
  110338. default?: DragDropGuideBoxOptionsObject;
  110339. }
  110340. /**
  110341. * (Highcharts) A `solidgauge` series. If the type option is not specified, it
  110342. * is inherited from chart.type.
  110343. *
  110344. * In TypeScript the type option must always be set.
  110345. *
  110346. * Configuration options for the series are given in three levels:
  110347. *
  110348. * 1. Options for all series in a chart are defined in the plotOptions.series
  110349. * object.
  110350. *
  110351. * 2. Options for all `solidgauge` series are defined in plotOptions.solidgauge.
  110352. *
  110353. * 3. Options for one single series are given in the series instance array. (see
  110354. * online documentation for example)
  110355. *
  110356. * You have to extend the `SeriesSolidgaugeOptions` via an interface to allow
  110357. * custom properties: ``` declare interface SeriesSolidgaugeOptions {
  110358. * customProperty: string; }
  110359. *
  110360. */
  110361. export interface SeriesSolidgaugeOptions extends PlotSolidgaugeOptions, SeriesOptions {
  110362. /**
  110363. * (Highcharts) An array of data points for the series. For the `solidgauge`
  110364. * series type, points can be given in the following ways:
  110365. *
  110366. * 1. An array of numerical values. In this case, the numerical values will
  110367. * be interpreted as `y` options. Example: (see online documentation for
  110368. * example)
  110369. *
  110370. * 2. An array of objects with named values. The following snippet shows
  110371. * only a few settings, see the complete options set below. If the total
  110372. * number of data points exceeds the series' turboThreshold, this option is
  110373. * not available. (see online documentation for example)
  110374. *
  110375. * The typical gauge only contains a single data value.
  110376. */
  110377. data?: Array<(number|null|PointOptionsObject)>;
  110378. /**
  110379. * Not available
  110380. */
  110381. dataParser?: undefined;
  110382. /**
  110383. * Not available
  110384. */
  110385. dataURL?: undefined;
  110386. /**
  110387. * Not available
  110388. */
  110389. dial?: undefined;
  110390. /**
  110391. * Not available
  110392. */
  110393. pivot?: undefined;
  110394. /**
  110395. * Not available
  110396. */
  110397. stack?: undefined;
  110398. /**
  110399. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110400. * TypeScript non-optional and might be `undefined` in series objects from
  110401. * unknown sources.
  110402. */
  110403. type: "solidgauge";
  110404. /**
  110405. * Not available
  110406. */
  110407. wrap?: undefined;
  110408. }
  110409. /**
  110410. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  110411. * series is displayed for the `dataLabels`. The animation can also be set as a
  110412. * configuration object. Please note that this option only applies to the
  110413. * initial animation. For other animations, see chart.animation and the
  110414. * animation parameter under the API methods. The following properties are
  110415. * supported:
  110416. *
  110417. * - `defer`: The animation delay time in milliseconds.
  110418. */
  110419. export interface SeriesSplineDataDataLabelsAnimationOptions {
  110420. /**
  110421. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  110422. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  110423. * time from the series.animation.defer.
  110424. */
  110425. defer?: number;
  110426. }
  110427. /**
  110428. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  110429. * one state by default, the `default` state.
  110430. */
  110431. export interface SeriesSplineDataDragDropGuideBoxOptions {
  110432. /**
  110433. * (Highcharts, Highstock) Style options for the guide box default state.
  110434. */
  110435. default?: DragDropGuideBoxOptionsObject;
  110436. }
  110437. /**
  110438. * (Highcharts, Highstock) A `spline` series. If the type option is not
  110439. * specified, it is inherited from chart.type.
  110440. *
  110441. * In TypeScript the type option must always be set.
  110442. *
  110443. * Configuration options for the series are given in three levels:
  110444. *
  110445. * 1. Options for all series in a chart are defined in the plotOptions.series
  110446. * object.
  110447. *
  110448. * 2. Options for all `spline` series are defined in plotOptions.spline.
  110449. *
  110450. * 3. Options for one single series are given in the series instance array. (see
  110451. * online documentation for example)
  110452. *
  110453. * You have to extend the `SeriesSplineOptions` via an interface to allow custom
  110454. * properties: ``` declare interface SeriesSplineOptions { customProperty:
  110455. * string; }
  110456. *
  110457. */
  110458. export interface SeriesSplineOptions extends PlotSplineOptions, SeriesOptions {
  110459. /**
  110460. * (Highcharts, Highstock) An array of data points for the series. For the
  110461. * `spline` series type, points can be given in the following ways:
  110462. *
  110463. * 1. An array of numerical values. In this case, the numerical values will
  110464. * be interpreted as `y` options. The `x` values will be automatically
  110465. * calculated, either starting at 0 and incremented by 1, or from
  110466. * `pointStart` and `pointInterval` given in the series options. If the axis
  110467. * has categories, these will be used. Example: (see online documentation
  110468. * for example)
  110469. *
  110470. * 2. An array of arrays with 2 values. In this case, the values correspond
  110471. * to `x,y`. If the first value is a string, it is applied as the name of
  110472. * the point, and the `x` value is inferred. (see online documentation for
  110473. * example)
  110474. *
  110475. * 3. An array of objects with named values. The following snippet shows
  110476. * only a few settings, see the complete options set below. If the total
  110477. * number of data points exceeds the series' turboThreshold, this option is
  110478. * not available. (see online documentation for example)
  110479. */
  110480. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  110481. /**
  110482. * Not available
  110483. */
  110484. dataParser?: undefined;
  110485. /**
  110486. * Not available
  110487. */
  110488. dataURL?: undefined;
  110489. /**
  110490. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110491. * TypeScript non-optional and might be `undefined` in series objects from
  110492. * unknown sources.
  110493. */
  110494. type: "spline";
  110495. }
  110496. /**
  110497. * (Highcharts, Highstock) Options for the halo appearing around the hovered
  110498. * point in line-type series as well as outside the hovered slice in pie charts.
  110499. * By default the halo is filled by the current point or series color with an
  110500. * opacity of 0.25\. The halo can be disabled by setting the `halo` option to
  110501. * `null`.
  110502. *
  110503. * In styled mode, the halo is styled with the `.highcharts-halo` class, with
  110504. * colors inherited from `.highcharts-color-{n}`.
  110505. */
  110506. export interface SeriesStatesHoverHaloOptionsObject {
  110507. /**
  110508. * (Highcharts, Highstock) A collection of SVG attributes to override the
  110509. * appearance of the halo, for example `fill`, `stroke` and `stroke-width`.
  110510. */
  110511. attributes?: (PlotTilemapStatesHoverHaloAttributesOptions|SVGAttributes);
  110512. enabled?: boolean;
  110513. /**
  110514. * (Highcharts, Highstock) Opacity for the halo unless a specific fill is
  110515. * overridden using the `attributes` setting. Note that Highcharts is only
  110516. * able to apply opacity to colors of hex or rgb(a) formats.
  110517. */
  110518. opacity?: number;
  110519. /**
  110520. * (Highcharts, Highstock) The pixel size of the halo. For point markers
  110521. * this is the radius of the halo. For pie slices it is the width of the
  110522. * halo outside the slice. For bubbles it defaults to 5 and is the width of
  110523. * the halo outside the bubble.
  110524. */
  110525. size?: number;
  110526. }
  110527. /**
  110528. * (Highstock) Options for the hovered series. These settings override the
  110529. * normal state options when a series is moused over or touched.
  110530. */
  110531. export interface SeriesStatesHoverOptionsObject {
  110532. /**
  110533. * (Highcharts, Highstock) Animation setting for hovering the graph in
  110534. * line-type series.
  110535. */
  110536. animation?: (boolean|Partial<AnimationOptionsObject>);
  110537. /**
  110538. * (Highmaps) The border color of the point in this state.
  110539. */
  110540. borderColor?: (string|ColorString|GradientColorObject|PatternObject);
  110541. /**
  110542. * (Highmaps) The border width of the point in this state
  110543. */
  110544. borderWidth?: number;
  110545. /**
  110546. * (Highmaps) The relative brightness of the point when hovered, relative to
  110547. * the normal point color.
  110548. */
  110549. brightness?: number;
  110550. /**
  110551. * (Highmaps) The color of the shape in this state.
  110552. */
  110553. color?: (ColorString|GradientColorObject|PatternObject);
  110554. /**
  110555. * (Highcharts, Highstock) The additional connector line width for a hovered
  110556. * point.
  110557. */
  110558. connectorWidthPlus?: number;
  110559. /**
  110560. * (Highstock) Enable separate styles for the hovered series to visualize
  110561. * that the user hovers either the series itself or the legend.
  110562. */
  110563. enabled?: boolean;
  110564. /**
  110565. * (Highstock) The fill or background color of the flag.
  110566. */
  110567. fillColor?: (ColorString|GradientColorObject|PatternObject);
  110568. /**
  110569. * (Highcharts, Highstock) Options for the halo appearing around the hovered
  110570. * point in line-type series as well as outside the hovered slice in pie
  110571. * charts. By default the halo is filled by the current point or series
  110572. * color with an opacity of 0.25\. The halo can be disabled by setting the
  110573. * `halo` option to `null`.
  110574. *
  110575. * In styled mode, the halo is styled with the `.highcharts-halo` class,
  110576. * with colors inherited from `.highcharts-color-{n}`.
  110577. */
  110578. halo?: (SeriesStatesHoverHaloOptionsObject|null);
  110579. /**
  110580. * (Highstock) The color of the line/border of the flag.
  110581. */
  110582. lineColor?: (ColorString|GradientColorObject|PatternObject);
  110583. /**
  110584. * (Highcharts, Highstock) Pixel width of the graph line. By default this
  110585. * property is undefined, and the `lineWidthPlus` property dictates how much
  110586. * to increase the linewidth from normal state.
  110587. */
  110588. lineWidth?: number;
  110589. /**
  110590. * (Highcharts, Highstock) The additional line width for the graph of a
  110591. * hovered series.
  110592. */
  110593. lineWidthPlus?: number;
  110594. /**
  110595. * (Highcharts, Highstock, Gantt) Opacity for the links between nodes in the
  110596. * sankey diagram in hover mode.
  110597. */
  110598. linkOpacity?: number;
  110599. /**
  110600. * (Highcharts) The opacity of a point in treemap. When a point has
  110601. * children, the visibility of the children is determined by the opacity.
  110602. */
  110603. opacity?: number;
  110604. /**
  110605. * (Highcharts) The shadow option for hovered state.
  110606. */
  110607. shadow?: boolean;
  110608. }
  110609. /**
  110610. * (Highstock) The opposite state of a hover for series.
  110611. */
  110612. export interface SeriesStatesInactiveOptionsObject {
  110613. /**
  110614. * (Highstock) Animation when not hovering over the marker.
  110615. */
  110616. animation?: (boolean|Partial<AnimationOptionsObject>);
  110617. /**
  110618. * (Highstock) Enable or disable the inactive state for a series
  110619. */
  110620. enabled?: boolean;
  110621. /**
  110622. * (Highcharts) Opacity for the links between nodes in the sankey diagram in
  110623. * inactive mode.
  110624. */
  110625. linkOpacity?: number;
  110626. /**
  110627. * (Highstock) Opacity of inactive markers.
  110628. */
  110629. opacity?: number;
  110630. }
  110631. /**
  110632. * (Highstock) The normal state of a series, or for point items in column, pie
  110633. * and similar series. Currently only used for setting animation when returning
  110634. * to normal state from hover.
  110635. */
  110636. export interface SeriesStatesNormalOptionsObject {
  110637. /**
  110638. * (Highstock) Animation when returning to normal state after hovering.
  110639. */
  110640. animation?: (boolean|Partial<AnimationOptionsObject>);
  110641. }
  110642. /**
  110643. * (Highcharts) A wrapper object for all the series options in specific states.
  110644. */
  110645. export interface SeriesStatesOptionsObject {
  110646. /**
  110647. * (Highstock) Options for the hovered series. These settings override the
  110648. * normal state options when a series is moused over or touched.
  110649. */
  110650. hover?: SeriesStatesHoverOptionsObject;
  110651. /**
  110652. * (Highstock) The opposite state of a hover for series.
  110653. */
  110654. inactive?: SeriesStatesInactiveOptionsObject;
  110655. /**
  110656. * (Highstock) The normal state of a series, or for point items in column,
  110657. * pie and similar series. Currently only used for setting animation when
  110658. * returning to normal state from hover.
  110659. */
  110660. normal?: SeriesStatesNormalOptionsObject;
  110661. /**
  110662. * (Highstock) Specific options for point in selected states, after being
  110663. * selected by allowPointSelect or programmatically.
  110664. */
  110665. select?: SeriesStatesSelectOptionsObject;
  110666. }
  110667. /**
  110668. * (Highstock) Specific options for point in selected states, after being
  110669. * selected by allowPointSelect or programmatically.
  110670. */
  110671. export interface SeriesStatesSelectOptionsObject {
  110672. /**
  110673. * (Highcharts, Highstock) Animation setting for hovering the graph in
  110674. * line-type series.
  110675. */
  110676. animation?: (boolean|Partial<AnimationOptionsObject>);
  110677. /**
  110678. * (Highmaps) The border color of the point in this state.
  110679. */
  110680. borderColor?: (string|ColorString|GradientColorObject|PatternObject);
  110681. /**
  110682. * (Highmaps) The border width of the point in this state
  110683. */
  110684. borderWidth?: number;
  110685. /**
  110686. * (Highmaps) The color of the shape in this state.
  110687. */
  110688. color?: (string|ColorString|GradientColorObject|PatternObject);
  110689. /**
  110690. * (Highstock) Enable separate styles for the hovered series to visualize
  110691. * that the user hovers either the series itself or the legend.
  110692. */
  110693. enabled?: boolean;
  110694. /**
  110695. * (Highcharts, Highstock) Options for the halo appearing around the hovered
  110696. * point in line-type series as well as outside the hovered slice in pie
  110697. * charts. By default the halo is filled by the current point or series
  110698. * color with an opacity of 0.25\. The halo can be disabled by setting the
  110699. * `halo` option to `null`.
  110700. *
  110701. * In styled mode, the halo is styled with the `.highcharts-halo` class,
  110702. * with colors inherited from `.highcharts-color-{n}`.
  110703. */
  110704. halo?: (SeriesStatesHoverHaloOptionsObject|null);
  110705. /**
  110706. * (Highcharts, Highstock) Pixel width of the graph line. By default this
  110707. * property is undefined, and the `lineWidthPlus` property dictates how much
  110708. * to increase the linewidth from normal state.
  110709. */
  110710. lineWidth?: number;
  110711. /**
  110712. * (Highcharts, Highstock) The additional line width for the graph of a
  110713. * hovered series.
  110714. */
  110715. lineWidthPlus?: number;
  110716. }
  110717. /**
  110718. * (Highstock) A Stochastic indicator. If the type option is not specified, it
  110719. * is inherited from chart.type.
  110720. *
  110721. * In TypeScript the type option must always be set.
  110722. *
  110723. * Configuration options for the series are given in three levels:
  110724. *
  110725. * 1. Options for all series in a chart are defined in the plotOptions.series
  110726. * object.
  110727. *
  110728. * 2. Options for all `stochastic` series are defined in plotOptions.stochastic.
  110729. *
  110730. * 3. Options for one single series are given in the series instance array. (see
  110731. * online documentation for example)
  110732. *
  110733. * You have to extend the `SeriesStochasticOptions` via an interface to allow
  110734. * custom properties: ``` declare interface SeriesStochasticOptions {
  110735. * customProperty: string; }
  110736. *
  110737. */
  110738. export interface SeriesStochasticOptions extends PlotStochasticOptions, SeriesOptions {
  110739. /**
  110740. * Not available
  110741. */
  110742. dataParser?: undefined;
  110743. /**
  110744. * Not available
  110745. */
  110746. dataURL?: undefined;
  110747. /**
  110748. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110749. * TypeScript non-optional and might be `undefined` in series objects from
  110750. * unknown sources.
  110751. */
  110752. type: "stochastic";
  110753. }
  110754. /**
  110755. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  110756. * series is displayed for the `dataLabels`. The animation can also be set as a
  110757. * configuration object. Please note that this option only applies to the
  110758. * initial animation. For other animations, see chart.animation and the
  110759. * animation parameter under the API methods. The following properties are
  110760. * supported:
  110761. *
  110762. * - `defer`: The animation delay time in milliseconds.
  110763. */
  110764. export interface SeriesStreamgraphDataDataLabelsAnimationOptions {
  110765. /**
  110766. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  110767. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  110768. * time from the series.animation.defer.
  110769. */
  110770. defer?: number;
  110771. }
  110772. /**
  110773. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  110774. * one state by default, the `default` state.
  110775. */
  110776. export interface SeriesStreamgraphDataDragDropGuideBoxOptions {
  110777. /**
  110778. * (Highcharts, Highstock) Style options for the guide box default state.
  110779. */
  110780. default?: DragDropGuideBoxOptionsObject;
  110781. }
  110782. /**
  110783. * (Highcharts, Highstock) A `streamgraph` series. If the type option is not
  110784. * specified, it is inherited from chart.type.
  110785. *
  110786. * In TypeScript the type option must always be set.
  110787. *
  110788. * Configuration options for the series are given in three levels:
  110789. *
  110790. * 1. Options for all series in a chart are defined in the plotOptions.series
  110791. * object.
  110792. *
  110793. * 2. Options for all `streamgraph` series are defined in
  110794. * plotOptions.streamgraph.
  110795. *
  110796. * 3. Options for one single series are given in the series instance array. (see
  110797. * online documentation for example)
  110798. *
  110799. * You have to extend the `SeriesStreamgraphOptions` via an interface to allow
  110800. * custom properties: ``` declare interface SeriesStreamgraphOptions {
  110801. * customProperty: string; }
  110802. *
  110803. */
  110804. export interface SeriesStreamgraphOptions extends PlotStreamgraphOptions, SeriesOptions {
  110805. /**
  110806. * (Highcharts, Highstock) An array of data points for the series. For the
  110807. * `streamgraph` series type, points can be given in the following ways:
  110808. *
  110809. * 1. An array of numerical values. In this case, the numerical values will
  110810. * be interpreted as `y` options. The `x` values will be automatically
  110811. * calculated, either starting at 0 and incremented by 1, or from
  110812. * `pointStart` and `pointInterval` given in the series options. If the axis
  110813. * has categories, these will be used. Example: (see online documentation
  110814. * for example)
  110815. *
  110816. * 2. An array of arrays with 2 values. In this case, the values correspond
  110817. * to `x,y`. If the first value is a string, it is applied as the name of
  110818. * the point, and the `x` value is inferred. (see online documentation for
  110819. * example)
  110820. *
  110821. * 3. An array of objects with named values. The following snippet shows
  110822. * only a few settings, see the complete options set below. If the total
  110823. * number of data points exceeds the series' turboThreshold, this option is
  110824. * not available. (see online documentation for example)
  110825. */
  110826. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  110827. /**
  110828. * Not available
  110829. */
  110830. dataParser?: undefined;
  110831. /**
  110832. * Not available
  110833. */
  110834. dataURL?: undefined;
  110835. /**
  110836. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110837. * TypeScript non-optional and might be `undefined` in series objects from
  110838. * unknown sources.
  110839. */
  110840. type: "streamgraph";
  110841. }
  110842. /**
  110843. * (Highcharts) Enable or disable the initial animation when a series is
  110844. * displayed for the `dataLabels`. The animation can also be set as a
  110845. * configuration object. Please note that this option only applies to the
  110846. * initial animation. For other animations, see chart.animation and the
  110847. * animation parameter under the API methods. The following properties are
  110848. * supported:
  110849. *
  110850. * - `defer`: The animation delay time in milliseconds.
  110851. */
  110852. export interface SeriesSunburstDataDataLabelsAnimationOptions {
  110853. /**
  110854. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  110855. * dataLabel immediately. As `undefined` inherits defer time from the
  110856. * series.animation.defer.
  110857. */
  110858. defer?: number;
  110859. }
  110860. /**
  110861. * (Highcharts) Style options for the guide box. The guide box has one state by
  110862. * default, the `default` state.
  110863. */
  110864. export interface SeriesSunburstDataDragDropGuideBoxOptions {
  110865. /**
  110866. * (Highcharts) Style options for the guide box default state.
  110867. */
  110868. default?: DragDropGuideBoxOptionsObject;
  110869. }
  110870. /**
  110871. * (Highcharts, Highstock, Highmaps, Gantt) Can set `dataLabels` on all points
  110872. * which lies on the same level.
  110873. */
  110874. export interface SeriesSunburstDataLabelsOptionsObject {
  110875. /**
  110876. * (Highcharts) Alignment method for data labels. Possible values are:
  110877. *
  110878. * - `toPlotEdges`: Each label touches the nearest vertical edge of the plot
  110879. * area.
  110880. *
  110881. * - `connectors`: Connectors have the same x position and the widest label
  110882. * of each half (left & right) touches the nearest vertical edge of the plot
  110883. * area.
  110884. */
  110885. alignTo?: string;
  110886. allowOverlap?: boolean;
  110887. /**
  110888. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  110889. * animation when a series is displayed for the `dataLabels`. The animation
  110890. * can also be set as a configuration object. Please note that this option
  110891. * only applies to the initial animation. For other animations, see
  110892. * chart.animation and the animation parameter under the API methods. The
  110893. * following properties are supported:
  110894. *
  110895. * - `defer`: The animation delay time in milliseconds.
  110896. */
  110897. animation?: (boolean|PlotSunburstDataLabelsAnimationOptions|PlotSunburstLevelsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  110898. /**
  110899. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  110900. * for the data label.
  110901. */
  110902. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  110903. /**
  110904. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  110905. * label. Defaults to `undefined`.
  110906. */
  110907. borderColor?: (ColorString|GradientColorObject|PatternObject);
  110908. /**
  110909. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  110910. * the data label.
  110911. */
  110912. borderRadius?: number;
  110913. /**
  110914. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  110915. * the data label.
  110916. */
  110917. borderWidth?: number;
  110918. /**
  110919. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  110920. * Particularly in styled mode, this can be used to give each series' or
  110921. * point's data label unique styling. In addition to this option, a default
  110922. * color class name is added so that we can give the labels a contrast text
  110923. * shadow.
  110924. */
  110925. className?: string;
  110926. /**
  110927. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  110928. * labels. Defaults to `undefined`. For certain series types, like column or
  110929. * map, the data labels can be drawn inside the points. In this case the
  110930. * data label will be drawn with maximum contrast by default. Additionally,
  110931. * it will be given a `text-outline` style with the opposite color, to
  110932. * further increase the contrast. This can be overridden by setting the
  110933. * `text-outline` style to `none` in the `dataLabels.style` option.
  110934. */
  110935. color?: (ColorString|GradientColorObject|PatternObject);
  110936. /**
  110937. * (Highcharts) The color of the line connecting the data label to the pie
  110938. * slice. The default color is the same as the point's color.
  110939. *
  110940. * In styled mode, the connector stroke is given in the
  110941. * `.highcharts-data-label-connector` class.
  110942. */
  110943. connectorColor?: (ColorString|GradientColorObject|PatternObject);
  110944. /**
  110945. * (Highcharts) The distance from the data label to the connector. Note that
  110946. * data labels also have a default `padding`, so in order for the connector
  110947. * to touch the text, the `padding` must also be 0.
  110948. */
  110949. connectorPadding?: number;
  110950. /**
  110951. * (Highcharts) Specifies the method that is used to generate the connector
  110952. * path. Highcharts provides 3 built-in connector shapes: `'fixedOffset'`
  110953. * (default), `'straight'` and `'crookedLine'`. Using `'crookedLine'` has
  110954. * the most sense (in most of the cases) when `'alignTo'` is set.
  110955. *
  110956. * Users can provide their own method by passing a function instead of a
  110957. * String. 3 arguments are passed to the callback:
  110958. *
  110959. * - Object that holds the information about the coordinates of the label
  110960. * (`x` & `y` properties) and how the label is located in relation to the
  110961. * pie (`alignment` property). `alignment` can by one of the following:
  110962. * `'left'` (pie on the left side of the data label), `'right'` (pie on the
  110963. * right side of the data label) or `'center'` (data label overlaps the
  110964. * pie).
  110965. *
  110966. * - Object that holds the information about the position of the connector.
  110967. * Its `touchingSliceAt` porperty tells the position of the place where the
  110968. * connector touches the slice.
  110969. *
  110970. * - Data label options
  110971. *
  110972. * The function has to return an SVG path definition in array form (see the
  110973. * example).
  110974. */
  110975. connectorShape?: (string|Function);
  110976. /**
  110977. * (Highcharts) The width of the line connecting the data label to the pie
  110978. * slice.
  110979. *
  110980. * In styled mode, the connector stroke width is given in the
  110981. * `.highcharts-data-label-connector` class.
  110982. */
  110983. connectorWidth?: number;
  110984. /**
  110985. * (Highcharts) Works only if `connectorShape` is `'crookedLine'`. It
  110986. * defines how far from the vertical plot edge the coonnector path should be
  110987. * crooked.
  110988. */
  110989. crookDistance?: string;
  110990. /**
  110991. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  110992. * are outside the plot area. By default, the data label is moved inside the
  110993. * plot area according to the overflow option.
  110994. */
  110995. crop?: boolean;
  110996. /**
  110997. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  110998. * labels until the initial series animation has finished. Setting to
  110999. * `false` renders the data label immediately. If set to `true` inherits the
  111000. * defer time set in plotOptions.series.animation.
  111001. */
  111002. defer?: boolean;
  111003. /**
  111004. * (Highcharts) The distance of the data label from the pie's edge. Negative
  111005. * numbers put the data label on top of the pie slices. Can also be defined
  111006. * as a percentage of pie's radius. Connectors are only shown for data
  111007. * labels outside the pie.
  111008. */
  111009. distance?: (number|string);
  111010. /**
  111011. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  111012. * labels.
  111013. */
  111014. enabled?: boolean;
  111015. /**
  111016. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  111017. * of which data labels to display. The declarative filter is designed for
  111018. * use when callback functions are not available, like when the chart
  111019. * options require a pure JSON structure or for use with graphical editors.
  111020. * For programmatic control, use the `formatter` instead, and return
  111021. * `undefined` to disable a single data label.
  111022. */
  111023. filter?: DataLabelsFilterOptionsObject;
  111024. /**
  111025. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  111026. * label. Available variables are the same as for `formatter`.
  111027. */
  111028. format?: string;
  111029. /**
  111030. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  111031. * format the data label. Note that if a `format` is defined, the format
  111032. * takes precedence and the formatter is ignored.
  111033. */
  111034. formatter?: DataLabelsFormatterCallbackFunction;
  111035. /**
  111036. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  111037. * of null. Works analogously to format. `nullFormat` can be applied only to
  111038. * series which support displaying null points.
  111039. */
  111040. nullFormat?: (boolean|string);
  111041. /**
  111042. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  111043. * that defines formatting for points with the value of null. Works
  111044. * analogously to formatter. `nullPointFormatter` can be applied only to
  111045. * series which support displaying null points.
  111046. */
  111047. nullFormatter?: DataLabelsFormatterCallbackFunction;
  111048. /**
  111049. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  111050. * flow outside the plot area. The default is `"justify"`, which aligns them
  111051. * inside the plot area. For columns and bars, this means it will be moved
  111052. * inside the bar. To display data labels outside the plot area, set `crop`
  111053. * to `false` and `overflow` to `"allow"`.
  111054. */
  111055. overflow?: DataLabelsOverflowValue;
  111056. /**
  111057. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  111058. * the `backgroundColor` is set, this is the padding within the box.
  111059. */
  111060. padding?: number;
  111061. /**
  111062. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  111063. * points. If `center` alignment is not possible, it defaults to `right`.
  111064. */
  111065. position?: AlignValue;
  111066. /**
  111067. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  111068. * that due to a more complex structure, backgrounds, borders and padding
  111069. * will be lost on a rotated data label.
  111070. */
  111071. rotation?: number;
  111072. /**
  111073. * (Highcharts, Highstock, Highmaps, Gantt) Decides how the data label will
  111074. * be rotated relative to the perimeter of the sunburst. Valid values are
  111075. * `auto`, `circular`, `parallel` and `perpendicular`. When `auto`, the best
  111076. * fit will be computed for the point. The `circular` option works similiar
  111077. * to `auto`, but uses the `textPath` feature - labels are curved, resulting
  111078. * in a better layout, however multiple lines and `textOutline` are not
  111079. * supported.
  111080. *
  111081. * The `series.rotation` option takes precedence over `rotationMode`.
  111082. */
  111083. rotationMode?: OptionsRotationModeValue;
  111084. /**
  111085. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  111086. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  111087. * an object configuration containing `color`, `offsetX`, `offsetY`,
  111088. * `opacity` and `width`.
  111089. */
  111090. shadow?: (boolean|ShadowOptionsObject);
  111091. /**
  111092. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  111093. * the border around the label. Symbols are predefined functions on the
  111094. * Renderer object.
  111095. */
  111096. shape?: string;
  111097. /**
  111098. * (Highcharts) Whether to render the connector as a soft arc or a line with
  111099. * sharp break. Works only if `connectorShape` equals to `fixedOffset`.
  111100. */
  111101. softConnector?: boolean;
  111102. /**
  111103. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  111104. * default `color` setting is `"contrast"`, which is a pseudo color that
  111105. * Highcharts picks up and applies the maximum contrast to the underlying
  111106. * point item, for example the bar in a bar chart.
  111107. *
  111108. * The `textOutline` is a pseudo property that applies an outline of the
  111109. * given width with the given color, which by default is the maximum
  111110. * contrast to the text. So a bright text color will result in a black text
  111111. * outline for maximum readability on a mixed background. In some cases,
  111112. * especially with grayscale text, the text outline doesn't work well, in
  111113. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  111114. * is true, the `textOutline` will not be picked up. In this, case, the same
  111115. * effect can be acheived through the `text-shadow` CSS property.
  111116. *
  111117. * For some series types, where each point has an extent, like for example
  111118. * tree maps, the data label may overflow the point. There are two
  111119. * strategies for handling overflow. By default, the text will wrap to
  111120. * multiple lines. The other strategy is to set `style.textOverflow` to
  111121. * `ellipsis`, which will keep the text on one line plus it will break
  111122. * inside long words.
  111123. */
  111124. style?: CSSObject;
  111125. /**
  111126. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  111127. * should follow marker's shape. Border and background are disabled for a
  111128. * label that follows a path.
  111129. *
  111130. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  111131. * to true will disable this option.
  111132. */
  111133. textPath?: DataLabelsTextPathOptionsObject;
  111134. /**
  111135. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  111136. * the labels.
  111137. */
  111138. useHTML?: boolean;
  111139. /**
  111140. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  111141. * label. Can be one of `top`, `middle` or `bottom`. The default value
  111142. * depends on the data, for instance in a column chart, the label is above
  111143. * positive values and below negative values.
  111144. */
  111145. verticalAlign?: (VerticalAlignValue|null);
  111146. /**
  111147. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  111148. * label relative to the point in pixels.
  111149. */
  111150. x?: number;
  111151. /**
  111152. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  111153. * label relative to the point in pixels.
  111154. */
  111155. y?: number;
  111156. /**
  111157. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  111158. * The default Z index puts it above the series. Use a Z index of 2 to
  111159. * display it behind the series.
  111160. */
  111161. z?: number;
  111162. }
  111163. /**
  111164. * (Highcharts) A `sunburst` series. If the type option is not specified, it is
  111165. * inherited from chart.type.
  111166. *
  111167. * In TypeScript the type option must always be set.
  111168. *
  111169. * Configuration options for the series are given in three levels:
  111170. *
  111171. * 1. Options for all series in a chart are defined in the plotOptions.series
  111172. * object.
  111173. *
  111174. * 2. Options for all `sunburst` series are defined in plotOptions.sunburst.
  111175. *
  111176. * 3. Options for one single series are given in the series instance array. (see
  111177. * online documentation for example)
  111178. *
  111179. * You have to extend the `SeriesSunburstOptions` via an interface to allow
  111180. * custom properties: ``` declare interface SeriesSunburstOptions {
  111181. * customProperty: string; }
  111182. *
  111183. */
  111184. export interface SeriesSunburstOptions extends PlotSunburstOptions, SeriesOptions {
  111185. /**
  111186. * (Highcharts) An array of data points for the series. For the `treemap`
  111187. * series type, points can be given in the following ways:
  111188. *
  111189. * 1. An array of numerical values. In this case, the numerical values will
  111190. * be interpreted as `value` options. Example: (see online documentation for
  111191. * example)
  111192. *
  111193. * 2. An array of objects with named values. The following snippet shows
  111194. * only a few settings, see the complete options set below. If the total
  111195. * number of data points exceeds the series' turboThreshold, this option is
  111196. * not available. (see online documentation for example)
  111197. */
  111198. data?: Array<(number|null|PointOptionsObject)>;
  111199. /**
  111200. * Not available
  111201. */
  111202. dataParser?: undefined;
  111203. /**
  111204. * Not available
  111205. */
  111206. dataURL?: undefined;
  111207. /**
  111208. * Not available
  111209. */
  111210. stack?: undefined;
  111211. /**
  111212. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111213. * TypeScript non-optional and might be `undefined` in series objects from
  111214. * unknown sources.
  111215. */
  111216. type: "sunburst";
  111217. }
  111218. /**
  111219. * (Highstock) A `Supertrend indicator` series. If the type option is not
  111220. * specified, it is inherited from chart.type.
  111221. *
  111222. * In TypeScript the type option must always be set.
  111223. *
  111224. * Configuration options for the series are given in three levels:
  111225. *
  111226. * 1. Options for all series in a chart are defined in the plotOptions.series
  111227. * object.
  111228. *
  111229. * 2. Options for all `supertrend` series are defined in plotOptions.supertrend.
  111230. *
  111231. * 3. Options for one single series are given in the series instance array. (see
  111232. * online documentation for example)
  111233. *
  111234. * You have to extend the `SeriesSupertrendOptions` via an interface to allow
  111235. * custom properties: ``` declare interface SeriesSupertrendOptions {
  111236. * customProperty: string; }
  111237. *
  111238. */
  111239. export interface SeriesSupertrendOptions extends PlotSupertrendOptions, SeriesOptions {
  111240. /**
  111241. * Not available
  111242. */
  111243. data?: undefined;
  111244. /**
  111245. * Not available
  111246. */
  111247. dataParser?: undefined;
  111248. /**
  111249. * Not available
  111250. */
  111251. dataURL?: undefined;
  111252. /**
  111253. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111254. * TypeScript non-optional and might be `undefined` in series objects from
  111255. * unknown sources.
  111256. */
  111257. type: "supertrend";
  111258. }
  111259. /**
  111260. * (Highstock) A `TEMA` series. If the type option is not specified, it is
  111261. * inherited from chart.type.
  111262. *
  111263. * In TypeScript the type option must always be set.
  111264. *
  111265. * Configuration options for the series are given in three levels:
  111266. *
  111267. * 1. Options for all series in a chart are defined in the plotOptions.series
  111268. * object.
  111269. *
  111270. * 2. Options for all `tema` series are defined in plotOptions.tema.
  111271. *
  111272. * 3. Options for one single series are given in the series instance array. (see
  111273. * online documentation for example)
  111274. *
  111275. * You have to extend the `SeriesTemaOptions` via an interface to allow custom
  111276. * properties: ``` declare interface SeriesTemaOptions { customProperty: string;
  111277. * }
  111278. *
  111279. */
  111280. export interface SeriesTemaOptions extends PlotTemaOptions, SeriesOptions {
  111281. /**
  111282. * Not available
  111283. */
  111284. dataParser?: undefined;
  111285. /**
  111286. * Not available
  111287. */
  111288. dataURL?: undefined;
  111289. /**
  111290. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111291. * TypeScript non-optional and might be `undefined` in series objects from
  111292. * unknown sources.
  111293. */
  111294. type: "tema";
  111295. }
  111296. /**
  111297. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  111298. * series is displayed for the `dataLabels`. The animation can also be set as a
  111299. * configuration object. Please note that this option only applies to the
  111300. * initial animation. For other animations, see chart.animation and the
  111301. * animation parameter under the API methods. The following properties are
  111302. * supported:
  111303. *
  111304. * - `defer`: The animation delay time in milliseconds.
  111305. */
  111306. export interface SeriesTilemapDataDataLabelsAnimationOptions {
  111307. /**
  111308. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  111309. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  111310. * time from the series.animation.defer.
  111311. */
  111312. defer?: number;
  111313. }
  111314. /**
  111315. * (Highcharts, Highmaps) Style options for the guide box. The guide box has one
  111316. * state by default, the `default` state.
  111317. */
  111318. export interface SeriesTilemapDataDragDropGuideBoxOptions {
  111319. /**
  111320. * (Highcharts, Highmaps) Style options for the guide box default state.
  111321. */
  111322. default?: DragDropGuideBoxOptionsObject;
  111323. }
  111324. /**
  111325. * (Highcharts, Highmaps) A `tilemap` series. If the type option is not
  111326. * specified, it is inherited from chart.type.
  111327. *
  111328. * In TypeScript the type option must always be set.
  111329. *
  111330. * Configuration options for the series are given in three levels:
  111331. *
  111332. * 1. Options for all series in a chart are defined in the plotOptions.series
  111333. * object.
  111334. *
  111335. * 2. Options for all `tilemap` series are defined in plotOptions.tilemap.
  111336. *
  111337. * 3. Options for one single series are given in the series instance array. (see
  111338. * online documentation for example)
  111339. *
  111340. * You have to extend the `SeriesTilemapOptions` via an interface to allow
  111341. * custom properties: ``` declare interface SeriesTilemapOptions {
  111342. * customProperty: string; }
  111343. *
  111344. */
  111345. export interface SeriesTilemapOptions extends PlotTilemapOptions, SeriesOptions {
  111346. /**
  111347. * (Highcharts, Highmaps) An array of data points for the series. For the
  111348. * `tilemap` series type, points can be given in the following ways:
  111349. *
  111350. * 1. An array of arrays with 3 or 2 values. In this case, the values
  111351. * correspond to `x,y,value`. If the first value is a string, it is applied
  111352. * as the name of the point, and the `x` value is inferred. The `x` value
  111353. * can also be omitted, in which case the inner arrays should be of length
  111354. * 2\. Then the `x` value is automatically calculated, either starting at 0
  111355. * and incremented by 1, or from `pointStart` and `pointInterval` given in
  111356. * the series options. (see online documentation for example)
  111357. *
  111358. * 2. An array of objects with named values. The objects are point
  111359. * configuration objects as seen below. If the total number of data points
  111360. * exceeds the series' turboThreshold, this option is not available. (see
  111361. * online documentation for example)
  111362. *
  111363. * Note that for some tileShapes the grid coordinates are offset.
  111364. */
  111365. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  111366. /**
  111367. * Not available
  111368. */
  111369. dataParser?: undefined;
  111370. /**
  111371. * Not available
  111372. */
  111373. dataURL?: undefined;
  111374. /**
  111375. * Not available
  111376. */
  111377. mapData?: undefined;
  111378. /**
  111379. * Not available
  111380. */
  111381. stack?: undefined;
  111382. /**
  111383. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111384. * TypeScript non-optional and might be `undefined` in series objects from
  111385. * unknown sources.
  111386. */
  111387. type: "tilemap";
  111388. }
  111389. /**
  111390. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  111391. * series is displayed for the `dataLabels`. The animation can also be set as a
  111392. * configuration object. Please note that this option only applies to the
  111393. * initial animation. For other animations, see chart.animation and the
  111394. * animation parameter under the API methods. The following properties are
  111395. * supported:
  111396. *
  111397. * - `defer`: The animation delay time in milliseconds.
  111398. */
  111399. export interface SeriesTimelineDataDataLabelsAnimationOptions {
  111400. /**
  111401. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  111402. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  111403. * time from the series.animation.defer.
  111404. */
  111405. defer?: number;
  111406. }
  111407. /**
  111408. * (Highcharts) Style options for the guide box. The guide box has one state by
  111409. * default, the `default` state.
  111410. */
  111411. export interface SeriesTimelineDataDragDropGuideBoxOptions {
  111412. /**
  111413. * (Highcharts) Style options for the guide box default state.
  111414. */
  111415. default?: DragDropGuideBoxOptionsObject;
  111416. }
  111417. /**
  111418. * (Highcharts) The `timeline` series. If the type option is not specified, it
  111419. * is inherited from chart.type.
  111420. *
  111421. * In TypeScript the type option must always be set.
  111422. *
  111423. * Configuration options for the series are given in three levels:
  111424. *
  111425. * 1. Options for all series in a chart are defined in the plotOptions.series
  111426. * object.
  111427. *
  111428. * 2. Options for all `timeline` series are defined in plotOptions.timeline.
  111429. *
  111430. * 3. Options for one single series are given in the series instance array. (see
  111431. * online documentation for example)
  111432. *
  111433. * You have to extend the `SeriesTimelineOptions` via an interface to allow
  111434. * custom properties: ``` declare interface SeriesTimelineOptions {
  111435. * customProperty: string; }
  111436. *
  111437. */
  111438. export interface SeriesTimelineOptions extends PlotTimelineOptions, SeriesOptions {
  111439. /**
  111440. * (Highcharts) An array of data points for the series. For the `timeline`
  111441. * series type, points can be given with three general parameters, `name`,
  111442. * `label`, and `description`:
  111443. *
  111444. * Example: (see online documentation for example) If all points
  111445. * additionally have the `x` values, and xAxis type is set to `datetime`,
  111446. * then events are laid out on a true time axis, where their placement
  111447. * reflects the actual time between them.
  111448. */
  111449. data?: Array<PointOptionsObject>;
  111450. /**
  111451. * Not available
  111452. */
  111453. dataParser?: undefined;
  111454. /**
  111455. * Not available
  111456. */
  111457. dataURL?: undefined;
  111458. /**
  111459. * Not available
  111460. */
  111461. stack?: undefined;
  111462. /**
  111463. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111464. * TypeScript non-optional and might be `undefined` in series objects from
  111465. * unknown sources.
  111466. */
  111467. type: "timeline";
  111468. }
  111469. /**
  111470. * (Highstock) A configuration object for the tooltip rendering of each single
  111471. * series. Properties are inherited from tooltip, but only the following
  111472. * properties can be defined on a series level.
  111473. */
  111474. export interface SeriesTooltipOptionsObject {
  111475. /**
  111476. * (Highstock) How many decimals to show for the `point.change` value when
  111477. * the `series.compare` option is set. This is overridable in each series'
  111478. * tooltip options object. The default is to preserve all decimals.
  111479. */
  111480. changeDecimals?: number;
  111481. /**
  111482. * (Highstock) The HTML of the cluster point's in the tooltip. Works only
  111483. * with marker-clusters module and analogously to pointFormat.
  111484. *
  111485. * The cluster tooltip can be also formatted using `tooltip.formatter`
  111486. * callback function and `point.isCluster` flag.
  111487. */
  111488. clusterFormat?: object;
  111489. /**
  111490. * (Highcharts, Highstock, Gantt) For series on a datetime axes, the date
  111491. * format in the tooltip's header will by default be guessed based on the
  111492. * closest data points. This member gives the default string representations
  111493. * used for each unit. For an overview of the replacement codes, see
  111494. * dateFormat.
  111495. */
  111496. dateTimeLabelFormats?: Dictionary<string>;
  111497. /**
  111498. * (Highstock) Distance from point to tooltip in pixels.
  111499. */
  111500. distance?: number;
  111501. /**
  111502. * (Highstock) Whether the tooltip should follow the mouse as it moves
  111503. * across columns, pie slices and other point types with an extent. By
  111504. * default it behaves this way for pie, polygon, map, sankey and wordcloud
  111505. * series by override in the `plotOptions` for those series types.
  111506. *
  111507. * For touch moves to behave the same way, followTouchMove must be `true`
  111508. * also.
  111509. */
  111510. followPointer?: boolean;
  111511. /**
  111512. * (Highstock) Whether the tooltip should update as the finger moves on a
  111513. * touch device. If this is `true` and chart.panning is
  111514. * set,`followTouchMove` will take over one-finger touches, so the user
  111515. * needs to use two fingers for zooming and panning.
  111516. *
  111517. * Note the difference to followPointer that only defines the _position_ of
  111518. * the tooltip. If `followPointer` is false in for example a column series,
  111519. * the tooltip will show above or below the column, but as `followTouchMove`
  111520. * is true, the tooltip will jump from column to column as the user swipes
  111521. * across the plot area.
  111522. */
  111523. followTouchMove?: boolean;
  111524. /**
  111525. * (Highstock) A string to append to the tooltip format.
  111526. */
  111527. footerFormat?: string;
  111528. /**
  111529. * (Highstock) The HTML of the tooltip header line. Variables are enclosed
  111530. * by curly brackets. Available variables are `point.key`, `series.name`,
  111531. * `series.color` and other members from the `point` and `series` objects.
  111532. * The `point.key` variable contains the category name, x value or datetime
  111533. * string depending on the type of axis. For datetime axes, the `point.key`
  111534. * date format can be set using `tooltip.xDateFormat`.
  111535. */
  111536. headerFormat?: string;
  111537. /**
  111538. * (Highcharts) The format string specifying what to show for _nodes_ in
  111539. * tooltip of a diagram series, as opposed to links.
  111540. */
  111541. nodeFormat?: string;
  111542. /**
  111543. * (Highcharts) A callback for defining the format for _nodes_ in the
  111544. * chart's tooltip, as opposed to links.
  111545. */
  111546. nodeFormatter?: FormatterCallbackFunction<SankeyNodeObject>;
  111547. /**
  111548. * (Highstock) The HTML of the null point's line in the tooltip. Works
  111549. * analogously to pointFormat.
  111550. */
  111551. nullFormat?: string;
  111552. /**
  111553. * (Highstock) Callback function to format the text of the tooltip for
  111554. * visible null points. Works analogously to formatter.
  111555. */
  111556. nullFormatter?: TooltipFormatterCallbackFunction;
  111557. /**
  111558. * (Highstock) The HTML of the point's line in the tooltip. Variables are
  111559. * enclosed by curly brackets. Available variables are point.x, point.y,
  111560. * series. name and series.color and other properties on the same form.
  111561. * Furthermore, `point.y` can be extended by the `tooltip.valuePrefix` and
  111562. * `tooltip.valueSuffix` variables. This can also be overridden for each
  111563. * series, which makes it a good hook for displaying units.
  111564. *
  111565. * In styled mode, the dot is colored by a class name rather than the point
  111566. * color.
  111567. */
  111568. pointFormat?: string;
  111569. /**
  111570. * (Highstock) A callback function for formatting the HTML output for a
  111571. * single point in the tooltip. Like the `pointFormat` string, but with more
  111572. * flexibility.
  111573. */
  111574. pointFormatter?: FormatterCallbackFunction<Point>;
  111575. /**
  111576. * (Highstock) Prevents the tooltip from switching or closing, when touched
  111577. * or pointed.
  111578. */
  111579. stickOnContact?: boolean;
  111580. /**
  111581. * (Highstock) Number of decimals in indicator series.
  111582. */
  111583. valueDecimals?: number;
  111584. /**
  111585. * (Highstock) A string to prepend to each series' y value. Overridable in
  111586. * each series' tooltip options object.
  111587. */
  111588. valuePrefix?: string;
  111589. /**
  111590. * (Highstock) A string to append to each series' y value. Overridable in
  111591. * each series' tooltip options object.
  111592. */
  111593. valueSuffix?: string;
  111594. /**
  111595. * (Highcharts, Highstock, Gantt) The format for the date in the tooltip
  111596. * header if the X axis is a datetime axis. The default is a best guess
  111597. * based on the smallest distance between points in the chart.
  111598. */
  111599. xDateFormat?: string;
  111600. }
  111601. /**
  111602. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  111603. * series is displayed for the `dataLabels`. The animation can also be set as a
  111604. * configuration object. Please note that this option only applies to the
  111605. * initial animation. For other animations, see chart.animation and the
  111606. * animation parameter under the API methods. The following properties are
  111607. * supported:
  111608. *
  111609. * - `defer`: The animation delay time in milliseconds.
  111610. */
  111611. export interface SeriesTreemapDataDataLabelsAnimationOptions {
  111612. /**
  111613. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  111614. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  111615. * time from the series.animation.defer.
  111616. */
  111617. defer?: number;
  111618. }
  111619. /**
  111620. * (Highcharts) Style options for the guide box. The guide box has one state by
  111621. * default, the `default` state.
  111622. */
  111623. export interface SeriesTreemapDataDragDropGuideBoxOptions {
  111624. /**
  111625. * (Highcharts) Style options for the guide box default state.
  111626. */
  111627. default?: DragDropGuideBoxOptionsObject;
  111628. }
  111629. /**
  111630. * (Highcharts) A `treemap` series. If the type option is not specified, it is
  111631. * inherited from chart.type.
  111632. *
  111633. * In TypeScript the type option must always be set.
  111634. *
  111635. * Configuration options for the series are given in three levels:
  111636. *
  111637. * 1. Options for all series in a chart are defined in the plotOptions.series
  111638. * object.
  111639. *
  111640. * 2. Options for all `treemap` series are defined in plotOptions.treemap.
  111641. *
  111642. * 3. Options for one single series are given in the series instance array. (see
  111643. * online documentation for example)
  111644. *
  111645. * You have to extend the `SeriesTreemapOptions` via an interface to allow
  111646. * custom properties: ``` declare interface SeriesTreemapOptions {
  111647. * customProperty: string; }
  111648. *
  111649. */
  111650. export interface SeriesTreemapOptions extends PlotTreemapOptions, SeriesOptions {
  111651. /**
  111652. * (Highcharts) An array of data points for the series. For the `treemap`
  111653. * series type, points can be given in the following ways:
  111654. *
  111655. * 1. An array of numerical values. In this case, the numerical values will
  111656. * be interpreted as `value` options. Example: (see online documentation for
  111657. * example)
  111658. *
  111659. * 2. An array of objects with named values. The following snippet shows
  111660. * only a few settings, see the complete options set below. If the total
  111661. * number of data points exceeds the series' turboThreshold, this option is
  111662. * not available. (see online documentation for example)
  111663. */
  111664. data?: Array<(number|null|PointOptionsObject)>;
  111665. /**
  111666. * Not available
  111667. */
  111668. dataParser?: undefined;
  111669. /**
  111670. * Not available
  111671. */
  111672. dataURL?: undefined;
  111673. /**
  111674. * Not available
  111675. */
  111676. stack?: undefined;
  111677. /**
  111678. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111679. * TypeScript non-optional and might be `undefined` in series objects from
  111680. * unknown sources.
  111681. */
  111682. type: "treemap";
  111683. }
  111684. /**
  111685. * (Highstock) A `TrendLine` series. If the type option is not specified, it is
  111686. * inherited from chart.type.
  111687. *
  111688. * In TypeScript the type option must always be set.
  111689. *
  111690. * Configuration options for the series are given in three levels:
  111691. *
  111692. * 1. Options for all series in a chart are defined in the plotOptions.series
  111693. * object.
  111694. *
  111695. * 2. Options for all `trendline` series are defined in plotOptions.trendline.
  111696. *
  111697. * 3. Options for one single series are given in the series instance array. (see
  111698. * online documentation for example)
  111699. *
  111700. * You have to extend the `SeriesTrendlineOptions` via an interface to allow
  111701. * custom properties: ``` declare interface SeriesTrendlineOptions {
  111702. * customProperty: string; }
  111703. *
  111704. */
  111705. export interface SeriesTrendlineOptions extends PlotTrendlineOptions, SeriesOptions {
  111706. /**
  111707. * Not available
  111708. */
  111709. dataParser?: undefined;
  111710. /**
  111711. * Not available
  111712. */
  111713. dataURL?: undefined;
  111714. /**
  111715. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111716. * TypeScript non-optional and might be `undefined` in series objects from
  111717. * unknown sources.
  111718. */
  111719. type: "trendline";
  111720. }
  111721. /**
  111722. * (Highstock) A `TRIX` series. If the type option is not specified, it is
  111723. * inherited from chart.type.
  111724. *
  111725. * In TypeScript the type option must always be set.
  111726. *
  111727. * Configuration options for the series are given in three levels:
  111728. *
  111729. * 1. Options for all series in a chart are defined in the plotOptions.series
  111730. * object.
  111731. *
  111732. * 2. Options for all `trix` series are defined in plotOptions.trix.
  111733. *
  111734. * 3. Options for one single series are given in the series instance array. (see
  111735. * online documentation for example)
  111736. *
  111737. * You have to extend the `SeriesTrixOptions` via an interface to allow custom
  111738. * properties: ``` declare interface SeriesTrixOptions { customProperty: string;
  111739. * }
  111740. *
  111741. */
  111742. export interface SeriesTrixOptions extends PlotTrixOptions, SeriesOptions {
  111743. /**
  111744. * Not available
  111745. */
  111746. dataParser?: undefined;
  111747. /**
  111748. * Not available
  111749. */
  111750. dataURL?: undefined;
  111751. /**
  111752. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111753. * TypeScript non-optional and might be `undefined` in series objects from
  111754. * unknown sources.
  111755. */
  111756. type: "trix";
  111757. }
  111758. /**
  111759. * (Highcharts) Enable or disable the initial animation when a series is
  111760. * displayed for the `dataLabels`. The animation can also be set as a
  111761. * configuration object. Please note that this option only applies to the
  111762. * initial animation. For other animations, see chart.animation and the
  111763. * animation parameter under the API methods. The following properties are
  111764. * supported:
  111765. *
  111766. * - `defer`: The animation delay time in milliseconds.
  111767. */
  111768. export interface SeriesVariablepieDataDataLabelsAnimationOptions {
  111769. /**
  111770. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  111771. * dataLabel immediately. As `undefined` inherits defer time from the
  111772. * series.animation.defer.
  111773. */
  111774. defer?: number;
  111775. }
  111776. /**
  111777. * (Highcharts) Style options for the guide box. The guide box has one state by
  111778. * default, the `default` state.
  111779. */
  111780. export interface SeriesVariablepieDataDragDropGuideBoxOptions {
  111781. /**
  111782. * (Highcharts) Style options for the guide box default state.
  111783. */
  111784. default?: DragDropGuideBoxOptionsObject;
  111785. }
  111786. /**
  111787. * (Highcharts) A `variablepie` series. If the type option is not specified, it
  111788. * is inherited from chart.type.
  111789. *
  111790. * In TypeScript the type option must always be set.
  111791. *
  111792. * Configuration options for the series are given in three levels:
  111793. *
  111794. * 1. Options for all series in a chart are defined in the plotOptions.series
  111795. * object.
  111796. *
  111797. * 2. Options for all `variablepie` series are defined in
  111798. * plotOptions.variablepie.
  111799. *
  111800. * 3. Options for one single series are given in the series instance array. (see
  111801. * online documentation for example)
  111802. *
  111803. * You have to extend the `SeriesVariablepieOptions` via an interface to allow
  111804. * custom properties: ``` declare interface SeriesVariablepieOptions {
  111805. * customProperty: string; }
  111806. *
  111807. */
  111808. export interface SeriesVariablepieOptions extends PlotVariablepieOptions, SeriesOptions {
  111809. /**
  111810. * (Highcharts) An array of data points for the series. For the
  111811. * `variablepie` series type, points can be given in the following ways:
  111812. *
  111813. * 1. An array of arrays with 2 values. In this case, the numerical values
  111814. * will be interpreted as `y, z` options. Example: (see online documentation
  111815. * for example)
  111816. *
  111817. * 2. An array of objects with named values. The following snippet shows
  111818. * only a few settings, see the complete options set below. If the total
  111819. * number of data points exceeds the series' turboThreshold, this option is
  111820. * not available. (see online documentation for example)
  111821. */
  111822. data?: Array<([(number|string), number]|PointOptionsObject)>;
  111823. /**
  111824. * Not available
  111825. */
  111826. dataParser?: undefined;
  111827. /**
  111828. * Not available
  111829. */
  111830. dataURL?: undefined;
  111831. /**
  111832. * Not available
  111833. */
  111834. stack?: undefined;
  111835. /**
  111836. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111837. * TypeScript non-optional and might be `undefined` in series objects from
  111838. * unknown sources.
  111839. */
  111840. type: "variablepie";
  111841. /**
  111842. * Not available
  111843. */
  111844. xAxis?: undefined;
  111845. /**
  111846. * Not available
  111847. */
  111848. yAxis?: undefined;
  111849. }
  111850. /**
  111851. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  111852. * series is displayed for the `dataLabels`. The animation can also be set as a
  111853. * configuration object. Please note that this option only applies to the
  111854. * initial animation. For other animations, see chart.animation and the
  111855. * animation parameter under the API methods. The following properties are
  111856. * supported:
  111857. *
  111858. * - `defer`: The animation delay time in milliseconds.
  111859. */
  111860. export interface SeriesVariwideDataDataLabelsAnimationOptions {
  111861. /**
  111862. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  111863. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  111864. * time from the series.animation.defer.
  111865. */
  111866. defer?: number;
  111867. }
  111868. /**
  111869. * (Highcharts) Style options for the guide box. The guide box has one state by
  111870. * default, the `default` state.
  111871. */
  111872. export interface SeriesVariwideDataDragDropGuideBoxOptions {
  111873. /**
  111874. * (Highcharts) Style options for the guide box default state.
  111875. */
  111876. default?: DragDropGuideBoxOptionsObject;
  111877. }
  111878. /**
  111879. * (Highcharts) A `variwide` series. If the type option is not specified, it is
  111880. * inherited from chart.type.
  111881. *
  111882. * In TypeScript the type option must always be set.
  111883. *
  111884. * Configuration options for the series are given in three levels:
  111885. *
  111886. * 1. Options for all series in a chart are defined in the plotOptions.series
  111887. * object.
  111888. *
  111889. * 2. Options for all `variwide` series are defined in plotOptions.variwide.
  111890. *
  111891. * 3. Options for one single series are given in the series instance array. (see
  111892. * online documentation for example)
  111893. *
  111894. * You have to extend the `SeriesVariwideOptions` via an interface to allow
  111895. * custom properties: ``` declare interface SeriesVariwideOptions {
  111896. * customProperty: string; }
  111897. *
  111898. */
  111899. export interface SeriesVariwideOptions extends PlotVariwideOptions, SeriesOptions {
  111900. /**
  111901. * (Highcharts) An array of data points for the series. For the `variwide`
  111902. * series type, points can be given in the following ways:
  111903. *
  111904. * 1. An array of arrays with 3 or 2 values. In this case, the values
  111905. * correspond to `x,y,z`. If the first value is a string, it is applied as
  111906. * the name of the point, and the `x` value is inferred. The `x` value can
  111907. * also be omitted, in which case the inner arrays should be of length 2.
  111908. * Then the `x` value is automatically calculated, either starting at 0 and
  111909. * incremented by 1, or from `pointStart` and `pointInterval` given in the
  111910. * series options. (see online documentation for example)
  111911. *
  111912. * 2. An array of objects with named values. The following snippet shows
  111913. * only a few settings, see the complete options set below. If the total
  111914. * number of data points exceeds the series' turboThreshold, this option is
  111915. * not available. (see online documentation for example)
  111916. */
  111917. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  111918. /**
  111919. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111920. * TypeScript non-optional and might be `undefined` in series objects from
  111921. * unknown sources.
  111922. */
  111923. type: "variwide";
  111924. }
  111925. /**
  111926. * (Highstock) A `Volume By Price (VBP)` series. If the type option is not
  111927. * specified, it is inherited from chart.type.
  111928. *
  111929. * In TypeScript the type option must always be set.
  111930. *
  111931. * Configuration options for the series are given in three levels:
  111932. *
  111933. * 1. Options for all series in a chart are defined in the plotOptions.series
  111934. * object.
  111935. *
  111936. * 2. Options for all `vbp` series are defined in plotOptions.vbp.
  111937. *
  111938. * 3. Options for one single series are given in the series instance array. (see
  111939. * online documentation for example)
  111940. *
  111941. * You have to extend the `SeriesVbpOptions` via an interface to allow custom
  111942. * properties: ``` declare interface SeriesVbpOptions { customProperty: string;
  111943. * }
  111944. *
  111945. */
  111946. export interface SeriesVbpOptions extends PlotVbpOptions, SeriesOptions {
  111947. /**
  111948. * Not available
  111949. */
  111950. dataParser?: undefined;
  111951. /**
  111952. * Not available
  111953. */
  111954. dataURL?: undefined;
  111955. /**
  111956. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111957. * TypeScript non-optional and might be `undefined` in series objects from
  111958. * unknown sources.
  111959. */
  111960. type: "vbp";
  111961. }
  111962. /**
  111963. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  111964. * series is displayed for the `dataLabels`. The animation can also be set as a
  111965. * configuration object. Please note that this option only applies to the
  111966. * initial animation. For other animations, see chart.animation and the
  111967. * animation parameter under the API methods. The following properties are
  111968. * supported:
  111969. *
  111970. * - `defer`: The animation delay time in milliseconds.
  111971. */
  111972. export interface SeriesVectorDataDataLabelsAnimationOptions {
  111973. /**
  111974. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  111975. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  111976. * time from the series.animation.defer.
  111977. */
  111978. defer?: number;
  111979. }
  111980. /**
  111981. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  111982. * one state by default, the `default` state.
  111983. */
  111984. export interface SeriesVectorDataDragDropGuideBoxOptions {
  111985. /**
  111986. * (Highcharts, Highstock) Style options for the guide box default state.
  111987. */
  111988. default?: DragDropGuideBoxOptionsObject;
  111989. }
  111990. /**
  111991. * (Highcharts, Highstock) A `vector` series. If the type option is not
  111992. * specified, it is inherited from chart.type.
  111993. *
  111994. * In TypeScript the type option must always be set.
  111995. *
  111996. * Configuration options for the series are given in three levels:
  111997. *
  111998. * 1. Options for all series in a chart are defined in the plotOptions.series
  111999. * object.
  112000. *
  112001. * 2. Options for all `vector` series are defined in plotOptions.vector.
  112002. *
  112003. * 3. Options for one single series are given in the series instance array. (see
  112004. * online documentation for example)
  112005. *
  112006. * You have to extend the `SeriesVectorOptions` via an interface to allow custom
  112007. * properties: ``` declare interface SeriesVectorOptions { customProperty:
  112008. * string; }
  112009. *
  112010. */
  112011. export interface SeriesVectorOptions extends PlotVectorOptions, SeriesOptions {
  112012. /**
  112013. * (Highcharts, Highstock) An array of data points for the series. For the
  112014. * `vector` series type, points can be given in the following ways:
  112015. *
  112016. * 1. An array of arrays with 4 values. In this case, the values correspond
  112017. * to to `x,y,length,direction`. If the first value is a string, it is
  112018. * applied as the name of the point, and the `x` value is inferred. (see
  112019. * online documentation for example)
  112020. *
  112021. * 2. An array of objects with named values. The following snippet shows
  112022. * only a few settings, see the complete options set below. If the total
  112023. * number of data points exceeds the series' turboThreshold, this option is
  112024. * not available. (see online documentation for example)
  112025. */
  112026. data?: Array<([(number|string), number, number, number]|PointOptionsObject)>;
  112027. /**
  112028. * Not available
  112029. */
  112030. dataParser?: undefined;
  112031. /**
  112032. * Not available
  112033. */
  112034. dataURL?: undefined;
  112035. /**
  112036. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  112037. * TypeScript non-optional and might be `undefined` in series objects from
  112038. * unknown sources.
  112039. */
  112040. type: "vector";
  112041. }
  112042. /**
  112043. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  112044. * series is displayed for the `dataLabels`. The animation can also be set as a
  112045. * configuration object. Please note that this option only applies to the
  112046. * initial animation. For other animations, see chart.animation and the
  112047. * animation parameter under the API methods. The following properties are
  112048. * supported:
  112049. *
  112050. * - `defer`: The animation delay time in milliseconds.
  112051. */
  112052. export interface SeriesVennDataDataLabelsAnimationOptions {
  112053. /**
  112054. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  112055. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  112056. * time from the series.animation.defer.
  112057. */
  112058. defer?: number;
  112059. }
  112060. /**
  112061. * (Highcharts) Style options for the guide box. The guide box has one state by
  112062. * default, the `default` state.
  112063. */
  112064. export interface SeriesVennDataDragDropGuideBoxOptions {
  112065. /**
  112066. * (Highcharts) Style options for the guide box default state.
  112067. */
  112068. default?: DragDropGuideBoxOptionsObject;
  112069. }
  112070. /**
  112071. * (Highcharts) A `venn` series. If the type option is not specified, it is
  112072. * inherited from chart.type.
  112073. *
  112074. * In TypeScript the type option must always be set.
  112075. *
  112076. * Configuration options for the series are given in three levels:
  112077. *
  112078. * 1. Options for all series in a chart are defined in the plotOptions.series
  112079. * object.
  112080. *
  112081. * 2. Options for all `venn` series are defined in plotOptions.venn.
  112082. *
  112083. * 3. Options for one single series are given in the series instance array. (see
  112084. * online documentation for example)
  112085. *
  112086. * You have to extend the `SeriesVennOptions` via an interface to allow custom
  112087. * properties: ``` declare interface SeriesVennOptions { customProperty: string;
  112088. * }
  112089. *
  112090. */
  112091. export interface SeriesVennOptions extends PlotVennOptions, SeriesOptions {
  112092. /**
  112093. * (Highcharts) An array of data points for the series. For the `scatter`
  112094. * series type, points can be given in the following ways:
  112095. *
  112096. * 1. An array of numerical values. In this case, the numerical values will
  112097. * be interpreted as `y` options. The `x` values will be automatically
  112098. * calculated, either starting at 0 and incremented by 1, or from
  112099. * `pointStart` and `pointInterval` given in the series options. If the axis
  112100. * has categories, these will be used. Example: (see online documentation
  112101. * for example)
  112102. *
  112103. * 2. An array of arrays with 2 values. In this case, the values correspond
  112104. * to `x,y`. If the first value is a string, it is applied as the name of
  112105. * the point, and the `x` value is inferred. (see online documentation for
  112106. * example)
  112107. *
  112108. * 3. An array of objects with named values. The following snippet shows
  112109. * only a few settings, see the complete options set below. If the total
  112110. * number of data points exceeds the series' turboThreshold, this option is
  112111. * not available. (see online documentation for example)
  112112. */
  112113. data?: Array<PointOptionsObject>;
  112114. /**
  112115. * Not available
  112116. */
  112117. dataParser?: undefined;
  112118. /**
  112119. * Not available
  112120. */
  112121. dataURL?: undefined;
  112122. /**
  112123. * Not available
  112124. */
  112125. stack?: undefined;
  112126. /**
  112127. * Not available
  112128. */
  112129. steps?: undefined;
  112130. /**
  112131. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  112132. * TypeScript non-optional and might be `undefined` in series objects from
  112133. * unknown sources.
  112134. */
  112135. type: "venn";
  112136. /**
  112137. * Not available
  112138. */
  112139. xAxis?: undefined;
  112140. /**
  112141. * Not available
  112142. */
  112143. yAxis?: undefined;
  112144. }
  112145. /**
  112146. * (Highstock) A `Volume Weighted Average Price (VWAP)` series. If the type
  112147. * option is not specified, it is inherited from chart.type.
  112148. *
  112149. * In TypeScript the type option must always be set.
  112150. *
  112151. * Configuration options for the series are given in three levels:
  112152. *
  112153. * 1. Options for all series in a chart are defined in the plotOptions.series
  112154. * object.
  112155. *
  112156. * 2. Options for all `vwap` series are defined in plotOptions.vwap.
  112157. *
  112158. * 3. Options for one single series are given in the series instance array. (see
  112159. * online documentation for example)
  112160. *
  112161. * You have to extend the `SeriesVwapOptions` via an interface to allow custom
  112162. * properties: ``` declare interface SeriesVwapOptions { customProperty: string;
  112163. * }
  112164. *
  112165. */
  112166. export interface SeriesVwapOptions extends PlotVwapOptions, SeriesOptions {
  112167. /**
  112168. * Not available
  112169. */
  112170. dataParser?: undefined;
  112171. /**
  112172. * Not available
  112173. */
  112174. dataURL?: undefined;
  112175. /**
  112176. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  112177. * TypeScript non-optional and might be `undefined` in series objects from
  112178. * unknown sources.
  112179. */
  112180. type: "vwap";
  112181. }
  112182. /**
  112183. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  112184. * series is displayed for the `dataLabels`. The animation can also be set as a
  112185. * configuration object. Please note that this option only applies to the
  112186. * initial animation. For other animations, see chart.animation and the
  112187. * animation parameter under the API methods. The following properties are
  112188. * supported:
  112189. *
  112190. * - `defer`: The animation delay time in milliseconds.
  112191. */
  112192. export interface SeriesWaterfallDataDataLabelsAnimationOptions {
  112193. /**
  112194. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  112195. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  112196. * time from the series.animation.defer.
  112197. */
  112198. defer?: number;
  112199. }
  112200. /**
  112201. * (Highcharts) Style options for the guide box. The guide box has one state by
  112202. * default, the `default` state.
  112203. */
  112204. export interface SeriesWaterfallDataDragDropGuideBoxOptions {
  112205. /**
  112206. * (Highcharts) Style options for the guide box default state.
  112207. */
  112208. default?: DragDropGuideBoxOptionsObject;
  112209. }
  112210. /**
  112211. * (Highcharts) A `waterfall` series. If the type option is not specified, it is
  112212. * inherited from chart.type.
  112213. *
  112214. * In TypeScript the type option must always be set.
  112215. *
  112216. * Configuration options for the series are given in three levels:
  112217. *
  112218. * 1. Options for all series in a chart are defined in the plotOptions.series
  112219. * object.
  112220. *
  112221. * 2. Options for all `waterfall` series are defined in plotOptions.waterfall.
  112222. *
  112223. * 3. Options for one single series are given in the series instance array. (see
  112224. * online documentation for example)
  112225. *
  112226. * You have to extend the `SeriesWaterfallOptions` via an interface to allow
  112227. * custom properties: ``` declare interface SeriesWaterfallOptions {
  112228. * customProperty: string; }
  112229. *
  112230. */
  112231. export interface SeriesWaterfallOptions extends PlotWaterfallOptions, SeriesOptions {
  112232. /**
  112233. * (Highcharts) An array of data points for the series. For the `waterfall`
  112234. * series type, points can be given in the following ways:
  112235. *
  112236. * 1. An array of numerical values. In this case, the numerical values will
  112237. * be interpreted as `y` options. The `x` values will be automatically
  112238. * calculated, either starting at 0 and incremented by 1, or from
  112239. * `pointStart` and `pointInterval` given in the series options. If the axis
  112240. * has categories, these will be used. Example: (see online documentation
  112241. * for example)
  112242. *
  112243. * 2. An array of arrays with 2 values. In this case, the values correspond
  112244. * to `x,y`. If the first value is a string, it is applied as the name of
  112245. * the point, and the `x` value is inferred. (see online documentation for
  112246. * example)
  112247. *
  112248. * 3. An array of objects with named values. The following snippet shows
  112249. * only a few settings, see the complete options set below. If the total
  112250. * number of data points exceeds the series' turboThreshold, this option is
  112251. * not available. (see online documentation for example)
  112252. */
  112253. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  112254. /**
  112255. * Not available
  112256. */
  112257. dataParser?: undefined;
  112258. /**
  112259. * Not available
  112260. */
  112261. dataURL?: undefined;
  112262. /**
  112263. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  112264. * TypeScript non-optional and might be `undefined` in series objects from
  112265. * unknown sources.
  112266. */
  112267. type: "waterfall";
  112268. }
  112269. /**
  112270. * (Highstock) A `Williams %R Oscillator` series. If the type option is not
  112271. * specified, it is inherited from chart.type.
  112272. *
  112273. * In TypeScript the type option must always be set.
  112274. *
  112275. * Configuration options for the series are given in three levels:
  112276. *
  112277. * 1. Options for all series in a chart are defined in the plotOptions.series
  112278. * object.
  112279. *
  112280. * 2. Options for all `williamsr` series are defined in plotOptions.williamsr.
  112281. *
  112282. * 3. Options for one single series are given in the series instance array. (see
  112283. * online documentation for example)
  112284. *
  112285. * You have to extend the `SeriesWilliamsrOptions` via an interface to allow
  112286. * custom properties: ``` declare interface SeriesWilliamsrOptions {
  112287. * customProperty: string; }
  112288. *
  112289. */
  112290. export interface SeriesWilliamsrOptions extends PlotWilliamsrOptions, SeriesOptions {
  112291. /**
  112292. * Not available
  112293. */
  112294. dataParser?: undefined;
  112295. /**
  112296. * Not available
  112297. */
  112298. dataURL?: undefined;
  112299. /**
  112300. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  112301. * TypeScript non-optional and might be `undefined` in series objects from
  112302. * unknown sources.
  112303. */
  112304. type: "williamsr";
  112305. }
  112306. /**
  112307. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  112308. * series is displayed for the `dataLabels`. The animation can also be set as a
  112309. * configuration object. Please note that this option only applies to the
  112310. * initial animation. For other animations, see chart.animation and the
  112311. * animation parameter under the API methods. The following properties are
  112312. * supported:
  112313. *
  112314. * - `defer`: The animation delay time in milliseconds.
  112315. */
  112316. export interface SeriesWindbarbDataDataLabelsAnimationOptions {
  112317. /**
  112318. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  112319. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  112320. * time from the series.animation.defer.
  112321. */
  112322. defer?: number;
  112323. }
  112324. /**
  112325. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  112326. * one state by default, the `default` state.
  112327. */
  112328. export interface SeriesWindbarbDataDragDropGuideBoxOptions {
  112329. /**
  112330. * (Highcharts, Highstock) Style options for the guide box default state.
  112331. */
  112332. default?: DragDropGuideBoxOptionsObject;
  112333. }
  112334. /**
  112335. * (Highcharts, Highstock) A `windbarb` series. If the type option is not
  112336. * specified, it is inherited from chart.type.
  112337. *
  112338. * In TypeScript the type option must always be set.
  112339. *
  112340. * Configuration options for the series are given in three levels:
  112341. *
  112342. * 1. Options for all series in a chart are defined in the plotOptions.series
  112343. * object.
  112344. *
  112345. * 2. Options for all `windbarb` series are defined in plotOptions.windbarb.
  112346. *
  112347. * 3. Options for one single series are given in the series instance array. (see
  112348. * online documentation for example)
  112349. *
  112350. * You have to extend the `SeriesWindbarbOptions` via an interface to allow
  112351. * custom properties: ``` declare interface SeriesWindbarbOptions {
  112352. * customProperty: string; }
  112353. *
  112354. */
  112355. export interface SeriesWindbarbOptions extends PlotWindbarbOptions, SeriesOptions {
  112356. /**
  112357. * (Highcharts, Highstock) An array of data points for the series. For the
  112358. * `windbarb` series type, points can be given in the following ways:
  112359. *
  112360. * 1. An array of arrays with 3 values. In this case, the values correspond
  112361. * to `x,value,direction`. If the first value is a string, it is applied as
  112362. * the name of the point, and the `x` value is inferred. (see online
  112363. * documentation for example)
  112364. *
  112365. * 2. An array of objects with named values. The following snippet shows
  112366. * only a few settings, see the complete options set below. If the total
  112367. * number of data points exceeds the series' turboThreshold, this option is
  112368. * not available. (see online documentation for example)
  112369. */
  112370. data?: Array<([(number|string), number, number]|PointOptionsObject)>;
  112371. /**
  112372. * Not available
  112373. */
  112374. dataParser?: undefined;
  112375. /**
  112376. * Not available
  112377. */
  112378. dataURL?: undefined;
  112379. /**
  112380. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  112381. * TypeScript non-optional and might be `undefined` in series objects from
  112382. * unknown sources.
  112383. */
  112384. type: "windbarb";
  112385. }
  112386. /**
  112387. * (Highstock) A `WMA` series. If the type option is not specified, it is
  112388. * inherited from chart.type.
  112389. *
  112390. * In TypeScript the type option must always be set.
  112391. *
  112392. * Configuration options for the series are given in three levels:
  112393. *
  112394. * 1. Options for all series in a chart are defined in the plotOptions.series
  112395. * object.
  112396. *
  112397. * 2. Options for all `wma` series are defined in plotOptions.wma.
  112398. *
  112399. * 3. Options for one single series are given in the series instance array. (see
  112400. * online documentation for example)
  112401. *
  112402. * You have to extend the `SeriesWmaOptions` via an interface to allow custom
  112403. * properties: ``` declare interface SeriesWmaOptions { customProperty: string;
  112404. * }
  112405. *
  112406. */
  112407. export interface SeriesWmaOptions extends PlotWmaOptions, SeriesOptions {
  112408. /**
  112409. * Not available
  112410. */
  112411. dataParser?: undefined;
  112412. /**
  112413. * Not available
  112414. */
  112415. dataURL?: undefined;
  112416. /**
  112417. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  112418. * TypeScript non-optional and might be `undefined` in series objects from
  112419. * unknown sources.
  112420. */
  112421. type: "wma";
  112422. }
  112423. /**
  112424. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  112425. * series is displayed for the `dataLabels`. The animation can also be set as a
  112426. * configuration object. Please note that this option only applies to the
  112427. * initial animation. For other animations, see chart.animation and the
  112428. * animation parameter under the API methods. The following properties are
  112429. * supported:
  112430. *
  112431. * - `defer`: The animation delay time in milliseconds.
  112432. */
  112433. export interface SeriesWordcloudDataDataLabelsAnimationOptions {
  112434. /**
  112435. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  112436. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  112437. * time from the series.animation.defer.
  112438. */
  112439. defer?: number;
  112440. }
  112441. /**
  112442. * (Highcharts) Style options for the guide box. The guide box has one state by
  112443. * default, the `default` state.
  112444. */
  112445. export interface SeriesWordcloudDataDragDropGuideBoxOptions {
  112446. /**
  112447. * (Highcharts) Style options for the guide box default state.
  112448. */
  112449. default?: DragDropGuideBoxOptionsObject;
  112450. }
  112451. /**
  112452. * (Highcharts) A `wordcloud` series. If the type option is not specified, it is
  112453. * inherited from chart.type.
  112454. *
  112455. * In TypeScript the type option must always be set.
  112456. *
  112457. * Configuration options for the series are given in three levels:
  112458. *
  112459. * 1. Options for all series in a chart are defined in the plotOptions.series
  112460. * object.
  112461. *
  112462. * 2. Options for all `wordcloud` series are defined in plotOptions.wordcloud.
  112463. *
  112464. * 3. Options for one single series are given in the series instance array. (see
  112465. * online documentation for example)
  112466. *
  112467. * You have to extend the `SeriesWordcloudOptions` via an interface to allow
  112468. * custom properties: ``` declare interface SeriesWordcloudOptions {
  112469. * customProperty: string; }
  112470. *
  112471. */
  112472. export interface SeriesWordcloudOptions extends PlotWordcloudOptions, SeriesOptions {
  112473. /**
  112474. * (Highcharts) An array of data points for the series. For the `wordcloud`
  112475. * series type, points can be given in the following ways:
  112476. *
  112477. * 1. An array of arrays with 2 values. In this case, the values correspond
  112478. * to `name,weight`. (see online documentation for example)
  112479. *
  112480. * 2. An array of objects with named values. The following snippet shows
  112481. * only a few settings, see the complete options set below. If the total
  112482. * number of data points exceeds the series' turboThreshold, this option is
  112483. * not available. (see online documentation for example)
  112484. */
  112485. data?: Array<([string, number]|PointOptionsObject)>;
  112486. /**
  112487. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  112488. * TypeScript non-optional and might be `undefined` in series objects from
  112489. * unknown sources.
  112490. */
  112491. type: "wordcloud";
  112492. }
  112493. /**
  112494. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  112495. * series is displayed for the `dataLabels`. The animation can also be set as a
  112496. * configuration object. Please note that this option only applies to the
  112497. * initial animation. For other animations, see chart.animation and the
  112498. * animation parameter under the API methods. The following properties are
  112499. * supported:
  112500. *
  112501. * - `defer`: The animation delay time in milliseconds.
  112502. */
  112503. export interface SeriesXrangeDataDataLabelsAnimationOptions {
  112504. /**
  112505. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  112506. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  112507. * time from the series.animation.defer.
  112508. */
  112509. defer?: number;
  112510. }
  112511. /**
  112512. * (Highcharts, Highstock, Gantt) Style options for the guide box. The guide box
  112513. * has one state by default, the `default` state.
  112514. */
  112515. export interface SeriesXrangeDataDragDropGuideBoxOptions {
  112516. /**
  112517. * (Highcharts, Highstock, Gantt) Style options for the guide box default
  112518. * state.
  112519. */
  112520. default?: DragDropGuideBoxOptionsObject;
  112521. }
  112522. /**
  112523. * (Highcharts, Highstock, Gantt) An `xrange` series. If the type option is not
  112524. * specified, it is inherited from chart.type.
  112525. *
  112526. * In TypeScript the type option must always be set.
  112527. *
  112528. * Configuration options for the series are given in three levels:
  112529. *
  112530. * 1. Options for all series in a chart are defined in the plotOptions.series
  112531. * object.
  112532. *
  112533. * 2. Options for all `xrange` series are defined in plotOptions.xrange.
  112534. *
  112535. * 3. Options for one single series are given in the series instance array. (see
  112536. * online documentation for example)
  112537. *
  112538. * You have to extend the `SeriesXrangeOptions` via an interface to allow custom
  112539. * properties: ``` declare interface SeriesXrangeOptions { customProperty:
  112540. * string; }
  112541. *
  112542. */
  112543. export interface SeriesXrangeOptions extends PlotXrangeOptions, SeriesOptions {
  112544. /**
  112545. * (Highcharts, Highstock, Gantt) An array of data points for the series.
  112546. * For the `xrange` series type, points can be given in the following ways:
  112547. *
  112548. * 1. An array of objects with named values. The objects are point
  112549. * configuration objects as seen below. (see online documentation for
  112550. * example)
  112551. */
  112552. data?: Array<XrangePointOptionsObject>;
  112553. /**
  112554. * Not available
  112555. */
  112556. depth?: undefined;
  112557. /**
  112558. * Not available
  112559. */
  112560. edgeColor?: undefined;
  112561. /**
  112562. * Not available
  112563. */
  112564. edgeWidth?: undefined;
  112565. /**
  112566. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  112567. * TypeScript non-optional and might be `undefined` in series objects from
  112568. * unknown sources.
  112569. */
  112570. type: "xrange";
  112571. }
  112572. /**
  112573. * (Highstock) A `Zig Zag` series. If the type option is not specified, it is
  112574. * inherited from chart.type.
  112575. *
  112576. * In TypeScript the type option must always be set.
  112577. *
  112578. * Configuration options for the series are given in three levels:
  112579. *
  112580. * 1. Options for all series in a chart are defined in the plotOptions.series
  112581. * object.
  112582. *
  112583. * 2. Options for all `zigzag` series are defined in plotOptions.zigzag.
  112584. *
  112585. * 3. Options for one single series are given in the series instance array. (see
  112586. * online documentation for example)
  112587. *
  112588. * You have to extend the `SeriesZigzagOptions` via an interface to allow custom
  112589. * properties: ``` declare interface SeriesZigzagOptions { customProperty:
  112590. * string; }
  112591. *
  112592. */
  112593. export interface SeriesZigzagOptions extends PlotZigzagOptions, SeriesOptions {
  112594. /**
  112595. * Not available
  112596. */
  112597. dataParser?: undefined;
  112598. /**
  112599. * Not available
  112600. */
  112601. dataURL?: undefined;
  112602. /**
  112603. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  112604. * TypeScript non-optional and might be `undefined` in series objects from
  112605. * unknown sources.
  112606. */
  112607. type: "zigzag";
  112608. }
  112609. /**
  112610. * (Highcharts, Highstock) An array defining zones within a series. Zones can be
  112611. * applied to the X axis, Y axis or Z axis for bubbles, according to the
  112612. * `zoneAxis` option. The zone definitions have to be in ascending order
  112613. * regarding to the value.
  112614. *
  112615. * In styled mode, the color zones are styled with the `.highcharts-zone-{n}`
  112616. * class, or custom classed from the `className` option (view live demo).
  112617. */
  112618. export interface SeriesZonesOptionsObject {
  112619. /**
  112620. * (Highcharts, Highstock) Styled mode only. A custom class name for the
  112621. * zone.
  112622. */
  112623. className?: string;
  112624. /**
  112625. * (Highcharts, Highstock) Defines the color of the series.
  112626. */
  112627. color?: (ColorString|GradientColorObject|PatternObject);
  112628. /**
  112629. * (Highcharts, Highstock) A name for the dash style to use for the graph.
  112630. */
  112631. dashStyle?: DashStyleValue;
  112632. /**
  112633. * (Highcharts, Highstock) Defines the fill color for the series (in area
  112634. * type series)
  112635. */
  112636. fillColor?: (ColorString|GradientColorObject|PatternObject);
  112637. /**
  112638. * (Highcharts, Highstock) The value up to where the zone extends, if
  112639. * undefined the zones stretches to the last value in the series.
  112640. */
  112641. value?: number;
  112642. }
  112643. /**
  112644. * The shadow options.
  112645. */
  112646. export interface ShadowOptionsObject {
  112647. /**
  112648. * The shadow color.
  112649. */
  112650. color?: ColorString;
  112651. /**
  112652. * The horizontal offset from the element.
  112653. */
  112654. offsetX?: number;
  112655. /**
  112656. * The vertical offset from the element.
  112657. */
  112658. offsetY?: number;
  112659. /**
  112660. * The shadow opacity.
  112661. */
  112662. opacity?: number;
  112663. /**
  112664. * The shadow width or distance from the element.
  112665. */
  112666. width?: number;
  112667. }
  112668. export interface SizeObject {
  112669. height: number;
  112670. width: number;
  112671. }
  112672. /**
  112673. * (Highcharts) Stack of data points
  112674. */
  112675. export interface StackItemObject {
  112676. /**
  112677. * Alignment settings
  112678. */
  112679. alignOptions: AlignObject;
  112680. /**
  112681. * Related axis
  112682. */
  112683. axis: Axis;
  112684. /**
  112685. * Cumulative value of the stacked data points
  112686. */
  112687. cumulative: number;
  112688. /**
  112689. * True if on the negative side
  112690. */
  112691. isNegative: boolean;
  112692. /**
  112693. * Related SVG element
  112694. */
  112695. label: SVGElement;
  112696. /**
  112697. * Related stack options
  112698. */
  112699. options: YAxisStackLabelsOptions;
  112700. /**
  112701. * Total value of the stacked data points
  112702. */
  112703. total: number;
  112704. /**
  112705. * Shared x value of the stack
  112706. */
  112707. x: number;
  112708. }
  112709. export interface StockToolsGuiDefinitionsAdvancedFibonacciOptions {
  112710. /**
  112711. * (Highstock) A predefined background symbol for the button.
  112712. */
  112713. symbol?: string;
  112714. }
  112715. export interface StockToolsGuiDefinitionsAdvancedOptions {
  112716. fibonacci?: StockToolsGuiDefinitionsAdvancedFibonacciOptions;
  112717. /**
  112718. * (Highstock) A collection of strings pointing to config options for the
  112719. * items.
  112720. */
  112721. items?: any[];
  112722. parallelChannel?: StockToolsGuiDefinitionsAdvancedParallelChannelOptions;
  112723. pitchfork?: StockToolsGuiDefinitionsAdvancedPitchforkOptions;
  112724. }
  112725. export interface StockToolsGuiDefinitionsAdvancedParallelChannelOptions {
  112726. /**
  112727. * (Highstock) A predefined background symbol for the button.
  112728. */
  112729. symbol?: string;
  112730. }
  112731. export interface StockToolsGuiDefinitionsAdvancedPitchforkOptions {
  112732. /**
  112733. * (Highstock) A predefined background symbol for the button.
  112734. */
  112735. symbol?: string;
  112736. }
  112737. export interface StockToolsGuiDefinitionsCrookedLinesCrooked3Options {
  112738. /**
  112739. * (Highstock) A predefined background symbol for the button.
  112740. */
  112741. symbol?: string;
  112742. }
  112743. export interface StockToolsGuiDefinitionsCrookedLinesCrooked5Options {
  112744. /**
  112745. * (Highstock) A predefined background symbol for the button.
  112746. */
  112747. symbol?: string;
  112748. }
  112749. export interface StockToolsGuiDefinitionsCrookedLinesElliott3Options {
  112750. /**
  112751. * (Highstock) A predefined background symbol for the button.
  112752. */
  112753. symbol?: string;
  112754. }
  112755. export interface StockToolsGuiDefinitionsCrookedLinesElliott5Options {
  112756. /**
  112757. * (Highstock) A predefined background symbol for the button.
  112758. */
  112759. symbol?: string;
  112760. }
  112761. export interface StockToolsGuiDefinitionsCrookedLinesOptions {
  112762. crooked3?: StockToolsGuiDefinitionsCrookedLinesCrooked3Options;
  112763. crooked5?: StockToolsGuiDefinitionsCrookedLinesCrooked5Options;
  112764. elliott3?: StockToolsGuiDefinitionsCrookedLinesElliott3Options;
  112765. elliott5?: StockToolsGuiDefinitionsCrookedLinesElliott5Options;
  112766. /**
  112767. * (Highstock) A collection of strings pointing to config options for the
  112768. * items.
  112769. */
  112770. items?: any[];
  112771. }
  112772. export interface StockToolsGuiDefinitionsCurrentPriceIndicatorOptions {
  112773. /**
  112774. * (Highstock) A predefined background symbol for the button.
  112775. */
  112776. symbol?: string;
  112777. }
  112778. export interface StockToolsGuiDefinitionsFlagsFlagCirclepinOptions {
  112779. /**
  112780. * (Highstock) A predefined background symbol for the button.
  112781. */
  112782. symbol?: string;
  112783. }
  112784. export interface StockToolsGuiDefinitionsFlagsFlagDiamondpinOptions {
  112785. /**
  112786. * (Highstock) A predefined background symbol for the button.
  112787. */
  112788. symbol?: string;
  112789. }
  112790. export interface StockToolsGuiDefinitionsFlagsFlagSimplepinOptions {
  112791. /**
  112792. * (Highstock) A predefined background symbol for the button.
  112793. */
  112794. symbol?: string;
  112795. }
  112796. export interface StockToolsGuiDefinitionsFlagsFlagSquarepinOptions {
  112797. /**
  112798. * (Highstock) A predefined background symbol for the button.
  112799. */
  112800. symbol?: string;
  112801. }
  112802. export interface StockToolsGuiDefinitionsFlagsOptions {
  112803. flagCirclepin?: StockToolsGuiDefinitionsFlagsFlagCirclepinOptions;
  112804. flagDiamondpin?: StockToolsGuiDefinitionsFlagsFlagDiamondpinOptions;
  112805. flagSimplepin?: StockToolsGuiDefinitionsFlagsFlagSimplepinOptions;
  112806. flagSquarepin?: StockToolsGuiDefinitionsFlagsFlagSquarepinOptions;
  112807. /**
  112808. * (Highstock) A collection of strings pointing to config options for the
  112809. * items.
  112810. */
  112811. items?: any[];
  112812. }
  112813. export interface StockToolsGuiDefinitionsFullScreenOptions {
  112814. /**
  112815. * (Highstock) A predefined background symbol for the button.
  112816. */
  112817. symbol?: string;
  112818. }
  112819. export interface StockToolsGuiDefinitionsIndicatorsOptions {
  112820. /**
  112821. * (Highstock) A predefined background symbol for the button.
  112822. */
  112823. symbol?: string;
  112824. }
  112825. export interface StockToolsGuiDefinitionsLinesArrowLineOptions {
  112826. /**
  112827. * (Highstock) A predefined background symbol for the button.
  112828. */
  112829. symbol?: string;
  112830. }
  112831. export interface StockToolsGuiDefinitionsLinesArrowRayOptions {
  112832. /**
  112833. * (Highstock) A predefined background symbol for the button.
  112834. */
  112835. symbol?: string;
  112836. }
  112837. export interface StockToolsGuiDefinitionsLinesArrowSegmentOptions {
  112838. /**
  112839. * (Highstock) A predefined background symbol for the button.
  112840. */
  112841. symbol?: string;
  112842. }
  112843. export interface StockToolsGuiDefinitionsLinesHorizontalLineOptions {
  112844. /**
  112845. * (Highstock) A predefined background symbol for the button.
  112846. */
  112847. symbol?: string;
  112848. }
  112849. export interface StockToolsGuiDefinitionsLinesLineOptions {
  112850. /**
  112851. * (Highstock) A predefined background symbol for the button.
  112852. */
  112853. symbol?: string;
  112854. }
  112855. export interface StockToolsGuiDefinitionsLinesOptions {
  112856. arrowLine?: StockToolsGuiDefinitionsLinesArrowLineOptions;
  112857. arrowRay?: StockToolsGuiDefinitionsLinesArrowRayOptions;
  112858. arrowSegment?: StockToolsGuiDefinitionsLinesArrowSegmentOptions;
  112859. horizontalLine?: StockToolsGuiDefinitionsLinesHorizontalLineOptions;
  112860. /**
  112861. * (Highstock) A collection of strings pointing to config options for the
  112862. * items.
  112863. */
  112864. items?: any[];
  112865. line?: StockToolsGuiDefinitionsLinesLineOptions;
  112866. ray?: StockToolsGuiDefinitionsLinesRayOptions;
  112867. segment?: StockToolsGuiDefinitionsLinesSegmentOptions;
  112868. verticalLine?: StockToolsGuiDefinitionsLinesVerticalLineOptions;
  112869. }
  112870. export interface StockToolsGuiDefinitionsLinesRayOptions {
  112871. /**
  112872. * (Highstock) A predefined background symbol for the button.
  112873. */
  112874. symbol?: string;
  112875. }
  112876. export interface StockToolsGuiDefinitionsLinesSegmentOptions {
  112877. /**
  112878. * (Highstock) A predefined background symbol for the button.
  112879. */
  112880. symbol?: string;
  112881. }
  112882. export interface StockToolsGuiDefinitionsLinesVerticalLineOptions {
  112883. /**
  112884. * (Highstock) A predefined background symbol for the button.
  112885. */
  112886. symbol?: string;
  112887. }
  112888. export interface StockToolsGuiDefinitionsMeasureMeasureXOptions {
  112889. /**
  112890. * (Highstock) A predefined background symbol for the button.
  112891. */
  112892. symbol?: string;
  112893. }
  112894. export interface StockToolsGuiDefinitionsMeasureMeasureXYOptions {
  112895. /**
  112896. * (Highstock) A predefined background symbol for the button.
  112897. */
  112898. symbol?: string;
  112899. }
  112900. export interface StockToolsGuiDefinitionsMeasureMeasureYOptions {
  112901. /**
  112902. * (Highstock) A predefined background symbol for the button.
  112903. */
  112904. symbol?: string;
  112905. }
  112906. export interface StockToolsGuiDefinitionsMeasureOptions {
  112907. /**
  112908. * (Highstock) A collection of strings pointing to config options for the
  112909. * items.
  112910. */
  112911. items?: any[];
  112912. measureX?: StockToolsGuiDefinitionsMeasureMeasureXOptions;
  112913. measureXY?: StockToolsGuiDefinitionsMeasureMeasureXYOptions;
  112914. measureY?: StockToolsGuiDefinitionsMeasureMeasureYOptions;
  112915. }
  112916. /**
  112917. * (Highstock) An options object of the buttons definitions. Each name refers to
  112918. * unique key from buttons array.
  112919. */
  112920. export interface StockToolsGuiDefinitionsOptions {
  112921. advanced?: StockToolsGuiDefinitionsAdvancedOptions;
  112922. crookedLines?: StockToolsGuiDefinitionsCrookedLinesOptions;
  112923. currentPriceIndicator?: StockToolsGuiDefinitionsCurrentPriceIndicatorOptions;
  112924. flags?: StockToolsGuiDefinitionsFlagsOptions;
  112925. fullScreen?: StockToolsGuiDefinitionsFullScreenOptions;
  112926. indicators?: StockToolsGuiDefinitionsIndicatorsOptions;
  112927. lines?: StockToolsGuiDefinitionsLinesOptions;
  112928. measure?: StockToolsGuiDefinitionsMeasureOptions;
  112929. saveChart?: StockToolsGuiDefinitionsSaveChartOptions;
  112930. separator?: StockToolsGuiDefinitionsSeparatorOptions;
  112931. simpleShapes?: StockToolsGuiDefinitionsSimpleShapesOptions;
  112932. toggleAnnotations?: StockToolsGuiDefinitionsToggleAnnotationsOptions;
  112933. typeChange?: StockToolsGuiDefinitionsTypeChangeOptions;
  112934. verticalLabels?: StockToolsGuiDefinitionsVerticalLabelsOptions;
  112935. zoomChange?: StockToolsGuiDefinitionsZoomChangeOptions;
  112936. }
  112937. export interface StockToolsGuiDefinitionsSaveChartOptions {
  112938. /**
  112939. * (Highstock) A predefined background symbol for the button.
  112940. */
  112941. symbol?: string;
  112942. }
  112943. export interface StockToolsGuiDefinitionsSeparatorOptions {
  112944. /**
  112945. * (Highstock) A predefined background symbol for the button.
  112946. */
  112947. symbol?: string;
  112948. }
  112949. export interface StockToolsGuiDefinitionsSimpleShapesCircleOptions {
  112950. /**
  112951. * (Highstock) A predefined background symbol for the button.
  112952. */
  112953. symbol?: string;
  112954. }
  112955. export interface StockToolsGuiDefinitionsSimpleShapesLabelOptions {
  112956. /**
  112957. * (Highstock) A predefined background symbol for the button.
  112958. */
  112959. symbol?: string;
  112960. }
  112961. export interface StockToolsGuiDefinitionsSimpleShapesOptions {
  112962. circle?: StockToolsGuiDefinitionsSimpleShapesCircleOptions;
  112963. /**
  112964. * (Highstock) A collection of strings pointing to config options for the
  112965. * items.
  112966. */
  112967. items?: any[];
  112968. label?: StockToolsGuiDefinitionsSimpleShapesLabelOptions;
  112969. rectangle?: StockToolsGuiDefinitionsSimpleShapesRectangleOptions;
  112970. }
  112971. export interface StockToolsGuiDefinitionsSimpleShapesRectangleOptions {
  112972. /**
  112973. * (Highstock) A predefined background symbol for the button.
  112974. */
  112975. symbol?: string;
  112976. }
  112977. export interface StockToolsGuiDefinitionsToggleAnnotationsOptions {
  112978. /**
  112979. * (Highstock) A predefined background symbol for the button.
  112980. */
  112981. symbol?: string;
  112982. }
  112983. export interface StockToolsGuiDefinitionsTypeChangeOptions {
  112984. /**
  112985. * (Highstock) A collection of strings pointing to config options for the
  112986. * items.
  112987. */
  112988. items?: any[];
  112989. typeCandlestick?: StockToolsGuiDefinitionsTypeChangeTypeCandlestickOptions;
  112990. typeLine?: StockToolsGuiDefinitionsTypeChangeTypeLineOptions;
  112991. typeOHLC?: StockToolsGuiDefinitionsTypeChangeTypeOHLCOptions;
  112992. }
  112993. export interface StockToolsGuiDefinitionsTypeChangeTypeCandlestickOptions {
  112994. /**
  112995. * (Highstock) A predefined background symbol for the button.
  112996. */
  112997. symbol?: string;
  112998. }
  112999. export interface StockToolsGuiDefinitionsTypeChangeTypeLineOptions {
  113000. /**
  113001. * (Highstock) A predefined background symbol for the button.
  113002. */
  113003. symbol?: string;
  113004. }
  113005. export interface StockToolsGuiDefinitionsTypeChangeTypeOHLCOptions {
  113006. /**
  113007. * (Highstock) A predefined background symbol for the button.
  113008. */
  113009. symbol?: string;
  113010. }
  113011. export interface StockToolsGuiDefinitionsVerticalLabelsOptions {
  113012. /**
  113013. * (Highstock) A collection of strings pointing to config options for the
  113014. * items.
  113015. */
  113016. items?: any[];
  113017. verticalArrow?: StockToolsGuiDefinitionsVerticalLabelsVerticalArrowOptions;
  113018. verticalCounter?: StockToolsGuiDefinitionsVerticalLabelsVerticalCounterOptions;
  113019. verticalLabel?: StockToolsGuiDefinitionsVerticalLabelsVerticalLabelOptions;
  113020. }
  113021. export interface StockToolsGuiDefinitionsVerticalLabelsVerticalArrowOptions {
  113022. /**
  113023. * (Highstock) A predefined background symbol for the button.
  113024. */
  113025. symbol?: string;
  113026. }
  113027. export interface StockToolsGuiDefinitionsVerticalLabelsVerticalCounterOptions {
  113028. /**
  113029. * (Highstock) A predefined background symbol for the button.
  113030. */
  113031. symbol?: string;
  113032. }
  113033. export interface StockToolsGuiDefinitionsVerticalLabelsVerticalLabelOptions {
  113034. /**
  113035. * (Highstock) A predefined background symbol for the button.
  113036. */
  113037. symbol?: string;
  113038. }
  113039. export interface StockToolsGuiDefinitionsZoomChangeOptions {
  113040. /**
  113041. * (Highstock) A collection of strings pointing to config options for the
  113042. * items.
  113043. */
  113044. items?: any[];
  113045. zoomX?: StockToolsGuiDefinitionsZoomChangeZoomXOptions;
  113046. zoomXY?: StockToolsGuiDefinitionsZoomChangeZoomXYOptions;
  113047. zoomY?: StockToolsGuiDefinitionsZoomChangeZoomYOptions;
  113048. }
  113049. export interface StockToolsGuiDefinitionsZoomChangeZoomXOptions {
  113050. /**
  113051. * (Highstock) A predefined background symbol for the button.
  113052. */
  113053. symbol?: string;
  113054. }
  113055. export interface StockToolsGuiDefinitionsZoomChangeZoomXYOptions {
  113056. /**
  113057. * (Highstock) A predefined background symbol for the button.
  113058. */
  113059. symbol?: string;
  113060. }
  113061. export interface StockToolsGuiDefinitionsZoomChangeZoomYOptions {
  113062. /**
  113063. * (Highstock) A predefined background symbol for the button.
  113064. */
  113065. symbol?: string;
  113066. }
  113067. /**
  113068. * (Highstock) Definitions of buttons in Stock Tools GUI.
  113069. */
  113070. export interface StockToolsGuiOptions {
  113071. /**
  113072. * (Highstock) A collection of strings pointing to config options for the
  113073. * toolbar items. Each name refers to unique key from definitions object.
  113074. */
  113075. buttons?: string;
  113076. /**
  113077. * (Highstock) A CSS class name to apply to the stocktools' div, allowing
  113078. * unique CSS styling for each chart.
  113079. */
  113080. className?: string;
  113081. /**
  113082. * (Highstock) An options object of the buttons definitions. Each name
  113083. * refers to unique key from buttons array.
  113084. */
  113085. definitions?: StockToolsGuiDefinitionsOptions;
  113086. /**
  113087. * (Highstock) Enable or disable the stockTools gui.
  113088. */
  113089. enabled?: boolean;
  113090. /**
  113091. * (Highstock) A CSS class name to apply to the container of buttons,
  113092. * allowing unique CSS styling for each chart.
  113093. */
  113094. toolbarClassName?: string;
  113095. }
  113096. /**
  113097. * (Highstock) Configure the stockTools gui strings in the chart. Requires the
  113098. * [stockTools module]() to be loaded. For a description of the module and
  113099. * information on its features, see [Highcharts StockTools]().
  113100. */
  113101. export interface StockToolsOptions {
  113102. /**
  113103. * (Highstock) Definitions of buttons in Stock Tools GUI.
  113104. */
  113105. gui?: StockToolsGuiOptions;
  113106. }
  113107. /**
  113108. * The chart subtitle. The subtitle has an `update` method that allows modifying
  113109. * the options directly or indirectly via `chart.update`.
  113110. */
  113111. export interface SubtitleObject extends SVGElement {
  113112. /**
  113113. * Modify options for the subtitle.
  113114. *
  113115. * @param subtitleOptions
  113116. * Options to modify.
  113117. *
  113118. * @param redraw
  113119. * Whether to redraw the chart after the subtitle is altered. If
  113120. * doing more operations on the chart, it is a good idea to set
  113121. * redraw to false and call Chart#redraw after.
  113122. */
  113123. update(subtitleOptions: SubtitleOptions, redraw?: boolean): void;
  113124. }
  113125. /**
  113126. * (Highcharts, Highstock, Highmaps, Gantt) The chart's subtitle. This can be
  113127. * used both to display a subtitle below the main title, and to display random
  113128. * text anywhere in the chart. The subtitle can be updated after chart
  113129. * initialization through the `Chart.setTitle` method.
  113130. */
  113131. export interface SubtitleOptions {
  113132. /**
  113133. * (Highcharts, Highstock, Highmaps, Gantt) The horizontal alignment of the
  113134. * subtitle. Can be one of "left", "center" and "right".
  113135. */
  113136. align?: AlignValue;
  113137. /**
  113138. * (Highcharts, Highstock, Highmaps, Gantt) When the subtitle is floating,
  113139. * the plot area will not move to make space for it.
  113140. */
  113141. floating?: boolean;
  113142. /**
  113143. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the title.
  113144. *
  113145. * In styled mode, the subtitle style is given in the `.highcharts-subtitle`
  113146. * class.
  113147. */
  113148. style?: CSSObject;
  113149. /**
  113150. * (Highcharts, Highstock, Highmaps, Gantt) The subtitle of the chart.
  113151. */
  113152. text?: string;
  113153. /**
  113154. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  113155. * the text.
  113156. */
  113157. useHTML?: boolean;
  113158. /**
  113159. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  113160. * title. Can be one of `"top"`, `"middle"` and `"bottom"`. When middle, the
  113161. * subtitle behaves as floating.
  113162. */
  113163. verticalAlign?: VerticalAlignValue;
  113164. /**
  113165. * (Highcharts, Highstock, Highmaps, Gantt) Adjustment made to the subtitle
  113166. * width, normally to reserve space for the exporting burger menu.
  113167. */
  113168. widthAdjust?: number;
  113169. /**
  113170. * (Highcharts, Highstock, Highmaps, Gantt) The x position of the subtitle
  113171. * relative to the alignment within `chart.spacingLeft` and
  113172. * `chart.spacingRight`.
  113173. */
  113174. x?: number;
  113175. /**
  113176. * (Highcharts, Highstock, Highmaps, Gantt) The y position of the subtitle
  113177. * relative to the alignment within `chart.spacingTop` and
  113178. * `chart.spacingBottom`. By default the subtitle is laid out below the
  113179. * title unless the title is floating.
  113180. */
  113181. y?: number;
  113182. }
  113183. /**
  113184. * An object of key-value pairs for SVG attributes. Attributes in Highcharts
  113185. * elements for the most parts correspond to SVG, but some are specific to
  113186. * Highcharts, like `zIndex`, `rotation`, `rotationOriginX`, `rotationOriginY`,
  113187. * `translateX`, `translateY`, `scaleX` and `scaleY`. SVG attributes containing
  113188. * a hyphen are _not_ camel-cased, they should be quoted to preserve the hyphen.
  113189. */
  113190. export interface SVGAttributes {
  113191. [key: string]: any;
  113192. d?: (string|SVGPathArray);
  113193. fill?: (ColorString|GradientColorObject|PatternObject);
  113194. inverted?: boolean;
  113195. matrix?: Array<number>;
  113196. rotation?: number;
  113197. rotationOriginX?: number;
  113198. rotationOriginY?: number;
  113199. scaleX?: number;
  113200. scaleY?: number;
  113201. stroke?: (ColorString|GradientColorObject|PatternObject);
  113202. style?: (string|CSSObject);
  113203. translateX?: number;
  113204. translateY?: number;
  113205. zIndex?: number;
  113206. }
  113207. /**
  113208. * Serialized form of an SVG definition, including children. Some key property
  113209. * names are reserved: tagName, textContent, and children.
  113210. */
  113211. export interface SVGDefinitionObject {
  113212. [key: string]: (boolean|number|string|Array<SVGDefinitionObject>|undefined);
  113213. children?: Array<SVGDefinitionObject>;
  113214. tagName?: string;
  113215. textContent?: string;
  113216. }
  113217. /**
  113218. * An extendable collection of functions for defining symbol paths. Symbols are
  113219. * used internally for point markers, button and label borders and backgrounds,
  113220. * or custom shapes. Extendable by adding to SVGRenderer#symbols.
  113221. */
  113222. export interface SymbolDictionary {
  113223. [key: string]: (Function|undefined);
  113224. arc?: Function;
  113225. callout?: Function;
  113226. circle?: Function;
  113227. diamond?: Function;
  113228. square?: Function;
  113229. triangle?: Function;
  113230. }
  113231. /**
  113232. * Additional options, depending on the actual symbol drawn.
  113233. */
  113234. export interface SymbolOptionsObject {
  113235. /**
  113236. * The anchor X position for the `callout` symbol. This is where the chevron
  113237. * points to.
  113238. */
  113239. anchorX?: number;
  113240. /**
  113241. * The anchor Y position for the `callout` symbol. This is where the chevron
  113242. * points to.
  113243. */
  113244. anchorY?: number;
  113245. /**
  113246. * The end angle of an `arc` symbol.
  113247. */
  113248. end?: number;
  113249. /**
  113250. * Whether to draw `arc` symbol open or closed.
  113251. */
  113252. open?: boolean;
  113253. /**
  113254. * The radius of an `arc` symbol, or the border radius for the `callout`
  113255. * symbol.
  113256. */
  113257. r?: number;
  113258. /**
  113259. * The start angle of an `arc` symbol.
  113260. */
  113261. start?: number;
  113262. }
  113263. export interface TimelineDataLabelsFormatterContextObject extends PointLabelObject {
  113264. key?: string;
  113265. point: Point;
  113266. series: Series;
  113267. }
  113268. /**
  113269. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  113270. * appearing next to each data point.
  113271. *
  113272. * Since v6.2.0, multiple data labels can be applied to each single point by
  113273. * defining them as an array of configs.
  113274. *
  113275. * In styled mode, the data labels can be styled with the
  113276. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  113277. * example).
  113278. */
  113279. export interface TimelineDataLabelsOptionsObject {
  113280. /**
  113281. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  113282. * compared to the point. If `right`, the right side of the label should be
  113283. * touching the point. For points with an extent, like columns, the
  113284. * alignments also dictates how to align it inside the box, as given with
  113285. * the inside option. Can be one of `left`, `center` or `right`.
  113286. */
  113287. align?: (AlignValue|null);
  113288. /**
  113289. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  113290. * overlap. To make the labels less sensitive for overlapping, the
  113291. * dataLabels.padding can be set to 0.
  113292. */
  113293. allowOverlap?: boolean;
  113294. /**
  113295. * (Highcharts, Highstock, Highmaps, Gantt) Whether to position data labels
  113296. * alternately. For example, if distance is set equal to `100`, then data
  113297. * labels will be positioned alternately (on both sides of the point) at a
  113298. * distance of 100px.
  113299. */
  113300. alternate?: boolean;
  113301. /**
  113302. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  113303. * animation when a series is displayed for the `dataLabels`. The animation
  113304. * can also be set as a configuration object. Please note that this option
  113305. * only applies to the initial animation. For other animations, see
  113306. * chart.animation and the animation parameter under the API methods. The
  113307. * following properties are supported:
  113308. *
  113309. * - `defer`: The animation delay time in milliseconds.
  113310. */
  113311. animation?: (boolean|PlotTimelineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  113312. /**
  113313. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  113314. * for the data label.
  113315. */
  113316. backgroundColor?: string;
  113317. /**
  113318. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  113319. * label. Defaults to `undefined`.
  113320. */
  113321. borderColor?: string;
  113322. /**
  113323. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  113324. * the data label.
  113325. */
  113326. borderRadius?: number;
  113327. /**
  113328. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  113329. * the data label.
  113330. */
  113331. borderWidth?: number;
  113332. /**
  113333. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  113334. * Particularly in styled mode, this can be used to give each series' or
  113335. * point's data label unique styling. In addition to this option, a default
  113336. * color class name is added so that we can give the labels a contrast text
  113337. * shadow.
  113338. */
  113339. className?: string;
  113340. /**
  113341. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  113342. * labels. Defaults to `undefined`. For certain series types, like column or
  113343. * map, the data labels can be drawn inside the points. In this case the
  113344. * data label will be drawn with maximum contrast by default. Additionally,
  113345. * it will be given a `text-outline` style with the opposite color, to
  113346. * further increase the contrast. This can be overridden by setting the
  113347. * `text-outline` style to `none` in the `dataLabels.style` option.
  113348. */
  113349. color?: string;
  113350. /**
  113351. * (Highcharts, Highstock, Highmaps, Gantt) The color of the line connecting
  113352. * the data label to the point. The default color is the same as the point's
  113353. * color.
  113354. *
  113355. * In styled mode, the connector stroke is given in the
  113356. * `.highcharts-data-label-connector` class.
  113357. */
  113358. connectorColor?: (ColorString|GradientColorObject|PatternObject);
  113359. /**
  113360. * (Highcharts, Highstock, Highmaps, Gantt) The width of the line connecting
  113361. * the data label to the point.
  113362. *
  113363. * In styled mode, the connector stroke width is given in the
  113364. * `.highcharts-data-label-connector` class.
  113365. */
  113366. connectorWidth?: number;
  113367. /**
  113368. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  113369. * are outside the plot area. By default, the data label is moved inside the
  113370. * plot area according to the overflow option.
  113371. */
  113372. crop?: boolean;
  113373. /**
  113374. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  113375. * labels until the initial series animation has finished. Setting to
  113376. * `false` renders the data label immediately. If set to `true` inherits the
  113377. * defer time set in plotOptions.series.animation.
  113378. */
  113379. defer?: boolean;
  113380. /**
  113381. * (Highcharts, Highstock, Highmaps, Gantt) A pixel value defining the
  113382. * distance between the data label and the point. Negative numbers puts the
  113383. * label on top of the point.
  113384. */
  113385. distance?: number;
  113386. /**
  113387. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  113388. * labels.
  113389. */
  113390. enabled?: boolean;
  113391. /**
  113392. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  113393. * of which data labels to display. The declarative filter is designed for
  113394. * use when callback functions are not available, like when the chart
  113395. * options require a pure JSON structure or for use with graphical editors.
  113396. * For programmatic control, use the `formatter` instead, and return
  113397. * `undefined` to disable a single data label.
  113398. */
  113399. filter?: DataLabelsFilterOptionsObject;
  113400. /**
  113401. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  113402. * label. Available variables are the same as for `formatter`.
  113403. */
  113404. format?: string;
  113405. /**
  113406. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  113407. * format the data label. Note that if a `format` is defined, the format
  113408. * takes precedence and the formatter is ignored.
  113409. */
  113410. formatter?: TimelineDataLabelsFormatterCallbackFunction;
  113411. /**
  113412. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  113413. * columns or map areas, whether to align the data label inside the box or
  113414. * to the actual value point. Defaults to `false` in most cases, `true` in
  113415. * stacked columns.
  113416. */
  113417. inside?: boolean;
  113418. /**
  113419. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  113420. * of null. Works analogously to format. `nullFormat` can be applied only to
  113421. * series which support displaying null points.
  113422. */
  113423. nullFormat?: (boolean|string);
  113424. /**
  113425. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  113426. * that defines formatting for points with the value of null. Works
  113427. * analogously to formatter. `nullPointFormatter` can be applied only to
  113428. * series which support displaying null points.
  113429. */
  113430. nullFormatter?: DataLabelsFormatterCallbackFunction;
  113431. /**
  113432. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  113433. * flow outside the plot area. The default is `"justify"`, which aligns them
  113434. * inside the plot area. For columns and bars, this means it will be moved
  113435. * inside the bar. To display data labels outside the plot area, set `crop`
  113436. * to `false` and `overflow` to `"allow"`.
  113437. */
  113438. overflow?: DataLabelsOverflowValue;
  113439. /**
  113440. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  113441. * the `backgroundColor` is set, this is the padding within the box.
  113442. */
  113443. padding?: number;
  113444. /**
  113445. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  113446. * points. If `center` alignment is not possible, it defaults to `right`.
  113447. */
  113448. position?: AlignValue;
  113449. /**
  113450. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  113451. * that due to a more complex structure, backgrounds, borders and padding
  113452. * will be lost on a rotated data label.
  113453. */
  113454. rotation?: number;
  113455. /**
  113456. * (Highcharts, Highstock, Highmaps, Gantt) Shadow options for the data
  113457. * label.
  113458. */
  113459. shadow?: (boolean|CSSObject);
  113460. /**
  113461. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  113462. * the border around the label. Symbols are predefined functions on the
  113463. * Renderer object.
  113464. */
  113465. shape?: string;
  113466. /**
  113467. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  113468. * default `color` setting is `"contrast"`, which is a pseudo color that
  113469. * Highcharts picks up and applies the maximum contrast to the underlying
  113470. * point item, for example the bar in a bar chart.
  113471. *
  113472. * The `textOutline` is a pseudo property that applies an outline of the
  113473. * given width with the given color, which by default is the maximum
  113474. * contrast to the text. So a bright text color will result in a black text
  113475. * outline for maximum readability on a mixed background. In some cases,
  113476. * especially with grayscale text, the text outline doesn't work well, in
  113477. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  113478. * is true, the `textOutline` will not be picked up. In this, case, the same
  113479. * effect can be acheived through the `text-shadow` CSS property.
  113480. *
  113481. * For some series types, where each point has an extent, like for example
  113482. * tree maps, the data label may overflow the point. There are two
  113483. * strategies for handling overflow. By default, the text will wrap to
  113484. * multiple lines. The other strategy is to set `style.textOverflow` to
  113485. * `ellipsis`, which will keep the text on one line plus it will break
  113486. * inside long words.
  113487. */
  113488. style?: CSSObject;
  113489. /**
  113490. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  113491. * should follow marker's shape. Border and background are disabled for a
  113492. * label that follows a path.
  113493. *
  113494. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  113495. * to true will disable this option.
  113496. */
  113497. textPath?: DataLabelsTextPathOptionsObject;
  113498. /**
  113499. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  113500. * the labels.
  113501. */
  113502. useHTML?: boolean;
  113503. /**
  113504. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  113505. * label. Can be one of `top`, `middle` or `bottom`. The default value
  113506. * depends on the data, for instance in a column chart, the label is above
  113507. * positive values and below negative values.
  113508. */
  113509. verticalAlign?: string;
  113510. width?: number;
  113511. /**
  113512. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  113513. * label relative to the point in pixels.
  113514. */
  113515. x?: number;
  113516. /**
  113517. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  113518. * label relative to the point in pixels.
  113519. */
  113520. y?: number;
  113521. /**
  113522. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  113523. * The default Z index puts it above the series. Use a Z index of 2 to
  113524. * display it behind the series.
  113525. */
  113526. z?: number;
  113527. }
  113528. /**
  113529. * Normalized interval.
  113530. */
  113531. export interface TimeNormalizedObject {
  113532. /**
  113533. * The count.
  113534. */
  113535. count: number;
  113536. /**
  113537. * The interval in axis values (ms).
  113538. */
  113539. unitRange: number;
  113540. }
  113541. /**
  113542. * (Highcharts, Highstock, Highmaps, Gantt) Time options that can apply globally
  113543. * or to individual charts. These settings affect how `datetime` axes are laid
  113544. * out, how tooltips are formatted, how series pointIntervalUnit works and how
  113545. * the Highstock range selector handles time.
  113546. *
  113547. * The common use case is that all charts in the same Highcharts object share
  113548. * the same time settings, in which case the global settings are set using
  113549. * `setOptions`. (see online documentation for example)
  113550. *
  113551. * Since v6.0.5, the time options were moved from the `global` obect to the
  113552. * `time` object, and time options can be set on each individual chart.
  113553. */
  113554. export interface TimeOptions {
  113555. /**
  113556. * (Highcharts, Highstock, Gantt) A custom `Date` class for advanced date
  113557. * handling. For example, JDate can be hooked in to handle Jalali dates.
  113558. */
  113559. Date?: any;
  113560. /**
  113561. * (Highcharts, Highstock, Gantt) A callback to return the time zone offset
  113562. * for a given datetime. It takes the timestamp in terms of milliseconds
  113563. * since January 1 1970, and returns the timezone offset in minutes. This
  113564. * provides a hook for drawing time based charts in specific time zones
  113565. * using their local DST crossover dates, with the help of external
  113566. * libraries.
  113567. */
  113568. getTimezoneOffset?: TimezoneOffsetCallbackFunction;
  113569. /**
  113570. * (Highcharts, Highstock, Highmaps, Gantt) Allows to manually load the
  113571. * `moment.js` library from Highcharts options instead of the `window`. In
  113572. * case of loading the library from a `script` tag, this option is not
  113573. * needed, it will be loaded from there by default.
  113574. */
  113575. moment?: Function;
  113576. /**
  113577. * (Highcharts, Highstock, Gantt) Requires moment.js. If the timezone option
  113578. * is specified, it creates a default getTimezoneOffset function that looks
  113579. * up the specified timezone in moment.js. If moment.js is not included,
  113580. * this throws a Highcharts error in the console, but does not crash the
  113581. * chart.
  113582. */
  113583. timezone?: string;
  113584. /**
  113585. * (Highcharts, Highstock, Gantt) The timezone offset in minutes. Positive
  113586. * values are west, negative values are east of UTC, as in the ECMAScript
  113587. * getTimezoneOffset method. Use this to display UTC based data in a
  113588. * predefined time zone.
  113589. */
  113590. timezoneOffset?: number;
  113591. /**
  113592. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use UTC time for axis
  113593. * scaling, tickmark placement and time display in `Highcharts.dateFormat`.
  113594. * Advantages of using UTC is that the time displays equally regardless of
  113595. * the user agent's time zone settings. Local time can be used when the data
  113596. * is loaded in real time or when correct Daylight Saving Time transitions
  113597. * are required.
  113598. */
  113599. useUTC?: boolean;
  113600. }
  113601. /**
  113602. * Additonal time tick information.
  113603. */
  113604. export interface TimeTicksInfoObject extends TimeNormalizedObject {
  113605. higherRanks: Array<string>;
  113606. totalRange: number;
  113607. }
  113608. /**
  113609. * The chart title. The title has an `update` method that allows modifying the
  113610. * options directly or indirectly via `chart.update`.
  113611. */
  113612. export interface TitleObject extends SVGElement {
  113613. /**
  113614. * Modify options for the title.
  113615. *
  113616. * @param titleOptions
  113617. * Options to modify.
  113618. *
  113619. * @param redraw
  113620. * Whether to redraw the chart after the title is altered. If doing
  113621. * more operations on the chart, it is a good idea to set redraw to
  113622. * false and call Chart#redraw after.
  113623. */
  113624. update(titleOptions: TitleOptions, redraw?: boolean): void;
  113625. }
  113626. /**
  113627. * (Highcharts, Highstock, Highmaps, Gantt) The chart's main title.
  113628. */
  113629. export interface TitleOptions {
  113630. /**
  113631. * (Highcharts, Highstock, Highmaps, Gantt) The horizontal alignment of the
  113632. * title. Can be one of "left", "center" and "right".
  113633. */
  113634. align?: AlignValue;
  113635. /**
  113636. * (Highcharts, Highstock, Highmaps, Gantt) When the title is floating, the
  113637. * plot area will not move to make space for it.
  113638. */
  113639. floating?: boolean;
  113640. /**
  113641. * (Highcharts, Highstock, Highmaps, Gantt) The margin between the title and
  113642. * the plot area, or if a subtitle is present, the margin between the
  113643. * subtitle and the plot area.
  113644. */
  113645. margin?: number;
  113646. /**
  113647. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the title. Use
  113648. * this for font styling, but use `align`, `x` and `y` for text alignment.
  113649. *
  113650. * In styled mode, the title style is given in the `.highcharts-title`
  113651. * class.
  113652. */
  113653. style?: CSSObject;
  113654. /**
  113655. * (Highcharts, Highstock, Highmaps, Gantt) The title of the chart. To
  113656. * disable the title, set the `text` to `undefined`.
  113657. */
  113658. text?: string;
  113659. /**
  113660. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  113661. * the text.
  113662. */
  113663. useHTML?: boolean;
  113664. /**
  113665. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  113666. * title. Can be one of `"top"`, `"middle"` and `"bottom"`. When a value is
  113667. * given, the title behaves as if floating were `true`.
  113668. */
  113669. verticalAlign?: VerticalAlignValue;
  113670. /**
  113671. * (Highcharts, Highstock, Highmaps, Gantt) Adjustment made to the title
  113672. * width, normally to reserve space for the exporting burger menu.
  113673. */
  113674. widthAdjust?: number;
  113675. /**
  113676. * (Highcharts, Highstock, Highmaps, Gantt) The x position of the title
  113677. * relative to the alignment within `chart.spacingLeft` and
  113678. * `chart.spacingRight`.
  113679. */
  113680. x?: number;
  113681. /**
  113682. * (Highcharts, Highstock, Highmaps, Gantt) The y position of the title
  113683. * relative to the alignment within chart.spacingTop and
  113684. * chart.spacingBottom. By default it depends on the font size.
  113685. */
  113686. y?: number;
  113687. }
  113688. export interface TooltipFormatterContextObject {
  113689. color: (ColorString|GradientColorObject|PatternObject);
  113690. colorIndex?: number;
  113691. key: number;
  113692. percentage?: number;
  113693. point: Point;
  113694. points?: Array<TooltipFormatterContextObject>;
  113695. series: Series;
  113696. total?: number;
  113697. x: number;
  113698. y: number;
  113699. }
  113700. /**
  113701. * (Highcharts, Highstock, Highmaps, Gantt) Options for the tooltip that appears
  113702. * when the user hovers over a series or point.
  113703. */
  113704. export interface TooltipOptions {
  113705. /**
  113706. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable animation of
  113707. * the tooltip.
  113708. */
  113709. animation?: boolean;
  113710. /**
  113711. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  113712. * for the tooltip.
  113713. *
  113714. * In styled mode, the stroke width is set in the `.highcharts-tooltip-box`
  113715. * class.
  113716. */
  113717. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  113718. /**
  113719. * (Highcharts, Highstock, Highmaps, Gantt) The color of the tooltip border.
  113720. * When `undefined`, the border takes the color of the corresponding series
  113721. * or point.
  113722. */
  113723. borderColor?: (ColorString|GradientColorObject|PatternObject);
  113724. /**
  113725. * (Highcharts, Highstock, Highmaps, Gantt) The radius of the rounded border
  113726. * corners.
  113727. */
  113728. borderRadius?: number;
  113729. /**
  113730. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the tooltip
  113731. * border.
  113732. *
  113733. * In styled mode, the stroke width is set in the `.highcharts-tooltip-box`
  113734. * class.
  113735. */
  113736. borderWidth?: number;
  113737. /**
  113738. * (Highstock) How many decimals to show for the `point.change` value when
  113739. * the `series.compare` option is set. This is overridable in each series'
  113740. * tooltip options object. The default is to preserve all decimals.
  113741. */
  113742. changeDecimals?: number;
  113743. /**
  113744. * (Highcharts, Highstock, Highmaps, Gantt) A CSS class name to apply to the
  113745. * tooltip's container div, allowing unique CSS styling for each chart.
  113746. */
  113747. className?: string;
  113748. /**
  113749. * (Highcharts, Highstock, Highmaps, Gantt) The HTML of the cluster point's
  113750. * in the tooltip. Works only with marker-clusters module and analogously to
  113751. * pointFormat.
  113752. *
  113753. * The cluster tooltip can be also formatted using `tooltip.formatter`
  113754. * callback function and `point.isCluster` flag.
  113755. */
  113756. clusterFormat?: object;
  113757. /**
  113758. * (Highcharts, Highstock, Gantt) For series on a datetime axes, the date
  113759. * format in the tooltip's header will by default be guessed based on the
  113760. * closest data points. This member gives the default string representations
  113761. * used for each unit. For an overview of the replacement codes, see
  113762. * dateFormat.
  113763. */
  113764. dateTimeLabelFormats?: Dictionary<string>;
  113765. /**
  113766. * (Highcharts, Highstock, Highmaps, Gantt) Distance from point to tooltip
  113767. * in pixels.
  113768. */
  113769. distance?: number;
  113770. /**
  113771. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the tooltip.
  113772. */
  113773. enabled?: boolean;
  113774. /**
  113775. * (Highcharts, Highstock, Highmaps, Gantt) Whether the tooltip should
  113776. * follow the mouse as it moves across columns, pie slices and other point
  113777. * types with an extent. By default it behaves this way for pie, polygon,
  113778. * map, sankey and wordcloud series by override in the `plotOptions` for
  113779. * those series types.
  113780. *
  113781. * For touch moves to behave the same way, followTouchMove must be `true`
  113782. * also.
  113783. */
  113784. followPointer?: boolean;
  113785. /**
  113786. * (Highcharts, Highstock, Highmaps, Gantt) Whether the tooltip should
  113787. * update as the finger moves on a touch device. If this is `true` and
  113788. * chart.panning is set,`followTouchMove` will take over one-finger touches,
  113789. * so the user needs to use two fingers for zooming and panning.
  113790. *
  113791. * Note the difference to followPointer that only defines the _position_ of
  113792. * the tooltip. If `followPointer` is false in for example a column series,
  113793. * the tooltip will show above or below the column, but as `followTouchMove`
  113794. * is true, the tooltip will jump from column to column as the user swipes
  113795. * across the plot area.
  113796. */
  113797. followTouchMove?: boolean;
  113798. /**
  113799. * (Highcharts, Highstock, Highmaps, Gantt) A string to append to the
  113800. * tooltip format.
  113801. */
  113802. footerFormat?: string;
  113803. /**
  113804. * (Highcharts, Highstock, Highmaps, Gantt) Callback function to format the
  113805. * text of the tooltip from scratch. In case of single or shared tooltips, a
  113806. * string should be returned. In case of split tooltips, it should return an
  113807. * array where the first item is the header, and subsequent items are mapped
  113808. * to the points. Return `false` to disable tooltip for a specific point on
  113809. * series.
  113810. *
  113811. * A subset of HTML is supported. Unless `useHTML` is true, the HTML of the
  113812. * tooltip is parsed and converted to SVG, therefore this isn't a complete
  113813. * HTML renderer. The following HTML tags are supported: `b`, `br`, `em`,
  113814. * `i`, `span`, `strong`. Spans can be styled with a `style` attribute, but
  113815. * only text-related CSS, that is shared with SVG, is handled.
  113816. *
  113817. * The available data in the formatter differ a bit depending on whether the
  113818. * tooltip is shared or split, or belongs to a single point. In a
  113819. * shared/split tooltip, all properties except `x`, which is common for all
  113820. * points, are kept in an array, `this.points`.
  113821. *
  113822. * Available data are:
  113823. *
  113824. * - **this.percentage (not shared) /** **this.points[i].percentage
  113825. * (shared)**: Stacked series and pies only. The point's percentage of the
  113826. * total.
  113827. *
  113828. * - **this.point (not shared) / this.points[i].point (shared)**: The point
  113829. * object. The point name, if defined, is available through
  113830. * `this.point.name`.
  113831. *
  113832. * - **this.points**: In a shared tooltip, this is an array containing all
  113833. * other properties for each point.
  113834. *
  113835. * - **this.series (not shared) / this.points[i].series (shared)**: The
  113836. * series object. The series name is available through `this.series.name`.
  113837. *
  113838. * - **this.total (not shared) / this.points[i].total (shared)**: Stacked
  113839. * series only. The total value at this point's x value.
  113840. *
  113841. * - **this.x**: The x value. This property is the same regardless of the
  113842. * tooltip being shared or not.
  113843. *
  113844. * - **this.y (not shared) / this.points[i].y (shared)**: The y value.
  113845. */
  113846. formatter?: TooltipFormatterCallbackFunction;
  113847. /**
  113848. * (Highcharts, Highstock, Highmaps, Gantt) The HTML of the tooltip header
  113849. * line. Variables are enclosed by curly brackets. Available variables are
  113850. * `point.key`, `series.name`, `series.color` and other members from the
  113851. * `point` and `series` objects. The `point.key` variable contains the
  113852. * category name, x value or datetime string depending on the type of axis.
  113853. * For datetime axes, the `point.key` date format can be set using
  113854. * `tooltip.xDateFormat`.
  113855. */
  113856. headerFormat?: string;
  113857. /**
  113858. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  113859. * the border around the tooltip header. Applies only when tooltip.split is
  113860. * enabled.
  113861. *
  113862. * Custom callbacks for symbol path generation can also be added to
  113863. * `Highcharts.SVGRenderer.prototype.symbols` the same way as for
  113864. * series.marker.symbol.
  113865. */
  113866. headerShape?: OptionsHeaderShapeValue;
  113867. /**
  113868. * (Highcharts, Highstock, Highmaps, Gantt) The number of milliseconds to
  113869. * wait until the tooltip is hidden when mouse out from a point or chart.
  113870. */
  113871. hideDelay?: number;
  113872. /**
  113873. * (Highcharts, Highstock, Highmaps, Gantt) The HTML of the null point's
  113874. * line in the tooltip. Works analogously to pointFormat.
  113875. */
  113876. nullFormat?: string;
  113877. /**
  113878. * (Highcharts, Highstock, Highmaps, Gantt) Callback function to format the
  113879. * text of the tooltip for visible null points. Works analogously to
  113880. * formatter.
  113881. */
  113882. nullFormatter?: TooltipFormatterCallbackFunction;
  113883. /**
  113884. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the tooltip to
  113885. * render outside the chart's SVG element box. By default (`false`), the
  113886. * tooltip is rendered within the chart's SVG element, which results in the
  113887. * tooltip being aligned inside the chart area. For small charts, this may
  113888. * result in clipping or overlapping. When `true`, a separate SVG element is
  113889. * created and overlaid on the page, allowing the tooltip to be aligned
  113890. * inside the page itself.
  113891. *
  113892. * Defaults to `true` if `chart.scrollablePlotArea` is activated, otherwise
  113893. * `false`.
  113894. */
  113895. outside?: (boolean|undefined);
  113896. /**
  113897. * (Highcharts, Highstock, Highmaps, Gantt) Padding inside the tooltip, in
  113898. * pixels.
  113899. */
  113900. padding?: number;
  113901. /**
  113902. * (Highcharts, Highstock, Highmaps, Gantt) The HTML of the point's line in
  113903. * the tooltip. Variables are enclosed by curly brackets. Available
  113904. * variables are point.x, point.y, series. name and series.color and other
  113905. * properties on the same form. Furthermore, `point.y` can be extended by
  113906. * the `tooltip.valuePrefix` and `tooltip.valueSuffix` variables. This can
  113907. * also be overridden for each series, which makes it a good hook for
  113908. * displaying units.
  113909. *
  113910. * In styled mode, the dot is colored by a class name rather than the point
  113911. * color.
  113912. */
  113913. pointFormat?: string;
  113914. /**
  113915. * (Highcharts, Highstock, Highmaps, Gantt) A callback function for
  113916. * formatting the HTML output for a single point in the tooltip. Like the
  113917. * `pointFormat` string, but with more flexibility.
  113918. */
  113919. pointFormatter?: FormatterCallbackFunction<Point>;
  113920. /**
  113921. * (Highcharts, Highstock, Highmaps, Gantt) A callback function to place the
  113922. * tooltip in a default position. The callback receives three parameters:
  113923. * `labelWidth`, `labelHeight` and `point`, where point contains values for
  113924. * `plotX` and `plotY` telling where the reference point is in the plot
  113925. * area. Add `chart.plotLeft` and `chart.plotTop` to get the full
  113926. * coordinates.
  113927. *
  113928. * Since v7, when tooltip.split option is enabled, positioner is called for
  113929. * each of the boxes separately, including xAxis header. xAxis header is not
  113930. * a point, instead `point` argument contains info: `{ plotX: Number, plotY:
  113931. * Number, isHeader: Boolean }`
  113932. *
  113933. * The return should be an object containing x and y values, for example `{
  113934. * x: 100, y: 100 }`.
  113935. */
  113936. positioner?: TooltipPositionerCallbackFunction;
  113937. /**
  113938. * (Highcharts, Highstock, Highmaps, Gantt) Whether to apply a drop shadow
  113939. * to the tooltip.
  113940. */
  113941. shadow?: (boolean|ShadowOptionsObject);
  113942. /**
  113943. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  113944. * the border around the tooltip. Can be one of: `"callout"`, `"circle"`, or
  113945. * `"square"`. When tooltip.split option is enabled, shape is applied to all
  113946. * boxes except header, which is controlled by tooltip.headerShape.
  113947. *
  113948. * Custom callbacks for symbol path generation can also be added to
  113949. * `Highcharts.SVGRenderer.prototype.symbols` the same way as for
  113950. * series.marker.symbol.
  113951. */
  113952. shape?: TooltipShapeValue;
  113953. /**
  113954. * (Highcharts, Highstock) When the tooltip is shared, the entire plot area
  113955. * will capture mouse movement or touch events. Tooltip texts for series
  113956. * types with ordered data (not pie, scatter, flags etc) will be shown in a
  113957. * single bubble. This is recommended for single series charts and for
  113958. * tablet/mobile optimized charts.
  113959. *
  113960. * See also tooltip.split, that is better suited for charts with many
  113961. * series, especially line-type series. The `tooltip.split` option takes
  113962. * precedence over `tooltip.shared`.
  113963. */
  113964. shared?: boolean;
  113965. /**
  113966. * (Highcharts, Highstock) Proximity snap for graphs or single points. It
  113967. * defaults to 10 for mouse-powered devices and 25 for touch devices.
  113968. *
  113969. * Note that in most cases the whole plot area captures the mouse movement,
  113970. * and in these cases `tooltip.snap` doesn't make sense. This applies when
  113971. * stickyTracking is `true` (default) and when the tooltip is shared or
  113972. * split.
  113973. */
  113974. snap?: number;
  113975. /**
  113976. * (Highcharts, Highstock) Split the tooltip into one label per series, with
  113977. * the header close to the axis. This is recommended over shared tooltips
  113978. * for charts with multiple line series, generally making them easier to
  113979. * read. This option takes precedence over `tooltip.shared`.
  113980. */
  113981. split?: boolean;
  113982. /**
  113983. * (Highcharts, Highstock, Highmaps, Gantt) Prevents the tooltip from
  113984. * switching or closing, when touched or pointed.
  113985. */
  113986. stickOnContact?: boolean;
  113987. /**
  113988. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the tooltip. The
  113989. * tooltip can also be styled through the CSS class `.highcharts-tooltip`.
  113990. *
  113991. * Note that the default `pointerEvents` style makes the tooltip ignore
  113992. * mouse events, so in order to use clickable tooltips, this value must be
  113993. * set to `auto`.
  113994. */
  113995. style?: CSSObject;
  113996. /**
  113997. * (Highcharts, Highstock, Highmaps, Gantt) Use HTML to render the contents
  113998. * of the tooltip instead of SVG. Using HTML allows advanced formatting like
  113999. * tables and images in the tooltip. It is also recommended for rtl
  114000. * languages as it works around rtl bugs in early Firefox.
  114001. */
  114002. useHTML?: boolean;
  114003. /**
  114004. * (Highcharts, Highstock, Highmaps, Gantt) How many decimals to show in
  114005. * each series' y value. This is overridable in each series' tooltip options
  114006. * object. The default is to preserve all decimals.
  114007. */
  114008. valueDecimals?: number;
  114009. /**
  114010. * (Highcharts, Highstock, Highmaps, Gantt) A string to prepend to each
  114011. * series' y value. Overridable in each series' tooltip options object.
  114012. */
  114013. valuePrefix?: string;
  114014. /**
  114015. * (Highcharts, Highstock, Highmaps, Gantt) A string to append to each
  114016. * series' y value. Overridable in each series' tooltip options object.
  114017. */
  114018. valueSuffix?: string;
  114019. /**
  114020. * (Highcharts, Highstock, Gantt) The format for the date in the tooltip
  114021. * header if the X axis is a datetime axis. The default is a best guess
  114022. * based on the smallest distance between points in the chart.
  114023. */
  114024. xDateFormat?: string;
  114025. }
  114026. /**
  114027. * Point information for positioning a tooltip.
  114028. */
  114029. export interface TooltipPositionerPointObject {
  114030. /**
  114031. * If `tooltip.split` option is enabled and positioner is called for each of
  114032. * the boxes separately, this property indicates the call on the xAxis
  114033. * header, which is not a point itself.
  114034. */
  114035. isHeader: boolean;
  114036. /**
  114037. * The reference point relative to the plot area. Add chart.plotLeft to get
  114038. * the full coordinates.
  114039. */
  114040. plotX: number;
  114041. /**
  114042. * The reference point relative to the plot area. Add chart.plotTop to get
  114043. * the full coordinates.
  114044. */
  114045. plotY: number;
  114046. }
  114047. /**
  114048. * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
  114049. * sections defined will be left out and all the points shifted closer to each
  114050. * other.
  114051. */
  114052. export interface XAxisBreaksOptions {
  114053. /**
  114054. * (Highcharts, Highstock, Gantt) A number indicating how much space should
  114055. * be left between the start and the end of the break. The break size is
  114056. * given in axis units, so for instance on a `datetime` axis, a break size
  114057. * of 3600000 would indicate the equivalent of an hour.
  114058. */
  114059. breakSize?: number;
  114060. /**
  114061. * (Highcharts, Highstock, Gantt) The point where the break starts.
  114062. */
  114063. from?: number;
  114064. /**
  114065. * (Highcharts, Highstock, Gantt) Defines an interval after which the break
  114066. * appears again. By default the breaks do not repeat.
  114067. */
  114068. repeat?: number;
  114069. /**
  114070. * (Highcharts, Highstock, Gantt) The point where the break ends.
  114071. */
  114072. to?: number;
  114073. }
  114074. /**
  114075. * (Gantt) An object defining mouse events for the plot line. Supported
  114076. * properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  114077. */
  114078. export interface XAxisCurrentDateIndicatorEventsOptions {
  114079. /**
  114080. * (Gantt) Click event on a plot band.
  114081. */
  114082. click?: EventCallbackFunction<PlotLineOrBand>;
  114083. /**
  114084. * (Gantt) Mouse move event on a plot band.
  114085. */
  114086. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  114087. /**
  114088. * (Gantt) Mouse out event on the corner of a plot band.
  114089. */
  114090. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  114091. /**
  114092. * (Gantt) Mouse over event on a plot band.
  114093. */
  114094. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  114095. }
  114096. /**
  114097. * (Gantt) Text labels for the plot bands
  114098. */
  114099. export interface XAxisCurrentDateIndicatorLabelOptions {
  114100. /**
  114101. * (Gantt) Horizontal alignment of the label. Can be one of "left", "center"
  114102. * or "right".
  114103. */
  114104. align?: AlignValue;
  114105. /**
  114106. * (Gantt) Format of the label. This options is passed as the fist argument
  114107. * to dateFormat function.
  114108. */
  114109. format?: string;
  114110. /**
  114111. * (Gantt) Callback JavaScript function to format the label. Useful
  114112. * properties like the value of plot line or the range of plot band (`from`
  114113. * & `to` properties) can be found in `this.options` object.
  114114. */
  114115. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  114116. /**
  114117. * (Gantt) Rotation of the text label in degrees. Defaults to 0 for
  114118. * horizontal plot lines and 90 for vertical lines.
  114119. */
  114120. rotation?: number;
  114121. /**
  114122. * (Gantt) CSS styles for the text label.
  114123. *
  114124. * In styled mode, the labels are styled by the
  114125. * `.highcharts-plot-line-label` class.
  114126. */
  114127. style?: CSSObject;
  114128. /**
  114129. * (Gantt) The text itself. A subset of HTML is supported.
  114130. */
  114131. text?: string;
  114132. /**
  114133. * (Gantt) The text alignment for the label. While `align` determines where
  114134. * the texts anchor point is placed within the plot band, `textAlign`
  114135. * determines how the text is aligned against its anchor point. Possible
  114136. * values are "left", "center" and "right". Defaults to the same as the
  114137. * `align` option.
  114138. */
  114139. textAlign?: AlignValue;
  114140. /**
  114141. * (Gantt) Whether to use HTML to render the labels.
  114142. */
  114143. useHTML?: boolean;
  114144. /**
  114145. * (Gantt) Vertical alignment of the label relative to the plot line. Can be
  114146. * one of "top", "middle" or "bottom".
  114147. */
  114148. verticalAlign?: VerticalAlignValue;
  114149. /**
  114150. * (Gantt) Horizontal position relative the alignment. Default varies by
  114151. * orientation.
  114152. */
  114153. x?: number;
  114154. /**
  114155. * (Gantt) Vertical position of the text baseline relative to the alignment.
  114156. * Default varies by orientation.
  114157. */
  114158. y?: number;
  114159. }
  114160. /**
  114161. * (Highcharts, Highstock, Highmaps, Gantt) Event handlers for the axis.
  114162. */
  114163. export interface XAxisEventsOptions {
  114164. /**
  114165. * (Highcharts, Gantt) An event fired after the breaks have rendered.
  114166. */
  114167. afterBreaks?: AxisEventCallbackFunction;
  114168. /**
  114169. * (Highcharts, Highstock, Highmaps, Gantt) As opposed to the `setExtremes`
  114170. * event, this event fires after the final min and max values are computed
  114171. * and corrected for `minRange`.
  114172. *
  114173. * Fires when the minimum and maximum is set for the axis, either by calling
  114174. * the `.setExtremes()` method or by selecting an area in the chart. One
  114175. * parameter, `event`, is passed to the function, containing common event
  114176. * information.
  114177. *
  114178. * The new user set minimum and maximum values can be found by `event.min`
  114179. * and `event.max`. These reflect the axis minimum and maximum in axis
  114180. * values. The actual data extremes are found in `event.dataMin` and
  114181. * `event.dataMax`.
  114182. */
  114183. afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
  114184. /**
  114185. * (Highcharts, Gantt) An event fired when a break from this axis occurs on
  114186. * a point.
  114187. */
  114188. pointBreak?: AxisPointBreakEventCallbackFunction;
  114189. /**
  114190. * (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
  114191. * break from this axis.
  114192. */
  114193. pointInBreak?: AxisPointBreakEventCallbackFunction;
  114194. /**
  114195. * (Highcharts, Highstock, Highmaps, Gantt) Fires when the minimum and
  114196. * maximum is set for the axis, either by calling the `.setExtremes()`
  114197. * method or by selecting an area in the chart. One parameter, `event`, is
  114198. * passed to the function, containing common event information.
  114199. *
  114200. * The new user set minimum and maximum values can be found by `event.min`
  114201. * and `event.max`. These reflect the axis minimum and maximum in data
  114202. * values. When an axis is zoomed all the way out from the "Reset zoom"
  114203. * button, `event.min` and `event.max` are null, and the new extremes are
  114204. * set based on `this.dataMin` and `this.dataMax`.
  114205. */
  114206. setExtremes?: AxisSetExtremesEventCallbackFunction;
  114207. }
  114208. /**
  114209. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  114210. */
  114211. export interface XAxisGridOptions {
  114212. /**
  114213. * (Gantt) Set border color for the label grid lines.
  114214. */
  114215. borderColor?: ColorString;
  114216. /**
  114217. * (Gantt) Set border width of the label grid lines.
  114218. */
  114219. borderWidth?: number;
  114220. /**
  114221. * (Gantt) Set cell height for grid axis labels. By default this is
  114222. * calculated from font size. This option only applies to horizontal axes.
  114223. */
  114224. cellHeight?: number;
  114225. /**
  114226. * (Gantt) Set specific options for each column (or row for horizontal axes)
  114227. * in the grid. Each extra column/row is its own axis, and the axis options
  114228. * can be set here.
  114229. */
  114230. columns?: Array<XAxisOptions>;
  114231. /**
  114232. * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
  114233. * charts.
  114234. */
  114235. enabled?: boolean;
  114236. }
  114237. /**
  114238. * (Highcharts, Highstock, Highmaps, Gantt) The axis labels show the number or
  114239. * category for each tick.
  114240. *
  114241. * Since v8.0.0: Labels are animated in categorized x-axis with updating data if
  114242. * `tickInterval` and `step` is set to 1.
  114243. */
  114244. export interface XAxisLabelsOptions {
  114245. /**
  114246. * (Highcharts, Highstock, Highmaps, Gantt) What part of the string the
  114247. * given position is anchored to. If `left`, the left side of the string is
  114248. * at the axis position. Can be one of `"left"`, `"center"` or `"right"`.
  114249. * Defaults to an intelligent guess based on which side of the chart the
  114250. * axis is on and the rotation of the label.
  114251. */
  114252. align?: AlignValue;
  114253. /**
  114254. * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
  114255. * of label rotation to prevent overlapping labels. If there is enough
  114256. * space, labels are not rotated. As the chart gets narrower, it will start
  114257. * rotating the labels -45 degrees, then remove every second label and try
  114258. * again with rotations 0 and -45 etc. Set it to `false` to disable
  114259. * rotation, which will cause the labels to word-wrap if possible.
  114260. */
  114261. autoRotation?: (false|Array<number>);
  114262. /**
  114263. * (Highcharts, Gantt) When each category width is more than this many
  114264. * pixels, we don't apply auto rotation. Instead, we lay out the axis label
  114265. * with word wrap. A lower limit makes sense when the label contains
  114266. * multiple short words that don't extend the available horizontal space for
  114267. * each label.
  114268. */
  114269. autoRotationLimit?: number;
  114270. /**
  114271. * (Highcharts, Gantt) Polar charts only. The label's pixel distance from
  114272. * the perimeter of the plot area.
  114273. */
  114274. distance?: number;
  114275. /**
  114276. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the axis
  114277. * labels.
  114278. */
  114279. enabled?: boolean;
  114280. /**
  114281. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the axis
  114282. * label.
  114283. */
  114284. format?: string;
  114285. /**
  114286. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  114287. * format the label. The value is given by `this.value`. Additional
  114288. * properties for `this` are `axis`, `chart`, `isFirst` and `isLast`. The
  114289. * value of the default label formatter can be retrieved by calling
  114290. * `this.axis.defaultLabelFormatter.call(this)` within the function.
  114291. *
  114292. * Defaults to: (see online documentation for example)
  114293. */
  114294. formatter?: AxisLabelsFormatterCallbackFunction;
  114295. /**
  114296. * (Gantt) The number of pixels to indent the labels per level in a treegrid
  114297. * axis.
  114298. */
  114299. indentation?: number;
  114300. /**
  114301. * (Highcharts, Highstock, Highmaps, Gantt) How to handle overflowing labels
  114302. * on horizontal axis. If set to `"allow"`, it will not be aligned at all.
  114303. * By default it `"justify"` labels inside the chart area. If there is room
  114304. * to move it, it will be aligned to the edge, else it will be removed.
  114305. */
  114306. overflow?: OptionsOverflowValue;
  114307. /**
  114308. * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
  114309. * space between them.
  114310. */
  114311. padding?: number;
  114312. /**
  114313. * (Highcharts) Defines how the labels are be repositioned according to the
  114314. * 3D chart orientation.
  114315. *
  114316. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  114317. * marks, despite the chart orientation. This is the backwards compatible
  114318. * behavior, and causes skewing of X and Z axes.
  114319. *
  114320. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  114321. * but hard to read if the text isn't forward-facing.
  114322. *
  114323. * - `'flap'`: Rotated text along the axis to compensate for the chart
  114324. * orientation. This tries to maintain text as legible as possible on all
  114325. * orientations.
  114326. *
  114327. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  114328. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  114329. * skewing the labels (X and Y scaling are still present).
  114330. */
  114331. position3d?: OptionsPosition3dValue;
  114332. /**
  114333. * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
  114334. * space is reserved for the labels in these cases:
  114335. *
  114336. * * On all horizontal axes.
  114337. *
  114338. * * On vertical axes if `label.align` is `right` on a left-side axis or
  114339. * `left` on a right-side axis.
  114340. *
  114341. * * On vertical axes if `label.align` is `center`.
  114342. *
  114343. * This can be turned off when for example the labels are rendered inside
  114344. * the plot area instead of outside.
  114345. */
  114346. reserveSpace?: boolean;
  114347. /**
  114348. * (Highcharts, Highstock, Highmaps, Gantt) Rotation of the labels in
  114349. * degrees.
  114350. */
  114351. rotation?: number;
  114352. /**
  114353. * (Highcharts) If enabled, the axis labels will skewed to follow the
  114354. * perspective.
  114355. *
  114356. * This will fix overlapping labels and titles, but texts become less
  114357. * legible due to the distortion.
  114358. *
  114359. * The final appearance depends heavily on `labels.position3d`.
  114360. */
  114361. skew3d?: boolean;
  114362. /**
  114363. * (Highcharts, Highstock, Highmaps, Gantt) Horizontal axes only. The number
  114364. * of lines to spread the labels over to make room or tighter labels.
  114365. */
  114366. staggerLines?: number;
  114367. /**
  114368. * (Highcharts, Highstock, Highmaps, Gantt) To show only every _n_'th label
  114369. * on the axis, set the step to _n_. Setting the step to 2 shows every other
  114370. * label.
  114371. *
  114372. * By default, the step is calculated automatically to avoid overlap. To
  114373. * prevent this, set it to 1\. This usually only happens on a category axis,
  114374. * and is often a sign that you have chosen the wrong axis type.
  114375. *
  114376. * Read more at Axis docs => What axis should I use?
  114377. */
  114378. step?: number;
  114379. /**
  114380. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the label. Use
  114381. * `whiteSpace: 'nowrap'` to prevent wrapping of category labels. Use
  114382. * `textOverflow: 'none'` to prevent ellipsis (dots).
  114383. *
  114384. * In styled mode, the labels are styled with the `.highcharts-axis-labels`
  114385. * class.
  114386. */
  114387. style?: CSSObject;
  114388. /**
  114389. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  114390. * the labels.
  114391. */
  114392. useHTML?: boolean;
  114393. /**
  114394. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of all
  114395. * labels relative to the tick positions on the axis.
  114396. */
  114397. x?: number;
  114398. /**
  114399. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of all
  114400. * labels relative to the tick positions on the axis. The default makes it
  114401. * adapt to the font size of the bottom axis.
  114402. */
  114403. y?: number;
  114404. /**
  114405. * (Highcharts, Highstock, Highmaps, Gantt) The Z index for the axis labels.
  114406. */
  114407. zIndex?: number;
  114408. }
  114409. /**
  114410. * (Highcharts, Highstock, Highmaps, Gantt) The X axis or category axis.
  114411. * Normally this is the horizontal axis, though if the chart is inverted this is
  114412. * the vertical axis. In case of multiple axes, the xAxis node is an array of
  114413. * configuration objects.
  114414. *
  114415. * See the Axis class for programmatic access to the axis.
  114416. */
  114417. export interface XAxisOptions {
  114418. /**
  114419. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
  114420. * axis. Requires the accessibility module.
  114421. */
  114422. accessibility?: AxisAccessibilityOptionsObject;
  114423. /**
  114424. * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
  114425. * or more opposite axes will automatically be aligned by adding ticks to
  114426. * the axis or axes with the least ticks, as if `tickAmount` were specified.
  114427. *
  114428. * This can be prevented by setting `alignTicks` to false. If the grid lines
  114429. * look messy, it's a good idea to hide them for the secondary axis by
  114430. * setting `gridLineWidth` to 0.
  114431. *
  114432. * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
  114433. * the `alignTicks ` will be disabled for the Axis.
  114434. *
  114435. * Disabled for logarithmic axes.
  114436. */
  114437. alignTicks?: boolean;
  114438. /**
  114439. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow decimals in
  114440. * this axis' ticks. When counting integers, like persons or hits on a web
  114441. * page, decimals should be avoided in the labels.
  114442. */
  114443. allowDecimals?: boolean;
  114444. /**
  114445. * (Highcharts, Highstock, Highmaps, Gantt) When using an alternate grid
  114446. * color, a band is painted across the plot area between every other grid
  114447. * line.
  114448. */
  114449. alternateGridColor?: ColorType;
  114450. /**
  114451. * (Highcharts) In a polar chart, this is the angle of the Y axis in
  114452. * degrees, where 0 is up and 90 is right. The angle determines the position
  114453. * of the axis line and the labels, though the coordinate system is
  114454. * unaffected. Since v8.0.0 this option is also applicable for X axis
  114455. * (inverted polar).
  114456. */
  114457. angle?: number;
  114458. /**
  114459. * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
  114460. * sections defined will be left out and all the points shifted closer to
  114461. * each other.
  114462. */
  114463. breaks?: Array<XAxisBreaksOptions>;
  114464. /**
  114465. * (Highcharts, Gantt) If categories are present for the xAxis, names are
  114466. * used instead of numbers for that axis.
  114467. *
  114468. * Since Highcharts 3.0, categories can also be extracted by giving each
  114469. * point a name and setting axis type to `category`. However, if you have
  114470. * multiple series, best practice remains defining the `categories` array.
  114471. *
  114472. * Example: `categories: ['Apples', 'Bananas', 'Oranges']`
  114473. */
  114474. categories?: Array<string>;
  114475. /**
  114476. * (Highcharts, Highstock, Gantt) The highest allowed value for
  114477. * automatically computed axis extremes.
  114478. */
  114479. ceiling?: number;
  114480. /**
  114481. * (Highcharts, Highstock, Highmaps, Gantt) A class name that opens for
  114482. * styling the axis by CSS, especially in Highcharts styled mode. The class
  114483. * name is applied to group elements for the grid, axis elements and labels.
  114484. */
  114485. className?: string;
  114486. /**
  114487. * (Highcharts, Highstock, Highmaps, Gantt) Configure a crosshair that
  114488. * follows either the mouse pointer or the hovered point.
  114489. *
  114490. * In styled mode, the crosshairs are styled in the `.highcharts-crosshair`,
  114491. * `.highcharts-crosshair-thin` or `.highcharts-xaxis-category` classes.
  114492. */
  114493. crosshair?: (boolean|AxisCrosshairOptions);
  114494. /**
  114495. * (Gantt) Show an indicator on the axis for the current date and time. Can
  114496. * be a boolean or a configuration object similar to xAxis.plotLines.
  114497. */
  114498. currentDateIndicator?: (boolean|AxisCurrentDateIndicatorOptions);
  114499. /**
  114500. * (Gantt) For a datetime axis, the scale will automatically adjust to the
  114501. * appropriate unit. This member gives the default string representations
  114502. * used for each unit. For intermediate values, different units may be used,
  114503. * for example the `day` unit can be used on midnight and `hour` unit be
  114504. * used for intermediate values on the same axis. For grid axes (like in
  114505. * Gantt charts), it is possible to declare as a list to provide different
  114506. * formats depending on available space. For an overview of the replacement
  114507. * codes, see dateFormat.
  114508. *
  114509. * Defaults to: (see online documentation for example)
  114510. */
  114511. dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
  114512. /**
  114513. * (Highcharts, Highstock, Highmaps, Gantt) Whether to force the axis to end
  114514. * on a tick. Use this option with the `maxPadding` option to control the
  114515. * axis end.
  114516. */
  114517. endOnTick?: boolean;
  114518. /**
  114519. * (Highcharts, Highstock, Highmaps, Gantt) Event handlers for the axis.
  114520. */
  114521. events?: XAxisEventsOptions;
  114522. /**
  114523. * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
  114524. * computed axis extremes.
  114525. */
  114526. floor?: number;
  114527. /**
  114528. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  114529. */
  114530. grid?: XAxisGridOptions;
  114531. /**
  114532. * (Highcharts, Highstock, Highmaps, Gantt) Color of the grid lines
  114533. * extending the ticks across the plot area.
  114534. *
  114535. * In styled mode, the stroke is given in the `.highcharts-grid-line` class.
  114536. */
  114537. gridLineColor?: ColorType;
  114538. /**
  114539. * (Highcharts, Highstock, Highmaps, Gantt) The dash or dot style of the
  114540. * grid lines. For possible values, see this demonstration.
  114541. */
  114542. gridLineDashStyle?: DashStyleValue;
  114543. /**
  114544. * (Highcharts) Polar charts only. Whether the grid lines should draw as a
  114545. * polygon with straight lines between categories, or as circles. Can be
  114546. * either `circle` or `polygon`. Since v8.0.0 this option is also applicable
  114547. * for X axis (inverted polar).
  114548. */
  114549. gridLineInterpolation?: OptionsGridLineInterpolationValue;
  114550. /**
  114551. * (Highcharts, Highstock, Highmaps, Gantt) The width of the grid lines
  114552. * extending the ticks across the plot area.
  114553. *
  114554. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  114555. * class.
  114556. */
  114557. gridLineWidth?: number;
  114558. /**
  114559. * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
  114560. */
  114561. gridZIndex?: number;
  114562. /**
  114563. * (Highcharts, Highstock) The height as the vertical axis. If it's a
  114564. * number, it is interpreted as pixels.
  114565. *
  114566. * Since Highcharts 2: If it's a percentage string, it is interpreted as
  114567. * percentages of the total plot height.
  114568. */
  114569. height?: (number|string);
  114570. /**
  114571. * (Highcharts, Highstock, Highmaps, Gantt) An id for the axis. This can be
  114572. * used after render time to get a pointer to the axis object through
  114573. * `chart.get()`.
  114574. */
  114575. id?: string;
  114576. /**
  114577. * (Highcharts, Highstock, Highmaps, Gantt) The axis labels show the number
  114578. * or category for each tick.
  114579. *
  114580. * Since v8.0.0: Labels are animated in categorized x-axis with updating
  114581. * data if `tickInterval` and `step` is set to 1.
  114582. */
  114583. labels?: XAxisLabelsOptions;
  114584. /**
  114585. * (Highcharts, Highstock) The left position as the horizontal axis. If it's
  114586. * a number, it is interpreted as pixel position relative to the chart.
  114587. *
  114588. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  114589. * as percentages of the plot width, offset from plot area left.
  114590. */
  114591. left?: (number|string);
  114592. /**
  114593. * (Highcharts, Highstock, Highmaps, Gantt) The color of the line marking
  114594. * the axis itself.
  114595. *
  114596. * In styled mode, the line stroke is given in the `.highcharts-axis-line`
  114597. * or `.highcharts-xaxis-line` class.
  114598. */
  114599. lineColor?: ColorType;
  114600. /**
  114601. * (Highcharts, Highstock, Highmaps, Gantt) The width of the line marking
  114602. * the axis itself.
  114603. *
  114604. * In styled mode, the stroke width is given in the `.highcharts-axis-line`
  114605. * or `.highcharts-xaxis-line` class.
  114606. */
  114607. lineWidth?: number;
  114608. /**
  114609. * (Highcharts, Highstock, Gantt) Index of another axis that this axis is
  114610. * linked to. When an axis is linked to a master axis, it will take the same
  114611. * extremes as the master, but as assigned by min or max or by setExtremes.
  114612. * It can be used to show additional info, or to ease reading the chart by
  114613. * duplicating the scales.
  114614. */
  114615. linkedTo?: number;
  114616. /**
  114617. * (Highcharts, Highstock, Highmaps, Gantt) If there are multiple axes on
  114618. * the same side of the chart, the pixel margin between the axes. Defaults
  114619. * to 0 on vertical axes, 15 on horizontal axes.
  114620. */
  114621. margin?: number;
  114622. /**
  114623. * (Highcharts, Highstock, Highmaps, Gantt) The maximum value of the axis.
  114624. * If `null`, the max value is automatically calculated.
  114625. *
  114626. * If the endOnTick option is true, the `max` value might be rounded up.
  114627. *
  114628. * If a tickAmount is set, the axis may be extended beyond the set max in
  114629. * order to reach the given number of ticks. The same may happen in a chart
  114630. * with multiple axes, determined by chart. alignTicks, where a `tickAmount`
  114631. * is applied internally.
  114632. */
  114633. max?: (number|null);
  114634. /**
  114635. * (Highcharts, Highstock, Highmaps, Gantt) Padding of the max value
  114636. * relative to the length of the axis. A padding of 0.05 will make a 100px
  114637. * axis 5px longer. This is useful when you don't want the highest data
  114638. * value to appear on the edge of the plot area. When the axis' `max` option
  114639. * is set or a max extreme is set using `axis.setExtremes()`, the maxPadding
  114640. * will be ignored.
  114641. */
  114642. maxPadding?: number;
  114643. /**
  114644. * (Highstock, Gantt) Maximum range which can be set using the navigator's
  114645. * handles. Opposite of xAxis.minRange.
  114646. */
  114647. maxRange?: number;
  114648. /**
  114649. * (Highcharts, Highstock, Highmaps, Gantt) The minimum value of the axis.
  114650. * If `null` the min value is automatically calculated.
  114651. *
  114652. * If the startOnTick option is true (default), the `min` value might be
  114653. * rounded down.
  114654. *
  114655. * The automatically calculated minimum value is also affected by floor,
  114656. * softMin, minPadding, minRange as well as series.threshold and
  114657. * series.softThreshold.
  114658. */
  114659. min?: (number|null);
  114660. /**
  114661. * (Highcharts, Highstock, Highmaps, Gantt) Color of the minor, secondary
  114662. * grid lines.
  114663. *
  114664. * In styled mode, the stroke width is given in the
  114665. * `.highcharts-minor-grid-line` class.
  114666. */
  114667. minorGridLineColor?: ColorType;
  114668. /**
  114669. * (Highcharts, Highstock, Highmaps, Gantt) The dash or dot style of the
  114670. * minor grid lines. For possible values, see this demonstration.
  114671. */
  114672. minorGridLineDashStyle?: DashStyleValue;
  114673. /**
  114674. * (Highcharts, Highstock, Highmaps, Gantt) Width of the minor, secondary
  114675. * grid lines.
  114676. *
  114677. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  114678. * class.
  114679. */
  114680. minorGridLineWidth?: number;
  114681. /**
  114682. * (Highcharts, Highstock, Highmaps, Gantt) Color for the minor tick marks.
  114683. */
  114684. minorTickColor?: ColorType;
  114685. /**
  114686. * (Highcharts, Highstock, Highmaps, Gantt) Specific tick interval in axis
  114687. * units for the minor ticks. On a linear axis, if `"auto"`, the minor tick
  114688. * interval is calculated as a fifth of the tickInterval. If `null` or
  114689. * `undefined`, minor ticks are not shown.
  114690. *
  114691. * On logarithmic axes, the unit is the power of the value. For example,
  114692. * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
  114693. * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
  114694. * and 10, 10 and 100 etc.
  114695. *
  114696. * If user settings dictate minor ticks to become too dense, they don't make
  114697. * sense, and will be ignored to prevent performance problems.
  114698. */
  114699. minorTickInterval?: (number|string|null);
  114700. /**
  114701. * (Highcharts, Highstock, Highmaps, Gantt) The pixel length of the minor
  114702. * tick marks.
  114703. */
  114704. minorTickLength?: number;
  114705. /**
  114706. * (Highcharts, Highstock, Highmaps, Gantt) The position of the minor tick
  114707. * marks relative to the axis line. Can be one of `inside` and `outside`.
  114708. */
  114709. minorTickPosition?: OptionsMinorTickPositionValue;
  114710. /**
  114711. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable minor ticks.
  114712. * Unless minorTickInterval is set, the tick interval is calculated as a
  114713. * fifth of the `tickInterval`.
  114714. *
  114715. * On a logarithmic axis, minor ticks are laid out based on a best guess,
  114716. * attempting to enter approximately 5 minor ticks between each major tick.
  114717. *
  114718. * Prior to v6.0.0, ticks were unabled in auto layout by setting
  114719. * `minorTickInterval` to `"auto"`.
  114720. */
  114721. minorTicks?: boolean;
  114722. /**
  114723. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the minor
  114724. * tick mark.
  114725. */
  114726. minorTickWidth?: number;
  114727. /**
  114728. * (Highcharts, Highstock, Gantt) Padding of the min value relative to the
  114729. * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
  114730. * This is useful when you don't want the lowest data value to appear on the
  114731. * edge of the plot area. When the axis' `min` option is set or a min
  114732. * extreme is set using `axis.setExtremes()`, the minPadding will be
  114733. * ignored.
  114734. */
  114735. minPadding?: number;
  114736. /**
  114737. * (Highcharts, Highstock, Highmaps, Gantt) The minimum range to display on
  114738. * this axis. The entire axis will not be allowed to span over a smaller
  114739. * interval than this. For example, for a datetime axis the main unit is
  114740. * milliseconds. If minRange is set to 3600000, you can't zoom in more than
  114741. * to one hour.
  114742. *
  114743. * The default minRange for the x axis is five times the smallest interval
  114744. * between any of the data points.
  114745. *
  114746. * On a logarithmic axis, the unit for the minimum range is the power. So a
  114747. * minRange of 1 means that the axis can be zoomed to 10-100, 100-1000,
  114748. * 1000-10000 etc.
  114749. *
  114750. * **Note**: The `minPadding`, `maxPadding`, `startOnTick` and `endOnTick`
  114751. * settings also affect how the extremes of the axis are computed.
  114752. */
  114753. minRange?: number;
  114754. /**
  114755. * (Highcharts, Highstock, Highmaps, Gantt) The minimum tick interval
  114756. * allowed in axis values. For example on zooming in on an axis with daily
  114757. * data, this can be used to prevent the axis from showing hours. Defaults
  114758. * to the closest distance between two points on the axis.
  114759. */
  114760. minTickInterval?: number;
  114761. /**
  114762. * (Highcharts, Highstock, Highmaps, Gantt) The distance in pixels from the
  114763. * plot area to the axis line. A positive offset moves the axis with it's
  114764. * line, labels and ticks away from the plot area. This is typically used
  114765. * when two or more axes are displayed on the same side of the plot. With
  114766. * multiple axes the offset is dynamically adjusted to avoid collision, this
  114767. * can be overridden by setting offset explicitly.
  114768. */
  114769. offset?: number;
  114770. /**
  114771. * (Highcharts, Highstock, Highmaps, Gantt) Whether to display the axis on
  114772. * the opposite side of the normal. The normal is on the left side for
  114773. * vertical axes and bottom for horizontal, so the opposite sides will be
  114774. * right and top respectively. This is typically used with dual or multiple
  114775. * axes.
  114776. */
  114777. opposite?: boolean;
  114778. /**
  114779. * (Highstock) In an ordinal axis, the points are equally spaced in the
  114780. * chart regardless of the actual time or x distance between them. This
  114781. * means that missing data periods (e.g. nights or weekends for a stock
  114782. * chart) will not take up space in the chart. Having `ordinal: false` will
  114783. * show any gaps created by the `gapSize` setting proportionate to their
  114784. * duration.
  114785. *
  114786. * In stock charts the X axis is ordinal by default, unless the boost module
  114787. * is used and at least one of the series' data length exceeds the
  114788. * boostThreshold.
  114789. */
  114790. ordinal?: boolean;
  114791. /**
  114792. * (Highstock) Additional range on the right side of the xAxis. Works
  114793. * similar to `xAxis.maxPadding`, but value is set in milliseconds. Can be
  114794. * set for both main `xAxis` and the navigator's `xAxis`.
  114795. */
  114796. overscroll?: number;
  114797. /**
  114798. * (Highcharts) Refers to the index in the panes array. Used for circular
  114799. * gauges and polar charts. When the option is not set then first pane will
  114800. * be used.
  114801. */
  114802. pane?: number;
  114803. /**
  114804. * (Highcharts, Highstock, Gantt) An array of colored bands stretching
  114805. * across the plot area marking an interval on the axis.
  114806. *
  114807. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  114808. * class in addition to the `className` option.
  114809. */
  114810. plotBands?: Array<XAxisPlotBandsOptions>;
  114811. /**
  114812. * (Highcharts, Highstock, Gantt) An array of lines stretching across the
  114813. * plot area, marking a specific value on one of the axes.
  114814. *
  114815. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  114816. * class in addition to the `className` option.
  114817. */
  114818. plotLines?: Array<XAxisPlotLinesOptions>;
  114819. /**
  114820. * (Highstock) The zoomed range to display when only defining one or none of
  114821. * `min` or `max`. For example, to show the latest month, a range of one
  114822. * month can be set.
  114823. */
  114824. range?: number;
  114825. /**
  114826. * (Highcharts, Highstock, Highmaps, Gantt) Whether to reverse the axis so
  114827. * that the highest number is closest to the origin. If the chart is
  114828. * inverted, the x axis is reversed by default.
  114829. */
  114830. reversed?: boolean;
  114831. /**
  114832. * (Highcharts, Highstock) This option determines how stacks should be
  114833. * ordered within a group. For example reversed xAxis also reverses stacks,
  114834. * so first series comes last in a group. To keep order like for
  114835. * non-reversed xAxis enable this option.
  114836. */
  114837. reversedStacks?: boolean;
  114838. /**
  114839. * (Highstock) An optional scrollbar to display on the X axis in response to
  114840. * limiting the minimum and maximum of the axis values.
  114841. *
  114842. * In styled mode, all the presentational options for the scrollbar are
  114843. * replaced by the classes `.highcharts-scrollbar-thumb`,
  114844. * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
  114845. * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
  114846. */
  114847. scrollbar?: XAxisScrollbarOptions;
  114848. /**
  114849. * (Highcharts, Highstock, Highmaps, Gantt) Whether to show the axis line
  114850. * and title when the axis has no data.
  114851. */
  114852. showEmpty?: boolean;
  114853. /**
  114854. * (Highcharts, Highstock, Highmaps, Gantt) Whether to show the first tick
  114855. * label.
  114856. */
  114857. showFirstLabel?: boolean;
  114858. /**
  114859. * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
  114860. * Defaults to `true` on cartesian charts, and `false` on polar charts.
  114861. */
  114862. showLastLabel?: boolean;
  114863. /**
  114864. * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
  114865. * data maximum is less than this, the axis will stay at this maximum, but
  114866. * if the series data maximum is higher, the axis will flex to show all
  114867. * data.
  114868. */
  114869. softMax?: number;
  114870. /**
  114871. * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
  114872. * data minimum is greater than this, the axis will stay at this minimum,
  114873. * but if the series data minimum is lower, the axis will flex to show all
  114874. * data.
  114875. */
  114876. softMin?: number;
  114877. /**
  114878. * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
  114879. * put the tick between weeks. 0 = Sunday, 1 = Monday.
  114880. */
  114881. startOfWeek?: number;
  114882. /**
  114883. * (Highcharts, Highstock, Highmaps, Gantt) Whether to force the axis to
  114884. * start on a tick. Use this option with the `minPadding` option to control
  114885. * the axis start.
  114886. */
  114887. startOnTick?: boolean;
  114888. /**
  114889. * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
  114890. * This opens up for aligning the ticks of multiple charts or panes within a
  114891. * chart. This option overrides the `tickPixelInterval` option.
  114892. *
  114893. * This option only has an effect on linear axes. Datetime, logarithmic or
  114894. * category axes are not affected.
  114895. */
  114896. tickAmount?: number;
  114897. /**
  114898. * (Highcharts, Highstock, Highmaps, Gantt) Color for the main tick marks.
  114899. *
  114900. * In styled mode, the stroke is given in the `.highcharts-tick` class.
  114901. */
  114902. tickColor?: ColorType;
  114903. /**
  114904. * (Highcharts, Highstock, Highmaps, Gantt) The interval of the tick marks
  114905. * in axis units. When `undefined`, the tick interval is computed to
  114906. * approximately follow the tickPixelInterval on linear and datetime axes.
  114907. * On categorized axes, a `undefined` tickInterval will default to 1, one
  114908. * category. Note that datetime axes are based on milliseconds, so for
  114909. * example an interval of one day is expressed as `24 * 3600 * 1000`.
  114910. *
  114911. * On logarithmic axes, the tickInterval is based on powers, so a
  114912. * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
  114913. * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
  114914. * 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
  114915. * etc.
  114916. *
  114917. * If the tickInterval is too dense for labels to be drawn, Highcharts may
  114918. * remove ticks.
  114919. *
  114920. * If the chart has multiple axes, the alignTicks option may interfere with
  114921. * the `tickInterval` setting.
  114922. */
  114923. tickInterval?: number;
  114924. /**
  114925. * (Highcharts, Highstock, Highmaps, Gantt) The pixel length of the main
  114926. * tick marks.
  114927. */
  114928. tickLength?: number;
  114929. /**
  114930. * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
  114931. * placed in the center of the category, if `between` the tick mark is
  114932. * placed between categories. The default is `between` if the `tickInterval`
  114933. * is 1, else `on`.
  114934. */
  114935. tickmarkPlacement?: OptionsTickmarkPlacementValue;
  114936. /**
  114937. * (Highcharts, Highstock, Highmaps, Gantt) If tickInterval is `null` this
  114938. * option sets the approximate pixel interval of the tick marks. Not
  114939. * applicable to categorized axis.
  114940. *
  114941. * The tick interval is also influenced by the minTickInterval option, that,
  114942. * by default prevents ticks from being denser than the data points.
  114943. */
  114944. tickPixelInterval?: number;
  114945. /**
  114946. * (Highcharts, Highstock, Highmaps, Gantt) The position of the major tick
  114947. * marks relative to the axis line. Can be one of `inside` and `outside`.
  114948. */
  114949. tickPosition?: OptionsTickPositionValue;
  114950. /**
  114951. * (Highcharts, Highstock, Highmaps, Gantt) A callback function returning
  114952. * array defining where the ticks are laid out on the axis. This overrides
  114953. * the default behaviour of tickPixelInterval and tickInterval. The
  114954. * automatic tick positions are accessible through `this.tickPositions` and
  114955. * can be modified by the callback.
  114956. */
  114957. tickPositioner?: AxisTickPositionerCallbackFunction;
  114958. /**
  114959. * (Highcharts, Highstock, Highmaps, Gantt) An array defining where the
  114960. * ticks are laid out on the axis. This overrides the default behaviour of
  114961. * tickPixelInterval and tickInterval.
  114962. */
  114963. tickPositions?: Array<number>;
  114964. /**
  114965. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the major
  114966. * tick marks. Defaults to 0 on category axes, otherwise 1.
  114967. *
  114968. * In styled mode, the stroke width is given in the `.highcharts-tick`
  114969. * class, but in order for the element to be generated on category axes, the
  114970. * option must be explicitly set to 1.
  114971. */
  114972. tickWidth?: (number|undefined);
  114973. /**
  114974. * (Highcharts, Highstock, Highmaps, Gantt) The axis title, showing next to
  114975. * the axis line.
  114976. */
  114977. title?: XAxisTitleOptions;
  114978. /**
  114979. * (Highcharts, Highstock) The top position as the vertical axis. If it's a
  114980. * number, it is interpreted as pixel position relative to the chart.
  114981. *
  114982. * Since Highcharts 2: If it's a percentage string, it is interpreted as
  114983. * percentages of the plot height, offset from plot area top.
  114984. */
  114985. top?: (number|string);
  114986. /**
  114987. * (Highcharts, Gantt) The type of axis. Can be one of `linear`,
  114988. * `logarithmic`, `datetime` or `category`. In a datetime axis, the numbers
  114989. * are given in milliseconds, and tick marks are placed on appropriate
  114990. * values like full hours or days. In a category axis, the point names of
  114991. * the chart's series are used for categories, if not a categories array is
  114992. * defined.
  114993. */
  114994. type?: AxisTypeValue;
  114995. /**
  114996. * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
  114997. * `uniqueNames` is true, points are placed on the X axis according to their
  114998. * names. If the same point name is repeated in the same or another series,
  114999. * the point is placed on the same X position as other points of the same
  115000. * name. When `uniqueNames` is false, the points are laid out in increasing
  115001. * X positions regardless of their names, and the X axis category will take
  115002. * the name of the last point in each position.
  115003. */
  115004. uniqueNames?: boolean;
  115005. /**
  115006. * (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
  115007. * what time intervals the ticks are allowed to fall on. Each array item is
  115008. * an array where the first value is the time unit and the second value
  115009. * another array of allowed multiples.
  115010. *
  115011. * Defaults to: (see online documentation for example)
  115012. */
  115013. units?: Array<[string, (Array<number>|null)]>;
  115014. /**
  115015. * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
  115016. * ticks and labels, should be visible.
  115017. */
  115018. visible?: boolean;
  115019. /**
  115020. * (Highcharts, Highstock) The width as the horizontal axis. If it's a
  115021. * number, it is interpreted as pixels.
  115022. *
  115023. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  115024. * as percentages of the total plot width.
  115025. */
  115026. width?: (number|string);
  115027. /**
  115028. * (Highcharts, Highstock, Highmaps, Gantt) Whether to zoom axis. If
  115029. * `chart.zoomType` is set, the option allows to disable zooming on an
  115030. * individual axis.
  115031. */
  115032. zoomEnabled?: boolean;
  115033. }
  115034. /**
  115035. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  115036. * band. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  115037. */
  115038. export interface XAxisPlotBandsEventsOptions {
  115039. /**
  115040. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  115041. */
  115042. click?: EventCallbackFunction<PlotLineOrBand>;
  115043. /**
  115044. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  115045. */
  115046. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  115047. /**
  115048. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  115049. * band.
  115050. */
  115051. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  115052. /**
  115053. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  115054. */
  115055. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  115056. }
  115057. /**
  115058. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  115059. */
  115060. export interface XAxisPlotBandsLabelOptions {
  115061. /**
  115062. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  115063. * one of "left", "center" or "right".
  115064. */
  115065. align?: AlignValue;
  115066. /**
  115067. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees .
  115068. */
  115069. rotation?: number;
  115070. /**
  115071. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  115072. *
  115073. * In styled mode, the labels are styled by the
  115074. * `.highcharts-plot-band-label` class.
  115075. */
  115076. style?: CSSObject;
  115077. /**
  115078. * (Highcharts, Highstock, Gantt) The string text itself. A subset of HTML
  115079. * is supported.
  115080. */
  115081. text?: string;
  115082. /**
  115083. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  115084. * `align` determines where the texts anchor point is placed within the plot
  115085. * band, `textAlign` determines how the text is aligned against its anchor
  115086. * point. Possible values are "left", "center" and "right". Defaults to the
  115087. * same as the `align` option.
  115088. */
  115089. textAlign?: AlignValue;
  115090. /**
  115091. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  115092. */
  115093. useHTML?: boolean;
  115094. /**
  115095. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  115096. * to the plot band. Can be one of "top", "middle" or "bottom".
  115097. */
  115098. verticalAlign?: VerticalAlignValue;
  115099. /**
  115100. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  115101. * alignment. Default varies by orientation.
  115102. */
  115103. x?: number;
  115104. /**
  115105. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  115106. * relative to the alignment. Default varies by orientation.
  115107. */
  115108. y?: number;
  115109. }
  115110. /**
  115111. * (Highcharts, Highstock, Gantt) An array of colored bands stretching across
  115112. * the plot area marking an interval on the axis.
  115113. *
  115114. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  115115. * class in addition to the `className` option.
  115116. */
  115117. export interface XAxisPlotBandsOptions {
  115118. /**
  115119. * (Highstock) Flag to decide if plotBand should be rendered across all
  115120. * panes.
  115121. */
  115122. acrossPanes?: boolean;
  115123. /**
  115124. * (Highcharts, Highstock, Gantt) Border color for the plot band. Also
  115125. * requires `borderWidth` to be set.
  115126. */
  115127. borderColor?: ColorString;
  115128. /**
  115129. * (Highcharts, Highstock, Gantt) Border width for the plot band. Also
  115130. * requires `borderColor` to be set.
  115131. */
  115132. borderWidth?: number;
  115133. /**
  115134. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  115135. * default `highcharts-plot-band`, to apply to each individual band.
  115136. */
  115137. className?: string;
  115138. /**
  115139. * (Highcharts, Highstock, Gantt) The color of the plot band.
  115140. */
  115141. color?: (ColorString|GradientColorObject|PatternObject);
  115142. /**
  115143. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  115144. * plot band. Supported properties are `click`, `mouseover`, `mouseout`,
  115145. * `mousemove`.
  115146. */
  115147. events?: XAxisPlotBandsEventsOptions;
  115148. /**
  115149. * (Highcharts, Highstock, Gantt) The start position of the plot band in
  115150. * axis units.
  115151. */
  115152. from?: number;
  115153. /**
  115154. * (Highcharts, Highstock, Gantt) An id used for identifying the plot band
  115155. * in Axis.removePlotBand.
  115156. */
  115157. id?: string;
  115158. /**
  115159. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  115160. */
  115161. label?: XAxisPlotBandsLabelOptions;
  115162. /**
  115163. * (Highcharts, Highstock, Gantt) The end position of the plot band in axis
  115164. * units.
  115165. */
  115166. to?: number;
  115167. /**
  115168. * (Highcharts, Highstock, Gantt) The z index of the plot band within the
  115169. * chart, relative to other elements. Using the same z index as another
  115170. * element may give unpredictable results, as the last rendered element will
  115171. * be on top. Values from 0 to 20 make sense.
  115172. */
  115173. zIndex?: number;
  115174. }
  115175. /**
  115176. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  115177. * line. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  115178. */
  115179. export interface XAxisPlotLinesEventsOptions {
  115180. /**
  115181. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  115182. */
  115183. click?: EventCallbackFunction<PlotLineOrBand>;
  115184. /**
  115185. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  115186. */
  115187. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  115188. /**
  115189. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  115190. * band.
  115191. */
  115192. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  115193. /**
  115194. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  115195. */
  115196. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  115197. }
  115198. /**
  115199. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  115200. */
  115201. export interface XAxisPlotLinesLabelOptions {
  115202. /**
  115203. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  115204. * one of "left", "center" or "right".
  115205. */
  115206. align?: AlignValue;
  115207. /**
  115208. * (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
  115209. * label. Useful properties like the value of plot line or the range of plot
  115210. * band (`from` & `to` properties) can be found in `this.options` object.
  115211. */
  115212. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  115213. /**
  115214. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees.
  115215. * Defaults to 0 for horizontal plot lines and 90 for vertical lines.
  115216. */
  115217. rotation?: number;
  115218. /**
  115219. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  115220. *
  115221. * In styled mode, the labels are styled by the
  115222. * `.highcharts-plot-line-label` class.
  115223. */
  115224. style?: CSSObject;
  115225. /**
  115226. * (Highcharts, Highstock, Gantt) The text itself. A subset of HTML is
  115227. * supported.
  115228. */
  115229. text?: string;
  115230. /**
  115231. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  115232. * `align` determines where the texts anchor point is placed within the plot
  115233. * band, `textAlign` determines how the text is aligned against its anchor
  115234. * point. Possible values are "left", "center" and "right". Defaults to the
  115235. * same as the `align` option.
  115236. */
  115237. textAlign?: AlignValue;
  115238. /**
  115239. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  115240. */
  115241. useHTML?: boolean;
  115242. /**
  115243. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  115244. * to the plot line. Can be one of "top", "middle" or "bottom".
  115245. */
  115246. verticalAlign?: VerticalAlignValue;
  115247. /**
  115248. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  115249. * alignment. Default varies by orientation.
  115250. */
  115251. x?: number;
  115252. /**
  115253. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  115254. * relative to the alignment. Default varies by orientation.
  115255. */
  115256. y?: number;
  115257. }
  115258. /**
  115259. * (Highcharts, Highstock, Gantt) An array of lines stretching across the plot
  115260. * area, marking a specific value on one of the axes.
  115261. *
  115262. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  115263. * class in addition to the `className` option.
  115264. */
  115265. export interface XAxisPlotLinesOptions {
  115266. /**
  115267. * (Highstock) Flag to decide if plotLine should be rendered across all
  115268. * panes.
  115269. */
  115270. acrossPanes?: boolean;
  115271. /**
  115272. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  115273. * default `highcharts-plot-line`, to apply to each individual line.
  115274. */
  115275. className?: string;
  115276. /**
  115277. * (Highcharts, Highstock, Gantt) The color of the line.
  115278. */
  115279. color?: ColorString;
  115280. /**
  115281. * (Highcharts, Highstock, Gantt) The dashing or dot style for the plot
  115282. * line. For possible values see this overview.
  115283. */
  115284. dashStyle?: DashStyleValue;
  115285. /**
  115286. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  115287. * plot line. Supported properties are `click`, `mouseover`, `mouseout`,
  115288. * `mousemove`.
  115289. */
  115290. events?: XAxisPlotLinesEventsOptions;
  115291. /**
  115292. * (Highcharts, Highstock, Gantt) An id used for identifying the plot line
  115293. * in Axis.removePlotLine.
  115294. */
  115295. id?: string;
  115296. /**
  115297. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  115298. */
  115299. label?: XAxisPlotLinesLabelOptions;
  115300. /**
  115301. * (Highcharts, Highstock, Gantt) The position of the line in axis units.
  115302. */
  115303. value?: number;
  115304. /**
  115305. * (Highcharts, Highstock, Gantt) The width or thickness of the plot line.
  115306. */
  115307. width?: number;
  115308. /**
  115309. * (Highcharts, Highstock, Gantt) The z index of the plot line within the
  115310. * chart.
  115311. */
  115312. zIndex?: number;
  115313. }
  115314. /**
  115315. * (Highstock) An optional scrollbar to display on the X axis in response to
  115316. * limiting the minimum and maximum of the axis values.
  115317. *
  115318. * In styled mode, all the presentational options for the scrollbar are replaced
  115319. * by the classes `.highcharts-scrollbar-thumb`, `.highcharts-scrollbar-arrow`,
  115320. * `.highcharts-scrollbar-button`, `.highcharts-scrollbar-rifles` and
  115321. * `.highcharts-scrollbar-track`.
  115322. */
  115323. export interface XAxisScrollbarOptions {
  115324. /**
  115325. * (Highstock) The background color of the scrollbar itself.
  115326. */
  115327. barBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  115328. /**
  115329. * (Highstock) The color of the scrollbar's border.
  115330. */
  115331. barBorderColor?: (ColorString|GradientColorObject|PatternObject);
  115332. /**
  115333. * (Highstock) The border rounding radius of the bar.
  115334. */
  115335. barBorderRadius?: number;
  115336. /**
  115337. * (Highstock) The width of the bar's border.
  115338. */
  115339. barBorderWidth?: number;
  115340. /**
  115341. * (Highstock) The color of the small arrow inside the scrollbar buttons.
  115342. */
  115343. buttonArrowColor?: (ColorString|GradientColorObject|PatternObject);
  115344. /**
  115345. * (Highstock) The color of scrollbar buttons.
  115346. */
  115347. buttonBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  115348. /**
  115349. * (Highstock) The color of the border of the scrollbar buttons.
  115350. */
  115351. buttonBorderColor?: (ColorString|GradientColorObject|PatternObject);
  115352. /**
  115353. * (Highstock) The corner radius of the scrollbar buttons.
  115354. */
  115355. buttonBorderRadius?: number;
  115356. /**
  115357. * (Highstock) The border width of the scrollbar buttons.
  115358. */
  115359. buttonBorderWidth?: number;
  115360. /**
  115361. * (Highstock) Enable or disable the scrollbar.
  115362. */
  115363. enabled?: boolean;
  115364. /**
  115365. * (Highstock) The height of the scrollbar. The height also applies to the
  115366. * width of the scroll arrows so that they are always squares. Defaults to
  115367. * 20 for touch devices and 14 for mouse devices.
  115368. */
  115369. height?: number;
  115370. /**
  115371. * (Highstock) Whether to redraw the main chart as the scrollbar or the
  115372. * navigator zoomed window is moved. Defaults to `true` for modern browsers
  115373. * and `false` for legacy IE browsers as well as mobile devices.
  115374. */
  115375. liveRedraw?: boolean;
  115376. /**
  115377. * (Highstock) The margin between the scrollbar and its axis when the
  115378. * scrollbar is applied directly to an axis.
  115379. */
  115380. margin?: number;
  115381. /**
  115382. * (Highstock) The minimum width of the scrollbar.
  115383. */
  115384. minWidth?: number;
  115385. /**
  115386. * (Highstock) The color of the small rifles in the middle of the scrollbar.
  115387. */
  115388. rifleColor?: (ColorString|GradientColorObject|PatternObject);
  115389. /**
  115390. * (Highstock) Whether to show or hide the scrollbar when the scrolled
  115391. * content is zoomed out to it full extent.
  115392. */
  115393. showFull?: boolean;
  115394. step?: number;
  115395. /**
  115396. * (Highstock) The color of the track background.
  115397. */
  115398. trackBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  115399. /**
  115400. * (Highstock) The color of the border of the scrollbar track.
  115401. */
  115402. trackBorderColor?: (ColorString|GradientColorObject|PatternObject);
  115403. /**
  115404. * (Highstock) The corner radius of the border of the scrollbar track.
  115405. */
  115406. trackBorderRadius?: number;
  115407. /**
  115408. * (Highstock) The width of the border of the scrollbar track.
  115409. */
  115410. trackBorderWidth?: number;
  115411. /**
  115412. * (Highstock) The z index of the scrollbar group.
  115413. */
  115414. zIndex?: number;
  115415. }
  115416. /**
  115417. * (Highcharts, Highstock, Highmaps, Gantt) The axis title, showing next to the
  115418. * axis line.
  115419. */
  115420. export interface XAxisTitleOptions {
  115421. /**
  115422. * (Highcharts, Highstock, Highmaps, Gantt) Alignment of the title relative
  115423. * to the axis values. Possible values are "low", "middle" or "high".
  115424. */
  115425. align?: AxisTitleAlignValue;
  115426. /**
  115427. * (Highcharts, Highstock, Highmaps, Gantt) The pixel distance between the
  115428. * axis labels or line and the title. Defaults to 0 for horizontal axes, 10
  115429. * for vertical
  115430. */
  115431. margin?: number;
  115432. /**
  115433. * (Highcharts, Highstock, Highmaps, Gantt) The distance of the axis title
  115434. * from the axis line. By default, this distance is computed from the offset
  115435. * width of the labels, the labels' distance from the axis and the title's
  115436. * margin. However when the offset option is set, it overrides all this.
  115437. */
  115438. offset?: number;
  115439. /**
  115440. * (Highcharts) Defines how the title is repositioned according to the 3D
  115441. * chart orientation.
  115442. *
  115443. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  115444. * marks, despite the chart orientation. This is the backwards compatible
  115445. * behavior, and causes skewing of X and Z axes.
  115446. *
  115447. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  115448. * but hard to read if the text isn't forward-facing.
  115449. *
  115450. * - `'flap'`: Rotated text along the axis to compensate for the chart
  115451. * orientation. This tries to maintain text as legible as possible on all
  115452. * orientations.
  115453. *
  115454. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  115455. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  115456. * skewing the labels (X and Y scaling are still present).
  115457. *
  115458. * - `undefined`: Will use the config from `labels.position3d`
  115459. */
  115460. position3d?: ("chart"|"flap"|"offset"|"ortho"|null);
  115461. /**
  115462. * (Highcharts, Highstock, Gantt) Whether to reserve space for the title
  115463. * when laying out the axis.
  115464. */
  115465. reserveSpace?: boolean;
  115466. /**
  115467. * (Highcharts, Highstock, Highmaps, Gantt) The rotation of the text in
  115468. * degrees. 0 is horizontal, 270 is vertical reading from bottom to top.
  115469. */
  115470. rotation?: number;
  115471. /**
  115472. * (Highcharts) If enabled, the axis title will skewed to follow the
  115473. * perspective.
  115474. *
  115475. * This will fix overlapping labels and titles, but texts become less
  115476. * legible due to the distortion.
  115477. *
  115478. * The final appearance depends heavily on `title.position3d`.
  115479. *
  115480. * A `null` value will use the config from `labels.skew3d`.
  115481. */
  115482. skew3d?: (boolean|null);
  115483. /**
  115484. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the title. If the
  115485. * title text is longer than the axis length, it will wrap to multiple lines
  115486. * by default. This can be customized by setting `textOverflow: 'ellipsis'`,
  115487. * by setting a specific `width` or by setting `whiteSpace: 'nowrap'`.
  115488. *
  115489. * In styled mode, the stroke width is given in the `.highcharts-axis-title`
  115490. * class.
  115491. */
  115492. style?: CSSObject;
  115493. /**
  115494. * (Highcharts, Highstock, Highmaps, Gantt) The actual text of the axis
  115495. * title. It can contain basic HTML tags like `b`, `i` and `span` with
  115496. * style.
  115497. */
  115498. text?: (string|null);
  115499. /**
  115500. * (Highcharts, Highstock, Highmaps, Gantt) Alignment of the text, can be
  115501. * `"left"`, `"right"` or `"center"`. Default alignment depends on the
  115502. * title.align:
  115503. *
  115504. * Horizontal axes:
  115505. *
  115506. * - for `align` = `"low"`, `textAlign` is set to `left`
  115507. *
  115508. * - for `align` = `"middle"`, `textAlign` is set to `center`
  115509. *
  115510. * - for `align` = `"high"`, `textAlign` is set to `right`
  115511. *
  115512. * Vertical axes:
  115513. *
  115514. * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
  115515. * `right`
  115516. *
  115517. * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
  115518. * `left`
  115519. *
  115520. * - for `align` = `"middle"`, `textAlign` is set to `center`
  115521. *
  115522. * - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
  115523. * `left`
  115524. *
  115525. * - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
  115526. * `right`
  115527. */
  115528. textAlign?: AlignValue;
  115529. /**
  115530. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the axis
  115531. * title.
  115532. */
  115533. useHTML?: boolean;
  115534. /**
  115535. * (Highcharts, Highstock, Gantt) Horizontal pixel offset of the title
  115536. * position.
  115537. */
  115538. x?: number;
  115539. /**
  115540. * (Highcharts, Highstock, Gantt) Vertical pixel offset of the title
  115541. * position.
  115542. */
  115543. y?: number;
  115544. }
  115545. /**
  115546. * (Gantt) Connect to a point. This option can be either a string, referring to
  115547. * the ID of another point, or an object, or an array of either. If the option
  115548. * is an array, each element defines a connection.
  115549. */
  115550. export interface XrangePointConnectorsOptionsObject {
  115551. /**
  115552. * (Gantt) Set the default dash style for this chart's connecting lines.
  115553. */
  115554. dashStyle?: string;
  115555. /**
  115556. * (Gantt) Marker options specific to the end markers for this chart's
  115557. * Pathfinder connectors. Overrides the generic marker options.
  115558. */
  115559. endMarker?: ConnectorsEndMarkerOptions;
  115560. /**
  115561. * (Gantt) Set the default color for this chart's Pathfinder connecting
  115562. * lines. Defaults to the color of the point being connected.
  115563. */
  115564. lineColor?: ColorString;
  115565. /**
  115566. * (Gantt) Set the default pixel width for this chart's Pathfinder
  115567. * connecting lines.
  115568. */
  115569. lineWidth?: number;
  115570. /**
  115571. * (Gantt) Marker options for this chart's Pathfinder connectors. Note that
  115572. * this option is overridden by the `startMarker` and `endMarker` options.
  115573. */
  115574. marker?: ConnectorsMarkerOptions;
  115575. /**
  115576. * (Gantt) Marker options specific to the start markers for this chart's
  115577. * Pathfinder connectors. Overrides the generic marker options.
  115578. */
  115579. startMarker?: ConnectorsStartMarkerOptions;
  115580. /**
  115581. * (Gantt) The ID of the point to connect to.
  115582. */
  115583. to?: string;
  115584. /**
  115585. * (Gantt) Set the default pathfinder algorithm to use for this chart. It is
  115586. * possible to define your own algorithms by adding them to the
  115587. * Highcharts.Pathfinder.prototype.algorithms object before the chart has
  115588. * been created.
  115589. *
  115590. * The default algorithms are as follows:
  115591. *
  115592. * `straight`: Draws a straight line between the connecting points. Does not
  115593. * avoid other points when drawing.
  115594. *
  115595. * `simpleConnect`: Finds a path between the points using right angles only.
  115596. * Takes only starting/ending points into account, and will not avoid other
  115597. * points.
  115598. *
  115599. * `fastAvoid`: Finds a path between the points using right angles only.
  115600. * Will attempt to avoid other points, but its focus is performance over
  115601. * accuracy. Works well with less dense datasets.
  115602. *
  115603. * Default value: `straight` is used as default for most series types, while
  115604. * `simpleConnect` is used as default for Gantt series, to show dependencies
  115605. * between points.
  115606. */
  115607. type?: PathfinderTypeValue;
  115608. }
  115609. /**
  115610. * (Highcharts, Highstock, Gantt) An array of data points for the series. For
  115611. * the `xrange` series type, points can be given in the following ways:
  115612. *
  115613. * 1. An array of objects with named values. The objects are point configuration
  115614. * objects as seen below. (see online documentation for example)
  115615. */
  115616. export interface XrangePointOptionsObject {
  115617. /**
  115618. * (Highcharts, Highstock, Gantt) Accessibility options for a data point.
  115619. */
  115620. accessibility?: PointAccessibilityOptionsObject;
  115621. /**
  115622. * (Highcharts, Gantt) An additional, individual class name for the data
  115623. * point's graphic representation.
  115624. */
  115625. className?: string;
  115626. /**
  115627. * (Highcharts, Highstock, Gantt) Individual color for the point. By default
  115628. * the color is pulled from the global `colors` array.
  115629. *
  115630. * In styled mode, the `color` option doesn't take effect. Instead, use
  115631. * `colorIndex`.
  115632. */
  115633. color?: (ColorString|GradientColorObject|PatternObject);
  115634. /**
  115635. * (Highcharts, Gantt) A specific color index to use for the point, so its
  115636. * graphic representations are given the class name `highcharts-color-{n}`.
  115637. * In styled mode this will change the color of the graphic. In non-styled
  115638. * mode, the color by is set by the `fill` attribute, so the change in class
  115639. * name won't have a visual effect by default.
  115640. */
  115641. colorIndex?: number;
  115642. /**
  115643. * (Gantt) Connect to a point. This option can be either a string, referring
  115644. * to the ID of another point, or an object, or an array of either. If the
  115645. * option is an array, each element defines a connection.
  115646. */
  115647. connect?: (string|XrangePointConnectorsOptionsObject|Array<(string|XrangePointConnectorsOptionsObject)>);
  115648. /**
  115649. * (Highcharts, Highstock, Gantt) A reserved subspace to store options and
  115650. * values for customized functionality. Here you can add additional data for
  115651. * your own event callbacks and formatter callbacks.
  115652. */
  115653. custom?: Dictionary<any>;
  115654. /**
  115655. * (Highcharts, Highstock, Gantt) Individual data label for each point. The
  115656. * options are the same as the ones for plotOptions.series.dataLabels.
  115657. */
  115658. dataLabels?: (DataLabelsOptions|Array<DataLabelsOptions>);
  115659. /**
  115660. * (Highcharts, Highstock, Gantt) A description of the point to add to the
  115661. * screen reader information about the point.
  115662. */
  115663. description?: string;
  115664. /**
  115665. * (Highcharts, Highstock, Gantt) Point specific options for the
  115666. * draggable-points module. Overrides options on `series.dragDrop`.
  115667. */
  115668. dragDrop?: SeriesLineDataDragDropOptions;
  115669. /**
  115670. * (Highcharts) The `id` of a series in the drilldown.series array to use
  115671. * for a drilldown for this point.
  115672. */
  115673. drilldown?: string;
  115674. /**
  115675. * (Highcharts, Highstock, Gantt) The individual point events.
  115676. */
  115677. events?: PointEventsOptionsObject;
  115678. /**
  115679. * (Highcharts, Highstock, Gantt) An id for the point. This can be used
  115680. * after render time to get a pointer to the point object through
  115681. * `chart.get()`.
  115682. */
  115683. id?: string;
  115684. /**
  115685. * (Highcharts, Highstock, Gantt) The rank for this point's data label in
  115686. * case of collision. If two data labels are about to overlap, only the one
  115687. * with the highest `labelrank` will be drawn.
  115688. */
  115689. labelrank?: number;
  115690. /**
  115691. * (Highcharts, Highstock) Options for the point markers of line-like
  115692. * series.
  115693. */
  115694. marker?: PointMarkerOptionsObject;
  115695. /**
  115696. * (Highcharts, Highstock, Gantt) The name of the point as shown in the
  115697. * legend, tooltip, dataLabels, etc.
  115698. */
  115699. name?: string;
  115700. /**
  115701. * (Highcharts, Highstock, Gantt) A partial fill for each point, typically
  115702. * used to visualize how much of a task is performed. The partial fill
  115703. * object can be set either on series or point level.
  115704. */
  115705. partialFill?: XrangePointPartialFillOptionsObject;
  115706. /**
  115707. * (Highcharts, Highstock, Gantt) Whether the data point is selected
  115708. * initially.
  115709. */
  115710. selected?: boolean;
  115711. /**
  115712. * (Highcharts, Highstock, Gantt) The starting X value of the range point.
  115713. */
  115714. x?: number;
  115715. /**
  115716. * (Highcharts, Highstock, Gantt) The ending X value of the range point.
  115717. */
  115718. x2?: number;
  115719. /**
  115720. * (Highcharts, Highstock, Gantt) The Y value of the range point.
  115721. */
  115722. y?: number;
  115723. }
  115724. /**
  115725. * (Highcharts, Highstock, Gantt) A partial fill for each point, typically used
  115726. * to visualize how much of a task is performed. The partial fill object can be
  115727. * set either on series or point level.
  115728. */
  115729. export interface XrangePointPartialFillOptionsObject {
  115730. /**
  115731. * (Highcharts, Highstock, Gantt) The amount of the X-range point to be
  115732. * filled. Values can be 0-1 and are converted to percentages in the default
  115733. * data label formatter.
  115734. */
  115735. amount?: number;
  115736. /**
  115737. * (Highcharts, Highstock, Gantt) The fill color to be used for partial
  115738. * fills. Defaults to a darker shade of the point color.
  115739. */
  115740. fill?: (ColorString|GradientColorObject|PatternObject);
  115741. }
  115742. /**
  115743. * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
  115744. * sections defined will be left out and all the points shifted closer to each
  115745. * other.
  115746. */
  115747. export interface YAxisBreaksOptions {
  115748. /**
  115749. * (Highcharts, Highstock, Gantt) A number indicating how much space should
  115750. * be left between the start and the end of the break. The break size is
  115751. * given in axis units, so for instance on a `datetime` axis, a break size
  115752. * of 3600000 would indicate the equivalent of an hour.
  115753. */
  115754. breakSize?: number;
  115755. /**
  115756. * (Highcharts, Highstock, Gantt) The point where the break starts.
  115757. */
  115758. from?: number;
  115759. /**
  115760. * (Highcharts, Highstock, Gantt) Defines an interval after which the break
  115761. * appears again. By default the breaks do not repeat.
  115762. */
  115763. repeat?: number;
  115764. /**
  115765. * (Highcharts, Highstock, Gantt) The point where the break ends.
  115766. */
  115767. to?: number;
  115768. }
  115769. /**
  115770. * (Highcharts, Highstock, Highmaps, Gantt) Event handlers for the axis.
  115771. */
  115772. export interface YAxisEventsOptions {
  115773. /**
  115774. * (Highcharts, Gantt) An event fired after the breaks have rendered.
  115775. */
  115776. afterBreaks?: AxisEventCallbackFunction;
  115777. /**
  115778. * (Highcharts, Highstock, Highmaps, Gantt) As opposed to the `setExtremes`
  115779. * event, this event fires after the final min and max values are computed
  115780. * and corrected for `minRange`.
  115781. *
  115782. * Fires when the minimum and maximum is set for the axis, either by calling
  115783. * the `.setExtremes()` method or by selecting an area in the chart. One
  115784. * parameter, `event`, is passed to the function, containing common event
  115785. * information.
  115786. *
  115787. * The new user set minimum and maximum values can be found by `event.min`
  115788. * and `event.max`. These reflect the axis minimum and maximum in axis
  115789. * values. The actual data extremes are found in `event.dataMin` and
  115790. * `event.dataMax`.
  115791. */
  115792. afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
  115793. /**
  115794. * (Highcharts, Gantt) An event fired when a break from this axis occurs on
  115795. * a point.
  115796. */
  115797. pointBreak?: AxisPointBreakEventCallbackFunction;
  115798. /**
  115799. * (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
  115800. * break from this axis.
  115801. */
  115802. pointInBreak?: AxisPointBreakEventCallbackFunction;
  115803. /**
  115804. * (Highcharts, Highstock, Highmaps, Gantt) Fires when the minimum and
  115805. * maximum is set for the axis, either by calling the `.setExtremes()`
  115806. * method or by selecting an area in the chart. One parameter, `event`, is
  115807. * passed to the function, containing common event information.
  115808. *
  115809. * The new user set minimum and maximum values can be found by `event.min`
  115810. * and `event.max`. These reflect the axis minimum and maximum in data
  115811. * values. When an axis is zoomed all the way out from the "Reset zoom"
  115812. * button, `event.min` and `event.max` are null, and the new extremes are
  115813. * set based on `this.dataMin` and `this.dataMax`.
  115814. */
  115815. setExtremes?: AxisSetExtremesEventCallbackFunction;
  115816. }
  115817. /**
  115818. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  115819. */
  115820. export interface YAxisGridOptions {
  115821. /**
  115822. * (Gantt) Set border color for the label grid lines.
  115823. */
  115824. borderColor?: ColorString;
  115825. /**
  115826. * (Gantt) Set border width of the label grid lines.
  115827. */
  115828. borderWidth?: number;
  115829. /**
  115830. * (Gantt) Set cell height for grid axis labels. By default this is
  115831. * calculated from font size. This option only applies to horizontal axes.
  115832. */
  115833. cellHeight?: number;
  115834. /**
  115835. * (Gantt) Set specific options for each column (or row for horizontal axes)
  115836. * in the grid. Each extra column/row is its own axis, and the axis options
  115837. * can be set here.
  115838. */
  115839. columns?: Array<XAxisOptions>;
  115840. /**
  115841. * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
  115842. * charts.
  115843. */
  115844. enabled?: boolean;
  115845. }
  115846. /**
  115847. * (Gantt) Set options on specific levels in a tree grid axis. Takes precedence
  115848. * over labels options.
  115849. */
  115850. export interface YAxisLabelsLevelsOptions {
  115851. /**
  115852. * (Gantt) Specify the level which the options within this object applies
  115853. * to.
  115854. */
  115855. level?: number;
  115856. style?: CSSObject;
  115857. }
  115858. /**
  115859. * (Highcharts, Highstock, Highmaps, Gantt) The axis labels show the number or
  115860. * category for each tick.
  115861. *
  115862. * Since v8.0.0: Labels are animated in categorized x-axis with updating data if
  115863. * `tickInterval` and `step` is set to 1.
  115864. */
  115865. export interface YAxisLabelsOptions {
  115866. /**
  115867. * (Highcharts, Highstock, Highmaps, Gantt) What part of the string the
  115868. * given position is anchored to. Can be one of `"left"`, `"center"` or
  115869. * `"right"`. The exact position also depends on the `labels.x` setting.
  115870. *
  115871. * Angular gauges and solid gauges defaults to `"center"`. Solid gauges with
  115872. * two labels have additional option `"auto"` for automatic horizontal and
  115873. * vertical alignment.
  115874. */
  115875. align?: AlignValue;
  115876. /**
  115877. * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
  115878. * of label rotation to prevent overlapping labels. If there is enough
  115879. * space, labels are not rotated. As the chart gets narrower, it will start
  115880. * rotating the labels -45 degrees, then remove every second label and try
  115881. * again with rotations 0 and -45 etc. Set it to `false` to disable
  115882. * rotation, which will cause the labels to word-wrap if possible.
  115883. */
  115884. autoRotation?: (false|Array<number>);
  115885. /**
  115886. * (Highcharts, Gantt) When each category width is more than this many
  115887. * pixels, we don't apply auto rotation. Instead, we lay out the axis label
  115888. * with word wrap. A lower limit makes sense when the label contains
  115889. * multiple short words that don't extend the available horizontal space for
  115890. * each label.
  115891. */
  115892. autoRotationLimit?: number;
  115893. /**
  115894. * (Highcharts) Angular gauges and solid gauges only. The label's pixel
  115895. * distance from the perimeter of the plot area.
  115896. *
  115897. * Since v7.1.2: If it's a percentage string, it is interpreted the same as
  115898. * series.radius, so label can be aligned under the gauge's shape.
  115899. */
  115900. distance?: (number|string);
  115901. /**
  115902. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the axis
  115903. * labels.
  115904. */
  115905. enabled?: boolean;
  115906. /**
  115907. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the axis
  115908. * label.
  115909. */
  115910. format?: string;
  115911. /**
  115912. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  115913. * format the label. The value is given by `this.value`. Additional
  115914. * properties for `this` are `axis`, `chart`, `isFirst` and `isLast`. The
  115915. * value of the default label formatter can be retrieved by calling
  115916. * `this.axis.defaultLabelFormatter.call(this)` within the function.
  115917. *
  115918. * Defaults to: (see online documentation for example)
  115919. */
  115920. formatter?: AxisLabelsFormatterCallbackFunction;
  115921. /**
  115922. * (Gantt) The number of pixels to indent the labels per level in a treegrid
  115923. * axis.
  115924. */
  115925. indentation?: number;
  115926. /**
  115927. * (Gantt) Set options on specific levels in a tree grid axis. Takes
  115928. * precedence over labels options.
  115929. */
  115930. levels?: Array<YAxisLabelsLevelsOptions>;
  115931. /**
  115932. * (Highcharts, Highstock, Highmaps, Gantt) How to handle overflowing labels
  115933. * on horizontal axis. If set to `"allow"`, it will not be aligned at all.
  115934. * By default it `"justify"` labels inside the chart area. If there is room
  115935. * to move it, it will be aligned to the edge, else it will be removed.
  115936. */
  115937. overflow?: OptionsOverflowValue;
  115938. /**
  115939. * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
  115940. * space between them.
  115941. */
  115942. padding?: number;
  115943. /**
  115944. * (Highcharts) Defines how the labels are be repositioned according to the
  115945. * 3D chart orientation.
  115946. *
  115947. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  115948. * marks, despite the chart orientation. This is the backwards compatible
  115949. * behavior, and causes skewing of X and Z axes.
  115950. *
  115951. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  115952. * but hard to read if the text isn't forward-facing.
  115953. *
  115954. * - `'flap'`: Rotated text along the axis to compensate for the chart
  115955. * orientation. This tries to maintain text as legible as possible on all
  115956. * orientations.
  115957. *
  115958. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  115959. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  115960. * skewing the labels (X and Y scaling are still present).
  115961. */
  115962. position3d?: OptionsPosition3dValue;
  115963. /**
  115964. * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
  115965. * space is reserved for the labels in these cases:
  115966. *
  115967. * * On all horizontal axes.
  115968. *
  115969. * * On vertical axes if `label.align` is `right` on a left-side axis or
  115970. * `left` on a right-side axis.
  115971. *
  115972. * * On vertical axes if `label.align` is `center`.
  115973. *
  115974. * This can be turned off when for example the labels are rendered inside
  115975. * the plot area instead of outside.
  115976. */
  115977. reserveSpace?: boolean;
  115978. /**
  115979. * (Highcharts, Highstock, Highmaps, Gantt) Rotation of the labels in
  115980. * degrees.
  115981. */
  115982. rotation?: number;
  115983. /**
  115984. * (Highcharts) If enabled, the axis labels will skewed to follow the
  115985. * perspective.
  115986. *
  115987. * This will fix overlapping labels and titles, but texts become less
  115988. * legible due to the distortion.
  115989. *
  115990. * The final appearance depends heavily on `labels.position3d`.
  115991. */
  115992. skew3d?: boolean;
  115993. /**
  115994. * (Highcharts, Highstock, Highmaps, Gantt) Horizontal axes only. The number
  115995. * of lines to spread the labels over to make room or tighter labels.
  115996. */
  115997. staggerLines?: number;
  115998. /**
  115999. * (Highcharts, Highstock, Highmaps, Gantt) To show only every _n_'th label
  116000. * on the axis, set the step to _n_. Setting the step to 2 shows every other
  116001. * label.
  116002. *
  116003. * By default, the step is calculated automatically to avoid overlap. To
  116004. * prevent this, set it to 1\. This usually only happens on a category axis,
  116005. * and is often a sign that you have chosen the wrong axis type.
  116006. *
  116007. * Read more at Axis docs => What axis should I use?
  116008. */
  116009. step?: number;
  116010. /**
  116011. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the label. Use
  116012. * `whiteSpace: 'nowrap'` to prevent wrapping of category labels. Use
  116013. * `textOverflow: 'none'` to prevent ellipsis (dots).
  116014. *
  116015. * In styled mode, the labels are styled with the `.highcharts-axis-labels`
  116016. * class.
  116017. */
  116018. style?: CSSObject;
  116019. /**
  116020. * (Gantt) The symbol for the collapse and expand icon in a treegrid.
  116021. */
  116022. symbol?: YAxisLabelsSymbolOptions;
  116023. /**
  116024. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  116025. * the labels.
  116026. */
  116027. useHTML?: boolean;
  116028. /**
  116029. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of all
  116030. * labels relative to the tick positions on the axis. Defaults to -15 for
  116031. * left axis, 15 for right axis.
  116032. */
  116033. x?: number;
  116034. /**
  116035. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of all
  116036. * labels relative to the tick positions on the axis. For polar and radial
  116037. * axis consider the use of the distance option.
  116038. */
  116039. y?: number;
  116040. /**
  116041. * (Highcharts, Highstock, Highmaps, Gantt) The Z index for the axis labels.
  116042. */
  116043. zIndex?: number;
  116044. }
  116045. /**
  116046. * (Gantt) The symbol for the collapse and expand icon in a treegrid.
  116047. */
  116048. export interface YAxisLabelsSymbolOptions {
  116049. height?: number;
  116050. padding?: number;
  116051. /**
  116052. * (Gantt) The symbol type. Points to a definition function in the
  116053. * `Highcharts.Renderer.symbols` collection.
  116054. */
  116055. type?: SymbolKeyValue;
  116056. width?: number;
  116057. x?: number;
  116058. y?: number;
  116059. }
  116060. /**
  116061. * (Highcharts, Highstock, Highmaps, Gantt) The Y axis or value axis. Normally
  116062. * this is the vertical axis, though if the chart is inverted this is the
  116063. * horizontal axis. In case of multiple axes, the yAxis node is an array of
  116064. * configuration objects.
  116065. *
  116066. * See the Axis object for programmatic access to the axis.
  116067. */
  116068. export interface YAxisOptions {
  116069. /**
  116070. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
  116071. * axis. Requires the accessibility module.
  116072. */
  116073. accessibility?: AxisAccessibilityOptionsObject;
  116074. /**
  116075. * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
  116076. * or more opposite axes will automatically be aligned by adding ticks to
  116077. * the axis or axes with the least ticks, as if `tickAmount` were specified.
  116078. *
  116079. * This can be prevented by setting `alignTicks` to false. If the grid lines
  116080. * look messy, it's a good idea to hide them for the secondary axis by
  116081. * setting `gridLineWidth` to 0.
  116082. *
  116083. * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
  116084. * the `alignTicks ` will be disabled for the Axis.
  116085. *
  116086. * Disabled for logarithmic axes.
  116087. */
  116088. alignTicks?: boolean;
  116089. /**
  116090. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow decimals in
  116091. * this axis' ticks. When counting integers, like persons or hits on a web
  116092. * page, decimals should be avoided in the labels.
  116093. */
  116094. allowDecimals?: boolean;
  116095. /**
  116096. * (Highcharts, Highstock, Highmaps, Gantt) When using an alternate grid
  116097. * color, a band is painted across the plot area between every other grid
  116098. * line.
  116099. */
  116100. alternateGridColor?: ColorType;
  116101. /**
  116102. * (Highcharts) In a polar chart, this is the angle of the Y axis in
  116103. * degrees, where 0 is up and 90 is right. The angle determines the position
  116104. * of the axis line and the labels, though the coordinate system is
  116105. * unaffected. Since v8.0.0 this option is also applicable for X axis
  116106. * (inverted polar).
  116107. */
  116108. angle?: number;
  116109. /**
  116110. * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
  116111. * sections defined will be left out and all the points shifted closer to
  116112. * each other.
  116113. */
  116114. breaks?: Array<YAxisBreaksOptions>;
  116115. /**
  116116. * (Highcharts, Gantt) If categories are present for the xAxis, names are
  116117. * used instead of numbers for that axis.
  116118. *
  116119. * Since Highcharts 3.0, categories can also be extracted by giving each
  116120. * point a name and setting axis type to `category`. However, if you have
  116121. * multiple series, best practice remains defining the `categories` array.
  116122. *
  116123. * Example: `categories: ['Apples', 'Bananas', 'Oranges']`
  116124. */
  116125. categories?: Array<string>;
  116126. /**
  116127. * (Highcharts, Highstock, Gantt) The highest allowed value for
  116128. * automatically computed axis extremes.
  116129. */
  116130. ceiling?: number;
  116131. /**
  116132. * (Highcharts, Highstock, Highmaps, Gantt) A class name that opens for
  116133. * styling the axis by CSS, especially in Highcharts styled mode. The class
  116134. * name is applied to group elements for the grid, axis elements and labels.
  116135. */
  116136. className?: string;
  116137. /**
  116138. * (Highcharts, Highstock, Highmaps, Gantt) Configure a crosshair that
  116139. * follows either the mouse pointer or the hovered point.
  116140. *
  116141. * In styled mode, the crosshairs are styled in the `.highcharts-crosshair`,
  116142. * `.highcharts-crosshair-thin` or `.highcharts-xaxis-category` classes.
  116143. */
  116144. crosshair?: (boolean|AxisCrosshairOptions);
  116145. /**
  116146. * (Gantt) For a datetime axis, the scale will automatically adjust to the
  116147. * appropriate unit. This member gives the default string representations
  116148. * used for each unit. For intermediate values, different units may be used,
  116149. * for example the `day` unit can be used on midnight and `hour` unit be
  116150. * used for intermediate values on the same axis. For grid axes (like in
  116151. * Gantt charts), it is possible to declare as a list to provide different
  116152. * formats depending on available space. For an overview of the replacement
  116153. * codes, see dateFormat.
  116154. *
  116155. * Defaults to: (see online documentation for example)
  116156. */
  116157. dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
  116158. /**
  116159. * (Highcharts, Highstock, Highmaps, Gantt) Whether to force the axis to end
  116160. * on a tick. Use this option with the `maxPadding` option to control the
  116161. * axis end.
  116162. *
  116163. * This option is always disabled, when panning type is either `y` or `xy`.
  116164. */
  116165. endOnTick?: boolean;
  116166. /**
  116167. * (Highcharts, Highstock, Highmaps, Gantt) Event handlers for the axis.
  116168. */
  116169. events?: YAxisEventsOptions;
  116170. /**
  116171. * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
  116172. * computed axis extremes.
  116173. */
  116174. floor?: number;
  116175. /**
  116176. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  116177. */
  116178. grid?: YAxisGridOptions;
  116179. /**
  116180. * (Highcharts, Highstock, Highmaps, Gantt) Color of the grid lines
  116181. * extending the ticks across the plot area.
  116182. *
  116183. * In styled mode, the stroke is given in the `.highcharts-grid-line` class.
  116184. */
  116185. gridLineColor?: ColorType;
  116186. /**
  116187. * (Highcharts, Highstock, Highmaps, Gantt) The dash or dot style of the
  116188. * grid lines. For possible values, see this demonstration.
  116189. */
  116190. gridLineDashStyle?: DashStyleValue;
  116191. /**
  116192. * (Highcharts) Polar charts only. Whether the grid lines should draw as a
  116193. * polygon with straight lines between categories, or as circles. Can be
  116194. * either `circle` or `polygon`. Since v8.0.0 this option is also applicable
  116195. * for X axis (inverted polar).
  116196. */
  116197. gridLineInterpolation?: OptionsGridLineInterpolationValue;
  116198. /**
  116199. * (Highcharts, Highstock, Highmaps, Gantt) The width of the grid lines
  116200. * extending the ticks across the plot area.
  116201. *
  116202. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  116203. * class.
  116204. */
  116205. gridLineWidth?: number;
  116206. /**
  116207. * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
  116208. */
  116209. gridZIndex?: number;
  116210. /**
  116211. * (Highcharts, Highstock) The height of the Y axis. If it's a number, it is
  116212. * interpreted as pixels.
  116213. *
  116214. * Since Highcharts 2: If it's a percentage string, it is interpreted as
  116215. * percentages of the total plot height.
  116216. */
  116217. height?: (number|string);
  116218. /**
  116219. * (Highcharts, Highstock, Highmaps, Gantt) An id for the axis. This can be
  116220. * used after render time to get a pointer to the axis object through
  116221. * `chart.get()`.
  116222. */
  116223. id?: string;
  116224. /**
  116225. * (Highcharts, Highstock, Highmaps, Gantt) The axis labels show the number
  116226. * or category for each tick.
  116227. *
  116228. * Since v8.0.0: Labels are animated in categorized x-axis with updating
  116229. * data if `tickInterval` and `step` is set to 1.
  116230. */
  116231. labels?: YAxisLabelsOptions;
  116232. /**
  116233. * (Highcharts, Highstock) The left position as the horizontal axis. If it's
  116234. * a number, it is interpreted as pixel position relative to the chart.
  116235. *
  116236. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  116237. * as percentages of the plot width, offset from plot area left.
  116238. */
  116239. left?: (number|string);
  116240. /**
  116241. * (Highcharts, Highstock, Highmaps, Gantt) The color of the line marking
  116242. * the axis itself.
  116243. *
  116244. * In styled mode, the line stroke is given in the `.highcharts-axis-line`
  116245. * or `.highcharts-xaxis-line` class.
  116246. */
  116247. lineColor?: ColorType;
  116248. /**
  116249. * (Highcharts, Highstock, Highmaps, Gantt) The width of the line marking
  116250. * the axis itself.
  116251. *
  116252. * In styled mode, the stroke width is given in the `.highcharts-axis-line`
  116253. * or `.highcharts-xaxis-line` class.
  116254. */
  116255. lineWidth?: number;
  116256. /**
  116257. * (Highcharts, Highstock, Gantt) Index of another axis that this axis is
  116258. * linked to. When an axis is linked to a master axis, it will take the same
  116259. * extremes as the master, but as assigned by min or max or by setExtremes.
  116260. * It can be used to show additional info, or to ease reading the chart by
  116261. * duplicating the scales.
  116262. */
  116263. linkedTo?: number;
  116264. /**
  116265. * (Highcharts, Highstock, Highmaps, Gantt) If there are multiple axes on
  116266. * the same side of the chart, the pixel margin between the axes. Defaults
  116267. * to 0 on vertical axes, 15 on horizontal axes.
  116268. */
  116269. margin?: number;
  116270. /**
  116271. * (Highcharts, Highstock, Highmaps, Gantt) The maximum value of the axis.
  116272. * If `null`, the max value is automatically calculated.
  116273. *
  116274. * If the endOnTick option is true, the `max` value might be rounded up.
  116275. *
  116276. * If a tickAmount is set, the axis may be extended beyond the set max in
  116277. * order to reach the given number of ticks. The same may happen in a chart
  116278. * with multiple axes, determined by chart. alignTicks, where a `tickAmount`
  116279. * is applied internally.
  116280. */
  116281. max?: (number|null);
  116282. /**
  116283. * (Highcharts) Solid gauge only. Unless stops are set, the color to
  116284. * represent the maximum value of the Y axis.
  116285. */
  116286. maxColor?: ColorType;
  116287. /**
  116288. * (Highstock) Maximal size of a resizable axis. Could be set as a percent
  116289. * of plot area or pixel size.
  116290. */
  116291. maxLength?: (number|string);
  116292. /**
  116293. * (Highcharts, Highstock, Gantt) Padding of the max value relative to the
  116294. * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
  116295. * This is useful when you don't want the highest data value to appear on
  116296. * the edge of the plot area. When the axis' `max` option is set or a max
  116297. * extreme is set using `axis.setExtremes()`, the maxPadding will be
  116298. * ignored.
  116299. *
  116300. * Also the `softThreshold` option takes precedence over `maxPadding`, so if
  116301. * the data is tangent to the threshold, `maxPadding` may not apply unless
  116302. * `softThreshold` is set to false.
  116303. */
  116304. maxPadding?: number;
  116305. /**
  116306. * (Highstock, Gantt) Maximum range which can be set using the navigator's
  116307. * handles. Opposite of xAxis.minRange.
  116308. */
  116309. maxRange?: number;
  116310. /**
  116311. * (Highcharts, Highstock, Highmaps, Gantt) The minimum value of the axis.
  116312. * If `null` the min value is automatically calculated.
  116313. *
  116314. * If the startOnTick option is true (default), the `min` value might be
  116315. * rounded down.
  116316. *
  116317. * The automatically calculated minimum value is also affected by floor,
  116318. * softMin, minPadding, minRange as well as series.threshold and
  116319. * series.softThreshold.
  116320. */
  116321. min?: (number|null);
  116322. /**
  116323. * (Highcharts) Solid gauge only. Unless stops are set, the color to
  116324. * represent the minimum value of the Y axis.
  116325. */
  116326. minColor?: ColorType;
  116327. /**
  116328. * (Highstock) Minimal size of a resizable axis. Could be set as a percent
  116329. * of plot area or pixel size.
  116330. */
  116331. minLength?: (number|string);
  116332. /**
  116333. * (Highcharts, Highstock, Highmaps, Gantt) Color of the minor, secondary
  116334. * grid lines.
  116335. *
  116336. * In styled mode, the stroke width is given in the
  116337. * `.highcharts-minor-grid-line` class.
  116338. */
  116339. minorGridLineColor?: ColorType;
  116340. /**
  116341. * (Highcharts, Highstock, Highmaps, Gantt) The dash or dot style of the
  116342. * minor grid lines. For possible values, see this demonstration.
  116343. */
  116344. minorGridLineDashStyle?: DashStyleValue;
  116345. /**
  116346. * (Highcharts, Highstock, Highmaps, Gantt) Width of the minor, secondary
  116347. * grid lines.
  116348. *
  116349. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  116350. * class.
  116351. */
  116352. minorGridLineWidth?: number;
  116353. /**
  116354. * (Highcharts, Highstock, Highmaps, Gantt) Color for the minor tick marks.
  116355. */
  116356. minorTickColor?: ColorType;
  116357. /**
  116358. * (Highcharts, Highstock, Highmaps, Gantt) Specific tick interval in axis
  116359. * units for the minor ticks. On a linear axis, if `"auto"`, the minor tick
  116360. * interval is calculated as a fifth of the tickInterval. If `null` or
  116361. * `undefined`, minor ticks are not shown.
  116362. *
  116363. * On logarithmic axes, the unit is the power of the value. For example,
  116364. * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
  116365. * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
  116366. * and 10, 10 and 100 etc.
  116367. *
  116368. * If user settings dictate minor ticks to become too dense, they don't make
  116369. * sense, and will be ignored to prevent performance problems.
  116370. */
  116371. minorTickInterval?: (number|string|null);
  116372. /**
  116373. * (Highcharts, Highstock, Highmaps, Gantt) The pixel length of the minor
  116374. * tick marks.
  116375. */
  116376. minorTickLength?: number;
  116377. /**
  116378. * (Highcharts, Highstock, Highmaps, Gantt) The position of the minor tick
  116379. * marks relative to the axis line. Can be one of `inside` and `outside`.
  116380. */
  116381. minorTickPosition?: OptionsMinorTickPositionValue;
  116382. /**
  116383. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable minor ticks.
  116384. * Unless minorTickInterval is set, the tick interval is calculated as a
  116385. * fifth of the `tickInterval`.
  116386. *
  116387. * On a logarithmic axis, minor ticks are laid out based on a best guess,
  116388. * attempting to enter approximately 5 minor ticks between each major tick.
  116389. *
  116390. * Prior to v6.0.0, ticks were unabled in auto layout by setting
  116391. * `minorTickInterval` to `"auto"`.
  116392. */
  116393. minorTicks?: boolean;
  116394. /**
  116395. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the minor
  116396. * tick mark.
  116397. */
  116398. minorTickWidth?: number;
  116399. /**
  116400. * (Highcharts, Highstock, Gantt) Padding of the min value relative to the
  116401. * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
  116402. * This is useful when you don't want the lowest data value to appear on the
  116403. * edge of the plot area. When the axis' `min` option is set or a max
  116404. * extreme is set using `axis.setExtremes()`, the maxPadding will be
  116405. * ignored.
  116406. *
  116407. * Also the `softThreshold` option takes precedence over `minPadding`, so if
  116408. * the data is tangent to the threshold, `minPadding` may not apply unless
  116409. * `softThreshold` is set to false.
  116410. */
  116411. minPadding?: number;
  116412. /**
  116413. * (Highcharts, Highstock, Highmaps, Gantt) The minimum range to display on
  116414. * this axis. The entire axis will not be allowed to span over a smaller
  116415. * interval than this. For example, for a datetime axis the main unit is
  116416. * milliseconds. If minRange is set to 3600000, you can't zoom in more than
  116417. * to one hour.
  116418. *
  116419. * The default minRange for the x axis is five times the smallest interval
  116420. * between any of the data points.
  116421. *
  116422. * On a logarithmic axis, the unit for the minimum range is the power. So a
  116423. * minRange of 1 means that the axis can be zoomed to 10-100, 100-1000,
  116424. * 1000-10000 etc.
  116425. *
  116426. * **Note**: The `minPadding`, `maxPadding`, `startOnTick` and `endOnTick`
  116427. * settings also affect how the extremes of the axis are computed.
  116428. */
  116429. minRange?: number;
  116430. /**
  116431. * (Highcharts, Highstock, Highmaps, Gantt) The minimum tick interval
  116432. * allowed in axis values. For example on zooming in on an axis with daily
  116433. * data, this can be used to prevent the axis from showing hours. Defaults
  116434. * to the closest distance between two points on the axis.
  116435. */
  116436. minTickInterval?: number;
  116437. /**
  116438. * (Highcharts, Highstock, Highmaps, Gantt) The distance in pixels from the
  116439. * plot area to the axis line. A positive offset moves the axis with it's
  116440. * line, labels and ticks away from the plot area. This is typically used
  116441. * when two or more axes are displayed on the same side of the plot. With
  116442. * multiple axes the offset is dynamically adjusted to avoid collision, this
  116443. * can be overridden by setting offset explicitly.
  116444. */
  116445. offset?: number;
  116446. /**
  116447. * (Highstock, Highcharts, Gantt) Whether to display the axis on the
  116448. * opposite side of the normal. The normal is on the left side for vertical
  116449. * axes and bottom for horizontal, so the opposite sides will be right and
  116450. * top respectively. This is typically used with dual or multiple axes.
  116451. */
  116452. opposite?: boolean;
  116453. /**
  116454. * (Highcharts) Refers to the index in the panes array. Used for circular
  116455. * gauges and polar charts. When the option is not set then first pane will
  116456. * be used.
  116457. */
  116458. pane?: number;
  116459. /**
  116460. * (Highcharts, Highstock, Gantt) An array of colored bands stretching
  116461. * across the plot area marking an interval on the axis.
  116462. *
  116463. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  116464. * class in addition to the `className` option.
  116465. */
  116466. plotBands?: Array<YAxisPlotBandsOptions>;
  116467. /**
  116468. * (Highcharts, Highstock, Gantt) An array of lines stretching across the
  116469. * plot area, marking a specific value on one of the axes.
  116470. *
  116471. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  116472. * class in addition to the `className` option.
  116473. */
  116474. plotLines?: Array<YAxisPlotLinesOptions>;
  116475. /**
  116476. * (Highstock) The zoomed range to display when only defining one or none of
  116477. * `min` or `max`. For example, to show the latest month, a range of one
  116478. * month can be set.
  116479. */
  116480. range?: number;
  116481. /**
  116482. * (Highstock) Options for axis resizing. It adds a thick line between panes
  116483. * which the user can drag in order to resize the panes.
  116484. */
  116485. resize?: YAxisResizeOptions;
  116486. /**
  116487. * (Highcharts, Highstock, Highmaps, Gantt) Whether to reverse the axis so
  116488. * that the highest number is closest to the origin.
  116489. */
  116490. reversed?: boolean;
  116491. /**
  116492. * (Highcharts, Highstock) If `true`, the first series in a stack will be
  116493. * drawn on top in a positive, non-reversed Y axis. If `false`, the first
  116494. * series is in the base of the stack.
  116495. */
  116496. reversedStacks?: boolean;
  116497. /**
  116498. * (Highstock) An optional scrollbar to display on the Y axis in response to
  116499. * limiting the minimum an maximum of the axis values.
  116500. *
  116501. * In styled mode, all the presentational options for the scrollbar are
  116502. * replaced by the classes `.highcharts-scrollbar-thumb`,
  116503. * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
  116504. * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
  116505. */
  116506. scrollbar?: YAxisScrollbarOptions;
  116507. /**
  116508. * (Highcharts, Highstock, Highmaps, Gantt) Whether to show the axis line
  116509. * and title when the axis has no data.
  116510. */
  116511. showEmpty?: boolean;
  116512. /**
  116513. * (Highcharts, Highstock, Highmaps, Gantt) Whether to show the first tick
  116514. * label.
  116515. */
  116516. showFirstLabel?: boolean;
  116517. /**
  116518. * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
  116519. * Defaults to `true` on cartesian charts, and `false` on polar charts.
  116520. */
  116521. showLastLabel?: boolean;
  116522. /**
  116523. * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
  116524. * data maximum is less than this, the axis will stay at this maximum, but
  116525. * if the series data maximum is higher, the axis will flex to show all
  116526. * data.
  116527. *
  116528. * **Note**: The series.softThreshold option takes precedence over this
  116529. * option.
  116530. */
  116531. softMax?: number;
  116532. /**
  116533. * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
  116534. * data minimum is greater than this, the axis will stay at this minimum,
  116535. * but if the series data minimum is lower, the axis will flex to show all
  116536. * data.
  116537. *
  116538. * **Note**: The series.softThreshold option takes precedence over this
  116539. * option.
  116540. */
  116541. softMin?: number;
  116542. /**
  116543. * (Highcharts) The stack labels show the total value for each bar in a
  116544. * stacked column or bar chart. The label will be placed on top of positive
  116545. * columns and below negative columns. In case of an inverted column chart
  116546. * or a bar chart the label is placed to the right of positive bars and to
  116547. * the left of negative bars.
  116548. */
  116549. stackLabels?: YAxisStackLabelsOptions;
  116550. /**
  116551. * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
  116552. * put the tick between weeks. 0 = Sunday, 1 = Monday.
  116553. */
  116554. startOfWeek?: number;
  116555. /**
  116556. * (Highcharts, Highstock, Gantt) Whether to force the axis to start on a
  116557. * tick. Use this option with the `maxPadding` option to control the axis
  116558. * start.
  116559. *
  116560. * This option is always disabled, when panning type is either `y` or `xy`.
  116561. */
  116562. startOnTick?: boolean;
  116563. /**
  116564. * (Gantt) For vertical axes only. Setting the static scale ensures that
  116565. * each tick unit is translated into a fixed pixel height. For example,
  116566. * setting the static scale to 24 results in each Y axis category taking up
  116567. * 24 pixels, and the height of the chart adjusts. Adding or removing items
  116568. * will make the chart resize.
  116569. */
  116570. staticScale?: number;
  116571. /**
  116572. * (Highcharts) Solid gauge series only. Color stops for the solid gauge.
  116573. * Use this in cases where a linear gradient between a `minColor` and
  116574. * `maxColor` is not sufficient. The stops is an array of tuples, where the
  116575. * first item is a float between 0 and 1 assigning the relative position in
  116576. * the gradient, and the second item is the color.
  116577. *
  116578. * For solid gauges, the Y axis also inherits the concept of data classes
  116579. * from the Highmaps color axis.
  116580. */
  116581. stops?: Array<[number, ColorType]>;
  116582. /**
  116583. * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
  116584. * This opens up for aligning the ticks of multiple charts or panes within a
  116585. * chart. This option overrides the `tickPixelInterval` option.
  116586. *
  116587. * This option only has an effect on linear axes. Datetime, logarithmic or
  116588. * category axes are not affected.
  116589. */
  116590. tickAmount?: number;
  116591. /**
  116592. * (Highcharts, Highstock, Highmaps, Gantt) Color for the main tick marks.
  116593. *
  116594. * In styled mode, the stroke is given in the `.highcharts-tick` class.
  116595. */
  116596. tickColor?: ColorType;
  116597. /**
  116598. * (Highcharts, Highstock, Highmaps, Gantt) The interval of the tick marks
  116599. * in axis units. When `undefined`, the tick interval is computed to
  116600. * approximately follow the tickPixelInterval on linear and datetime axes.
  116601. * On categorized axes, a `undefined` tickInterval will default to 1, one
  116602. * category. Note that datetime axes are based on milliseconds, so for
  116603. * example an interval of one day is expressed as `24 * 3600 * 1000`.
  116604. *
  116605. * On logarithmic axes, the tickInterval is based on powers, so a
  116606. * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
  116607. * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
  116608. * 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
  116609. * etc.
  116610. *
  116611. * If the tickInterval is too dense for labels to be drawn, Highcharts may
  116612. * remove ticks.
  116613. *
  116614. * If the chart has multiple axes, the alignTicks option may interfere with
  116615. * the `tickInterval` setting.
  116616. */
  116617. tickInterval?: number;
  116618. /**
  116619. * (Highcharts, Highstock, Highmaps, Gantt) The pixel length of the main
  116620. * tick marks.
  116621. */
  116622. tickLength?: number;
  116623. /**
  116624. * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
  116625. * placed in the center of the category, if `between` the tick mark is
  116626. * placed between categories. The default is `between` if the `tickInterval`
  116627. * is 1, else `on`.
  116628. */
  116629. tickmarkPlacement?: OptionsTickmarkPlacementValue;
  116630. /**
  116631. * (Highcharts, Highstock, Highmaps, Gantt) If tickInterval is `null` this
  116632. * option sets the approximate pixel interval of the tick marks. Not
  116633. * applicable to categorized axis.
  116634. *
  116635. * The tick interval is also influenced by the minTickInterval option, that,
  116636. * by default prevents ticks from being denser than the data points.
  116637. */
  116638. tickPixelInterval?: number;
  116639. /**
  116640. * (Highcharts, Highstock, Highmaps, Gantt) The position of the major tick
  116641. * marks relative to the axis line. Can be one of `inside` and `outside`.
  116642. */
  116643. tickPosition?: OptionsTickPositionValue;
  116644. /**
  116645. * (Highcharts, Highstock, Highmaps, Gantt) A callback function returning
  116646. * array defining where the ticks are laid out on the axis. This overrides
  116647. * the default behaviour of tickPixelInterval and tickInterval. The
  116648. * automatic tick positions are accessible through `this.tickPositions` and
  116649. * can be modified by the callback.
  116650. */
  116651. tickPositioner?: AxisTickPositionerCallbackFunction;
  116652. /**
  116653. * (Highcharts, Highstock, Highmaps, Gantt) An array defining where the
  116654. * ticks are laid out on the axis. This overrides the default behaviour of
  116655. * tickPixelInterval and tickInterval.
  116656. */
  116657. tickPositions?: Array<number>;
  116658. /**
  116659. * (Highcharts, Highstock, Gantt) The pixel width of the major tick marks.
  116660. */
  116661. tickWidth?: number;
  116662. /**
  116663. * (Highcharts, Highstock, Highmaps, Gantt) The axis title, showing next to
  116664. * the axis line.
  116665. */
  116666. title?: YAxisTitleOptions;
  116667. /**
  116668. * (Highcharts) Parallel coordinates only. Format that will be used for
  116669. * point.y and available in tooltip.pointFormat as `{point.formattedValue}`.
  116670. * If not set, `{point.formattedValue}` will use other options, in this
  116671. * order:
  116672. *
  116673. * 1. yAxis.labels.format will be used if set
  116674. *
  116675. * 2. If yAxis is a category, then category name will be displayed
  116676. *
  116677. * 3. If yAxis is a datetime, then value will use the same format as yAxis
  116678. * labels
  116679. *
  116680. * 4. If yAxis is linear/logarithmic type, then simple value will be used
  116681. */
  116682. tooltipValueFormat?: string;
  116683. /**
  116684. * (Highcharts, Highstock) The top position of the Y axis. If it's a number,
  116685. * it is interpreted as pixel position relative to the chart.
  116686. *
  116687. * Since Highcharts 2: If it's a percentage string, it is interpreted as
  116688. * percentages of the plot height, offset from plot area top.
  116689. */
  116690. top?: (number|string);
  116691. /**
  116692. * (Highcharts, Gantt) The type of axis. Can be one of `linear`,
  116693. * `logarithmic`, `datetime`, `category` or `treegrid`. Defaults to
  116694. * `treegrid` for Gantt charts, `linear` for other chart types.
  116695. *
  116696. * In a datetime axis, the numbers are given in milliseconds, and tick marks
  116697. * are placed on appropriate values, like full hours or days. In a category
  116698. * or treegrid axis, the point names of the chart's series are used for
  116699. * categories, if a categories array is not defined.
  116700. */
  116701. type?: AxisTypeValue;
  116702. /**
  116703. * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
  116704. * `uniqueNames` is true, points are placed on the X axis according to their
  116705. * names. If the same point name is repeated in the same or another series,
  116706. * the point is placed on the same X position as other points of the same
  116707. * name. When `uniqueNames` is false, the points are laid out in increasing
  116708. * X positions regardless of their names, and the X axis category will take
  116709. * the name of the last point in each position.
  116710. */
  116711. uniqueNames?: boolean;
  116712. /**
  116713. * (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
  116714. * what time intervals the ticks are allowed to fall on. Each array item is
  116715. * an array where the first value is the time unit and the second value
  116716. * another array of allowed multiples.
  116717. *
  116718. * Defaults to: (see online documentation for example)
  116719. */
  116720. units?: Array<[string, (Array<number>|null)]>;
  116721. /**
  116722. * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
  116723. * ticks and labels, should be visible.
  116724. */
  116725. visible?: boolean;
  116726. /**
  116727. * (Highcharts, Highstock) The width as the horizontal axis. If it's a
  116728. * number, it is interpreted as pixels.
  116729. *
  116730. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  116731. * as percentages of the total plot width.
  116732. */
  116733. width?: (number|string);
  116734. /**
  116735. * (Highcharts, Highstock, Highmaps, Gantt) Whether to zoom axis. If
  116736. * `chart.zoomType` is set, the option allows to disable zooming on an
  116737. * individual axis.
  116738. */
  116739. zoomEnabled?: boolean;
  116740. }
  116741. /**
  116742. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  116743. * band. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  116744. */
  116745. export interface YAxisPlotBandsEventsOptions {
  116746. /**
  116747. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  116748. */
  116749. click?: EventCallbackFunction<PlotLineOrBand>;
  116750. /**
  116751. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  116752. */
  116753. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  116754. /**
  116755. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  116756. * band.
  116757. */
  116758. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  116759. /**
  116760. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  116761. */
  116762. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  116763. }
  116764. /**
  116765. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  116766. */
  116767. export interface YAxisPlotBandsLabelOptions {
  116768. /**
  116769. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  116770. * one of "left", "center" or "right".
  116771. */
  116772. align?: AlignValue;
  116773. /**
  116774. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees .
  116775. */
  116776. rotation?: number;
  116777. /**
  116778. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  116779. *
  116780. * In styled mode, the labels are styled by the
  116781. * `.highcharts-plot-band-label` class.
  116782. */
  116783. style?: CSSObject;
  116784. /**
  116785. * (Highcharts, Highstock, Gantt) The string text itself. A subset of HTML
  116786. * is supported.
  116787. */
  116788. text?: string;
  116789. /**
  116790. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  116791. * `align` determines where the texts anchor point is placed within the plot
  116792. * band, `textAlign` determines how the text is aligned against its anchor
  116793. * point. Possible values are "left", "center" and "right". Defaults to the
  116794. * same as the `align` option.
  116795. */
  116796. textAlign?: AlignValue;
  116797. /**
  116798. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  116799. */
  116800. useHTML?: boolean;
  116801. /**
  116802. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  116803. * to the plot band. Can be one of "top", "middle" or "bottom".
  116804. */
  116805. verticalAlign?: VerticalAlignValue;
  116806. /**
  116807. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  116808. * alignment. Default varies by orientation.
  116809. */
  116810. x?: number;
  116811. /**
  116812. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  116813. * relative to the alignment. Default varies by orientation.
  116814. */
  116815. y?: number;
  116816. }
  116817. /**
  116818. * (Highcharts, Highstock, Gantt) An array of colored bands stretching across
  116819. * the plot area marking an interval on the axis.
  116820. *
  116821. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  116822. * class in addition to the `className` option.
  116823. */
  116824. export interface YAxisPlotBandsOptions {
  116825. /**
  116826. * (Highstock) Flag to decide if plotBand should be rendered across all
  116827. * panes.
  116828. */
  116829. acrossPanes?: boolean;
  116830. /**
  116831. * (Highcharts, Highstock, Gantt) Border color for the plot band. Also
  116832. * requires `borderWidth` to be set.
  116833. */
  116834. borderColor?: ColorString;
  116835. /**
  116836. * (Highcharts, Highstock, Gantt) Border width for the plot band. Also
  116837. * requires `borderColor` to be set.
  116838. */
  116839. borderWidth?: number;
  116840. /**
  116841. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  116842. * default `highcharts-plot-band`, to apply to each individual band.
  116843. */
  116844. className?: string;
  116845. /**
  116846. * (Highcharts, Highstock, Gantt) The color of the plot band.
  116847. */
  116848. color?: (ColorString|GradientColorObject|PatternObject);
  116849. /**
  116850. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  116851. * plot band. Supported properties are `click`, `mouseover`, `mouseout`,
  116852. * `mousemove`.
  116853. */
  116854. events?: YAxisPlotBandsEventsOptions;
  116855. /**
  116856. * (Highcharts, Highstock, Gantt) The start position of the plot band in
  116857. * axis units.
  116858. */
  116859. from?: number;
  116860. /**
  116861. * (Highcharts, Highstock, Gantt) An id used for identifying the plot band
  116862. * in Axis.removePlotBand.
  116863. */
  116864. id?: string;
  116865. /**
  116866. * (Highcharts) In a gauge chart, this option determines the inner radius of
  116867. * the plot band that stretches along the perimeter. It can be given as a
  116868. * percentage string, like `"100%"`, or as a pixel number, like `100`. By
  116869. * default, the inner radius is controlled by the thickness option.
  116870. */
  116871. innerRadius?: (number|string);
  116872. /**
  116873. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  116874. */
  116875. label?: YAxisPlotBandsLabelOptions;
  116876. /**
  116877. * (Highcharts) In a gauge chart, this option determines the outer radius of
  116878. * the plot band that stretches along the perimeter. It can be given as a
  116879. * percentage string, like `"100%"`, or as a pixel number, like `100`.
  116880. */
  116881. outerRadius?: (number|string);
  116882. /**
  116883. * (Highcharts) In a gauge chart, this option sets the width of the plot
  116884. * band stretching along the perimeter. It can be given as a percentage
  116885. * string, like `"10%"`, or as a pixel number, like `10`. The default value
  116886. * 10 is the same as the default tickLength, thus making the plot band act
  116887. * as a background for the tick markers.
  116888. */
  116889. thickness?: (number|string);
  116890. /**
  116891. * (Highcharts, Highstock, Gantt) The end position of the plot band in axis
  116892. * units.
  116893. */
  116894. to?: number;
  116895. /**
  116896. * (Highcharts, Highstock, Gantt) The z index of the plot band within the
  116897. * chart, relative to other elements. Using the same z index as another
  116898. * element may give unpredictable results, as the last rendered element will
  116899. * be on top. Values from 0 to 20 make sense.
  116900. */
  116901. zIndex?: number;
  116902. }
  116903. /**
  116904. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  116905. * line. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  116906. */
  116907. export interface YAxisPlotLinesEventsOptions {
  116908. /**
  116909. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  116910. */
  116911. click?: EventCallbackFunction<PlotLineOrBand>;
  116912. /**
  116913. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  116914. */
  116915. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  116916. /**
  116917. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  116918. * band.
  116919. */
  116920. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  116921. /**
  116922. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  116923. */
  116924. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  116925. }
  116926. /**
  116927. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  116928. */
  116929. export interface YAxisPlotLinesLabelOptions {
  116930. /**
  116931. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  116932. * one of "left", "center" or "right".
  116933. */
  116934. align?: AlignValue;
  116935. /**
  116936. * (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
  116937. * label. Useful properties like the value of plot line or the range of plot
  116938. * band (`from` & `to` properties) can be found in `this.options` object.
  116939. */
  116940. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  116941. /**
  116942. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees.
  116943. * Defaults to 0 for horizontal plot lines and 90 for vertical lines.
  116944. */
  116945. rotation?: number;
  116946. /**
  116947. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  116948. *
  116949. * In styled mode, the labels are styled by the
  116950. * `.highcharts-plot-line-label` class.
  116951. */
  116952. style?: CSSObject;
  116953. /**
  116954. * (Highcharts, Highstock, Gantt) The text itself. A subset of HTML is
  116955. * supported.
  116956. */
  116957. text?: string;
  116958. /**
  116959. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  116960. * `align` determines where the texts anchor point is placed within the plot
  116961. * band, `textAlign` determines how the text is aligned against its anchor
  116962. * point. Possible values are "left", "center" and "right". Defaults to the
  116963. * same as the `align` option.
  116964. */
  116965. textAlign?: AlignValue;
  116966. /**
  116967. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  116968. */
  116969. useHTML?: boolean;
  116970. /**
  116971. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  116972. * to the plot line. Can be one of "top", "middle" or "bottom".
  116973. */
  116974. verticalAlign?: VerticalAlignValue;
  116975. /**
  116976. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  116977. * alignment. Default varies by orientation.
  116978. */
  116979. x?: number;
  116980. /**
  116981. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  116982. * relative to the alignment. Default varies by orientation.
  116983. */
  116984. y?: number;
  116985. }
  116986. /**
  116987. * (Highcharts, Highstock, Gantt) An array of lines stretching across the plot
  116988. * area, marking a specific value on one of the axes.
  116989. *
  116990. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  116991. * class in addition to the `className` option.
  116992. */
  116993. export interface YAxisPlotLinesOptions {
  116994. /**
  116995. * (Highstock) Flag to decide if plotLine should be rendered across all
  116996. * panes.
  116997. */
  116998. acrossPanes?: boolean;
  116999. /**
  117000. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  117001. * default `highcharts-plot-line`, to apply to each individual line.
  117002. */
  117003. className?: string;
  117004. /**
  117005. * (Highcharts, Highstock, Gantt) The color of the line.
  117006. */
  117007. color?: ColorString;
  117008. /**
  117009. * (Highcharts, Highstock, Gantt) The dashing or dot style for the plot
  117010. * line. For possible values see this overview.
  117011. */
  117012. dashStyle?: DashStyleValue;
  117013. /**
  117014. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  117015. * plot line. Supported properties are `click`, `mouseover`, `mouseout`,
  117016. * `mousemove`.
  117017. */
  117018. events?: YAxisPlotLinesEventsOptions;
  117019. /**
  117020. * (Highcharts, Highstock, Gantt) An id used for identifying the plot line
  117021. * in Axis.removePlotLine.
  117022. */
  117023. id?: string;
  117024. /**
  117025. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  117026. */
  117027. label?: YAxisPlotLinesLabelOptions;
  117028. /**
  117029. * (Highcharts, Highstock, Gantt) The position of the line in axis units.
  117030. */
  117031. value?: number;
  117032. /**
  117033. * (Highcharts, Highstock, Gantt) The width or thickness of the plot line.
  117034. */
  117035. width?: number;
  117036. /**
  117037. * (Highcharts, Highstock, Gantt) The z index of the plot line within the
  117038. * chart.
  117039. */
  117040. zIndex?: number;
  117041. }
  117042. /**
  117043. * (Highstock) Contains two arrays of axes that are controlled by control line
  117044. * of the axis.
  117045. */
  117046. export interface YAxisResizeControlledAxisOptions {
  117047. /**
  117048. * (Highstock) Array of axes that should move out of the way of resizing
  117049. * being done for the current axis. If not set, the next axis will be used.
  117050. */
  117051. next?: Array<(number|string)>;
  117052. /**
  117053. * (Highstock) Array of axes that should move with the current axis while
  117054. * resizing.
  117055. */
  117056. prev?: Array<(number|string)>;
  117057. }
  117058. /**
  117059. * (Highstock) Options for axis resizing. It adds a thick line between panes
  117060. * which the user can drag in order to resize the panes.
  117061. */
  117062. export interface YAxisResizeOptions {
  117063. /**
  117064. * (Highstock) Contains two arrays of axes that are controlled by control
  117065. * line of the axis.
  117066. */
  117067. controlledAxis?: YAxisResizeControlledAxisOptions;
  117068. /**
  117069. * (Highstock) Cursor style for the control line.
  117070. *
  117071. * In styled mode use class `highcharts-axis-resizer` instead.
  117072. */
  117073. cursor?: string;
  117074. /**
  117075. * (Highstock) Enable or disable resize by drag for the axis.
  117076. */
  117077. enabled?: boolean;
  117078. /**
  117079. * (Highstock) Color of the control line.
  117080. *
  117081. * In styled mode use class `highcharts-axis-resizer` instead.
  117082. */
  117083. lineColor?: ColorString;
  117084. /**
  117085. * (Highstock) Dash style of the control line.
  117086. *
  117087. * In styled mode use class `highcharts-axis-resizer` instead.
  117088. */
  117089. lineDashStyle?: string;
  117090. /**
  117091. * (Highstock) Width of the control line.
  117092. *
  117093. * In styled mode use class `highcharts-axis-resizer` instead.
  117094. */
  117095. lineWidth?: number;
  117096. /**
  117097. * (Highstock) Horizontal offset of the control line.
  117098. */
  117099. x?: number;
  117100. /**
  117101. * (Highstock) Vertical offset of the control line.
  117102. */
  117103. y?: number;
  117104. }
  117105. /**
  117106. * (Highstock) An optional scrollbar to display on the Y axis in response to
  117107. * limiting the minimum an maximum of the axis values.
  117108. *
  117109. * In styled mode, all the presentational options for the scrollbar are replaced
  117110. * by the classes `.highcharts-scrollbar-thumb`, `.highcharts-scrollbar-arrow`,
  117111. * `.highcharts-scrollbar-button`, `.highcharts-scrollbar-rifles` and
  117112. * `.highcharts-scrollbar-track`.
  117113. */
  117114. export interface YAxisScrollbarOptions {
  117115. /**
  117116. * (Highstock) The background color of the scrollbar itself.
  117117. */
  117118. barBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  117119. /**
  117120. * (Highstock) The color of the scrollbar's border.
  117121. */
  117122. barBorderColor?: (ColorString|GradientColorObject|PatternObject);
  117123. /**
  117124. * (Highstock) The border rounding radius of the bar.
  117125. */
  117126. barBorderRadius?: number;
  117127. /**
  117128. * (Highstock) The width of the bar's border.
  117129. */
  117130. barBorderWidth?: number;
  117131. /**
  117132. * (Highstock) The color of the small arrow inside the scrollbar buttons.
  117133. */
  117134. buttonArrowColor?: (ColorString|GradientColorObject|PatternObject);
  117135. /**
  117136. * (Highstock) The color of scrollbar buttons.
  117137. */
  117138. buttonBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  117139. /**
  117140. * (Highstock) The color of the border of the scrollbar buttons.
  117141. */
  117142. buttonBorderColor?: (ColorString|GradientColorObject|PatternObject);
  117143. /**
  117144. * (Highstock) The corner radius of the scrollbar buttons.
  117145. */
  117146. buttonBorderRadius?: number;
  117147. /**
  117148. * (Highstock) The border width of the scrollbar buttons.
  117149. */
  117150. buttonBorderWidth?: number;
  117151. /**
  117152. * (Highstock) Enable the scrollbar on the Y axis.
  117153. */
  117154. enabled?: boolean;
  117155. /**
  117156. * (Highstock) Whether to redraw the main chart as the scrollbar or the
  117157. * navigator zoomed window is moved. Defaults to `true` for modern browsers
  117158. * and `false` for legacy IE browsers as well as mobile devices.
  117159. */
  117160. liveRedraw?: boolean;
  117161. /**
  117162. * (Highstock) Pixel margin between the scrollbar and the axis elements.
  117163. */
  117164. margin?: number;
  117165. /**
  117166. * (Highstock) The minimum width of the scrollbar.
  117167. */
  117168. minWidth?: number;
  117169. /**
  117170. * (Highstock) The color of the small rifles in the middle of the scrollbar.
  117171. */
  117172. rifleColor?: (ColorString|GradientColorObject|PatternObject);
  117173. /**
  117174. * (Highstock) Whether to show the scrollbar when it is fully zoomed out at
  117175. * max range. Setting it to `false` on the Y axis makes the scrollbar stay
  117176. * hidden until the user zooms in, like common in browsers.
  117177. */
  117178. showFull?: boolean;
  117179. /**
  117180. * (Highstock) The width of a vertical scrollbar or height of a horizontal
  117181. * scrollbar. Defaults to 20 on touch devices.
  117182. */
  117183. size?: number;
  117184. step?: number;
  117185. /**
  117186. * (Highstock) The color of the track background.
  117187. */
  117188. trackBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  117189. /**
  117190. * (Highstock) The color of the border of the scrollbar track.
  117191. */
  117192. trackBorderColor?: (ColorString|GradientColorObject|PatternObject);
  117193. /**
  117194. * (Highstock) The corner radius of the border of the scrollbar track.
  117195. */
  117196. trackBorderRadius?: number;
  117197. /**
  117198. * (Highstock) The width of the border of the scrollbar track.
  117199. */
  117200. trackBorderWidth?: number;
  117201. /**
  117202. * (Highstock) Z index of the scrollbar elements.
  117203. */
  117204. zIndex?: number;
  117205. }
  117206. /**
  117207. * (Highcharts) Enable or disable the initial animation when a series is
  117208. * displayed for the `stackLabels`. The animation can also be set as a
  117209. * configuration object. Please note that this option only applies to the
  117210. * initial animation. For other animations, see chart.animation and the
  117211. * animation parameter under the API methods. The following properties are
  117212. * supported:
  117213. *
  117214. * - `defer`: The animation delay time in milliseconds.
  117215. */
  117216. export interface YAxisStackLabelsAnimationOptions {
  117217. /**
  117218. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  117219. * stackLabel immediately. As `undefined` inherits defer time from the
  117220. * series.animation.defer.
  117221. */
  117222. defer?: number;
  117223. }
  117224. /**
  117225. * (Highcharts) The stack labels show the total value for each bar in a stacked
  117226. * column or bar chart. The label will be placed on top of positive columns and
  117227. * below negative columns. In case of an inverted column chart or a bar chart
  117228. * the label is placed to the right of positive bars and to the left of negative
  117229. * bars.
  117230. */
  117231. export interface YAxisStackLabelsOptions {
  117232. /**
  117233. * (Highcharts) Defines the horizontal alignment of the stack total label.
  117234. * Can be one of `"left"`, `"center"` or `"right"`. The default value is
  117235. * calculated at runtime and depends on orientation and whether the stack is
  117236. * positive or negative.
  117237. */
  117238. align?: AlignValue;
  117239. /**
  117240. * (Highcharts) Allow the stack labels to overlap.
  117241. */
  117242. allowOverlap?: boolean;
  117243. /**
  117244. * (Highcharts) Enable or disable the initial animation when a series is
  117245. * displayed for the `stackLabels`. The animation can also be set as a
  117246. * configuration object. Please note that this option only applies to the
  117247. * initial animation. For other animations, see chart.animation and the
  117248. * animation parameter under the API methods. The following properties are
  117249. * supported:
  117250. *
  117251. * - `defer`: The animation delay time in milliseconds.
  117252. */
  117253. animation?: (boolean|YAxisStackLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  117254. /**
  117255. * (Highcharts) The background color or gradient for the stack label.
  117256. */
  117257. backgroundColor?: ColorType;
  117258. /**
  117259. * (Highcharts) The border color for the stack label. Defaults to
  117260. * `undefined`.
  117261. */
  117262. borderColor?: ColorType;
  117263. /**
  117264. * (Highcharts) The border radius in pixels for the stack label.
  117265. */
  117266. borderRadius?: number;
  117267. /**
  117268. * (Highcharts) The border width in pixels for the stack label.
  117269. */
  117270. borderWidth?: number;
  117271. /**
  117272. * (Highcharts) Whether to hide stack labels that are outside the plot area.
  117273. * By default, the stack label is moved inside the plot area according to
  117274. * the overflow option.
  117275. */
  117276. crop?: boolean;
  117277. /**
  117278. * (Highcharts) Enable or disable the stack total labels.
  117279. */
  117280. enabled?: boolean;
  117281. /**
  117282. * (Highcharts, Highstock) A format string for the data label. Available
  117283. * variables are the same as for `formatter`.
  117284. */
  117285. format?: string;
  117286. /**
  117287. * (Highcharts) Callback JavaScript function to format the label. The value
  117288. * is given by `this.total`.
  117289. */
  117290. formatter?: FormatterCallbackFunction<StackItemObject>;
  117291. /**
  117292. * (Highcharts) How to handle stack total labels that flow outside the plot
  117293. * area. The default is set to `"justify"`, which aligns them inside the
  117294. * plot area. For columns and bars, this means it will be moved inside the
  117295. * bar. To display stack labels outside the plot area, set `crop` to `false`
  117296. * and `overflow` to `"allow"`.
  117297. */
  117298. overflow?: DataLabelsOverflowValue;
  117299. /**
  117300. * (Highcharts) Rotation of the labels in degrees.
  117301. */
  117302. rotation?: number;
  117303. /**
  117304. * (Highcharts) CSS styles for the label.
  117305. *
  117306. * In styled mode, the styles are set in the `.highcharts-stack-label`
  117307. * class.
  117308. */
  117309. style?: CSSObject;
  117310. /**
  117311. * (Highcharts) The text alignment for the label. While `align` determines
  117312. * where the texts anchor point is placed with regards to the stack,
  117313. * `textAlign` determines how the text is aligned against its anchor point.
  117314. * Possible values are `"left"`, `"center"` and `"right"`. The default value
  117315. * is calculated at runtime and depends on orientation and whether the stack
  117316. * is positive or negative.
  117317. */
  117318. textAlign?: AlignValue;
  117319. /**
  117320. * (Highcharts, Highstock) Whether to use HTML to render the labels.
  117321. */
  117322. useHTML?: boolean;
  117323. /**
  117324. * (Highcharts) Defines the vertical alignment of the stack total label. Can
  117325. * be one of `"top"`, `"middle"` or `"bottom"`. The default value is
  117326. * calculated at runtime and depends on orientation and whether the stack is
  117327. * positive or negative.
  117328. */
  117329. verticalAlign?: VerticalAlignValue;
  117330. /**
  117331. * (Highcharts) The x position offset of the label relative to the left of
  117332. * the stacked bar. The default value is calculated at runtime and depends
  117333. * on orientation and whether the stack is positive or negative.
  117334. */
  117335. x?: number;
  117336. /**
  117337. * (Highcharts) The y position offset of the label relative to the tick
  117338. * position on the axis. The default value is calculated at runtime and
  117339. * depends on orientation and whether the stack is positive or negative.
  117340. */
  117341. y?: number;
  117342. }
  117343. /**
  117344. * (Highcharts, Highstock, Highmaps, Gantt) The axis title, showing next to the
  117345. * axis line.
  117346. */
  117347. export interface YAxisTitleOptions {
  117348. /**
  117349. * (Highcharts, Highstock, Highmaps, Gantt) Alignment of the title relative
  117350. * to the axis values. Possible values are "low", "middle" or "high".
  117351. */
  117352. align?: AxisTitleAlignValue;
  117353. /**
  117354. * (Highcharts, Highstock, Highmaps, Gantt) The pixel distance between the
  117355. * axis labels and the title. Positive values are outside the axis line,
  117356. * negative are inside.
  117357. */
  117358. margin?: number;
  117359. /**
  117360. * (Highcharts, Highstock, Highmaps, Gantt) The distance of the axis title
  117361. * from the axis line. By default, this distance is computed from the offset
  117362. * width of the labels, the labels' distance from the axis and the title's
  117363. * margin. However when the offset option is set, it overrides all this.
  117364. */
  117365. offset?: number;
  117366. /**
  117367. * (Highcharts) Defines how the title is repositioned according to the 3D
  117368. * chart orientation.
  117369. *
  117370. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  117371. * marks, despite the chart orientation. This is the backwards compatible
  117372. * behavior, and causes skewing of X and Z axes.
  117373. *
  117374. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  117375. * but hard to read if the text isn't forward-facing.
  117376. *
  117377. * - `'flap'`: Rotated text along the axis to compensate for the chart
  117378. * orientation. This tries to maintain text as legible as possible on all
  117379. * orientations.
  117380. *
  117381. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  117382. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  117383. * skewing the labels (X and Y scaling are still present).
  117384. *
  117385. * - `undefined`: Will use the config from `labels.position3d`
  117386. */
  117387. position3d?: ("chart"|"flap"|"offset"|"ortho"|null);
  117388. /**
  117389. * (Highcharts, Highstock, Gantt) Whether to reserve space for the title
  117390. * when laying out the axis.
  117391. */
  117392. reserveSpace?: boolean;
  117393. /**
  117394. * (Highcharts, Highstock, Highmaps, Gantt) The rotation of the text in
  117395. * degrees. 0 is horizontal, 270 is vertical reading from bottom to top.
  117396. */
  117397. rotation?: number;
  117398. /**
  117399. * (Highcharts) If enabled, the axis title will skewed to follow the
  117400. * perspective.
  117401. *
  117402. * This will fix overlapping labels and titles, but texts become less
  117403. * legible due to the distortion.
  117404. *
  117405. * The final appearance depends heavily on `title.position3d`.
  117406. *
  117407. * A `null` value will use the config from `labels.skew3d`.
  117408. */
  117409. skew3d?: (boolean|null);
  117410. /**
  117411. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the title. If the
  117412. * title text is longer than the axis length, it will wrap to multiple lines
  117413. * by default. This can be customized by setting `textOverflow: 'ellipsis'`,
  117414. * by setting a specific `width` or by setting `whiteSpace: 'nowrap'`.
  117415. *
  117416. * In styled mode, the stroke width is given in the `.highcharts-axis-title`
  117417. * class.
  117418. */
  117419. style?: CSSObject;
  117420. /**
  117421. * (Highcharts, Highstock, Gantt) The actual text of the axis title.
  117422. * Horizontal texts can contain HTML, but rotated texts are painted using
  117423. * vector techniques and must be clean text. The Y axis title is disabled by
  117424. * setting the `text` option to `undefined`.
  117425. */
  117426. text?: (string|null);
  117427. /**
  117428. * (Highcharts, Highstock, Highmaps, Gantt) Alignment of the text, can be
  117429. * `"left"`, `"right"` or `"center"`. Default alignment depends on the
  117430. * title.align:
  117431. *
  117432. * Horizontal axes:
  117433. *
  117434. * - for `align` = `"low"`, `textAlign` is set to `left`
  117435. *
  117436. * - for `align` = `"middle"`, `textAlign` is set to `center`
  117437. *
  117438. * - for `align` = `"high"`, `textAlign` is set to `right`
  117439. *
  117440. * Vertical axes:
  117441. *
  117442. * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
  117443. * `right`
  117444. *
  117445. * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
  117446. * `left`
  117447. *
  117448. * - for `align` = `"middle"`, `textAlign` is set to `center`
  117449. *
  117450. * - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
  117451. * `left`
  117452. *
  117453. * - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
  117454. * `right`
  117455. */
  117456. textAlign?: AlignValue;
  117457. /**
  117458. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the axis
  117459. * title.
  117460. */
  117461. useHTML?: boolean;
  117462. /**
  117463. * (Highcharts, Highstock, Gantt) Horizontal pixel offset of the title
  117464. * position.
  117465. */
  117466. x?: number;
  117467. /**
  117468. * (Highcharts, Highstock, Gantt) Vertical pixel offset of the title
  117469. * position.
  117470. */
  117471. y?: number;
  117472. }
  117473. /**
  117474. * (Gantt) An object defining mouse events for the plot line. Supported
  117475. * properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  117476. */
  117477. export interface ZAxisCurrentDateIndicatorEventsOptions {
  117478. /**
  117479. * (Gantt) Click event on a plot band.
  117480. */
  117481. click?: EventCallbackFunction<PlotLineOrBand>;
  117482. /**
  117483. * (Gantt) Mouse move event on a plot band.
  117484. */
  117485. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  117486. /**
  117487. * (Gantt) Mouse out event on the corner of a plot band.
  117488. */
  117489. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  117490. /**
  117491. * (Gantt) Mouse over event on a plot band.
  117492. */
  117493. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  117494. }
  117495. /**
  117496. * (Gantt) Text labels for the plot bands
  117497. */
  117498. export interface ZAxisCurrentDateIndicatorLabelOptions {
  117499. /**
  117500. * (Gantt) Horizontal alignment of the label. Can be one of "left", "center"
  117501. * or "right".
  117502. */
  117503. align?: AlignValue;
  117504. /**
  117505. * (Gantt) Format of the label. This options is passed as the fist argument
  117506. * to dateFormat function.
  117507. */
  117508. format?: string;
  117509. /**
  117510. * (Gantt) Callback JavaScript function to format the label. Useful
  117511. * properties like the value of plot line or the range of plot band (`from`
  117512. * & `to` properties) can be found in `this.options` object.
  117513. */
  117514. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  117515. /**
  117516. * (Gantt) Rotation of the text label in degrees. Defaults to 0 for
  117517. * horizontal plot lines and 90 for vertical lines.
  117518. */
  117519. rotation?: number;
  117520. /**
  117521. * (Gantt) CSS styles for the text label.
  117522. *
  117523. * In styled mode, the labels are styled by the
  117524. * `.highcharts-plot-line-label` class.
  117525. */
  117526. style?: CSSObject;
  117527. /**
  117528. * (Gantt) The text itself. A subset of HTML is supported.
  117529. */
  117530. text?: string;
  117531. /**
  117532. * (Gantt) The text alignment for the label. While `align` determines where
  117533. * the texts anchor point is placed within the plot band, `textAlign`
  117534. * determines how the text is aligned against its anchor point. Possible
  117535. * values are "left", "center" and "right". Defaults to the same as the
  117536. * `align` option.
  117537. */
  117538. textAlign?: AlignValue;
  117539. /**
  117540. * (Gantt) Whether to use HTML to render the labels.
  117541. */
  117542. useHTML?: boolean;
  117543. /**
  117544. * (Gantt) Vertical alignment of the label relative to the plot line. Can be
  117545. * one of "top", "middle" or "bottom".
  117546. */
  117547. verticalAlign?: VerticalAlignValue;
  117548. /**
  117549. * (Gantt) Horizontal position relative the alignment. Default varies by
  117550. * orientation.
  117551. */
  117552. x?: number;
  117553. /**
  117554. * (Gantt) Vertical position of the text baseline relative to the alignment.
  117555. * Default varies by orientation.
  117556. */
  117557. y?: number;
  117558. }
  117559. /**
  117560. * (Highcharts) Event handlers for the axis.
  117561. */
  117562. export interface ZAxisEventsOptions {
  117563. /**
  117564. * (Highcharts, Gantt) An event fired after the breaks have rendered.
  117565. */
  117566. afterBreaks?: AxisEventCallbackFunction;
  117567. /**
  117568. * (Highcharts) As opposed to the `setExtremes` event, this event fires
  117569. * after the final min and max values are computed and corrected for
  117570. * `minRange`.
  117571. *
  117572. * Fires when the minimum and maximum is set for the axis, either by calling
  117573. * the `.setExtremes()` method or by selecting an area in the chart. One
  117574. * parameter, `event`, is passed to the function, containing common event
  117575. * information.
  117576. *
  117577. * The new user set minimum and maximum values can be found by `event.min`
  117578. * and `event.max`. These reflect the axis minimum and maximum in axis
  117579. * values. The actual data extremes are found in `event.dataMin` and
  117580. * `event.dataMax`.
  117581. */
  117582. afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
  117583. /**
  117584. * (Highcharts, Gantt) An event fired when a break from this axis occurs on
  117585. * a point.
  117586. */
  117587. pointBreak?: AxisPointBreakEventCallbackFunction;
  117588. /**
  117589. * (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
  117590. * break from this axis.
  117591. */
  117592. pointInBreak?: AxisPointBreakEventCallbackFunction;
  117593. /**
  117594. * (Highcharts) Fires when the minimum and maximum is set for the axis,
  117595. * either by calling the `.setExtremes()` method or by selecting an area in
  117596. * the chart. One parameter, `event`, is passed to the function, containing
  117597. * common event information.
  117598. *
  117599. * The new user set minimum and maximum values can be found by `event.min`
  117600. * and `event.max`. These reflect the axis minimum and maximum in data
  117601. * values. When an axis is zoomed all the way out from the "Reset zoom"
  117602. * button, `event.min` and `event.max` are null, and the new extremes are
  117603. * set based on `this.dataMin` and `this.dataMax`.
  117604. */
  117605. setExtremes?: AxisSetExtremesEventCallbackFunction;
  117606. }
  117607. /**
  117608. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  117609. */
  117610. export interface ZAxisGridOptions {
  117611. /**
  117612. * (Gantt) Set border color for the label grid lines.
  117613. */
  117614. borderColor?: ColorString;
  117615. /**
  117616. * (Gantt) Set border width of the label grid lines.
  117617. */
  117618. borderWidth?: number;
  117619. /**
  117620. * (Gantt) Set cell height for grid axis labels. By default this is
  117621. * calculated from font size. This option only applies to horizontal axes.
  117622. */
  117623. cellHeight?: number;
  117624. /**
  117625. * (Gantt) Set specific options for each column (or row for horizontal axes)
  117626. * in the grid. Each extra column/row is its own axis, and the axis options
  117627. * can be set here.
  117628. */
  117629. columns?: Array<XAxisOptions>;
  117630. /**
  117631. * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
  117632. * charts.
  117633. */
  117634. enabled?: boolean;
  117635. }
  117636. /**
  117637. * (Highcharts) The axis labels show the number or category for each tick.
  117638. *
  117639. * Since v8.0.0: Labels are animated in categorized x-axis with updating data if
  117640. * `tickInterval` and `step` is set to 1.
  117641. */
  117642. export interface ZAxisLabelsOptions {
  117643. /**
  117644. * (Highcharts) What part of the string the given position is anchored to.
  117645. * If `left`, the left side of the string is at the axis position. Can be
  117646. * one of `"left"`, `"center"` or `"right"`. Defaults to an intelligent
  117647. * guess based on which side of the chart the axis is on and the rotation of
  117648. * the label.
  117649. */
  117650. align?: AlignValue;
  117651. /**
  117652. * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
  117653. * of label rotation to prevent overlapping labels. If there is enough
  117654. * space, labels are not rotated. As the chart gets narrower, it will start
  117655. * rotating the labels -45 degrees, then remove every second label and try
  117656. * again with rotations 0 and -45 etc. Set it to `false` to disable
  117657. * rotation, which will cause the labels to word-wrap if possible.
  117658. */
  117659. autoRotation?: (false|Array<number>);
  117660. /**
  117661. * (Highcharts, Gantt) When each category width is more than this many
  117662. * pixels, we don't apply auto rotation. Instead, we lay out the axis label
  117663. * with word wrap. A lower limit makes sense when the label contains
  117664. * multiple short words that don't extend the available horizontal space for
  117665. * each label.
  117666. */
  117667. autoRotationLimit?: number;
  117668. /**
  117669. * (Highcharts, Gantt) Polar charts only. The label's pixel distance from
  117670. * the perimeter of the plot area.
  117671. */
  117672. distance?: number;
  117673. /**
  117674. * (Highcharts) Enable or disable the axis labels.
  117675. */
  117676. enabled?: boolean;
  117677. /**
  117678. * (Highcharts) A format string for the axis label.
  117679. */
  117680. format?: string;
  117681. /**
  117682. * (Highcharts) Callback JavaScript function to format the label. The value
  117683. * is given by `this.value`. Additional properties for `this` are `axis`,
  117684. * `chart`, `isFirst` and `isLast`. The value of the default label formatter
  117685. * can be retrieved by calling `this.axis.defaultLabelFormatter.call(this)`
  117686. * within the function.
  117687. *
  117688. * Defaults to: (see online documentation for example)
  117689. */
  117690. formatter?: AxisLabelsFormatterCallbackFunction;
  117691. /**
  117692. * (Gantt) The number of pixels to indent the labels per level in a treegrid
  117693. * axis.
  117694. */
  117695. indentation?: number;
  117696. /**
  117697. * (Highcharts) How to handle overflowing labels on horizontal axis. If set
  117698. * to `"allow"`, it will not be aligned at all. By default it `"justify"`
  117699. * labels inside the chart area. If there is room to move it, it will be
  117700. * aligned to the edge, else it will be removed.
  117701. */
  117702. overflow?: OptionsOverflowValue;
  117703. /**
  117704. * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
  117705. * space between them.
  117706. */
  117707. padding?: number;
  117708. /**
  117709. * (Highcharts) Defines how the labels are be repositioned according to the
  117710. * 3D chart orientation.
  117711. *
  117712. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  117713. * marks, despite the chart orientation. This is the backwards compatible
  117714. * behavior, and causes skewing of X and Z axes.
  117715. *
  117716. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  117717. * but hard to read if the text isn't forward-facing.
  117718. *
  117719. * - `'flap'`: Rotated text along the axis to compensate for the chart
  117720. * orientation. This tries to maintain text as legible as possible on all
  117721. * orientations.
  117722. *
  117723. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  117724. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  117725. * skewing the labels (X and Y scaling are still present).
  117726. */
  117727. position3d?: OptionsPosition3dValue;
  117728. /**
  117729. * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
  117730. * space is reserved for the labels in these cases:
  117731. *
  117732. * * On all horizontal axes.
  117733. *
  117734. * * On vertical axes if `label.align` is `right` on a left-side axis or
  117735. * `left` on a right-side axis.
  117736. *
  117737. * * On vertical axes if `label.align` is `center`.
  117738. *
  117739. * This can be turned off when for example the labels are rendered inside
  117740. * the plot area instead of outside.
  117741. */
  117742. reserveSpace?: boolean;
  117743. /**
  117744. * (Highcharts) Rotation of the labels in degrees.
  117745. */
  117746. rotation?: number;
  117747. /**
  117748. * (Highcharts) If enabled, the axis labels will skewed to follow the
  117749. * perspective.
  117750. *
  117751. * This will fix overlapping labels and titles, but texts become less
  117752. * legible due to the distortion.
  117753. *
  117754. * The final appearance depends heavily on `labels.position3d`.
  117755. */
  117756. skew3d?: boolean;
  117757. /**
  117758. * (Highcharts) Horizontal axes only. The number of lines to spread the
  117759. * labels over to make room or tighter labels.
  117760. */
  117761. staggerLines?: number;
  117762. /**
  117763. * (Highcharts) To show only every _n_'th label on the axis, set the step to
  117764. * _n_. Setting the step to 2 shows every other label.
  117765. *
  117766. * By default, the step is calculated automatically to avoid overlap. To
  117767. * prevent this, set it to 1\. This usually only happens on a category axis,
  117768. * and is often a sign that you have chosen the wrong axis type.
  117769. *
  117770. * Read more at Axis docs => What axis should I use?
  117771. */
  117772. step?: number;
  117773. /**
  117774. * (Highcharts) CSS styles for the label. Use `whiteSpace: 'nowrap'` to
  117775. * prevent wrapping of category labels. Use `textOverflow: 'none'` to
  117776. * prevent ellipsis (dots).
  117777. *
  117778. * In styled mode, the labels are styled with the `.highcharts-axis-labels`
  117779. * class.
  117780. */
  117781. style?: CSSObject;
  117782. /**
  117783. * (Highcharts) Whether to use HTML to render the labels.
  117784. */
  117785. useHTML?: boolean;
  117786. /**
  117787. * (Highcharts) The x position offset of all labels relative to the tick
  117788. * positions on the axis.
  117789. */
  117790. x?: number;
  117791. /**
  117792. * (Highcharts) The y position offset of all labels relative to the tick
  117793. * positions on the axis. The default makes it adapt to the font size of the
  117794. * bottom axis.
  117795. */
  117796. y?: number;
  117797. /**
  117798. * (Highcharts) The Z index for the axis labels.
  117799. */
  117800. zIndex?: number;
  117801. }
  117802. /**
  117803. * (Highcharts) The Z axis or depth axis for 3D plots.
  117804. *
  117805. * See the Axis class for programmatic access to the axis.
  117806. */
  117807. export interface ZAxisOptions {
  117808. /**
  117809. * (Highcharts) Accessibility options for an axis. Requires the
  117810. * accessibility module.
  117811. */
  117812. accessibility?: AxisAccessibilityOptionsObject;
  117813. /**
  117814. * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
  117815. * or more opposite axes will automatically be aligned by adding ticks to
  117816. * the axis or axes with the least ticks, as if `tickAmount` were specified.
  117817. *
  117818. * This can be prevented by setting `alignTicks` to false. If the grid lines
  117819. * look messy, it's a good idea to hide them for the secondary axis by
  117820. * setting `gridLineWidth` to 0.
  117821. *
  117822. * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
  117823. * the `alignTicks ` will be disabled for the Axis.
  117824. *
  117825. * Disabled for logarithmic axes.
  117826. */
  117827. alignTicks?: boolean;
  117828. /**
  117829. * (Highcharts) Whether to allow decimals in this axis' ticks. When counting
  117830. * integers, like persons or hits on a web page, decimals should be avoided
  117831. * in the labels.
  117832. */
  117833. allowDecimals?: boolean;
  117834. /**
  117835. * (Highcharts) When using an alternate grid color, a band is painted across
  117836. * the plot area between every other grid line.
  117837. */
  117838. alternateGridColor?: ColorType;
  117839. /**
  117840. * (Highcharts) In a polar chart, this is the angle of the Y axis in
  117841. * degrees, where 0 is up and 90 is right. The angle determines the position
  117842. * of the axis line and the labels, though the coordinate system is
  117843. * unaffected. Since v8.0.0 this option is also applicable for X axis
  117844. * (inverted polar).
  117845. */
  117846. angle?: number;
  117847. /**
  117848. * (Highcharts, Gantt) If categories are present for the xAxis, names are
  117849. * used instead of numbers for that axis.
  117850. *
  117851. * Since Highcharts 3.0, categories can also be extracted by giving each
  117852. * point a name and setting axis type to `category`. However, if you have
  117853. * multiple series, best practice remains defining the `categories` array.
  117854. *
  117855. * Example: `categories: ['Apples', 'Bananas', 'Oranges']`
  117856. */
  117857. categories?: Array<string>;
  117858. /**
  117859. * (Highcharts, Highstock, Gantt) The highest allowed value for
  117860. * automatically computed axis extremes.
  117861. */
  117862. ceiling?: number;
  117863. /**
  117864. * (Highcharts) A class name that opens for styling the axis by CSS,
  117865. * especially in Highcharts styled mode. The class name is applied to group
  117866. * elements for the grid, axis elements and labels.
  117867. */
  117868. className?: string;
  117869. /**
  117870. * (Gantt) Show an indicator on the axis for the current date and time. Can
  117871. * be a boolean or a configuration object similar to xAxis.plotLines.
  117872. */
  117873. currentDateIndicator?: (boolean|AxisCurrentDateIndicatorOptions);
  117874. /**
  117875. * (Gantt) For a datetime axis, the scale will automatically adjust to the
  117876. * appropriate unit. This member gives the default string representations
  117877. * used for each unit. For intermediate values, different units may be used,
  117878. * for example the `day` unit can be used on midnight and `hour` unit be
  117879. * used for intermediate values on the same axis. For grid axes (like in
  117880. * Gantt charts), it is possible to declare as a list to provide different
  117881. * formats depending on available space. For an overview of the replacement
  117882. * codes, see dateFormat.
  117883. *
  117884. * Defaults to: (see online documentation for example)
  117885. */
  117886. dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
  117887. /**
  117888. * (Highcharts) Whether to force the axis to end on a tick. Use this option
  117889. * with the `maxPadding` option to control the axis end.
  117890. */
  117891. endOnTick?: boolean;
  117892. /**
  117893. * (Highcharts) Event handlers for the axis.
  117894. */
  117895. events?: ZAxisEventsOptions;
  117896. /**
  117897. * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
  117898. * computed axis extremes.
  117899. */
  117900. floor?: number;
  117901. /**
  117902. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  117903. */
  117904. grid?: ZAxisGridOptions;
  117905. /**
  117906. * (Highcharts) Color of the grid lines extending the ticks across the plot
  117907. * area.
  117908. *
  117909. * In styled mode, the stroke is given in the `.highcharts-grid-line` class.
  117910. */
  117911. gridLineColor?: ColorType;
  117912. /**
  117913. * (Highcharts) The dash or dot style of the grid lines. For possible
  117914. * values, see this demonstration.
  117915. */
  117916. gridLineDashStyle?: DashStyleValue;
  117917. /**
  117918. * (Highcharts) Polar charts only. Whether the grid lines should draw as a
  117919. * polygon with straight lines between categories, or as circles. Can be
  117920. * either `circle` or `polygon`. Since v8.0.0 this option is also applicable
  117921. * for X axis (inverted polar).
  117922. */
  117923. gridLineInterpolation?: OptionsGridLineInterpolationValue;
  117924. /**
  117925. * (Highcharts) The width of the grid lines extending the ticks across the
  117926. * plot area.
  117927. *
  117928. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  117929. * class.
  117930. */
  117931. gridLineWidth?: number;
  117932. /**
  117933. * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
  117934. */
  117935. gridZIndex?: number;
  117936. /**
  117937. * (Highcharts) An id for the axis. This can be used after render time to
  117938. * get a pointer to the axis object through `chart.get()`.
  117939. */
  117940. id?: string;
  117941. /**
  117942. * (Highcharts) The axis labels show the number or category for each tick.
  117943. *
  117944. * Since v8.0.0: Labels are animated in categorized x-axis with updating
  117945. * data if `tickInterval` and `step` is set to 1.
  117946. */
  117947. labels?: ZAxisLabelsOptions;
  117948. /**
  117949. * (Highcharts, Highstock, Gantt) Index of another axis that this axis is
  117950. * linked to. When an axis is linked to a master axis, it will take the same
  117951. * extremes as the master, but as assigned by min or max or by setExtremes.
  117952. * It can be used to show additional info, or to ease reading the chart by
  117953. * duplicating the scales.
  117954. */
  117955. linkedTo?: number;
  117956. /**
  117957. * (Highcharts) If there are multiple axes on the same side of the chart,
  117958. * the pixel margin between the axes. Defaults to 0 on vertical axes, 15 on
  117959. * horizontal axes.
  117960. */
  117961. margin?: number;
  117962. /**
  117963. * (Highcharts) The maximum value of the axis. If `null`, the max value is
  117964. * automatically calculated.
  117965. *
  117966. * If the endOnTick option is true, the `max` value might be rounded up.
  117967. *
  117968. * If a tickAmount is set, the axis may be extended beyond the set max in
  117969. * order to reach the given number of ticks. The same may happen in a chart
  117970. * with multiple axes, determined by chart. alignTicks, where a `tickAmount`
  117971. * is applied internally.
  117972. */
  117973. max?: (number|null);
  117974. /**
  117975. * (Highcharts) Padding of the max value relative to the length of the axis.
  117976. * A padding of 0.05 will make a 100px axis 5px longer. This is useful when
  117977. * you don't want the highest data value to appear on the edge of the plot
  117978. * area. When the axis' `max` option is set or a max extreme is set using
  117979. * `axis.setExtremes()`, the maxPadding will be ignored.
  117980. */
  117981. maxPadding?: number;
  117982. /**
  117983. * (Highstock, Gantt) Maximum range which can be set using the navigator's
  117984. * handles. Opposite of xAxis.minRange.
  117985. */
  117986. maxRange?: number;
  117987. /**
  117988. * (Highcharts) The minimum value of the axis. If `null` the min value is
  117989. * automatically calculated.
  117990. *
  117991. * If the startOnTick option is true (default), the `min` value might be
  117992. * rounded down.
  117993. *
  117994. * The automatically calculated minimum value is also affected by floor,
  117995. * softMin, minPadding, minRange as well as series.threshold and
  117996. * series.softThreshold.
  117997. */
  117998. min?: (number|null);
  117999. /**
  118000. * (Highcharts) Color of the minor, secondary grid lines.
  118001. *
  118002. * In styled mode, the stroke width is given in the
  118003. * `.highcharts-minor-grid-line` class.
  118004. */
  118005. minorGridLineColor?: ColorType;
  118006. /**
  118007. * (Highcharts) The dash or dot style of the minor grid lines. For possible
  118008. * values, see this demonstration.
  118009. */
  118010. minorGridLineDashStyle?: DashStyleValue;
  118011. /**
  118012. * (Highcharts) Width of the minor, secondary grid lines.
  118013. *
  118014. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  118015. * class.
  118016. */
  118017. minorGridLineWidth?: number;
  118018. /**
  118019. * (Highcharts) Color for the minor tick marks.
  118020. */
  118021. minorTickColor?: ColorType;
  118022. /**
  118023. * (Highcharts) Specific tick interval in axis units for the minor ticks. On
  118024. * a linear axis, if `"auto"`, the minor tick interval is calculated as a
  118025. * fifth of the tickInterval. If `null` or `undefined`, minor ticks are not
  118026. * shown.
  118027. *
  118028. * On logarithmic axes, the unit is the power of the value. For example,
  118029. * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
  118030. * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
  118031. * and 10, 10 and 100 etc.
  118032. *
  118033. * If user settings dictate minor ticks to become too dense, they don't make
  118034. * sense, and will be ignored to prevent performance problems.
  118035. */
  118036. minorTickInterval?: (number|string|null);
  118037. /**
  118038. * (Highcharts) The pixel length of the minor tick marks.
  118039. */
  118040. minorTickLength?: number;
  118041. /**
  118042. * (Highcharts) The position of the minor tick marks relative to the axis
  118043. * line. Can be one of `inside` and `outside`.
  118044. */
  118045. minorTickPosition?: OptionsMinorTickPositionValue;
  118046. /**
  118047. * (Highcharts) Enable or disable minor ticks. Unless minorTickInterval is
  118048. * set, the tick interval is calculated as a fifth of the `tickInterval`.
  118049. *
  118050. * On a logarithmic axis, minor ticks are laid out based on a best guess,
  118051. * attempting to enter approximately 5 minor ticks between each major tick.
  118052. *
  118053. * Prior to v6.0.0, ticks were unabled in auto layout by setting
  118054. * `minorTickInterval` to `"auto"`.
  118055. */
  118056. minorTicks?: boolean;
  118057. /**
  118058. * (Highcharts) The pixel width of the minor tick mark.
  118059. */
  118060. minorTickWidth?: number;
  118061. /**
  118062. * (Highcharts, Highstock, Gantt) Padding of the min value relative to the
  118063. * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
  118064. * This is useful when you don't want the lowest data value to appear on the
  118065. * edge of the plot area. When the axis' `min` option is set or a min
  118066. * extreme is set using `axis.setExtremes()`, the minPadding will be
  118067. * ignored.
  118068. */
  118069. minPadding?: number;
  118070. /**
  118071. * (Highcharts) The minimum range to display on this axis. The entire axis
  118072. * will not be allowed to span over a smaller interval than this. For
  118073. * example, for a datetime axis the main unit is milliseconds. If minRange
  118074. * is set to 3600000, you can't zoom in more than to one hour.
  118075. *
  118076. * The default minRange for the x axis is five times the smallest interval
  118077. * between any of the data points.
  118078. *
  118079. * On a logarithmic axis, the unit for the minimum range is the power. So a
  118080. * minRange of 1 means that the axis can be zoomed to 10-100, 100-1000,
  118081. * 1000-10000 etc.
  118082. *
  118083. * **Note**: The `minPadding`, `maxPadding`, `startOnTick` and `endOnTick`
  118084. * settings also affect how the extremes of the axis are computed.
  118085. */
  118086. minRange?: number;
  118087. /**
  118088. * (Highcharts) The minimum tick interval allowed in axis values. For
  118089. * example on zooming in on an axis with daily data, this can be used to
  118090. * prevent the axis from showing hours. Defaults to the closest distance
  118091. * between two points on the axis.
  118092. */
  118093. minTickInterval?: number;
  118094. /**
  118095. * (Highcharts) The distance in pixels from the plot area to the axis line.
  118096. * A positive offset moves the axis with it's line, labels and ticks away
  118097. * from the plot area. This is typically used when two or more axes are
  118098. * displayed on the same side of the plot. With multiple axes the offset is
  118099. * dynamically adjusted to avoid collision, this can be overridden by
  118100. * setting offset explicitly.
  118101. */
  118102. offset?: number;
  118103. /**
  118104. * (Highcharts) Whether to display the axis on the opposite side of the
  118105. * normal. The normal is on the left side for vertical axes and bottom for
  118106. * horizontal, so the opposite sides will be right and top respectively.
  118107. * This is typically used with dual or multiple axes.
  118108. */
  118109. opposite?: boolean;
  118110. /**
  118111. * (Highstock) In an ordinal axis, the points are equally spaced in the
  118112. * chart regardless of the actual time or x distance between them. This
  118113. * means that missing data periods (e.g. nights or weekends for a stock
  118114. * chart) will not take up space in the chart. Having `ordinal: false` will
  118115. * show any gaps created by the `gapSize` setting proportionate to their
  118116. * duration.
  118117. *
  118118. * In stock charts the X axis is ordinal by default, unless the boost module
  118119. * is used and at least one of the series' data length exceeds the
  118120. * boostThreshold.
  118121. */
  118122. ordinal?: boolean;
  118123. /**
  118124. * (Highstock) Additional range on the right side of the xAxis. Works
  118125. * similar to `xAxis.maxPadding`, but value is set in milliseconds. Can be
  118126. * set for both main `xAxis` and the navigator's `xAxis`.
  118127. */
  118128. overscroll?: number;
  118129. /**
  118130. * (Highcharts) Refers to the index in the panes array. Used for circular
  118131. * gauges and polar charts. When the option is not set then first pane will
  118132. * be used.
  118133. */
  118134. pane?: number;
  118135. /**
  118136. * (Highcharts, Highstock, Gantt) An array of colored bands stretching
  118137. * across the plot area marking an interval on the axis.
  118138. *
  118139. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  118140. * class in addition to the `className` option.
  118141. */
  118142. plotBands?: Array<ZAxisPlotBandsOptions>;
  118143. /**
  118144. * (Highcharts, Highstock, Gantt) An array of lines stretching across the
  118145. * plot area, marking a specific value on one of the axes.
  118146. *
  118147. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  118148. * class in addition to the `className` option.
  118149. */
  118150. plotLines?: Array<ZAxisPlotLinesOptions>;
  118151. /**
  118152. * (Highstock) The zoomed range to display when only defining one or none of
  118153. * `min` or `max`. For example, to show the latest month, a range of one
  118154. * month can be set.
  118155. */
  118156. range?: number;
  118157. /**
  118158. * (Highcharts) Whether to reverse the axis so that the highest number is
  118159. * closest to the origin. If the chart is inverted, the x axis is reversed
  118160. * by default.
  118161. */
  118162. reversed?: boolean;
  118163. /**
  118164. * (Highcharts, Highstock) This option determines how stacks should be
  118165. * ordered within a group. For example reversed xAxis also reverses stacks,
  118166. * so first series comes last in a group. To keep order like for
  118167. * non-reversed xAxis enable this option.
  118168. */
  118169. reversedStacks?: boolean;
  118170. /**
  118171. * (Highstock) An optional scrollbar to display on the X axis in response to
  118172. * limiting the minimum and maximum of the axis values.
  118173. *
  118174. * In styled mode, all the presentational options for the scrollbar are
  118175. * replaced by the classes `.highcharts-scrollbar-thumb`,
  118176. * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
  118177. * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
  118178. */
  118179. scrollbar?: ZAxisScrollbarOptions;
  118180. /**
  118181. * (Highcharts) Whether to show the first tick label.
  118182. */
  118183. showFirstLabel?: boolean;
  118184. /**
  118185. * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
  118186. * Defaults to `true` on cartesian charts, and `false` on polar charts.
  118187. */
  118188. showLastLabel?: boolean;
  118189. /**
  118190. * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
  118191. * data maximum is less than this, the axis will stay at this maximum, but
  118192. * if the series data maximum is higher, the axis will flex to show all
  118193. * data.
  118194. */
  118195. softMax?: number;
  118196. /**
  118197. * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
  118198. * data minimum is greater than this, the axis will stay at this minimum,
  118199. * but if the series data minimum is lower, the axis will flex to show all
  118200. * data.
  118201. */
  118202. softMin?: number;
  118203. /**
  118204. * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
  118205. * put the tick between weeks. 0 = Sunday, 1 = Monday.
  118206. */
  118207. startOfWeek?: number;
  118208. /**
  118209. * (Highcharts) Whether to force the axis to start on a tick. Use this
  118210. * option with the `minPadding` option to control the axis start.
  118211. */
  118212. startOnTick?: boolean;
  118213. /**
  118214. * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
  118215. * This opens up for aligning the ticks of multiple charts or panes within a
  118216. * chart. This option overrides the `tickPixelInterval` option.
  118217. *
  118218. * This option only has an effect on linear axes. Datetime, logarithmic or
  118219. * category axes are not affected.
  118220. */
  118221. tickAmount?: number;
  118222. /**
  118223. * (Highcharts) Color for the main tick marks.
  118224. *
  118225. * In styled mode, the stroke is given in the `.highcharts-tick` class.
  118226. */
  118227. tickColor?: ColorType;
  118228. /**
  118229. * (Highcharts) The interval of the tick marks in axis units. When
  118230. * `undefined`, the tick interval is computed to approximately follow the
  118231. * tickPixelInterval on linear and datetime axes. On categorized axes, a
  118232. * `undefined` tickInterval will default to 1, one category. Note that
  118233. * datetime axes are based on milliseconds, so for example an interval of
  118234. * one day is expressed as `24 * 3600 * 1000`.
  118235. *
  118236. * On logarithmic axes, the tickInterval is based on powers, so a
  118237. * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
  118238. * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
  118239. * 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
  118240. * etc.
  118241. *
  118242. * If the tickInterval is too dense for labels to be drawn, Highcharts may
  118243. * remove ticks.
  118244. *
  118245. * If the chart has multiple axes, the alignTicks option may interfere with
  118246. * the `tickInterval` setting.
  118247. */
  118248. tickInterval?: number;
  118249. /**
  118250. * (Highcharts) The pixel length of the main tick marks.
  118251. */
  118252. tickLength?: number;
  118253. /**
  118254. * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
  118255. * placed in the center of the category, if `between` the tick mark is
  118256. * placed between categories. The default is `between` if the `tickInterval`
  118257. * is 1, else `on`.
  118258. */
  118259. tickmarkPlacement?: OptionsTickmarkPlacementValue;
  118260. /**
  118261. * (Highcharts) If tickInterval is `null` this option sets the approximate
  118262. * pixel interval of the tick marks. Not applicable to categorized axis.
  118263. *
  118264. * The tick interval is also influenced by the minTickInterval option, that,
  118265. * by default prevents ticks from being denser than the data points.
  118266. */
  118267. tickPixelInterval?: number;
  118268. /**
  118269. * (Highcharts) The position of the major tick marks relative to the axis
  118270. * line. Can be one of `inside` and `outside`.
  118271. */
  118272. tickPosition?: OptionsTickPositionValue;
  118273. /**
  118274. * (Highcharts) A callback function returning array defining where the ticks
  118275. * are laid out on the axis. This overrides the default behaviour of
  118276. * tickPixelInterval and tickInterval. The automatic tick positions are
  118277. * accessible through `this.tickPositions` and can be modified by the
  118278. * callback.
  118279. */
  118280. tickPositioner?: AxisTickPositionerCallbackFunction;
  118281. /**
  118282. * (Highcharts) An array defining where the ticks are laid out on the axis.
  118283. * This overrides the default behaviour of tickPixelInterval and
  118284. * tickInterval.
  118285. */
  118286. tickPositions?: Array<number>;
  118287. /**
  118288. * (Highcharts) The pixel width of the major tick marks. Defaults to 0 on
  118289. * category axes, otherwise 1.
  118290. *
  118291. * In styled mode, the stroke width is given in the `.highcharts-tick`
  118292. * class, but in order for the element to be generated on category axes, the
  118293. * option must be explicitly set to 1.
  118294. */
  118295. tickWidth?: (number|undefined);
  118296. /**
  118297. * (Highcharts) The axis title, showing next to the axis line.
  118298. */
  118299. title?: ZAxisTitleOptions;
  118300. /**
  118301. * (Highcharts, Gantt) The type of axis. Can be one of `linear`,
  118302. * `logarithmic`, `datetime` or `category`. In a datetime axis, the numbers
  118303. * are given in milliseconds, and tick marks are placed on appropriate
  118304. * values like full hours or days. In a category axis, the point names of
  118305. * the chart's series are used for categories, if not a categories array is
  118306. * defined.
  118307. */
  118308. type?: AxisTypeValue;
  118309. /**
  118310. * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
  118311. * `uniqueNames` is true, points are placed on the X axis according to their
  118312. * names. If the same point name is repeated in the same or another series,
  118313. * the point is placed on the same X position as other points of the same
  118314. * name. When `uniqueNames` is false, the points are laid out in increasing
  118315. * X positions regardless of their names, and the X axis category will take
  118316. * the name of the last point in each position.
  118317. */
  118318. uniqueNames?: boolean;
  118319. /**
  118320. * (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
  118321. * what time intervals the ticks are allowed to fall on. Each array item is
  118322. * an array where the first value is the time unit and the second value
  118323. * another array of allowed multiples.
  118324. *
  118325. * Defaults to: (see online documentation for example)
  118326. */
  118327. units?: Array<[string, (Array<number>|null)]>;
  118328. /**
  118329. * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
  118330. * ticks and labels, should be visible.
  118331. */
  118332. visible?: boolean;
  118333. /**
  118334. * (Highcharts) Whether to zoom axis. If `chart.zoomType` is set, the option
  118335. * allows to disable zooming on an individual axis.
  118336. */
  118337. zoomEnabled?: boolean;
  118338. }
  118339. /**
  118340. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  118341. * band. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  118342. */
  118343. export interface ZAxisPlotBandsEventsOptions {
  118344. /**
  118345. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  118346. */
  118347. click?: EventCallbackFunction<PlotLineOrBand>;
  118348. /**
  118349. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  118350. */
  118351. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  118352. /**
  118353. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  118354. * band.
  118355. */
  118356. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  118357. /**
  118358. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  118359. */
  118360. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  118361. }
  118362. /**
  118363. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  118364. */
  118365. export interface ZAxisPlotBandsLabelOptions {
  118366. /**
  118367. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  118368. * one of "left", "center" or "right".
  118369. */
  118370. align?: AlignValue;
  118371. /**
  118372. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees .
  118373. */
  118374. rotation?: number;
  118375. /**
  118376. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  118377. *
  118378. * In styled mode, the labels are styled by the
  118379. * `.highcharts-plot-band-label` class.
  118380. */
  118381. style?: CSSObject;
  118382. /**
  118383. * (Highcharts, Highstock, Gantt) The string text itself. A subset of HTML
  118384. * is supported.
  118385. */
  118386. text?: string;
  118387. /**
  118388. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  118389. * `align` determines where the texts anchor point is placed within the plot
  118390. * band, `textAlign` determines how the text is aligned against its anchor
  118391. * point. Possible values are "left", "center" and "right". Defaults to the
  118392. * same as the `align` option.
  118393. */
  118394. textAlign?: AlignValue;
  118395. /**
  118396. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  118397. */
  118398. useHTML?: boolean;
  118399. /**
  118400. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  118401. * to the plot band. Can be one of "top", "middle" or "bottom".
  118402. */
  118403. verticalAlign?: VerticalAlignValue;
  118404. /**
  118405. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  118406. * alignment. Default varies by orientation.
  118407. */
  118408. x?: number;
  118409. /**
  118410. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  118411. * relative to the alignment. Default varies by orientation.
  118412. */
  118413. y?: number;
  118414. }
  118415. /**
  118416. * (Highcharts, Highstock, Gantt) An array of colored bands stretching across
  118417. * the plot area marking an interval on the axis.
  118418. *
  118419. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  118420. * class in addition to the `className` option.
  118421. */
  118422. export interface ZAxisPlotBandsOptions {
  118423. /**
  118424. * (Highstock) Flag to decide if plotBand should be rendered across all
  118425. * panes.
  118426. */
  118427. acrossPanes?: boolean;
  118428. /**
  118429. * (Highcharts, Highstock, Gantt) Border color for the plot band. Also
  118430. * requires `borderWidth` to be set.
  118431. */
  118432. borderColor?: ColorString;
  118433. /**
  118434. * (Highcharts, Highstock, Gantt) Border width for the plot band. Also
  118435. * requires `borderColor` to be set.
  118436. */
  118437. borderWidth?: number;
  118438. /**
  118439. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  118440. * default `highcharts-plot-band`, to apply to each individual band.
  118441. */
  118442. className?: string;
  118443. /**
  118444. * (Highcharts, Highstock, Gantt) The color of the plot band.
  118445. */
  118446. color?: (ColorString|GradientColorObject|PatternObject);
  118447. /**
  118448. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  118449. * plot band. Supported properties are `click`, `mouseover`, `mouseout`,
  118450. * `mousemove`.
  118451. */
  118452. events?: ZAxisPlotBandsEventsOptions;
  118453. /**
  118454. * (Highcharts, Highstock, Gantt) The start position of the plot band in
  118455. * axis units.
  118456. */
  118457. from?: number;
  118458. /**
  118459. * (Highcharts, Highstock, Gantt) An id used for identifying the plot band
  118460. * in Axis.removePlotBand.
  118461. */
  118462. id?: string;
  118463. /**
  118464. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  118465. */
  118466. label?: ZAxisPlotBandsLabelOptions;
  118467. /**
  118468. * (Highcharts, Highstock, Gantt) The end position of the plot band in axis
  118469. * units.
  118470. */
  118471. to?: number;
  118472. /**
  118473. * (Highcharts, Highstock, Gantt) The z index of the plot band within the
  118474. * chart, relative to other elements. Using the same z index as another
  118475. * element may give unpredictable results, as the last rendered element will
  118476. * be on top. Values from 0 to 20 make sense.
  118477. */
  118478. zIndex?: number;
  118479. }
  118480. /**
  118481. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  118482. * line. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  118483. */
  118484. export interface ZAxisPlotLinesEventsOptions {
  118485. /**
  118486. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  118487. */
  118488. click?: EventCallbackFunction<PlotLineOrBand>;
  118489. /**
  118490. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  118491. */
  118492. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  118493. /**
  118494. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  118495. * band.
  118496. */
  118497. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  118498. /**
  118499. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  118500. */
  118501. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  118502. }
  118503. /**
  118504. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  118505. */
  118506. export interface ZAxisPlotLinesLabelOptions {
  118507. /**
  118508. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  118509. * one of "left", "center" or "right".
  118510. */
  118511. align?: AlignValue;
  118512. /**
  118513. * (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
  118514. * label. Useful properties like the value of plot line or the range of plot
  118515. * band (`from` & `to` properties) can be found in `this.options` object.
  118516. */
  118517. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  118518. /**
  118519. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees.
  118520. * Defaults to 0 for horizontal plot lines and 90 for vertical lines.
  118521. */
  118522. rotation?: number;
  118523. /**
  118524. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  118525. *
  118526. * In styled mode, the labels are styled by the
  118527. * `.highcharts-plot-line-label` class.
  118528. */
  118529. style?: CSSObject;
  118530. /**
  118531. * (Highcharts, Highstock, Gantt) The text itself. A subset of HTML is
  118532. * supported.
  118533. */
  118534. text?: string;
  118535. /**
  118536. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  118537. * `align` determines where the texts anchor point is placed within the plot
  118538. * band, `textAlign` determines how the text is aligned against its anchor
  118539. * point. Possible values are "left", "center" and "right". Defaults to the
  118540. * same as the `align` option.
  118541. */
  118542. textAlign?: AlignValue;
  118543. /**
  118544. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  118545. */
  118546. useHTML?: boolean;
  118547. /**
  118548. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  118549. * to the plot line. Can be one of "top", "middle" or "bottom".
  118550. */
  118551. verticalAlign?: VerticalAlignValue;
  118552. /**
  118553. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  118554. * alignment. Default varies by orientation.
  118555. */
  118556. x?: number;
  118557. /**
  118558. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  118559. * relative to the alignment. Default varies by orientation.
  118560. */
  118561. y?: number;
  118562. }
  118563. /**
  118564. * (Highcharts, Highstock, Gantt) An array of lines stretching across the plot
  118565. * area, marking a specific value on one of the axes.
  118566. *
  118567. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  118568. * class in addition to the `className` option.
  118569. */
  118570. export interface ZAxisPlotLinesOptions {
  118571. /**
  118572. * (Highstock) Flag to decide if plotLine should be rendered across all
  118573. * panes.
  118574. */
  118575. acrossPanes?: boolean;
  118576. /**
  118577. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  118578. * default `highcharts-plot-line`, to apply to each individual line.
  118579. */
  118580. className?: string;
  118581. /**
  118582. * (Highcharts, Highstock, Gantt) The color of the line.
  118583. */
  118584. color?: ColorString;
  118585. /**
  118586. * (Highcharts, Highstock, Gantt) The dashing or dot style for the plot
  118587. * line. For possible values see this overview.
  118588. */
  118589. dashStyle?: DashStyleValue;
  118590. /**
  118591. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  118592. * plot line. Supported properties are `click`, `mouseover`, `mouseout`,
  118593. * `mousemove`.
  118594. */
  118595. events?: ZAxisPlotLinesEventsOptions;
  118596. /**
  118597. * (Highcharts, Highstock, Gantt) An id used for identifying the plot line
  118598. * in Axis.removePlotLine.
  118599. */
  118600. id?: string;
  118601. /**
  118602. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  118603. */
  118604. label?: ZAxisPlotLinesLabelOptions;
  118605. /**
  118606. * (Highcharts, Highstock, Gantt) The position of the line in axis units.
  118607. */
  118608. value?: number;
  118609. /**
  118610. * (Highcharts, Highstock, Gantt) The width or thickness of the plot line.
  118611. */
  118612. width?: number;
  118613. /**
  118614. * (Highcharts, Highstock, Gantt) The z index of the plot line within the
  118615. * chart.
  118616. */
  118617. zIndex?: number;
  118618. }
  118619. /**
  118620. * (Highstock) An optional scrollbar to display on the X axis in response to
  118621. * limiting the minimum and maximum of the axis values.
  118622. *
  118623. * In styled mode, all the presentational options for the scrollbar are replaced
  118624. * by the classes `.highcharts-scrollbar-thumb`, `.highcharts-scrollbar-arrow`,
  118625. * `.highcharts-scrollbar-button`, `.highcharts-scrollbar-rifles` and
  118626. * `.highcharts-scrollbar-track`.
  118627. */
  118628. export interface ZAxisScrollbarOptions {
  118629. /**
  118630. * (Highstock) The background color of the scrollbar itself.
  118631. */
  118632. barBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  118633. /**
  118634. * (Highstock) The color of the scrollbar's border.
  118635. */
  118636. barBorderColor?: (ColorString|GradientColorObject|PatternObject);
  118637. /**
  118638. * (Highstock) The border rounding radius of the bar.
  118639. */
  118640. barBorderRadius?: number;
  118641. /**
  118642. * (Highstock) The width of the bar's border.
  118643. */
  118644. barBorderWidth?: number;
  118645. /**
  118646. * (Highstock) The color of the small arrow inside the scrollbar buttons.
  118647. */
  118648. buttonArrowColor?: (ColorString|GradientColorObject|PatternObject);
  118649. /**
  118650. * (Highstock) The color of scrollbar buttons.
  118651. */
  118652. buttonBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  118653. /**
  118654. * (Highstock) The color of the border of the scrollbar buttons.
  118655. */
  118656. buttonBorderColor?: (ColorString|GradientColorObject|PatternObject);
  118657. /**
  118658. * (Highstock) The corner radius of the scrollbar buttons.
  118659. */
  118660. buttonBorderRadius?: number;
  118661. /**
  118662. * (Highstock) The border width of the scrollbar buttons.
  118663. */
  118664. buttonBorderWidth?: number;
  118665. /**
  118666. * (Highstock) Enable or disable the scrollbar.
  118667. */
  118668. enabled?: boolean;
  118669. /**
  118670. * (Highstock) The height of the scrollbar. The height also applies to the
  118671. * width of the scroll arrows so that they are always squares. Defaults to
  118672. * 20 for touch devices and 14 for mouse devices.
  118673. */
  118674. height?: number;
  118675. /**
  118676. * (Highstock) Whether to redraw the main chart as the scrollbar or the
  118677. * navigator zoomed window is moved. Defaults to `true` for modern browsers
  118678. * and `false` for legacy IE browsers as well as mobile devices.
  118679. */
  118680. liveRedraw?: boolean;
  118681. /**
  118682. * (Highstock) The margin between the scrollbar and its axis when the
  118683. * scrollbar is applied directly to an axis.
  118684. */
  118685. margin?: number;
  118686. /**
  118687. * (Highstock) The minimum width of the scrollbar.
  118688. */
  118689. minWidth?: number;
  118690. /**
  118691. * (Highstock) The color of the small rifles in the middle of the scrollbar.
  118692. */
  118693. rifleColor?: (ColorString|GradientColorObject|PatternObject);
  118694. /**
  118695. * (Highstock) Whether to show or hide the scrollbar when the scrolled
  118696. * content is zoomed out to it full extent.
  118697. */
  118698. showFull?: boolean;
  118699. step?: number;
  118700. /**
  118701. * (Highstock) The color of the track background.
  118702. */
  118703. trackBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  118704. /**
  118705. * (Highstock) The color of the border of the scrollbar track.
  118706. */
  118707. trackBorderColor?: (ColorString|GradientColorObject|PatternObject);
  118708. /**
  118709. * (Highstock) The corner radius of the border of the scrollbar track.
  118710. */
  118711. trackBorderRadius?: number;
  118712. /**
  118713. * (Highstock) The width of the border of the scrollbar track.
  118714. */
  118715. trackBorderWidth?: number;
  118716. /**
  118717. * (Highstock) The z index of the scrollbar group.
  118718. */
  118719. zIndex?: number;
  118720. }
  118721. /**
  118722. * (Highcharts) The axis title, showing next to the axis line.
  118723. */
  118724. export interface ZAxisTitleOptions {
  118725. /**
  118726. * (Highcharts) Alignment of the title relative to the axis values. Possible
  118727. * values are "low", "middle" or "high".
  118728. */
  118729. align?: AxisTitleAlignValue;
  118730. /**
  118731. * (Highcharts) The pixel distance between the axis labels or line and the
  118732. * title. Defaults to 0 for horizontal axes, 10 for vertical
  118733. */
  118734. margin?: number;
  118735. /**
  118736. * (Highcharts) The distance of the axis title from the axis line. By
  118737. * default, this distance is computed from the offset width of the labels,
  118738. * the labels' distance from the axis and the title's margin. However when
  118739. * the offset option is set, it overrides all this.
  118740. */
  118741. offset?: number;
  118742. /**
  118743. * (Highcharts) Defines how the title is repositioned according to the 3D
  118744. * chart orientation.
  118745. *
  118746. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  118747. * marks, despite the chart orientation. This is the backwards compatible
  118748. * behavior, and causes skewing of X and Z axes.
  118749. *
  118750. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  118751. * but hard to read if the text isn't forward-facing.
  118752. *
  118753. * - `'flap'`: Rotated text along the axis to compensate for the chart
  118754. * orientation. This tries to maintain text as legible as possible on all
  118755. * orientations.
  118756. *
  118757. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  118758. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  118759. * skewing the labels (X and Y scaling are still present).
  118760. *
  118761. * - `undefined`: Will use the config from `labels.position3d`
  118762. */
  118763. position3d?: ("chart"|"flap"|"offset"|"ortho"|null);
  118764. /**
  118765. * (Highcharts, Highstock, Gantt) Whether to reserve space for the title
  118766. * when laying out the axis.
  118767. */
  118768. reserveSpace?: boolean;
  118769. /**
  118770. * (Highcharts) The rotation of the text in degrees. 0 is horizontal, 270 is
  118771. * vertical reading from bottom to top.
  118772. */
  118773. rotation?: number;
  118774. /**
  118775. * (Highcharts) If enabled, the axis title will skewed to follow the
  118776. * perspective.
  118777. *
  118778. * This will fix overlapping labels and titles, but texts become less
  118779. * legible due to the distortion.
  118780. *
  118781. * The final appearance depends heavily on `title.position3d`.
  118782. *
  118783. * A `null` value will use the config from `labels.skew3d`.
  118784. */
  118785. skew3d?: (boolean|null);
  118786. /**
  118787. * (Highcharts) CSS styles for the title. If the title text is longer than
  118788. * the axis length, it will wrap to multiple lines by default. This can be
  118789. * customized by setting `textOverflow: 'ellipsis'`, by setting a specific
  118790. * `width` or by setting `whiteSpace: 'nowrap'`.
  118791. *
  118792. * In styled mode, the stroke width is given in the `.highcharts-axis-title`
  118793. * class.
  118794. */
  118795. style?: CSSObject;
  118796. /**
  118797. * (Highcharts) The actual text of the axis title. It can contain basic HTML
  118798. * tags like `b`, `i` and `span` with style.
  118799. */
  118800. text?: (string|null);
  118801. /**
  118802. * (Highcharts) Alignment of the text, can be `"left"`, `"right"` or
  118803. * `"center"`. Default alignment depends on the title.align:
  118804. *
  118805. * Horizontal axes:
  118806. *
  118807. * - for `align` = `"low"`, `textAlign` is set to `left`
  118808. *
  118809. * - for `align` = `"middle"`, `textAlign` is set to `center`
  118810. *
  118811. * - for `align` = `"high"`, `textAlign` is set to `right`
  118812. *
  118813. * Vertical axes:
  118814. *
  118815. * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
  118816. * `right`
  118817. *
  118818. * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
  118819. * `left`
  118820. *
  118821. * - for `align` = `"middle"`, `textAlign` is set to `center`
  118822. *
  118823. * - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
  118824. * `left`
  118825. *
  118826. * - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
  118827. * `right`
  118828. */
  118829. textAlign?: AlignValue;
  118830. /**
  118831. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the axis
  118832. * title.
  118833. */
  118834. useHTML?: boolean;
  118835. /**
  118836. * (Highcharts, Highstock, Gantt) Horizontal pixel offset of the title
  118837. * position.
  118838. */
  118839. x?: number;
  118840. /**
  118841. * (Highcharts, Highstock, Gantt) Vertical pixel offset of the title
  118842. * position.
  118843. */
  118844. y?: number;
  118845. }
  118846. /**
  118847. * An annotation class which serves as a container for items like labels or
  118848. * shapes. Created items are positioned on the chart either by linking them to
  118849. * existing points or created mock points
  118850. */
  118851. export class Annotation {
  118852. /**
  118853. * An annotation class which serves as a container for items like labels or
  118854. * shapes. Created items are positioned on the chart either by linking them
  118855. * to existing points or created mock points
  118856. *
  118857. * @param chart
  118858. * a chart instance
  118859. *
  118860. * @param userOptions
  118861. * the options object
  118862. */
  118863. constructor(chart: Chart, userOptions: AnnotationsOptions);
  118864. /**
  118865. * The group svg element.
  118866. */
  118867. group: SVGElement;
  118868. /**
  118869. * The group svg element of the annotation's labels.
  118870. */
  118871. labelsGroup: SVGElement;
  118872. /**
  118873. * The options for the annotations.
  118874. */
  118875. options: AnnotationsOptions;
  118876. /**
  118877. * The group svg element of the annotation's shapes.
  118878. */
  118879. shapesGroup: SVGElement;
  118880. /**
  118881. * The user options for the annotations.
  118882. */
  118883. userOptions: AnnotationsOptions;
  118884. /**
  118885. * Updates an annotation.
  118886. *
  118887. * @param userOptions
  118888. * New user options for the annotation.
  118889. */
  118890. update(userOptions: Partial<AnnotationsOptions>): void;
  118891. }
  118892. /**
  118893. * A control point class which is a connection between controllable transform
  118894. * methods and a user actions.
  118895. */
  118896. export class AnnotationControlPoint {
  118897. /**
  118898. * A control point class which is a connection between controllable
  118899. * transform methods and a user actions.
  118900. *
  118901. * @param chart
  118902. * A chart instance.
  118903. *
  118904. * @param target
  118905. * A controllable instance which is a target for a control point.
  118906. *
  118907. * @param options
  118908. * An options object.
  118909. *
  118910. * @param index
  118911. * Point index.
  118912. */
  118913. constructor(chart: Chart, target: AnnotationControllable, options: AnnotationControlPointOptionsObject, index?: number);
  118914. /**
  118915. * Set the visibility of the control point.
  118916. *
  118917. * @param visible
  118918. * Visibility of the control point.
  118919. */
  118920. setVisibility(visible: boolean): void;
  118921. /**
  118922. * Update the control point.
  118923. *
  118924. * @param userOptions
  118925. * New options for the control point.
  118926. */
  118927. update(userOptions: Partial<AnnotationControlPointOptionsObject>): void;
  118928. }
  118929. /**
  118930. * Create a new axis object. Called internally when instanciating a new chart or
  118931. * adding axes by Highcharts.Chart#addAxis.
  118932. *
  118933. * A chart can have from 0 axes (pie chart) to multiples. In a normal, single
  118934. * series cartesian chart, there is one X axis and one Y axis.
  118935. *
  118936. * The X axis or axes are referenced by Highcharts.Chart.xAxis, which is an
  118937. * array of Axis objects. If there is only one axis, it can be referenced
  118938. * through `chart.xAxis[0]`, and multiple axes have increasing indices. The same
  118939. * pattern goes for Y axes.
  118940. *
  118941. * If you need to get the axes from a series object, use the `series.xAxis` and
  118942. * `series.yAxis` properties. These are not arrays, as one series can only be
  118943. * associated to one X and one Y axis.
  118944. *
  118945. * A third way to reference the axis programmatically is by `id`. Add an `id` in
  118946. * the axis configuration options, and get the axis by Highcharts.Chart#get.
  118947. *
  118948. * Configuration options for the axes are given in options.xAxis and
  118949. * options.yAxis.
  118950. */
  118951. export class Axis {
  118952. /**
  118953. * Create a new axis object. Called internally when instanciating a new
  118954. * chart or adding axes by Highcharts.Chart#addAxis.
  118955. *
  118956. * A chart can have from 0 axes (pie chart) to multiples. In a normal,
  118957. * single series cartesian chart, there is one X axis and one Y axis.
  118958. *
  118959. * The X axis or axes are referenced by Highcharts.Chart.xAxis, which is an
  118960. * array of Axis objects. If there is only one axis, it can be referenced
  118961. * through `chart.xAxis[0]`, and multiple axes have increasing indices. The
  118962. * same pattern goes for Y axes.
  118963. *
  118964. * If you need to get the axes from a series object, use the `series.xAxis`
  118965. * and `series.yAxis` properties. These are not arrays, as one series can
  118966. * only be associated to one X and one Y axis.
  118967. *
  118968. * A third way to reference the axis programmatically is by `id`. Add an
  118969. * `id` in the axis configuration options, and get the axis by
  118970. * Highcharts.Chart#get.
  118971. *
  118972. * Configuration options for the axes are given in options.xAxis and
  118973. * options.yAxis.
  118974. *
  118975. * @param chart
  118976. * The Chart instance to apply the axis on.
  118977. *
  118978. * @param userOptions
  118979. * Axis options.
  118980. */
  118981. constructor(chart: Chart, userOptions: AxisOptions);
  118982. /**
  118983. * If categories are present for the axis, names are used instead of numbers
  118984. * for that axis.
  118985. *
  118986. * Since Highcharts 3.0, categories can also be extracted by giving each
  118987. * point a name and setting axis type to `category`. However, if you have
  118988. * multiple series, best practice remains defining the `categories` array.
  118989. */
  118990. readonly categories: Array<string>;
  118991. /**
  118992. * The Chart that the axis belongs to.
  118993. */
  118994. chart: Chart;
  118995. /**
  118996. * The collection where the axis belongs, for example `xAxis`, `yAxis` or
  118997. * `colorAxis`. Corresponds to properties on Chart, for example Chart.xAxis.
  118998. */
  118999. coll: string;
  119000. /**
  119001. * The processed crosshair options.
  119002. */
  119003. crosshair: (boolean|AxisCrosshairOptions);
  119004. /**
  119005. * Whether the axis is horizontal.
  119006. */
  119007. horiz?: boolean;
  119008. /**
  119009. * Whether the axis is the x-axis.
  119010. */
  119011. isXAxis?: boolean;
  119012. /**
  119013. * The maximum value of the axis. In a logarithmic axis, this is the
  119014. * logarithm of the real value, and the real value can be obtained from
  119015. * Axis#getExtremes.
  119016. */
  119017. max: (number|null);
  119018. /**
  119019. * The minimum value of the axis. In a logarithmic axis, this is the
  119020. * logarithm of the real value, and the real value can be obtained from
  119021. * Axis#getExtremes.
  119022. */
  119023. min: (number|null);
  119024. /**
  119025. * List of minor ticks mapped by position on the axis.
  119026. */
  119027. minorTicks: Dictionary<Tick>;
  119028. /**
  119029. * Current options for the axis after merge of defaults and user's options.
  119030. */
  119031. options: AxisOptions;
  119032. /**
  119033. * Whether the axis is reversed. Based on the `axis.reversed`, option, but
  119034. * inverted charts have reversed xAxis by default.
  119035. */
  119036. reversed: boolean;
  119037. /**
  119038. * All series associated to the axis.
  119039. */
  119040. series: Array<Series>;
  119041. /**
  119042. * The side on which the axis is rendered. 0 is top, 1 is right, 2 is bottom
  119043. * and 3 is left.
  119044. */
  119045. side: number;
  119046. /**
  119047. * Contains the current positions that are laid out on the axis. The
  119048. * positions are numbers in terms of axis values. In a category axis they
  119049. * are integers, in a datetime axis they are also integers, but designating
  119050. * milliseconds.
  119051. *
  119052. * This property is read only - for modifying the tick positions, use the
  119053. * `tickPositioner` callback or [axis.tickPositions(
  119054. * https://api.highcharts.com/highcharts/xAxis.tickPositions) option
  119055. * instead.
  119056. */
  119057. tickPositions?: AxisTickPositionsArray;
  119058. /**
  119059. * List of major ticks mapped by postition on axis.
  119060. */
  119061. ticks: Dictionary<Tick>;
  119062. /**
  119063. * User's options for this axis without defaults.
  119064. */
  119065. userOptions: AxisOptions;
  119066. /**
  119067. * Add a plot band after render time.
  119068. *
  119069. * @param options
  119070. * A configuration object for the plot band, as defined in
  119071. * xAxis.plotBands.
  119072. *
  119073. * @return The added plot band.
  119074. */
  119075. addPlotBand(options: AxisPlotBandsOptions): (PlotLineOrBand|undefined);
  119076. /**
  119077. * Add a plot line after render time.
  119078. *
  119079. * @param options
  119080. * A configuration object for the plot line, as defined in
  119081. * xAxis.plotLines.
  119082. *
  119083. * @return The added plot line.
  119084. */
  119085. addPlotLine(options: AxisPlotLinesOptions): (PlotLineOrBand|undefined);
  119086. /**
  119087. * Adds the title defined in axis.options.title.
  119088. *
  119089. * @param display
  119090. * Whether or not to display the title.
  119091. */
  119092. addTitle(display?: boolean): void;
  119093. /**
  119094. * The default label formatter. The context is a special config object for
  119095. * the label. In apps, use the labels.formatter instead, except when a
  119096. * modification is needed.
  119097. *
  119098. * @param this
  119099. * Formatter context of axis label.
  119100. *
  119101. * @return The formatted label content.
  119102. */
  119103. defaultLabelFormatter(this: (AxisLabelsFormatterContextObject<number>|AxisLabelsFormatterContextObject<string>)): string;
  119104. /**
  119105. * Internal function to draw a crosshair.
  119106. *
  119107. * @param e
  119108. * The event arguments from the modified pointer event, extended with
  119109. * `chartX` and `chartY`
  119110. *
  119111. * @param point
  119112. * The Point object if the crosshair snaps to points.
  119113. *
  119114. * @fires Highcharts.Axis#afterDrawCrosshair
  119115. * @fires Highcharts.Axis#drawCrosshair
  119116. */
  119117. drawCrosshair(e?: PointerEventObject, point?: Point): void;
  119118. /**
  119119. * Get the current extremes for the axis.
  119120. *
  119121. * @return An object containing extremes information.
  119122. */
  119123. getExtremes(): ExtremesObject;
  119124. /**
  119125. * Internal function to et the tick positions of a linear axis to round
  119126. * values like whole tens or every five.
  119127. *
  119128. * @param tickInterval
  119129. * The normalized tick interval.
  119130. *
  119131. * @param min
  119132. * Axis minimum.
  119133. *
  119134. * @param max
  119135. * Axis maximum.
  119136. *
  119137. * @return An array of axis values where ticks should be placed.
  119138. */
  119139. getLinearTickPositions(tickInterval: number, min: number, max: number): Array<number>;
  119140. /**
  119141. * Internal function to get the path for the axis line. Extended for polar
  119142. * charts.
  119143. *
  119144. * @param lineWidth
  119145. * The line width in pixels.
  119146. *
  119147. * @return The SVG path definition in array form.
  119148. */
  119149. getLinePath(lineWidth: number): SVGPathArray;
  119150. /**
  119151. * Resolve the new minorTicks/minorTickInterval options into the legacy
  119152. * loosely typed minorTickInterval option.
  119153. */
  119154. getMinorTickInterval(): ("auto"|number|null);
  119155. /**
  119156. * Internal function to return the minor tick positions. For logarithmic
  119157. * axes, the same logic as for major ticks is reused.
  119158. *
  119159. * @return An array of axis values where ticks should be placed.
  119160. */
  119161. getMinorTickPositions(): Array<number>;
  119162. /**
  119163. * Internal function to create the SVG path definition for a plot band.
  119164. *
  119165. * @param from
  119166. * The axis value to start from.
  119167. *
  119168. * @param to
  119169. * The axis value to end on.
  119170. *
  119171. * @return The SVG path definition in array form.
  119172. */
  119173. getPlotBandPath(from: number, to: number): SVGPathArray;
  119174. /**
  119175. * Create the path for a plot line that goes from the given value on this
  119176. * axis, across the plot to the opposite side. Also used internally for grid
  119177. * lines and crosshairs.
  119178. *
  119179. * @param options
  119180. * Options for the path.
  119181. *
  119182. * @return The SVG path definition for the plot line.
  119183. */
  119184. getPlotLinePath(options: AxisPlotLinePathOptionsObject): (SVGPathArray|null);
  119185. /**
  119186. * Get the zero plane either based on zero or on the min or max value. Used
  119187. * in bar and area plots.
  119188. *
  119189. * @param threshold
  119190. * The threshold in axis values.
  119191. *
  119192. * @return The translated threshold position in terms of pixels, and
  119193. * corrected to stay within the axis bounds.
  119194. */
  119195. getThreshold(threshold: number): (number|undefined);
  119196. /**
  119197. * Return true if the axis has associated data.
  119198. *
  119199. * @return True if the axis has associated visible series and those series
  119200. * have either valid data points or explicit `min` and `max`
  119201. * settings.
  119202. */
  119203. hasData(): boolean;
  119204. /**
  119205. * Hide the crosshair if visible.
  119206. */
  119207. hideCrosshair(): void;
  119208. /**
  119209. * Overrideable function to initialize the axis.
  119210. *
  119211. * @param chart
  119212. * The Chart instance to apply the axis on.
  119213. *
  119214. * @param userOptions
  119215. * Axis options.
  119216. *
  119217. * @fires Highcharts.Axis#afterInit
  119218. * @fires Highcharts.Axis#init
  119219. */
  119220. init(chart: Chart, userOptions: AxisOptions): void;
  119221. /**
  119222. * Remove the axis from the chart.
  119223. *
  119224. * @param redraw
  119225. * Whether to redraw the chart following the remove.
  119226. */
  119227. remove(redraw?: boolean): void;
  119228. /**
  119229. * Remove a plot band by its id.
  119230. *
  119231. * @param id
  119232. * The plot band's `id` as given in the original configuration object
  119233. * or in the `addPlotBand` option.
  119234. */
  119235. removePlotBand(id: string): void;
  119236. /**
  119237. * Remove a plot line by its id.
  119238. *
  119239. * @param id
  119240. * The plot line's `id` as given in the original configuration object
  119241. * or in the `addPlotLine` option.
  119242. */
  119243. removePlotLine(id: string): void;
  119244. /**
  119245. * Render the axis line. Called internally when rendering and redrawing the
  119246. * axis.
  119247. */
  119248. renderLine(): void;
  119249. /**
  119250. * Render a minor tick into the given position. If a minor tick already
  119251. * exists in this position, move it.
  119252. *
  119253. * @param pos
  119254. * The position in axis values.
  119255. */
  119256. renderMinorTick(pos: number): void;
  119257. /**
  119258. * Render a major tick into the given position. If a tick already exists in
  119259. * this position, move it.
  119260. *
  119261. * @param pos
  119262. * The position in axis values.
  119263. *
  119264. * @param i
  119265. * The tick index.
  119266. */
  119267. renderTick(pos: number, i: number): void;
  119268. /**
  119269. * Set new axis categories and optionally redraw.
  119270. *
  119271. * @param categories
  119272. * The new categories.
  119273. *
  119274. * @param redraw
  119275. * Whether to redraw the chart.
  119276. */
  119277. setCategories(categories: Array<string>, redraw?: boolean): void;
  119278. /**
  119279. * Set the minimum and maximum of the axes after render time. If the
  119280. * `startOnTick` and `endOnTick` options are true, the minimum and maximum
  119281. * values are rounded off to the nearest tick. To prevent this, these
  119282. * options can be set to false before calling setExtremes. Also, setExtremes
  119283. * will not allow a range lower than the `minRange` option, which by default
  119284. * is the range of five points.
  119285. *
  119286. * @param newMin
  119287. * The new minimum value.
  119288. *
  119289. * @param newMax
  119290. * The new maximum value.
  119291. *
  119292. * @param redraw
  119293. * Whether to redraw the chart or wait for an explicit call to
  119294. * Highcharts.Chart#redraw
  119295. *
  119296. * @param animation
  119297. * Enable or modify animations.
  119298. *
  119299. * @param eventArguments
  119300. * Arguments to be accessed in event handler.
  119301. *
  119302. * @fires Highcharts.Axis#setExtremes
  119303. */
  119304. setExtremes(newMin?: number, newMax?: number, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>), eventArguments?: any): void;
  119305. /**
  119306. * Update the axis title by options after render time.
  119307. *
  119308. * @param titleOptions
  119309. * The additional title options.
  119310. *
  119311. * @param redraw
  119312. * Whether to redraw the chart after setting the title.
  119313. */
  119314. setTitle(titleOptions: AxisTitleOptions, redraw?: boolean): void;
  119315. /**
  119316. * Translate a value in terms of axis units into pixels within the chart.
  119317. *
  119318. * @param value
  119319. * A value in terms of axis units.
  119320. *
  119321. * @param paneCoordinates
  119322. * Whether to return the pixel coordinate relative to the chart or
  119323. * just the axis/pane itself.
  119324. *
  119325. * @return Pixel position of the value on the chart or axis.
  119326. */
  119327. toPixels(value: number, paneCoordinates: boolean): number;
  119328. /**
  119329. * Translate a pixel position along the axis to a value in terms of axis
  119330. * units.
  119331. *
  119332. * @param pixel
  119333. * The pixel value coordinate.
  119334. *
  119335. * @param paneCoordinates
  119336. * Whether the input pixel is relative to the chart or just the
  119337. * axis/pane itself.
  119338. *
  119339. * @return The axis value.
  119340. */
  119341. toValue(pixel: number, paneCoordinates?: boolean): number;
  119342. /**
  119343. * Update an axis object with a new set of options. The options are merged
  119344. * with the existing options, so only new or altered options need to be
  119345. * specified.
  119346. *
  119347. * @param options
  119348. * The new options that will be merged in with existing options on
  119349. * the axis.
  119350. *
  119351. * @param redraw
  119352. * Whether to redraw the chart after the axis is altered. If doing
  119353. * more operations on the chart, it is a good idea to set redraw to
  119354. * false and call Chart#redraw after.
  119355. */
  119356. update(options: AxisOptions, redraw?: boolean): void;
  119357. }
  119358. /**
  119359. * The Chart class. The recommended constructor is Highcharts#chart.
  119360. */
  119361. export class Chart {
  119362. /**
  119363. * The Chart class. The recommended constructor is Highcharts#chart.
  119364. *
  119365. * @param options
  119366. * The chart options structure.
  119367. *
  119368. * @param callback
  119369. * Function to run when the chart has loaded and and all external
  119370. * images are loaded. Defining a chart.events.load handler is
  119371. * equivalent.
  119372. */
  119373. constructor(options: Options, callback?: ChartCallbackFunction);
  119374. /**
  119375. * The Chart class. The recommended constructor is Highcharts#chart.
  119376. *
  119377. * @param renderTo
  119378. * The DOM element to render to, or its id.
  119379. *
  119380. * @param options
  119381. * The chart options structure.
  119382. *
  119383. * @param callback
  119384. * Function to run when the chart has loaded and and all external
  119385. * images are loaded. Defining a chart.events.load handler is
  119386. * equivalent.
  119387. */
  119388. constructor(renderTo: (string|HTMLDOMElement), options: Options, callback?: ChartCallbackFunction);
  119389. /**
  119390. * All the axes in the chart.
  119391. */
  119392. axes: Array<Axis>;
  119393. /**
  119394. * The current pixel height of the chart.
  119395. */
  119396. chartHeight: number;
  119397. /**
  119398. * The current pixel width of the chart.
  119399. */
  119400. chartWidth: number;
  119401. /**
  119402. * These collections (arrays) implement update() methods with support for
  119403. * one-to-one option.
  119404. */
  119405. collectionsWithUpdate: any;
  119406. /**
  119407. * The containing HTML element of the chart. The container is dynamically
  119408. * inserted into the element given as the `renderTo` parameter in the
  119409. * Highcharts#chart constructor.
  119410. */
  119411. container: HTMLDOMElement;
  119412. /**
  119413. * The chart's credits label. The label has an `update` method that allows
  119414. * setting new options as per the credits options set.
  119415. */
  119416. credits: SVGElement;
  119417. /**
  119418. * Contains the original hovered point.
  119419. */
  119420. hoverPoint: (Point|null);
  119421. /**
  119422. * Contains all hovered points.
  119423. */
  119424. hoverPoints: (Array<Point>|null);
  119425. /**
  119426. * Contains the original hovered series.
  119427. */
  119428. hoverSeries: (Series|null);
  119429. /**
  119430. * Index position of the chart in the Highcharts#charts property.
  119431. */
  119432. readonly index: number;
  119433. /**
  119434. * The flag is set to `true` if a series of the chart is inverted.
  119435. */
  119436. inverted?: boolean;
  119437. /**
  119438. * The overview of the chart's series.
  119439. */
  119440. legend: Legend;
  119441. /**
  119442. * Callback function to override the default function that formats all the
  119443. * numbers in the chart. Returns a string with the formatted number.
  119444. */
  119445. numberFormatter: NumberFormatterCallbackFunction;
  119446. /**
  119447. * The options structure for the chart after merging #defaultOptions and
  119448. * #userOptions. It contains members for the sub elements like series,
  119449. * legend, tooltip etc.
  119450. */
  119451. options: Options;
  119452. /**
  119453. * The current height of the plot area in pixels.
  119454. */
  119455. plotHeight: number;
  119456. /**
  119457. * The current left position of the plot area in pixels.
  119458. */
  119459. plotLeft: number;
  119460. /**
  119461. * The current top position of the plot area in pixels.
  119462. */
  119463. plotTop: number;
  119464. /**
  119465. * The current width of the plot area in pixels.
  119466. */
  119467. plotWidth: number;
  119468. /**
  119469. * The Pointer that keeps track of mouse and touch interaction.
  119470. */
  119471. pointer: Pointer;
  119472. /**
  119473. * These properties cause isDirtyBox to be set to true when updating. Can be
  119474. * extended from plugins.
  119475. */
  119476. propsRequireDirtyBox: any;
  119477. /**
  119478. * These properties require a full reflow of chart elements, best
  119479. * implemented through running `Chart.setSize` internally (#8190).
  119480. */
  119481. propsRequireReflow: any[];
  119482. /**
  119483. * These properties cause all series to be updated when updating. Can be
  119484. * extended from plugins.
  119485. */
  119486. propsRequireUpdateSeries: any;
  119487. /**
  119488. * The renderer instance of the chart. Each chart instance has only one
  119489. * associated renderer.
  119490. */
  119491. renderer: SVGRenderer;
  119492. /**
  119493. * All the current series in the chart.
  119494. */
  119495. series: Array<Series>;
  119496. /**
  119497. * Whether the chart is in styled mode, meaning all presentatinoal
  119498. * attributes are avoided.
  119499. */
  119500. styledMode: boolean;
  119501. /**
  119502. * The chart subtitle. The subtitle has an `update` method that allows
  119503. * modifying the options directly or indirectly via `chart.update`.
  119504. */
  119505. subtitle: SubtitleObject;
  119506. /**
  119507. * The `Time` object associated with the chart. Since v6.0.5, time settings
  119508. * can be applied individually for each chart. If no individual settings
  119509. * apply, the `Time` object is shared by all instances.
  119510. */
  119511. time: Time;
  119512. /**
  119513. * The chart title. The title has an `update` method that allows modifying
  119514. * the options directly or indirectly via `chart.update`.
  119515. */
  119516. title: TitleObject;
  119517. /**
  119518. * Tooltip object for points of series.
  119519. */
  119520. tooltip: Tooltip;
  119521. /**
  119522. * The original options given to the constructor or a chart factory like
  119523. * Highcharts.chart and Highcharts.stockChart.
  119524. */
  119525. userOptions: Options;
  119526. /**
  119527. * A collection of the X axes in the chart.
  119528. */
  119529. xAxis: Array<Axis>;
  119530. /**
  119531. * A collection of the Y axes in the chart.
  119532. */
  119533. yAxis: Array<Axis>;
  119534. /**
  119535. * Add an axis to the chart after render time. Note that this method should
  119536. * never be used when adding data synchronously at chart render time, as it
  119537. * adds expense to the calculations and rendering. When adding data at the
  119538. * same time as the chart is initialized, add the axis as a configuration
  119539. * option instead.
  119540. *
  119541. * @param options
  119542. * The axis options.
  119543. *
  119544. * @param isX
  119545. * Whether it is an X axis or a value axis.
  119546. *
  119547. * @param redraw
  119548. * Whether to redraw the chart after adding.
  119549. *
  119550. * @param animation
  119551. * Whether and how to apply animation in the redraw.
  119552. *
  119553. * @return The newly generated Axis object.
  119554. */
  119555. addAxis(options: AxisOptions, isX?: boolean, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): Axis;
  119556. /**
  119557. * Add a color axis to the chart after render time. Note that this method
  119558. * should never be used when adding data synchronously at chart render time,
  119559. * as it adds expense to the calculations and rendering. When adding data at
  119560. * the same time as the chart is initialized, add the axis as a
  119561. * configuration option instead.
  119562. *
  119563. * @param options
  119564. * The axis options.
  119565. *
  119566. * @param redraw
  119567. * Whether to redraw the chart after adding.
  119568. *
  119569. * @param animation
  119570. * Whether and how to apply animation in the redraw.
  119571. *
  119572. * @return The newly generated Axis object.
  119573. */
  119574. addColorAxis(options: ColorAxisOptions, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): ColorAxis;
  119575. /**
  119576. * Set a new credits label for the chart.
  119577. *
  119578. * @param credits
  119579. * A configuration object for the new credits.
  119580. */
  119581. addCredits(credits?: CreditsOptions): void;
  119582. /**
  119583. * Add a series to the chart after render time. Note that this method should
  119584. * never be used when adding data synchronously at chart render time, as it
  119585. * adds expense to the calculations and rendering. When adding data at the
  119586. * same time as the chart is initialized, add the series as a configuration
  119587. * option instead. With multiple axes, the `offset` is dynamically adjusted.
  119588. *
  119589. * @param options
  119590. * The config options for the series.
  119591. *
  119592. * @param redraw
  119593. * Whether to redraw the chart after adding.
  119594. *
  119595. * @param animation
  119596. * Whether to apply animation, and optionally animation
  119597. * configuration.
  119598. *
  119599. * @return The newly created series object.
  119600. *
  119601. * @fires Highcharts.Chart#addSeries
  119602. * @fires Highcharts.Chart#afterAddSeries
  119603. */
  119604. addSeries(options: SeriesOptionsType, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): Series;
  119605. /**
  119606. * Remove the chart and purge memory. This method is called internally
  119607. * before adding a second chart into the same container, as well as on
  119608. * window unload to prevent leaks.
  119609. *
  119610. * @fires Highcharts.Chart#destroy
  119611. */
  119612. destroy(): void;
  119613. /**
  119614. * Get an axis, series or point object by `id` as given in the configuration
  119615. * options. Returns `undefined` if no item is found.
  119616. *
  119617. * @param id
  119618. * The id as given in the configuration options.
  119619. *
  119620. * @return The retrieved item.
  119621. */
  119622. get(id: string): (Axis|Point|Series|undefined);
  119623. /**
  119624. * Returns an array of all currently selected points in the chart. Points
  119625. * can be selected by clicking or programmatically by the
  119626. * Highcharts.Point#select function.
  119627. *
  119628. * @return The currently selected points.
  119629. */
  119630. getSelectedPoints(): Array<Point>;
  119631. /**
  119632. * Returns an array of all currently selected series in the chart. Series
  119633. * can be selected either programmatically by the Highcharts.Series#select
  119634. * function or by checking the checkbox next to the legend item if
  119635. * series.showCheckBox is true.
  119636. *
  119637. * @return The currently selected series.
  119638. */
  119639. getSelectedSeries(): Array<Series>;
  119640. /**
  119641. * Hide the loading layer.
  119642. */
  119643. hideLoading(): void;
  119644. /**
  119645. * Overridable function that initializes the chart. The constructor's
  119646. * arguments are passed on directly.
  119647. *
  119648. * @param userOptions
  119649. * Custom options.
  119650. *
  119651. * @param callback
  119652. * Function to run when the chart has loaded and and all external
  119653. * images are loaded.
  119654. *
  119655. * @fires Highcharts.Chart#init
  119656. * @fires Highcharts.Chart#afterInit
  119657. */
  119658. init(userOptions: Options, callback?: Function): void;
  119659. /**
  119660. * Check whether a given point is within the plot area.
  119661. *
  119662. * @param plotX
  119663. * Pixel x relative to the plot area.
  119664. *
  119665. * @param plotY
  119666. * Pixel y relative to the plot area.
  119667. *
  119668. * @param inverted
  119669. * Whether the chart is inverted.
  119670. *
  119671. * @return Returns true if the given point is inside the plot area.
  119672. */
  119673. isInsidePlot(plotX: number, plotY: number, inverted?: boolean): boolean;
  119674. /**
  119675. * Redraw the chart after changes have been done to the data, axis extremes
  119676. * chart size or chart elements. All methods for updating axes, series or
  119677. * points have a parameter for redrawing the chart. This is `true` by
  119678. * default. But in many cases you want to do more than one operation on the
  119679. * chart before redrawing, for example add a number of points. In those
  119680. * cases it is a waste of resources to redraw the chart for each new point
  119681. * added. So you add the points and call `chart.redraw()` after.
  119682. *
  119683. * @param animation
  119684. * If or how to apply animation to the redraw.
  119685. *
  119686. * @fires Highcharts.Chart#afterSetExtremes
  119687. * @fires Highcharts.Chart#beforeRedraw
  119688. * @fires Highcharts.Chart#predraw
  119689. * @fires Highcharts.Chart#redraw
  119690. * @fires Highcharts.Chart#render
  119691. * @fires Highcharts.Chart#updatedData
  119692. */
  119693. redraw(animation?: (boolean|Partial<AnimationOptionsObject>)): void;
  119694. /**
  119695. * Reflows the chart to its container. By default, the chart reflows
  119696. * automatically to its container following a `window.resize` event, as per
  119697. * the chart.reflow option. However, there are no reliable events for div
  119698. * resize, so if the container is resized without a window resize event,
  119699. * this must be called explicitly.
  119700. *
  119701. * @param e
  119702. * Event arguments. Used primarily when the function is called
  119703. * internally as a response to window resize.
  119704. */
  119705. reflow(e?: Event): void;
  119706. /**
  119707. * Set the caption options. This can also be done from Chart#update.
  119708. *
  119709. * @param options
  119710. * New caption options. The caption text itself is set by the
  119711. * `options.text` property.
  119712. */
  119713. setCaption(options: CaptionOptions): void;
  119714. /**
  119715. * Set the chart container's class name, in addition to
  119716. * `highcharts-container`.
  119717. *
  119718. * @param className
  119719. * The additional class name.
  119720. */
  119721. setClassName(className?: string): void;
  119722. /**
  119723. * Resize the chart to a given width and height. In order to set the width
  119724. * only, the height argument may be skipped. To set the height only, pass
  119725. * `undefined` for the width.
  119726. *
  119727. * @param width
  119728. * The new pixel width of the chart. Since v4.2.6, the argument can
  119729. * be `undefined` in order to preserve the current value (when
  119730. * setting height only), or `null` to adapt to the width of the
  119731. * containing element.
  119732. *
  119733. * @param height
  119734. * The new pixel height of the chart. Since v4.2.6, the argument can
  119735. * be `undefined` in order to preserve the current value, or `null`
  119736. * in order to adapt to the height of the containing element.
  119737. *
  119738. * @param animation
  119739. * Whether and how to apply animation.
  119740. *
  119741. * @fires Highcharts.Chart#endResize
  119742. * @fires Highcharts.Chart#resize
  119743. */
  119744. setSize(width?: (number|null), height?: (number|null), animation?: (boolean|Partial<AnimationOptionsObject>)): void;
  119745. /**
  119746. * Shortcut to set the subtitle options. This can also be done from
  119747. * Chart#update or Chart#setTitle.
  119748. *
  119749. * @param options
  119750. * New subtitle options. The subtitle text itself is set by the
  119751. * `options.text` property.
  119752. */
  119753. setSubtitle(options: SubtitleOptions): void;
  119754. /**
  119755. * Set a new title or subtitle for the chart.
  119756. *
  119757. * @param titleOptions
  119758. * New title options. The title text itself is set by the
  119759. * `titleOptions.text` property.
  119760. *
  119761. * @param subtitleOptions
  119762. * New subtitle options. The subtitle text itself is set by the
  119763. * `subtitleOptions.text` property.
  119764. *
  119765. * @param redraw
  119766. * Whether to redraw the chart or wait for a later call to
  119767. * `chart.redraw()`.
  119768. */
  119769. setTitle(titleOptions?: TitleOptions, subtitleOptions?: SubtitleOptions, redraw?: boolean): void;
  119770. /**
  119771. * Dim the chart and show a loading text or symbol. Options for the loading
  119772. * screen are defined in the loading options.
  119773. *
  119774. * @param str
  119775. * An optional text to show in the loading label instead of the
  119776. * default one. The default text is set in lang.loading.
  119777. */
  119778. showLoading(str?: string): void;
  119779. /**
  119780. * Display the zoom button, so users can reset zoom to the default view
  119781. * settings.
  119782. *
  119783. * @fires Highcharts.Chart#afterShowResetZoom
  119784. * @fires Highcharts.Chart#beforeShowResetZoom
  119785. */
  119786. showResetZoom(): void;
  119787. /**
  119788. * A generic function to update any element of the chart. Elements can be
  119789. * enabled and disabled, moved, re-styled, re-formatted etc.
  119790. *
  119791. * A special case is configuration objects that take arrays, for example
  119792. * xAxis, yAxis or series. For these collections, an `id` option is used to
  119793. * map the new option set to an existing object. If an existing object of
  119794. * the same id is not found, the corresponding item is updated. So for
  119795. * example, running `chart.update` with a series item without an id, will
  119796. * cause the existing chart's series with the same index in the series array
  119797. * to be updated. When the `oneToOne` parameter is true, `chart.update` will
  119798. * also take care of adding and removing items from the collection. Read
  119799. * more under the parameter description below.
  119800. *
  119801. * Note that when changing series data, `chart.update` may mutate the passed
  119802. * data options.
  119803. *
  119804. * See also the responsive option set. Switching between `responsive.rules`
  119805. * basically runs `chart.update` under the hood.
  119806. *
  119807. * @param options
  119808. * A configuration object for the new chart options.
  119809. *
  119810. * @param redraw
  119811. * Whether to redraw the chart.
  119812. *
  119813. * @param oneToOne
  119814. * When `true`, the `series`, `xAxis`, `yAxis` and `annotations`
  119815. * collections will be updated one to one, and items will be either
  119816. * added or removed to match the new updated options. For example, if
  119817. * the chart has two series and we call `chart.update` with a
  119818. * configuration containing three series, one will be added. If we
  119819. * call `chart.update` with one series, one will be removed. Setting
  119820. * an empty `series` array will remove all series, but leaving out
  119821. * the`series` property will leave all series untouched. If the
  119822. * series have id's, the new series options will be matched by id,
  119823. * and the remaining ones removed.
  119824. *
  119825. * @param animation
  119826. * Whether to apply animation, and optionally animation
  119827. * configuration.
  119828. *
  119829. * @fires Highcharts.Chart#update
  119830. * @fires Highcharts.Chart#afterUpdate
  119831. */
  119832. update(options: Options, redraw?: boolean, oneToOne?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): void;
  119833. /**
  119834. * Zoom the chart out after a user has zoomed in. See also Axis.setExtremes.
  119835. *
  119836. * @fires Highcharts.Chart#selection
  119837. */
  119838. zoomOut(): void;
  119839. }
  119840. /**
  119841. * Handle color operations. Some object methods are chainable.
  119842. */
  119843. export class Color {
  119844. /**
  119845. * Creates a color instance out of a color string or object.
  119846. *
  119847. * @param input
  119848. * The input color in either rbga or hex format.
  119849. *
  119850. * @return Color instance.
  119851. */
  119852. static parse(input: ColorType): Color;
  119853. /**
  119854. * Handle color operations. Some object methods are chainable.
  119855. *
  119856. * @param input
  119857. * The input color in either rbga or hex format
  119858. */
  119859. constructor(input: ColorType);
  119860. /**
  119861. * Brighten the color instance.
  119862. *
  119863. * @param alpha
  119864. * The alpha value.
  119865. *
  119866. * @return This color with modifications.
  119867. */
  119868. brighten(alpha: number): Color;
  119869. /**
  119870. * Return the color or gradient stops in the specified format
  119871. *
  119872. * @param format
  119873. * Possible values are 'a', 'rgb', 'rgba' (default).
  119874. *
  119875. * @return This color as a string or gradient stops.
  119876. */
  119877. get(format?: string): ColorType;
  119878. /**
  119879. * Set the color's opacity to a given alpha value.
  119880. *
  119881. * @param alpha
  119882. * Opacity between 0 and 1.
  119883. *
  119884. * @return Color with modifications.
  119885. */
  119886. setOpacity(alpha: number): Color;
  119887. /**
  119888. * Return an intermediate color between two colors.
  119889. *
  119890. * @param to
  119891. * The color object to tween to.
  119892. *
  119893. * @param pos
  119894. * The intermediate position, where 0 is the from color (current
  119895. * color item), and 1 is the `to` color.
  119896. *
  119897. * @return The intermediate color in rgba notation.
  119898. */
  119899. tweenTo(to: Color, pos: number): ColorString;
  119900. }
  119901. /**
  119902. * The ColorAxis object for inclusion in gradient legends.
  119903. */
  119904. export class ColorAxis {
  119905. /**
  119906. * The ColorAxis object for inclusion in gradient legends.
  119907. *
  119908. * @param chart
  119909. * The related chart of the color axis.
  119910. *
  119911. * @param userOptions
  119912. * The color axis options for initialization.
  119913. */
  119914. constructor(chart: Chart, userOptions: ColorAxisOptions);
  119915. }
  119916. /**
  119917. * The overview of the chart's series. The legend object is instanciated
  119918. * internally in the chart constructor, and is available from the `chart.legend`
  119919. * property. Each chart has only one legend.
  119920. */
  119921. export class Legend {
  119922. /**
  119923. * The overview of the chart's series. The legend object is instanciated
  119924. * internally in the chart constructor, and is available from the
  119925. * `chart.legend` property. Each chart has only one legend.
  119926. *
  119927. * @param chart
  119928. * The chart instance.
  119929. *
  119930. * @param options
  119931. * Legend options.
  119932. */
  119933. constructor(chart: Chart, options: LegendOptions);
  119934. /**
  119935. * All items for the legend, which is an array of series for most series and
  119936. * an array of points for pie series and its derivatives.
  119937. */
  119938. readonly allItems: Array<(Point|Series)>;
  119939. /**
  119940. * SVG element of the legend box.
  119941. */
  119942. readonly box: SVGElement;
  119943. /**
  119944. * Chart of this legend.
  119945. */
  119946. readonly chart: Chart;
  119947. /**
  119948. * SVG group of the legend.
  119949. */
  119950. readonly group: SVGElement;
  119951. /**
  119952. * Legend options.
  119953. */
  119954. readonly options: LegendOptions;
  119955. /**
  119956. * SVG element of the legend title.
  119957. */
  119958. readonly title: SVGElement;
  119959. /**
  119960. * Set the legend item text.
  119961. *
  119962. * @param item
  119963. * The item for which to update the text in the legend.
  119964. */
  119965. setText(item: (Point|Series)): void;
  119966. /**
  119967. * Update the legend with new options. Equivalent to running `chart.update`
  119968. * with a legend configuration option.
  119969. *
  119970. * @param options
  119971. * Legend options.
  119972. *
  119973. * @param redraw
  119974. * Whether to redraw the chart after the axis is altered. If doing
  119975. * more operations on the chart, it is a good idea to set redraw to
  119976. * false and call Chart#redraw after. Whether to redraw the chart.
  119977. *
  119978. * @fires Highcharts.Legends#afterUpdate
  119979. */
  119980. update(options: LegendOptions, redraw?: boolean): void;
  119981. }
  119982. /**
  119983. * The object wrapper for plot lines and plot bands
  119984. */
  119985. export class PlotLineOrBand {
  119986. /**
  119987. * The object wrapper for plot lines and plot bands
  119988. */
  119989. constructor(axis: Axis, options?: (AxisPlotBandsOptions|AxisPlotLinesOptions));
  119990. /**
  119991. * SVG element of the label.
  119992. */
  119993. label: SVGElement;
  119994. /**
  119995. * SVG element of the plot line or band.
  119996. */
  119997. svgElement: SVGElement;
  119998. /**
  119999. * Remove the plot line or band.
  120000. */
  120001. destroy(): void;
  120002. }
  120003. /**
  120004. * The Point object. The point objects are generated from the `series.data`
  120005. * configuration objects or raw numbers. They can be accessed from the
  120006. * `Series.points` array. Other ways to instantiate points are through
  120007. * Highcharts.Series#addPoint or Highcharts.Series#setData.
  120008. */
  120009. export class Point {
  120010. /**
  120011. * For categorized axes this property holds the category name for the point.
  120012. * For other axes it holds the X value.
  120013. */
  120014. category: string;
  120015. /**
  120016. * The point's current color.
  120017. */
  120018. color?: (ColorString|GradientColorObject|PatternObject);
  120019. /**
  120020. * The point's current color index, used in styled mode instead of `color`.
  120021. * The color index is inserted in class names used for styling.
  120022. */
  120023. colorIndex: number;
  120024. /**
  120025. * (Highstock) Highstock only. If a point object is created by data
  120026. * grouping, it doesn't reflect actual points in the raw data. In this case,
  120027. * the `dataGroup` property holds information that points back to the raw
  120028. * data.
  120029. *
  120030. * - `dataGroup.start` is the index of the first raw data point in the
  120031. * group.
  120032. *
  120033. * - `dataGroup.length` is the amount of points in the group.
  120034. */
  120035. dataGroup?: DataGroupingInfoObject;
  120036. /**
  120037. * Contains the point's index in the `Series.points` array.
  120038. */
  120039. readonly index: number;
  120040. /**
  120041. * The name of the point. The name can be given as the first position of the
  120042. * point configuration array, or as a `name` property in the configuration:
  120043. */
  120044. name: string;
  120045. /**
  120046. * The point's options as applied in the initial configuration, or extended
  120047. * through `Point.update`.
  120048. *
  120049. * In TypeScript you have to extend `PointOptionsObject` via an additional
  120050. * interface to allow custom data options: (see online documentation for
  120051. * example)
  120052. */
  120053. options: PointOptionsObject;
  120054. /**
  120055. * The percentage for points in a stacked series or pies.
  120056. */
  120057. percentage?: number;
  120058. /**
  120059. * Whether the point is selected or not.
  120060. */
  120061. selected: boolean;
  120062. /**
  120063. * The series object associated with the point.
  120064. */
  120065. series: Series;
  120066. /**
  120067. * Pie series only. Whether to display a slice offset from the center.
  120068. */
  120069. sliced?: boolean;
  120070. /**
  120071. * The total of values in either a stack for stacked series, or a pie in a
  120072. * pie series.
  120073. */
  120074. total?: number;
  120075. /**
  120076. * For certain series types, like pie charts, where individual points can be
  120077. * shown or hidden.
  120078. */
  120079. visible: boolean;
  120080. /**
  120081. * The x value of the point.
  120082. */
  120083. x: number;
  120084. /**
  120085. * The y value of the point.
  120086. */
  120087. y?: number;
  120088. /**
  120089. * Get the CSS class names for individual points. Used internally where the
  120090. * returned value is set on every point.
  120091. *
  120092. * @return The class names.
  120093. */
  120094. getClassName(): string;
  120095. /**
  120096. * Return the configuration hash needed for the data label and tooltip
  120097. * formatters.
  120098. *
  120099. * @return Abstract object used in formatters and formats.
  120100. */
  120101. getLabelConfig(): PointLabelObject;
  120102. /**
  120103. * In a series with `zones`, return the zone that the point belongs to.
  120104. *
  120105. * @return The zone item.
  120106. */
  120107. getZone(): SeriesZonesOptionsObject;
  120108. /**
  120109. * Get the path definition for the halo, which is usually a shadow-like
  120110. * circle around the currently hovered point.
  120111. *
  120112. * @param size
  120113. * The radius of the circular halo.
  120114. *
  120115. * @return The path definition.
  120116. */
  120117. haloPath(size: number): SVGPathArray;
  120118. /**
  120119. * Initialize the point. Called internally based on the `series.data`
  120120. * option.
  120121. *
  120122. * @param series
  120123. * The series object containing this point.
  120124. *
  120125. * @param options
  120126. * The data in either number, array or object format.
  120127. *
  120128. * @param x
  120129. * Optionally, the X value of the point.
  120130. *
  120131. * @return The Point instance.
  120132. *
  120133. * @fires Highcharts.Point#afterInit
  120134. */
  120135. init(series: Series, options: PointOptionsType, x?: number): Point;
  120136. /**
  120137. * Runs on mouse out from the point. Called internally from mouse and touch
  120138. * events.
  120139. *
  120140. * @fires Highcharts.Point#mouseOut
  120141. */
  120142. onMouseOut(): void;
  120143. /**
  120144. * Runs on mouse over the point. Called internally from mouse and touch
  120145. * events.
  120146. *
  120147. * @param e
  120148. * The event arguments.
  120149. */
  120150. onMouseOver(e?: PointerEventObject): void;
  120151. /**
  120152. * Transform number or array configs into objects. Also called for object
  120153. * configs. Used internally to unify the different configuration formats for
  120154. * points. For example, a simple number `10` in a line series will be
  120155. * transformed to `{ y: 10 }`, and an array config like `[1, 10]` in a
  120156. * scatter series will be transformed to `{ x: 1, y: 10 }`.
  120157. *
  120158. * @param options
  120159. * The input option.
  120160. *
  120161. * @return Transformed options.
  120162. */
  120163. optionsToObject(options: PointOptionsType): Dictionary<any>;
  120164. /**
  120165. * Remove a point and optionally redraw the series and if necessary the axes
  120166. *
  120167. * @param redraw
  120168. * Whether to redraw the chart or wait for an explicit call. When
  120169. * doing more operations on the chart, for example running
  120170. * `point.remove()` in a loop, it is best practice to set `redraw` to
  120171. * false and call `chart.redraw()` after.
  120172. *
  120173. * @param animation
  120174. * Whether to apply animation, and optionally animation
  120175. * configuration.
  120176. */
  120177. remove(redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): void;
  120178. /**
  120179. * Toggle the selection status of a point.
  120180. *
  120181. * @param selected
  120182. * When `true`, the point is selected. When `false`, the point is
  120183. * unselected. When `null` or `undefined`, the selection state is
  120184. * toggled.
  120185. *
  120186. * @param accumulate
  120187. * When `true`, the selection is added to other selected points. When
  120188. * `false`, other selected points are deselected. Internally in
  120189. * Highcharts, when allowPointSelect is `true`, selected points are
  120190. * accumulated on Control, Shift or Cmd clicking the point.
  120191. *
  120192. * @fires Highcharts.Point#select
  120193. * @fires Highcharts.Point#unselect
  120194. */
  120195. select(selected?: boolean, accumulate?: boolean): void;
  120196. /**
  120197. * Set a value in an object, on the property defined by key. The key
  120198. * supports nested properties using dot notation. The function modifies the
  120199. * input object and does not make a copy.
  120200. *
  120201. * @param object
  120202. * The object to set the value on.
  120203. *
  120204. * @param value
  120205. * The value to set.
  120206. *
  120207. * @param key
  120208. * Key to the property to set.
  120209. *
  120210. * @return The modified object.
  120211. */
  120212. setNestedProperty<T>(object: T, value: any, key: string): T;
  120213. /**
  120214. * Set the point's state.
  120215. *
  120216. * @param state
  120217. * The new state, can be one of `'hover'`, `'select'`, `'inactive'`,
  120218. * or `''` (an empty string), `'normal'` or `undefined` to set to
  120219. * normal state.
  120220. *
  120221. * @param move
  120222. * State for animation.
  120223. *
  120224. * @fires Highcharts.Point#afterSetState
  120225. */
  120226. setState(state?: (""|PointStateValue), move?: boolean): void;
  120227. /**
  120228. * Extendable method for formatting each point's tooltip line.
  120229. *
  120230. * @param pointFormat
  120231. * The point format.
  120232. *
  120233. * @return A string to be concatenated in to the common tooltip text.
  120234. */
  120235. tooltipFormatter(pointFormat: string): string;
  120236. /**
  120237. * Update point with new options (typically x/y data) and optionally redraw
  120238. * the series.
  120239. *
  120240. * @param options
  120241. * The point options. Point options are handled as described under
  120242. * the `series.type.data` item for each series type. For example for
  120243. * a line series, if options is a single number, the point will be
  120244. * given that number as the marin y value. If it is an array, it will
  120245. * be interpreted as x and y values respectively. If it is an object,
  120246. * advanced options are applied.
  120247. *
  120248. * @param redraw
  120249. * Whether to redraw the chart after the point is updated. If doing
  120250. * more operations on the chart, it is best practice to set `redraw`
  120251. * to false and call `chart.redraw()` after.
  120252. *
  120253. * @param animation
  120254. * Whether to apply animation, and optionally animation
  120255. * configuration.
  120256. *
  120257. * @fires Highcharts.Point#update
  120258. */
  120259. update(options: PointOptionsType, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): void;
  120260. }
  120261. /**
  120262. * The mouse and touch tracker object. Each Chart item has one assosiated
  120263. * Pointer item that can be accessed from the Chart.pointer property.
  120264. */
  120265. export class Pointer {
  120266. /**
  120267. * The mouse and touch tracker object. Each Chart item has one assosiated
  120268. * Pointer item that can be accessed from the Chart.pointer property.
  120269. *
  120270. * @param chart
  120271. * The chart instance.
  120272. *
  120273. * @param options
  120274. * The root options object. The pointer uses options from the chart
  120275. * and tooltip structures.
  120276. */
  120277. constructor(chart: Chart, options: Options);
  120278. /**
  120279. * Destroys the Pointer object and disconnects DOM events.
  120280. */
  120281. destroy(): void;
  120282. /**
  120283. * Finds the closest point to a set of coordinates, using the k-d-tree
  120284. * algorithm.
  120285. *
  120286. * @param series
  120287. * All the series to search in.
  120288. *
  120289. * @param shared
  120290. * Whether it is a shared tooltip or not.
  120291. *
  120292. * @param e
  120293. * The pointer event object, containing chart coordinates of the
  120294. * pointer.
  120295. *
  120296. * @return The point closest to given coordinates.
  120297. */
  120298. findNearestKDPoint(series: Array<Series>, shared: (boolean|undefined), e: PointerEventObject): (Point|undefined);
  120299. /**
  120300. * Return the cached chartPosition if it is available on the Pointer,
  120301. * otherwise find it. Running offset is quite expensive, so it should be
  120302. * avoided when we know the chart hasn't moved.
  120303. *
  120304. * @return The offset of the chart container within the page
  120305. */
  120306. getChartPosition(): OffsetObject;
  120307. /**
  120308. * Get the click position in terms of axis values.
  120309. *
  120310. * @param e
  120311. * Pointer event, extended with `chartX` and `chartY` properties.
  120312. */
  120313. getCoordinates(e: PointerEventObject): PointerAxisCoordinatesObject;
  120314. /**
  120315. * Utility to detect whether an element has, or has a parent with, a
  120316. * specificclass name. Used on detection of tracker objects and on deciding
  120317. * whether hovering the tooltip should cause the active series to mouse out.
  120318. *
  120319. * @param element
  120320. * The element to investigate.
  120321. *
  120322. * @param className
  120323. * The class name to look for.
  120324. *
  120325. * @return True if either the element or one of its parents has the given
  120326. * class name.
  120327. */
  120328. inClass(element: (HTMLDOMElement|SVGDOMElement), className: string): (boolean|undefined);
  120329. /**
  120330. * Takes a browser event object and extends it with custom Highcharts
  120331. * properties `chartX` and `chartY` in order to work on the internal
  120332. * coordinate system.
  120333. *
  120334. * @param e
  120335. * Event object in standard browsers.
  120336. *
  120337. * @param chartPosition
  120338. * Additional chart offset.
  120339. *
  120340. * @return A browser event with extended properties `chartX` and `chartY`.
  120341. */
  120342. normalize(e: (MouseEvent|PointerEvent|TouchEvent), chartPosition?: OffsetObject): PointerEventObject;
  120343. /**
  120344. * Reset the tracking by hiding the tooltip, the hover series state and the
  120345. * hover point
  120346. *
  120347. * @param allowMove
  120348. * Instead of destroying the tooltip altogether, allow moving it if
  120349. * possible.
  120350. */
  120351. reset(allowMove?: boolean, delay?: number): void;
  120352. }
  120353. /**
  120354. * This is the base series prototype that all other series types inherit from. A
  120355. * new series is initialized either through the series option structure, or
  120356. * after the chart is initialized, through Highcharts.Chart#addSeries.
  120357. *
  120358. * The object can be accessed in a number of ways. All series and point event
  120359. * handlers give a reference to the `series` object. The chart object has a
  120360. * series property that is a collection of all the chart's series. The point
  120361. * objects and axis objects also have the same reference.
  120362. *
  120363. * Another way to reference the series programmatically is by `id`. Add an id in
  120364. * the series configuration options, and get the series object by
  120365. * Highcharts.Chart#get.
  120366. *
  120367. * Configuration options for the series are given in three levels. Options for
  120368. * all series in a chart are given in the plotOptions.series object. Then
  120369. * options for all series of a specific type are given in the plotOptions of
  120370. * that type, for example `plotOptions.line`. Next, options for one single
  120371. * series are given in the series array, or as arguments to `chart.addSeries`.
  120372. *
  120373. * The data in the series is stored in various arrays.
  120374. *
  120375. * - First, `series.options.data` contains all the original config options for
  120376. * each point whether added by options or methods like `series.addPoint`.
  120377. *
  120378. * - Next, `series.data` contains those values converted to points, but in case
  120379. * the series data length exceeds the `cropThreshold`, or if the data is
  120380. * grouped, `series.data` doesn't contain all the points. It only contains the
  120381. * points that have been created on demand.
  120382. *
  120383. * - Then there's `series.points` that contains all currently visible point
  120384. * objects. In case of cropping, the cropped-away points are not part of this
  120385. * array. The `series.points` array starts at `series.cropStart` compared to
  120386. * `series.data` and `series.options.data`. If however the series data is
  120387. * grouped, these can't be correlated one to one.
  120388. *
  120389. * - `series.xData` and `series.processedXData` contain clean x values,
  120390. * equivalent to `series.data` and `series.points`.
  120391. *
  120392. * - `series.yData` and `series.processedYData` contain clean y values,
  120393. * equivalent to `series.data` and `series.points`.
  120394. */
  120395. export class Series {
  120396. /**
  120397. * This is the base series prototype that all other series types inherit
  120398. * from. A new series is initialized either through the series option
  120399. * structure, or after the chart is initialized, through
  120400. * Highcharts.Chart#addSeries.
  120401. *
  120402. * The object can be accessed in a number of ways. All series and point
  120403. * event handlers give a reference to the `series` object. The chart object
  120404. * has a series property that is a collection of all the chart's series. The
  120405. * point objects and axis objects also have the same reference.
  120406. *
  120407. * Another way to reference the series programmatically is by `id`. Add an
  120408. * id in the series configuration options, and get the series object by
  120409. * Highcharts.Chart#get.
  120410. *
  120411. * Configuration options for the series are given in three levels. Options
  120412. * for all series in a chart are given in the plotOptions.series object.
  120413. * Then options for all series of a specific type are given in the
  120414. * plotOptions of that type, for example `plotOptions.line`. Next, options
  120415. * for one single series are given in the series array, or as arguments to
  120416. * `chart.addSeries`.
  120417. *
  120418. * The data in the series is stored in various arrays.
  120419. *
  120420. * - First, `series.options.data` contains all the original config options
  120421. * for each point whether added by options or methods like
  120422. * `series.addPoint`.
  120423. *
  120424. * - Next, `series.data` contains those values converted to points, but in
  120425. * case the series data length exceeds the `cropThreshold`, or if the data
  120426. * is grouped, `series.data` doesn't contain all the points. It only
  120427. * contains the points that have been created on demand.
  120428. *
  120429. * - Then there's `series.points` that contains all currently visible point
  120430. * objects. In case of cropping, the cropped-away points are not part of
  120431. * this array. The `series.points` array starts at `series.cropStart`
  120432. * compared to `series.data` and `series.options.data`. If however the
  120433. * series data is grouped, these can't be correlated one to one.
  120434. *
  120435. * - `series.xData` and `series.processedXData` contain clean x values,
  120436. * equivalent to `series.data` and `series.points`.
  120437. *
  120438. * - `series.yData` and `series.processedYData` contain clean y values,
  120439. * equivalent to `series.data` and `series.points`.
  120440. *
  120441. * @param chart
  120442. * The chart instance.
  120443. *
  120444. * @param options
  120445. * The series options.
  120446. */
  120447. constructor(chart: Chart, options: (object|SeriesOptionsType));
  120448. /**
  120449. * SVG element of area-based charts. Can be used for styling purposes. If
  120450. * zones are configured, this element will be hidden and replaced by
  120451. * multiple zone areas, accessible via `series['zone-area-x']` (where x is a
  120452. * number, starting with 0).
  120453. */
  120454. area?: SVGElement;
  120455. /**
  120456. * Read only. The chart that the series belongs to.
  120457. */
  120458. chart: Chart;
  120459. /**
  120460. * Read only. An array containing those values converted to points. In case
  120461. * the series data length exceeds the `cropThreshold`, or if the data is
  120462. * grouped, `series.data` doesn't contain all the points. Also, in case a
  120463. * series is hidden, the `data` array may be empty. To access raw values,
  120464. * `series.options.data` will always be up to date. `Series.data` only
  120465. * contains the points that have been created on demand. To modify the data,
  120466. * use Highcharts.Series#setData or Highcharts.Point#update.
  120467. */
  120468. data: Array<Point>;
  120469. /**
  120470. * Contains the maximum value of the series' data point. Some series types
  120471. * like `networkgraph` do not support this property as they lack a
  120472. * `y`-value.
  120473. */
  120474. readonly dataMax?: number;
  120475. /**
  120476. * Contains the minimum value of the series' data point. Some series types
  120477. * like `networkgraph` do not support this property as they lack a
  120478. * `y`-value.
  120479. */
  120480. readonly dataMin?: number;
  120481. /**
  120482. * SVG element of line-based charts. Can be used for styling purposes. If
  120483. * zones are configured, this element will be hidden and replaced by
  120484. * multiple zone lines, accessible via `series['zone-graph-x']` (where x is
  120485. * a number, starting with 0).
  120486. */
  120487. graph?: SVGElement;
  120488. /**
  120489. * Contains the series' index in the `Chart.series` array.
  120490. */
  120491. readonly index: number;
  120492. /**
  120493. * The series name as given in the options. Defaults to "Series {n}".
  120494. */
  120495. name: string;
  120496. /**
  120497. * Read only. The series' current options. To update, use Series#update.
  120498. */
  120499. options: SeriesOptionsType;
  120500. /**
  120501. * An array containing all currently visible point objects. In case of
  120502. * cropping, the cropped-away points are not part of this array. The
  120503. * `series.points` array starts at `series.cropStart` compared to
  120504. * `series.data` and `series.options.data`. If however the series data is
  120505. * grouped, these can't be correlated one to one. To modify the data, use
  120506. * Highcharts.Series#setData or Highcharts.Point#update.
  120507. */
  120508. points: Array<Point>;
  120509. /**
  120510. * Read only. The series' selected state as set by Highcharts.Series#select.
  120511. */
  120512. selected: boolean;
  120513. /**
  120514. * Read only. The series' type, like "line", "area", "column" etc. The type
  120515. * in the series options anc can be altered using Series#update.
  120516. */
  120517. type: string;
  120518. /**
  120519. * Contains series options by the user without defaults.
  120520. */
  120521. userOptions: SeriesOptionsType;
  120522. /**
  120523. * Read only. The series' visibility state as set by Series#show,
  120524. * Series#hide, or in the initial configuration.
  120525. */
  120526. visible: boolean;
  120527. /**
  120528. * Read only. The unique xAxis object associated with the series.
  120529. */
  120530. xAxis: Axis;
  120531. /**
  120532. * Read only. The unique yAxis object associated with the series.
  120533. */
  120534. yAxis: Axis;
  120535. /**
  120536. * Add a point to the series after render time. The point can be added at
  120537. * the end, or by giving it an X value, to the start or in the middle of the
  120538. * series.
  120539. *
  120540. * @param options
  120541. * The point options. If options is a single number, a point with
  120542. * that y value is appended to the series. If it is an array, it will
  120543. * be interpreted as x and y values respectively. If it is an object,
  120544. * advanced options as outlined under `series.data` are applied.
  120545. *
  120546. * @param redraw
  120547. * Whether to redraw the chart after the point is added. When adding
  120548. * more than one point, it is highly recommended that the redraw
  120549. * option be set to false, and instead Chart#redraw is explicitly
  120550. * called after the adding of points is finished. Otherwise, the
  120551. * chart will redraw after adding each point.
  120552. *
  120553. * @param shift
  120554. * If true, a point is shifted off the start of the series as one is
  120555. * appended to the end.
  120556. *
  120557. * @param animation
  120558. * Whether to apply animation, and optionally animation
  120559. * configuration.
  120560. *
  120561. * @param withEvent
  120562. * Used internally, whether to fire the series `addPoint` event.
  120563. *
  120564. * @fires Highcharts.Series#addPoint
  120565. */
  120566. addPoint(options: PointOptionsType, redraw?: boolean, shift?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>), withEvent?: boolean): void;
  120567. /**
  120568. * Animate in the series. Called internally twice. First with the `init`
  120569. * parameter set to true, which sets up the initial state of the animation.
  120570. * Then when ready, it is called with the `init` parameter undefined, in
  120571. * order to perform the actual animation. After the second run, the function
  120572. * is removed.
  120573. *
  120574. * @param init
  120575. * Initialize the animation.
  120576. */
  120577. animate(init?: boolean): void;
  120578. /**
  120579. * Draw the graph. Called internally when rendering line-like series types.
  120580. * The first time it generates the `series.graph` item and optionally other
  120581. * series-wide items like `series.area` for area charts. On subsequent calls
  120582. * these items are updated with new positions and attributes.
  120583. */
  120584. drawGraph(): void;
  120585. /**
  120586. * Draw the markers for line-like series types, and columns or other
  120587. * graphical representation for Point objects for other series types. The
  120588. * resulting element is typically stored as Point.graphic, and is created on
  120589. * the first call and updated and moved on subsequent calls.
  120590. */
  120591. drawPoints(): void;
  120592. /**
  120593. * Return series name in "Series {Number}" format or the one defined by a
  120594. * user. This method can be simply overridden as series name format can vary
  120595. * (e.g. technical indicators).
  120596. *
  120597. * @return The series name.
  120598. */
  120599. getName(): string;
  120600. /**
  120601. * Get the translation and scale for the plot area of this series.
  120602. */
  120603. getPlotBox(): SeriesPlotBoxObject;
  120604. /**
  120605. * Return the series points with null points filtered out.
  120606. *
  120607. * @param points
  120608. * The points to inspect, defaults to Series.points.
  120609. *
  120610. * @param insideOnly
  120611. * Whether to inspect only the points that are inside the visible
  120612. * view.
  120613. *
  120614. * @param allowNull
  120615. * Whether to allow null points to pass as valid points.
  120616. *
  120617. * @return The valid points.
  120618. */
  120619. getValidPoints(points?: Array<Point>, insideOnly?: boolean, allowNull?: boolean): Array<Point>;
  120620. /**
  120621. * Hide the series if visible. If the chart.ignoreHiddenSeries option is
  120622. * true, the chart is redrawn without this series.
  120623. *
  120624. * @fires Highcharts.Series#hide
  120625. */
  120626. hide(): void;
  120627. /**
  120628. * Check whether the series item is itself or inherits from a certain series
  120629. * type.
  120630. *
  120631. * @param type
  120632. * The type of series to check for, can be either featured or custom
  120633. * series types. For example `column`, `pie`, `ohlc` etc.
  120634. *
  120635. * @return True if this item is or inherits from the given type.
  120636. */
  120637. is(type: string): boolean;
  120638. /**
  120639. * Get non-presentational attributes for a point. Used internally for both
  120640. * styled mode and classic. Can be overridden for different series types.
  120641. *
  120642. * @param point
  120643. * The Point to inspect.
  120644. *
  120645. * @param state
  120646. * The state, can be either `hover`, `select` or undefined.
  120647. *
  120648. * @return A hash containing those attributes that are not settable from
  120649. * CSS.
  120650. */
  120651. markerAttribs(point: Point, state?: string): SVGAttributes;
  120652. /**
  120653. * Runs on mouse out of the series graphical items.
  120654. *
  120655. * @fires Highcharts.Series#mouseOut
  120656. */
  120657. onMouseOut(): void;
  120658. /**
  120659. * Runs on mouse over the series graphical items.
  120660. *
  120661. * @fires Highcharts.Series#mouseOver
  120662. */
  120663. onMouseOver(): void;
  120664. /**
  120665. * Remove a series and optionally redraw the chart.
  120666. *
  120667. * @param redraw
  120668. * Whether to redraw the chart or wait for an explicit call to
  120669. * Highcharts.Chart#redraw.
  120670. *
  120671. * @param animation
  120672. * Whether to apply animation, and optionally animation
  120673. * configuration.
  120674. *
  120675. * @param withEvent
  120676. * Used internally, whether to fire the series `remove` event.
  120677. *
  120678. * @fires Highcharts.Series#remove
  120679. */
  120680. remove(redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>), withEvent?: boolean): void;
  120681. /**
  120682. * Remove a point from the series. Unlike the Highcharts.Point#remove
  120683. * method, this can also be done on a point that is not instanciated because
  120684. * it is outside the view or subject to Highstock data grouping.
  120685. *
  120686. * @param i
  120687. * The index of the point in the data array.
  120688. *
  120689. * @param redraw
  120690. * Whether to redraw the chart after the point is added. When
  120691. * removing more than one point, it is highly recommended that the
  120692. * `redraw` option be set to `false`, and instead
  120693. * Highcharts.Chart#redraw is explicitly called after the adding of
  120694. * points is finished.
  120695. *
  120696. * @param animation
  120697. * Whether and optionally how the series should be animated.
  120698. *
  120699. * @fires Highcharts.Point#remove
  120700. */
  120701. removePoint(i: number, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): void;
  120702. /**
  120703. * Render the graph and markers. Called internally when first rendering and
  120704. * later when redrawing the chart. This function can be extended in plugins,
  120705. * but normally shouldn't be called directly.
  120706. *
  120707. * @fires Highcharts.Series#afterRender
  120708. */
  120709. render(): void;
  120710. /**
  120711. * Select or unselect the series. This means its selected property is set,
  120712. * the checkbox in the legend is toggled and when selected, the series is
  120713. * returned by the Highcharts.Chart#getSelectedSeries function.
  120714. *
  120715. * @param selected
  120716. * True to select the series, false to unselect. If undefined, the
  120717. * selection state is toggled.
  120718. *
  120719. * @fires Highcharts.Series#select
  120720. * @fires Highcharts.Series#unselect
  120721. */
  120722. select(selected?: boolean): void;
  120723. /**
  120724. * Apply a new set of data to the series and optionally redraw it. The new
  120725. * data array is passed by reference (except in case of `updatePoints`), and
  120726. * may later be mutated when updating the chart data.
  120727. *
  120728. * Note the difference in behaviour when setting the same amount of points,
  120729. * or a different amount of points, as handled by the `updatePoints`
  120730. * parameter.
  120731. *
  120732. * @param data
  120733. * Takes an array of data in the same format as described under
  120734. * `series.{type}.data` for the given series type, for example a line
  120735. * series would take data in the form described under
  120736. * series.line.data.
  120737. *
  120738. * @param redraw
  120739. * Whether to redraw the chart after the series is altered. If doing
  120740. * more operations on the chart, it is a good idea to set redraw to
  120741. * false and call Chart#redraw after.
  120742. *
  120743. * @param animation
  120744. * When the updated data is the same length as the existing data,
  120745. * points will be updated by default, and animation visualizes how
  120746. * the points are changed. Set false to disable animation, or a
  120747. * configuration object to set duration or easing.
  120748. *
  120749. * @param updatePoints
  120750. * When this is true, points will be updated instead of replaced
  120751. * whenever possible. This occurs a) when the updated data is the
  120752. * same length as the existing data, b) when points are matched by
  120753. * their id's, or c) when points can be matched by X values. This
  120754. * allows updating with animation and performs better. In this case,
  120755. * the original array is not passed by reference. Set `false` to
  120756. * prevent.
  120757. */
  120758. setData(data: Array<PointOptionsType>, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>), updatePoints?: boolean): void;
  120759. /**
  120760. * Set the state of the series. Called internally on mouse interaction
  120761. * operations, but it can also be called directly to visually highlight a
  120762. * series.
  120763. *
  120764. * @param state
  120765. * The new state, can be either `'hover'`, `'inactive'`, `'select'`,
  120766. * or `''` (an empty string), `'normal'` or `undefined` to set to
  120767. * normal state.
  120768. *
  120769. * @param inherit
  120770. * Determines if state should be inherited by points too.
  120771. */
  120772. setState(state?: (""|SeriesStateValue), inherit?: boolean): void;
  120773. /**
  120774. * Show or hide the series.
  120775. *
  120776. * @param visible
  120777. * True to show the series, false to hide. If undefined, the
  120778. * visibility is toggled.
  120779. *
  120780. * @param redraw
  120781. * Whether to redraw the chart after the series is altered. If doing
  120782. * more operations on the chart, it is a good idea to set redraw to
  120783. * false and call chart.redraw() after.
  120784. *
  120785. * @fires Highcharts.Series#hide
  120786. * @fires Highcharts.Series#show
  120787. */
  120788. setVisible(visible?: boolean, redraw?: boolean): void;
  120789. /**
  120790. * Show the series if hidden.
  120791. *
  120792. * @fires Highcharts.Series#show
  120793. */
  120794. show(): void;
  120795. /**
  120796. * Translate data points from raw data values to chart specific positioning
  120797. * data needed later in the `drawPoints` and `drawGraph` functions. This
  120798. * function can be overridden in plugins and custom series type
  120799. * implementations.
  120800. *
  120801. * @fires Highcharts.Series#events:translate
  120802. */
  120803. translate(): void;
  120804. /**
  120805. * Update the series with a new set of options. For a clean and precise
  120806. * handling of new options, all methods and elements from the series are
  120807. * removed, and it is initialized from scratch. Therefore, this method is
  120808. * more performance expensive than some other utility methods like
  120809. * Series#setData or Series#setVisible.
  120810. *
  120811. * Note that `Series.update` may mutate the passed `data` options.
  120812. *
  120813. * @param options
  120814. * New options that will be merged with the series' existing options.
  120815. *
  120816. * @param redraw
  120817. * Whether to redraw the chart after the series is altered. If doing
  120818. * more operations on the chart, it is a good idea to set redraw to
  120819. * false and call Chart#redraw after.
  120820. *
  120821. * @fires Highcharts.Series#update
  120822. * @fires Highcharts.Series#afterUpdate
  120823. */
  120824. update(options: SeriesOptionsType, redraw?: boolean): void;
  120825. }
  120826. /**
  120827. * The SVGElement prototype is a JavaScript wrapper for SVG elements used in the
  120828. * rendering layer of Highcharts. Combined with the Highcharts.SVGRenderer
  120829. * object, these prototypes allow freeform annotation in the charts or even in
  120830. * HTML pages without instanciating a chart. The SVGElement can also wrap HTML
  120831. * labels, when `text` or `label` elements are created with the `useHTML`
  120832. * parameter.
  120833. *
  120834. * The SVGElement instances are created through factory functions on the
  120835. * Highcharts.SVGRenderer object, like rect, path, text, label, g and more.
  120836. */
  120837. export class SVGElement {
  120838. /**
  120839. * The primary DOM node. Each `SVGElement` instance wraps a main DOM node,
  120840. * but may also represent more nodes.
  120841. */
  120842. element: (HTMLDOMElement|SVGDOMElement);
  120843. /**
  120844. * The renderer that the SVGElement belongs to.
  120845. */
  120846. renderer: SVGRenderer;
  120847. /**
  120848. * Add the element to the DOM. All elements must be added this way.
  120849. *
  120850. * @param parent
  120851. * The parent item to add it to. If undefined, the element is added
  120852. * to the Highcharts.SVGRenderer.box.
  120853. *
  120854. * @return Returns the SVGElement for chaining.
  120855. */
  120856. add(parent?: SVGElement): SVGElement;
  120857. /**
  120858. * Add a class name to an element.
  120859. *
  120860. * @param className
  120861. * The new class name to add.
  120862. *
  120863. * @param replace
  120864. * When true, the existing class name(s) will be overwritten with the
  120865. * new one. When false, the new one is added.
  120866. *
  120867. * @return Return the SVG element for chainability.
  120868. */
  120869. addClass(className: string, replace?: boolean): SVGElement;
  120870. /**
  120871. * Align the element relative to the chart or another box.
  120872. *
  120873. * @param alignOptions
  120874. * The alignment options. The function can be called without this
  120875. * parameter in order to re-align an element after the box has been
  120876. * updated.
  120877. *
  120878. * @param alignByTranslate
  120879. * Align element by translation.
  120880. *
  120881. * @param box
  120882. * The box to align to, needs a width and height. When the box is a
  120883. * string, it refers to an object in the Renderer. For example, when
  120884. * box is `spacingBox`, it refers to `Renderer.spacingBox` which
  120885. * holds `width`, `height`, `x` and `y` properties.
  120886. *
  120887. * @return Returns the SVGElement for chaining.
  120888. */
  120889. align(alignOptions?: AlignObject, alignByTranslate?: boolean, box?: (string|BBoxObject)): SVGElement;
  120890. /**
  120891. * Animate to given attributes or CSS properties.
  120892. *
  120893. * @param params
  120894. * SVG attributes or CSS to animate.
  120895. *
  120896. * @param options
  120897. * Animation options.
  120898. *
  120899. * @param complete
  120900. * Function to perform at the end of animation.
  120901. *
  120902. * @return Returns the SVGElement for chaining.
  120903. */
  120904. animate(params: SVGAttributes, options?: (boolean|Partial<AnimationOptionsObject>), complete?: Function): SVGElement;
  120905. attr(key: string): (number|string);
  120906. /**
  120907. * Apply native and custom attributes to the SVG elements.
  120908. *
  120909. * In order to set the rotation center for rotation, set x and y to 0 and
  120910. * use `translateX` and `translateY` attributes to position the element
  120911. * instead.
  120912. *
  120913. * Attributes frequently used in Highcharts are `fill`, `stroke`,
  120914. * `stroke-width`.
  120915. *
  120916. * @param hash
  120917. * The native and custom SVG attributes.
  120918. *
  120919. * @param val
  120920. * If the type of the first argument is `string`, the second can be a
  120921. * value, which will serve as a single attribute setter. If the first
  120922. * argument is a string and the second is undefined, the function
  120923. * serves as a getter and the current value of the property is
  120924. * returned.
  120925. *
  120926. * @param complete
  120927. * A callback function to execute after setting the attributes. This
  120928. * makes the function compliant and interchangeable with the
  120929. * SVGElement#animate function.
  120930. *
  120931. * @param continueAnimation
  120932. * Used internally when `.attr` is called as part of an animation
  120933. * step. Otherwise, calling `.attr` for an attribute will stop
  120934. * animation for that attribute.
  120935. *
  120936. * @return If used as a setter, it returns the current Highcharts.SVGElement
  120937. * so the calls can be chained. If used as a getter, the current
  120938. * value of the attribute is returned.
  120939. */
  120940. attr(hash?: (string|SVGAttributes), val?: (number|string|SVGPathArray), complete?: Function, continueAnimation?: boolean): SVGElement;
  120941. /**
  120942. * Apply a clipping rectangle to this element.
  120943. *
  120944. * @param clipRect
  120945. * The clipping rectangle. If skipped, the current clip is removed.
  120946. *
  120947. * @return Returns the SVG element to allow chaining.
  120948. */
  120949. clip(clipRect?: ClipRectElement): SVGElement;
  120950. /**
  120951. * Calculate the coordinates needed for drawing a rectangle crisply and
  120952. * return the calculated attributes.
  120953. *
  120954. * @param rect
  120955. * Rectangle to crisp.
  120956. *
  120957. * @param strokeWidth
  120958. * The stroke width to consider when computing crisp positioning. It
  120959. * can also be set directly on the rect parameter.
  120960. *
  120961. * @return The modified rectangle arguments.
  120962. */
  120963. crisp(rect: RectangleObject, strokeWidth?: number): RectangleObject;
  120964. /**
  120965. * Set styles for the element. In addition to CSS styles supported by native
  120966. * SVG and HTML elements, there are also some custom made for Highcharts,
  120967. * like `width`, `ellipsis` and `textOverflow` for SVG text elements.
  120968. *
  120969. * @param styles
  120970. * The new CSS styles.
  120971. *
  120972. * @return Return the SVG element for chaining.
  120973. */
  120974. css(styles: CSSObject): SVGElement;
  120975. /**
  120976. * Destroy the element and element wrapper and clear up the DOM and event
  120977. * hooks.
  120978. */
  120979. destroy(): void;
  120980. /**
  120981. * Fade out an element by animating its opacity down to 0, and hide it on
  120982. * complete. Used internally for the tooltip.
  120983. *
  120984. * @param duration
  120985. * The fade duration in milliseconds.
  120986. */
  120987. fadeOut(duration?: number): void;
  120988. /**
  120989. * Get the bounding box (width, height, x and y) for the element. Generally
  120990. * used to get rendered text size. Since this is called a lot in charts, the
  120991. * results are cached based on text properties, in order to save DOM
  120992. * traffic. The returned bounding box includes the rotation, so for example
  120993. * a single text line of rotation 90 will report a greater height, and a
  120994. * width corresponding to the line-height.
  120995. *
  120996. * @param reload
  120997. * Skip the cache and get the updated DOM bouding box.
  120998. *
  120999. * @param rot
  121000. * Override the element's rotation. This is internally used on axis
  121001. * labels with a value of 0 to find out what the bounding box would
  121002. * be have been if it were not rotated.
  121003. *
  121004. * @return The bounding box with `x`, `y`, `width` and `height` properties.
  121005. */
  121006. getBBox(reload?: boolean, rot?: number): BBoxObject;
  121007. /**
  121008. * Get the computed style. Only in styled mode.
  121009. *
  121010. * @param prop
  121011. * The property name to check for.
  121012. *
  121013. * @return The current computed value.
  121014. */
  121015. getStyle(prop: string): string;
  121016. /**
  121017. * Check if an element has the given class name.
  121018. *
  121019. * @param className
  121020. * The class name to check for.
  121021. *
  121022. * @return Whether the class name is found.
  121023. */
  121024. hasClass(className: string): boolean;
  121025. /**
  121026. * Hide the element, similar to setting the `visibility` attribute to
  121027. * `hidden`.
  121028. *
  121029. * @param hideByTranslation
  121030. * The flag to determine if element should be hidden by moving out of
  121031. * the viewport. Used for example for dataLabels.
  121032. *
  121033. * @return Returns the SVGElement for chaining.
  121034. */
  121035. hide(hideByTranslation?: boolean): SVGElement;
  121036. /**
  121037. * Initialize the SVG element. This function only exists to make the
  121038. * initialization process overridable. It should not be called directly.
  121039. *
  121040. * @param renderer
  121041. * The SVGRenderer instance to initialize to.
  121042. *
  121043. * @param nodeName
  121044. * The SVG node name.
  121045. */
  121046. init(renderer: SVGRenderer, nodeName: string): void;
  121047. /**
  121048. * Invert a group, rotate and flip. This is used internally on inverted
  121049. * charts, where the points and graphs are drawn as if not inverted, then
  121050. * the series group elements are inverted.
  121051. *
  121052. * @param inverted
  121053. * Whether to invert or not. An inverted shape can be un-inverted by
  121054. * setting it to false.
  121055. *
  121056. * @return Return the SVGElement for chaining.
  121057. */
  121058. invert(inverted: boolean): SVGElement;
  121059. /**
  121060. * Add an event listener. This is a simple setter that replaces all other
  121061. * events of the same type, opposed to the Highcharts#addEvent function.
  121062. *
  121063. * @param eventType
  121064. * The event type. If the type is `click`, Highcharts will internally
  121065. * translate it to a `touchstart` event on touch devices, to prevent
  121066. * the browser from waiting for a click event from firing.
  121067. *
  121068. * @param handler
  121069. * The handler callback.
  121070. *
  121071. * @return The SVGElement for chaining.
  121072. */
  121073. on(eventType: string, handler: Function): SVGElement;
  121074. /**
  121075. * Remove a class name from the element.
  121076. *
  121077. * @param className
  121078. * The class name to remove.
  121079. *
  121080. * @return Returns the SVG element for chainability.
  121081. */
  121082. removeClass(className: (string|RegExp)): SVGElement;
  121083. /**
  121084. * Set the coordinates needed to draw a consistent radial gradient across a
  121085. * shape regardless of positioning inside the chart. Used on pie slices to
  121086. * make all the slices have the same radial reference point.
  121087. *
  121088. * @param coordinates
  121089. * The center reference. The format is `[centerX, centerY, diameter]`
  121090. * in pixels.
  121091. *
  121092. * @return Returns the SVGElement for chaining.
  121093. */
  121094. setRadialReference(coordinates: Array<number>): SVGElement;
  121095. /**
  121096. * Add a shadow to the element. Must be called after the element is added to
  121097. * the DOM. In styled mode, this method is not used, instead use `defs` and
  121098. * filters.
  121099. *
  121100. * @param shadowOptions
  121101. * The shadow options. If `true`, the default options are applied. If
  121102. * `false`, the current shadow will be removed.
  121103. *
  121104. * @param group
  121105. * The SVG group element where the shadows will be applied. The
  121106. * default is to add it to the same parent as the current element.
  121107. * Internally, this is ised for pie slices, where all the shadows are
  121108. * added to an element behind all the slices.
  121109. *
  121110. * @param cutOff
  121111. * Used internally for column shadows.
  121112. *
  121113. * @return Returns the SVGElement for chaining.
  121114. */
  121115. shadow(shadowOptions?: (boolean|ShadowOptionsObject), group?: SVGElement, cutOff?: boolean): SVGElement;
  121116. /**
  121117. * Show the element after it has been hidden.
  121118. *
  121119. * @param inherit
  121120. * Set the visibility attribute to `inherit` rather than `visible`.
  121121. * The difference is that an element with `visibility="visible"` will
  121122. * be visible even if the parent is hidden.
  121123. *
  121124. * @return Returns the SVGElement for chaining.
  121125. */
  121126. show(inherit?: boolean): SVGElement;
  121127. /**
  121128. * Get the computed stroke width in pixel values. This is used extensively
  121129. * when drawing shapes to ensure the shapes are rendered crisp and
  121130. * positioned correctly relative to each other. Using `shape-rendering:
  121131. * crispEdges` leaves us less control over positioning, for example when we
  121132. * want to stack columns next to each other, or position things
  121133. * pixel-perfectly within the plot box.
  121134. *
  121135. * The common pattern when placing a shape is:
  121136. *
  121137. * - Create the SVGElement and add it to the DOM. In styled mode, it will
  121138. * now receive a stroke width from the style sheet. In classic mode we will
  121139. * add the `stroke-width` attribute.
  121140. *
  121141. * - Read the computed `elem.strokeWidth()`.
  121142. *
  121143. * - Place it based on the stroke width.
  121144. *
  121145. * @return The stroke width in pixels. Even if the given stroke widtch (in
  121146. * CSS or by attributes) is based on `em` or other units, the pixel
  121147. * size is returned.
  121148. */
  121149. strokeWidth(): number;
  121150. /**
  121151. * Bring the element to the front. Alternatively, a new zIndex can be set.
  121152. *
  121153. * @return Returns the SVGElement for chaining.
  121154. */
  121155. toFront(): SVGElement;
  121156. /**
  121157. * Move an object and its children by x and y values.
  121158. *
  121159. * @param x
  121160. * The x value.
  121161. *
  121162. * @param y
  121163. * The y value.
  121164. */
  121165. translate(x: number, y: number): SVGElement;
  121166. }
  121167. /**
  121168. * Allows direct access to the Highcharts rendering layer in order to draw
  121169. * primitive shapes like circles, rectangles, paths or text directly on a chart,
  121170. * or independent from any chart. The SVGRenderer represents a wrapper object
  121171. * for SVG in modern browsers. Through the VMLRenderer, part of the `oldie.js`
  121172. * module, it also brings vector graphics to IE <= 8.
  121173. *
  121174. * An existing chart's renderer can be accessed through Chart.renderer. The
  121175. * renderer can also be used completely decoupled from a chart.
  121176. */
  121177. export class SVGRenderer {
  121178. /**
  121179. * Allows direct access to the Highcharts rendering layer in order to draw
  121180. * primitive shapes like circles, rectangles, paths or text directly on a
  121181. * chart, or independent from any chart. The SVGRenderer represents a
  121182. * wrapper object for SVG in modern browsers. Through the VMLRenderer, part
  121183. * of the `oldie.js` module, it also brings vector graphics to IE <= 8.
  121184. *
  121185. * An existing chart's renderer can be accessed through Chart.renderer. The
  121186. * renderer can also be used completely decoupled from a chart.
  121187. *
  121188. * @param container
  121189. * Where to put the SVG in the web page.
  121190. *
  121191. * @param width
  121192. * The width of the SVG.
  121193. *
  121194. * @param height
  121195. * The height of the SVG.
  121196. *
  121197. * @param style
  121198. * The box style, if not in styleMode
  121199. *
  121200. * @param forExport
  121201. * Whether the rendered content is intended for export.
  121202. *
  121203. * @param allowHTML
  121204. * Whether the renderer is allowed to include HTML text, which will
  121205. * be projected on top of the SVG.
  121206. *
  121207. * @param styledMode
  121208. * Whether the renderer belongs to a chart that is in styled mode. If
  121209. * it does, it will avoid setting presentational attributes in some
  121210. * cases, but not when set explicitly through `.attr` and `.css` etc.
  121211. */
  121212. constructor(container: HTMLDOMElement, width: number, height: number, style?: CSSObject, forExport?: boolean, allowHTML?: boolean, styledMode?: boolean);
  121213. /**
  121214. * The root `svg` node of the renderer.
  121215. */
  121216. box: SVGDOMElement;
  121217. /**
  121218. * The wrapper for the root `svg` node of the renderer.
  121219. */
  121220. boxWrapper: SVGElement;
  121221. /**
  121222. * A pointer to the `defs` node of the root SVG.
  121223. */
  121224. defs: SVGElement;
  121225. /**
  121226. * A pointer to the renderer's associated Element class. The VMLRenderer
  121227. * will have a pointer to VMLElement here.
  121228. */
  121229. Element: SVGElement;
  121230. /**
  121231. * A collection of characters mapped to HTML entities. When `useHTML` on an
  121232. * element is true, these entities will be rendered correctly by HTML. In
  121233. * the SVG pseudo-HTML, they need to be unescaped back to simple characters,
  121234. * so for example `&lt;` will render as `<`.
  121235. */
  121236. escapes: Dictionary<string>;
  121237. /**
  121238. * An extendable collection of functions for defining symbol paths.
  121239. */
  121240. symbols: SymbolDictionary;
  121241. /**
  121242. * Draw and return an arc. Overloaded function that takes arguments object.
  121243. *
  121244. * @param attribs
  121245. * Initial SVG attributes.
  121246. *
  121247. * @return The generated wrapper element.
  121248. */
  121249. arc(attribs: SVGAttributes): SVGElement;
  121250. /**
  121251. * Draw and return an arc.
  121252. *
  121253. * @param x
  121254. * Center X position.
  121255. *
  121256. * @param y
  121257. * Center Y position.
  121258. *
  121259. * @param r
  121260. * The outer radius' of the arc.
  121261. *
  121262. * @param innerR
  121263. * Inner radius like used in donut charts.
  121264. *
  121265. * @param start
  121266. * The starting angle of the arc in radians, where 0 is to the right
  121267. * and `-Math.PI/2` is up.
  121268. *
  121269. * @param end
  121270. * The ending angle of the arc in radians, where 0 is to the right
  121271. * and `-Math.PI/2` is up.
  121272. *
  121273. * @return The generated wrapper element.
  121274. */
  121275. arc(x?: number, y?: number, r?: number, innerR?: number, start?: number, end?: number): SVGElement;
  121276. /**
  121277. * Create a button with preset states.
  121278. *
  121279. * @param text
  121280. * The text or HTML to draw.
  121281. *
  121282. * @param x
  121283. * The x position of the button's left side.
  121284. *
  121285. * @param y
  121286. * The y position of the button's top side.
  121287. *
  121288. * @param callback
  121289. * The function to execute on button click or touch.
  121290. *
  121291. * @param normalState
  121292. * SVG attributes for the normal state.
  121293. *
  121294. * @param hoverState
  121295. * SVG attributes for the hover state.
  121296. *
  121297. * @param pressedState
  121298. * SVG attributes for the pressed state.
  121299. *
  121300. * @param disabledState
  121301. * SVG attributes for the disabled state.
  121302. *
  121303. * @param shape
  121304. * The shape type.
  121305. *
  121306. * @param useHTML
  121307. * Wether to use HTML to render the label.
  121308. *
  121309. * @return The button element.
  121310. */
  121311. button(text: string, x: number, y: number, callback: EventCallbackFunction<SVGElement>, normalState?: SVGAttributes, hoverState?: SVGAttributes, pressedState?: SVGAttributes,
  121312. disabledState?: SVGAttributes, shape?: SymbolKeyValue, useHTML?: boolean): SVGElement;
  121313. /**
  121314. * Draw a circle, wraps the SVG `circle` element.
  121315. *
  121316. * @param attribs
  121317. * The initial attributes.
  121318. *
  121319. * @return The generated wrapper element.
  121320. */
  121321. circle(attribs?: SVGAttributes): SVGElement;
  121322. /**
  121323. * Draw a circle, wraps the SVG `circle` element.
  121324. *
  121325. * @param x
  121326. * The center x position.
  121327. *
  121328. * @param y
  121329. * The center y position.
  121330. *
  121331. * @param r
  121332. * The radius.
  121333. *
  121334. * @return The generated wrapper element.
  121335. */
  121336. circle(x?: number, y?: number, r?: number): SVGElement;
  121337. /**
  121338. * Define a clipping rectangle. The clipping rectangle is later applied to
  121339. * SVGElement objects through the SVGElement#clip function.
  121340. *
  121341. * @return A clipping rectangle.
  121342. */
  121343. clipRect(x?: number, y?: number, width?: number, height?: number): ClipRectElement;
  121344. /**
  121345. * Create a wrapper for an SVG element. Serves as a factory for SVGElement,
  121346. * but this function is itself mostly called from primitive factories like
  121347. * SVGRenderer#path, SVGRenderer#rect or SVGRenderer#text.
  121348. *
  121349. * @param nodeName
  121350. * The node name, for example `rect`, `g` etc.
  121351. *
  121352. * @return The generated SVGElement.
  121353. */
  121354. createElement(nodeName: string): SVGElement;
  121355. /**
  121356. * Make a straight line crisper by not spilling out to neighbour pixels.
  121357. *
  121358. * @param points
  121359. * The original points on the format `[['M', 0, 0], ['L', 100, 0]]`.
  121360. *
  121361. * @param width
  121362. * The width of the line.
  121363. *
  121364. * @param roundingFunction
  121365. * The rounding function name on the `Math` object, can be one of
  121366. * `round`, `floor` or `ceil`.
  121367. *
  121368. * @return The original points array, but modified to render crisply.
  121369. */
  121370. crispLine(points: SVGPathArray, width: number, roundingFunction: string): SVGPathArray;
  121371. /**
  121372. * General method for adding a definition to the SVG `defs` tag. Can be used
  121373. * for gradients, fills, filters etc. Styled mode only. A hook for adding
  121374. * general definitions to the SVG's defs tag. Definitions can be referenced
  121375. * from the CSS by its `id`. Read more in gradients, shadows and patterns.
  121376. * Styled mode only.
  121377. *
  121378. * @param def
  121379. * A serialized form of an SVG definition, including children.
  121380. *
  121381. * @return The inserted node.
  121382. */
  121383. definition(def: SVGDefinitionObject): SVGElement;
  121384. /**
  121385. * Destroys the renderer and its allocated members.
  121386. */
  121387. destroy(): null;
  121388. /**
  121389. * Dummy function for plugins, called every time the renderer is updated.
  121390. * Prior to Highcharts 5, this was used for the canvg renderer.
  121391. */
  121392. draw(): void;
  121393. /**
  121394. * Utility to return the baseline offset and total line height from the font
  121395. * size.
  121396. *
  121397. * @param fontSize
  121398. * The current font size to inspect. If not given, the font size will
  121399. * be found from the DOM element.
  121400. *
  121401. * @param elem
  121402. * The element to inspect for a current font size.
  121403. *
  121404. * @return The font metrics.
  121405. */
  121406. fontMetrics(fontSize?: (number|string), elem?: (SVGDOMElement|SVGElement)): FontMetricsObject;
  121407. /**
  121408. * Create and return an svg group element. Child Highcharts.SVGElement
  121409. * objects are added to the group by using the group as the first parameter
  121410. * in add().
  121411. *
  121412. * @param name
  121413. * The group will be given a class name of `highcharts-{name}`. This
  121414. * can be used for styling and scripting.
  121415. *
  121416. * @return The generated wrapper element.
  121417. */
  121418. g(name?: string): SVGElement;
  121419. /**
  121420. * Returns white for dark colors and black for bright colors.
  121421. *
  121422. * @param rgba
  121423. * The color to get the contrast for.
  121424. *
  121425. * @return The contrast color, either `#000000` or `#FFFFFF`.
  121426. */
  121427. getContrast(rgba: ColorString): ColorString;
  121428. /**
  121429. * Display an image.
  121430. *
  121431. * @param src
  121432. * The image source.
  121433. *
  121434. * @param x
  121435. * The X position.
  121436. *
  121437. * @param y
  121438. * The Y position.
  121439. *
  121440. * @param width
  121441. * The image width. If omitted, it defaults to the image file width.
  121442. *
  121443. * @param height
  121444. * The image height. If omitted it defaults to the image file height.
  121445. *
  121446. * @param onload
  121447. * Event handler for image load.
  121448. *
  121449. * @return The generated wrapper element.
  121450. */
  121451. image(src: string, x?: number, y?: number, width?: number, height?: number, onload?: Function): SVGElement;
  121452. /**
  121453. * Initialize the SVGRenderer. Overridable initializer function that takes
  121454. * the same parameters as the constructor.
  121455. *
  121456. * @param container
  121457. * Where to put the SVG in the web page.
  121458. *
  121459. * @param width
  121460. * The width of the SVG.
  121461. *
  121462. * @param height
  121463. * The height of the SVG.
  121464. *
  121465. * @param style
  121466. * The box style, if not in styleMode
  121467. *
  121468. * @param forExport
  121469. * Whether the rendered content is intended for export.
  121470. *
  121471. * @param allowHTML
  121472. * Whether the renderer is allowed to include HTML text, which will
  121473. * be projected on top of the SVG.
  121474. *
  121475. * @param styledMode
  121476. * Whether the renderer belongs to a chart that is in styled mode. If
  121477. * it does, it will avoid setting presentational attributes in some
  121478. * cases, but not when set explicitly through `.attr` and `.css` etc.
  121479. */
  121480. init(container: HTMLDOMElement, width: number, height: number, style?: CSSObject, forExport?: boolean, allowHTML?: boolean, styledMode?: boolean): void;
  121481. /**
  121482. * Detect whether the renderer is hidden. This happens when one of the
  121483. * parent elements has `display: none`. Used internally to detect when we
  121484. * needto render preliminarily in another div to get the text bounding boxes
  121485. * right.
  121486. *
  121487. * @return True if it is hidden.
  121488. */
  121489. isHidden(): boolean;
  121490. /**
  121491. * Draw a label, which is an extended text element with support for border
  121492. * and background. Highcharts creates a `g` element with a text and a `path`
  121493. * or `rect` inside, to make it behave somewhat like a HTML div. Border and
  121494. * background are set through `stroke`, `stroke-width` and `fill` attributes
  121495. * using the attr method. To update the text after render, run `label.attr({
  121496. * text: 'New text' })`.
  121497. *
  121498. * @param str
  121499. * The initial text string or (subset) HTML to render.
  121500. *
  121501. * @param x
  121502. * The x position of the label's left side.
  121503. *
  121504. * @param y
  121505. * The y position of the label's top side or baseline, depending on
  121506. * the `baseline` parameter.
  121507. *
  121508. * @param shape
  121509. * The shape of the label's border/background, if any. Defaults to
  121510. * `rect`. Other possible values are `callout` or other shapes
  121511. * defined in Highcharts.SVGRenderer#symbols.
  121512. *
  121513. * @param anchorX
  121514. * In case the `shape` has a pointer, like a flag, this is the
  121515. * coordinates it should be pinned to.
  121516. *
  121517. * @param anchorY
  121518. * In case the `shape` has a pointer, like a flag, this is the
  121519. * coordinates it should be pinned to.
  121520. *
  121521. * @param useHTML
  121522. * Wether to use HTML to render the label.
  121523. *
  121524. * @param baseline
  121525. * Whether to position the label relative to the text baseline, like
  121526. * renderer.text, or to the upper border of the rectangle.
  121527. *
  121528. * @param className
  121529. * Class name for the group.
  121530. *
  121531. * @return The generated label.
  121532. */
  121533. label(str: string, x: number, y?: number, shape?: string, anchorX?: number, anchorY?: number, useHTML?: boolean, baseline?: boolean, className?: string): SVGElement;
  121534. /**
  121535. * Draw a path, wraps the SVG `path` element.
  121536. *
  121537. * @param path
  121538. * An SVG path definition in array form.
  121539. *
  121540. * @return The generated wrapper element.
  121541. */
  121542. path(path?: SVGPathArray): SVGElement;
  121543. /**
  121544. * Draw a path, wraps the SVG `path` element.
  121545. *
  121546. * @param attribs
  121547. * The initial attributes.
  121548. *
  121549. * @return The generated wrapper element.
  121550. */
  121551. path(attribs?: SVGAttributes): SVGElement;
  121552. /**
  121553. * Draw and return a rectangle.
  121554. *
  121555. * @param attributes
  121556. * General SVG attributes for the rectangle.
  121557. *
  121558. * @return The generated wrapper element.
  121559. */
  121560. rect(attributes?: SVGAttributes): SVGElement;
  121561. /**
  121562. * Draw and return a rectangle.
  121563. *
  121564. * @param x
  121565. * Left position.
  121566. *
  121567. * @param y
  121568. * Top position.
  121569. *
  121570. * @param width
  121571. * Width of the rectangle.
  121572. *
  121573. * @param height
  121574. * Height of the rectangle.
  121575. *
  121576. * @param r
  121577. * Border corner radius.
  121578. *
  121579. * @param strokeWidth
  121580. * A stroke width can be supplied to allow crisp drawing.
  121581. *
  121582. * @return The generated wrapper element.
  121583. */
  121584. rect(x?: number, y?: number, width?: number, height?: number, r?: number, strokeWidth?: number): SVGElement;
  121585. /**
  121586. * Resize the SVGRenderer#box and re-align all aligned child elements.
  121587. *
  121588. * @param width
  121589. * The new pixel width.
  121590. *
  121591. * @param height
  121592. * The new pixel height.
  121593. *
  121594. * @param animate
  121595. * Whether and how to animate.
  121596. */
  121597. setSize(width: number, height: number, animate?: (boolean|Partial<AnimationOptionsObject>)): void;
  121598. /**
  121599. * Apply the global style on the renderer, mixed with the default styles.
  121600. *
  121601. * @param style
  121602. * CSS to apply.
  121603. */
  121604. setStyle(style: CSSObject): void;
  121605. /**
  121606. * Draw a symbol out of pre-defined shape paths from SVGRenderer#symbols. It
  121607. * is used in Highcharts for point makers, which cake a `symbol` option, and
  121608. * label and button backgrounds like in the tooltip and stock flags.
  121609. *
  121610. * @param symbol
  121611. * The symbol name.
  121612. *
  121613. * @param x
  121614. * The X coordinate for the top left position.
  121615. *
  121616. * @param y
  121617. * The Y coordinate for the top left position.
  121618. *
  121619. * @param width
  121620. * The pixel width.
  121621. *
  121622. * @param height
  121623. * The pixel height.
  121624. *
  121625. * @param options
  121626. * Additional options, depending on the actual symbol drawn.
  121627. */
  121628. symbol(symbol: string, x?: number, y?: number, width?: number, height?: number, options?: SymbolOptionsObject): SVGElement;
  121629. /**
  121630. * Draw text. The text can contain a subset of HTML, like spans and anchors
  121631. * and some basic text styling of these. For more advanced features like
  121632. * border and background, use Highcharts.SVGRenderer#label instead. To
  121633. * update the text after render, run `text.attr({ text: 'New text' })`.
  121634. *
  121635. * @param str
  121636. * The text of (subset) HTML to draw.
  121637. *
  121638. * @param x
  121639. * The x position of the text's lower left corner.
  121640. *
  121641. * @param y
  121642. * The y position of the text's lower left corner.
  121643. *
  121644. * @param useHTML
  121645. * Use HTML to render the text.
  121646. *
  121647. * @return The text object.
  121648. */
  121649. text(str?: string, x?: number, y?: number, useHTML?: boolean): SVGElement;
  121650. }
  121651. /**
  121652. * The Tick class.
  121653. */
  121654. export class Tick {
  121655. /**
  121656. * The Tick class.
  121657. *
  121658. * @param axis
  121659. * The axis of the tick.
  121660. *
  121661. * @param pos
  121662. * The position of the tick on the axis in terms of axis values.
  121663. *
  121664. * @param type
  121665. * The type of tick, either 'minor' or an empty string
  121666. *
  121667. * @param noLabel
  121668. * Whether to disable the label or not. Defaults to false.
  121669. *
  121670. * @param parameters
  121671. * Optional parameters for the tick.
  121672. */
  121673. constructor(axis: Axis, pos: number, type?: string, noLabel?: boolean, parameters?: object);
  121674. /**
  121675. * The related axis of the tick.
  121676. */
  121677. axis: Axis;
  121678. /**
  121679. * The rendered grid line of the tick.
  121680. */
  121681. gridLine?: SVGElement;
  121682. /**
  121683. * True if the tick is the first one on the axis.
  121684. */
  121685. readonly isFirst?: boolean;
  121686. /**
  121687. * True if the tick is the last one on the axis.
  121688. */
  121689. readonly isLast?: boolean;
  121690. /**
  121691. * The rendered text label of the tick.
  121692. */
  121693. label?: SVGElement;
  121694. /**
  121695. * The rendered mark of the tick.
  121696. */
  121697. mark?: SVGElement;
  121698. /**
  121699. * The logical position of the tick on the axis in terms of axis values.
  121700. */
  121701. pos: number;
  121702. /**
  121703. * The mark offset of the tick on the axis. Usually `undefined`, numeric for
  121704. * grid axes.
  121705. */
  121706. tickmarkOffset?: number;
  121707. /**
  121708. * The tick type, which can be `"minor"`, or an empty string.
  121709. */
  121710. type: string;
  121711. }
  121712. /**
  121713. * The Time class. Time settings are applied in general for each page using
  121714. * `Highcharts.setOptions`, or individually for each Chart item through the time
  121715. * options set.
  121716. *
  121717. * The Time object is available from Highcharts.Chart#time, which refers to
  121718. * `Highcharts.time` if no individual time settings are applied.
  121719. */
  121720. export class Time {
  121721. /**
  121722. * The Time class. Time settings are applied in general for each page using
  121723. * `Highcharts.setOptions`, or individually for each Chart item through the
  121724. * time options set.
  121725. *
  121726. * The Time object is available from Highcharts.Chart#time, which refers to
  121727. * `Highcharts.time` if no individual time settings are applied.
  121728. *
  121729. * @param options
  121730. * Time options as defined in chart.options.time.
  121731. */
  121732. constructor(options: TimeOptions);
  121733. /**
  121734. * Formats a JavaScript date timestamp (milliseconds since Jan 1st 1970)
  121735. * into a human readable date string. The available format keys are listed
  121736. * below. Additional formats can be given in the Highcharts.dateFormats
  121737. * hook.
  121738. *
  121739. * Supported format keys:
  121740. *
  121741. * - `%a`: Short weekday, like 'Mon'
  121742. *
  121743. * - `%A`: Long weekday, like 'Monday'
  121744. *
  121745. * - `%d`: Two digit day of the month, 01 to 31
  121746. *
  121747. * - `%e`: Day of the month, 1 through 31
  121748. *
  121749. * - `%w`: Day of the week, 0 through 6
  121750. *
  121751. * - `%b`: Short month, like 'Jan'
  121752. *
  121753. * - `%B`: Long month, like 'January'
  121754. *
  121755. * - `%m`: Two digit month number, 01 through 12
  121756. *
  121757. * - `%y`: Two digits year, like 09 for 2009
  121758. *
  121759. * - `%Y`: Four digits year, like 2009
  121760. *
  121761. * - `%H`: Two digits hours in 24h format, 00 through 23
  121762. *
  121763. * - `%k`: Hours in 24h format, 0 through 23
  121764. *
  121765. * - `%I`: Two digits hours in 12h format, 00 through 11
  121766. *
  121767. * - `%l`: Hours in 12h format, 1 through 12
  121768. *
  121769. * - `%M`: Two digits minutes, 00 through 59
  121770. *
  121771. * - `%p`: Upper case AM or PM
  121772. *
  121773. * - `%P`: Lower case AM or PM
  121774. *
  121775. * - `%S`: Two digits seconds, 00 through 59
  121776. *
  121777. * - `%L`: Milliseconds (naming from Ruby)
  121778. *
  121779. * @param format
  121780. * The desired format where various time representations are prefixed
  121781. * with %.
  121782. *
  121783. * @param timestamp
  121784. * The JavaScript timestamp.
  121785. *
  121786. * @param capitalize
  121787. * Upper case first letter in the return.
  121788. *
  121789. * @return The formatted date.
  121790. */
  121791. dateFormat(format: string, timestamp: number, capitalize?: boolean): string;
  121792. /**
  121793. * Get the value of a date object in given units, and subject to the Time
  121794. * object's current timezone settings. This function corresponds directly to
  121795. * JavaScripts `Date.getXXX / Date.getUTCXXX`, so instead of calling
  121796. * `date.getHours()` or `date.getUTCHours()` we will call
  121797. * `time.get('Hours')`.
  121798. *
  121799. * @return The given time unit
  121800. */
  121801. get(unit: TimeUnitValue, date: Date): number;
  121802. /**
  121803. * Return an array with time positions distributed on round time values
  121804. * right and right after min and max. Used in datetime axes as well as for
  121805. * grouping data on a datetime axis.
  121806. *
  121807. * @param normalizedInterval
  121808. * The interval in axis values (ms) and the count
  121809. *
  121810. * @param min
  121811. * The minimum in axis values
  121812. *
  121813. * @param max
  121814. * The maximum in axis values
  121815. */
  121816. getTimeTicks(normalizedInterval: TimeNormalizedObject, min?: number, max?: number, startOfWeek?: number): AxisTickPositionsArray;
  121817. /**
  121818. * Get the time zone offset based on the current timezone information as set
  121819. * in the global options.
  121820. *
  121821. * @param timestamp
  121822. * The JavaScript timestamp to inspect.
  121823. *
  121824. * @return The timezone offset in minutes compared to UTC.
  121825. */
  121826. getTimezoneOffset(timestamp: number): number;
  121827. /**
  121828. * Make a time and returns milliseconds. Interprets the inputs as UTC time,
  121829. * local time or a specific timezone time depending on the current time
  121830. * settings.
  121831. *
  121832. * @param year
  121833. * The year
  121834. *
  121835. * @param month
  121836. * The month. Zero-based, so January is 0.
  121837. *
  121838. * @param date
  121839. * The day of the month
  121840. *
  121841. * @param hours
  121842. * The hour of the day, 0-23.
  121843. *
  121844. * @param minutes
  121845. * The minutes
  121846. *
  121847. * @param seconds
  121848. * The seconds
  121849. *
  121850. * @return The time in milliseconds since January 1st 1970.
  121851. */
  121852. makeTime(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number): number;
  121853. /**
  121854. * Set the value of a date object in given units, and subject to the Time
  121855. * object's current timezone settings. This function corresponds directly to
  121856. * JavaScripts `Date.setXXX / Date.setUTCXXX`, so instead of calling
  121857. * `date.setHours(0)` or `date.setUTCHours(0)` we will call
  121858. * `time.set('Hours', 0)`.
  121859. *
  121860. * @return The epoch milliseconds of the updated date
  121861. */
  121862. set(unit: TimeUnitValue, date: Date, value: number): number;
  121863. }
  121864. /**
  121865. * Tooltip of a chart.
  121866. */
  121867. export class Tooltip {
  121868. /**
  121869. * Tooltip of a chart.
  121870. *
  121871. * @param chart
  121872. * The chart instance.
  121873. *
  121874. * @param options
  121875. * Tooltip options.
  121876. */
  121877. constructor(chart: Chart, options: TooltipOptions);
  121878. /**
  121879. * Chart of the tooltip.
  121880. */
  121881. readonly chart: Chart;
  121882. /**
  121883. * Reference to the tooltip's container, when [Highcharts.Tooltip#outside]
  121884. * is set to true, otherwise it's undefined.
  121885. */
  121886. container?: HTMLDOMElement;
  121887. /**
  121888. * Used tooltip options.
  121889. */
  121890. readonly options: TooltipOptions;
  121891. /**
  121892. * Whether to allow the tooltip to render outside the chart's SVG element
  121893. * box. By default (false), the tooltip is rendered within the chart's SVG
  121894. * element, which results in the tooltip being aligned inside the chart
  121895. * area.
  121896. */
  121897. readonly outside: boolean;
  121898. /**
  121899. * Reference to the tooltip's renderer, when [Highcharts.Tooltip#outside] is
  121900. * set to true, otherwise it's undefined.
  121901. */
  121902. renderer?: SVGRenderer;
  121903. /**
  121904. * When the tooltip is shared, the entire plot area will capture mouse
  121905. * movement or touch events.
  121906. */
  121907. readonly shared?: boolean;
  121908. /**
  121909. * True, if the tooltip is split into one label per series, with the header
  121910. * close to the axis.
  121911. */
  121912. readonly split?: boolean;
  121913. /**
  121914. * In case no user defined formatter is given, this will be used. Note that
  121915. * the context here is an object holding point, series, x, y etc.
  121916. */
  121917. defaultFormatter(tooltip: Tooltip): Array<string>;
  121918. /**
  121919. * Removes and destroys the tooltip and its elements.
  121920. */
  121921. destroy(): void;
  121922. /**
  121923. * Creates the Tooltip label element if it does not exist, then returns it.
  121924. */
  121925. getLabel(): SVGElement;
  121926. /**
  121927. * Hides the tooltip with a fade out animation.
  121928. *
  121929. * @param delay
  121930. * The fade out in milliseconds. If no value is provided the value of
  121931. * the tooltip.hideDelay option is used. A value of 0 disables the
  121932. * fade out animation.
  121933. */
  121934. hide(delay?: number): void;
  121935. /**
  121936. * Refresh the tooltip's text and position.
  121937. *
  121938. * @param pointOrPoints
  121939. * Either a point or an array of points.
  121940. *
  121941. * @param mouseEvent
  121942. * Mouse event, that is responsible for the refresh and should be
  121943. * used for the tooltip update.
  121944. */
  121945. refresh(pointOrPoints: (Point|Array<Point>), mouseEvent?: PointerEventObject): void;
  121946. /**
  121947. * Updates the tooltip with the provided tooltip options.
  121948. *
  121949. * @param options
  121950. * The tooltip options to update.
  121951. */
  121952. update(options: TooltipOptions): void;
  121953. }
  121954. /**
  121955. * An array containing the current chart objects in the page. A chart's position
  121956. * in the array is preserved throughout the page's lifetime. When a chart is
  121957. * destroyed, the array item becomes `undefined`.
  121958. */
  121959. export let charts: Array<(Chart|undefined)>;
  121960. /**
  121961. * A hook for defining additional date format specifiers. New specifiers are
  121962. * defined as key-value pairs by using the specifier as key, and a function
  121963. * which takes the timestamp as value. This function returns the formatted
  121964. * portion of the date.
  121965. */
  121966. export let dateFormats: Dictionary<TimeFormatCallbackFunction>;
  121967. /**
  121968. * Global default settings.
  121969. */
  121970. export let defaultOptions: Options;
  121971. /**
  121972. * Theme options that should get applied to the chart. In module mode it might
  121973. * not be possible to change this property because of read-only restrictions,
  121974. * instead use Highcharts.setOptions.
  121975. */
  121976. export let theme: Options;
  121977. /**
  121978. * Global `Time` object with default options. Since v6.0.5, time settings can be
  121979. * applied individually for each chart. If no individual settings apply, this
  121980. * `Time` object is shared by all instances.
  121981. */
  121982. export let time: Time;
  121983. /**
  121984. * Add an event listener.
  121985. *
  121986. * @param el
  121987. * The element or object to add a listener to. It can be a
  121988. * HTMLDOMElement, an SVGElement or any other object.
  121989. *
  121990. * @param type
  121991. * The event type.
  121992. *
  121993. * @param fn
  121994. * The function callback to execute when the event is fired.
  121995. *
  121996. * @param options
  121997. * Options for adding the event.
  121998. *
  121999. * @return A callback function to remove the added event.
  122000. */
  122001. export function addEvent<T>(el: (T|Class<T>), type: string, fn: (Function|EventCallbackFunction<T>), options?: EventOptionsObject): Function;
  122002. /**
  122003. * The global animate method, which uses Fx to create individual animators.
  122004. *
  122005. * @param el
  122006. * The element to animate.
  122007. *
  122008. * @param params
  122009. * An object containing key-value pairs of the properties to animate.
  122010. * Supports numeric as pixel-based CSS properties for HTML objects and
  122011. * attributes for SVGElements.
  122012. *
  122013. * @param opt
  122014. * Animation options.
  122015. */
  122016. export function animate(el: (HTMLDOMElement|SVGElement), params: (CSSObject|SVGAttributes), opt?: Partial<AnimationOptionsObject>): void;
  122017. /**
  122018. * Get the animation in object form, where a disabled animation is always
  122019. * returned as `{ duration: 0 }`.
  122020. *
  122021. * @param animation
  122022. * An animation setting. Can be an object with duration, complete and
  122023. * easing properties, or a boolean to enable or disable.
  122024. *
  122025. * @return An object with at least a duration property.
  122026. */
  122027. export function animObject(animation?: (boolean|AnimationOptionsObject)): AnimationOptionsObject;
  122028. /**
  122029. * Non-recursive method to find the lowest member of an array. `Math.max` raises
  122030. * a maximum call stack size exceeded error in Chrome when trying to apply more
  122031. * than 150.000 points. This method is slightly slower, but safe.
  122032. *
  122033. * @param data
  122034. * An array of numbers.
  122035. *
  122036. * @return The highest number.
  122037. */
  122038. export function arrayMax(data: Array<any>): number;
  122039. /**
  122040. * Non-recursive method to find the lowest member of an array. `Math.min` raises
  122041. * a maximum call stack size exceeded error in Chrome when trying to apply more
  122042. * than 150.000 points. This method is slightly slower, but safe.
  122043. *
  122044. * @param data
  122045. * An array of numbers.
  122046. *
  122047. * @return The lowest number.
  122048. */
  122049. export function arrayMin(data: Array<any>): number;
  122050. /**
  122051. * Set or get an attribute or an object of attributes. To use as a setter, pass
  122052. * a key and a value, or let the second argument be a collection of keys and
  122053. * values. To use as a getter, pass only a string as the second argument.
  122054. *
  122055. * @param elem
  122056. * The DOM element to receive the attribute(s).
  122057. *
  122058. * @param prop
  122059. * The property or an object of key-value pairs.
  122060. *
  122061. * @param value
  122062. * The value if a single property is set.
  122063. *
  122064. * @return When used as a getter, return the value.
  122065. */
  122066. export function attr(elem: (HTMLDOMElement|SVGDOMElement), prop?: (string|HTMLAttributes|SVGAttributes), value?: (number|string)): (string|null|undefined);
  122067. /**
  122068. * Factory function for basic charts.
  122069. *
  122070. * @param options
  122071. * The chart options structure.
  122072. *
  122073. * @param callback
  122074. * Function to run when the chart has loaded and and all external images
  122075. * are loaded. Defining a chart.events.load handler is equivalent.
  122076. *
  122077. * @return Returns the Chart object.
  122078. */
  122079. export function chart(options: Options, callback?: ChartCallbackFunction): Chart;
  122080. /**
  122081. * Factory function for basic charts.
  122082. *
  122083. * @param renderTo
  122084. * The DOM element to render to, or its id.
  122085. *
  122086. * @param options
  122087. * The chart options structure.
  122088. *
  122089. * @param callback
  122090. * Function to run when the chart has loaded and and all external images
  122091. * are loaded. Defining a chart.events.load handler is equivalent.
  122092. *
  122093. * @return Returns the Chart object.
  122094. */
  122095. export function chart(renderTo: (string|HTMLDOMElement), options: Options, callback?: ChartCallbackFunction): Chart;
  122096. /**
  122097. * Internal clear timeout. The function checks that the `id` was not removed
  122098. * (e.g. by `chart.destroy()`). For the details see issue .7901.
  122099. *
  122100. * @param id
  122101. * Id of a timeout.
  122102. */
  122103. export function clearTimeout(id: number): void;
  122104. /**
  122105. * Creates a color instance out of a color string.
  122106. *
  122107. * @param input
  122108. * The input color in either rbga or hex format
  122109. *
  122110. * @return Color instance
  122111. */
  122112. export function color(input: ColorType): Color;
  122113. /**
  122114. * Fix JS round off float errors.
  122115. *
  122116. * @param num
  122117. * A float number to fix.
  122118. *
  122119. * @param prec
  122120. * The precision.
  122121. *
  122122. * @return The corrected float number.
  122123. */
  122124. export function correctFloat(num: number, prec?: number): number;
  122125. /**
  122126. * Utility function to create an HTML element with attributes and styles.
  122127. *
  122128. * @param tag
  122129. * The HTML tag.
  122130. *
  122131. * @param attribs
  122132. * Attributes as an object of key-value pairs.
  122133. *
  122134. * @param styles
  122135. * Styles as an object of key-value pairs.
  122136. *
  122137. * @param parent
  122138. * The parent HTML object.
  122139. *
  122140. * @param nopad
  122141. * If true, remove all padding, border and margin.
  122142. *
  122143. * @return The created DOM element.
  122144. */
  122145. export function createElement(tag: string, attribs?: HTMLAttributes, styles?: CSSObject, parent?: HTMLDOMElement, nopad?: boolean): HTMLDOMElement;
  122146. /**
  122147. * Set CSS on a given element.
  122148. *
  122149. * @param el
  122150. * An HTML DOM element.
  122151. *
  122152. * @param styles
  122153. * Style object with camel case property names.
  122154. */
  122155. export function css(el: (HTMLDOMElement|SVGDOMElement), styles: CSSObject): void;
  122156. /**
  122157. * Formats a JavaScript date timestamp (milliseconds since Jan 1st 1970) into a
  122158. * human readable date string. The format is a subset of the formats for PHP's
  122159. * strftime function. Additional formats can be given in the
  122160. * Highcharts.dateFormats hook.
  122161. *
  122162. * Since v6.0.5, all internal dates are formatted through the
  122163. * Highcharts.Chart#time instance to respect chart-level time settings. The
  122164. * `Highcharts.dateFormat` function only reflects global time settings set with
  122165. * `setOptions`.
  122166. *
  122167. * Supported format keys:
  122168. *
  122169. * - `%a`: Short weekday, like 'Mon'
  122170. *
  122171. * - `%A`: Long weekday, like 'Monday'
  122172. *
  122173. * - `%d`: Two digit day of the month, 01 to 31
  122174. *
  122175. * - `%e`: Day of the month, 1 through 31
  122176. *
  122177. * - `%w`: Day of the week, 0 through 6
  122178. *
  122179. * - `%b`: Short month, like 'Jan'
  122180. *
  122181. * - `%B`: Long month, like 'January'
  122182. *
  122183. * - `%m`: Two digit month number, 01 through 12
  122184. *
  122185. * - `%y`: Two digits year, like 09 for 2009
  122186. *
  122187. * - `%Y`: Four digits year, like 2009
  122188. *
  122189. * - `%H`: Two digits hours in 24h format, 00 through 23
  122190. *
  122191. * - `%k`: Hours in 24h format, 0 through 23
  122192. *
  122193. * - `%I`: Two digits hours in 12h format, 00 through 11
  122194. *
  122195. * - `%l`: Hours in 12h format, 1 through 12
  122196. *
  122197. * - `%M`: Two digits minutes, 00 through 59
  122198. *
  122199. * - `%p`: Upper case AM or PM
  122200. *
  122201. * - `%P`: Lower case AM or PM
  122202. *
  122203. * - `%S`: Two digits seconds, 00 through 59
  122204. *
  122205. * - `%L`: Milliseconds (naming from Ruby)
  122206. *
  122207. * @param format
  122208. * The desired format where various time representations are prefixed
  122209. * with `%`.
  122210. *
  122211. * @param timestamp
  122212. * The JavaScript timestamp.
  122213. *
  122214. * @param capitalize
  122215. * Upper case first letter in the return.
  122216. *
  122217. * @return The formatted date.
  122218. */
  122219. export function dateFormat(format: string, timestamp: number, capitalize?: boolean): string;
  122220. /**
  122221. * Check if an object is null or undefined.
  122222. *
  122223. * @param obj
  122224. * The object to check.
  122225. *
  122226. * @return False if the object is null or undefined, otherwise true.
  122227. */
  122228. export function defined(obj: any): boolean;
  122229. /**
  122230. * Utility method that destroys any SVGElement instances that are properties on
  122231. * the given object. It loops all properties and invokes destroy if there is a
  122232. * destroy method. The property is then delete.
  122233. *
  122234. * @param obj
  122235. * The object to destroy properties on.
  122236. *
  122237. * @param except
  122238. * Exception, do not destroy this property, only delete it.
  122239. */
  122240. export function destroyObjectProperties(obj: any, except?: any): void;
  122241. /**
  122242. * Discard a HTML element by moving it to the bin and delete.
  122243. *
  122244. * @param element
  122245. * The HTML node to discard.
  122246. */
  122247. export function discardElement(element: HTMLDOMElement): void;
  122248. /**
  122249. * Iterate over an array.
  122250. *
  122251. * @param arr
  122252. * The array to iterate over.
  122253. *
  122254. * @param fn
  122255. * The iterator callback. It passes three arguments:
  122256. *
  122257. * - `item`: The array item.
  122258. *
  122259. * - `index`: The item's index in the array.
  122260. *
  122261. * - `arr`: The array that each is being applied to.
  122262. *
  122263. * @param ctx
  122264. * The context.
  122265. */
  122266. export function each(arr: Array<any>, fn: Function, ctx?: any): void;
  122267. /**
  122268. * Remove the last occurence of an item from an array.
  122269. *
  122270. * @param arr
  122271. * The array.
  122272. *
  122273. * @param item
  122274. * The item to remove.
  122275. */
  122276. export function erase(arr: Array<any>, item: any): void;
  122277. /**
  122278. * Provide error messages for debugging, with links to online explanation. This
  122279. * function can be overridden to provide custom error handling.
  122280. *
  122281. * @param code
  122282. * The error code. See errors.xml for available codes. If it is a string,
  122283. * the error message is printed directly in the console.
  122284. *
  122285. * @param stop
  122286. * Whether to throw an error or just log a warning in the console.
  122287. *
  122288. * @param chart
  122289. * Reference to the chart that causes the error. Used in 'debugger'
  122290. * module to display errors directly on the chart. Important note: This
  122291. * argument is undefined for errors that lack access to the Chart
  122292. * instance.
  122293. *
  122294. * @param params
  122295. * Additional parameters for the generated message.
  122296. */
  122297. export function error(code: (number|string), stop?: boolean, chart?: Chart, params?: Dictionary<string>): void;
  122298. /**
  122299. * Utility function to extend an object with the members of another.
  122300. *
  122301. * @param a
  122302. * The object to be extended.
  122303. *
  122304. * @param b
  122305. * The object to add to the first one.
  122306. *
  122307. * @return Object a, the original object.
  122308. */
  122309. export function extend<T>(a: (T|undefined), b: object): T;
  122310. /**
  122311. * Extend a prototyped class by new members.
  122312. *
  122313. * @param parent
  122314. * The parent prototype to inherit.
  122315. *
  122316. * @param members
  122317. * A collection of prototype members to add or override compared to the
  122318. * parent prototype.
  122319. *
  122320. * @return A new prototype.
  122321. */
  122322. export function extendClass<T>(parent: Class<T>, members: Dictionary<any>): Class<T>;
  122323. /**
  122324. * Return the value of the first element in the array that satisfies the
  122325. * provided testing function.
  122326. *
  122327. * @param arr
  122328. * The array to test.
  122329. *
  122330. * @param callback
  122331. * The callback function. The function receives the item as the first
  122332. * argument. Return `true` if this item satisfies the condition.
  122333. *
  122334. * @return The value of the element.
  122335. */
  122336. export function find<T>(arr: Array<T>, callback: Function): (T|undefined);
  122337. /**
  122338. * Fire an event that was registered with Highcharts#addEvent.
  122339. *
  122340. * @param el
  122341. * The object to fire the event on. It can be a HTMLDOMElement, an
  122342. * SVGElement or any other object.
  122343. *
  122344. * @param type
  122345. * The type of event.
  122346. *
  122347. * @param eventArguments
  122348. * Custom event arguments that are passed on as an argument to the event
  122349. * handler.
  122350. *
  122351. * @param defaultFunction
  122352. * The default function to execute if the other listeners haven't
  122353. * returned false.
  122354. */
  122355. export function fireEvent<T>(el: T, type: string, eventArguments?: (Event|Dictionary<any>), defaultFunction?: (Function|EventCallbackFunction<T>)): void;
  122356. /**
  122357. * Format a string according to a subset of the rules of Python's String.format
  122358. * method.
  122359. *
  122360. * @param str
  122361. * The string to format.
  122362. *
  122363. * @param ctx
  122364. * The context, a collection of key-value pairs where each key is
  122365. * replaced by its value.
  122366. *
  122367. * @param chart
  122368. * A `Chart` instance used to get numberFormatter and time.
  122369. *
  122370. * @return The formatted string.
  122371. */
  122372. export function format(str: string, ctx: Record<string, any>, chart?: Chart): string;
  122373. /**
  122374. * Get the defer as a number value from series animation options.
  122375. *
  122376. * @param chart
  122377. * The chart instance.
  122378. *
  122379. * @return The numeric value.
  122380. */
  122381. export function getDeferredAnimation(chart: Chart): number;
  122382. /**
  122383. * Get the magnitude of a number.
  122384. *
  122385. * @param num
  122386. * The number.
  122387. *
  122388. * @return The magnitude, where 1-9 are magnitude 1, 10-99 magnitude 2 etc.
  122389. */
  122390. export function getMagnitude(num: number): number;
  122391. /**
  122392. * Get the updated default options. Until 3.0.7, merely exposing defaultOptions
  122393. * for outside modules wasn't enough because the setOptions method created a new
  122394. * object.
  122395. */
  122396. export function getOptions(): Options;
  122397. /**
  122398. * Get the computed CSS value for given element and property, only for numerical
  122399. * properties. For width and height, the dimension of the inner box (excluding
  122400. * padding) is returned. Used for fitting the chart within the container.
  122401. *
  122402. * @param el
  122403. * An HTML element.
  122404. *
  122405. * @param prop
  122406. * The property name.
  122407. *
  122408. * @param toInt
  122409. * Parse to integer.
  122410. *
  122411. * @return The numeric value.
  122412. */
  122413. export function getStyle(el: HTMLDOMElement, prop: string, toInt?: boolean): (number|string);
  122414. /**
  122415. * Filter an array by a callback.
  122416. *
  122417. * @param arr
  122418. * The array to filter.
  122419. *
  122420. * @param callback
  122421. * The callback function. The function receives the item as the first
  122422. * argument. Return `true` if the item is to be preserved.
  122423. *
  122424. * @return A new, filtered array.
  122425. */
  122426. export function grep(arr: Array<any>, callback: Function): Array<any>;
  122427. /**
  122428. * Search for an item in an array.
  122429. *
  122430. * @param item
  122431. * The item to search for.
  122432. *
  122433. * @param arr
  122434. * The array or node collection to search in.
  122435. *
  122436. * @param fromIndex
  122437. * The index to start searching from.
  122438. *
  122439. * @return The index within the array, or -1 if not found.
  122440. */
  122441. export function inArray(item: any, arr: Array<any>, fromIndex?: number): number;
  122442. /**
  122443. * Utility function to check if an item is an array.
  122444. *
  122445. * @param obj
  122446. * The item to check.
  122447. *
  122448. * @return True if the argument is an array.
  122449. */
  122450. export function isArray(obj: any): boolean;
  122451. /**
  122452. * Utility function to check if an Object is a class.
  122453. *
  122454. * @param obj
  122455. * The item to check.
  122456. *
  122457. * @return True if the argument is a class.
  122458. */
  122459. export function isClass(obj: (object|undefined)): boolean;
  122460. /**
  122461. * Utility function to check if an Object is a HTML Element.
  122462. *
  122463. * @param obj
  122464. * The item to check.
  122465. *
  122466. * @return True if the argument is a HTML Element.
  122467. */
  122468. export function isDOMElement(obj: any): boolean;
  122469. /**
  122470. * Utility function to check if an item is a number and it is finite (not NaN,
  122471. * Infinity or -Infinity).
  122472. *
  122473. * @param n
  122474. * The item to check.
  122475. *
  122476. * @return True if the item is a finite number
  122477. */
  122478. export function isNumber(n: any): boolean;
  122479. /**
  122480. * Utility function to check if an item is of type object.
  122481. *
  122482. * @param obj
  122483. * The item to check.
  122484. *
  122485. * @param strict
  122486. * Also checks that the object is not an array.
  122487. *
  122488. * @return True if the argument is an object.
  122489. */
  122490. export function isObject(obj: any, strict?: boolean): boolean;
  122491. /**
  122492. * Utility function to check for string type.
  122493. *
  122494. * @param s
  122495. * The item to check.
  122496. *
  122497. * @return True if the argument is a string.
  122498. */
  122499. export function isString(s: any): boolean;
  122500. /**
  122501. * Returns an array of a given object's own properties.
  122502. *
  122503. * @param obj
  122504. * The object of which the properties are to be returned.
  122505. *
  122506. * @return An array of strings that represents all the properties.
  122507. */
  122508. export function keys(obj: any): Array<string>;
  122509. /**
  122510. * Map an array by a callback.
  122511. *
  122512. * @param arr
  122513. * The array to map.
  122514. *
  122515. * @param fn
  122516. * The callback function. Return the new value for the new array.
  122517. *
  122518. * @return A new array item with modified items.
  122519. */
  122520. export function map(arr: Array<any>, fn: Function): Array<any>;
  122521. /**
  122522. * Utility function to deep merge two or more objects and return a third object.
  122523. * The merge function can also be used with a single object argument to create a
  122524. * deep copy of an object.
  122525. *
  122526. * @param a
  122527. * The first object to extend. When only this is given, the function
  122528. * returns a deep copy.
  122529. *
  122530. * @param n
  122531. * An object to merge into the previous one.
  122532. *
  122533. * @return The merged object. If the first argument is true, the return is the
  122534. * same as the second argument.
  122535. */
  122536. export function merge<T>(a: (T|undefined), ...n: Array<(object|undefined)>): T;
  122537. /**
  122538. * Utility function to deep merge two or more objects and return a third object.
  122539. * If the first argument is true, the contents of the second object is copied
  122540. * into the first object. The merge function can also be used with a single
  122541. * object argument to create a deep copy of an object.
  122542. *
  122543. * @param extend
  122544. * Whether to extend the left-side object (a) or return a whole new
  122545. * object.
  122546. *
  122547. * @param a
  122548. * The first object to extend. When only this is given, the function
  122549. * returns a deep copy.
  122550. *
  122551. * @param n
  122552. * An object to merge into the previous one.
  122553. *
  122554. * @return The merged object. If the first argument is true, the return is the
  122555. * same as the second argument.
  122556. */
  122557. export function merge<T>(extend: boolean, a: (T|undefined), ...n: Array<(object|undefined)>): T;
  122558. /**
  122559. * Take an interval and normalize it to multiples of round numbers.
  122560. *
  122561. * @param interval
  122562. * The raw, un-rounded interval.
  122563. *
  122564. * @param multiples
  122565. * Allowed multiples.
  122566. *
  122567. * @param magnitude
  122568. * The magnitude of the number.
  122569. *
  122570. * @param allowDecimals
  122571. * Whether to allow decimals.
  122572. *
  122573. * @param hasTickAmount
  122574. * If it has tickAmount, avoid landing on tick intervals lower than
  122575. * original.
  122576. *
  122577. * @return The normalized interval.
  122578. */
  122579. export function normalizeTickInterval(interval: number, multiples?: Array<any>, magnitude?: number, allowDecimals?: boolean, hasTickAmount?: boolean): number;
  122580. /**
  122581. * Format a number and return a string based on input settings.
  122582. *
  122583. * @param number
  122584. * The input number to format.
  122585. *
  122586. * @param decimals
  122587. * The amount of decimals. A value of -1 preserves the amount in the
  122588. * input number.
  122589. *
  122590. * @param decimalPoint
  122591. * The decimal point, defaults to the one given in the lang options, or a
  122592. * dot.
  122593. *
  122594. * @param thousandsSep
  122595. * The thousands separator, defaults to the one given in the lang
  122596. * options, or a space character.
  122597. *
  122598. * @return The formatted number.
  122599. */
  122600. export function numberFormat(number: number, decimals: number, decimalPoint?: string, thousandsSep?: string): string;
  122601. /**
  122602. * Iterate over object key pairs in an object.
  122603. *
  122604. * @param obj
  122605. * The object to iterate over.
  122606. *
  122607. * @param fn
  122608. * The iterator callback. It passes three arguments:
  122609. *
  122610. * * value - The property value.
  122611. *
  122612. * * key - The property key.
  122613. *
  122614. * * obj - The object that objectEach is being applied to.
  122615. *
  122616. * @param ctx
  122617. * The context.
  122618. */
  122619. export function objectEach<T>(obj: any, fn: ObjectEachCallbackFunction<T>, ctx?: T): void;
  122620. /**
  122621. * Get the element's offset position, corrected for `overflow: auto`.
  122622. *
  122623. * @param el
  122624. * The DOM element.
  122625. *
  122626. * @return An object containing `left` and `top` properties for the position in
  122627. * the page.
  122628. */
  122629. export function offset(el: Element): OffsetObject;
  122630. /**
  122631. * Left-pad a string to a given length by adding a character repetetively.
  122632. *
  122633. * @param number
  122634. * The input string or number.
  122635. *
  122636. * @param length
  122637. * The desired string length.
  122638. *
  122639. * @param padder
  122640. * The character to pad with.
  122641. *
  122642. * @return The padded string.
  122643. */
  122644. export function pad(number: number, length?: number, padder?: string): string;
  122645. /**
  122646. * Return the first value that is not null or undefined.
  122647. *
  122648. * @param items
  122649. * Variable number of arguments to inspect.
  122650. *
  122651. * @return The value of the first argument that is not null or undefined.
  122652. */
  122653. export function pick<T>(...items: Array<(T|null|undefined)>): T;
  122654. /**
  122655. * Reduce an array to a single value.
  122656. *
  122657. * @param arr
  122658. * The array to reduce.
  122659. *
  122660. * @param fn
  122661. * The callback function. Return the reduced value. Receives 4 arguments:
  122662. * Accumulated/reduced value, current value, current array index, and the
  122663. * array.
  122664. *
  122665. * @param initialValue
  122666. * The initial value of the accumulator.
  122667. *
  122668. * @return The reduced value.
  122669. */
  122670. export function reduce(arr: Array<any>, fn: Function, initialValue: any): any;
  122671. /**
  122672. * Return a length based on either the integer value, or a percentage of a base.
  122673. *
  122674. * @param value
  122675. * A percentage string or a number.
  122676. *
  122677. * @param base
  122678. * The full length that represents 100%.
  122679. *
  122680. * @param offset
  122681. * A pixel offset to apply for percentage values. Used internally in axis
  122682. * positioning.
  122683. *
  122684. * @return The computed length.
  122685. */
  122686. export function relativeLength(value: RelativeSize, base: number, offset?: number): number;
  122687. /**
  122688. * Remove an event that was added with Highcharts#addEvent.
  122689. *
  122690. * @param el
  122691. * The element to remove events on.
  122692. *
  122693. * @param type
  122694. * The type of events to remove. If undefined, all events are removed
  122695. * from the element.
  122696. *
  122697. * @param fn
  122698. * The specific callback to remove. If undefined, all events that match
  122699. * the element and optionally the type are removed.
  122700. */
  122701. export function removeEvent<T>(el: (T|Class<T>), type?: string, fn?: EventCallbackFunction<T>): void;
  122702. /**
  122703. * Factory to create new series prototypes.
  122704. *
  122705. * @param type
  122706. * The series type name.
  122707. *
  122708. * @param parent
  122709. * The parent series type name. Use `line` to inherit from the basic
  122710. * Series object.
  122711. *
  122712. * @param options
  122713. * The additional default options that are merged with the parent's
  122714. * options.
  122715. *
  122716. * @param props
  122717. * The properties (functions and primitives) to set on the new prototype.
  122718. *
  122719. * @param pointProps
  122720. * Members for a series-specific extension of the Point prototype if
  122721. * needed.
  122722. *
  122723. * @return The newly created prototype as extended from Series or its
  122724. * derivatives.
  122725. */
  122726. export function seriesType(type: string, parent: string, options: (SeriesOptionsType|Dictionary<any>), props?: Dictionary<any>, pointProps?: Dictionary<any>): Series;
  122727. /**
  122728. * Set the global animation to either a given value, or fall back to the given
  122729. * chart's animation option.
  122730. *
  122731. * @param animation
  122732. * The animation object.
  122733. *
  122734. * @param chart
  122735. * The chart instance.
  122736. */
  122737. export function setAnimation(animation: (boolean|Partial<AnimationOptionsObject>|undefined), chart: Chart): void;
  122738. /**
  122739. * Merge the default options with custom options and return the new options
  122740. * structure. Commonly used for defining reusable templates.
  122741. *
  122742. * @param options
  122743. * The new custom chart options.
  122744. *
  122745. * @return Updated options.
  122746. */
  122747. export function setOptions(options: Options): Options;
  122748. /**
  122749. * Test whether at least one element in the array passes the test implemented by
  122750. * the provided function.
  122751. *
  122752. * @param arr
  122753. * The array to test
  122754. *
  122755. * @param fn
  122756. * The function to run on each item. Return truty to pass the test.
  122757. * Receives arguments `currentValue`, `index` and `array`.
  122758. *
  122759. * @param ctx
  122760. * The context.
  122761. */
  122762. export function some(arr: Array<any>, fn: Function, ctx: any): boolean;
  122763. /**
  122764. * Check if an element is an array, and if not, make it into an array.
  122765. *
  122766. * @param obj
  122767. * The object to splat.
  122768. *
  122769. * @return The produced or original array.
  122770. */
  122771. export function splat(obj: any): any[];
  122772. /**
  122773. * Sort an object array and keep the order of equal items. The ECMAScript
  122774. * standard does not specify the behaviour when items are equal.
  122775. *
  122776. * @param arr
  122777. * The array to sort.
  122778. *
  122779. * @param sortFunction
  122780. * The function to sort it with, like with regular Array.prototype.sort.
  122781. */
  122782. export function stableSort(arr: Array<any>, sortFunction: Function): void;
  122783. /**
  122784. * Stop running animation.
  122785. *
  122786. * @param el
  122787. * The SVGElement to stop animation on.
  122788. *
  122789. * @param prop
  122790. * The property to stop animating. If given, the stop method will stop a
  122791. * single property from animating, while others continue.
  122792. */
  122793. export function stop(el: SVGElement, prop?: string): void;
  122794. /**
  122795. * Set a timeout if the delay is given, otherwise perform the function
  122796. * synchronously.
  122797. *
  122798. * @param fn
  122799. * The function callback.
  122800. *
  122801. * @param delay
  122802. * Delay in milliseconds.
  122803. *
  122804. * @param context
  122805. * An optional context to send to the function callback.
  122806. *
  122807. * @return An identifier for the timeout that can later be cleared with
  122808. * Highcharts.clearTimeout. Returns -1 if there is no timeout.
  122809. */
  122810. export function syncTimeout(fn: Function, delay: number, context?: any): number;
  122811. /**
  122812. * Get a unique key for using in internal element id's and pointers. The key is
  122813. * composed of a random hash specific to this Highcharts instance, and a
  122814. * counter.
  122815. *
  122816. * @return A unique key.
  122817. */
  122818. export function uniqueKey(): string;
  122819. /**
  122820. * Activates a serial mode for element IDs provided by Highcharts.uniqueKey.
  122821. * This mode can be used in automated tests, where a simple comparison of two
  122822. * rendered SVG graphics is needed.
  122823. *
  122824. * **Note:** This is only for testing purposes and will break functionality in
  122825. * webpages with multiple charts.
  122826. *
  122827. * @param mode
  122828. * Changes the state of serial mode.
  122829. *
  122830. * @return State of the serial mode.
  122831. */
  122832. export function useSerialIds(mode?: boolean): (boolean|undefined);
  122833. /**
  122834. * Wrap a method with extended functionality, preserving the original function.
  122835. *
  122836. * @param obj
  122837. * The context object that the method belongs to. In real cases, this is
  122838. * often a prototype.
  122839. *
  122840. * @param method
  122841. * The name of the method to extend.
  122842. *
  122843. * @param func
  122844. * A wrapper function callback. This function is called with the same
  122845. * arguments as the original function, except that the original function
  122846. * is unshifted and passed as the first argument.
  122847. */
  122848. export function wrap(obj: any, method: string, func: WrapProceedFunction): void;
  122849. declare global {
  122850. /**
  122851. * Highcharts-extended JQuery.
  122852. */
  122853. interface JQuery {
  122854. /**
  122855. * Helper function to return the chart of the current JQuery selector
  122856. * element.
  122857. *
  122858. * @param className
  122859. * Name of the factory class in the Highcharts namespace.
  122860. *
  122861. * @param options
  122862. * The chart options structure.
  122863. *
  122864. * @param callback
  122865. * Function to run when the chart has loaded and and all external
  122866. * images are loaded. Defining a chart.events.load handler is
  122867. * equivalent.
  122868. *
  122869. * @return The current JQuery selector.
  122870. */
  122871. highcharts(className?: (string|'Chart'|'Map'|'StockChart'), options?: Options, callback?: ChartCallbackFunction): JQuery;
  122872. }
  122873. }
  122874. export as namespace Highcharts;