|
1 | 1 | from collections.abc import Iterable |
| 2 | +from enum import Enum |
2 | 3 | from typing import Any, Union |
3 | 4 |
|
4 | 5 | from pydantic_extra_types.color import ColorType |
5 | 6 |
|
6 | 7 | ColorsType = Union[dict[Any, ColorType], Iterable[ColorType]] |
7 | 8 |
|
| 9 | + |
| 10 | +class PropertyType(Enum): |
| 11 | + DISCRETE = "discrete" |
| 12 | + CONTINUOUS = "continuous" |
| 13 | + |
| 14 | + |
8 | 15 | # Comes from https://neo4j.design/40a8cff71/p/5639c0-color/t/page-5639c0-79109681-33 |
9 | | -neo4j_colors = [ |
| 16 | +neo4j_colors_discrete = [ |
10 | 17 | "#FFDF81", |
11 | 18 | "#C990C0", |
12 | 19 | "#F79767", |
|
20 | 27 | "#DA7294", |
21 | 28 | "#579380", |
22 | 29 | ] |
| 30 | +_neo4j_colors_continuous_base = ["#FFDF81", "#C990C0"] |
| 31 | +neo4j_colors_continuous = [ |
| 32 | + (1.0, 0.8745098039215686, 0.5058823529411764), |
| 33 | + (0.9991695501730103, 0.8732948865820838, 0.5068512110726643), |
| 34 | + (0.9983391003460208, 0.872079969242599, 0.5078200692041522), |
| 35 | + (0.9975086505190311, 0.8708650519031141, 0.5087889273356401), |
| 36 | + (0.9966782006920415, 0.8696501345636294, 0.509757785467128), |
| 37 | + (0.995847750865052, 0.8684352172241445, 0.5107266435986159), |
| 38 | + (0.9950173010380623, 0.8672202998846598, 0.5116955017301038), |
| 39 | + (0.9941868512110726, 0.8660053825451749, 0.5126643598615916), |
| 40 | + (0.9933564013840831, 0.8647904652056901, 0.5136332179930796), |
| 41 | + (0.9925259515570934, 0.8635755478662053, 0.5146020761245674), |
| 42 | + (0.9916955017301038, 0.8623606305267205, 0.5155709342560554), |
| 43 | + (0.9908650519031141, 0.8611457131872357, 0.5165397923875432), |
| 44 | + (0.9900346020761246, 0.8599307958477509, 0.5175086505190312), |
| 45 | + (0.9892041522491349, 0.858715878508266, 0.518477508650519), |
| 46 | + (0.9883737024221453, 0.8575009611687813, 0.519446366782007), |
| 47 | + (0.9875432525951557, 0.8562860438292964, 0.5204152249134948), |
| 48 | + (0.9867128027681661, 0.8550711264898117, 0.5213840830449826), |
| 49 | + (0.9858823529411764, 0.8538562091503268, 0.5223529411764706), |
| 50 | + (0.9850519031141869, 0.852641291810842, 0.5233217993079584), |
| 51 | + (0.9842214532871972, 0.8514263744713572, 0.5242906574394464), |
| 52 | + (0.9833910034602076, 0.8502114571318724, 0.5252595155709342), |
| 53 | + (0.982560553633218, 0.8489965397923875, 0.5262283737024221), |
| 54 | + (0.9817301038062284, 0.8477816224529028, 0.52719723183391), |
| 55 | + (0.9808996539792387, 0.8465667051134179, 0.5281660899653979), |
| 56 | + (0.9800692041522492, 0.8453517877739332, 0.5291349480968858), |
| 57 | + (0.9792387543252595, 0.8441368704344483, 0.5301038062283737), |
| 58 | + (0.9784083044982699, 0.8429219530949634, 0.5310726643598616), |
| 59 | + (0.9775778546712802, 0.8417070357554787, 0.5320415224913495), |
| 60 | + (0.9767474048442907, 0.8404921184159938, 0.5330103806228373), |
| 61 | + (0.975916955017301, 0.839277201076509, 0.5339792387543253), |
| 62 | + (0.9750865051903114, 0.8380622837370242, 0.5349480968858131), |
| 63 | + (0.9742560553633218, 0.8368473663975394, 0.535916955017301), |
| 64 | + (0.9734256055363322, 0.8356324490580546, 0.5368858131487889), |
| 65 | + (0.9725951557093425, 0.8344175317185698, 0.5378546712802768), |
| 66 | + (0.971764705882353, 0.8332026143790849, 0.5388235294117647), |
| 67 | + (0.9709342560553633, 0.8319876970396002, 0.5397923875432525), |
| 68 | + (0.9701038062283737, 0.8307727797001153, 0.5407612456747405), |
| 69 | + (0.9692733564013841, 0.8295578623606306, 0.5417301038062283), |
| 70 | + (0.9684429065743945, 0.8283429450211457, 0.5426989619377163), |
| 71 | + (0.9676124567474048, 0.8271280276816609, 0.5436678200692041), |
| 72 | + (0.9667820069204153, 0.8259131103421761, 0.5446366782006921), |
| 73 | + (0.9659515570934256, 0.8246981930026913, 0.5456055363321799), |
| 74 | + (0.965121107266436, 0.8234832756632064, 0.5465743944636678), |
| 75 | + (0.9642906574394463, 0.8222683583237217, 0.5475432525951557), |
| 76 | + (0.9634602076124568, 0.8210534409842368, 0.5485121107266435), |
| 77 | + (0.9626297577854671, 0.8198385236447521, 0.5494809688581315), |
| 78 | + (0.9617993079584775, 0.8186236063052672, 0.5504498269896193), |
| 79 | + (0.9609688581314879, 0.8174086889657823, 0.5514186851211073), |
| 80 | + (0.9601384083044983, 0.8161937716262976, 0.5523875432525951), |
| 81 | + (0.9593079584775086, 0.8149788542868128, 0.553356401384083), |
| 82 | + (0.9584775086505191, 0.813763936947328, 0.5543252595155709), |
| 83 | + (0.9576470588235294, 0.8125490196078431, 0.5552941176470588), |
| 84 | + (0.9568166089965398, 0.8113341022683583, 0.5562629757785467), |
| 85 | + (0.9559861591695502, 0.8101191849288735, 0.5572318339100346), |
| 86 | + (0.9551557093425606, 0.8089042675893887, 0.5582006920415225), |
| 87 | + (0.9543252595155709, 0.8076893502499038, 0.5591695501730104), |
| 88 | + (0.9534948096885814, 0.8064744329104191, 0.5601384083044982), |
| 89 | + (0.9526643598615917, 0.8052595155709342, 0.5611072664359862), |
| 90 | + (0.951833910034602, 0.8040445982314495, 0.562076124567474), |
| 91 | + (0.9510034602076125, 0.8028296808919646, 0.563044982698962), |
| 92 | + (0.9501730103806229, 0.8016147635524798, 0.5640138408304498), |
| 93 | + (0.9493425605536332, 0.800399846212995, 0.5649826989619376), |
| 94 | + (0.9485121107266435, 0.7991849288735102, 0.5659515570934256), |
| 95 | + (0.947681660899654, 0.7979700115340254, 0.5669204152249134), |
| 96 | + (0.9468512110726643, 0.7967550941945406, 0.5678892733564014), |
| 97 | + (0.9460207612456747, 0.7955401768550557, 0.5688581314878892), |
| 98 | + (0.9451903114186851, 0.794325259515571, 0.5698269896193772), |
| 99 | + (0.9443598615916955, 0.7931103421760861, 0.570795847750865), |
| 100 | + (0.9435294117647058, 0.7918954248366012, 0.571764705882353), |
| 101 | + (0.9426989619377163, 0.7906805074971165, 0.5727335640138408), |
| 102 | + (0.9418685121107266, 0.7894655901576316, 0.5737024221453287), |
| 103 | + (0.941038062283737, 0.7882506728181469, 0.5746712802768166), |
| 104 | + (0.9402076124567474, 0.787035755478662, 0.5756401384083045), |
| 105 | + (0.9393771626297578, 0.7858208381391772, 0.5766089965397924), |
| 106 | + (0.9385467128027681, 0.7846059207996925, 0.5775778546712802), |
| 107 | + (0.9377162629757785, 0.7833910034602076, 0.5785467128027681), |
| 108 | + (0.9368858131487889, 0.7821760861207228, 0.5795155709342561), |
| 109 | + (0.9360553633217993, 0.780961168781238, 0.5804844290657439), |
| 110 | + (0.9352249134948096, 0.7797462514417531, 0.5814532871972318), |
| 111 | + (0.9343944636678201, 0.7785313341022684, 0.5824221453287197), |
| 112 | + (0.9335640138408304, 0.7773164167627835, 0.5833910034602076), |
| 113 | + (0.9327335640138408, 0.7761014994232988, 0.5843598615916955), |
| 114 | + (0.9319031141868512, 0.7748865820838139, 0.5853287197231833), |
| 115 | + (0.9310726643598616, 0.7736716647443291, 0.5862975778546713), |
| 116 | + (0.9302422145328719, 0.7724567474048443, 0.5872664359861591), |
| 117 | + (0.9294117647058824, 0.7712418300653595, 0.5882352941176471), |
| 118 | + (0.9285813148788927, 0.7700269127258746, 0.5892041522491349), |
| 119 | + (0.9277508650519031, 0.7688119953863899, 0.5901730103806229), |
| 120 | + (0.9269204152249135, 0.767597078046905, 0.5911418685121107), |
| 121 | + (0.9260899653979239, 0.7663821607074203, 0.5921107266435985), |
| 122 | + (0.9252595155709342, 0.7651672433679354, 0.5930795847750865), |
| 123 | + (0.9244290657439447, 0.7639523260284506, 0.5940484429065744), |
| 124 | + (0.923598615916955, 0.7627374086889658, 0.5950173010380623), |
| 125 | + (0.9227681660899654, 0.7615224913494809, 0.5959861591695501), |
| 126 | + (0.9219377162629758, 0.7603075740099962, 0.5969550173010381), |
| 127 | + (0.9211072664359862, 0.7590926566705113, 0.5979238754325259), |
| 128 | + (0.9202768166089965, 0.7578777393310265, 0.5988927335640138), |
| 129 | + (0.919446366782007, 0.7566628219915417, 0.5998615916955017), |
| 130 | + (0.9186159169550173, 0.7554479046520569, 0.6008304498269896), |
| 131 | + (0.9177854671280277, 0.754232987312572, 0.6017993079584775), |
| 132 | + (0.916955017301038, 0.7530180699730873, 0.6027681660899654), |
| 133 | + (0.9161245674740485, 0.7518031526336024, 0.6037370242214533), |
| 134 | + (0.9152941176470588, 0.7505882352941177, 0.6047058823529412), |
| 135 | + (0.9144636678200692, 0.7493733179546328, 0.605674740484429), |
| 136 | + (0.9136332179930796, 0.748158400615148, 0.6066435986159169), |
| 137 | + (0.91280276816609, 0.7469434832756632, 0.6076124567474048), |
| 138 | + (0.9119723183391003, 0.7457285659361784, 0.6085813148788927), |
| 139 | + (0.9111418685121107, 0.7445136485966936, 0.6095501730103806), |
| 140 | + (0.9103114186851211, 0.7432987312572088, 0.6105190311418685), |
| 141 | + (0.9094809688581315, 0.7420838139177239, 0.6114878892733564), |
| 142 | + (0.9086505190311418, 0.7408688965782391, 0.6124567474048442), |
| 143 | + (0.9078200692041523, 0.7396539792387543, 0.6134256055363322), |
| 144 | + (0.9069896193771626, 0.7384390618992696, 0.61439446366782), |
| 145 | + (0.906159169550173, 0.7372241445597847, 0.615363321799308), |
| 146 | + (0.9053287197231834, 0.7360092272202999, 0.6163321799307958), |
| 147 | + (0.9044982698961938, 0.7347943098808151, 0.6173010380622838), |
| 148 | + (0.9036678200692041, 0.7335793925413303, 0.6182698961937716), |
| 149 | + (0.9028373702422146, 0.7323644752018454, 0.6192387543252595), |
| 150 | + (0.9020069204152249, 0.7311495578623606, 0.6202076124567474), |
| 151 | + (0.9011764705882352, 0.7299346405228758, 0.6211764705882352), |
| 152 | + (0.9003460207612457, 0.7287197231833911, 0.6221453287197232), |
| 153 | + (0.899515570934256, 0.7275048058439062, 0.623114186851211), |
| 154 | + (0.8986851211072664, 0.7262898885044213, 0.624083044982699), |
| 155 | + (0.8978546712802769, 0.7250749711649366, 0.6250519031141868), |
| 156 | + (0.8970242214532872, 0.7238600538254517, 0.6260207612456747), |
| 157 | + (0.8961937716262975, 0.722645136485967, 0.6269896193771626), |
| 158 | + (0.895363321799308, 0.7214302191464821, 0.6279584775086505), |
| 159 | + (0.8945328719723183, 0.7202153018069973, 0.6289273356401384), |
| 160 | + (0.8937024221453287, 0.7190003844675125, 0.6298961937716263), |
| 161 | + (0.8928719723183391, 0.7177854671280277, 0.6308650519031141), |
| 162 | + (0.8920415224913495, 0.7165705497885428, 0.631833910034602), |
| 163 | + (0.8912110726643598, 0.7153556324490581, 0.6328027681660899), |
| 164 | + (0.8903806228373703, 0.7141407151095732, 0.6337716262975779), |
| 165 | + (0.8895501730103806, 0.7129257977700885, 0.6347404844290657), |
| 166 | + (0.888719723183391, 0.7117108804306036, 0.6357093425605536), |
| 167 | + (0.8878892733564013, 0.7104959630911187, 0.6366782006920415), |
| 168 | + (0.8870588235294118, 0.709281045751634, 0.6376470588235295), |
| 169 | + (0.8862283737024221, 0.7080661284121492, 0.6386159169550173), |
| 170 | + (0.8853979238754325, 0.7068512110726644, 0.6395847750865051), |
| 171 | + (0.8845674740484429, 0.7056362937331796, 0.6405536332179931), |
| 172 | + (0.8837370242214533, 0.7044213763936947, 0.641522491349481), |
| 173 | + (0.8829065743944636, 0.7032064590542099, 0.6424913494809689), |
| 174 | + (0.882076124567474, 0.7019915417147251, 0.6434602076124567), |
| 175 | + (0.8812456747404844, 0.7007766243752402, 0.6444290657439447), |
| 176 | + (0.8804152249134948, 0.6995617070357555, 0.6453979238754325), |
| 177 | + (0.8795847750865051, 0.6983467896962707, 0.6463667820069203), |
| 178 | + (0.8787543252595156, 0.6971318723567859, 0.6473356401384083), |
| 179 | + (0.8779238754325259, 0.695916955017301, 0.6483044982698962), |
| 180 | + (0.8770934256055363, 0.6947020376778162, 0.6492733564013841), |
| 181 | + (0.8762629757785467, 0.6934871203383314, 0.6502422145328719), |
| 182 | + (0.8754325259515571, 0.6922722029988466, 0.6512110726643598), |
| 183 | + (0.8746020761245674, 0.6910572856593618, 0.6521799307958478), |
| 184 | + (0.8737716262975779, 0.689842368319877, 0.6531487889273356), |
| 185 | + (0.8729411764705882, 0.6886274509803921, 0.6541176470588235), |
| 186 | + (0.8721107266435986, 0.6874125336409074, 0.6550865051903114), |
| 187 | + (0.871280276816609, 0.6861976163014225, 0.6560553633217993), |
| 188 | + (0.8704498269896194, 0.6849826989619376, 0.6570242214532872), |
| 189 | + (0.8696193771626297, 0.6837677816224529, 0.657993079584775), |
| 190 | + (0.8687889273356402, 0.6825528642829681, 0.658961937716263), |
| 191 | + (0.8679584775086505, 0.6813379469434833, 0.6599307958477508), |
| 192 | + (0.8671280276816609, 0.6801230296039984, 0.6608996539792388), |
| 193 | + (0.8662975778546713, 0.6789081122645136, 0.6618685121107266), |
| 194 | + (0.8654671280276817, 0.6776931949250289, 0.6628373702422146), |
| 195 | + (0.864636678200692, 0.676478277585544, 0.6638062283737024), |
| 196 | + (0.8638062283737025, 0.6752633602460593, 0.6647750865051902), |
| 197 | + (0.8629757785467128, 0.6740484429065744, 0.6657439446366782), |
| 198 | + (0.8621453287197232, 0.6728335255670895, 0.6667128027681661), |
| 199 | + (0.8613148788927336, 0.6716186082276048, 0.667681660899654), |
| 200 | + (0.860484429065744, 0.6704036908881199, 0.6686505190311418), |
| 201 | + (0.8596539792387543, 0.6691887735486352, 0.6696193771626298), |
| 202 | + (0.8588235294117648, 0.6679738562091504, 0.6705882352941176), |
| 203 | + (0.8579930795847751, 0.6667589388696655, 0.6715570934256055), |
| 204 | + (0.8571626297577855, 0.6655440215301807, 0.6725259515570934), |
| 205 | + (0.8563321799307958, 0.6643291041906959, 0.6734948096885813), |
| 206 | + (0.8555017301038061, 0.663114186851211, 0.6744636678200692), |
| 207 | + (0.8546712802768166, 0.6618992695117263, 0.6754325259515571), |
| 208 | + (0.853840830449827, 0.6606843521722414, 0.676401384083045), |
| 209 | + (0.8530103806228373, 0.6594694348327567, 0.6773702422145329), |
| 210 | + (0.8521799307958478, 0.6582545174932718, 0.6783391003460207), |
| 211 | + (0.8513494809688581, 0.657039600153787, 0.6793079584775086), |
| 212 | + (0.8505190311418684, 0.6558246828143022, 0.6802768166089965), |
| 213 | + (0.8496885813148789, 0.6546097654748173, 0.6812456747404845), |
| 214 | + (0.8488581314878892, 0.6533948481353326, 0.6822145328719723), |
| 215 | + (0.8480276816608996, 0.6521799307958478, 0.6831833910034601), |
| 216 | + (0.84719723183391, 0.6509650134563629, 0.6841522491349481), |
| 217 | + (0.8463667820069204, 0.6497500961168781, 0.6851211072664359), |
| 218 | + (0.8455363321799307, 0.6485351787773933, 0.6860899653979239), |
| 219 | + (0.8447058823529412, 0.6473202614379086, 0.6870588235294117), |
| 220 | + (0.8438754325259515, 0.6461053440984237, 0.6880276816608997), |
| 221 | + (0.8430449826989619, 0.6448904267589388, 0.6889965397923875), |
| 222 | + (0.8422145328719723, 0.6436755094194541, 0.6899653979238755), |
| 223 | + (0.8413840830449827, 0.6424605920799692, 0.6909342560553633), |
| 224 | + (0.840553633217993, 0.6412456747404844, 0.6919031141868512), |
| 225 | + (0.8397231833910035, 0.6400307574009996, 0.6928719723183391), |
| 226 | + (0.8388927335640138, 0.6388158400615148, 0.6938408304498269), |
| 227 | + (0.8380622837370242, 0.6376009227220301, 0.6948096885813149), |
| 228 | + (0.8372318339100346, 0.6363860053825452, 0.6957785467128027), |
| 229 | + (0.836401384083045, 0.6351710880430603, 0.6967474048442907), |
| 230 | + (0.8355709342560553, 0.6339561707035756, 0.6977162629757785), |
| 231 | + (0.8347404844290658, 0.6327412533640907, 0.6986851211072664), |
| 232 | + (0.8339100346020761, 0.631526336024606, 0.6996539792387543), |
| 233 | + (0.8330795847750865, 0.6303114186851211, 0.7006228373702422), |
| 234 | + (0.8322491349480969, 0.6290965013456363, 0.7015916955017301), |
| 235 | + (0.8314186851211073, 0.6278815840061515, 0.702560553633218), |
| 236 | + (0.8305882352941176, 0.6266666666666667, 0.7035294117647058), |
| 237 | + (0.829757785467128, 0.6254517493271818, 0.7044982698961938), |
| 238 | + (0.8289273356401383, 0.624236831987697, 0.7054671280276816), |
| 239 | + (0.8280968858131488, 0.6230219146482122, 0.7064359861591696), |
| 240 | + (0.8272664359861591, 0.6218069973087275, 0.7074048442906574), |
| 241 | + (0.8264359861591695, 0.6205920799692426, 0.7083737024221453), |
| 242 | + (0.8256055363321799, 0.6193771626297577, 0.7093425605536332), |
| 243 | + (0.8247750865051903, 0.618162245290273, 0.710311418685121), |
| 244 | + (0.8239446366782007, 0.6169473279507882, 0.711280276816609), |
| 245 | + (0.8231141868512111, 0.6157324106113033, 0.7122491349480968), |
| 246 | + (0.8222837370242214, 0.6145174932718185, 0.7132179930795848), |
| 247 | + (0.8214532871972318, 0.6133025759323337, 0.7141868512110726), |
| 248 | + (0.8206228373702422, 0.612087658592849, 0.7151557093425606), |
| 249 | + (0.8197923875432526, 0.6108727412533641, 0.7161245674740484), |
| 250 | + (0.8189619377162629, 0.6096578239138792, 0.7170934256055363), |
| 251 | + (0.8181314878892734, 0.6084429065743945, 0.7180622837370242), |
| 252 | + (0.8173010380622837, 0.6072279892349096, 0.7190311418685121), |
| 253 | + (0.8164705882352941, 0.6060130718954249, 0.72), |
| 254 | + (0.8156401384083045, 0.60479815455594, 0.7209688581314879), |
| 255 | + (0.8148096885813149, 0.6035832372164551, 0.7219377162629758), |
| 256 | + (0.8139792387543252, 0.6023683198769704, 0.7229065743944636), |
| 257 | + (0.8131487889273357, 0.6011534025374856, 0.7238754325259515), |
| 258 | + (0.812318339100346, 0.5999384851980007, 0.7248442906574395), |
| 259 | + (0.8114878892733564, 0.598723567858516, 0.7258131487889273), |
| 260 | + (0.8106574394463668, 0.5975086505190312, 0.7267820069204152), |
| 261 | + (0.8098269896193772, 0.5962937331795464, 0.7277508650519031), |
| 262 | + (0.8089965397923875, 0.5950788158400615, 0.728719723183391), |
| 263 | + (0.808166089965398, 0.5938638985005766, 0.7296885813148789), |
| 264 | + (0.8073356401384083, 0.5926489811610919, 0.7306574394463667), |
| 265 | + (0.8065051903114187, 0.5914340638216071, 0.7316262975778547), |
| 266 | + (0.8056747404844291, 0.5902191464821223, 0.7325951557093425), |
| 267 | + (0.8048442906574395, 0.5890042291426374, 0.7335640138408304), |
| 268 | + (0.8040138408304498, 0.5877893118031526, 0.7345328719723183), |
| 269 | + (0.8031833910034601, 0.5865743944636679, 0.7355017301038063), |
| 270 | + (0.8023529411764706, 0.585359477124183, 0.7364705882352941), |
| 271 | + (0.801522491349481, 0.5841445597846981, 0.7374394463667819), |
| 272 | + (0.8006920415224913, 0.5829296424452134, 0.7384083044982699), |
| 273 | + (0.7998615916955018, 0.5817147251057286, 0.7393771626297578), |
| 274 | + (0.7990311418685121, 0.5804998077662438, 0.7403460207612457), |
| 275 | + (0.7982006920415224, 0.5792848904267589, 0.7413148788927335), |
| 276 | + (0.7973702422145329, 0.5780699730872741, 0.7422837370242215), |
| 277 | + (0.7965397923875432, 0.5768550557477893, 0.7432525951557094), |
| 278 | + (0.7957093425605536, 0.5756401384083045, 0.7442214532871972), |
| 279 | + (0.7948788927335639, 0.5744252210688197, 0.7451903114186851), |
| 280 | + (0.7940484429065744, 0.5732103037293348, 0.746159169550173), |
| 281 | + (0.7932179930795847, 0.57199538638985, 0.7471280276816609), |
| 282 | + (0.7923875432525951, 0.5707804690503653, 0.7480968858131487), |
| 283 | + (0.7915570934256055, 0.5695655517108804, 0.7490657439446367), |
| 284 | + (0.7907266435986159, 0.5683506343713955, 0.7500346020761246), |
| 285 | + (0.7898961937716262, 0.5671357170319108, 0.7510034602076124), |
| 286 | + (0.7890657439446367, 0.565920799692426, 0.7519723183391003), |
| 287 | + (0.788235294117647, 0.5647058823529412, 0.7529411764705882), |
| 288 | +] |
0 commit comments