From e575e36e663d9424f40b06b6917d8ac0be7c5c95 Mon Sep 17 00:00:00 2001 From: Kanit Wongsuphasawat Date: Fri, 10 May 2024 13:52:09 -0700 Subject: [PATCH 1/6] docs(examples): add point_label_null examples --- examples/specs/point_label_null.vl.json | 26 ++++++++++++++++++ examples/specs/point_label_null_date.vl.json | 29 ++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 examples/specs/point_label_null.vl.json create mode 100644 examples/specs/point_label_null_date.vl.json diff --git a/examples/specs/point_label_null.vl.json b/examples/specs/point_label_null.vl.json new file mode 100644 index 0000000000..162cd7e33e --- /dev/null +++ b/examples/specs/point_label_null.vl.json @@ -0,0 +1,26 @@ +{ + "$schema": "https://vega.github.io/schema/vega-lite/v5.json", + "data": { + "values": [ + {"a": "Jan 1, 2000", "b": 28}, + {"a": "Jan 2, 2000", "b": 55}, + {"a": "Jan 3, 2000", "b": null}, + {"a": "Jan 4, 2000", "b": 65}, + {"a": "Jan 5, 2000", "b": 43}, + {"a": null, "b": 50} + ] + }, + + "encoding": { + "x": {"timeUnit": "yearmonthdate", "field": "a", "type": "temporal", "axis": {"format": "%d %b"}}, + "y": {"field": "b", "type": "quantitative"} + }, + "layer": [{ + "mark": {"type": "point", "invalid": "show"} + }, { + "mark": {"type": "text", "invalid": "show", "baseline": "bottom"}, + "encoding": { + "text": {"field": "b", "type": "quantitative"} + } + }] +} diff --git a/examples/specs/point_label_null_date.vl.json b/examples/specs/point_label_null_date.vl.json new file mode 100644 index 0000000000..ed7219ad51 --- /dev/null +++ b/examples/specs/point_label_null_date.vl.json @@ -0,0 +1,29 @@ +{ + "$schema": "https://vega.github.io/schema/vega-lite/v5.json", + "data": { + "values": [ + {"a": "Jan 1, 2000", "b": 28}, + {"a": "Jan 2, 2000", "b": 55}, + {"a": "Jan 3, 2000", "b": null}, + {"a": "Jan 4, 2000", "b": 65}, + {"a": "Jan 5, 2000", "b": 43}, + {"a": null, "b": 50} + ] + }, + + "encoding": { + "x": {"timeUnit": "yearmonthdate", "field": "a", "type": "temporal", "axis": {"format": "%d %b"}}, + "y": {"field": "b", "type": "quantitative"} + }, + "layer": [{ + "mark": {"type": "point", "invalid": "show", "tooltip": true}, + "encoding": { + "x": {"timeUnit": "yearmonthdate", "field": "a", "type": "temporal"} + } + }, { + "mark": {"type": "text", "invalid": "show", "baseline": "bottom"}, + "encoding": { + "text": {"timeUnit": "yearmonthdate", "field": "a", "type": "temporal", "axis": {"format": "%d %b"}} + } + }] +} From 9212d87009abf5a4f1243424f1ff0eaf1dfc1846 Mon Sep 17 00:00:00 2001 From: GitHub Actions Bot Date: Mon, 20 May 2024 04:46:13 +0000 Subject: [PATCH 2/6] chore: update examples [CI] --- examples/compiled/point_label_null.png | Bin 0 -> 10586 bytes examples/compiled/point_label_null.svg | 1 + examples/compiled/point_label_null.vg.json | 172 +++++++++++++++++ examples/compiled/point_label_null_date.png | Bin 0 -> 12576 bytes examples/compiled/point_label_null_date.svg | 1 + .../compiled/point_label_null_date.vg.json | 175 ++++++++++++++++++ .../point_label_null_date_normalized.vl.json | 45 +++++ .../point_label_null_normalized.vl.json | 40 ++++ 8 files changed, 434 insertions(+) create mode 100644 examples/compiled/point_label_null.png create mode 100644 examples/compiled/point_label_null.svg create mode 100644 examples/compiled/point_label_null.vg.json create mode 100644 examples/compiled/point_label_null_date.png create mode 100644 examples/compiled/point_label_null_date.svg create mode 100644 examples/compiled/point_label_null_date.vg.json create mode 100644 examples/specs/normalized/point_label_null_date_normalized.vl.json create mode 100644 examples/specs/normalized/point_label_null_normalized.vl.json diff --git a/examples/compiled/point_label_null.png b/examples/compiled/point_label_null.png new file mode 100644 index 0000000000000000000000000000000000000000..aa3a099b2d023cea09a6140203391be4ec828bfe GIT binary patch literal 10586 zcmaia1yt4Vwk@Hg0*Zi2i3o_K(ybsMAYB4(LZqcTw~By*fJ(QtG}7H6AhGF2Lb|)T zYya;%D*obzwCQIv{EV%P;*t0DN4h?+|Rl%eC{a#Xz;?4(C(d#aBzdv5m#pAmB zj-ui7vp+tZ^w(WbX#@TJoYs@V@Mm*>e?HNVrZ;VGeS#8+M2d@xt%Eh4R;Kok`fH9R(EzdHO=s*lfV{Mpl|PXh*q#_w$=bqc!gvu@O!uxDgs zz$Mr{8LH{w>{*g+bk(MXj~+eBFD*5JNA9kUguKJXy-q!>?;pr*T+}!N2*z-=pk7#Ru%$f@>*xuQ}JlyW!kWo}*;^86F)6+{+OqlFt zSn0Y`I_O`LnUZpekB^UlfM9cT6XTAsaBOn`1()62FR7jRzkg9b4W%=)vL4>N!lw4~ z{53JhD66KXW>Qkp;e3oW#^KRI<7;E15G~`^M&n+*YomTD{>R5|;p_-mm|qN$P=OzX zB|<}kywIeZk&iE8yRdkiMkK`Q%-1$;_Xf+9OLTOm-RhVY>9uS1-x%aZPbEe0t2hZy z`Uno^EA?zjN)4VS+_{l&h$J`3H2+9*LpGsHmksf%@QZ|-0eMgYE4IE%!W}mpcM_V_ z`j4XTFy>xH8WU-s9c)taS*5ritg|6}Ic;G@)YR3#CPesQlVQv)BqU~L`p+c2f|b>- zXo?}HqVky7DLJmA74?YRnr$t0xK*nqCDn5E%s`t()l%9FA*2v1DrJ5yP*uIw*3q%> ztX^Psb#<{%B=V1bpKwYoia1k))`iZ>M>J8Fs_VgBt_$v;pUmKm1|}xb`N4$O64P$& z$I!i_Fs|366aae&pn2mUf4 zjApY_$O})my=BR%8c)}wzY%+*RU}FH6&}P1U%u3}(juRmn?F!cPza5Pz*c(k;#XE) zjjXIJ0WU8v>>sC5`wejkiM{(0cv~zLtJ7jfbEGuLQ(G!(YRsYw>#3SJgGS%!xw#L4 zfmcx|RD_7(bG$@a1Xe;+l#IAIR<-*9BR_v68H+}pk4RO-5OTw6dw+j0o`dm2PXfE& zZg_b3ix)38`xM2Lm6RU4xbV-m2Dh4Wt7vMbcS4N$6&Dxt#zsayQ&H(PTH*Sez^*Gh zimE6Ia~j7(V9}D0)O~;A4J+p2?oLWV@)%O={QUgQR1G4AgPz{|{OrV{@$1*GPo<=I zwKbnV|15J(wKMd5&m^^$am^HAwJRYPA#r@NUKz|$bNIf!U3PzMOxnv!G)~Cbxc`Up z>O^IPH!ktF`1r0g`Itz4+awwWJi6%b9W>{;mFsue*a8zJ{ALyxe^ofH6vc}T<{~;y zk9LZgd@9Pzmz3Y5m-tNBX|l@ocMRV~!4?c;b+TF~uakf-SKNyj8IYQmrlPK%diCV! zXnJYMwbM+T8yEkSZNGBrjL6y9d9>7;xbE{Ut|F6dgk>~I=M$_v@7jyA4b9c}hvt1B zdSXts6>uT0=jP{o)o5uoV;Db7-rFpV3<)7co{UYEEyTM+44664qXyFOQB-qZ&dJA$ zEg}Z#rk4k@To)7l_}z9FdD7vl*Dx5w=*ePFqC{I;8;WQuk5~TV{2lj0oyEDf5LnJQ z-D)@6{Z*~=+`oo^9m=UC?3;Jivll zxRVg87}trZOV-t)m-u$fi;2I*~7U!_PQFmU1 z<#Zk@-xg)AKo)m5FB|hMCvqs9T``h*q;ch5e|H$&G-m%0U%nVy0)4s34{N0>Yh;g^ z^zf@pZx#3rp*APq?Jh1VXgs;)<8yhO{F-k}Awn*K;dkUEU6b{-H5+SdY2Q69{7O^X zocS-Jf`ZXszL2cd{_Tjc=R4&8=gGe9#o2*HpV!67)a>+hJs|z&_V&zIX&N(>whyOz&hnSZwl;hUiU_IM2M-<$ zS2(g{Y38+bbp@HkyW$WN6GIN$IEDr2iI0EODD+!su-}vlyxqLhEtcn~sIIN;Us}rN z49v{<*4EZ{>FMza z2$Bj4z9sc?eU2;tGJ$K)ufFh$`aq;UdnC9=Acej)n05hxY9Q+k-6;12RzgBT_xeQT z5-J&&TF?RG&&ftD)1yb%2?KV92sX-QiE2*Pg~(Z7ph3yi)pag5^ObZv^P8NUMT&WO zErmxkbe=AA7dfw84v4NS4aw8orfZV#{rjN0u#oHM=!jLXCN^Hg{W>Kj;bUcG<>b7H zmk5M_>-Iei4Gj&LoRW%XP0BUT_cu{Yc*H9NQoHyK`kYD{7HkF-GkiTp#A1dmSB!s0 zV%AMoyGMz73OY}D@&yG2y*4qi*iqNen3~W$q8F$3mfBDx4#w?+d8uyQ z`jjdsU9#R$*D>(!XQ@xV$B5k{f6DyALV97=kAL*_s^tbHb(Y~tD7W!Nzi{?<7n_a5 zTf4hWqodKzldgX58`TtVp^!WTP9=Ky2b+qDYPi&zHo;?CCfVr3$91QV$3huw3t`%+!zRYiH!yhO;USFXR8T~k zT3Zb*EXGW=lEW?&2d+uJ+O~Z}s9=A$FnrAY*xsF3ESptlAn=`dBozWn%%I^ChOB&nmtt*i zZ@cVt@{JT*P;6~&MaYZU&EdgYSanK1*La@j+KK>&)fPy-0sL!z19>5|zrQcvMM_E8 z0Zj6lf`Zj%2ZHzj5uLKq&d$smPT5qczL42~r>LoUag~5kebPg>CutK(&k1G=^pd znBRXZBrhA{(Jv}V{*moZVHi$A{-^8LSNh@wMQ%y-B91uU3;wD~OAm-GBhm2d_wTv% z_(Uop<%ax^kA3$l+>lr8W&=qWQ}T-l-U2xr*48mFEJ{&a*jd=}VF(*~`Oi++770yt z&$RVjTs>$bq{UKj8iX&1fOgR#u*Zj;?tNGU7(pc+Pi-NVzf7TwW7ql-s+ zeQqLN`ON!g5$Bg^#M8kx0#>#wpO3De5DK)jV+W~byefpG`pRd&2Nr*BQ7#Zsk`4y+n;kQC0 zH>Vqc@R>GV zyLRpLbf?=b6!gz~_IJUbK24(q&aqGJkL>I#LPA28!zk3(zI4Tve@IU0>6eFB8ZsMqM{por59e#k^drdZ&)UdWregON_vAR zZ9A~74GijgQ{{@M*>pH- zq9`lRRO%dQ9rM<}vcK>6ZeDpF^+=NPyjASH9+=G5{(j5YSj?Y4`hbJ)yuGmj1+LJF zo@zwg`A~*6VOzyxe{-R}s&a5MfW85FXxwN|ttA{n^S7nO^C<(K0oaaFvpm zThT}Sqt1M^`{CQS7;h{sU7-@=6B5$1vVI0=MFAGfXDH#>cD#JJ3A7PJDE3>>Iy;B6 z!CV%DtbiiJMP{nW(#nK%&l}0Gk+6wr3UQ;RFJHY%+TTFyLD%iqo>`>g<0_h0s?yV$ z08eUW-qX?1X~vcqb&yYb9v~Fr1SO%?x=i~}Y;J8~-VqRpT1Y^~S5yebd+uvlRj%<` zmiP9mbj6Egb-HJOVnHj;-Q5(}2fkh@x~9uGsi74EEb zNKQ-hWk*!xziK7`?GeRob{)8CtcbhDir^@OqrX4FV2+M7D2Rs-9}bU>ZV&2MqjGfk zR8&-4c2UwteF^6dSsjDwI?GE>(N)MsD74G#a2j_YS(-RCR7DSYR_q@XG?>;I%_Eod z;-`3=sHb*nN{Z>Mp68xAkKNoexQL^A_glfwpUPTVTC&WkpdCX|rfLgaaebA$IuArd zs#E347*eQnIs!{1N`vle~+9c))g8VMAnrJ`Vn*9_UoUT{vbu&<^T9zWIvzKjiwk0qbKJnNeF}Zi|9;ekf zKRWeGN(SeDmXxFw6&0cE;3-vyGXcUozq#OPkofyXfCC_h{>Cr-^J7w zRK4ACLJ_;W4y$Wx0#2(pX+3wZVZepIqj>^A+8J6}cEZBSK)mrguTzCEDYi^Z#MPeu z<+u^gI#b!`8k_keeY}RWnISb>>qNj=F}AMue2-(zyq099Wzp#w^7PO)Gcyy9fS{qJ zB@I;svshkU{>T3SL|#$WV7{N1nHZN$h;&)^?CtCOnVB~yrZf0TSx3RfM*948L98!N zPfVnJFmS}{YQJohg^)v~>B7bave_&*H#g9?(rHcB%}o$v>O8ii#52mp*+zfWGVVpi zuGrx|m4g0)jnv-CukY(#ZegrXV}_P#-hS0o!>n5qIoooyZ|W)t`W3$*CaiEHtklL) zJhDWC!o?zMhe16)XP`x0E#aaxP`MQQI^A#aEIB16F-;;Wme(MdLNy1JUKn-<(H3?o z?l_t)ZGYf2%dsM!V(SU4F_`S{AN=aF$lvTp6q}Wkt{2INz@E^q5T<*soi)~o{kbxS zRK#24*8~2}s90}d{xphn8U;2)I0<9kz}hqi!KTeCQx}Z&!LaL2bXH$AC|&59a+v}<09&dv@!2Z!Ru^$#Qzi^n7#407R08X7Ht${Rze;9Gn8fRw9sGFDe|E(HcOOSr_oEs=9jb{u4YDD7ad) zzBCpEu*#?aWcmyX#Xnkn(Xsf?hSUFdL;sIG`tN)E|N5xn@_B!T>gsrT2qdm9@7nNB z!<4kN`J$a4uut?D0$!Lw+2za87c5dK%PgPogDlt8YV|aE84bzX&BT1$RsY0LmODy&U}N$XL52DOW&I0ztjb+Jn}qt0Fs2(SzIPvuff@1Lwqa4 zzwTly4`P`Ks{bu6V+>BvqWc?Dicg+Ak&9ro`f^G4rK*z?uc)XflsJsfQuLFPlXG)( zMGj^&I5K~ld2U_72~`PfVNL~Ok4+<_OrVqIu&9W8((A;sW_`R%j-65T^z`wP!!&}1QundmTwuR zEVG7{oWbD+ImyWuOEzLlRDs<}xMYz*Ae-+==k3F}x!2$l;!wB+6_=K#fB%l5r#Cgv zDlz_+7Rh{%<$@b#|K`w`(DmpjWq!aWEz>u_i#bKnWTYeJo3Tg=2OC>63Z+cxWM`LD zR#qk;N5Z#w*!Bp+_W(c1Bp)|%GU)RnDc<8QAF~Dr?iHHJ=4KyQannYVu2?W3iAHTy zCnPBYrCz;y6WZsz^y6_R6HXXn~P zU7Hx5O(@T3zp36ES5-~zsgaRUGNG8}GP~P!gHNYc8vFBN>XW|hqxnih{*e*RB*i-x zgW1hoZ%9hic|Oxp$!;it{mnN}+nP7A*p;t^eesJvm=n;5m6f$f*XZwi#L6I3e?X&_ zqaM&5^kRrXy)S($Xhtv-09S1Sc92J4(x1_P~Yj(mal=j+#FflQ3H-SY<>DjHS6U?OEw=qa`sVvGplBfrJO$N{V3h)Fv*Ndh8^4$PF4 zd*8l&JNz4=w>VK*n(O#dE=w$B;laTl@V$3d3%d(|VWIEUwLRjfJ^hA8FpbvZy%jBh zau6kNCMv=p(tCS)zUxre4up*=zkK-|9Cx(KV`PM?MIyl!WY?)FE}cz+QWNhwe`_#L zZ)$Gat(F5&%oQ91TU*=u=H|;F77;6D?CqDpr&g>!+aCj}21Gv9!^1-jfr#Vv1l4Ii z)AUL6rPpA#mU**38JhiaaShz8u{SPoyV!^=`aOr$DE;^Bus3aAGBVF_4meX*T)5T92S-KpjDL>#bv@`KR@51Bw0XDF=V(A28pIyhXW#qe6SBR0Neoqgm4uT1H)x@kM^!8E?f={4p})l zwCu^NBq9vBsQLW&?_V`=yXNQ9&}%fH+YK@SO(f#MSOTz4Y>mKK)x~X>e&5KPxF_P=ou^t1*_!M}yk&}pqJ*Xb6 z+C_^6Iv#nYK}S0aJHv*-h^@^vjs7hiL>9FyGsv9|sBb@ui+ReOU~_(gS~Bj8cAQx0 zo%J*@GiyUQPe>{&UjsV)5Zu!A++2lH!CdJ=Br%dJ*OB-(g5n(s=T z7Y~jG{WNU-79H(2v4Yz1v}Fbnl!a3)psNVa99XZ{E4O1f*M06H0W=4xt9y(V zgYE6@(N)T6=!oO@t92pvl90eABxlvHe}8$j2&fu}>QDauU=@3VaOeoy~1Q^l!`RX#bnM@dlEuT?caTqk7yQr1i#+DXehzeB|6>;Dtw{G3)@9$qkr$MR{ z_z|&Bym3HKwyl*;bpZy$cpjEJz08EZ6_25>&erR0adEzwxJ4!-VS642gclA0cDRhWG(~9X*YO1L< zfuKD6<4tVkRt*)y0F@+3CE~Uly<;_5b<4Z{yWB1Plv%%dINNA@UC2$Td&-h2f7Pi5WEE&{TeB$ z#ETaXKVD&@OGA6b(JNr5K8W~Vh%x8_eVlyy`VSB;!=oa4j zjMX2_W1%K5AL#%2vl{TBOvMDzb|A{N0vYR)5$Rh#F`llQH!h(Z?u|nhG z;s}U{G=fF;BL&@de_(~Cr>Dc=2vwm z`|I9etGl?Aq2~ucs|j;7M^`<-d2qJnFx%_vpIpYp%>o-lJ1in1>*Gf}BktSk&`%F5 zEG#sis;L%q+5BG8IdySyEgo*}AAm=H*Vl8=hROEd4zll1iPF%*jR)xI zWmDRlP}k4{uiohrS_bo0iJY7~6XHr1aovT2f+8#=Bso+iv!rCdAetR#61r>PtCfHjvM&Z?CJaFLARIOTc3oEqvM5TN?@IN{=m)-o=ydOsRVO-(J-ZErwx zpb^?J7(8HKS;lMXx=Lc2?=27Tozj>E&QYB+$|pd7exoV`0BU+~)B|Le~_nmtYh$E`KoJyml3U7ai)%*eqJ40(e-U4w;%Wn*Jwy6aH}djKajns=A_Mt&OlIniyH4?SnE=}Jva zU7e~;0KUUz)E+8@;6t3oAWkWx1qJ+S@nxB7j^-($IE@sV5R;LSjUG9w^0Dj2IsuqT z%_g`lGlRVyCF0JD@A7pv*S4xBCN&hMk0&&O#1p2f{#YrWX<( zCo^FnD!S6d?QKW%BH(C13xv{`Z(be;94mnn3wHCrZ-K2xiO3$Sbml;B2=u?8*88JR zVjLbGW)0eGIj(~O`^WTy0Re3?+qpqbZl0$V)6?sBGwq*ne0!V6JoGlFJ`74nTib1< z3g{+O!r6kx0jL3FG&GZoHVEcaa7+8Y&`I3*F6g+Ng7#ZJOC?7OIp><2nku0|nCL6+ zm7CvL+1SDY0|QkesCpr0k23f4gi{g(9WzyAGoah{40Bl#c^m@2m?U^=VE&WP%MFP+ zK0ZEn4i0MU?Cb^^W)c$}jC@nn-ImX{`sUQ# z;3yqA`^#qs>l2tZPEN*f-{@D+V}#HMLQ5ZXp1>MWJHGUAdWSMaKUdR}dzg@;3VkH# znY_Fa)MiLeyUjmO-g|pPV{{s7>1!~#KwfXcNw~r{Bahbln>soIAn;49rxd_KL{vCH zV}#Bx1;hksy@37OXurl{h#e%p6u^1jNi{07c$X=toZoRd6pjCGoAtP` z&#-qte*Jo8WN4V|21B1yHI(c)p1L^GGqSYI>Fw>+t_anU@?snM4CDt6Nwh)>6~Gr{ zJ02dM{%Dbzyr`*oQ8rjbp(;ZjcQTm&=_=1z2>iRHc8WYtn=txV>m2}xB{5_q6`tmb H>%adm>@OEq literal 0 HcmV?d00001 diff --git a/examples/compiled/point_label_null.svg b/examples/compiled/point_label_null.svg new file mode 100644 index 0000000000..8b5203f563 --- /dev/null +++ b/examples/compiled/point_label_null.svg @@ -0,0 +1 @@ +01 Jan02 Jan03 Jan04 Jan05 Jana (year-month-date)0102030405060b28550654350 \ No newline at end of file diff --git a/examples/compiled/point_label_null.vg.json b/examples/compiled/point_label_null.vg.json new file mode 100644 index 0000000000..b52a9f3e96 --- /dev/null +++ b/examples/compiled/point_label_null.vg.json @@ -0,0 +1,172 @@ +{ + "$schema": "https://vega.github.io/schema/vega/v5.json", + "background": "white", + "padding": 5, + "width": 200, + "height": 200, + "style": "cell", + "data": [ + { + "name": "source_0", + "values": [ + {"a": "Jan 1, 2000", "b": 28}, + {"a": "Jan 2, 2000", "b": 55}, + {"a": "Jan 3, 2000", "b": null}, + {"a": "Jan 4, 2000", "b": 65}, + {"a": "Jan 5, 2000", "b": 43}, + {"a": null, "b": 50} + ] + }, + { + "name": "data_0", + "source": "source_0", + "transform": [ + {"type": "formula", "expr": "toDate(datum[\"a\"])", "as": "a"}, + { + "field": "a", + "type": "timeunit", + "units": ["year", "month", "date"], + "as": ["yearmonthdate_a", "yearmonthdate_a_end"] + } + ] + } + ], + "marks": [ + { + "name": "layer_0_marks", + "type": "symbol", + "style": ["point"], + "from": {"data": "data_0"}, + "encode": { + "update": { + "opacity": {"value": 0.7}, + "fill": {"value": "transparent"}, + "stroke": {"value": "#4c78a8"}, + "ariaRoleDescription": {"value": "point"}, + "description": { + "signal": "\"a (year-month-date): \" + (timeFormat(datum[\"yearmonthdate_a\"], '%d %b')) + \"; b: \" + (format(datum[\"b\"], \"\"))" + }, + "x": [ + { + "test": "!isValid(datum[\"yearmonthdate_a\"]) || !isFinite(+datum[\"yearmonthdate_a\"])", + "signal": "scale('x', domain('x')[0])" + }, + {"scale": "x", "field": "yearmonthdate_a"} + ], + "y": [ + { + "test": "!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"])", + "scale": "y", + "value": 0 + }, + {"scale": "y", "field": "b"} + ] + } + } + }, + { + "name": "layer_1_marks", + "type": "text", + "style": ["text"], + "from": {"data": "data_0"}, + "encode": { + "update": { + "baseline": {"value": "bottom"}, + "fill": {"value": "black"}, + "description": { + "signal": "\"a (year-month-date): \" + (timeFormat(datum[\"yearmonthdate_a\"], '%d %b')) + \"; b: \" + (format(datum[\"b\"], \"\"))" + }, + "x": [ + { + "test": "!isValid(datum[\"yearmonthdate_a\"]) || !isFinite(+datum[\"yearmonthdate_a\"])", + "signal": "scale('x', domain('x')[0])" + }, + {"scale": "x", "field": "yearmonthdate_a"} + ], + "y": [ + { + "test": "!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"])", + "scale": "y", + "value": 0 + }, + {"scale": "y", "field": "b"} + ], + "text": {"signal": "format(datum[\"b\"], \"\")"}, + "align": {"value": "center"} + } + } + } + ], + "scales": [ + { + "name": "x", + "type": "time", + "domain": {"data": "data_0", "field": "yearmonthdate_a"}, + "range": [0, {"signal": "width"}] + }, + { + "name": "y", + "type": "linear", + "domain": {"data": "data_0", "field": "b"}, + "range": [{"signal": "height"}, 0], + "nice": true, + "zero": true + } + ], + "axes": [ + { + "scale": "x", + "orient": "bottom", + "gridScale": "y", + "grid": true, + "tickCount": {"signal": "ceil(width/40)"}, + "tickMinStep": { + "signal": "datetime(2001, 0, 2, 0, 0, 0, 0) - datetime(2001, 0, 1, 0, 0, 0, 0)" + }, + "domain": false, + "labels": false, + "aria": false, + "maxExtent": 0, + "minExtent": 0, + "ticks": false, + "zindex": 0 + }, + { + "scale": "y", + "orient": "left", + "gridScale": "x", + "grid": true, + "tickCount": {"signal": "ceil(height/40)"}, + "domain": false, + "labels": false, + "aria": false, + "maxExtent": 0, + "minExtent": 0, + "ticks": false, + "zindex": 0 + }, + { + "scale": "x", + "orient": "bottom", + "grid": false, + "title": "a (year-month-date)", + "format": "%d %b", + "labelFlush": true, + "labelOverlap": true, + "tickCount": {"signal": "ceil(width/40)"}, + "tickMinStep": { + "signal": "datetime(2001, 0, 2, 0, 0, 0, 0) - datetime(2001, 0, 1, 0, 0, 0, 0)" + }, + "zindex": 0 + }, + { + "scale": "y", + "orient": "left", + "grid": false, + "title": "b", + "labelOverlap": true, + "tickCount": {"signal": "ceil(height/40)"}, + "zindex": 0 + } + ] +} diff --git a/examples/compiled/point_label_null_date.png b/examples/compiled/point_label_null_date.png new file mode 100644 index 0000000000000000000000000000000000000000..ca12ec59c019075c21fed51f02d0eff48711045a GIT binary patch literal 12576 zcmbVz1yt4hw(deylomxoLX;F~kOoDN5)h;%q`SLC5Rev7x~033lSPp?eL4*IkxOEeLE*dE| zg@4`DmJ}66Tp|BTs?7*TARZ#bg@wtmL)I^Ie zw5EJg$7zcS^Ak1SqXTD;!*QE2JGcCGx3vg4bPDfdjBp>u=eGv9#JO%!1cq7S3K3Gx zJ@jUlXnb)?E5h5$Fibj8pyvY$>S}*7>c!a+4F$!Vzg}ZwBQpyN1rN`J;RB5OPv1{f zS{=MG8={|Nd59^|&B_vR*J;Lg8_ z=eF^A>5I*x)p#8N-|#b#h^@W7{bx(dCx3tR^w-gigK3gP9LDl_6R)MDsMy&fQc@mu zc6JhS7~lI_cgBdgI&Kr>vRTGNsHmtYtEv_ok34z$^eOv>UQ;+f+Q8!X@85s_`Qxuq zfcCs#Y~jxz2?+^w#NV1dY#f2(hwkp~W#&Tz17CV#IZHgQ+_iOd#_K%?{h^3 zXO2>V{{HHKyb?V&rSA50U)%B4icVaQfPoe{J~ zeevgmEva*GKcF<28EqQ&_PaOyih3F1i4$gRl#rP@#Ps`*v6QMRPa7-adp$i7OHrnpnwVv+Pv4S9SDRk=RpD-| zHx4Y4NT(4LQt)^V4$9@`=5AZtJZ!Hpy6H7aNzzREB4cRhms`9af3%34s(_P|lkNJd zNT>|GEtb04W9XtSLZ0~Ghlz^UPfDw79VuNf#~#fp{tjA?pc zMIMreWq8PtQO?mTR>dGJ1Mx zT0fw5iFNiwL`Co3y=x=lB6VUvAsFt?&R8KSSehcv1>G=M?O6_5mA*t8M#kX1mANNYR8veWzM~=(QF2UZ2Fkr zzJ253<+V9KwvvwL(TgG{Bs4s(h>eX^(`Wn>9~YYY2>|^IT=9nuL1L%t))Y5981g_6 zfQXn6o&{38^cg<&UTFM;LB!|C3`0T}3T1z7D5EuPiJE#h^$wP#fM?n7#l_}K+0-aD z18jKfaB#l9WX`u-TwEk1C5d=!Y3u6hynTECq=b=^XhouP95?>wd0Bml^%xyCjh?KE z-Hxj_wBY#oxaC@w#;nJco7bVNUp>6PG^YCVu;rfEz4-tpZ4;9&xDymEm&2!NX=%-^ zt*rJN%B{hqT@iF|X{+CKD9sg-@W8_iT1#}&i%WM=a1_MtE#cQ3&j+xZj0Wy3w3WcL zSniJ2sni+i>A_M`Qfew!S64Twxt}7?&h4vOTw2P`WBoNTksO++THASlj_uyJh@sXr z?k1NL+#fb*CfccM!)GXmG`hHhKRC$UkCO+?_^;0QI5cEp*t4)*9tm%XaT!wbR}g-v zo~TY9Q`nuWpVc|uzQbipVj4vwtV2DQbca45z{2c>6%pwKSCMuLI&0s%LN`r3#h!gE z^#t58D)@@}QHEcMp$)x)(%}yIfg5qAgXl~Nf%_JlzxtPMTd7+M$vv(k3*N`t|DK&4 zb8&l(gx4iF+gPNYG2ysUlFP4E=8%M)J;~$&PniuhcWP*NH>UHAlZD}_?Bp)I6h%rB z_GMFxPbIbZ;>#;kgu>w|<612NOm$)f8nw63(dRp85*IhdOMILF&RAahU^YNodZFQH zlm+Q^ecSo#arJbHDXoo0I_~}X@y>NLv^^LWVNp?r z$_8)?$kGMWMwW+vz|!e83S-G38|-jusrlaxUW+R$CAMpWJVtD^w6}P9d9lg(#QGBW ziJ)CzxKMF%MYXq!y$T{0QBxzSzq;g=5xii3@XYif{6>>6j*hXhDhO?NfN`lrXC*X5Ak^=eVD3a%N{|zmb@>oc!_Q2k@u4_4O`5 zy49hKkO5v|NePMV{r#Gyx?5HmgOnuh$8%^%_y;sch>43gjE;UoHqHK!On7*>S6LYc z5fPD+*@EpWiqBb25lXRN!c_bWa+c$G9fDU9T!KAO(dJiH(2zt_?DcDaVKl~|iN*PO zp{vUal~Thyef&ox%gf6?$&XaQ zqxWs$SFfxu&z%xncg6Ym`LR;DQB7xTKBC?xqD)`5IhB8ex<%@3ba11WV95$ld~e(! zu_2B35y4aCpGhygwvUc73JY-oT2oR|2nF5wkjDU%{ET}(9>hm-dR2=?ZD$${!NmGlXi5C-fR zT4S%f2WLe8AR?VI`&FsM&%np4rET7^(6p8EGL{}qMM2_AOpO26uOs;N=SxdVy1Kf* zmzV8d&IS*cO|Fdx4u-V8>~c3O4w{AAi!(u;ARf}tpurD7{m+q+1T!-; z@(Kzggx@(>IB-6AHkc6&6tLCh#q6|)3Mi{ihDF6#*t+ni9q`KSy5&|qCY`msF7CGu_@azV;NS{Y27w_d=bsKUVWrEN@AZMMZaxg$fN5NHuCL zwtopE;T~M&1L2U0T6U?zX2W*VuHG?>^>6#LEiCgKk!T@5lTg7HpE-$ckkV^eYvTxt82N~e#g|*^cFVuv#Bp6 z1O&cWS#(eeB!cd7jOtbWDIx(m<&Wnc3ZrrZv4QHf{X0YYVQaejt(=??5F02-L>!+J zUfR9O%S&Yy^{ZqtBr^J$)cS@Ep4wldr|Ze#85re)tdp2Myc>RB@n|I}C5ED|jK# z_^w(Axhd#`QFnHCAMx_W*3<-~Cc+E(5*zzYN4K<#$6@O=d|l9;$&s|HOVf@psz7qV z1UNQkk4sn3>{;2_tleX4wq^M+QN0ZxVq;?ikzqBPU-4O94O&gzcZXQXbo+l$81G zGN|=|4Mqs%QV`rcX8+O_QSqshFLQ}itGef-$jrNsThA@^5(0GU^7;gKWH zMYZE@h{t);YI$o2x#q&bOB{Z9So2CwA-|j9(H=Y3^$QCy{_SvE;XGQci z#N*8+rNz((ynm^x*Cf&9Bwc^-;DNyT_RB3&0qpqR>%8=PJk#GcxNi-3+iu%x&lcI* zlfI^ST;M%5#aAqOkB9m6XU01U7i=MR3N!W19|gVy>C`;)GAp5R3V~UlgU_5D2U^pd z;3CMw(RRL3dAGmyGu!xzn2cnGL8xH4;(fb1QmG>n0O%+_C)S;v9Umhw7rJ9PLkbI- zS=rdirfP627A3V&36SU^2M0bQ|MsCL8d*|J4GEy&O)O&D zp1&%eaIr*7n*0IcZUcL`cI_JG5NN;t^#dR}XdeOOq?9@&>Fnw{ z8LPi+iM6Ox(K&_gGMS1cyLYeo%VW_}+84L10su_mhG1BB(BBNBefl)lN~S6=&n!r* z&>J^MG@e`$M#v5n`ffK{AG6D$X)w89FM+13r>`#>gKFt-XiFcxy}dn?sXj7NQmNOk zyYbCt7(*l?|0OczR_5M=I-PF`z$yTn#2@%AxIY>1D$HH?2SjPp`qylmo12jz+*C|K zLE-J~J#5JI^yx;qlYG^F>P}_+Y4TSd9JF}pwkQ@I%z{WpbqOFEmUeb6BO~~rhQP!6 z5EO)kkB^T@$efffi7PaW(!=yIM!?NE=&VDjK%=MJY%()DTYIL)DJrU6Bu0q+Rg7;F zDh}V9g|Z(%xPexUIhP3ey`%If|MWj#v9}jE1-H>Cyk+sQ|F59^?=LJv_boB#+Z}!@ zGm!O`21!`Ms3c1ZUf&u>%IEzh30@Qs%lYG-1s@}rp-A+#`y-#XepiS+bbX7Pl9JLA zbW?)Ir4tx1t)O^c1G7AVQ}~l1L?P@|xs~9RkwF6^X(8Gmp<#BG+{42I=_S=Mqfuy|Ut);80 zhE4S=J+W=81F2-18VA9f2t@BO!;?h{CDSjlg1Og zYHRsntg&0n#K8ydj=r-PDAto?RI7YmqThpP@9u5}eO)MRYs=2U!lG3A73c%7Ie4bU zrKKGpt>KA@NK1;2j;_>f@*7BZ**9-K6ciN9bu!%0^T@EO+@4O`_PX&tBtK|yk$ zoD=0{lE%hQMn^|i51hBE)*1Z+0<5g8l3~z*t)-Z+)`67Iw{G92prri%>YbLB78n-S zOiWB_YHE~WQX@}&_Ue)o@izT+LvJrOwD!j4CRP^;7Y~n|hQIA>YX; zkB1*CWc><7e1(*yOF&YgtV+2sng~WR0$l4t_X}qY=QS#ZDvD-Osc=i>GGly$-nit_ z(tGf98XgyRH*v^b1N*9jpBC;Ap_+Lkm{06A?4(P;r@GFo)pfX~zp`ig+EK*Yw8;_znXn-zF{w2YVK|Kj~ zm&}>;+(e@fnzJ+8UoV_rHBM{-FDTCY;*?gW2U3$IYv?M5%yR)8`-{ng%nKt+nA@%kejJWV@nMwl<9(Hifo4+@K=n1Q;OERt0zmf{qmr5D7UrIx zG)kD1ym37SR^2CE`AE2b8DMpneZLy4!<%6N6xyHba}iXZKRR;}ym#z@#=;I-bgX4W-N#!_>m zv3|YVR-#6>F4&Py<)x{bNi@C7RCt&|>>pk|z!viJ`9G46|25M71CrUXd`*JXC)-=g z@P*DlQP1JtzyAsl6R1~;Orih>SwJt}yiC5>oLm4tAvLA8h?;GJ^18%eOsV(PMZ#`mT zyZd2tvSO$}Q!p+*9{fG6X1_aN=BxbExZJxNhC#rn3vwLsJtJdbd09Vd1sn!d)tFJL zTNLIW(^0#769p3+8->!PgWg-RUjx;H;S20= z8y;kLNJdag-`p5puq*)kO6Cqm5{el@7)Hu^@&2FYptBLTLY1I8#e4$~AAFitZ$guwZPV#?NME@SH|DM7| z_p!maL&7S=1oX>P)YRa`7mTEXJN!I6c`cIRT`Rz8R(`(zT;nIc-S)>mPGIV>)`O-8 zdlKMbZ$wGc=$}Vhyu$2$?g&Z(>_*F=H9*Ak?Is*}0mU%)f=Rd=FE7si^SRN$A4nYn z*j}5h7j&*A19}3e1NtQLKJsW~YZF4dJ3AX;v~N#zbabq8-=+|58rq^BHO#<0|2{}Ve~c>p^r zdQu0|$b;H8hjH=@t(C37?f~na_Q?~d$?(NRUBpdn5;4fQOvdu5`1s;7GihH1lVpk9 z2A=a>oC{1AHm6-($mWpVfydR^EDAFl+v7)%K0-Calpua)F{8FnD0B<3)>`=v2}$?i z=44Rs9^@fl2dkPY-jelQ+%@{&@S%Sn*?+5c|9Q5)yvRZ(Vt$W6>IInDz=H^vu^v3b z1czd3diwV5+jAj;m&_BbA8%j~a+<60D>4v&^ll=hhMW@Y3S4sXzUI$&qxqbQwPrxZ zAkEsWtSqE#;oE7xi=~=lsC>Y4S_(#8Z`@pe^2^sz%qSm_K8H>#CX8;#@RFhCee`m2 zazH?V>(0UP6@pcNe}7tfdY$1+*_yMhYQ*^h`PFYA+?H$6R8U2^s%2m-bm#q*n%x0cOk7ejH6`WR2MB#32LU@Tw{`q{P?+|ISB~laf9>77a!uMa*|G)i+O1$Ah$dqn^hV8rt9>NUkGldefk!k7%O1 ztE;K64+kPFD=U^*P7CwG%g9N+J5s_naLRb5E%L=aK!mhb&$X=?q7>}_l}vlk|E2;$eW4Rzr>f*Bd(qDS6?_Z zWa^~zO1y({jr(TV*q=fgA(I1V7BrV{?x^#O|D)>HoN$?o-gv z_=bhysi~=9?!6Qe0`itsB(1DW2oRCo$I3Ave^w+&5l?+>6IDpjO7d7m;3pSXu0`xC$t<9tFD-vxyICW09>6TyGMt* z_r;A)7UKjO{RHYD@SQ&;Pzp%To%x#wK5pCWY<(Rky}74!#^d%3{1*awTtx;t;rtP} zoaqCa0&dVyoVK^^gaCBK1oLGwBIIJq7`+XPU(Y%&1aT5q`AtCT`F^SMD{#x-3k#@` zjC&U_IFXnMsA9X?->_OWH#Zj%894+DTk20{Zmupgk105C;WRRXb#5+AJ+D+pta1Vm zQbGSfV&e(uVs*T&1)R6Aw6sQhx^*T*@LioNw?SV*OJCn#e<9Q35Ty|hpq75b!M~)7dKu)?mz|lPKbjl-&aTXTae2Ae<;WcA7D-E|i-wSaEv;GPuJgA|uiD|SJ|vg9>eZvG zr^w59b{@mrv$C}O+0cLjE(2WJCi`~OGqV`g!uOtX5?SC0EiEsnKcT0`+Jm71u$Y=( zb@^6?KMj^MOwuCcGNj|>z@o^C;j~Bq8Nl|mM6c_<9T}IypOM!y7YJY|E>fIdd9UcbHCt5Tb&5JOl_-ru)Td)(wpNnE-Oc>YD3)A}?Ne z?t=YkE=b&UcA_Mu-G}TfS2SNKTJEQ;`YA26+pNw zJ5p-uE4K#$0PA#g4G=V!@R*O3&GgOBYYUuhu<3V4H2}3=1%(m5(S}Cu`co%_A2gay z-o)U%O+(tz9t2jufi5ynJtm@e4}^rd9S4s=Y39AFK>7wFRSXOQ z1nKGNQyy0r0La@=daUn%BH*=iM{vLhLlVxPV463AkR}vxbqxR0hE(6Nu@C;% zUkQLgNJ&BA36hr;tR$&Zt1=$2e2+mKVhx?`ue}7yax`TVLTxu(Mtui+tePgZ9BGnQ zSR`uo4?z_1*9TiBU!g5h)4c=C7x1$xx2WbSRNL~hH_x&nvUifNa#|-sl3)4)S<_s% zFFjW~kB*KW=kUmSaC&i`gZ#`Y8l4t@e58jDZ00_bMmM;#nmYIN7~R_Kcu2twfYE`J zY_NL-N^OMWZB4lyEbg!%T}a0TtjoVwmpC6}Q(qxPxzwLZ1*P@2qgf9b*a86G85FS9 z_U{*UFg)l-EjBKY;UU1%b!4xb&elz@YIuz%27qj}-Ewt4D>E}w ztQM}C4f*L4PR^s?f(1o!LGwPI{B&_(E4i@M)MV~qRzFx3zh0>@7&2KBob$zn9%6~< zQE)%~Vrl-%UfN53)f&g5IUYY=b?{7Jy5uSs&8JTugE4grtR83>JJm@&psnvO&re?c zEv&r@s~6#5;xj`70?#0>if|?%B@L3!&;h07W5mtP-JQT63le2NeG-vAt&GgB;j{NMMYuPz@?|FkExy}k_r2?MAPE} zxfu6GULLu<0HU;UY%CHiN8(mnzmO1`r%wZ6KCs!Yz5%=#2L}O`aGHTDfbC1Xl}QSD zGg1d3n;iyB?#Rk~`CvbRD!anf=~#V4MMVYr?c1{Opb8(rNUa*s1AhAzT9laGFjQ*- zC^mkQ{l>542svYz9O!Rm-Ouu#Ffl2Cf7=Nm%MCO%dbnXd9i3D#rz7Mfq~duLPR`D9 zAmv-y+R8^9^z#0tO^cWSxpXa}y1E*|6FKmb-_%2BiqBy-U8R7M4g9flbW|}qDvI{) z+qWEmLtu!dA@t15^1!wGDko73Ez#NBEDZXO4icannGhyRgNY(9A8{=Ll4s+g^dPOv zv%mEP!DRf|knr700*wg6I@0;_WMu@-A3q6lrL?%XxCo5`r4KROHp>dLdypYd_Xn4h zlpw$Vn!KZ9B}_cXzO#S+e2$NYmjb5LSD60(etvJD@f5)PM1KQmBMfcH+TBk2Y-l&| z66tC+3aaeZ(_sSU!*?i{n&xW7f^@08HVhWL#j?&I$grvJU}=`Y7FZc1F9!gduy06@ ze8B9SoC4)%JUpr>#uKGRu=9saD#sHq9Yn^js-UEl^UQ357VJ$0Ma6W0FpL|SF#dC3 zU}b}NqW_7@2zzLNI%;m9X}hlrC);l0N(-9~^S?Uzbakz;WcE?&QH4L4O01uJX^BnYnp> z42MZNtheUDE#%+w&CPvU29lElQZEibi5r<#3$1i%5$HHLN*|mdBET}MgM<$K4QOCl zo0VRLKEA!cYs1JepsNOO4XV#|uLsNHRSXaJie)&Ad?d!I6lvc;!zMu_egEFPsvZau z48hT=13m#8kUsJUoaV?~B8am8k@Z4xgFyN{m{)&x^p}R8KOT1W`hmS6ka!9~!Ozo! zb#B*VW}f&he;Xp;#mP{d2udodum;P4~>0&Auz9C?MwX48(ajeDlnIh0I7p|w1lKE*M%Rjsky7GtMH<0o$v6Mj*l~p z;Mc0E!~~3LNpN(qnFoR9TOGdExHyt3+chD`;{iK-!Xw6b+H6kTdi(kez+MKP$_(U% zI3%+AoDKf235Ug^Sdd$g7Ji561Orl5P0f^x{Qbtqp{_k>JLA_LCrgpzz?hKRA+R@T zkmzPeSVBo>Zv!IKQ z>Ip|ziH&A6~0$WZZZNa1{ zhBGzXpi5adSh%^kaPQu20=W;)Tk_isX`kBYE*%Td^6<5GJ#z;$u6t6>M_W>GXVA>Z zolIEggB=qj{RPl?Ka?)T#l^J^sZ_CU2VT?M7s$*ZD?zSR)zt7o!Vm(1BUB|+5knl8 z)isz;@INgaaX{684M4Ea7Sc8|Q#YCzH2Laf#!x(@|L?{pCv(KZsR7tJ+uPqD2PN3P zcAFC;tE+t}TDALwlAVy(QBhK|+tOhPZFS~~LP`TqJODdByL)@LF)*4Sa)P1tfK*$;1y!T)K1i|nX>XDHLX3l;34EQ4t2yqc<;e4U@AO8a_vHjlw literal 0 HcmV?d00001 diff --git a/examples/compiled/point_label_null_date.svg b/examples/compiled/point_label_null_date.svg new file mode 100644 index 0000000000..65e22a2d18 --- /dev/null +++ b/examples/compiled/point_label_null_date.svg @@ -0,0 +1 @@ +01 Jan02 Jan03 Jan04 Jan05 Jana (year-month-date)0102030405060b01 Jan02 Jan03 Jan04 Jan05 Jan31 Dec \ No newline at end of file diff --git a/examples/compiled/point_label_null_date.vg.json b/examples/compiled/point_label_null_date.vg.json new file mode 100644 index 0000000000..b12285f142 --- /dev/null +++ b/examples/compiled/point_label_null_date.vg.json @@ -0,0 +1,175 @@ +{ + "$schema": "https://vega.github.io/schema/vega/v5.json", + "background": "white", + "padding": 5, + "width": 200, + "height": 200, + "style": "cell", + "data": [ + { + "name": "source_0", + "values": [ + {"a": "Jan 1, 2000", "b": 28}, + {"a": "Jan 2, 2000", "b": 55}, + {"a": "Jan 3, 2000", "b": null}, + {"a": "Jan 4, 2000", "b": 65}, + {"a": "Jan 5, 2000", "b": 43}, + {"a": null, "b": 50} + ] + }, + { + "name": "data_0", + "source": "source_0", + "transform": [ + {"type": "formula", "expr": "toDate(datum[\"a\"])", "as": "a"}, + { + "field": "a", + "type": "timeunit", + "units": ["year", "month", "date"], + "as": ["yearmonthdate_a", "yearmonthdate_a_end"] + } + ] + } + ], + "marks": [ + { + "name": "layer_0_marks", + "type": "symbol", + "style": ["point"], + "from": {"data": "data_0"}, + "encode": { + "update": { + "opacity": {"value": 0.7}, + "tooltip": { + "signal": "{\"a (year-month-date)\": timeFormat(datum[\"yearmonthdate_a\"], '%d %b'), \"b\": format(datum[\"b\"], \"\")}" + }, + "fill": {"value": "transparent"}, + "stroke": {"value": "#4c78a8"}, + "ariaRoleDescription": {"value": "point"}, + "description": { + "signal": "\"a (year-month-date): \" + (timeFormat(datum[\"yearmonthdate_a\"], '%d %b')) + \"; b: \" + (format(datum[\"b\"], \"\"))" + }, + "x": [ + { + "test": "!isValid(datum[\"yearmonthdate_a\"]) || !isFinite(+datum[\"yearmonthdate_a\"])", + "signal": "scale('x', domain('x')[0])" + }, + {"scale": "x", "field": "yearmonthdate_a"} + ], + "y": [ + { + "test": "!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"])", + "scale": "y", + "value": 0 + }, + {"scale": "y", "field": "b"} + ] + } + } + }, + { + "name": "layer_1_marks", + "type": "text", + "style": ["text"], + "from": {"data": "data_0"}, + "encode": { + "update": { + "baseline": {"value": "bottom"}, + "fill": {"value": "black"}, + "description": { + "signal": "\"a (year-month-date): \" + (timeFormat(datum[\"yearmonthdate_a\"], '%d %b')) + \"; b: \" + (format(datum[\"b\"], \"\"))" + }, + "x": [ + { + "test": "!isValid(datum[\"yearmonthdate_a\"]) || !isFinite(+datum[\"yearmonthdate_a\"])", + "signal": "scale('x', domain('x')[0])" + }, + {"scale": "x", "field": "yearmonthdate_a"} + ], + "y": [ + { + "test": "!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"])", + "scale": "y", + "value": 0 + }, + {"scale": "y", "field": "b"} + ], + "text": {"signal": "timeFormat(datum[\"yearmonthdate_a\"], '%d %b')"}, + "align": {"value": "center"} + } + } + } + ], + "scales": [ + { + "name": "x", + "type": "time", + "domain": {"data": "data_0", "field": "yearmonthdate_a"}, + "range": [0, {"signal": "width"}] + }, + { + "name": "y", + "type": "linear", + "domain": {"data": "data_0", "field": "b"}, + "range": [{"signal": "height"}, 0], + "nice": true, + "zero": true + } + ], + "axes": [ + { + "scale": "x", + "orient": "bottom", + "gridScale": "y", + "grid": true, + "tickCount": {"signal": "ceil(width/40)"}, + "tickMinStep": { + "signal": "datetime(2001, 0, 2, 0, 0, 0, 0) - datetime(2001, 0, 1, 0, 0, 0, 0)" + }, + "domain": false, + "labels": false, + "aria": false, + "maxExtent": 0, + "minExtent": 0, + "ticks": false, + "zindex": 0 + }, + { + "scale": "y", + "orient": "left", + "gridScale": "x", + "grid": true, + "tickCount": {"signal": "ceil(height/40)"}, + "domain": false, + "labels": false, + "aria": false, + "maxExtent": 0, + "minExtent": 0, + "ticks": false, + "zindex": 0 + }, + { + "scale": "x", + "orient": "bottom", + "grid": false, + "title": "a (year-month-date)", + "format": "%d %b", + "labelFlush": true, + "labelOverlap": true, + "tickCount": {"signal": "ceil(width/40)"}, + "tickMinStep": { + "signal": "datetime(2001, 0, 2, 0, 0, 0, 0) - datetime(2001, 0, 1, 0, 0, 0, 0)" + }, + "zindex": 0 + }, + { + "scale": "y", + "orient": "left", + "grid": false, + "title": "b", + "labelOverlap": true, + "tickCount": {"signal": "ceil(height/40)"}, + "zindex": 0 + } + ] +} diff --git a/examples/specs/normalized/point_label_null_date_normalized.vl.json b/examples/specs/normalized/point_label_null_date_normalized.vl.json new file mode 100644 index 0000000000..e99829bb3d --- /dev/null +++ b/examples/specs/normalized/point_label_null_date_normalized.vl.json @@ -0,0 +1,45 @@ +{ + "$schema": "https://vega.github.io/schema/vega-lite/v5.json", + "data": { + "values": [ + {"a": "Jan 1, 2000", "b": 28}, + {"a": "Jan 2, 2000", "b": 55}, + {"a": "Jan 3, 2000", "b": null}, + {"a": "Jan 4, 2000", "b": 65}, + {"a": "Jan 5, 2000", "b": 43}, + {"a": null, "b": 50} + ] + }, + "layer": [ + { + "mark": {"type": "point", "invalid": "show", "tooltip": true}, + "encoding": { + "x": { + "timeUnit": "yearmonthdate", + "field": "a", + "type": "temporal", + "axis": {"format": "%d %b"} + }, + "y": {"field": "b", "type": "quantitative"} + } + }, + { + "mark": {"type": "text", "invalid": "show", "baseline": "bottom"}, + "encoding": { + "x": { + "timeUnit": "yearmonthdate", + "field": "a", + "type": "temporal", + "axis": {"format": "%d %b"} + }, + "y": {"field": "b", "type": "quantitative"}, + "text": { + "timeUnit": "yearmonthdate", + "field": "a", + "type": "temporal", + "axis": {"format": "%d %b"} + } + } + } + ] +} \ No newline at end of file diff --git a/examples/specs/normalized/point_label_null_normalized.vl.json b/examples/specs/normalized/point_label_null_normalized.vl.json new file mode 100644 index 0000000000..4bccb7e0bd --- /dev/null +++ b/examples/specs/normalized/point_label_null_normalized.vl.json @@ -0,0 +1,40 @@ +{ + "$schema": "https://vega.github.io/schema/vega-lite/v5.json", + "data": { + "values": [ + {"a": "Jan 1, 2000", "b": 28}, + {"a": "Jan 2, 2000", "b": 55}, + {"a": "Jan 3, 2000", "b": null}, + {"a": "Jan 4, 2000", "b": 65}, + {"a": "Jan 5, 2000", "b": 43}, + {"a": null, "b": 50} + ] + }, + "layer": [ + { + "mark": {"type": "point", "invalid": "show"}, + "encoding": { + "x": { + "timeUnit": "yearmonthdate", + "field": "a", + "type": "temporal", + "axis": {"format": "%d %b"} + }, + "y": {"field": "b", "type": "quantitative"} + } + }, + { + "mark": {"type": "text", "invalid": "show", "baseline": "bottom"}, + "encoding": { + "x": { + "timeUnit": "yearmonthdate", + "field": "a", + "type": "temporal", + "axis": {"format": "%d %b"} + }, + "y": {"field": "b", "type": "quantitative"}, + "text": {"field": "b", "type": "quantitative"} + } + } + ] +} \ No newline at end of file From 41f3c37dda5941695585425a778215ea06d77a52 Mon Sep 17 00:00:00 2001 From: Kanit Wongsuphasawat Date: Sat, 18 May 2024 13:50:43 -0700 Subject: [PATCH 3/6] fix: make text formatting preserve invalid values by coercing them to string by default --- site/docs/invaliddata.md | 2 +- src/channeldef.ts | 6 +- src/compile/axis/encode.ts | 21 +++--- src/compile/data/bin.ts | 2 +- src/compile/format.ts | 110 ++++++++++++++++++++--------- src/compile/header/assemble.ts | 3 +- src/compile/legend/encode.ts | 15 ++-- src/compile/mark/encode/text.ts | 4 +- src/compile/mark/encode/tooltip.ts | 9 ++- src/invalid.ts | 2 +- test/compile/format.test.ts | 44 +++++++----- 11 files changed, 138 insertions(+), 80 deletions(-) diff --git a/site/docs/invaliddata.md b/site/docs/invaliddata.md index 378e15faae..4c0566a670 100644 --- a/site/docs/invaliddata.md +++ b/site/docs/invaliddata.md @@ -5,7 +5,7 @@ title: Modes for Handling Invalid Data permalink: /docs/invalid-data.html --- -This page discusses modes in Vega-Lite for handling invalid data (`null` and `NaN` in continuous scales). +This page discusses modes in Vega-Lite for handling invalid data (`null` and `NaN` in continuous scales *without* defined output for invalid values in `config.scale.invalid`). The main configurations are [`mark.invalid`](#mark) and [`config.scale.invalid`](#scale). In addition, you can use [other Vega-Lite features including conditional encodings, layering, or window transform to handle invalid and missing data](#other). diff --git a/src/channeldef.ts b/src/channeldef.ts index 0b8b96f0eb..fd90a38ea7 100644 --- a/src/channeldef.ts +++ b/src/channeldef.ts @@ -398,7 +398,7 @@ export interface DatumDef< // `F extends RepeatRef` probably should be `RepeatRef extends F` but there is likely a bug in TS. } -export interface FormatMixins { +export interface FormatMixins { /** * When used with the default `"number"` and `"time"` format type, the text formatting pattern for labels of guides (axes, legends, headers) and text marks. * @@ -420,7 +420,7 @@ export interface FormatMixins { * - `"time"` for temporal fields and ordinal and nominal fields with `timeUnit`. * - `"number"` for quantitative fields as well as ordinal and nominal fields without `timeUnit`. */ - formatType?: 'number' | 'time' | string; + formatType?: FT; } export type StringDatumDef = DatumDef & FormatMixins; @@ -974,7 +974,7 @@ export function defaultTitle(fieldDef: FieldDefBase, config: Config) { return titleFormatter(fieldDef, config); } -export function getFormatMixins(fieldDef: TypedFieldDef | DatumDef) { +export function getFormatMixins(fieldDef: TypedFieldDef | DatumDef): FormatMixins { if (isStringFieldOrDatumDef(fieldDef)) { const {format, formatType} = fieldDef; return {format, formatType}; diff --git a/src/compile/axis/encode.ts b/src/compile/axis/encode.ts index 4a42815813..59db638fc7 100644 --- a/src/compile/axis/encode.ts +++ b/src/compile/axis/encode.ts @@ -16,8 +16,7 @@ export function labels(model: UnitModel, channel: PositionScaleChannel, specifie text: formatCustomType({ fieldOrDatumDef, field: 'datum.value', - format, - formatType, + formatMixins: {format, formatType}, config }), ...specifiedLabelsSpec @@ -33,8 +32,10 @@ export function labels(model: UnitModel, channel: PositionScaleChannel, specifie text: formatCustomType({ fieldOrDatumDef, field: 'datum.value', - format: config.normalizedNumberFormat, - formatType: config.normalizedNumberFormatType, + formatMixins: { + format: config.normalizedNumberFormat, + formatType: config.normalizedNumberFormatType + }, config }), ...specifiedLabelsSpec @@ -44,8 +45,10 @@ export function labels(model: UnitModel, channel: PositionScaleChannel, specifie text: formatCustomType({ fieldOrDatumDef, field: 'datum.value', - format: config.numberFormat, - formatType: config.numberFormatType, + formatMixins: { + format: config.numberFormat, + formatType: config.numberFormatType + }, config }), ...specifiedLabelsSpec @@ -62,8 +65,10 @@ export function labels(model: UnitModel, channel: PositionScaleChannel, specifie text: formatCustomType({ fieldOrDatumDef, field: 'datum.value', - format: config.timeFormat, - formatType: config.timeFormatType, + formatMixins: { + format: config.timeFormat, + formatType: config.timeFormatType + }, config }), ...specifiedLabelsSpec diff --git a/src/compile/data/bin.ts b/src/compile/data/bin.ts index 1c43602e77..74eaa7f3fc 100644 --- a/src/compile/data/bin.ts +++ b/src/compile/data/bin.ts @@ -25,7 +25,7 @@ function rangeFormula(model: ModelWithField, fieldDef: TypedFieldDef, ch return { formulaAs: vgField(fieldDef, {binSuffix: 'range', forAs: true}), - formula: binFormatExpression(startField, endField, guide.format, guide.formatType, config) + formula: binFormatExpression(startField, endField, guide, config) }; } return {}; diff --git a/src/compile/format.ts b/src/compile/format.ts index be42af2cdb..37787a52a2 100644 --- a/src/compile/format.ts +++ b/src/compile/format.ts @@ -5,6 +5,7 @@ import { channelDefType, DatumDef, FieldDef, + FormatMixins, isFieldDef, isFieldOrDatumDefForTimeFormat, isPositionFieldOrDatumDef, @@ -21,7 +22,9 @@ import {isSignalRef} from '../vega.schema'; import {TimeUnit} from './../timeunit'; import {datumDefToExpr} from './mark/encode/valueref'; -export function isCustomFormatType(formatType: string) { +export type CustomFormatType = Exclude; + +export function isCustomFormatType(formatType: string): formatType is CustomFormatType { return formatType && formatType !== 'number' && formatType !== 'time'; } @@ -33,24 +36,23 @@ export const BIN_RANGE_DELIMITER = ' \u2013 '; export function formatSignalRef({ fieldOrDatumDef, - format, - formatType, + formatMixins, expr, normalizeStack, config }: { fieldOrDatumDef: FieldDef | DatumDef; - format: string | Dict; - formatType: string; + formatMixins: FormatMixins; expr?: 'datum' | 'parent' | 'datum.datum'; normalizeStack?: boolean; config: Config; }) { + const {formatType} = formatMixins; + let {format} = formatMixins; if (isCustomFormatType(formatType)) { return formatCustomType({ fieldOrDatumDef, - format, - formatType, + formatMixins: {...formatMixins, formatType}, expr, config }); @@ -64,16 +66,20 @@ export function formatSignalRef({ if (normalizeStack && config.normalizedNumberFormatType) return formatCustomType({ fieldOrDatumDef, - format: config.normalizedNumberFormat, - formatType: config.normalizedNumberFormatType, + formatMixins: { + format: config.normalizedNumberFormat, + formatType: config.normalizedNumberFormatType + }, expr, config }); if (config.numberFormatType) { return formatCustomType({ fieldOrDatumDef, - format: config.numberFormat, - formatType: config.numberFormatType, + formatMixins: { + format: config.numberFormat, + formatType: config.numberFormatType + }, expr, config }); @@ -87,8 +93,7 @@ export function formatSignalRef({ ) { return formatCustomType({ fieldOrDatumDef, - format: config.timeFormat, - formatType: config.timeFormatType, + formatMixins, expr, config }); @@ -96,7 +101,7 @@ export function formatSignalRef({ } if (isFieldOrDatumDefForTimeFormat(fieldOrDatumDef)) { - const signal = timeFormatExpression({ + const mainFormatExpr = timeFormatExpression({ field, timeUnit: isFieldDef(fieldOrDatumDef) ? normalizeTimeUnit(fieldOrDatumDef.timeUnit)?.unit : undefined, format, @@ -104,6 +109,11 @@ export function formatSignalRef({ rawTimeFormat: config.timeFormat, isUTCScale: isScaleFieldDef(fieldOrDatumDef) && fieldOrDatumDef.scale?.type === ScaleType.UTC }); + + const signal = wrapFormatExprToHandleInvalidValues({ + mainFormatExpr, + fieldExpr: field + }); return signal ? {signal} : undefined; } @@ -111,17 +121,23 @@ export function formatSignalRef({ if (isFieldDef(fieldOrDatumDef) && isBinning(fieldOrDatumDef.bin)) { const endField = vgField(fieldOrDatumDef, {expr, binSuffix: 'end'}); return { - signal: binFormatExpression(field, endField, format, formatType, config) + signal: binFormatExpression(field, endField, {format, formatType}, config) }; } else if (format || channelDefType(fieldOrDatumDef) === 'quantitative') { - return { - signal: `${formatExpr(field, format)}` - }; + const signal = wrapFormatExprToHandleInvalidValues({ + mainFormatExpr: builtInFormatExpr(field, format), + fieldExpr: field + }); + return {signal}; } else { - return {signal: `isValid(${field}) ? ${field} : ""+${field}`}; + return {signal: toStringExpr(field)}; } } +function toStringExpr(expr: string) { + return `"" + ${expr}`; +} + function fieldToFormat( fieldOrDatumDef: FieldDef | DatumDef, expr: 'datum' | 'parent' | 'datum.datum', @@ -143,16 +159,14 @@ function fieldToFormat( export function formatCustomType({ fieldOrDatumDef, - format, - formatType, expr, normalizeStack, config, + formatMixins, field }: { fieldOrDatumDef: FieldDef | DatumDef; - format: string | Dict; - formatType: string; + formatMixins: FormatMixins; expr?: 'datum' | 'parent' | 'datum.datum'; normalizeStack?: boolean; config: Config; @@ -167,10 +181,15 @@ export function formatCustomType({ ) { const endField = vgField(fieldOrDatumDef, {expr, binSuffix: 'end'}); return { - signal: binFormatExpression(field, endField, format, formatType, config) + signal: binFormatExpression(field, endField, formatMixins, config) }; } - return {signal: customFormatExpr(formatType, field, format)}; + const {format, formatType} = formatMixins; + const signal = wrapFormatExprToHandleInvalidValues({ + mainFormatExpr: customFormatExpr(formatType, field, format), + fieldExpr: field + }); + return {signal}; } export function guideFormat( @@ -289,31 +308,54 @@ export function timeFormat({ return omitTimeFormatConfig ? undefined : config.timeFormat; } -function formatExpr(field: string, format: string) { +function builtInFormatExpr(field: string, format: string) { return `format(${field}, "${format || ''}")`; } -function binNumberFormatExpr(field: string, format: string | Dict, formatType: string, config: Config) { +/** + * return format expr for number bin's start/end + */ +function binExtentFormatExpr(field: string, format: string | Dict, formatType: string, config: Config) { if (isCustomFormatType(formatType)) { return customFormatExpr(formatType, field, format); } + format = (isString(format) ? format : undefined) ?? config.numberFormat; + return builtInFormatExpr(field, format); +} - return formatExpr(field, (isString(format) ? format : undefined) ?? config.numberFormat); +function wrapFormatExprToHandleInvalidValues({ + fieldExpr, + mainFormatExpr +}: { + mainFormatExpr: string; + fieldExpr: string; +}): string { + return `${fieldValidPredicate(fieldExpr, false)} ? ${toStringExpr(fieldExpr)} : ${mainFormatExpr}`; } export function binFormatExpression( startField: string, endField: string, - format: string | Dict, - formatType: string, + {format, formatType}: FormatMixins, config: Config ): string { if (format === undefined && formatType === undefined && config.customFormatTypes && config.numberFormatType) { - return binFormatExpression(startField, endField, config.numberFormat, config.numberFormatType, config); + return binFormatExpression( + startField, + endField, + { + format: config.numberFormat, + formatType: config.numberFormatType + }, + config + ); } - const start = binNumberFormatExpr(startField, format, formatType, config); - const end = binNumberFormatExpr(endField, format, formatType, config); - return `${fieldValidPredicate(startField, false)} ? "null" : ${start} + "${BIN_RANGE_DELIMITER}" + ${end}`; + const start = binExtentFormatExpr(startField, format, formatType, config); + const end = binExtentFormatExpr(endField, format, formatType, config); + return wrapFormatExprToHandleInvalidValues({ + fieldExpr: startField, + mainFormatExpr: `${start} + "${BIN_RANGE_DELIMITER}" + ${end}` + }); } /** diff --git a/src/compile/header/assemble.ts b/src/compile/header/assemble.ts index 1bc29596fd..96bcde5911 100644 --- a/src/compile/header/assemble.ts +++ b/src/compile/header/assemble.ts @@ -131,8 +131,7 @@ export function assembleLabelTitle( const titleTextExpr = formatSignalRef({ fieldOrDatumDef: facetFieldDef, - format, - formatType, + formatMixins: {format, formatType}, expr: 'parent', config }).signal; diff --git a/src/compile/legend/encode.ts b/src/compile/legend/encode.ts index 334e0b0381..4457fe0acd 100644 --- a/src/compile/legend/encode.ts +++ b/src/compile/legend/encode.ts @@ -156,8 +156,7 @@ export function labels(specifiedlabelsSpec: any, {fieldOrDatumDef, model, channe text = formatCustomType({ fieldOrDatumDef, field: 'datum.value', - format, - formatType, + formatMixins: {format, formatType}, config }); } else if (format === undefined && formatType === undefined && config.customFormatTypes) { @@ -165,8 +164,10 @@ export function labels(specifiedlabelsSpec: any, {fieldOrDatumDef, model, channe text = formatCustomType({ fieldOrDatumDef, field: 'datum.value', - format: config.numberFormat, - formatType: config.numberFormatType, + formatMixins: { + format: config.numberFormat, + formatType: config.numberFormatType + }, config }); } else if ( @@ -178,8 +179,10 @@ export function labels(specifiedlabelsSpec: any, {fieldOrDatumDef, model, channe text = formatCustomType({ fieldOrDatumDef, field: 'datum.value', - format: config.timeFormat, - formatType: config.timeFormatType, + formatMixins: { + format: config.timeFormat, + formatType: config.timeFormatType + }, config }); } diff --git a/src/compile/mark/encode/text.ts b/src/compile/mark/encode/text.ts index 9b1bfc2241..16d7fb8429 100644 --- a/src/compile/mark/encode/text.ts +++ b/src/compile/mark/encode/text.ts @@ -29,8 +29,8 @@ export function textRef( return signalOrValueRef(channelDef.value); } if (isFieldOrDatumDef(channelDef)) { - const {format, formatType} = getFormatMixins(channelDef); - return formatSignalRef({fieldOrDatumDef: channelDef, format, formatType, expr, config}); + const formatMixins = getFormatMixins(channelDef); + return formatSignalRef({fieldOrDatumDef: channelDef, formatMixins, expr, config}); } } return undefined; diff --git a/src/compile/mark/encode/tooltip.ts b/src/compile/mark/encode/tooltip.ts index 48f70ce3af..a3b5b68d39 100644 --- a/src/compile/mark/encode/tooltip.ts +++ b/src/compile/mark/encode/tooltip.ts @@ -107,8 +107,8 @@ export function tooltipData( if (isBinned(fieldDef.bin) && fieldDef2) { const startField = vgField(fieldDef, {expr}); const endField = vgField(fieldDef2, {expr}); - const {format, formatType} = getFormatMixins(fieldDef); - value = binFormatExpression(startField, endField, format, formatType, formatConfig); + const formatMixins = getFormatMixins(fieldDef); + value = binFormatExpression(startField, endField, formatMixins, formatConfig); toSkip[channel2] = true; } } @@ -119,11 +119,10 @@ export function tooltipData( stack.fieldChannel === channel && stack.offset === 'normalize' ) { - const {format, formatType} = getFormatMixins(fieldDef); + const formatMixins = getFormatMixins(fieldDef); value = formatSignalRef({ fieldOrDatumDef: fieldDef, - format, - formatType, + formatMixins, expr, config: formatConfig, normalizeStack: true diff --git a/src/invalid.ts b/src/invalid.ts index 006d400d11..f767525229 100644 --- a/src/invalid.ts +++ b/src/invalid.ts @@ -8,7 +8,7 @@ import {isObject} from 'vega-util'; */ export interface MarkInvalidMixins { /** - * Invalid data mode, which defines how the marks and corresponding scales should represent invalid values (`null` and `NaN` in continuous scales *without* defined output for invalid values). + * Invalid data mode, which defines how the marks and corresponding scales should represent invalid values (`null` and `NaN` in continuous scales *without* defined output for invalid values in `config.scale.invalid`). * * - `"filter"` — *Exclude* all invalid values from the visualization's *marks* and *scales*. * For path marks (for line, area, trail), this option will create paths that connect valid points, as if the data rows with invalid values do not exist. diff --git a/test/compile/format.test.ts b/test/compile/format.test.ts index ada7be09f4..a9e688d9f7 100644 --- a/test/compile/format.test.ts +++ b/test/compile/format.test.ts @@ -161,8 +161,10 @@ describe('Format', () => { expect( formatSignalRef({ fieldOrDatumDef: {field: 'foo', type: 'ordinal'}, - format: '.2f', - formatType: undefined, + formatMixins: { + format: '.2f', + formatType: undefined + }, expr: 'parent', config: {} }) @@ -175,8 +177,10 @@ describe('Format', () => { expect( formatSignalRef({ fieldOrDatumDef: {bin: true, field: 'foo', type: 'quantitative'}, - format: undefined, - formatType: undefined, + formatMixins: { + format: undefined, + formatType: undefined + }, expr: 'parent', config: {numberFormat: 'abc', numberFormatType: 'customFormatter'} }) @@ -190,13 +194,15 @@ describe('Format', () => { expect( formatSignalRef({ fieldOrDatumDef: {datum: 200, type: 'quantitative'}, - format: '.2f', - formatType: undefined, + formatMixins: { + format: '.2f', + formatType: undefined + }, expr: 'parent', config: {} }) ).toEqual({ - signal: 'format(200, ".2f")' + signal: '!isValid(200) || !isFinite(+200) ? toString(200) : format(200, ".2f")' }); }); @@ -204,8 +210,10 @@ describe('Format', () => { expect( formatSignalRef({ fieldOrDatumDef: {datum: 200, type: 'quantitative'}, - format: 'abc', - formatType: 'customFormatter', + formatMixins: { + format: 'abc', + formatType: 'customFormatter' + }, expr: 'parent', config: {} }) @@ -218,8 +226,10 @@ describe('Format', () => { expect( formatSignalRef({ fieldOrDatumDef: {datum: 200, type: 'quantitative'}, - format: undefined, - formatType: undefined, + formatMixins: { + format: undefined, + formatType: undefined + }, expr: 'parent', config: {numberFormat: 'abc', numberFormatType: 'customFormatter', customFormatTypes: true} }) @@ -232,8 +242,10 @@ describe('Format', () => { expect( formatSignalRef({ fieldOrDatumDef: {field: 'date', type: 'temporal'}, - format: undefined, - formatType: undefined, + formatMixins: { + format: undefined, + formatType: undefined + }, expr: 'parent', config: {timeFormat: 'abc', timeFormatType: 'customFormatter', customFormatTypes: true} }) @@ -246,8 +258,7 @@ describe('Format', () => { expect( formatSignalRef({ fieldOrDatumDef: {datum: 200, type: 'quantitative'}, - format: undefined, - formatType: undefined, + formatMixins: {}, expr: 'parent', normalizeStack: true, config: { @@ -265,8 +276,7 @@ describe('Format', () => { expect( formatSignalRef({ fieldOrDatumDef: {datum: 200, type: 'quantitative'}, - format: undefined, - formatType: undefined, + formatMixins: {}, expr: 'parent', normalizeStack: true, config: { From 67998064e47f96ac6bb2baf5d1424c2df108e909 Mon Sep 17 00:00:00 2001 From: GitHub Actions Bot Date: Mon, 20 May 2024 04:57:08 +0000 Subject: [PATCH 4/6] chore: update schema [CI] --- build/vega-lite-schema.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/build/vega-lite-schema.json b/build/vega-lite-schema.json index b7ee57aa85..82e564ec1c 100644 --- a/build/vega-lite-schema.json +++ b/build/vega-lite-schema.json @@ -521,7 +521,7 @@ "type": "null" } ], - "description": "Invalid data mode, which defines how the marks and corresponding scales should represent invalid values (`null` and `NaN` in continuous scales *without* defined output for invalid values).\n\n- `\"filter\"` — *Exclude* all invalid values from the visualization's *marks* and *scales*. For path marks (for line, area, trail), this option will create paths that connect valid points, as if the data rows with invalid values do not exist.\n\n- `\"break-paths-filter-domains\"` — Break path marks (for line, area, trail) at invalid values. For non-path marks, this is equivalent to `\"filter\"`. All *scale* domains will *exclude* these filtered data points.\n\n- `\"break-paths-show-domains\"` — Break paths (for line, area, trail) at invalid values. Hide invalid values for non-path marks. All *scale* domains will *include* these filtered data points (for both path and non-path marks).\n\n- `\"show\"` or `null` — Show all data points in the marks and scale domains. Each scale will use the output for invalid values defined in `config.scale.invalid` or, if unspecified, by default invalid values will produce the same visual values as zero (if the scale includes zero) or the minimum value (if the scale does not include zero).\n\n- `\"break-paths-show-path-domains\"` (default) — This is equivalent to `\"break-paths-show-domains\"` for path-based marks (line/area/trail) and `\"filter\"` for non-path marks.\n\n__Note__: If any channel's scale has an output for invalid values defined in `config.scale.invalid`, all values for the scales will be considered \"valid\" since they can produce a reasonable output for the scales. Thus, fields for such channels will not be filtered and will not cause path breaks." + "description": "Invalid data mode, which defines how the marks and corresponding scales should represent invalid values (`null` and `NaN` in continuous scales *without* defined output for invalid values in `config.scale.invalid`).\n\n- `\"filter\"` — *Exclude* all invalid values from the visualization's *marks* and *scales*. For path marks (for line, area, trail), this option will create paths that connect valid points, as if the data rows with invalid values do not exist.\n\n- `\"break-paths-filter-domains\"` — Break path marks (for line, area, trail) at invalid values. For non-path marks, this is equivalent to `\"filter\"`. All *scale* domains will *exclude* these filtered data points.\n\n- `\"break-paths-show-domains\"` — Break paths (for line, area, trail) at invalid values. Hide invalid values for non-path marks. All *scale* domains will *include* these filtered data points (for both path and non-path marks).\n\n- `\"show\"` or `null` — Show all data points in the marks and scale domains. Each scale will use the output for invalid values defined in `config.scale.invalid` or, if unspecified, by default invalid values will produce the same visual values as zero (if the scale includes zero) or the minimum value (if the scale does not include zero).\n\n- `\"break-paths-show-path-domains\"` (default) — This is equivalent to `\"break-paths-show-domains\"` for path-based marks (line/area/trail) and `\"filter\"` for non-path marks.\n\n__Note__: If any channel's scale has an output for invalid values defined in `config.scale.invalid`, all values for the scales will be considered \"valid\" since they can produce a reasonable output for the scales. Thus, fields for such channels will not be filtered and will not cause path breaks." }, "limit": { "anyOf": [ @@ -3391,7 +3391,7 @@ "type": "null" } ], - "description": "Invalid data mode, which defines how the marks and corresponding scales should represent invalid values (`null` and `NaN` in continuous scales *without* defined output for invalid values).\n\n- `\"filter\"` — *Exclude* all invalid values from the visualization's *marks* and *scales*. For path marks (for line, area, trail), this option will create paths that connect valid points, as if the data rows with invalid values do not exist.\n\n- `\"break-paths-filter-domains\"` — Break path marks (for line, area, trail) at invalid values. For non-path marks, this is equivalent to `\"filter\"`. All *scale* domains will *exclude* these filtered data points.\n\n- `\"break-paths-show-domains\"` — Break paths (for line, area, trail) at invalid values. Hide invalid values for non-path marks. All *scale* domains will *include* these filtered data points (for both path and non-path marks).\n\n- `\"show\"` or `null` — Show all data points in the marks and scale domains. Each scale will use the output for invalid values defined in `config.scale.invalid` or, if unspecified, by default invalid values will produce the same visual values as zero (if the scale includes zero) or the minimum value (if the scale does not include zero).\n\n- `\"break-paths-show-path-domains\"` (default) — This is equivalent to `\"break-paths-show-domains\"` for path-based marks (line/area/trail) and `\"filter\"` for non-path marks.\n\n__Note__: If any channel's scale has an output for invalid values defined in `config.scale.invalid`, all values for the scales will be considered \"valid\" since they can produce a reasonable output for the scales. Thus, fields for such channels will not be filtered and will not cause path breaks." + "description": "Invalid data mode, which defines how the marks and corresponding scales should represent invalid values (`null` and `NaN` in continuous scales *without* defined output for invalid values in `config.scale.invalid`).\n\n- `\"filter\"` — *Exclude* all invalid values from the visualization's *marks* and *scales*. For path marks (for line, area, trail), this option will create paths that connect valid points, as if the data rows with invalid values do not exist.\n\n- `\"break-paths-filter-domains\"` — Break path marks (for line, area, trail) at invalid values. For non-path marks, this is equivalent to `\"filter\"`. All *scale* domains will *exclude* these filtered data points.\n\n- `\"break-paths-show-domains\"` — Break paths (for line, area, trail) at invalid values. Hide invalid values for non-path marks. All *scale* domains will *include* these filtered data points (for both path and non-path marks).\n\n- `\"show\"` or `null` — Show all data points in the marks and scale domains. Each scale will use the output for invalid values defined in `config.scale.invalid` or, if unspecified, by default invalid values will produce the same visual values as zero (if the scale includes zero) or the minimum value (if the scale does not include zero).\n\n- `\"break-paths-show-path-domains\"` (default) — This is equivalent to `\"break-paths-show-domains\"` for path-based marks (line/area/trail) and `\"filter\"` for non-path marks.\n\n__Note__: If any channel's scale has an output for invalid values defined in `config.scale.invalid`, all values for the scales will be considered \"valid\" since they can produce a reasonable output for the scales. Thus, fields for such channels will not be filtered and will not cause path breaks." }, "limit": { "anyOf": [ @@ -4621,7 +4621,7 @@ "type": "null" } ], - "description": "Invalid data mode, which defines how the marks and corresponding scales should represent invalid values (`null` and `NaN` in continuous scales *without* defined output for invalid values).\n\n- `\"filter\"` — *Exclude* all invalid values from the visualization's *marks* and *scales*. For path marks (for line, area, trail), this option will create paths that connect valid points, as if the data rows with invalid values do not exist.\n\n- `\"break-paths-filter-domains\"` — Break path marks (for line, area, trail) at invalid values. For non-path marks, this is equivalent to `\"filter\"`. All *scale* domains will *exclude* these filtered data points.\n\n- `\"break-paths-show-domains\"` — Break paths (for line, area, trail) at invalid values. Hide invalid values for non-path marks. All *scale* domains will *include* these filtered data points (for both path and non-path marks).\n\n- `\"show\"` or `null` — Show all data points in the marks and scale domains. Each scale will use the output for invalid values defined in `config.scale.invalid` or, if unspecified, by default invalid values will produce the same visual values as zero (if the scale includes zero) or the minimum value (if the scale does not include zero).\n\n- `\"break-paths-show-path-domains\"` (default) — This is equivalent to `\"break-paths-show-domains\"` for path-based marks (line/area/trail) and `\"filter\"` for non-path marks.\n\n__Note__: If any channel's scale has an output for invalid values defined in `config.scale.invalid`, all values for the scales will be considered \"valid\" since they can produce a reasonable output for the scales. Thus, fields for such channels will not be filtered and will not cause path breaks." + "description": "Invalid data mode, which defines how the marks and corresponding scales should represent invalid values (`null` and `NaN` in continuous scales *without* defined output for invalid values in `config.scale.invalid`).\n\n- `\"filter\"` — *Exclude* all invalid values from the visualization's *marks* and *scales*. For path marks (for line, area, trail), this option will create paths that connect valid points, as if the data rows with invalid values do not exist.\n\n- `\"break-paths-filter-domains\"` — Break path marks (for line, area, trail) at invalid values. For non-path marks, this is equivalent to `\"filter\"`. All *scale* domains will *exclude* these filtered data points.\n\n- `\"break-paths-show-domains\"` — Break paths (for line, area, trail) at invalid values. Hide invalid values for non-path marks. All *scale* domains will *include* these filtered data points (for both path and non-path marks).\n\n- `\"show\"` or `null` — Show all data points in the marks and scale domains. Each scale will use the output for invalid values defined in `config.scale.invalid` or, if unspecified, by default invalid values will produce the same visual values as zero (if the scale includes zero) or the minimum value (if the scale does not include zero).\n\n- `\"break-paths-show-path-domains\"` (default) — This is equivalent to `\"break-paths-show-domains\"` for path-based marks (line/area/trail) and `\"filter\"` for non-path marks.\n\n__Note__: If any channel's scale has an output for invalid values defined in `config.scale.invalid`, all values for the scales will be considered \"valid\" since they can produce a reasonable output for the scales. Thus, fields for such channels will not be filtered and will not cause path breaks." }, "median": { "anyOf": [ @@ -15067,7 +15067,7 @@ "type": "null" } ], - "description": "Invalid data mode, which defines how the marks and corresponding scales should represent invalid values (`null` and `NaN` in continuous scales *without* defined output for invalid values).\n\n- `\"filter\"` — *Exclude* all invalid values from the visualization's *marks* and *scales*. For path marks (for line, area, trail), this option will create paths that connect valid points, as if the data rows with invalid values do not exist.\n\n- `\"break-paths-filter-domains\"` — Break path marks (for line, area, trail) at invalid values. For non-path marks, this is equivalent to `\"filter\"`. All *scale* domains will *exclude* these filtered data points.\n\n- `\"break-paths-show-domains\"` — Break paths (for line, area, trail) at invalid values. Hide invalid values for non-path marks. All *scale* domains will *include* these filtered data points (for both path and non-path marks).\n\n- `\"show\"` or `null` — Show all data points in the marks and scale domains. Each scale will use the output for invalid values defined in `config.scale.invalid` or, if unspecified, by default invalid values will produce the same visual values as zero (if the scale includes zero) or the minimum value (if the scale does not include zero).\n\n- `\"break-paths-show-path-domains\"` (default) — This is equivalent to `\"break-paths-show-domains\"` for path-based marks (line/area/trail) and `\"filter\"` for non-path marks.\n\n__Note__: If any channel's scale has an output for invalid values defined in `config.scale.invalid`, all values for the scales will be considered \"valid\" since they can produce a reasonable output for the scales. Thus, fields for such channels will not be filtered and will not cause path breaks." + "description": "Invalid data mode, which defines how the marks and corresponding scales should represent invalid values (`null` and `NaN` in continuous scales *without* defined output for invalid values in `config.scale.invalid`).\n\n- `\"filter\"` — *Exclude* all invalid values from the visualization's *marks* and *scales*. For path marks (for line, area, trail), this option will create paths that connect valid points, as if the data rows with invalid values do not exist.\n\n- `\"break-paths-filter-domains\"` — Break path marks (for line, area, trail) at invalid values. For non-path marks, this is equivalent to `\"filter\"`. All *scale* domains will *exclude* these filtered data points.\n\n- `\"break-paths-show-domains\"` — Break paths (for line, area, trail) at invalid values. Hide invalid values for non-path marks. All *scale* domains will *include* these filtered data points (for both path and non-path marks).\n\n- `\"show\"` or `null` — Show all data points in the marks and scale domains. Each scale will use the output for invalid values defined in `config.scale.invalid` or, if unspecified, by default invalid values will produce the same visual values as zero (if the scale includes zero) or the minimum value (if the scale does not include zero).\n\n- `\"break-paths-show-path-domains\"` (default) — This is equivalent to `\"break-paths-show-domains\"` for path-based marks (line/area/trail) and `\"filter\"` for non-path marks.\n\n__Note__: If any channel's scale has an output for invalid values defined in `config.scale.invalid`, all values for the scales will be considered \"valid\" since they can produce a reasonable output for the scales. Thus, fields for such channels will not be filtered and will not cause path breaks." }, "limit": { "anyOf": [ @@ -16222,7 +16222,7 @@ "type": "null" } ], - "description": "Invalid data mode, which defines how the marks and corresponding scales should represent invalid values (`null` and `NaN` in continuous scales *without* defined output for invalid values).\n\n- `\"filter\"` — *Exclude* all invalid values from the visualization's *marks* and *scales*. For path marks (for line, area, trail), this option will create paths that connect valid points, as if the data rows with invalid values do not exist.\n\n- `\"break-paths-filter-domains\"` — Break path marks (for line, area, trail) at invalid values. For non-path marks, this is equivalent to `\"filter\"`. All *scale* domains will *exclude* these filtered data points.\n\n- `\"break-paths-show-domains\"` — Break paths (for line, area, trail) at invalid values. Hide invalid values for non-path marks. All *scale* domains will *include* these filtered data points (for both path and non-path marks).\n\n- `\"show\"` or `null` — Show all data points in the marks and scale domains. Each scale will use the output for invalid values defined in `config.scale.invalid` or, if unspecified, by default invalid values will produce the same visual values as zero (if the scale includes zero) or the minimum value (if the scale does not include zero).\n\n- `\"break-paths-show-path-domains\"` (default) — This is equivalent to `\"break-paths-show-domains\"` for path-based marks (line/area/trail) and `\"filter\"` for non-path marks.\n\n__Note__: If any channel's scale has an output for invalid values defined in `config.scale.invalid`, all values for the scales will be considered \"valid\" since they can produce a reasonable output for the scales. Thus, fields for such channels will not be filtered and will not cause path breaks." + "description": "Invalid data mode, which defines how the marks and corresponding scales should represent invalid values (`null` and `NaN` in continuous scales *without* defined output for invalid values in `config.scale.invalid`).\n\n- `\"filter\"` — *Exclude* all invalid values from the visualization's *marks* and *scales*. For path marks (for line, area, trail), this option will create paths that connect valid points, as if the data rows with invalid values do not exist.\n\n- `\"break-paths-filter-domains\"` — Break path marks (for line, area, trail) at invalid values. For non-path marks, this is equivalent to `\"filter\"`. All *scale* domains will *exclude* these filtered data points.\n\n- `\"break-paths-show-domains\"` — Break paths (for line, area, trail) at invalid values. Hide invalid values for non-path marks. All *scale* domains will *include* these filtered data points (for both path and non-path marks).\n\n- `\"show\"` or `null` — Show all data points in the marks and scale domains. Each scale will use the output for invalid values defined in `config.scale.invalid` or, if unspecified, by default invalid values will produce the same visual values as zero (if the scale includes zero) or the minimum value (if the scale does not include zero).\n\n- `\"break-paths-show-path-domains\"` (default) — This is equivalent to `\"break-paths-show-domains\"` for path-based marks (line/area/trail) and `\"filter\"` for non-path marks.\n\n__Note__: If any channel's scale has an output for invalid values defined in `config.scale.invalid`, all values for the scales will be considered \"valid\" since they can produce a reasonable output for the scales. Thus, fields for such channels will not be filtered and will not cause path breaks." }, "limit": { "anyOf": [ @@ -17066,7 +17066,7 @@ "type": "null" } ], - "description": "Invalid data mode, which defines how the marks and corresponding scales should represent invalid values (`null` and `NaN` in continuous scales *without* defined output for invalid values).\n\n- `\"filter\"` — *Exclude* all invalid values from the visualization's *marks* and *scales*. For path marks (for line, area, trail), this option will create paths that connect valid points, as if the data rows with invalid values do not exist.\n\n- `\"break-paths-filter-domains\"` — Break path marks (for line, area, trail) at invalid values. For non-path marks, this is equivalent to `\"filter\"`. All *scale* domains will *exclude* these filtered data points.\n\n- `\"break-paths-show-domains\"` — Break paths (for line, area, trail) at invalid values. Hide invalid values for non-path marks. All *scale* domains will *include* these filtered data points (for both path and non-path marks).\n\n- `\"show\"` or `null` — Show all data points in the marks and scale domains. Each scale will use the output for invalid values defined in `config.scale.invalid` or, if unspecified, by default invalid values will produce the same visual values as zero (if the scale includes zero) or the minimum value (if the scale does not include zero).\n\n- `\"break-paths-show-path-domains\"` (default) — This is equivalent to `\"break-paths-show-domains\"` for path-based marks (line/area/trail) and `\"filter\"` for non-path marks.\n\n__Note__: If any channel's scale has an output for invalid values defined in `config.scale.invalid`, all values for the scales will be considered \"valid\" since they can produce a reasonable output for the scales. Thus, fields for such channels will not be filtered and will not cause path breaks." + "description": "Invalid data mode, which defines how the marks and corresponding scales should represent invalid values (`null` and `NaN` in continuous scales *without* defined output for invalid values in `config.scale.invalid`).\n\n- `\"filter\"` — *Exclude* all invalid values from the visualization's *marks* and *scales*. For path marks (for line, area, trail), this option will create paths that connect valid points, as if the data rows with invalid values do not exist.\n\n- `\"break-paths-filter-domains\"` — Break path marks (for line, area, trail) at invalid values. For non-path marks, this is equivalent to `\"filter\"`. All *scale* domains will *exclude* these filtered data points.\n\n- `\"break-paths-show-domains\"` — Break paths (for line, area, trail) at invalid values. Hide invalid values for non-path marks. All *scale* domains will *include* these filtered data points (for both path and non-path marks).\n\n- `\"show\"` or `null` — Show all data points in the marks and scale domains. Each scale will use the output for invalid values defined in `config.scale.invalid` or, if unspecified, by default invalid values will produce the same visual values as zero (if the scale includes zero) or the minimum value (if the scale does not include zero).\n\n- `\"break-paths-show-path-domains\"` (default) — This is equivalent to `\"break-paths-show-domains\"` for path-based marks (line/area/trail) and `\"filter\"` for non-path marks.\n\n__Note__: If any channel's scale has an output for invalid values defined in `config.scale.invalid`, all values for the scales will be considered \"valid\" since they can produce a reasonable output for the scales. Thus, fields for such channels will not be filtered and will not cause path breaks." }, "limit": { "anyOf": [ @@ -18614,7 +18614,7 @@ "type": "null" } ], - "description": "Invalid data mode, which defines how the marks and corresponding scales should represent invalid values (`null` and `NaN` in continuous scales *without* defined output for invalid values).\n\n- `\"filter\"` — *Exclude* all invalid values from the visualization's *marks* and *scales*. For path marks (for line, area, trail), this option will create paths that connect valid points, as if the data rows with invalid values do not exist.\n\n- `\"break-paths-filter-domains\"` — Break path marks (for line, area, trail) at invalid values. For non-path marks, this is equivalent to `\"filter\"`. All *scale* domains will *exclude* these filtered data points.\n\n- `\"break-paths-show-domains\"` — Break paths (for line, area, trail) at invalid values. Hide invalid values for non-path marks. All *scale* domains will *include* these filtered data points (for both path and non-path marks).\n\n- `\"show\"` or `null` — Show all data points in the marks and scale domains. Each scale will use the output for invalid values defined in `config.scale.invalid` or, if unspecified, by default invalid values will produce the same visual values as zero (if the scale includes zero) or the minimum value (if the scale does not include zero).\n\n- `\"break-paths-show-path-domains\"` (default) — This is equivalent to `\"break-paths-show-domains\"` for path-based marks (line/area/trail) and `\"filter\"` for non-path marks.\n\n__Note__: If any channel's scale has an output for invalid values defined in `config.scale.invalid`, all values for the scales will be considered \"valid\" since they can produce a reasonable output for the scales. Thus, fields for such channels will not be filtered and will not cause path breaks." + "description": "Invalid data mode, which defines how the marks and corresponding scales should represent invalid values (`null` and `NaN` in continuous scales *without* defined output for invalid values in `config.scale.invalid`).\n\n- `\"filter\"` — *Exclude* all invalid values from the visualization's *marks* and *scales*. For path marks (for line, area, trail), this option will create paths that connect valid points, as if the data rows with invalid values do not exist.\n\n- `\"break-paths-filter-domains\"` — Break path marks (for line, area, trail) at invalid values. For non-path marks, this is equivalent to `\"filter\"`. All *scale* domains will *exclude* these filtered data points.\n\n- `\"break-paths-show-domains\"` — Break paths (for line, area, trail) at invalid values. Hide invalid values for non-path marks. All *scale* domains will *include* these filtered data points (for both path and non-path marks).\n\n- `\"show\"` or `null` — Show all data points in the marks and scale domains. Each scale will use the output for invalid values defined in `config.scale.invalid` or, if unspecified, by default invalid values will produce the same visual values as zero (if the scale includes zero) or the minimum value (if the scale does not include zero).\n\n- `\"break-paths-show-path-domains\"` (default) — This is equivalent to `\"break-paths-show-domains\"` for path-based marks (line/area/trail) and `\"filter\"` for non-path marks.\n\n__Note__: If any channel's scale has an output for invalid values defined in `config.scale.invalid`, all values for the scales will be considered \"valid\" since they can produce a reasonable output for the scales. Thus, fields for such channels will not be filtered and will not cause path breaks." }, "limit": { "anyOf": [ @@ -20910,7 +20910,7 @@ "type": "null" } ], - "description": "Invalid data mode, which defines how the marks and corresponding scales should represent invalid values (`null` and `NaN` in continuous scales *without* defined output for invalid values).\n\n- `\"filter\"` — *Exclude* all invalid values from the visualization's *marks* and *scales*. For path marks (for line, area, trail), this option will create paths that connect valid points, as if the data rows with invalid values do not exist.\n\n- `\"break-paths-filter-domains\"` — Break path marks (for line, area, trail) at invalid values. For non-path marks, this is equivalent to `\"filter\"`. All *scale* domains will *exclude* these filtered data points.\n\n- `\"break-paths-show-domains\"` — Break paths (for line, area, trail) at invalid values. Hide invalid values for non-path marks. All *scale* domains will *include* these filtered data points (for both path and non-path marks).\n\n- `\"show\"` or `null` — Show all data points in the marks and scale domains. Each scale will use the output for invalid values defined in `config.scale.invalid` or, if unspecified, by default invalid values will produce the same visual values as zero (if the scale includes zero) or the minimum value (if the scale does not include zero).\n\n- `\"break-paths-show-path-domains\"` (default) — This is equivalent to `\"break-paths-show-domains\"` for path-based marks (line/area/trail) and `\"filter\"` for non-path marks.\n\n__Note__: If any channel's scale has an output for invalid values defined in `config.scale.invalid`, all values for the scales will be considered \"valid\" since they can produce a reasonable output for the scales. Thus, fields for such channels will not be filtered and will not cause path breaks." + "description": "Invalid data mode, which defines how the marks and corresponding scales should represent invalid values (`null` and `NaN` in continuous scales *without* defined output for invalid values in `config.scale.invalid`).\n\n- `\"filter\"` — *Exclude* all invalid values from the visualization's *marks* and *scales*. For path marks (for line, area, trail), this option will create paths that connect valid points, as if the data rows with invalid values do not exist.\n\n- `\"break-paths-filter-domains\"` — Break path marks (for line, area, trail) at invalid values. For non-path marks, this is equivalent to `\"filter\"`. All *scale* domains will *exclude* these filtered data points.\n\n- `\"break-paths-show-domains\"` — Break paths (for line, area, trail) at invalid values. Hide invalid values for non-path marks. All *scale* domains will *include* these filtered data points (for both path and non-path marks).\n\n- `\"show\"` or `null` — Show all data points in the marks and scale domains. Each scale will use the output for invalid values defined in `config.scale.invalid` or, if unspecified, by default invalid values will produce the same visual values as zero (if the scale includes zero) or the minimum value (if the scale does not include zero).\n\n- `\"break-paths-show-path-domains\"` (default) — This is equivalent to `\"break-paths-show-domains\"` for path-based marks (line/area/trail) and `\"filter\"` for non-path marks.\n\n__Note__: If any channel's scale has an output for invalid values defined in `config.scale.invalid`, all values for the scales will be considered \"valid\" since they can produce a reasonable output for the scales. Thus, fields for such channels will not be filtered and will not cause path breaks." }, "limit": { "anyOf": [ @@ -28613,7 +28613,7 @@ "type": "null" } ], - "description": "Invalid data mode, which defines how the marks and corresponding scales should represent invalid values (`null` and `NaN` in continuous scales *without* defined output for invalid values).\n\n- `\"filter\"` — *Exclude* all invalid values from the visualization's *marks* and *scales*. For path marks (for line, area, trail), this option will create paths that connect valid points, as if the data rows with invalid values do not exist.\n\n- `\"break-paths-filter-domains\"` — Break path marks (for line, area, trail) at invalid values. For non-path marks, this is equivalent to `\"filter\"`. All *scale* domains will *exclude* these filtered data points.\n\n- `\"break-paths-show-domains\"` — Break paths (for line, area, trail) at invalid values. Hide invalid values for non-path marks. All *scale* domains will *include* these filtered data points (for both path and non-path marks).\n\n- `\"show\"` or `null` — Show all data points in the marks and scale domains. Each scale will use the output for invalid values defined in `config.scale.invalid` or, if unspecified, by default invalid values will produce the same visual values as zero (if the scale includes zero) or the minimum value (if the scale does not include zero).\n\n- `\"break-paths-show-path-domains\"` (default) — This is equivalent to `\"break-paths-show-domains\"` for path-based marks (line/area/trail) and `\"filter\"` for non-path marks.\n\n__Note__: If any channel's scale has an output for invalid values defined in `config.scale.invalid`, all values for the scales will be considered \"valid\" since they can produce a reasonable output for the scales. Thus, fields for such channels will not be filtered and will not cause path breaks." + "description": "Invalid data mode, which defines how the marks and corresponding scales should represent invalid values (`null` and `NaN` in continuous scales *without* defined output for invalid values in `config.scale.invalid`).\n\n- `\"filter\"` — *Exclude* all invalid values from the visualization's *marks* and *scales*. For path marks (for line, area, trail), this option will create paths that connect valid points, as if the data rows with invalid values do not exist.\n\n- `\"break-paths-filter-domains\"` — Break path marks (for line, area, trail) at invalid values. For non-path marks, this is equivalent to `\"filter\"`. All *scale* domains will *exclude* these filtered data points.\n\n- `\"break-paths-show-domains\"` — Break paths (for line, area, trail) at invalid values. Hide invalid values for non-path marks. All *scale* domains will *include* these filtered data points (for both path and non-path marks).\n\n- `\"show\"` or `null` — Show all data points in the marks and scale domains. Each scale will use the output for invalid values defined in `config.scale.invalid` or, if unspecified, by default invalid values will produce the same visual values as zero (if the scale includes zero) or the minimum value (if the scale does not include zero).\n\n- `\"break-paths-show-path-domains\"` (default) — This is equivalent to `\"break-paths-show-domains\"` for path-based marks (line/area/trail) and `\"filter\"` for non-path marks.\n\n__Note__: If any channel's scale has an output for invalid values defined in `config.scale.invalid`, all values for the scales will be considered \"valid\" since they can produce a reasonable output for the scales. Thus, fields for such channels will not be filtered and will not cause path breaks." }, "limit": { "anyOf": [ From 044bab22cba2e3b4efa7b4645ff76a003c4437b2 Mon Sep 17 00:00:00 2001 From: GitHub Actions Bot Date: Mon, 20 May 2024 05:02:46 +0000 Subject: [PATCH 5/6] chore: update examples [CI] --- examples/compiled/airport_connections.vg.json | 4 +- examples/compiled/arc_color_mappings.vg.json | 2 +- examples/compiled/arc_donut.vg.json | 2 +- examples/compiled/arc_facet.vg.json | 6 +-- examples/compiled/arc_ordinal_theta.vg.json | 2 +- examples/compiled/arc_params.vg.json | 2 +- examples/compiled/arc_pie.vg.json | 2 +- .../arc_pie_normalize_tooltip.vg.json | 4 +- examples/compiled/arc_pie_pyramid.vg.json | 2 +- examples/compiled/arc_radial.vg.json | 8 ++-- .../compiled/arc_radial_histogram.vg.json | 8 ++-- examples/compiled/area.vg.json | 2 +- examples/compiled/area_cumulative_freq.svg | 2 +- .../compiled/area_cumulative_freq.vg.json | 2 +- examples/compiled/area_density.vg.json | 2 +- examples/compiled/area_density_facet.vg.json | 6 +-- .../compiled/area_density_stacked.vg.json | 2 +- .../area_density_stacked_fold.vg.json | 2 +- examples/compiled/area_gradient.vg.json | 4 +- examples/compiled/area_horizon.vg.json | 4 +- examples/compiled/area_invalid_null.svg | 2 +- examples/compiled/area_invalid_null.vg.json | 2 +- examples/compiled/area_overlay.vg.json | 6 +-- .../compiled/area_overlay_with_y2.vg.json | 6 +-- examples/compiled/area_params.vg.json | 2 +- .../compiled/area_temperature_range.vg.json | 2 +- examples/compiled/area_vertical.vg.json | 2 +- examples/compiled/argmin_spaces.vg.json | 4 +- examples/compiled/bar.vg.json | 2 +- examples/compiled/bar_1d.vg.json | 2 +- examples/compiled/bar_1d_binned.vg.json | 2 +- examples/compiled/bar_1d_default_size.vg.json | 2 +- .../compiled/bar_1d_dimension_only.vg.json | 4 +- examples/compiled/bar_1d_step_config.vg.json | 2 +- examples/compiled/bar_1d_temporal.vg.json | 2 +- examples/compiled/bar_aggregate.vg.json | 2 +- examples/compiled/bar_aggregate_count.vg.json | 2 +- .../compiled/bar_aggregate_format.vg.json | 2 +- examples/compiled/bar_aggregate_size.vg.json | 2 +- .../bar_aggregate_sort_by_encoding.vg.json | 2 +- .../compiled/bar_aggregate_sort_mean.vg.json | 2 +- .../compiled/bar_aggregate_transform.vg.json | 2 +- .../compiled/bar_aggregate_vertical.vg.json | 2 +- examples/compiled/bar_argmax.vg.json | 2 +- .../compiled/bar_argmax_transform.vg.json | 2 +- examples/compiled/bar_array_aggregate.vg.json | 2 +- examples/compiled/bar_axis_orient.vg.json | 2 +- .../compiled/bar_axis_space_saving.vg.json | 2 +- .../compiled/bar_axis_title_quoted.vg.json | 2 +- examples/compiled/bar_binned_data.vg.json | 2 +- .../bar_binned_yearmonth_grouped.vg.json | 2 +- ...nned_yearmonth_grouped_center_band.vg.json | 2 +- .../bar_binned_yearmonth_label.vg.json | 8 ++-- ...binned_yearmonth_label_band_center.vg.json | 8 ++-- examples/compiled/bar_binnedyearmonth.vg.json | 2 +- .../compiled/bar_bullet_expr_bind.vg.json | 12 +++--- .../compiled/bar_color_disabled_scale.vg.json | 2 +- examples/compiled/bar_column_fold.vg.json | 6 +-- examples/compiled/bar_column_pivot.vg.json | 2 +- examples/compiled/bar_config_no_zero.vg.json | 2 +- .../compiled/bar_corner_radius_end.vg.json | 2 +- examples/compiled/bar_count_minimap.vg.json | 4 +- .../compiled/bar_custom_sort_full.vg.json | 2 +- .../compiled/bar_custom_sort_partial.vg.json | 2 +- .../compiled/bar_custom_time_domain.vg.json | 2 +- .../bar_default_tooltip_title_null.vg.json | 4 +- examples/compiled/bar_distinct.vg.json | 2 +- ...diverging_stack_population_pyramid.vg.json | 2 +- .../bar_diverging_stack_transform.vg.json | 2 +- examples/compiled/bar_filter_calc.vg.json | 2 +- examples/compiled/bar_fit.vg.json | 2 +- examples/compiled/bar_gantt.vg.json | 2 +- .../compiled/bar_gantt_config_no_zero.vg.json | 2 +- examples/compiled/bar_group_timeunit.vg.json | 2 +- examples/compiled/bar_grouped.vg.json | 2 +- .../bar_grouped_custom_padding.vg.json | 2 +- .../compiled/bar_grouped_errorbar.vg.json | 6 +-- examples/compiled/bar_grouped_facet.vg.json | 6 +-- ...ar_grouped_facet_independent_scale.vg.json | 6 +-- ...acet_independent_scale_fixed_width.vg.json | 6 +-- .../compiled/bar_grouped_fixed_width.vg.json | 2 +- .../compiled/bar_grouped_horizontal.vg.json | 2 +- examples/compiled/bar_grouped_label.vg.json | 8 ++-- .../compiled/bar_grouped_repeated.vg.json | 4 +- examples/compiled/bar_grouped_stacked.vg.json | 2 +- .../bar_grouped_step_for_offset.vg.json | 2 +- .../bar_grouped_step_for_position.vg.json | 2 +- examples/compiled/bar_grouped_thin.svg | 2 +- examples/compiled/bar_grouped_thin.vg.json | 2 +- .../compiled/bar_grouped_thin_minBandSize.svg | 2 +- .../bar_grouped_thin_minBandSize.vg.json | 2 +- .../bar_grouped_timeunit_yearweek.vg.json | 2 +- examples/compiled/bar_heatlane.vg.json | 4 +- examples/compiled/bar_invalid_color_show.svg | 2 +- .../compiled/bar_invalid_color_show.vg.json | 4 +- .../bar_invalid_color_show_override.svg | 2 +- .../bar_invalid_color_show_override.vg.json | 4 +- .../compiled/bar_layered_transparent.vg.json | 2 +- examples/compiled/bar_layered_weather.vg.json | 18 ++++---- examples/compiled/bar_month.vg.json | 2 +- examples/compiled/bar_month_band.vg.json | 2 +- .../compiled/bar_month_band_config.vg.json | 2 +- examples/compiled/bar_month_temporal.vg.json | 2 +- .../bar_month_temporal_band_center.vg.json | 2 +- ..._month_temporal_band_center_config.vg.json | 2 +- .../bar_month_temporal_initial.vg.json | 2 +- .../bar_multi_values_per_categories.vg.json | 2 +- examples/compiled/bar_narrow_int_span.vg.json | 2 +- examples/compiled/bar_negative.vg.json | 2 +- .../bar_negative_horizontal_label.vg.json | 8 ++-- examples/compiled/bar_params.vg.json | 2 +- examples/compiled/bar_params_bound.vg.json | 2 +- .../compiled/bar_percent_of_total.vg.json | 2 +- examples/compiled/bar_q_qpow.vg.json | 2 +- examples/compiled/bar_qq_stack.vg.json | 2 +- .../compiled/bar_qq_stack_horizontal.vg.json | 2 +- .../compiled/bar_ranged_not_binned.vg.json | 2 +- ...mple_binned_timeunit_special_chars.vg.json | 2 +- examples/compiled/bar_simple_extent.vg.json | 2 +- examples/compiled/bar_size_default.vg.json | 2 +- .../compiled/bar_size_explicit_bad.vg.json | 2 +- examples/compiled/bar_size_fit.vg.json | 2 +- examples/compiled/bar_size_responsive.vg.json | 2 +- examples/compiled/bar_size_step_small.vg.json | 2 +- examples/compiled/bar_sort_by_count.vg.json | 2 +- examples/compiled/bar_swap_axes.vg.json | 2 +- examples/compiled/bar_swap_custom.vg.json | 2 +- ...lor_config_time_unit_band_position.vg.json | 2 +- examples/compiled/bar_title.vg.json | 2 +- examples/compiled/bar_title_start.vg.json | 2 +- examples/compiled/bar_tooltip.vg.json | 6 ++- .../compiled/bar_tooltip_aggregate.vg.json | 6 ++- examples/compiled/bar_tooltip_groupby.vg.json | 6 +-- examples/compiled/bar_tooltip_multi.vg.json | 4 +- examples/compiled/bar_tooltip_title.vg.json | 4 +- .../compiled/bar_x_offset_without_x.vg.json | 2 +- examples/compiled/bar_yearmonth.vg.json | 2 +- .../bar_yearmonth_center_band.vg.json | 2 +- .../bar_yearmonth_custom_format.vg.json | 2 +- .../bar_yearmonthdate_minBandSize.vg.json | 2 +- .../compiled/boxplot_1D_horizontal.vg.json | 12 +++--- .../boxplot_1D_horizontal_custom_mark.vg.json | 16 +++---- .../boxplot_1D_horizontal_explicit.vg.json | 12 +++--- examples/compiled/boxplot_1D_invalid.vg.json | 12 +++--- examples/compiled/boxplot_1D_vertical.vg.json | 12 +++--- .../compiled/boxplot_2D_horizontal.vg.json | 12 +++--- .../boxplot_2D_horizontal_color_size.vg.json | 12 +++--- examples/compiled/boxplot_2D_vertical.vg.json | 12 +++--- ...xplot_2D_vertical_single_per_group.vg.json | 12 +++--- ...2D_vertical_single_per_group_color.vg.json | 12 +++--- examples/compiled/boxplot_groupped.vg.json | 12 +++--- .../boxplot_minmax_2D_horizontal.vg.json | 10 ++--- ...2D_horizontal_custom_midtick_color.vg.json | 10 ++--- .../boxplot_minmax_2D_vertical.vg.json | 10 ++--- .../compiled/boxplot_preaggregated.vg.json | 8 ++-- .../boxplot_tooltip_aggregate.vg.json | 20 ++++++--- .../boxplot_tooltip_not_aggregate.vg.json | 16 ++++--- examples/compiled/brush_table.vg.json | 20 +++------ examples/compiled/circle.vg.json | 2 +- examples/compiled/circle_binned.vg.json | 2 +- .../compiled/circle_binned_maxbins_2.vg.json | 2 +- .../compiled/circle_binned_maxbins_20.vg.json | 2 +- .../compiled/circle_binned_maxbins_5.vg.json | 2 +- .../circle_bubble_health_income.vg.json | 2 +- .../circle_custom_tick_labels.vg.json | 2 +- examples/compiled/circle_flatten.vg.json | 2 +- .../compiled/circle_github_punchcard.vg.json | 2 +- .../circle_labelangle_orient_signal.vg.json | 2 +- .../compiled/circle_natural_disasters.vg.json | 2 +- examples/compiled/circle_opacity.vg.json | 2 +- .../compiled/circle_scale_quantile.vg.json | 4 +- .../compiled/circle_scale_quantize.vg.json | 4 +- .../compiled/circle_scale_threshold.vg.json | 4 +- .../compiled/circle_wilkinson_dotplot.vg.json | 2 +- .../circle_wilkinson_dotplot_stacked.vg.json | 2 +- .../compiled/concat_bar_layer_circle.vg.json | 6 +-- .../concat_bar_scales_discretize.vg.json | 12 ++---- ...oncat_bar_scales_discretize_2_cols.vg.json | 12 ++---- examples/compiled/concat_hover.vg.json | 4 +- examples/compiled/concat_hover_filter.vg.json | 8 ++-- .../concat_layer_voyager_result.vg.json | 12 +++--- .../concat_marginal_histograms.vg.json | 6 +-- .../concat_population_pyramid.vg.json | 12 +++--- examples/compiled/concat_weather.vg.json | 6 +-- .../config_numberFormatType_test.vg.json | 28 +++++++++--- .../config_numberFormatType_tooltip.vg.json | 4 +- .../compiled/connected_scatterplot.vg.json | 4 +- .../compiled/dynamic_color_legend.vg.json | 4 +- examples/compiled/embedded_csv.vg.json | 4 +- ...rband_2d_horizontal_color_encoding.vg.json | 8 ++-- .../errorband_2d_vertical_borders.vg.json | 8 ++-- examples/compiled/errorband_tooltip.vg.json | 6 ++- .../errorbar_2d_vertical_ticks.vg.json | 8 ++-- examples/compiled/errorbar_aggregate.vg.json | 8 ++-- .../errorbar_horizontal_aggregate.vg.json | 8 ++-- examples/compiled/errorbar_tooltip.vg.json | 6 +-- examples/compiled/facet_bullet.vg.json | 16 +++---- ...t_column_facet_column_point_future.vg.json | 10 ++--- ...acet_column_facet_row_point_future.vg.json | 10 ++--- .../facet_cross_independent_scale.vg.json | 10 ++--- examples/compiled/facet_custom.vg.json | 6 +-- examples/compiled/facet_custom_header.vg.json | 6 +-- examples/compiled/facet_grid_bar.vg.json | 10 ++--- .../compiled/facet_independent_scale.vg.json | 6 +-- ...cet_independent_scale_layer_broken.vg.json | 8 ++-- .../facet_row_facet_row_point_future.vg.json | 10 ++--- examples/compiled/geo_choropleth.vg.json | 2 +- examples/compiled/geo_circle.vg.json | 2 +- examples/compiled/geo_constant_value.vg.json | 6 +-- .../compiled/geo_custom_projection.vg.json | 2 +- examples/compiled/geo_layer.vg.json | 2 +- .../compiled/geo_layer_line_london.vg.json | 10 ++--- examples/compiled/geo_line.vg.json | 4 +- examples/compiled/geo_point.vg.json | 2 +- examples/compiled/geo_repeat.vg.json | 6 +-- examples/compiled/geo_rule.vg.json | 4 +- examples/compiled/geo_text.vg.json | 8 ++-- examples/compiled/geo_trellis.vg.json | 6 +-- examples/compiled/hconcat_weather.vg.json | 4 +- examples/compiled/histogram.vg.json | 2 +- .../compiled/histogram_bin_change.vg.json | 2 +- .../compiled/histogram_bin_spacing.vg.json | 2 +- .../histogram_bin_spacing_reverse.vg.json | 2 +- .../compiled/histogram_bin_transform.vg.json | 2 +- .../compiled/histogram_invalid_null.vg.json | 2 +- examples/compiled/histogram_log.vg.json | 2 +- .../compiled/histogram_no_spacing.vg.json | 2 +- examples/compiled/histogram_nonlinear.vg.json | 2 +- examples/compiled/histogram_ordinal.vg.json | 4 +- .../compiled/histogram_ordinal_sort.vg.json | 4 +- examples/compiled/histogram_rel_freq.vg.json | 4 +- examples/compiled/histogram_reverse.vg.json | 2 +- .../compiled/interactive_1d_geo_brush.vg.json | 2 +- .../interactive_airport_crossfilter.vg.json | 10 ++--- .../compiled/interactive_area_brush.vg.json | 4 +- .../interactive_bar_select_highlight.vg.json | 2 +- .../compiled/interactive_bin_extent.vg.json | 4 +- .../interactive_bin_extent_bottom.vg.json | 4 +- examples/compiled/interactive_brush.vg.json | 2 +- .../compiled/interactive_concat_layer.vg.json | 6 +-- .../compiled/interactive_crossfilter.vg.json | 6 +-- .../interactive_dashboard_europe_pop.vg.json | 6 +-- .../interactive_geo_earthquakes.vg.json | 6 +-- .../interactive_global_development.vg.json | 26 ++++-------- ...active_histogram_full_height_hover.vg.json | 6 +-- .../compiled/interactive_index_chart.vg.json | 10 ++--- .../interactive_layered_crossfilter.vg.json | 12 +++--- ...ctive_layered_crossfilter_discrete.vg.json | 12 +++--- examples/compiled/interactive_legend.vg.json | 2 +- .../interactive_legend_dblclick.vg.json | 2 +- .../interactive_line_brush_cursor.vg.json | 2 +- .../compiled/interactive_line_hover.vg.json | 12 +++--- .../interactive_line_point_hover.vg.json | 6 +-- .../interactive_multi_line_label.vg.json | 18 +++++--- .../interactive_multi_line_pivot_tooltip.svg | 2 +- ...teractive_multi_line_pivot_tooltip.vg.json | 10 ++--- .../interactive_multi_line_tooltip.vg.json | 12 +++--- .../interactive_overview_detail.vg.json | 4 +- .../compiled/interactive_paintbrush.vg.json | 2 +- .../interactive_paintbrush_color.vg.json | 2 +- ...teractive_paintbrush_color_nearest.vg.json | 2 +- .../interactive_paintbrush_interval.vg.json | 2 +- ...nteractive_paintbrush_simple_false.vg.json | 2 +- ...interactive_paintbrush_simple_true.vg.json | 2 +- .../interactive_panzoom_splom.vg.json | 18 ++++---- ...interactive_panzoom_vconcat_shared.vg.json | 4 +- ...nteractive_point_domainRaw_binding.vg.json | 2 +- .../compiled/interactive_point_init.vg.json | 2 +- .../interactive_query_widgets.vg.json | 4 +- .../interactive_seattle_weather.vg.json | 4 +- examples/compiled/interactive_splom.vg.json | 18 ++++---- .../interactive_stocks_nearest_index.vg.json | 12 +++--- examples/compiled/isotype_bar_chart.vg.json | 6 +-- .../compiled/isotype_bar_chart_emoji.vg.json | 10 ++--- examples/compiled/isotype_grid.vg.json | 2 +- .../joinaggregate_mean_difference.vg.json | 4 +- ...naggregate_mean_difference_by_year.vg.json | 4 +- .../joinaggregate_percent_of_total.vg.json | 2 +- .../joinaggregate_residual_graph.vg.json | 2 +- examples/compiled/layer_arc_label.vg.json | 8 ++-- .../compiled/layer_bar_annotations.vg.json | 4 +- .../compiled/layer_bar_circle_grouped.vg.json | 4 +- examples/compiled/layer_bar_fruit.vg.json | 6 ++- .../layer_bar_grouped_line_ungrouped.vg.json | 4 +- examples/compiled/layer_bar_labels.vg.json | 8 ++-- .../compiled/layer_bar_labels_grey.vg.json | 8 ++-- .../compiled/layer_bar_labels_style.vg.json | 8 ++-- examples/compiled/layer_bar_line.vg.json | 4 +- .../compiled/layer_bar_line_union.vg.json | 4 +- examples/compiled/layer_bar_month.vg.json | 4 +- .../layer_bar_tick_datum_grouped.vg.json | 4 +- .../compiled/layer_boxplot_circle.vg.json | 12 +++--- examples/compiled/layer_candlestick.vg.json | 4 +- .../layer_circle_independent_color.vg.json | 4 +- .../compiled/layer_color_legend_left.vg.json | 4 +- .../layer_cumulative_histogram.vg.json | 4 +- examples/compiled/layer_dual_axis.vg.json | 4 +- examples/compiled/layer_falkensee.vg.json | 6 +-- examples/compiled/layer_histogram.vg.json | 4 +- .../layer_histogram_global_mean.vg.json | 4 +- examples/compiled/layer_likert.vg.json | 16 +++---- .../layer_line_co2_concentration.vg.json | 10 ++--- .../compiled/layer_line_color_rule.vg.json | 4 +- .../compiled/layer_line_datum_rule.vg.json | 2 +- .../layer_line_datum_rule_datetime.vg.json | 2 +- ...d_2d_horizontal_borders_strokedash.vg.json | 10 ++--- .../compiled/layer_line_errorband_ci.vg.json | 6 +-- ...ayer_line_errorband_pre_aggregated.vg.json | 6 +-- .../layer_line_mean_point_raw.vg.json | 4 +- .../layer_line_rolling_mean_point_raw.vg.json | 4 +- examples/compiled/layer_line_window.vg.json | 4 +- examples/compiled/layer_null_data.vg.json | 4 +- examples/compiled/layer_overlay.vg.json | 8 ++-- ...layer_point_errorbar_1d_horizontal.vg.json | 6 +-- .../layer_point_errorbar_1d_vertical.vg.json | 6 +-- ...layer_point_errorbar_2d_horizontal.vg.json | 6 +-- ...er_point_errorbar_2d_horizontal_ci.vg.json | 6 +-- ...orbar_2d_horizontal_color_encoding.vg.json | 10 ++--- ...rrorbar_2d_horizontal_custom_ticks.vg.json | 10 ++--- ...r_point_errorbar_2d_horizontal_iqr.vg.json | 6 +-- ...point_errorbar_2d_horizontal_stdev.vg.json | 6 +-- .../layer_point_errorbar_2d_vertical.vg.json | 6 +-- .../compiled/layer_point_errorbar_ci.vg.json | 6 +-- ...ar_pre_aggregated_asymmetric_error.vg.json | 6 +-- ...bar_pre_aggregated_symmetric_error.vg.json | 6 +-- ...rrorbar_pre_aggregated_upper_lower.vg.json | 6 +-- .../layer_point_errorbar_stdev.vg.json | 6 +-- .../compiled/layer_point_line_loess.vg.json | 4 +- .../layer_point_line_regression.vg.json | 12 ++---- .../compiled/layer_precipitation_mean.vg.json | 4 +- examples/compiled/layer_ranged_dot.vg.json | 4 +- examples/compiled/layer_rect_extent.vg.json | 8 ++-- ...ter_errorband_1D_stdev_global_mean.vg.json | 8 ++-- .../layer_scatter_errorband_1d_stdev.vg.json | 6 +-- examples/compiled/layer_single_color.vg.json | 2 +- examples/compiled/layer_text_heatmap.vg.json | 8 ++-- .../layer_text_heatmap_joinaggregate.vg.json | 8 ++-- examples/compiled/layer_timeunit_rect.vg.json | 4 +- examples/compiled/line.vg.json | 2 +- examples/compiled/line_bump.vg.json | 4 +- examples/compiled/line_calculate.vg.json | 2 +- examples/compiled/line_color.vg.json | 2 +- examples/compiled/line_color_binned.vg.json | 2 +- examples/compiled/line_color_halo.svg | 2 +- examples/compiled/line_color_halo.vg.json | 20 ++++----- examples/compiled/line_color_label.vg.json | 10 ++--- examples/compiled/line_concat_facet.vg.json | 6 +-- .../compiled/line_conditional_axis.vg.json | 2 +- .../line_conditional_axis_config.vg.json | 2 +- examples/compiled/line_dashed_part.vg.json | 2 +- examples/compiled/line_detail.vg.json | 2 +- examples/compiled/line_domainminmax.vg.json | 2 +- .../line_encoding_impute_keyvals.vg.json | 2 +- ...e_encoding_impute_keyvals_sequence.vg.json | 2 +- examples/compiled/line_impute_frame.vg.json | 2 +- examples/compiled/line_impute_keyvals.vg.json | 2 +- examples/compiled/line_impute_method.vg.json | 2 +- .../line_impute_transform_frame.vg.json | 2 +- .../line_impute_transform_value.vg.json | 2 +- examples/compiled/line_impute_value.vg.json | 2 +- .../line_inside_domain_using_clip.vg.json | 2 +- ...line_inside_domain_using_transform.vg.json | 2 +- examples/compiled/line_invalid_null.svg | 2 +- examples/compiled/line_invalid_null.vg.json | 2 +- examples/compiled/line_max_year.vg.json | 2 +- examples/compiled/line_mean_month.vg.json | 2 +- examples/compiled/line_mean_year.vg.json | 2 +- examples/compiled/line_monotone.vg.json | 2 +- examples/compiled/line_month.vg.json | 2 +- .../compiled/line_month_center_band.vg.json | 2 +- .../line_month_center_band_offset.vg.json | 2 +- .../compiled/line_narrow_2year_span.vg.json | 2 +- .../compiled/line_narrow_year_span.vg.json | 2 +- .../line_narrow_yearmonth_span.vg.json | 8 ++-- .../line_narrow_yearquarter_span.vg.json | 2 +- examples/compiled/line_outside_domain.vg.json | 2 +- examples/compiled/line_overlay.vg.json | 4 +- .../compiled/line_overlay_stroked.vg.json | 4 +- examples/compiled/line_params.vg.json | 2 +- examples/compiled/line_quarter_legend.vg.json | 2 +- examples/compiled/line_shape_overlay.vg.json | 4 +- examples/compiled/line_skip_invalid.vg.json | 2 +- .../compiled/line_skip_invalid_mid.vg.json | 2 +- .../line_skip_invalid_mid_cap_square.vg.json | 2 +- .../line_skip_invalid_mid_overlay.vg.json | 4 +- examples/compiled/line_slope.vg.json | 2 +- examples/compiled/line_sort_axis.vg.json | 2 +- examples/compiled/line_step.vg.json | 2 +- examples/compiled/line_strokedash.vg.json | 2 +- .../compiled/line_timestamp_domain.vg.json | 2 +- .../compiled/line_timeunit_transform.vg.json | 2 +- examples/compiled/lookup.vg.json | 2 +- examples/compiled/nested_concat_align.vg.json | 8 ++-- examples/compiled/parallel_coordinate.vg.json | 36 ++++++++-------- examples/compiled/param_expr.vg.json | 2 +- examples/compiled/param_search_input.vg.json | 6 +-- examples/compiled/point_1d.vg.json | 2 +- examples/compiled/point_1d_array.vg.json | 4 +- examples/compiled/point_2d.vg.json | 2 +- examples/compiled/point_2d_aggregate.vg.json | 2 +- examples/compiled/point_2d_array.vg.json | 2 +- .../compiled/point_2d_array_named.vg.json | 2 +- .../compiled/point_2d_config_no_zero.vg.json | 2 +- examples/compiled/point_2d_tooltip.vg.json | 4 +- .../compiled/point_2d_tooltip_data.vg.json | 2 +- .../compiled/point_aggregate_detail.vg.json | 2 +- examples/compiled/point_background.vg.json | 2 +- examples/compiled/point_binned_color.vg.json | 2 +- .../compiled/point_binned_opacity.vg.json | 2 +- examples/compiled/point_binned_size.vg.json | 2 +- examples/compiled/point_bubble.vg.json | 2 +- examples/compiled/point_color.vg.json | 2 +- examples/compiled/point_color_custom.vg.json | 2 +- examples/compiled/point_color_ordinal.vg.json | 2 +- .../compiled/point_color_quantitative.vg.json | 2 +- .../point_color_shape_constant.vg.json | 2 +- .../compiled/point_color_with_shape.vg.json | 2 +- .../compiled/point_colorramp_size.vg.json | 2 +- .../compiled/point_diverging_color.vg.json | 2 +- .../compiled/point_dot_timeunit_color.vg.json | 2 +- examples/compiled/point_filled.vg.json | 2 +- examples/compiled/point_grouped.vg.json | 2 +- examples/compiled/point_href.vg.json | 10 ++--- examples/compiled/point_invalid_color.svg | 2 +- examples/compiled/point_invalid_color.vg.json | 2 +- examples/compiled/point_invalid_size_show.svg | 2 +- .../compiled/point_invalid_size_show.vg.json | 2 +- examples/compiled/point_label_null.png | Bin 10586 -> 10581 bytes examples/compiled/point_label_null.svg | 2 +- examples/compiled/point_label_null.vg.json | 8 ++-- examples/compiled/point_label_null_date.png | Bin 12576 -> 12131 bytes examples/compiled/point_label_null_date.svg | 2 +- .../compiled/point_label_null_date.vg.json | 10 +++-- examples/compiled/point_log.vg.json | 2 +- .../point_no_axis_domain_grid.vg.json | 2 +- examples/compiled/point_offset_random.vg.json | 2 +- .../point_ordinal_bin_offset_random.vg.json | 4 +- examples/compiled/point_ordinal_color.vg.json | 2 +- examples/compiled/point_params.vg.json | 2 +- .../compiled/point_quantile_quantile.vg.json | 4 +- .../compiled/point_scale_range_field.vg.json | 2 +- examples/compiled/point_shape_custom.vg.json | 2 +- examples/compiled/point_tooltip.vg.json | 6 +-- examples/compiled/rect_binned_heatmap.vg.json | 2 +- examples/compiled/rect_heatmap.vg.json | 2 +- .../compiled/rect_heatmap_weather.vg.json | 2 +- ...atmap_weather_temporal_center_band.vg.json | 2 +- ...eather_temporal_center_band_config.vg.json | 2 +- examples/compiled/rect_lasagna.vg.json | 2 +- .../compiled/rect_mosaic_labelled.vg.json | 16 +++---- .../rect_mosaic_labelled_with_offset.vg.json | 16 +++---- examples/compiled/rect_mosaic_simple.vg.json | 4 +- examples/compiled/repeat_child_layer.vg.json | 12 +++--- examples/compiled/repeat_histogram.vg.json | 8 ++-- .../repeat_histogram_autosize.vg.json | 4 +- .../compiled/repeat_histogram_flights.vg.json | 6 +-- .../repeat_independent_colors.vg.json | 4 +- examples/compiled/repeat_layer.vg.json | 4 +- examples/compiled/repeat_line_weather.vg.json | 6 +-- examples/compiled/repeat_splom.vg.json | 32 +++++++------- examples/compiled/repeat_splom_cars.vg.json | 8 ++-- examples/compiled/rule_color_mean.vg.json | 2 +- examples/compiled/rule_extent.vg.json | 2 +- examples/compiled/sample_scatterplot.vg.json | 4 +- examples/compiled/scatter_image.vg.json | 6 +-- .../compiled/selection_bind_cylyr.vg.json | 2 +- .../compiled/selection_bind_origin.vg.json | 2 +- .../compiled/selection_brush_timeunit.vg.json | 4 +- .../compiled/selection_clear_brush.vg.json | 2 +- .../selection_composition_and.vg.json | 2 +- .../compiled/selection_composition_or.vg.json | 2 +- examples/compiled/selection_concat.vg.json | 4 +- examples/compiled/selection_filter.vg.json | 4 +- .../selection_filter_composition.vg.json | 4 +- .../compiled/selection_filter_false.vg.json | 4 +- .../compiled/selection_filter_true.vg.json | 4 +- examples/compiled/selection_heatmap.vg.json | 2 +- examples/compiled/selection_insert.vg.json | 2 +- .../selection_interval_mark_style.vg.json | 2 +- .../selection_layer_bar_month.vg.json | 4 +- .../selection_multi_condition.vg.json | 2 +- .../selection_project_binned_interval.vg.json | 4 +- .../selection_project_interval.vg.json | 2 +- .../selection_project_interval_x.vg.json | 2 +- .../selection_project_interval_x_y.vg.json | 2 +- .../selection_project_interval_y.vg.json | 2 +- .../compiled/selection_project_multi.vg.json | 2 +- .../selection_project_multi_cylinders.vg.json | 2 +- ...ion_project_multi_cylinders_origin.vg.json | 2 +- .../selection_project_multi_origin.vg.json | 2 +- .../compiled/selection_project_single.vg.json | 2 +- ...selection_project_single_cylinders.vg.json | 2 +- ...on_project_single_cylinders_origin.vg.json | 2 +- .../selection_project_single_origin.vg.json | 2 +- .../selection_resolution_global.vg.json | 18 ++++---- .../selection_resolution_intersect.vg.json | 18 ++++---- .../selection_resolution_union.vg.json | 18 ++++---- .../compiled/selection_toggle_altKey.vg.json | 2 +- .../selection_toggle_altKey_shiftKey.vg.json | 2 +- .../selection_toggle_shiftKey.vg.json | 2 +- .../selection_translate_brush_drag.vg.json | 2 +- ...lection_translate_brush_shift-drag.vg.json | 2 +- ...lection_translate_scatterplot_drag.vg.json | 2 +- ...n_translate_scatterplot_shift-drag.vg.json | 2 +- .../compiled/selection_type_interval.vg.json | 2 +- .../selection_type_interval_invert.vg.json | 2 +- .../compiled/selection_type_point.vg.json | 2 +- .../selection_type_point_zorder.vg.json | 2 +- .../selection_type_single_dblclick.vg.json | 2 +- .../selection_type_single_pointerover.vg.json | 2 +- .../selection_zoom_brush_shift-wheel.vg.json | 2 +- .../selection_zoom_brush_wheel.vg.json | 2 +- ...ction_zoom_scatterplot_shift-wheel.vg.json | 2 +- .../selection_zoom_scatterplot_wheel.vg.json | 2 +- examples/compiled/sequence_line.vg.json | 2 +- examples/compiled/sequence_line_fold.vg.json | 2 +- examples/compiled/square.vg.json | 2 +- examples/compiled/stacked_area.vg.json | 2 +- examples/compiled/stacked_area_binned.vg.json | 2 +- .../compiled/stacked_area_normalize.vg.json | 2 +- .../compiled/stacked_area_ordinal.vg.json | 2 +- .../compiled/stacked_area_overlay.vg.json | 4 +- examples/compiled/stacked_area_stream.vg.json | 2 +- .../compiled/stacked_area_without_agg.vg.json | 4 +- examples/compiled/stacked_bar_1d.vg.json | 2 +- examples/compiled/stacked_bar_count.vg.json | 2 +- ...ked_bar_count_corner_radius_config.vg.json | 2 +- ...acked_bar_count_corner_radius_mark.vg.json | 2 +- ...ked_bar_count_corner_radius_mark_x.vg.json | 2 +- ...ked_bar_count_corner_radius_stroke.vg.json | 2 +- examples/compiled/stacked_bar_h.vg.json | 2 +- .../stacked_bar_h_normalized_labeled.vg.json | 8 ++-- examples/compiled/stacked_bar_h_order.vg.json | 2 +- .../stacked_bar_h_order_custom.vg.json | 2 +- .../compiled/stacked_bar_normalize.vg.json | 2 +- .../compiled/stacked_bar_population.vg.json | 2 +- .../stacked_bar_population_transform.vg.json | 2 +- examples/compiled/stacked_bar_size.vg.json | 2 +- .../compiled/stacked_bar_sum_opacity.vg.json | 2 +- .../compiled/stacked_bar_unaggregate.vg.json | 2 +- examples/compiled/stacked_bar_v.vg.json | 2 +- .../compiled/stacked_bar_v_ascending.vg.json | 2 +- examples/compiled/stacked_bar_weather.vg.json | 2 +- .../compiled/test_aggregate_nested.vg.json | 2 +- .../compiled/test_field_with_spaces.vg.json | 2 +- ...est_invalid_break_paths_filter_domains.svg | 2 +- ...invalid_break_paths_filter_domains.vg.json | 40 +++++++++--------- .../test_invalid_break_paths_show_domains.svg | 2 +- ...t_invalid_break_paths_show_domains.vg.json | 40 +++++++++--------- ..._invalid_break_paths_show_path_domains.svg | 2 +- ...alid_break_paths_show_path_domains.vg.json | 40 +++++++++--------- .../test_invalid_color_filter.vg.json | 40 +++++++++--------- ...or_filter_but_include_in_scale_invalid.svg | 2 +- ...ilter_but_include_in_scale_invalid.vg.json | 40 +++++++++--------- examples/compiled/test_invalid_color_show.svg | 2 +- .../compiled/test_invalid_color_show.vg.json | 40 +++++++++--------- .../test_invalid_color_size_config_scale.svg | 2 +- ...st_invalid_color_size_config_scale.vg.json | 8 ++-- ...nvalid_color_size_mark_filter_only.vg.json | 8 ++-- ...test_invalid_color_size_mark_show_only.svg | 2 +- ..._invalid_color_size_mark_show_only.vg.json | 8 ++-- examples/compiled/test_invalid_default.svg | 2 +- .../compiled/test_invalid_default.vg.json | 40 +++++++++--------- examples/compiled/test_invalid_filter.vg.json | 40 +++++++++--------- examples/compiled/test_invalid_null.svg | 2 +- examples/compiled/test_invalid_null.vg.json | 40 +++++++++--------- .../test_invalid_opacity_filter.vg.json | 40 +++++++++--------- ...ty_filter_but_include_in_scale_invalid.svg | 2 +- ...ilter_but_include_in_scale_invalid.vg.json | 40 +++++++++--------- .../compiled/test_invalid_opacity_show.svg | 2 +- .../test_invalid_opacity_show.vg.json | 40 +++++++++--------- examples/compiled/test_invalid_show.svg | 2 +- examples/compiled/test_invalid_show.vg.json | 40 +++++++++--------- examples/compiled/test_subobject.vg.json | 2 +- .../compiled/test_subobject_missing.vg.json | 2 +- .../compiled/test_subobject_nested.vg.json | 2 +- examples/compiled/text_format.vg.json | 6 ++- examples/compiled/text_params.vg.json | 8 ++-- .../compiled/text_scatterplot_colored.vg.json | 6 +-- examples/compiled/text_tooltip_image.vg.json | 12 ++---- examples/compiled/tick_dot.vg.json | 2 +- examples/compiled/tick_dot_thickness.vg.json | 2 +- examples/compiled/tick_grouped.vg.json | 2 +- examples/compiled/tick_sort.vg.json | 2 +- examples/compiled/tick_strip.vg.json | 2 +- .../compiled/tick_strip_tick_band.vg.json | 2 +- examples/compiled/time_custom_step.vg.json | 2 +- .../compiled/time_output_utc_scale.vg.json | 2 +- .../compiled/time_output_utc_timeunit.vg.json | 2 +- .../compiled/time_parse_binnedutc.vg.json | 2 +- examples/compiled/time_parse_local.vg.json | 2 +- examples/compiled/time_parse_utc.vg.json | 2 +- .../compiled/time_parse_utc_format.vg.json | 2 +- examples/compiled/trail_color.vg.json | 2 +- examples/compiled/trail_comet.vg.json | 8 ++-- examples/compiled/trellis_anscombe.vg.json | 6 +-- examples/compiled/trellis_area.vg.json | 6 +-- .../compiled/trellis_area_seattle.vg.json | 2 +- .../compiled/trellis_area_sort_array.vg.json | 6 +-- examples/compiled/trellis_bar.vg.json | 6 +-- .../compiled/trellis_bar_histogram.vg.json | 6 +-- ...rellis_bar_histogram_label_rotated.vg.json | 6 +-- .../compiled/trellis_bar_no_header.vg.json | 2 +- examples/compiled/trellis_barley.vg.json | 6 +-- .../trellis_barley_independent.vg.json | 6 +-- .../trellis_barley_layer_median.vg.json | 8 ++-- examples/compiled/trellis_column_year.vg.json | 4 +- examples/compiled/trellis_cross_sort.vg.json | 14 +++--- .../compiled/trellis_cross_sort_array.vg.json | 14 +++--- .../compiled/trellis_line_quarter.vg.json | 4 +- examples/compiled/trellis_row_column.vg.json | 10 ++--- examples/compiled/trellis_scatter.vg.json | 6 +-- .../trellis_scatter_binned_row.vg.json | 4 +- .../compiled/trellis_scatter_small.vg.json | 6 +-- examples/compiled/trellis_selections.vg.json | 6 +-- examples/compiled/trellis_stacked_bar.vg.json | 6 +-- examples/compiled/vconcat_flatten.vg.json | 4 +- examples/compiled/vconcat_weather.vg.json | 4 +- examples/compiled/waterfall_chart.vg.json | 16 +++---- examples/compiled/wheat_wages.vg.json | 18 ++++---- .../window_cumulative_running_average.vg.json | 4 +- examples/compiled/window_impute_null.vg.json | 4 +- examples/compiled/window_rank.vg.json | 2 +- examples/compiled/window_top_k.vg.json | 2 +- examples/compiled/window_top_k_others.vg.json | 2 +- 625 files changed, 1555 insertions(+), 1677 deletions(-) diff --git a/examples/compiled/airport_connections.vg.json b/examples/compiled/airport_connections.vg.json index 45e19c73e2..6e91c69f87 100644 --- a/examples/compiled/airport_connections.vg.json +++ b/examples/compiled/airport_connections.vg.json @@ -201,7 +201,7 @@ "opacity": {"value": 0.35}, "stroke": {"value": "#000"}, "description": { - "signal": "\"longitude: \" + (format(datum[\"longitude\"], \"\")) + \"; lon2: \" + (format(datum[\"lon2\"], \"\")) + \"; latitude: \" + (format(datum[\"latitude\"], \"\")) + \"; lat2: \" + (format(datum[\"lat2\"], \"\"))" + "signal": "\"longitude: \" + (!isValid(datum[\"longitude\"]) || !isFinite(+datum[\"longitude\"]) ? \"\" + datum[\"longitude\"] : format(datum[\"longitude\"], \"\")) + \"; lon2: \" + (!isValid(datum[\"lon2\"]) || !isFinite(+datum[\"lon2\"]) ? \"\" + datum[\"lon2\"] : format(datum[\"lon2\"], \"\")) + \"; latitude: \" + (!isValid(datum[\"latitude\"]) || !isFinite(+datum[\"latitude\"]) ? \"\" + datum[\"latitude\"] : format(datum[\"latitude\"], \"\")) + \"; lat2: \" + (!isValid(datum[\"lat2\"]) || !isFinite(+datum[\"lat2\"]) ? \"\" + datum[\"lat2\"] : format(datum[\"lat2\"], \"\"))" }, "x": {"field": "layer_1_x"}, "x2": {"field": "layer_1_x2"}, @@ -223,7 +223,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"longitude: \" + (format(datum[\"longitude\"], \"\")) + \"; latitude: \" + (format(datum[\"latitude\"], \"\")) + \"; routes: \" + (format(datum[\"routes\"], \"\"))" + "signal": "\"longitude: \" + (!isValid(datum[\"longitude\"]) || !isFinite(+datum[\"longitude\"]) ? \"\" + datum[\"longitude\"] : format(datum[\"longitude\"], \"\")) + \"; latitude: \" + (!isValid(datum[\"latitude\"]) || !isFinite(+datum[\"latitude\"]) ? \"\" + datum[\"latitude\"] : format(datum[\"latitude\"], \"\")) + \"; routes: \" + (!isValid(datum[\"routes\"]) || !isFinite(+datum[\"routes\"]) ? \"\" + datum[\"routes\"] : format(datum[\"routes\"], \"\"))" }, "x": {"field": "layer_2_x"}, "y": {"field": "layer_2_y"}, diff --git a/examples/compiled/arc_color_mappings.vg.json b/examples/compiled/arc_color_mappings.vg.json index 66c6500b6f..0b3c19413d 100644 --- a/examples/compiled/arc_color_mappings.vg.json +++ b/examples/compiled/arc_color_mappings.vg.json @@ -47,7 +47,7 @@ "update": { "fill": {"scale": "color", "field": "category"}, "description": { - "signal": "\"value: \" + (format(datum[\"value\"], \"\")) + \"; category: \" + (isValid(datum[\"category\"]) ? datum[\"category\"] : \"\"+datum[\"category\"])" + "signal": "\"value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; category: \" + (\"\" + datum[\"category\"])" }, "x": {"signal": "width", "mult": 0.5}, "y": {"signal": "height", "mult": 0.5}, diff --git a/examples/compiled/arc_donut.vg.json b/examples/compiled/arc_donut.vg.json index 60ec25b55f..f9ebe2c844 100644 --- a/examples/compiled/arc_donut.vg.json +++ b/examples/compiled/arc_donut.vg.json @@ -48,7 +48,7 @@ "innerRadius": {"value": 50}, "fill": {"scale": "color", "field": "category"}, "description": { - "signal": "\"value: \" + (format(datum[\"value\"], \"\")) + \"; category: \" + (isValid(datum[\"category\"]) ? datum[\"category\"] : \"\"+datum[\"category\"])" + "signal": "\"value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; category: \" + (\"\" + datum[\"category\"])" }, "x": {"signal": "width", "mult": 0.5}, "y": {"signal": "height", "mult": 0.5}, diff --git a/examples/compiled/arc_facet.vg.json b/examples/compiled/arc_facet.vg.json index d88dc740bc..aeaa503157 100644 --- a/examples/compiled/arc_facet.vg.json +++ b/examples/compiled/arc_facet.vg.json @@ -60,9 +60,7 @@ "from": {"data": "column_domain"}, "sort": {"field": "datum[\"year\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"year\"]) ? parent[\"year\"] : \"\"+parent[\"year\"]" - }, + "text": {"signal": "\"\" + parent[\"year\"]"}, "style": "guide-label", "frame": "group", "offset": 10 @@ -93,7 +91,7 @@ "update": { "fill": {"scale": "color", "field": "site"}, "description": { - "signal": "\"Sum of yield: \" + (format(datum[\"sum_yield\"], \"\")) + \"; site: \" + (isValid(datum[\"site\"]) ? datum[\"site\"] : \"\"+datum[\"site\"])" + "signal": "\"Sum of yield: \" + (!isValid(datum[\"sum_yield\"]) || !isFinite(+datum[\"sum_yield\"]) ? \"\" + datum[\"sum_yield\"] : format(datum[\"sum_yield\"], \"\")) + \"; site: \" + (\"\" + datum[\"site\"])" }, "x": {"signal": "child_width", "mult": 0.5}, "y": {"signal": "child_height", "mult": 0.5}, diff --git a/examples/compiled/arc_ordinal_theta.vg.json b/examples/compiled/arc_ordinal_theta.vg.json index 8ebaa8c4b3..ae0ac67395 100644 --- a/examples/compiled/arc_ordinal_theta.vg.json +++ b/examples/compiled/arc_ordinal_theta.vg.json @@ -48,7 +48,7 @@ "update": { "fill": {"scale": "color", "field": "dir"}, "description": { - "signal": "\"dir: \" + (isValid(datum[\"dir\"]) ? datum[\"dir\"] : \"\"+datum[\"dir\"]) + \"; strength: \" + (format(datum[\"strength\"], \"\"))" + "signal": "\"dir: \" + (\"\" + datum[\"dir\"]) + \"; strength: \" + (!isValid(datum[\"strength\"]) || !isFinite(+datum[\"strength\"]) ? \"\" + datum[\"strength\"] : format(datum[\"strength\"], \"\"))" }, "x": {"signal": "width", "mult": 0.5}, "y": {"signal": "height", "mult": 0.5}, diff --git a/examples/compiled/arc_params.vg.json b/examples/compiled/arc_params.vg.json index 0af536c4cd..f8e54dcff5 100644 --- a/examples/compiled/arc_params.vg.json +++ b/examples/compiled/arc_params.vg.json @@ -136,7 +136,7 @@ "cornerRadius": {"signal": "cornerRadius"}, "fill": {"scale": "color", "field": "category"}, "description": { - "signal": "\"value: \" + (format(datum[\"value\"], \"\")) + \"; category: \" + (isValid(datum[\"category\"]) ? datum[\"category\"] : \"\"+datum[\"category\"])" + "signal": "\"value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; category: \" + (\"\" + datum[\"category\"])" }, "x": {"signal": "childWidth", "mult": 0.5}, "y": {"signal": "height", "mult": 0.5}, diff --git a/examples/compiled/arc_pie.vg.json b/examples/compiled/arc_pie.vg.json index eb9e150a1b..11098d590b 100644 --- a/examples/compiled/arc_pie.vg.json +++ b/examples/compiled/arc_pie.vg.json @@ -47,7 +47,7 @@ "update": { "fill": {"scale": "color", "field": "category"}, "description": { - "signal": "\"value: \" + (format(datum[\"value\"], \"\")) + \"; category: \" + (isValid(datum[\"category\"]) ? datum[\"category\"] : \"\"+datum[\"category\"])" + "signal": "\"value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; category: \" + (\"\" + datum[\"category\"])" }, "x": {"signal": "width", "mult": 0.5}, "y": {"signal": "height", "mult": 0.5}, diff --git a/examples/compiled/arc_pie_normalize_tooltip.vg.json b/examples/compiled/arc_pie_normalize_tooltip.vg.json index 848ad49ca4..615ebc99ca 100644 --- a/examples/compiled/arc_pie_normalize_tooltip.vg.json +++ b/examples/compiled/arc_pie_normalize_tooltip.vg.json @@ -46,11 +46,11 @@ "encode": { "update": { "tooltip": { - "signal": "{\"value\": format(datum[\"value_end\"]-datum[\"value_start\"], \".0%\"), \"category\": isValid(datum[\"category\"]) ? datum[\"category\"] : \"\"+datum[\"category\"]}" + "signal": "{\"value\": !isValid(datum[\"value_end\"]-datum[\"value_start\"]) || !isFinite(+datum[\"value_end\"]-datum[\"value_start\"]) ? \"\" + datum[\"value_end\"]-datum[\"value_start\"] : format(datum[\"value_end\"]-datum[\"value_start\"], \".0%\"), \"category\": \"\" + datum[\"category\"]}" }, "fill": {"scale": "color", "field": "category"}, "description": { - "signal": "\"value: \" + (format(datum[\"value_end\"]-datum[\"value_start\"], \".0%\")) + \"; category: \" + (isValid(datum[\"category\"]) ? datum[\"category\"] : \"\"+datum[\"category\"])" + "signal": "\"value: \" + (!isValid(datum[\"value_end\"]-datum[\"value_start\"]) || !isFinite(+datum[\"value_end\"]-datum[\"value_start\"]) ? \"\" + datum[\"value_end\"]-datum[\"value_start\"] : format(datum[\"value_end\"]-datum[\"value_start\"], \".0%\")) + \"; category: \" + (\"\" + datum[\"category\"])" }, "x": {"signal": "width", "mult": 0.5}, "y": {"signal": "height", "mult": 0.5}, diff --git a/examples/compiled/arc_pie_pyramid.vg.json b/examples/compiled/arc_pie_pyramid.vg.json index e49b5d398d..8d81a8a94f 100644 --- a/examples/compiled/arc_pie_pyramid.vg.json +++ b/examples/compiled/arc_pie_pyramid.vg.json @@ -45,7 +45,7 @@ "outerRadius": {"value": 80}, "fill": {"scale": "color", "field": "category"}, "description": { - "signal": "\"value: \" + (format(datum[\"value\"], \"\")) + \"; category: \" + (isValid(datum[\"category\"]) ? datum[\"category\"] : \"\"+datum[\"category\"]) + \"; order: \" + (isValid(datum[\"order\"]) ? datum[\"order\"] : \"\"+datum[\"order\"])" + "signal": "\"value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; category: \" + (\"\" + datum[\"category\"]) + \"; order: \" + (\"\" + datum[\"order\"])" }, "x": {"signal": "width", "mult": 0.5}, "y": {"signal": "height", "mult": 0.5}, diff --git a/examples/compiled/arc_radial.vg.json b/examples/compiled/arc_radial.vg.json index 83b164d48c..18222128e2 100644 --- a/examples/compiled/arc_radial.vg.json +++ b/examples/compiled/arc_radial.vg.json @@ -57,7 +57,7 @@ "innerRadius": {"value": 20}, "fill": {"scale": "color", "field": "data"}, "description": { - "signal": "\"data: \" + (format(datum[\"data\"], \"\"))" + "signal": "\"data: \" + (!isValid(datum[\"data\"]) || !isFinite(+datum[\"data\"]) ? \"\" + datum[\"data\"] : format(datum[\"data\"], \"\"))" }, "x": {"signal": "width", "mult": 0.5}, "y": {"signal": "height", "mult": 0.5}, @@ -76,11 +76,13 @@ "update": { "fill": {"scale": "color", "field": "data"}, "description": { - "signal": "\"data: \" + (format(datum[\"data\"], \"\"))" + "signal": "\"data: \" + (!isValid(datum[\"data\"]) || !isFinite(+datum[\"data\"]) ? \"\" + datum[\"data\"] : format(datum[\"data\"], \"\"))" }, "x": {"signal": "width", "mult": 0.5}, "y": {"signal": "height", "mult": 0.5}, - "text": {"signal": "format(datum[\"data\"], \"\")"}, + "text": { + "signal": "!isValid(datum[\"data\"]) || !isFinite(+datum[\"data\"]) ? \"\" + datum[\"data\"] : format(datum[\"data\"], \"\")" + }, "align": {"value": "center"}, "baseline": {"value": "middle"}, "radius": {"scale": "radius", "field": "data", "offset": 10}, diff --git a/examples/compiled/arc_radial_histogram.vg.json b/examples/compiled/arc_radial_histogram.vg.json index 3211200218..e2e7f723d4 100644 --- a/examples/compiled/arc_radial_histogram.vg.json +++ b/examples/compiled/arc_radial_histogram.vg.json @@ -70,11 +70,11 @@ "update": { "stroke": {"value": "white"}, "tooltip": { - "signal": "{\"IMDB Rating (binned)\": !isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\"), \"Count of Records\": format(datum[\"__count\"], \"\")}" + "signal": "{\"IMDB Rating (binned)\": !isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\"), \"Count of Records\": !isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\")}" }, "fill": {"value": "#4c78a8"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"signal": "width", "mult": 0.5}, "y": {"signal": "height", "mult": 0.5}, @@ -98,12 +98,12 @@ "align": {"value": "right"}, "fill": {"value": "black"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"signal": "width", "mult": 0.5}, "y": {"signal": "height", "mult": 0.5}, "text": { - "signal": "!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")" + "signal": "!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")" }, "angle": { "signal": "scale(\"angle\", 0.5 * datum[\"bin_maxbins_10_IMDB Rating\"] + 0.5 * datum[\"bin_maxbins_10_IMDB Rating_end\"])" diff --git a/examples/compiled/area.vg.json b/examples/compiled/area.vg.json index 9714b1d792..60b487f7d9 100644 --- a/examples/compiled/area.vg.json +++ b/examples/compiled/area.vg.json @@ -39,7 +39,7 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "description": { - "signal": "\"date (year-month): \" + (timeFormat(datum[\"yearmonth_date\"], '%Y')) + \"; count: \" + (format(datum[\"sum_count\"], \"\"))" + "signal": "\"date (year-month): \" + (!isValid(datum[\"yearmonth_date\"]) || !isFinite(+datum[\"yearmonth_date\"]) ? \"\" + datum[\"yearmonth_date\"] : timeFormat(datum[\"yearmonth_date\"], '%Y')) + \"; count: \" + (!isValid(datum[\"sum_count\"]) || !isFinite(+datum[\"sum_count\"]) ? \"\" + datum[\"sum_count\"] : format(datum[\"sum_count\"], \"\"))" }, "x": {"scale": "x", "field": "yearmonth_date"}, "y": {"scale": "y", "field": "sum_count"}, diff --git a/examples/compiled/area_cumulative_freq.svg b/examples/compiled/area_cumulative_freq.svg index 5c526a87b2..0b4b253af4 100644 --- a/examples/compiled/area_cumulative_freq.svg +++ b/examples/compiled/area_cumulative_freq.svg @@ -1 +1 @@ -246810IMDB Rating05001,0001,5002,0002,5003,0003,500Cumulative Count \ No newline at end of file +246810IMDB Rating05001,0001,5002,0002,5003,0003,500Cumulative Count \ No newline at end of file diff --git a/examples/compiled/area_cumulative_freq.vg.json b/examples/compiled/area_cumulative_freq.vg.json index 8d0861dc80..2949e3e021 100644 --- a/examples/compiled/area_cumulative_freq.vg.json +++ b/examples/compiled/area_cumulative_freq.vg.json @@ -58,7 +58,7 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "description": { - "signal": "\"IMDB Rating: \" + (format(datum[\"IMDB Rating\"], \"\")) + \"; Cumulative Count: \" + (format(datum[\"Cumulative Count\"], \"\"))" + "signal": "\"IMDB Rating: \" + (!isValid(datum[\"IMDB Rating\"]) || !isFinite(+datum[\"IMDB Rating\"]) ? \"\" + datum[\"IMDB Rating\"] : format(datum[\"IMDB Rating\"], \"\")) + \"; Cumulative Count: \" + (!isValid(datum[\"Cumulative Count\"]) || !isFinite(+datum[\"Cumulative Count\"]) ? \"\" + datum[\"Cumulative Count\"] : format(datum[\"Cumulative Count\"], \"\"))" }, "x": {"scale": "x", "field": "IMDB Rating"}, "y": {"scale": "y", "field": "Cumulative Count_end"}, diff --git a/examples/compiled/area_density.vg.json b/examples/compiled/area_density.vg.json index c4cc9e16df..be02a38cbe 100644 --- a/examples/compiled/area_density.vg.json +++ b/examples/compiled/area_density.vg.json @@ -49,7 +49,7 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "description": { - "signal": "\"IMDB Rating: \" + (format(datum[\"value\"], \"\")) + \"; density: \" + (format(datum[\"density\"], \"\"))" + "signal": "\"IMDB Rating: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; density: \" + (!isValid(datum[\"density\"]) || !isFinite(+datum[\"density\"]) ? \"\" + datum[\"density\"] : format(datum[\"density\"], \"\"))" }, "x": {"scale": "x", "field": "value"}, "y": {"scale": "y", "field": "density_end"}, diff --git a/examples/compiled/area_density_facet.vg.json b/examples/compiled/area_density_facet.vg.json index 0847c1a756..71356e51e6 100644 --- a/examples/compiled/area_density_facet.vg.json +++ b/examples/compiled/area_density_facet.vg.json @@ -71,9 +71,7 @@ "from": {"data": "row_domain"}, "sort": {"field": "datum[\"Species\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"Species\"]) ? parent[\"Species\"] : \"\"+parent[\"Species\"]" - }, + "text": {"signal": "\"\" + parent[\"Species\"]"}, "orient": "left", "style": "guide-label", "frame": "group", @@ -136,7 +134,7 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "description": { - "signal": "\"Body Mass (g): \" + (format(datum[\"value\"], \"\")) + \"; density: \" + (format(datum[\"density\"], \"\"))" + "signal": "\"Body Mass (g): \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; density: \" + (!isValid(datum[\"density\"]) || !isFinite(+datum[\"density\"]) ? \"\" + datum[\"density\"] : format(datum[\"density\"], \"\"))" }, "x": {"scale": "x", "field": "value"}, "y": {"scale": "y", "field": "density_end"}, diff --git a/examples/compiled/area_density_stacked.vg.json b/examples/compiled/area_density_stacked.vg.json index 697d0a13ea..f903739ad0 100644 --- a/examples/compiled/area_density_stacked.vg.json +++ b/examples/compiled/area_density_stacked.vg.json @@ -68,7 +68,7 @@ "orient": {"value": "vertical"}, "fill": {"scale": "color", "field": "Species"}, "description": { - "signal": "\"Body Mass (g): \" + (format(datum[\"value\"], \"\")) + \"; density: \" + (format(datum[\"density\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"])" + "signal": "\"Body Mass (g): \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; density: \" + (!isValid(datum[\"density\"]) || !isFinite(+datum[\"density\"]) ? \"\" + datum[\"density\"] : format(datum[\"density\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"])" }, "x": {"scale": "x", "field": "value"}, "y": {"scale": "y", "field": "density_end"}, diff --git a/examples/compiled/area_density_stacked_fold.vg.json b/examples/compiled/area_density_stacked_fold.vg.json index 99e0f4f7aa..09fa3148db 100644 --- a/examples/compiled/area_density_stacked_fold.vg.json +++ b/examples/compiled/area_density_stacked_fold.vg.json @@ -75,7 +75,7 @@ "orient": {"value": "vertical"}, "fill": {"scale": "color", "field": "Measurement"}, "description": { - "signal": "\"value: \" + (format(datum[\"value\"], \"\")) + \"; density: \" + (format(datum[\"density\"], \"\")) + \"; Measurement: \" + (isValid(datum[\"Measurement\"]) ? datum[\"Measurement\"] : \"\"+datum[\"Measurement\"])" + "signal": "\"value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; density: \" + (!isValid(datum[\"density\"]) || !isFinite(+datum[\"density\"]) ? \"\" + datum[\"density\"] : format(datum[\"density\"], \"\")) + \"; Measurement: \" + (\"\" + datum[\"Measurement\"])" }, "x": {"scale": "x", "field": "value"}, "y": {"scale": "y", "field": "density_end"}, diff --git a/examples/compiled/area_gradient.vg.json b/examples/compiled/area_gradient.vg.json index a32f48ea9e..dec266f8f7 100644 --- a/examples/compiled/area_gradient.vg.json +++ b/examples/compiled/area_gradient.vg.json @@ -57,7 +57,7 @@ } }, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price_end"}, @@ -78,7 +78,7 @@ "update": { "stroke": {"value": "darkgreen"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price_end"}, diff --git a/examples/compiled/area_horizon.vg.json b/examples/compiled/area_horizon.vg.json index 8fdc309a95..0cc071fb14 100644 --- a/examples/compiled/area_horizon.vg.json +++ b/examples/compiled/area_horizon.vg.json @@ -99,7 +99,7 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "description": { - "signal": "\"x: \" + (format(datum[\"x\"], \"\")) + \"; y: \" + (format(datum[\"y\"], \"\"))" + "signal": "\"x: \" + (!isValid(datum[\"x\"]) || !isFinite(+datum[\"x\"]) ? \"\" + datum[\"x\"] : format(datum[\"x\"], \"\")) + \"; y: \" + (!isValid(datum[\"y\"]) || !isFinite(+datum[\"y\"]) ? \"\" + datum[\"y\"] : format(datum[\"y\"], \"\"))" }, "x": {"scale": "x", "field": "x"}, "y": {"scale": "y", "field": "y_end"}, @@ -123,7 +123,7 @@ "fill": {"value": "#4c78a8"}, "opacity": {"value": 0.3}, "description": { - "signal": "\"x: \" + (format(datum[\"x\"], \"\")) + \"; ny: \" + (format(datum[\"ny\"], \"\"))" + "signal": "\"x: \" + (!isValid(datum[\"x\"]) || !isFinite(+datum[\"x\"]) ? \"\" + datum[\"x\"] : format(datum[\"x\"], \"\")) + \"; ny: \" + (!isValid(datum[\"ny\"]) || !isFinite(+datum[\"ny\"]) ? \"\" + datum[\"ny\"] : format(datum[\"ny\"], \"\"))" }, "x": {"scale": "x", "field": "x"}, "y": {"scale": "y", "field": "ny_end"}, diff --git a/examples/compiled/area_invalid_null.svg b/examples/compiled/area_invalid_null.svg index 558fd24cd9..80e45e7a01 100644 --- a/examples/compiled/area_invalid_null.svg +++ b/examples/compiled/area_invalid_null.svg @@ -1 +1 @@ -0246810x010203040y \ No newline at end of file +0246810x010203040y \ No newline at end of file diff --git a/examples/compiled/area_invalid_null.vg.json b/examples/compiled/area_invalid_null.vg.json index bf8eeebdbb..c9e65cafb5 100644 --- a/examples/compiled/area_invalid_null.vg.json +++ b/examples/compiled/area_invalid_null.vg.json @@ -56,7 +56,7 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "description": { - "signal": "\"x: \" + (format(datum[\"x\"], \"\")) + \"; y: \" + (format(datum[\"y\"], \"\"))" + "signal": "\"x: \" + (!isValid(datum[\"x\"]) || !isFinite(+datum[\"x\"]) ? \"\" + datum[\"x\"] : format(datum[\"x\"], \"\")) + \"; y: \" + (!isValid(datum[\"y\"]) || !isFinite(+datum[\"y\"]) ? \"\" + datum[\"y\"] : format(datum[\"y\"], \"\"))" }, "x": [ { diff --git a/examples/compiled/area_overlay.vg.json b/examples/compiled/area_overlay.vg.json index 93a9eea5fe..69fbf071b7 100644 --- a/examples/compiled/area_overlay.vg.json +++ b/examples/compiled/area_overlay.vg.json @@ -67,7 +67,7 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price_end"}, @@ -88,7 +88,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price_end"}, @@ -109,7 +109,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price_end"} diff --git a/examples/compiled/area_overlay_with_y2.vg.json b/examples/compiled/area_overlay_with_y2.vg.json index e933aa0e18..9c94682fff 100644 --- a/examples/compiled/area_overlay_with_y2.vg.json +++ b/examples/compiled/area_overlay_with_y2.vg.json @@ -37,7 +37,7 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, @@ -58,7 +58,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, @@ -79,7 +79,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"} diff --git a/examples/compiled/area_params.vg.json b/examples/compiled/area_params.vg.json index 7a560374e9..e5b5726ba1 100644 --- a/examples/compiled/area_params.vg.json +++ b/examples/compiled/area_params.vg.json @@ -80,7 +80,7 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "description": { - "signal": "\"u: \" + (format(datum[\"u\"], \"\")) + \"; v: \" + (format(datum[\"v\"], \"\"))" + "signal": "\"u: \" + (!isValid(datum[\"u\"]) || !isFinite(+datum[\"u\"]) ? \"\" + datum[\"u\"] : format(datum[\"u\"], \"\")) + \"; v: \" + (!isValid(datum[\"v\"]) || !isFinite(+datum[\"v\"]) ? \"\" + datum[\"v\"] : format(datum[\"v\"], \"\"))" }, "x": {"scale": "x", "field": "u"}, "y": {"scale": "y", "field": "v_end"}, diff --git a/examples/compiled/area_temperature_range.vg.json b/examples/compiled/area_temperature_range.vg.json index d4789eece2..2a1f066af2 100644 --- a/examples/compiled/area_temperature_range.vg.json +++ b/examples/compiled/area_temperature_range.vg.json @@ -44,7 +44,7 @@ "fill": {"value": "#4c78a8"}, "opacity": {"value": 0.7}, "description": { - "signal": "\"Date: \" + (timeFormat(datum[\"monthdate_date\"], '%b')) + \"; Daily Temperature Range (C): \" + (format(datum[\"max_temp_max\"], \"\")) + \"; Min of temp_min: \" + (format(datum[\"min_temp_min\"], \"\"))" + "signal": "\"Date: \" + (!isValid(datum[\"monthdate_date\"]) || !isFinite(+datum[\"monthdate_date\"]) ? \"\" + datum[\"monthdate_date\"] : timeFormat(datum[\"monthdate_date\"], '%b')) + \"; Daily Temperature Range (C): \" + (!isValid(datum[\"max_temp_max\"]) || !isFinite(+datum[\"max_temp_max\"]) ? \"\" + datum[\"max_temp_max\"] : format(datum[\"max_temp_max\"], \"\")) + \"; Min of temp_min: \" + (!isValid(datum[\"min_temp_min\"]) || !isFinite(+datum[\"min_temp_min\"]) ? \"\" + datum[\"min_temp_min\"] : format(datum[\"min_temp_min\"], \"\"))" }, "x": {"scale": "x", "field": "monthdate_date"}, "y": {"scale": "y", "field": "max_temp_max"}, diff --git a/examples/compiled/area_vertical.vg.json b/examples/compiled/area_vertical.vg.json index c9009c436e..2c2eb32a5f 100644 --- a/examples/compiled/area_vertical.vg.json +++ b/examples/compiled/area_vertical.vg.json @@ -41,7 +41,7 @@ "orient": {"value": "horizontal"}, "fill": {"value": "#4c78a8"}, "description": { - "signal": "\"Sum of Weight_in_lbs: \" + (format(datum[\"sum_Weight_in_lbs\"], \"\")) + \"; Year (year): \" + (timeFormat(datum[\"year_Year\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" + "signal": "\"Sum of Weight_in_lbs: \" + (!isValid(datum[\"sum_Weight_in_lbs\"]) || !isFinite(+datum[\"sum_Weight_in_lbs\"]) ? \"\" + datum[\"sum_Weight_in_lbs\"] : format(datum[\"sum_Weight_in_lbs\"], \"\")) + \"; Year (year): \" + (!isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" }, "x": {"scale": "x", "field": "sum_Weight_in_lbs"}, "x2": {"scale": "x", "value": 0}, diff --git a/examples/compiled/argmin_spaces.vg.json b/examples/compiled/argmin_spaces.vg.json index 0ffee6265d..15f4105143 100644 --- a/examples/compiled/argmin_spaces.vg.json +++ b/examples/compiled/argmin_spaces.vg.json @@ -81,11 +81,11 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"Fighter Name\": isValid(datum[\"Fighter Name\"]) ? datum[\"Fighter Name\"] : \"\"+datum[\"Fighter Name\"], \"Min of Place Rank\": format(datum[\"min_Place Rank\"], \"\"), \"Fighting Style for min Place Rank\": isValid(datum[\"argmin_Place Rank\"][\"Fighting Style\"]) ? datum[\"argmin_Place Rank\"][\"Fighting Style\"] : \"\"+datum[\"argmin_Place Rank\"][\"Fighting Style\"]}" + "signal": "{\"Fighter Name\": \"\" + datum[\"Fighter Name\"], \"Min of Place Rank\": !isValid(datum[\"min_Place Rank\"]) || !isFinite(+datum[\"min_Place Rank\"]) ? \"\" + datum[\"min_Place Rank\"] : format(datum[\"min_Place Rank\"], \"\"), \"Fighting Style for min Place Rank\": \"\" + datum[\"argmin_Place Rank\"][\"Fighting Style\"]}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Min of Place Rank: \" + (format(datum[\"min_Place Rank\"], \"\")) + \"; Fighter Name: \" + (isValid(datum[\"Fighter Name\"]) ? datum[\"Fighter Name\"] : \"\"+datum[\"Fighter Name\"]) + \"; Fighting Style for min Place Rank: \" + (isValid(datum[\"argmin_Place Rank\"][\"Fighting Style\"]) ? datum[\"argmin_Place Rank\"][\"Fighting Style\"] : \"\"+datum[\"argmin_Place Rank\"][\"Fighting Style\"])" + "signal": "\"Min of Place Rank: \" + (!isValid(datum[\"min_Place Rank\"]) || !isFinite(+datum[\"min_Place Rank\"]) ? \"\" + datum[\"min_Place Rank\"] : format(datum[\"min_Place Rank\"], \"\")) + \"; Fighter Name: \" + (\"\" + datum[\"Fighter Name\"]) + \"; Fighting Style for min Place Rank: \" + (\"\" + datum[\"argmin_Place Rank\"][\"Fighting Style\"])" }, "x": {"scale": "x", "field": "min_Place Rank"}, "y": {"scale": "y", "field": "Fighter Name"} diff --git a/examples/compiled/bar.vg.json b/examples/compiled/bar.vg.json index a7403201ad..59c5c1b5cc 100644 --- a/examples/compiled/bar.vg.json +++ b/examples/compiled/bar.vg.json @@ -57,7 +57,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "a"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_1d.vg.json b/examples/compiled/bar_1d.vg.json index 1b454b8fda..493a7d67d8 100644 --- a/examples/compiled/bar_1d.vg.json +++ b/examples/compiled/bar_1d.vg.json @@ -37,7 +37,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"population: \" + (format(datum[\"sum_people\"], \"\"))" + "signal": "\"population: \" + (!isValid(datum[\"sum_people\"]) || !isFinite(+datum[\"sum_people\"]) ? \"\" + datum[\"sum_people\"] : format(datum[\"sum_people\"], \"\"))" }, "x": {"scale": "x", "field": "sum_people"}, "x2": {"scale": "x", "value": 0}, diff --git a/examples/compiled/bar_1d_binned.vg.json b/examples/compiled/bar_1d_binned.vg.json index 44c24cc080..cc9f22f78b 100644 --- a/examples/compiled/bar_1d_binned.vg.json +++ b/examples/compiled/bar_1d_binned.vg.json @@ -46,7 +46,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"delay (binned): \" + (!isValid(datum[\"bin_maxbins_100_minstep_1_delay\"]) || !isFinite(+datum[\"bin_maxbins_100_minstep_1_delay\"]) ? \"null\" : format(datum[\"bin_maxbins_100_minstep_1_delay\"], \"d\") + \" – \" + format(datum[\"bin_maxbins_100_minstep_1_delay_end\"], \"d\"))" + "signal": "\"delay (binned): \" + (!isValid(datum[\"bin_maxbins_100_minstep_1_delay\"]) || !isFinite(+datum[\"bin_maxbins_100_minstep_1_delay\"]) ? \"\" + datum[\"bin_maxbins_100_minstep_1_delay\"] : format(datum[\"bin_maxbins_100_minstep_1_delay\"], \"d\") + \" – \" + format(datum[\"bin_maxbins_100_minstep_1_delay_end\"], \"d\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/bar_1d_default_size.vg.json b/examples/compiled/bar_1d_default_size.vg.json index 75b7638745..0f2322c218 100644 --- a/examples/compiled/bar_1d_default_size.vg.json +++ b/examples/compiled/bar_1d_default_size.vg.json @@ -37,7 +37,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"population: \" + (format(datum[\"sum_people\"], \"\"))" + "signal": "\"population: \" + (!isValid(datum[\"sum_people\"]) || !isFinite(+datum[\"sum_people\"]) ? \"\" + datum[\"sum_people\"] : format(datum[\"sum_people\"], \"\"))" }, "x": {"scale": "x", "field": "sum_people"}, "x2": {"scale": "x", "value": 0}, diff --git a/examples/compiled/bar_1d_dimension_only.vg.json b/examples/compiled/bar_1d_dimension_only.vg.json index c438e6594a..9ffe974055 100644 --- a/examples/compiled/bar_1d_dimension_only.vg.json +++ b/examples/compiled/bar_1d_dimension_only.vg.json @@ -39,7 +39,9 @@ "update": { "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, - "description": {"signal": "\"b: \" + (format(datum[\"b\"], \"\"))"}, + "description": { + "signal": "\"b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" + }, "x": {"field": {"group": "width"}}, "x2": {"value": 0}, "yc": {"scale": "y", "field": "b"}, diff --git a/examples/compiled/bar_1d_step_config.vg.json b/examples/compiled/bar_1d_step_config.vg.json index 744c2debde..6ecc935e8d 100644 --- a/examples/compiled/bar_1d_step_config.vg.json +++ b/examples/compiled/bar_1d_step_config.vg.json @@ -37,7 +37,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"population: \" + (format(datum[\"sum_people\"], \"\"))" + "signal": "\"population: \" + (!isValid(datum[\"sum_people\"]) || !isFinite(+datum[\"sum_people\"]) ? \"\" + datum[\"sum_people\"] : format(datum[\"sum_people\"], \"\"))" }, "x": {"scale": "x", "field": "sum_people"}, "x2": {"scale": "x", "value": 0}, diff --git a/examples/compiled/bar_1d_temporal.vg.json b/examples/compiled/bar_1d_temporal.vg.json index 627b298291..fb76ad1a6c 100644 --- a/examples/compiled/bar_1d_temporal.vg.json +++ b/examples/compiled/bar_1d_temporal.vg.json @@ -29,7 +29,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Year: \" + (timeFormat(datum[\"Year\"], '%b %d, %Y'))" + "signal": "\"Year: \" + (!isValid(datum[\"Year\"]) || !isFinite(+datum[\"Year\"]) ? \"\" + datum[\"Year\"] : timeFormat(datum[\"Year\"], '%b %d, %Y'))" }, "xc": {"scale": "x", "field": "Year"}, "width": {"value": 5}, diff --git a/examples/compiled/bar_aggregate.vg.json b/examples/compiled/bar_aggregate.vg.json index 034f12aaf4..b079cbdcf5 100644 --- a/examples/compiled/bar_aggregate.vg.json +++ b/examples/compiled/bar_aggregate.vg.json @@ -44,7 +44,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"population: \" + (format(datum[\"sum_people\"], \"\")) + \"; age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"])" + "signal": "\"population: \" + (!isValid(datum[\"sum_people\"]) || !isFinite(+datum[\"sum_people\"]) ? \"\" + datum[\"sum_people\"] : format(datum[\"sum_people\"], \"\")) + \"; age: \" + (\"\" + datum[\"age\"])" }, "x": {"scale": "x", "field": "sum_people"}, "x2": {"scale": "x", "value": 0}, diff --git a/examples/compiled/bar_aggregate_count.vg.json b/examples/compiled/bar_aggregate_count.vg.json index dfe20628c7..aa7bdbe30b 100644 --- a/examples/compiled/bar_aggregate_count.vg.json +++ b/examples/compiled/bar_aggregate_count.vg.json @@ -55,7 +55,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"precipitation (binned): \" + (!isValid(datum[\"bin_maxbins_10_precipitation\"]) || !isFinite(+datum[\"bin_maxbins_10_precipitation\"]) ? \"null\" : format(datum[\"bin_maxbins_10_precipitation\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_precipitation_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"precipitation (binned): \" + (!isValid(datum[\"bin_maxbins_10_precipitation\"]) || !isFinite(+datum[\"bin_maxbins_10_precipitation\"]) ? \"\" + datum[\"bin_maxbins_10_precipitation\"] : format(datum[\"bin_maxbins_10_precipitation\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_precipitation_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/bar_aggregate_format.vg.json b/examples/compiled/bar_aggregate_format.vg.json index ef2b5a09f1..5ea3eb89ff 100644 --- a/examples/compiled/bar_aggregate_format.vg.json +++ b/examples/compiled/bar_aggregate_format.vg.json @@ -44,7 +44,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"population: \" + (format(datum[\"sum_people\"], \".2e\")) + \"; age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"])" + "signal": "\"population: \" + (!isValid(datum[\"sum_people\"]) || !isFinite(+datum[\"sum_people\"]) ? \"\" + datum[\"sum_people\"] : format(datum[\"sum_people\"], \".2e\")) + \"; age: \" + (\"\" + datum[\"age\"])" }, "x": {"scale": "x", "field": "sum_people"}, "x2": {"scale": "x", "value": 0}, diff --git a/examples/compiled/bar_aggregate_size.vg.json b/examples/compiled/bar_aggregate_size.vg.json index 355edfa255..f8daa403ff 100644 --- a/examples/compiled/bar_aggregate_size.vg.json +++ b/examples/compiled/bar_aggregate_size.vg.json @@ -44,7 +44,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"sum_people\"], \"\"))" + "signal": "\"age: \" + (\"\" + datum[\"age\"]) + \"; population: \" + (!isValid(datum[\"sum_people\"]) || !isFinite(+datum[\"sum_people\"]) ? \"\" + datum[\"sum_people\"] : format(datum[\"sum_people\"], \"\"))" }, "xc": {"scale": "x", "field": "age", "band": 0.5}, "width": {"value": 10}, diff --git a/examples/compiled/bar_aggregate_sort_by_encoding.vg.json b/examples/compiled/bar_aggregate_sort_by_encoding.vg.json index de6fe777a0..cd4a9a149c 100644 --- a/examples/compiled/bar_aggregate_sort_by_encoding.vg.json +++ b/examples/compiled/bar_aggregate_sort_by_encoding.vg.json @@ -48,7 +48,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"population: \" + (format(datum[\"sum_people\"], \"\")) + \"; age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"])" + "signal": "\"population: \" + (!isValid(datum[\"sum_people\"]) || !isFinite(+datum[\"sum_people\"]) ? \"\" + datum[\"sum_people\"] : format(datum[\"sum_people\"], \"\")) + \"; age: \" + (\"\" + datum[\"age\"])" }, "x": {"scale": "x", "field": "sum_people"}, "x2": {"scale": "x", "value": 0}, diff --git a/examples/compiled/bar_aggregate_sort_mean.vg.json b/examples/compiled/bar_aggregate_sort_mean.vg.json index 4973b4a9c2..4003910661 100644 --- a/examples/compiled/bar_aggregate_sort_mean.vg.json +++ b/examples/compiled/bar_aggregate_sort_mean.vg.json @@ -48,7 +48,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"population: \" + (format(datum[\"sum_people\"], \"\")) + \"; age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"])" + "signal": "\"population: \" + (!isValid(datum[\"sum_people\"]) || !isFinite(+datum[\"sum_people\"]) ? \"\" + datum[\"sum_people\"] : format(datum[\"sum_people\"], \"\")) + \"; age: \" + (\"\" + datum[\"age\"])" }, "x": {"scale": "x", "field": "sum_people"}, "x2": {"scale": "x", "value": 0}, diff --git a/examples/compiled/bar_aggregate_transform.vg.json b/examples/compiled/bar_aggregate_transform.vg.json index 2d3a70d941..52c3da5caf 100644 --- a/examples/compiled/bar_aggregate_transform.vg.json +++ b/examples/compiled/bar_aggregate_transform.vg.json @@ -50,7 +50,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; mean_acc: \" + (format(datum[\"mean_acc\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; mean_acc: \" + (!isValid(datum[\"mean_acc\"]) || !isFinite(+datum[\"mean_acc\"]) ? \"\" + datum[\"mean_acc\"] : format(datum[\"mean_acc\"], \"\"))" }, "x": {"scale": "x", "field": "Cylinders"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_aggregate_vertical.vg.json b/examples/compiled/bar_aggregate_vertical.vg.json index 4691e64ce7..96677a166b 100644 --- a/examples/compiled/bar_aggregate_vertical.vg.json +++ b/examples/compiled/bar_aggregate_vertical.vg.json @@ -42,7 +42,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Mean of Acceleration: \" + (format(datum[\"mean_Acceleration\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Mean of Acceleration: \" + (!isValid(datum[\"mean_Acceleration\"]) || !isFinite(+datum[\"mean_Acceleration\"]) ? \"\" + datum[\"mean_Acceleration\"] : format(datum[\"mean_Acceleration\"], \"\"))" }, "x": {"scale": "x", "field": "Cylinders"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_argmax.vg.json b/examples/compiled/bar_argmax.vg.json index 13f7d7dd35..0f129bbff2 100644 --- a/examples/compiled/bar_argmax.vg.json +++ b/examples/compiled/bar_argmax.vg.json @@ -43,7 +43,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Production Budget for max US Gross: \" + (format(datum[\"argmax_US Gross\"][\"Production Budget\"], \"\")) + \"; Major Genre: \" + (isValid(datum[\"Major Genre\"]) ? datum[\"Major Genre\"] : \"\"+datum[\"Major Genre\"])" + "signal": "\"Production Budget for max US Gross: \" + (!isValid(datum[\"argmax_US Gross\"][\"Production Budget\"]) || !isFinite(+datum[\"argmax_US Gross\"][\"Production Budget\"]) ? \"\" + datum[\"argmax_US Gross\"][\"Production Budget\"] : format(datum[\"argmax_US Gross\"][\"Production Budget\"], \"\")) + \"; Major Genre: \" + (\"\" + datum[\"Major Genre\"])" }, "x": { "scale": "x", diff --git a/examples/compiled/bar_argmax_transform.vg.json b/examples/compiled/bar_argmax_transform.vg.json index 850047557f..4612e704aa 100644 --- a/examples/compiled/bar_argmax_transform.vg.json +++ b/examples/compiled/bar_argmax_transform.vg.json @@ -59,7 +59,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"argmax_US_Gross['Production Budget']: \" + (format(datum[\"argmax_US_Gross.Production Budget\"], \"\")) + \"; Major Genre: \" + (isValid(datum[\"Major Genre\"]) ? datum[\"Major Genre\"] : \"\"+datum[\"Major Genre\"])" + "signal": "\"argmax_US_Gross['Production Budget']: \" + (!isValid(datum[\"argmax_US_Gross.Production Budget\"]) || !isFinite(+datum[\"argmax_US_Gross.Production Budget\"]) ? \"\" + datum[\"argmax_US_Gross.Production Budget\"] : format(datum[\"argmax_US_Gross.Production Budget\"], \"\")) + \"; Major Genre: \" + (\"\" + datum[\"Major Genre\"])" }, "x": { "scale": "x", diff --git a/examples/compiled/bar_array_aggregate.vg.json b/examples/compiled/bar_array_aggregate.vg.json index 6ff6f5ea89..75263768c9 100644 --- a/examples/compiled/bar_array_aggregate.vg.json +++ b/examples/compiled/bar_array_aggregate.vg.json @@ -55,7 +55,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; Average of b: \" + (format(datum[\"average_b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; Average of b: \" + (!isValid(datum[\"average_b\"]) || !isFinite(+datum[\"average_b\"]) ? \"\" + datum[\"average_b\"] : format(datum[\"average_b\"], \"\"))" }, "x": {"scale": "x", "field": "a"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_axis_orient.vg.json b/examples/compiled/bar_axis_orient.vg.json index 53f1126461..1f43e15f8b 100644 --- a/examples/compiled/bar_axis_orient.vg.json +++ b/examples/compiled/bar_axis_orient.vg.json @@ -68,7 +68,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "a"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_axis_space_saving.vg.json b/examples/compiled/bar_axis_space_saving.vg.json index c204ae6671..604f7e1da0 100644 --- a/examples/compiled/bar_axis_space_saving.vg.json +++ b/examples/compiled/bar_axis_space_saving.vg.json @@ -38,7 +38,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Number of Cars: \" + (format(datum[\"__count\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Number of Cars: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": {"scale": "x", "field": "__count"}, "x2": {"scale": "x", "value": 0}, diff --git a/examples/compiled/bar_axis_title_quoted.vg.json b/examples/compiled/bar_axis_title_quoted.vg.json index bda80bd031..39ef646ae4 100644 --- a/examples/compiled/bar_axis_title_quoted.vg.json +++ b/examples/compiled/bar_axis_title_quoted.vg.json @@ -57,7 +57,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"\\\"Quoted\\\" Title: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"\\\"Quoted\\\" Title: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "a"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_binned_data.vg.json b/examples/compiled/bar_binned_data.vg.json index 9b6292ffa5..bcbd7380c2 100644 --- a/examples/compiled/bar_binned_data.vg.json +++ b/examples/compiled/bar_binned_data.vg.json @@ -49,7 +49,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"bin_start: \" + (!isValid(datum[\"bin_start\"]) || !isFinite(+datum[\"bin_start\"]) ? \"null\" : format(datum[\"bin_start\"], \"\") + \" – \" + format(datum[\"bin_end\"], \"\")) + \"; count: \" + (format(datum[\"count\"], \"\"))" + "signal": "\"bin_start: \" + (!isValid(datum[\"bin_start\"]) || !isFinite(+datum[\"bin_start\"]) ? \"\" + datum[\"bin_start\"] : format(datum[\"bin_start\"], \"\") + \" – \" + format(datum[\"bin_end\"], \"\")) + \"; count: \" + (!isValid(datum[\"count\"]) || !isFinite(+datum[\"count\"]) ? \"\" + datum[\"count\"] : format(datum[\"count\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/bar_binned_yearmonth_grouped.vg.json b/examples/compiled/bar_binned_yearmonth_grouped.vg.json index 4d0ef4b7d4..fdfce8169e 100644 --- a/examples/compiled/bar_binned_yearmonth_grouped.vg.json +++ b/examples/compiled/bar_binned_yearmonth_grouped.vg.json @@ -47,7 +47,7 @@ "fill": {"scale": "color", "field": "symbol"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; price: \" + (format(datum[\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "xc": { "scale": "x", diff --git a/examples/compiled/bar_binned_yearmonth_grouped_center_band.vg.json b/examples/compiled/bar_binned_yearmonth_grouped_center_band.vg.json index addd923f0b..8a9a8c3bd3 100644 --- a/examples/compiled/bar_binned_yearmonth_grouped_center_band.vg.json +++ b/examples/compiled/bar_binned_yearmonth_grouped_center_band.vg.json @@ -57,7 +57,7 @@ "fill": {"scale": "color", "field": "symbol"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; price: \" + (format(datum[\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "xc": { "scale": "x", diff --git a/examples/compiled/bar_binned_yearmonth_label.vg.json b/examples/compiled/bar_binned_yearmonth_label.vg.json index 5b9b9bcb5e..479402e24b 100644 --- a/examples/compiled/bar_binned_yearmonth_label.vg.json +++ b/examples/compiled/bar_binned_yearmonth_label.vg.json @@ -64,7 +64,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x2": { "scale": "x", @@ -95,13 +95,15 @@ "baseline": {"value": "bottom"}, "fill": {"value": "black"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": { "signal": "scale(\"x\", 0.5 * datum[\"date\"] + 0.5 * datum[\"date_end\"])" }, "y": {"scale": "y", "field": "price"}, - "text": {"signal": "format(datum[\"price\"], \"\")"}, + "text": { + "signal": "!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")" + }, "align": {"value": "center"} } } diff --git a/examples/compiled/bar_binned_yearmonth_label_band_center.vg.json b/examples/compiled/bar_binned_yearmonth_label_band_center.vg.json index 91204d2334..66d20387fe 100644 --- a/examples/compiled/bar_binned_yearmonth_label_band_center.vg.json +++ b/examples/compiled/bar_binned_yearmonth_label_band_center.vg.json @@ -74,7 +74,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x2": { "scale": "x", @@ -105,11 +105,13 @@ "baseline": {"value": "bottom"}, "fill": {"value": "black"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, - "text": {"signal": "format(datum[\"price\"], \"\")"}, + "text": { + "signal": "!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")" + }, "align": {"value": "center"} } } diff --git a/examples/compiled/bar_binnedyearmonth.vg.json b/examples/compiled/bar_binnedyearmonth.vg.json index d4f5d85d57..aa109b6324 100644 --- a/examples/compiled/bar_binnedyearmonth.vg.json +++ b/examples/compiled/bar_binnedyearmonth.vg.json @@ -44,7 +44,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/bar_bullet_expr_bind.vg.json b/examples/compiled/bar_bullet_expr_bind.vg.json index c23e4af0f5..ab06238490 100644 --- a/examples/compiled/bar_bullet_expr_bind.vg.json +++ b/examples/compiled/bar_bullet_expr_bind.vg.json @@ -174,7 +174,7 @@ "fill": {"value": "#eee"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"ranges[2]: \" + (format(datum[\"ranges.2\"], \"\"))" + "signal": "\"ranges[2]: \" + (!isValid(datum[\"ranges.2\"]) || !isFinite(+datum[\"ranges.2\"]) ? \"\" + datum[\"ranges.2\"] : format(datum[\"ranges.2\"], \"\"))" }, "x": {"scale": "x", "field": "ranges\\.2\\._end"}, "x2": {"scale": "x", "field": "ranges\\.2\\._start"}, @@ -193,7 +193,7 @@ "fill": {"value": "#ddd"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"ranges[1]: \" + (format(datum[\"ranges.1\"], \"\"))" + "signal": "\"ranges[1]: \" + (!isValid(datum[\"ranges.1\"]) || !isFinite(+datum[\"ranges.1\"]) ? \"\" + datum[\"ranges.1\"] : format(datum[\"ranges.1\"], \"\"))" }, "x": {"scale": "x", "field": "ranges\\.1\\._end"}, "x2": {"scale": "x", "field": "ranges\\.1\\._start"}, @@ -212,7 +212,7 @@ "fill": {"value": "#ccc"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"ranges[0]: \" + (format(datum[\"ranges.0\"], \"\"))" + "signal": "\"ranges[0]: \" + (!isValid(datum[\"ranges.0\"]) || !isFinite(+datum[\"ranges.0\"]) ? \"\" + datum[\"ranges.0\"] : format(datum[\"ranges.0\"], \"\"))" }, "x": {"scale": "x", "field": "ranges\\.0\\._end"}, "x2": {"scale": "x", "field": "ranges\\.0\\._start"}, @@ -231,7 +231,7 @@ "fill": {"value": "lightsteelblue"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"measures[1]: \" + (format(datum[\"measures.1\"], \"\"))" + "signal": "\"measures[1]: \" + (!isValid(datum[\"measures.1\"]) || !isFinite(+datum[\"measures.1\"]) ? \"\" + datum[\"measures.1\"] : format(datum[\"measures.1\"], \"\"))" }, "x": {"scale": "x", "field": "measures\\.1\\._end"}, "x2": {"scale": "x", "field": "measures\\.1\\._start"}, @@ -250,7 +250,7 @@ "fill": {"value": "steelblue"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"measures[0]: \" + (format(datum[\"measures.0\"], \"\"))" + "signal": "\"measures[0]: \" + (!isValid(datum[\"measures.0\"]) || !isFinite(+datum[\"measures.0\"]) ? \"\" + datum[\"measures.0\"] : format(datum[\"measures.0\"], \"\"))" }, "x": {"scale": "x", "field": "measures\\.0\\._end"}, "x2": {"scale": "x", "field": "measures\\.0\\._start"}, @@ -270,7 +270,7 @@ "fill": {"value": "black"}, "ariaRoleDescription": {"value": "tick"}, "description": { - "signal": "\"markers[0]: \" + (format(datum[\"markers.0\"], \"\"))" + "signal": "\"markers[0]: \" + (!isValid(datum[\"markers.0\"]) || !isFinite(+datum[\"markers.0\"]) ? \"\" + datum[\"markers.0\"] : format(datum[\"markers.0\"], \"\"))" }, "xc": {"scale": "x", "field": "markers\\.0"}, "yc": {"signal": "height", "mult": 0.5}, diff --git a/examples/compiled/bar_color_disabled_scale.vg.json b/examples/compiled/bar_color_disabled_scale.vg.json index 1f95862e5d..28bde51e0e 100644 --- a/examples/compiled/bar_color_disabled_scale.vg.json +++ b/examples/compiled/bar_color_disabled_scale.vg.json @@ -51,7 +51,7 @@ "fill": {"field": "color"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"color: \" + (isValid(datum[\"color\"]) ? datum[\"color\"] : \"\"+datum[\"color\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"color: \" + (\"\" + datum[\"color\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "color"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_column_fold.vg.json b/examples/compiled/bar_column_fold.vg.json index 77675fa56d..f4978a3e57 100644 --- a/examples/compiled/bar_column_fold.vg.json +++ b/examples/compiled/bar_column_fold.vg.json @@ -81,9 +81,7 @@ "from": {"data": "column_domain"}, "sort": {"field": "datum[\"key\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"key\"]) ? parent[\"key\"] : \"\"+parent[\"key\"]" - }, + "text": {"signal": "\"\" + parent[\"key\"]"}, "style": "guide-label", "frame": "group", "offset": 10 @@ -135,7 +133,7 @@ "fill": {"scale": "color", "field": "country"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"country: \" + (isValid(datum[\"country\"]) ? datum[\"country\"] : \"\"+datum[\"country\"]) + \"; value: \" + (format(datum[\"value\"], \"\"))" + "signal": "\"country: \" + (\"\" + datum[\"country\"]) + \"; value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\"))" }, "x": {"scale": "x", "field": "country"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_column_pivot.vg.json b/examples/compiled/bar_column_pivot.vg.json index e66f5a1ea3..576ee34d5b 100644 --- a/examples/compiled/bar_column_pivot.vg.json +++ b/examples/compiled/bar_column_pivot.vg.json @@ -62,7 +62,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"country: \" + (isValid(datum[\"country\"]) ? datum[\"country\"] : \"\"+datum[\"country\"]) + \"; gold: \" + (format(datum[\"gold\"], \"\"))" + "signal": "\"country: \" + (\"\" + datum[\"country\"]) + \"; gold: \" + (!isValid(datum[\"gold\"]) || !isFinite(+datum[\"gold\"]) ? \"\" + datum[\"gold\"] : format(datum[\"gold\"], \"\"))" }, "x": {"scale": "x", "field": "country"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_config_no_zero.vg.json b/examples/compiled/bar_config_no_zero.vg.json index a7403201ad..59c5c1b5cc 100644 --- a/examples/compiled/bar_config_no_zero.vg.json +++ b/examples/compiled/bar_config_no_zero.vg.json @@ -57,7 +57,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "a"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_corner_radius_end.vg.json b/examples/compiled/bar_corner_radius_end.vg.json index 6c1a57b614..107c556984 100644 --- a/examples/compiled/bar_corner_radius_end.vg.json +++ b/examples/compiled/bar_corner_radius_end.vg.json @@ -95,7 +95,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "width": {"field": {"group": "width"}}, "y": {"scale": "y", "field": "b_end"}, diff --git a/examples/compiled/bar_count_minimap.vg.json b/examples/compiled/bar_count_minimap.vg.json index 16d2d2d53d..5e8adfb06b 100644 --- a/examples/compiled/bar_count_minimap.vg.json +++ b/examples/compiled/bar_count_minimap.vg.json @@ -87,7 +87,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Count of Records: \" + (format(datum[\"__count\"], \"\")) + \"; Name: \" + (isValid(datum[\"Name\"]) ? datum[\"Name\"] : \"\"+datum[\"Name\"])" + "signal": "\"Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\")) + \"; Name: \" + (\"\" + datum[\"Name\"])" }, "x": {"scale": "concat_0_x", "field": "__count"}, "x2": {"scale": "concat_0_x", "value": 0}, @@ -357,7 +357,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Count of Records: \" + (format(datum[\"__count\"], \"\")) + \"; Name: \" + (isValid(datum[\"Name\"]) ? datum[\"Name\"] : \"\"+datum[\"Name\"])" + "signal": "\"Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\")) + \"; Name: \" + (\"\" + datum[\"Name\"])" }, "x": {"scale": "concat_1_x", "field": "__count"}, "x2": {"scale": "concat_1_x", "value": 0}, diff --git a/examples/compiled/bar_custom_sort_full.vg.json b/examples/compiled/bar_custom_sort_full.vg.json index 7a444d9ab3..0109b83def 100644 --- a/examples/compiled/bar_custom_sort_full.vg.json +++ b/examples/compiled/bar_custom_sort_full.vg.json @@ -57,7 +57,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "a"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_custom_sort_partial.vg.json b/examples/compiled/bar_custom_sort_partial.vg.json index 6828a9c6a4..a055831112 100644 --- a/examples/compiled/bar_custom_sort_partial.vg.json +++ b/examples/compiled/bar_custom_sort_partial.vg.json @@ -64,7 +64,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "a"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_custom_time_domain.vg.json b/examples/compiled/bar_custom_time_domain.vg.json index 6bf7b6bbbc..e52bdccdae 100644 --- a/examples/compiled/bar_custom_time_domain.vg.json +++ b/examples/compiled/bar_custom_time_domain.vg.json @@ -52,7 +52,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a (hours): \" + (timeFormat(datum[\"hours_a\"], timeUnitSpecifier([\"hours\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a (hours): \" + (!isValid(datum[\"hours_a\"]) || !isFinite(+datum[\"hours_a\"]) ? \"\" + datum[\"hours_a\"] : timeFormat(datum[\"hours_a\"], timeUnitSpecifier([\"hours\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/bar_default_tooltip_title_null.vg.json b/examples/compiled/bar_default_tooltip_title_null.vg.json index 22a9c5dfb0..1994a316f9 100644 --- a/examples/compiled/bar_default_tooltip_title_null.vg.json +++ b/examples/compiled/bar_default_tooltip_title_null.vg.json @@ -55,12 +55,12 @@ "encode": { "update": { "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "a"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_distinct.vg.json b/examples/compiled/bar_distinct.vg.json index 2cb76e2371..420e85ebbb 100644 --- a/examples/compiled/bar_distinct.vg.json +++ b/examples/compiled/bar_distinct.vg.json @@ -38,7 +38,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Distinct of Name: \" + (format(datum[\"distinct_Name\"], \"\"))" + "signal": "\"Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Distinct of Name: \" + (!isValid(datum[\"distinct_Name\"]) || !isFinite(+datum[\"distinct_Name\"]) ? \"\" + datum[\"distinct_Name\"] : format(datum[\"distinct_Name\"], \"\"))" }, "x": {"scale": "x", "field": "Origin"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_diverging_stack_population_pyramid.vg.json b/examples/compiled/bar_diverging_stack_population_pyramid.vg.json index e0afae68d8..425bfd4cb7 100644 --- a/examples/compiled/bar_diverging_stack_population_pyramid.vg.json +++ b/examples/compiled/bar_diverging_stack_population_pyramid.vg.json @@ -62,7 +62,7 @@ "fill": {"scale": "color", "field": "gender"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"population: \" + (format(datum[\"sum_signed_people\"], \"s\")) + \"; age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])" + "signal": "\"population: \" + (!isValid(datum[\"sum_signed_people\"]) || !isFinite(+datum[\"sum_signed_people\"]) ? \"\" + datum[\"sum_signed_people\"] : format(datum[\"sum_signed_people\"], \"s\")) + \"; age: \" + (\"\" + datum[\"age\"]) + \"; gender: \" + (\"\" + datum[\"gender\"])" }, "x": {"scale": "x", "field": "sum_signed_people_end"}, "x2": {"scale": "x", "field": "sum_signed_people_start"}, diff --git a/examples/compiled/bar_diverging_stack_transform.vg.json b/examples/compiled/bar_diverging_stack_transform.vg.json index 499eb20a72..49ea21f043 100644 --- a/examples/compiled/bar_diverging_stack_transform.vg.json +++ b/examples/compiled/bar_diverging_stack_transform.vg.json @@ -307,7 +307,7 @@ "fill": {"scale": "color", "field": "type"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Percentage: \" + (format(datum[\"nx\"], \"\")) + \"; Question: \" + (isValid(datum[\"question\"]) ? datum[\"question\"] : \"\"+datum[\"question\"]) + \"; nx2: \" + (format(datum[\"nx2\"], \"\")) + \"; Response: \" + (isValid(datum[\"type\"]) ? datum[\"type\"] : \"\"+datum[\"type\"])" + "signal": "\"Percentage: \" + (!isValid(datum[\"nx\"]) || !isFinite(+datum[\"nx\"]) ? \"\" + datum[\"nx\"] : format(datum[\"nx\"], \"\")) + \"; Question: \" + (\"\" + datum[\"question\"]) + \"; nx2: \" + (!isValid(datum[\"nx2\"]) || !isFinite(+datum[\"nx2\"]) ? \"\" + datum[\"nx2\"] : format(datum[\"nx2\"], \"\")) + \"; Response: \" + (\"\" + datum[\"type\"])" }, "x": {"scale": "x", "field": "nx"}, "x2": {"scale": "x", "field": "nx2"}, diff --git a/examples/compiled/bar_filter_calc.vg.json b/examples/compiled/bar_filter_calc.vg.json index ddaf50dcb1..ef45a46cdb 100644 --- a/examples/compiled/bar_filter_calc.vg.json +++ b/examples/compiled/bar_filter_calc.vg.json @@ -59,7 +59,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b2: \" + (format(datum[\"b2\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b2: \" + (!isValid(datum[\"b2\"]) || !isFinite(+datum[\"b2\"]) ? \"\" + datum[\"b2\"] : format(datum[\"b2\"], \"\"))" }, "x": {"scale": "x", "field": "a"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_fit.vg.json b/examples/compiled/bar_fit.vg.json index bd1f49f679..26c3a0366a 100644 --- a/examples/compiled/bar_fit.vg.json +++ b/examples/compiled/bar_fit.vg.json @@ -52,7 +52,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "a"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_gantt.vg.json b/examples/compiled/bar_gantt.vg.json index 4fd65adfac..7e49a9519d 100644 --- a/examples/compiled/bar_gantt.vg.json +++ b/examples/compiled/bar_gantt.vg.json @@ -43,7 +43,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"start: \" + (format(datum[\"start\"], \"\")) + \"; task: \" + (isValid(datum[\"task\"]) ? datum[\"task\"] : \"\"+datum[\"task\"]) + \"; end: \" + (format(datum[\"end\"], \"\"))" + "signal": "\"start: \" + (!isValid(datum[\"start\"]) || !isFinite(+datum[\"start\"]) ? \"\" + datum[\"start\"] : format(datum[\"start\"], \"\")) + \"; task: \" + (\"\" + datum[\"task\"]) + \"; end: \" + (!isValid(datum[\"end\"]) || !isFinite(+datum[\"end\"]) ? \"\" + datum[\"end\"] : format(datum[\"end\"], \"\"))" }, "x": {"scale": "x", "field": "start"}, "x2": {"scale": "x", "field": "end"}, diff --git a/examples/compiled/bar_gantt_config_no_zero.vg.json b/examples/compiled/bar_gantt_config_no_zero.vg.json index 47a431f9b6..2eea260b66 100644 --- a/examples/compiled/bar_gantt_config_no_zero.vg.json +++ b/examples/compiled/bar_gantt_config_no_zero.vg.json @@ -43,7 +43,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"start: \" + (format(datum[\"start\"], \"\")) + \"; task: \" + (isValid(datum[\"task\"]) ? datum[\"task\"] : \"\"+datum[\"task\"]) + \"; end: \" + (format(datum[\"end\"], \"\"))" + "signal": "\"start: \" + (!isValid(datum[\"start\"]) || !isFinite(+datum[\"start\"]) ? \"\" + datum[\"start\"] : format(datum[\"start\"], \"\")) + \"; task: \" + (\"\" + datum[\"task\"]) + \"; end: \" + (!isValid(datum[\"end\"]) || !isFinite(+datum[\"end\"]) ? \"\" + datum[\"end\"] : format(datum[\"end\"], \"\"))" }, "x": {"scale": "x", "field": "start"}, "x2": {"scale": "x", "field": "end"}, diff --git a/examples/compiled/bar_group_timeunit.vg.json b/examples/compiled/bar_group_timeunit.vg.json index 41207af3b0..2774883ac5 100644 --- a/examples/compiled/bar_group_timeunit.vg.json +++ b/examples/compiled/bar_group_timeunit.vg.json @@ -42,7 +42,7 @@ "fill": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Year (year): \" + (timeFormat(datum[\"year_Year\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Number of Cars: \" + (format(datum[\"__count\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Year (year): \" + (!isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Number of Cars: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "xc": { "scale": "x", diff --git a/examples/compiled/bar_grouped.vg.json b/examples/compiled/bar_grouped.vg.json index 23798b9f9d..ded84cfeb7 100644 --- a/examples/compiled/bar_grouped.vg.json +++ b/examples/compiled/bar_grouped.vg.json @@ -59,7 +59,7 @@ "fill": {"scale": "color", "field": "group"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"category: \" + (isValid(datum[\"category\"]) ? datum[\"category\"] : \"\"+datum[\"category\"]) + \"; value: \" + (format(datum[\"value\"], \"\")) + \"; group: \" + (isValid(datum[\"group\"]) ? datum[\"group\"] : \"\"+datum[\"group\"])" + "signal": "\"category: \" + (\"\" + datum[\"category\"]) + \"; value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; group: \" + (\"\" + datum[\"group\"])" }, "x": { "scale": "x", diff --git a/examples/compiled/bar_grouped_custom_padding.vg.json b/examples/compiled/bar_grouped_custom_padding.vg.json index b6916729ed..c3644aa29a 100644 --- a/examples/compiled/bar_grouped_custom_padding.vg.json +++ b/examples/compiled/bar_grouped_custom_padding.vg.json @@ -56,7 +56,7 @@ "fill": {"scale": "color", "field": "group"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"category: \" + (isValid(datum[\"category\"]) ? datum[\"category\"] : \"\"+datum[\"category\"]) + \"; value: \" + (format(datum[\"value\"], \"\")) + \"; group: \" + (isValid(datum[\"group\"]) ? datum[\"group\"] : \"\"+datum[\"group\"])" + "signal": "\"category: \" + (\"\" + datum[\"category\"]) + \"; value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; group: \" + (\"\" + datum[\"group\"])" }, "x": { "scale": "x", diff --git a/examples/compiled/bar_grouped_errorbar.vg.json b/examples/compiled/bar_grouped_errorbar.vg.json index 1e6a3ac463..ccc9d2e705 100644 --- a/examples/compiled/bar_grouped_errorbar.vg.json +++ b/examples/compiled/bar_grouped_errorbar.vg.json @@ -76,7 +76,7 @@ "fill": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Mean of Acceleration: \" + (format(datum[\"mean_Acceleration\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Mean of Acceleration: \" + (!isValid(datum[\"mean_Acceleration\"]) || !isFinite(+datum[\"mean_Acceleration\"]) ? \"\" + datum[\"mean_Acceleration\"] : format(datum[\"mean_Acceleration\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "x", @@ -99,10 +99,10 @@ "ariaRoleDescription": {"value": "errorbar"}, "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Mean of Acceleration\": format(datum[\"center_Acceleration\"], \"\"), \"Mean + stderr of Acceleration\": format(datum[\"upper_Acceleration\"], \"\"), \"Mean - stderr of Acceleration\": format(datum[\"lower_Acceleration\"], \"\"), \"Cylinders\": isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"], \"Origin\": isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]}" + "signal": "{\"Mean of Acceleration\": !isValid(datum[\"center_Acceleration\"]) || !isFinite(+datum[\"center_Acceleration\"]) ? \"\" + datum[\"center_Acceleration\"] : format(datum[\"center_Acceleration\"], \"\"), \"Mean + stderr of Acceleration\": !isValid(datum[\"upper_Acceleration\"]) || !isFinite(+datum[\"upper_Acceleration\"]) ? \"\" + datum[\"upper_Acceleration\"] : format(datum[\"upper_Acceleration\"], \"\"), \"Mean - stderr of Acceleration\": !isValid(datum[\"lower_Acceleration\"]) || !isFinite(+datum[\"lower_Acceleration\"]) ? \"\" + datum[\"lower_Acceleration\"] : format(datum[\"lower_Acceleration\"], \"\"), \"Cylinders\": \"\" + datum[\"Cylinders\"], \"Origin\": \"\" + datum[\"Origin\"]}" }, "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Acceleration: \" + (format(datum[\"lower_Acceleration\"], \"\")) + \"; upper_Acceleration: \" + (format(datum[\"upper_Acceleration\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Mean of Acceleration: \" + (format(datum[\"center_Acceleration\"], \"\")) + \"; Mean + stderr of Acceleration: \" + (format(datum[\"upper_Acceleration\"], \"\")) + \"; Mean - stderr of Acceleration: \" + (format(datum[\"lower_Acceleration\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Acceleration: \" + (!isValid(datum[\"lower_Acceleration\"]) || !isFinite(+datum[\"lower_Acceleration\"]) ? \"\" + datum[\"lower_Acceleration\"] : format(datum[\"lower_Acceleration\"], \"\")) + \"; upper_Acceleration: \" + (!isValid(datum[\"upper_Acceleration\"]) || !isFinite(+datum[\"upper_Acceleration\"]) ? \"\" + datum[\"upper_Acceleration\"] : format(datum[\"upper_Acceleration\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Mean of Acceleration: \" + (!isValid(datum[\"center_Acceleration\"]) || !isFinite(+datum[\"center_Acceleration\"]) ? \"\" + datum[\"center_Acceleration\"] : format(datum[\"center_Acceleration\"], \"\")) + \"; Mean + stderr of Acceleration: \" + (!isValid(datum[\"upper_Acceleration\"]) || !isFinite(+datum[\"upper_Acceleration\"]) ? \"\" + datum[\"upper_Acceleration\"] : format(datum[\"upper_Acceleration\"], \"\")) + \"; Mean - stderr of Acceleration: \" + (!isValid(datum[\"lower_Acceleration\"]) || !isFinite(+datum[\"lower_Acceleration\"]) ? \"\" + datum[\"lower_Acceleration\"] : format(datum[\"lower_Acceleration\"], \"\"))" }, "x": { "scale": "x", diff --git a/examples/compiled/bar_grouped_facet.vg.json b/examples/compiled/bar_grouped_facet.vg.json index caa2f96c81..c3cbca9d57 100644 --- a/examples/compiled/bar_grouped_facet.vg.json +++ b/examples/compiled/bar_grouped_facet.vg.json @@ -93,9 +93,7 @@ "from": {"data": "column_domain"}, "sort": {"field": "datum[\"category\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"category\"]) ? parent[\"category\"] : \"\"+parent[\"category\"]" - }, + "text": {"signal": "\"\" + parent[\"category\"]"}, "style": "guide-label", "frame": "group", "orient": "bottom", @@ -128,7 +126,7 @@ "fill": {"scale": "color", "field": "group"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"group: \" + (isValid(datum[\"group\"]) ? datum[\"group\"] : \"\"+datum[\"group\"]) + \"; value: \" + (format(datum[\"value\"], \"\"))" + "signal": "\"group: \" + (\"\" + datum[\"group\"]) + \"; value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\"))" }, "x": {"scale": "x", "field": "group"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_grouped_facet_independent_scale.vg.json b/examples/compiled/bar_grouped_facet_independent_scale.vg.json index 61f5f87a69..5787be5fce 100644 --- a/examples/compiled/bar_grouped_facet_independent_scale.vg.json +++ b/examples/compiled/bar_grouped_facet_independent_scale.vg.json @@ -94,9 +94,7 @@ "from": {"data": "column_domain"}, "sort": {"field": "datum[\"category\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"category\"]) ? parent[\"category\"] : \"\"+parent[\"category\"]" - }, + "text": {"signal": "\"\" + parent[\"category\"]"}, "style": "guide-label", "frame": "group", "orient": "bottom", @@ -146,7 +144,7 @@ "fill": {"scale": "color", "field": "group"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"group: \" + (isValid(datum[\"group\"]) ? datum[\"group\"] : \"\"+datum[\"group\"]) + \"; value: \" + (format(datum[\"value\"], \"\"))" + "signal": "\"group: \" + (\"\" + datum[\"group\"]) + \"; value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\"))" }, "x": {"scale": "child_x", "field": "group"}, "width": {"signal": "max(0.25, bandwidth('child_x'))"}, diff --git a/examples/compiled/bar_grouped_facet_independent_scale_fixed_width.vg.json b/examples/compiled/bar_grouped_facet_independent_scale_fixed_width.vg.json index 349601a689..06f3ccca41 100644 --- a/examples/compiled/bar_grouped_facet_independent_scale_fixed_width.vg.json +++ b/examples/compiled/bar_grouped_facet_independent_scale_fixed_width.vg.json @@ -86,9 +86,7 @@ "from": {"data": "column_domain"}, "sort": {"field": "datum[\"category\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"category\"]) ? parent[\"category\"] : \"\"+parent[\"category\"]" - }, + "text": {"signal": "\"\" + parent[\"category\"]"}, "style": "guide-label", "frame": "group", "orient": "bottom", @@ -121,7 +119,7 @@ "fill": {"scale": "color", "field": "group"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"group: \" + (isValid(datum[\"group\"]) ? datum[\"group\"] : \"\"+datum[\"group\"]) + \"; value: \" + (format(datum[\"value\"], \"\"))" + "signal": "\"group: \" + (\"\" + datum[\"group\"]) + \"; value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\"))" }, "x": {"scale": "child_x", "field": "group"}, "width": {"signal": "max(0.25, bandwidth('child_x'))"}, diff --git a/examples/compiled/bar_grouped_fixed_width.vg.json b/examples/compiled/bar_grouped_fixed_width.vg.json index f0f2fb3239..95b7911b02 100644 --- a/examples/compiled/bar_grouped_fixed_width.vg.json +++ b/examples/compiled/bar_grouped_fixed_width.vg.json @@ -50,7 +50,7 @@ "fill": {"scale": "color", "field": "group"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"category: \" + (isValid(datum[\"category\"]) ? datum[\"category\"] : \"\"+datum[\"category\"]) + \"; value: \" + (format(datum[\"value\"], \"\")) + \"; group: \" + (isValid(datum[\"group\"]) ? datum[\"group\"] : \"\"+datum[\"group\"])" + "signal": "\"category: \" + (\"\" + datum[\"category\"]) + \"; value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; group: \" + (\"\" + datum[\"group\"])" }, "x": { "scale": "x", diff --git a/examples/compiled/bar_grouped_horizontal.vg.json b/examples/compiled/bar_grouped_horizontal.vg.json index 6de464a01b..d8385393f7 100644 --- a/examples/compiled/bar_grouped_horizontal.vg.json +++ b/examples/compiled/bar_grouped_horizontal.vg.json @@ -59,7 +59,7 @@ "fill": {"scale": "color", "field": "group"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"value: \" + (format(datum[\"value\"], \"\")) + \"; category: \" + (isValid(datum[\"category\"]) ? datum[\"category\"] : \"\"+datum[\"category\"]) + \"; group: \" + (isValid(datum[\"group\"]) ? datum[\"group\"] : \"\"+datum[\"group\"])" + "signal": "\"value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; category: \" + (\"\" + datum[\"category\"]) + \"; group: \" + (\"\" + datum[\"group\"])" }, "x": {"scale": "x", "field": "value_end"}, "x2": {"scale": "x", "field": "value_start"}, diff --git a/examples/compiled/bar_grouped_label.vg.json b/examples/compiled/bar_grouped_label.vg.json index 99fad91d1b..290f410090 100644 --- a/examples/compiled/bar_grouped_label.vg.json +++ b/examples/compiled/bar_grouped_label.vg.json @@ -74,7 +74,7 @@ "fill": {"scale": "color", "field": "group"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"category: \" + (isValid(datum[\"category\"]) ? datum[\"category\"] : \"\"+datum[\"category\"]) + \"; value: \" + (format(datum[\"value\"], \"\")) + \"; group: \" + (isValid(datum[\"group\"]) ? datum[\"group\"] : \"\"+datum[\"group\"])" + "signal": "\"category: \" + (\"\" + datum[\"category\"]) + \"; value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; group: \" + (\"\" + datum[\"group\"])" }, "x": { "scale": "x", @@ -97,7 +97,7 @@ "dy": {"value": -8}, "fill": {"value": "black"}, "description": { - "signal": "\"category: \" + (isValid(datum[\"category\"]) ? datum[\"category\"] : \"\"+datum[\"category\"]) + \"; value: \" + (format(datum[\"value\"], \"\")) + \"; group: \" + (isValid(datum[\"group\"]) ? datum[\"group\"] : \"\"+datum[\"group\"])" + "signal": "\"category: \" + (\"\" + datum[\"category\"]) + \"; value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; group: \" + (\"\" + datum[\"group\"])" }, "x": { "scale": "x", @@ -105,7 +105,9 @@ "offset": {"scale": "xOffset", "field": "group", "band": 0.5} }, "y": {"scale": "y", "field": "value"}, - "text": {"signal": "format(datum[\"value\"], \"\")"}, + "text": { + "signal": "!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")" + }, "align": {"value": "center"}, "baseline": {"value": "middle"} } diff --git a/examples/compiled/bar_grouped_repeated.vg.json b/examples/compiled/bar_grouped_repeated.vg.json index eda23bb99d..d5522632fc 100644 --- a/examples/compiled/bar_grouped_repeated.vg.json +++ b/examples/compiled/bar_grouped_repeated.vg.json @@ -41,7 +41,7 @@ "fill": {"scale": "color", "value": "Worldwide Gross"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Major Genre: \" + (isValid(datum[\"Major Genre\"]) ? datum[\"Major Genre\"] : \"\"+datum[\"Major Genre\"]) + \"; Total Gross: \" + (format(datum[\"sum_Worldwide Gross\"], \"\"))" + "signal": "\"Major Genre: \" + (\"\" + datum[\"Major Genre\"]) + \"; Total Gross: \" + (!isValid(datum[\"sum_Worldwide Gross\"]) || !isFinite(+datum[\"sum_Worldwide Gross\"]) ? \"\" + datum[\"sum_Worldwide Gross\"] : format(datum[\"sum_Worldwide Gross\"], \"\"))" }, "x": { "scale": "x", @@ -71,7 +71,7 @@ "fill": {"scale": "color", "value": "US Gross"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Major Genre: \" + (isValid(datum[\"Major Genre\"]) ? datum[\"Major Genre\"] : \"\"+datum[\"Major Genre\"]) + \"; Total Gross: \" + (format(datum[\"sum_US Gross\"], \"\"))" + "signal": "\"Major Genre: \" + (\"\" + datum[\"Major Genre\"]) + \"; Total Gross: \" + (!isValid(datum[\"sum_US Gross\"]) || !isFinite(+datum[\"sum_US Gross\"]) ? \"\" + datum[\"sum_US Gross\"] : format(datum[\"sum_US Gross\"], \"\"))" }, "x": { "scale": "x", diff --git a/examples/compiled/bar_grouped_stacked.vg.json b/examples/compiled/bar_grouped_stacked.vg.json index 727c32e6be..8ca7013f99 100644 --- a/examples/compiled/bar_grouped_stacked.vg.json +++ b/examples/compiled/bar_grouped_stacked.vg.json @@ -59,7 +59,7 @@ "fill": {"scale": "color", "field": "year_Year"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Sum of Weight_in_lbs: \" + (format(datum[\"sum_Weight_in_lbs\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Year (year): \" + (timeFormat(datum[\"year_Year\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Sum of Weight_in_lbs: \" + (!isValid(datum[\"sum_Weight_in_lbs\"]) || !isFinite(+datum[\"sum_Weight_in_lbs\"]) ? \"\" + datum[\"sum_Weight_in_lbs\"] : format(datum[\"sum_Weight_in_lbs\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Year (year): \" + (!isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" }, "x": { "scale": "x", diff --git a/examples/compiled/bar_grouped_step_for_offset.vg.json b/examples/compiled/bar_grouped_step_for_offset.vg.json index 6b0296359e..bcf34472f9 100644 --- a/examples/compiled/bar_grouped_step_for_offset.vg.json +++ b/examples/compiled/bar_grouped_step_for_offset.vg.json @@ -59,7 +59,7 @@ "fill": {"scale": "color", "field": "group"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"category: \" + (isValid(datum[\"category\"]) ? datum[\"category\"] : \"\"+datum[\"category\"]) + \"; value: \" + (format(datum[\"value\"], \"\")) + \"; group: \" + (isValid(datum[\"group\"]) ? datum[\"group\"] : \"\"+datum[\"group\"])" + "signal": "\"category: \" + (\"\" + datum[\"category\"]) + \"; value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; group: \" + (\"\" + datum[\"group\"])" }, "x": { "scale": "x", diff --git a/examples/compiled/bar_grouped_step_for_position.vg.json b/examples/compiled/bar_grouped_step_for_position.vg.json index 81bd6e3c9c..0df06fd7f5 100644 --- a/examples/compiled/bar_grouped_step_for_position.vg.json +++ b/examples/compiled/bar_grouped_step_for_position.vg.json @@ -56,7 +56,7 @@ "fill": {"scale": "color", "field": "group"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"category: \" + (isValid(datum[\"category\"]) ? datum[\"category\"] : \"\"+datum[\"category\"]) + \"; value: \" + (format(datum[\"value\"], \"\")) + \"; group: \" + (isValid(datum[\"group\"]) ? datum[\"group\"] : \"\"+datum[\"group\"])" + "signal": "\"category: \" + (\"\" + datum[\"category\"]) + \"; value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; group: \" + (\"\" + datum[\"group\"])" }, "x": { "scale": "x", diff --git a/examples/compiled/bar_grouped_thin.svg b/examples/compiled/bar_grouped_thin.svg index 435574b26d..529aa0957d 100644 --- a/examples/compiled/bar_grouped_thin.svg +++ b/examples/compiled/bar_grouped_thin.svg @@ -1 +1 @@ -nullAbel FerraraAdam McKayAdam ShankmanAdrian LyneAdrienne ShellyAkira KurosawaAlan AldaAlan J. PakulaAlan ParkerAlan RudolphAlbert BrooksAlbert HughesAlejandro Gonzalez InarrituAlex KendrickAlex ProyasAlexander PayneAlexandre AjaAlfonso CuaronAlfred HitchcockAmy HeckerlingAndrei KonchalovskyAndrew AdamsonAndrew BergmanAndrew DavisAndrew FlemingAndrew NiccolAndrew StantonAndrzej BartkowiakAndy FickmanAndy GarciaAndy TennantAndy WachowskiAng LeeAngela RobinsonAnne FletcherAnthony MinghellaAntoine FuquaAntonio BanderasAri S. KirschenbaumArthur HillerAtom EgoyanBarbet SchroederBarbra StreisandBarry LevinsonBarry SonnenfeldBaz LuhrmannBen AffleckBen StillerBennett MillerBernardo BertolucciBetty ThomasBill CondonBill DukeBill PaxtonBille AugustBille WoodruffBilly Bob ThorntonBilly WilderBlake EdwardsBoaz YakinBob FosseBob RafelsonBobby FarrellyBrad AndersonBrad BirdBrad SilberlingBradley Rust GreyBrett RatnerBrian De PalmaBrian LevantBrian RobbinsBruce BeresfordBryan SingerCameron CroweCarl FranklinCarlos SaldanhaCatherine HardwickeCatherine OwensChan-wook ParkCharles Martin SmithCharles S. DuttonCharles ShyerChris ColumbusChris NahonChris NoonanChris RockChris WedgeChris WeitzChristian DuguayChristophe GansChristopher GuestChristopher NolanChuck RussellClint EastwoodCorey YuenCosta-GavrasCurtis HansonD.J. CarusoDamien WayansDanny BoyleDanny De VitoDarren AronofskyDarren Lynn BousmanDavid BowersDavid CronenbergDavid DobkinDavid FincherDavid FrankelDavid Gordon GreenDavid GoyerDavid KoeppDavid LeanDavid LynchDavid MametDavid O. RussellDavid R. EllisDavid SilvermanDavid SladeDavid TwohyDavid YatesDavid ZuckerDeepa MehtaDennie GordonDennis DuganDenzel WashingtonDominic SenaDon BluthDonald PetrieDoug LimanDrew BarrymoreDwight H. LittleE. Elias MerhigeEd HarrisEdgar WrightEdward BurnsEdward ZwickEli RothElia KazanEmile ArdolinoEmilio EstevezEric DarnellF. Gary GrayFernando MeirellesForest WhitakerFrancis Ford CoppolaFrancis LawrenceFranco ZeffirelliFrank CapraFrank CoraciFrank DarabontFrank MarshallFrank OzFrank PerryFranklin J. SchaffnerFred SchepisiFred WolfFred ZinnemannGabriele MuccinoGarry MarshallGary RossGary TrousdaleGary WinickGavin HoodGeorge A. RomeroGeorge ClooneyGeorge CukorGeorge LucasGeorge MillerGeorge P. CosmatosGeorge Roy HillGil KenanGina Prince-BythewoodGore VerbinskiGrant HeslovGreg MottolaGriffin DunneGuillermo Del ToroGurinder ChadhaGus Van SantGuy HamiltonGuy RitchieHal AshbyHal NeedhamHarold BeckerHarold RamisHayao MiyazakiHerbert RossHoward DeutchHoward HawksHugh HudsonHugh WilsonIain SoftleyIvan ReitmanJ.J. AbramsJack Lee ThompsonJames CameronJames FoleyJames GrayJames IvoryJames L. BrooksJames MangoldJames McTeigueJames TobackJames WongJan De BontJane CampionJared HessJason AlexanderJason FriedbergJason ReitmanJay ChandrasekharJay RoachJay RussellJean-Jacques AnnaudJean-Pierre JeunetJeff ""King Jeff"" HollinsJeff BurrJeffrey W. ByrdJerry ZuckerJim AbrahamsJim JarmuschJim SheridanJoan ChenJoe CarnahanJoe DanteJoe JohnstonJoe PytkaJoe WrightJoel CoenJoel SchumacherJoel ZwickJoey Lauren AdamsJohn BadhamJohn BoormanJohn CarpenterJohn DahlJohn Erick DowdleJohn FordJohn FrankenheimerJohn G. AvildsenJohn GlenJohn GuillerminJohn HustonJohn LandisJohn LasseterJohn MaddenJohn McTiernanJohn MiliusJohn MuskerJohn PasquinJohn SaylesJohn SchlesingerJohn SchultzJohn SingletonJohn SturgesJohn TurturroJohn WatersJohn WayneJohn WooJon AmielJon AvnetJon FavreauJon TurteltaubJonathan DemmeJonathan FrakesJonathan MostowJoseph McGinty NicholJoseph RubenJoss WhedonJudd ApatowJulian SchnabelJustin LinKarey KirkpatrickKasi LemmonsKathryn BigelowKatia LundKeenen Ivory WayansKelly AsburyKen KwapisKenneth BranaghKevin BrayKevin CostnerKevin GreutertKevin LimaKevin MacDonaldKevin ReynoldsKevin SmithKevin SpaceyKimberly PeirceKing VidorLarry CharlesLars Von TrierLasse HallstromLawrence KasdanLee DanielsLee TamahoriLen WisemanLeonard NimoyLes MayfieldLouis LeterrierLuc BessonLuke GreenfieldLuke WilsonM. Night ShyamalanMalcolm D. LeeMarc ForsterMark DiSalleMark DindalMark DuplassMark Steven JohnsonMark WatersMartha CoolidgeMartin BrestMartin CampbellMartin RittMartin ScorseseMary HarronMathieu KassovitzMatt DillonMatt ReevesMatthew VaughnMel BrooksMel GibsonMichael AptedMichael BayMichael C. BrownMichael Caton-JonesMichael CiminoMichael CrichtonMichael CurtizMichael LehmannMichael LembeckMichael MannMichael MooreMichael O. SajbelMichael PolishMichael RadfordMichael RitchieMichael SpierigMichael WinterbottomMichel GondryMick JacksonMike BinderMike FiggisMike JudgeMike LeighMike NewellMike NicholsMilos FormanMimi LederMira NairMorgan SpurlockNancy MeyersNeal BrennanNeil JordanNeil LaButeNeill BlomkampNick CassavetesNick ParkNoah BaumbachNora EphronNorman JewisonOliver StoneOren PeliOxide Pang ChunP.J. HoganPatrick Read JohnsonPaul AndersonPaul GreengrassPaul HaggisPaul MazurskyPaul McGuiganPaul Michael GlaserPaul SchraderPaul Thomas AndersonPaul VerhoevenPaul WeilandPaul WeitzPedro AlmodovarPenelope SpheerisPenny MarshallPete DocterPeter BergPeter BillingsleyPeter CattaneoPeter ChelsomPeter HewittPeter HyamsPeter JacksonPeter SegalPeter SollettPeter WebberPeter WeirPeyton ReedPhil Alden RobinsonPhil JoanouPhil LordPhilip KaufmanPhillip NoycePierre MorelQuentin TarantinoRaja GosnellRandal KleiserRenny HarlinRichard BenjaminRichard BrooksRichard DonnerRichard E. GrantRichard FleischerRichard KellyRichard LaGraveneseRichard LinklaterRichard MarquandRick RosenthalRicky GervaisRidley ScottRob CohenRob LettermanRob MarshallRob MinkoffRob ReinerRob ZombieRobert AltmanRobert DuvallRobert LuketicRobert MorescoRobert RedfordRobert RodriguezRobert WiseRobert ZemeckisRoberto BenigniRod LurieRoger DonaldsonRoger KumbleRoger SpottiswoodeRoland EmmerichRoland JoffeRoman PolanskiRon HowardRon SheltonRonald NeameRonny YuRuben FleischerRupert WainwrightRussell MulcahyRyan LittleSally FieldSam FellSam FirstenbergSam MendesSam PeckinpahSam RaimiSammo Hung Kam-BoScott DerricksonScott HicksSean PennSergio LeoneSeth GordonShane AckerShane MeadowsShawn LevyShekhar KapurSheldon LettichSidney J. FurieSidney LumetSimon WestSimon WincerSir Richard AttenboroughSofia CoppolaSpike JonzeSpike LeeStanley DonenStanley KubrickStephen ChowStephen DaldryStephen FrearsStephen FryStephen HerekStephen HopkinsStephen NorringtonStephen SommersSteve BarronSteve BuscemiSteve CarrSteve HicknerSteve MinerSteve OedekerkSteven SeagalSteven SoderberghSteven SpielbergSteven ZaillianSue CorcoranSydney PollackSylvain WhiteSylvester StalloneTamara JenkinsTaylor HackfordTed DemmeTed KotcheffTerrence MalickTerry GilliamTerry ZwigoffThomas VinterbergTim Blake NelsonTim BurtonTim HillTim JohnsonTim RobbinsTim StoryTimur BekmambetovTobe HooperTodd FieldTodd HaynesTodd PhillipsTodd SolondzTom DeyTom HanksTom HooperTom ShadyacTom TykwerTom VaughanTony BillTony GilroyTony GoldwynTony ScottTrey ParkerTyler PerryUwe BollVin DieselVincent GalloVincente MinnelliVondie Curtis-HallWalter HillWalter SallesWarren BeattyWayne WangWerner HerzogWes AndersonWes CravenWhit StillmanWilliam FriedkinWilliam MaloneWilliam WylerWolfgang PetersenWong Kar-waiWoody AllenYimou ZhangZach BraffZack SnyderZak PennDirector020406080100Mean of Rotten Tomatoes Rating \ No newline at end of file +nullAbel FerraraAdam McKayAdam ShankmanAdrian LyneAdrienne ShellyAkira KurosawaAlan AldaAlan J. PakulaAlan ParkerAlan RudolphAlbert BrooksAlbert HughesAlejandro Gonzalez InarrituAlex KendrickAlex ProyasAlexander PayneAlexandre AjaAlfonso CuaronAlfred HitchcockAmy HeckerlingAndrei KonchalovskyAndrew AdamsonAndrew BergmanAndrew DavisAndrew FlemingAndrew NiccolAndrew StantonAndrzej BartkowiakAndy FickmanAndy GarciaAndy TennantAndy WachowskiAng LeeAngela RobinsonAnne FletcherAnthony MinghellaAntoine FuquaAntonio BanderasAri S. KirschenbaumArthur HillerAtom EgoyanBarbet SchroederBarbra StreisandBarry LevinsonBarry SonnenfeldBaz LuhrmannBen AffleckBen StillerBennett MillerBernardo BertolucciBetty ThomasBill CondonBill DukeBill PaxtonBille AugustBille WoodruffBilly Bob ThorntonBilly WilderBlake EdwardsBoaz YakinBob FosseBob RafelsonBobby FarrellyBrad AndersonBrad BirdBrad SilberlingBradley Rust GreyBrett RatnerBrian De PalmaBrian LevantBrian RobbinsBruce BeresfordBryan SingerCameron CroweCarl FranklinCarlos SaldanhaCatherine HardwickeCatherine OwensChan-wook ParkCharles Martin SmithCharles S. DuttonCharles ShyerChris ColumbusChris NahonChris NoonanChris RockChris WedgeChris WeitzChristian DuguayChristophe GansChristopher GuestChristopher NolanChuck RussellClint EastwoodCorey YuenCosta-GavrasCurtis HansonD.J. CarusoDamien WayansDanny BoyleDanny De VitoDarren AronofskyDarren Lynn BousmanDavid BowersDavid CronenbergDavid DobkinDavid FincherDavid FrankelDavid Gordon GreenDavid GoyerDavid KoeppDavid LeanDavid LynchDavid MametDavid O. RussellDavid R. EllisDavid SilvermanDavid SladeDavid TwohyDavid YatesDavid ZuckerDeepa MehtaDennie GordonDennis DuganDenzel WashingtonDominic SenaDon BluthDonald PetrieDoug LimanDrew BarrymoreDwight H. LittleE. Elias MerhigeEd HarrisEdgar WrightEdward BurnsEdward ZwickEli RothElia KazanEmile ArdolinoEmilio EstevezEric DarnellF. Gary GrayFernando MeirellesForest WhitakerFrancis Ford CoppolaFrancis LawrenceFranco ZeffirelliFrank CapraFrank CoraciFrank DarabontFrank MarshallFrank OzFrank PerryFranklin J. SchaffnerFred SchepisiFred WolfFred ZinnemannGabriele MuccinoGarry MarshallGary RossGary TrousdaleGary WinickGavin HoodGeorge A. RomeroGeorge ClooneyGeorge CukorGeorge LucasGeorge MillerGeorge P. CosmatosGeorge Roy HillGil KenanGina Prince-BythewoodGore VerbinskiGrant HeslovGreg MottolaGriffin DunneGuillermo Del ToroGurinder ChadhaGus Van SantGuy HamiltonGuy RitchieHal AshbyHal NeedhamHarold BeckerHarold RamisHayao MiyazakiHerbert RossHoward DeutchHoward HawksHugh HudsonHugh WilsonIain SoftleyIvan ReitmanJ.J. AbramsJack Lee ThompsonJames CameronJames FoleyJames GrayJames IvoryJames L. BrooksJames MangoldJames McTeigueJames TobackJames WongJan De BontJane CampionJared HessJason AlexanderJason FriedbergJason ReitmanJay ChandrasekharJay RoachJay RussellJean-Jacques AnnaudJean-Pierre JeunetJeff ""King Jeff"" HollinsJeff BurrJeffrey W. ByrdJerry ZuckerJim AbrahamsJim JarmuschJim SheridanJoan ChenJoe CarnahanJoe DanteJoe JohnstonJoe PytkaJoe WrightJoel CoenJoel SchumacherJoel ZwickJoey Lauren AdamsJohn BadhamJohn BoormanJohn CarpenterJohn DahlJohn Erick DowdleJohn FordJohn FrankenheimerJohn G. AvildsenJohn GlenJohn GuillerminJohn HustonJohn LandisJohn LasseterJohn MaddenJohn McTiernanJohn MiliusJohn MuskerJohn PasquinJohn SaylesJohn SchlesingerJohn SchultzJohn SingletonJohn SturgesJohn TurturroJohn WatersJohn WayneJohn WooJon AmielJon AvnetJon FavreauJon TurteltaubJonathan DemmeJonathan FrakesJonathan MostowJoseph McGinty NicholJoseph RubenJoss WhedonJudd ApatowJulian SchnabelJustin LinKarey KirkpatrickKasi LemmonsKathryn BigelowKatia LundKeenen Ivory WayansKelly AsburyKen KwapisKenneth BranaghKevin BrayKevin CostnerKevin GreutertKevin LimaKevin MacDonaldKevin ReynoldsKevin SmithKevin SpaceyKimberly PeirceKing VidorLarry CharlesLars Von TrierLasse HallstromLawrence KasdanLee DanielsLee TamahoriLen WisemanLeonard NimoyLes MayfieldLouis LeterrierLuc BessonLuke GreenfieldLuke WilsonM. Night ShyamalanMalcolm D. LeeMarc ForsterMark DiSalleMark DindalMark DuplassMark Steven JohnsonMark WatersMartha CoolidgeMartin BrestMartin CampbellMartin RittMartin ScorseseMary HarronMathieu KassovitzMatt DillonMatt ReevesMatthew VaughnMel BrooksMel GibsonMichael AptedMichael BayMichael C. BrownMichael Caton-JonesMichael CiminoMichael CrichtonMichael CurtizMichael LehmannMichael LembeckMichael MannMichael MooreMichael O. SajbelMichael PolishMichael RadfordMichael RitchieMichael SpierigMichael WinterbottomMichel GondryMick JacksonMike BinderMike FiggisMike JudgeMike LeighMike NewellMike NicholsMilos FormanMimi LederMira NairMorgan SpurlockNancy MeyersNeal BrennanNeil JordanNeil LaButeNeill BlomkampNick CassavetesNick ParkNoah BaumbachNora EphronNorman JewisonOliver StoneOren PeliOxide Pang ChunP.J. HoganPatrick Read JohnsonPaul AndersonPaul GreengrassPaul HaggisPaul MazurskyPaul McGuiganPaul Michael GlaserPaul SchraderPaul Thomas AndersonPaul VerhoevenPaul WeilandPaul WeitzPedro AlmodovarPenelope SpheerisPenny MarshallPete DocterPeter BergPeter BillingsleyPeter CattaneoPeter ChelsomPeter HewittPeter HyamsPeter JacksonPeter SegalPeter SollettPeter WebberPeter WeirPeyton ReedPhil Alden RobinsonPhil JoanouPhil LordPhilip KaufmanPhillip NoycePierre MorelQuentin TarantinoRaja GosnellRandal KleiserRenny HarlinRichard BenjaminRichard BrooksRichard DonnerRichard E. GrantRichard FleischerRichard KellyRichard LaGraveneseRichard LinklaterRichard MarquandRick RosenthalRicky GervaisRidley ScottRob CohenRob LettermanRob MarshallRob MinkoffRob ReinerRob ZombieRobert AltmanRobert DuvallRobert LuketicRobert MorescoRobert RedfordRobert RodriguezRobert WiseRobert ZemeckisRoberto BenigniRod LurieRoger DonaldsonRoger KumbleRoger SpottiswoodeRoland EmmerichRoland JoffeRoman PolanskiRon HowardRon SheltonRonald NeameRonny YuRuben FleischerRupert WainwrightRussell MulcahyRyan LittleSally FieldSam FellSam FirstenbergSam MendesSam PeckinpahSam RaimiSammo Hung Kam-BoScott DerricksonScott HicksSean PennSergio LeoneSeth GordonShane AckerShane MeadowsShawn LevyShekhar KapurSheldon LettichSidney J. FurieSidney LumetSimon WestSimon WincerSir Richard AttenboroughSofia CoppolaSpike JonzeSpike LeeStanley DonenStanley KubrickStephen ChowStephen DaldryStephen FrearsStephen FryStephen HerekStephen HopkinsStephen NorringtonStephen SommersSteve BarronSteve BuscemiSteve CarrSteve HicknerSteve MinerSteve OedekerkSteven SeagalSteven SoderberghSteven SpielbergSteven ZaillianSue CorcoranSydney PollackSylvain WhiteSylvester StalloneTamara JenkinsTaylor HackfordTed DemmeTed KotcheffTerrence MalickTerry GilliamTerry ZwigoffThomas VinterbergTim Blake NelsonTim BurtonTim HillTim JohnsonTim RobbinsTim StoryTimur BekmambetovTobe HooperTodd FieldTodd HaynesTodd PhillipsTodd SolondzTom DeyTom HanksTom HooperTom ShadyacTom TykwerTom VaughanTony BillTony GilroyTony GoldwynTony ScottTrey ParkerTyler PerryUwe BollVin DieselVincent GalloVincente MinnelliVondie Curtis-HallWalter HillWalter SallesWarren BeattyWayne WangWerner HerzogWes AndersonWes CravenWhit StillmanWilliam FriedkinWilliam MaloneWilliam WylerWolfgang PetersenWong Kar-waiWoody AllenYimou ZhangZach BraffZack SnyderZak PennDirector020406080100Mean of Rotten Tomatoes Rating \ No newline at end of file diff --git a/examples/compiled/bar_grouped_thin.vg.json b/examples/compiled/bar_grouped_thin.vg.json index f8a193afd4..48cdf38ff1 100644 --- a/examples/compiled/bar_grouped_thin.vg.json +++ b/examples/compiled/bar_grouped_thin.vg.json @@ -38,7 +38,7 @@ ], "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Director: \" + (isValid(datum[\"Director\"]) ? datum[\"Director\"] : \"\"+datum[\"Director\"]) + \"; Mean of Rotten Tomatoes Rating: \" + (format(datum[\"mean_Rotten Tomatoes Rating\"], \"\")) + \"; Title: \" + (isValid(datum[\"Title\"]) ? datum[\"Title\"] : \"\"+datum[\"Title\"])" + "signal": "\"Director: \" + (\"\" + datum[\"Director\"]) + \"; Mean of Rotten Tomatoes Rating: \" + (!isValid(datum[\"mean_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"mean_Rotten Tomatoes Rating\"]) ? \"\" + datum[\"mean_Rotten Tomatoes Rating\"] : format(datum[\"mean_Rotten Tomatoes Rating\"], \"\")) + \"; Title: \" + (\"\" + datum[\"Title\"])" }, "x": { "scale": "x", diff --git a/examples/compiled/bar_grouped_thin_minBandSize.svg b/examples/compiled/bar_grouped_thin_minBandSize.svg index ea77344c19..5b939cd697 100644 --- a/examples/compiled/bar_grouped_thin_minBandSize.svg +++ b/examples/compiled/bar_grouped_thin_minBandSize.svg @@ -1 +1 @@ -nullAbel FerraraAdam McKayAdam ShankmanAdrian LyneAdrienne ShellyAkira KurosawaAlan AldaAlan J. PakulaAlan ParkerAlan RudolphAlbert BrooksAlbert HughesAlejandro Gonzalez InarrituAlex KendrickAlex ProyasAlexander PayneAlexandre AjaAlfonso CuaronAlfred HitchcockAmy HeckerlingAndrei KonchalovskyAndrew AdamsonAndrew BergmanAndrew DavisAndrew FlemingAndrew NiccolAndrew StantonAndrzej BartkowiakAndy FickmanAndy GarciaAndy TennantAndy WachowskiAng LeeAngela RobinsonAnne FletcherAnthony MinghellaAntoine FuquaAntonio BanderasAri S. KirschenbaumArthur HillerAtom EgoyanBarbet SchroederBarbra StreisandBarry LevinsonBarry SonnenfeldBaz LuhrmannBen AffleckBen StillerBennett MillerBernardo BertolucciBetty ThomasBill CondonBill DukeBill PaxtonBille AugustBille WoodruffBilly Bob ThorntonBilly WilderBlake EdwardsBoaz YakinBob FosseBob RafelsonBobby FarrellyBrad AndersonBrad BirdBrad SilberlingBradley Rust GreyBrett RatnerBrian De PalmaBrian LevantBrian RobbinsBruce BeresfordBryan SingerCameron CroweCarl FranklinCarlos SaldanhaCatherine HardwickeCatherine OwensChan-wook ParkCharles Martin SmithCharles S. DuttonCharles ShyerChris ColumbusChris NahonChris NoonanChris RockChris WedgeChris WeitzChristian DuguayChristophe GansChristopher GuestChristopher NolanChuck RussellClint EastwoodCorey YuenCosta-GavrasCurtis HansonD.J. CarusoDamien WayansDanny BoyleDanny De VitoDarren AronofskyDarren Lynn BousmanDavid BowersDavid CronenbergDavid DobkinDavid FincherDavid FrankelDavid Gordon GreenDavid GoyerDavid KoeppDavid LeanDavid LynchDavid MametDavid O. RussellDavid R. EllisDavid SilvermanDavid SladeDavid TwohyDavid YatesDavid ZuckerDeepa MehtaDennie GordonDennis DuganDenzel WashingtonDominic SenaDon BluthDonald PetrieDoug LimanDrew BarrymoreDwight H. LittleE. Elias MerhigeEd HarrisEdgar WrightEdward BurnsEdward ZwickEli RothElia KazanEmile ArdolinoEmilio EstevezEric DarnellF. Gary GrayFernando MeirellesForest WhitakerFrancis Ford CoppolaFrancis LawrenceFranco ZeffirelliFrank CapraFrank CoraciFrank DarabontFrank MarshallFrank OzFrank PerryFranklin J. SchaffnerFred SchepisiFred WolfFred ZinnemannGabriele MuccinoGarry MarshallGary RossGary TrousdaleGary WinickGavin HoodGeorge A. RomeroGeorge ClooneyGeorge CukorGeorge LucasGeorge MillerGeorge P. CosmatosGeorge Roy HillGil KenanGina Prince-BythewoodGore VerbinskiGrant HeslovGreg MottolaGriffin DunneGuillermo Del ToroGurinder ChadhaGus Van SantGuy HamiltonGuy RitchieHal AshbyHal NeedhamHarold BeckerHarold RamisHayao MiyazakiHerbert RossHoward DeutchHoward HawksHugh HudsonHugh WilsonIain SoftleyIvan ReitmanJ.J. AbramsJack Lee ThompsonJames CameronJames FoleyJames GrayJames IvoryJames L. BrooksJames MangoldJames McTeigueJames TobackJames WongJan De BontJane CampionJared HessJason AlexanderJason FriedbergJason ReitmanJay ChandrasekharJay RoachJay RussellJean-Jacques AnnaudJean-Pierre JeunetJeff ""King Jeff"" HollinsJeff BurrJeffrey W. ByrdJerry ZuckerJim AbrahamsJim JarmuschJim SheridanJoan ChenJoe CarnahanJoe DanteJoe JohnstonJoe PytkaJoe WrightJoel CoenJoel SchumacherJoel ZwickJoey Lauren AdamsJohn BadhamJohn BoormanJohn CarpenterJohn DahlJohn Erick DowdleJohn FordJohn FrankenheimerJohn G. AvildsenJohn GlenJohn GuillerminJohn HustonJohn LandisJohn LasseterJohn MaddenJohn McTiernanJohn MiliusJohn MuskerJohn PasquinJohn SaylesJohn SchlesingerJohn SchultzJohn SingletonJohn SturgesJohn TurturroJohn WatersJohn WayneJohn WooJon AmielJon AvnetJon FavreauJon TurteltaubJonathan DemmeJonathan FrakesJonathan MostowJoseph McGinty NicholJoseph RubenJoss WhedonJudd ApatowJulian SchnabelJustin LinKarey KirkpatrickKasi LemmonsKathryn BigelowKatia LundKeenen Ivory WayansKelly AsburyKen KwapisKenneth BranaghKevin BrayKevin CostnerKevin GreutertKevin LimaKevin MacDonaldKevin ReynoldsKevin SmithKevin SpaceyKimberly PeirceKing VidorLarry CharlesLars Von TrierLasse HallstromLawrence KasdanLee DanielsLee TamahoriLen WisemanLeonard NimoyLes MayfieldLouis LeterrierLuc BessonLuke GreenfieldLuke WilsonM. Night ShyamalanMalcolm D. LeeMarc ForsterMark DiSalleMark DindalMark DuplassMark Steven JohnsonMark WatersMartha CoolidgeMartin BrestMartin CampbellMartin RittMartin ScorseseMary HarronMathieu KassovitzMatt DillonMatt ReevesMatthew VaughnMel BrooksMel GibsonMichael AptedMichael BayMichael C. BrownMichael Caton-JonesMichael CiminoMichael CrichtonMichael CurtizMichael LehmannMichael LembeckMichael MannMichael MooreMichael O. SajbelMichael PolishMichael RadfordMichael RitchieMichael SpierigMichael WinterbottomMichel GondryMick JacksonMike BinderMike FiggisMike JudgeMike LeighMike NewellMike NicholsMilos FormanMimi LederMira NairMorgan SpurlockNancy MeyersNeal BrennanNeil JordanNeil LaButeNeill BlomkampNick CassavetesNick ParkNoah BaumbachNora EphronNorman JewisonOliver StoneOren PeliOxide Pang ChunP.J. HoganPatrick Read JohnsonPaul AndersonPaul GreengrassPaul HaggisPaul MazurskyPaul McGuiganPaul Michael GlaserPaul SchraderPaul Thomas AndersonPaul VerhoevenPaul WeilandPaul WeitzPedro AlmodovarPenelope SpheerisPenny MarshallPete DocterPeter BergPeter BillingsleyPeter CattaneoPeter ChelsomPeter HewittPeter HyamsPeter JacksonPeter SegalPeter SollettPeter WebberPeter WeirPeyton ReedPhil Alden RobinsonPhil JoanouPhil LordPhilip KaufmanPhillip NoycePierre MorelQuentin TarantinoRaja GosnellRandal KleiserRenny HarlinRichard BenjaminRichard BrooksRichard DonnerRichard E. GrantRichard FleischerRichard KellyRichard LaGraveneseRichard LinklaterRichard MarquandRick RosenthalRicky GervaisRidley ScottRob CohenRob LettermanRob MarshallRob MinkoffRob ReinerRob ZombieRobert AltmanRobert DuvallRobert LuketicRobert MorescoRobert RedfordRobert RodriguezRobert WiseRobert ZemeckisRoberto BenigniRod LurieRoger DonaldsonRoger KumbleRoger SpottiswoodeRoland EmmerichRoland JoffeRoman PolanskiRon HowardRon SheltonRonald NeameRonny YuRuben FleischerRupert WainwrightRussell MulcahyRyan LittleSally FieldSam FellSam FirstenbergSam MendesSam PeckinpahSam RaimiSammo Hung Kam-BoScott DerricksonScott HicksSean PennSergio LeoneSeth GordonShane AckerShane MeadowsShawn LevyShekhar KapurSheldon LettichSidney J. FurieSidney LumetSimon WestSimon WincerSir Richard AttenboroughSofia CoppolaSpike JonzeSpike LeeStanley DonenStanley KubrickStephen ChowStephen DaldryStephen FrearsStephen FryStephen HerekStephen HopkinsStephen NorringtonStephen SommersSteve BarronSteve BuscemiSteve CarrSteve HicknerSteve MinerSteve OedekerkSteven SeagalSteven SoderberghSteven SpielbergSteven ZaillianSue CorcoranSydney PollackSylvain WhiteSylvester StalloneTamara JenkinsTaylor HackfordTed DemmeTed KotcheffTerrence MalickTerry GilliamTerry ZwigoffThomas VinterbergTim Blake NelsonTim BurtonTim HillTim JohnsonTim RobbinsTim StoryTimur BekmambetovTobe HooperTodd FieldTodd HaynesTodd PhillipsTodd SolondzTom DeyTom HanksTom HooperTom ShadyacTom TykwerTom VaughanTony BillTony GilroyTony GoldwynTony ScottTrey ParkerTyler PerryUwe BollVin DieselVincent GalloVincente MinnelliVondie Curtis-HallWalter HillWalter SallesWarren BeattyWayne WangWerner HerzogWes AndersonWes CravenWhit StillmanWilliam FriedkinWilliam MaloneWilliam WylerWolfgang PetersenWong Kar-waiWoody AllenYimou ZhangZach BraffZack SnyderZak PennDirector020406080100Mean of Rotten Tomatoes Rating \ No newline at end of file +nullAbel FerraraAdam McKayAdam ShankmanAdrian LyneAdrienne ShellyAkira KurosawaAlan AldaAlan J. PakulaAlan ParkerAlan RudolphAlbert BrooksAlbert HughesAlejandro Gonzalez InarrituAlex KendrickAlex ProyasAlexander PayneAlexandre AjaAlfonso CuaronAlfred HitchcockAmy HeckerlingAndrei KonchalovskyAndrew AdamsonAndrew BergmanAndrew DavisAndrew FlemingAndrew NiccolAndrew StantonAndrzej BartkowiakAndy FickmanAndy GarciaAndy TennantAndy WachowskiAng LeeAngela RobinsonAnne FletcherAnthony MinghellaAntoine FuquaAntonio BanderasAri S. KirschenbaumArthur HillerAtom EgoyanBarbet SchroederBarbra StreisandBarry LevinsonBarry SonnenfeldBaz LuhrmannBen AffleckBen StillerBennett MillerBernardo BertolucciBetty ThomasBill CondonBill DukeBill PaxtonBille AugustBille WoodruffBilly Bob ThorntonBilly WilderBlake EdwardsBoaz YakinBob FosseBob RafelsonBobby FarrellyBrad AndersonBrad BirdBrad SilberlingBradley Rust GreyBrett RatnerBrian De PalmaBrian LevantBrian RobbinsBruce BeresfordBryan SingerCameron CroweCarl FranklinCarlos SaldanhaCatherine HardwickeCatherine OwensChan-wook ParkCharles Martin SmithCharles S. DuttonCharles ShyerChris ColumbusChris NahonChris NoonanChris RockChris WedgeChris WeitzChristian DuguayChristophe GansChristopher GuestChristopher NolanChuck RussellClint EastwoodCorey YuenCosta-GavrasCurtis HansonD.J. CarusoDamien WayansDanny BoyleDanny De VitoDarren AronofskyDarren Lynn BousmanDavid BowersDavid CronenbergDavid DobkinDavid FincherDavid FrankelDavid Gordon GreenDavid GoyerDavid KoeppDavid LeanDavid LynchDavid MametDavid O. RussellDavid R. EllisDavid SilvermanDavid SladeDavid TwohyDavid YatesDavid ZuckerDeepa MehtaDennie GordonDennis DuganDenzel WashingtonDominic SenaDon BluthDonald PetrieDoug LimanDrew BarrymoreDwight H. LittleE. Elias MerhigeEd HarrisEdgar WrightEdward BurnsEdward ZwickEli RothElia KazanEmile ArdolinoEmilio EstevezEric DarnellF. Gary GrayFernando MeirellesForest WhitakerFrancis Ford CoppolaFrancis LawrenceFranco ZeffirelliFrank CapraFrank CoraciFrank DarabontFrank MarshallFrank OzFrank PerryFranklin J. SchaffnerFred SchepisiFred WolfFred ZinnemannGabriele MuccinoGarry MarshallGary RossGary TrousdaleGary WinickGavin HoodGeorge A. RomeroGeorge ClooneyGeorge CukorGeorge LucasGeorge MillerGeorge P. CosmatosGeorge Roy HillGil KenanGina Prince-BythewoodGore VerbinskiGrant HeslovGreg MottolaGriffin DunneGuillermo Del ToroGurinder ChadhaGus Van SantGuy HamiltonGuy RitchieHal AshbyHal NeedhamHarold BeckerHarold RamisHayao MiyazakiHerbert RossHoward DeutchHoward HawksHugh HudsonHugh WilsonIain SoftleyIvan ReitmanJ.J. AbramsJack Lee ThompsonJames CameronJames FoleyJames GrayJames IvoryJames L. BrooksJames MangoldJames McTeigueJames TobackJames WongJan De BontJane CampionJared HessJason AlexanderJason FriedbergJason ReitmanJay ChandrasekharJay RoachJay RussellJean-Jacques AnnaudJean-Pierre JeunetJeff ""King Jeff"" HollinsJeff BurrJeffrey W. ByrdJerry ZuckerJim AbrahamsJim JarmuschJim SheridanJoan ChenJoe CarnahanJoe DanteJoe JohnstonJoe PytkaJoe WrightJoel CoenJoel SchumacherJoel ZwickJoey Lauren AdamsJohn BadhamJohn BoormanJohn CarpenterJohn DahlJohn Erick DowdleJohn FordJohn FrankenheimerJohn G. AvildsenJohn GlenJohn GuillerminJohn HustonJohn LandisJohn LasseterJohn MaddenJohn McTiernanJohn MiliusJohn MuskerJohn PasquinJohn SaylesJohn SchlesingerJohn SchultzJohn SingletonJohn SturgesJohn TurturroJohn WatersJohn WayneJohn WooJon AmielJon AvnetJon FavreauJon TurteltaubJonathan DemmeJonathan FrakesJonathan MostowJoseph McGinty NicholJoseph RubenJoss WhedonJudd ApatowJulian SchnabelJustin LinKarey KirkpatrickKasi LemmonsKathryn BigelowKatia LundKeenen Ivory WayansKelly AsburyKen KwapisKenneth BranaghKevin BrayKevin CostnerKevin GreutertKevin LimaKevin MacDonaldKevin ReynoldsKevin SmithKevin SpaceyKimberly PeirceKing VidorLarry CharlesLars Von TrierLasse HallstromLawrence KasdanLee DanielsLee TamahoriLen WisemanLeonard NimoyLes MayfieldLouis LeterrierLuc BessonLuke GreenfieldLuke WilsonM. Night ShyamalanMalcolm D. LeeMarc ForsterMark DiSalleMark DindalMark DuplassMark Steven JohnsonMark WatersMartha CoolidgeMartin BrestMartin CampbellMartin RittMartin ScorseseMary HarronMathieu KassovitzMatt DillonMatt ReevesMatthew VaughnMel BrooksMel GibsonMichael AptedMichael BayMichael C. BrownMichael Caton-JonesMichael CiminoMichael CrichtonMichael CurtizMichael LehmannMichael LembeckMichael MannMichael MooreMichael O. SajbelMichael PolishMichael RadfordMichael RitchieMichael SpierigMichael WinterbottomMichel GondryMick JacksonMike BinderMike FiggisMike JudgeMike LeighMike NewellMike NicholsMilos FormanMimi LederMira NairMorgan SpurlockNancy MeyersNeal BrennanNeil JordanNeil LaButeNeill BlomkampNick CassavetesNick ParkNoah BaumbachNora EphronNorman JewisonOliver StoneOren PeliOxide Pang ChunP.J. HoganPatrick Read JohnsonPaul AndersonPaul GreengrassPaul HaggisPaul MazurskyPaul McGuiganPaul Michael GlaserPaul SchraderPaul Thomas AndersonPaul VerhoevenPaul WeilandPaul WeitzPedro AlmodovarPenelope SpheerisPenny MarshallPete DocterPeter BergPeter BillingsleyPeter CattaneoPeter ChelsomPeter HewittPeter HyamsPeter JacksonPeter SegalPeter SollettPeter WebberPeter WeirPeyton ReedPhil Alden RobinsonPhil JoanouPhil LordPhilip KaufmanPhillip NoycePierre MorelQuentin TarantinoRaja GosnellRandal KleiserRenny HarlinRichard BenjaminRichard BrooksRichard DonnerRichard E. GrantRichard FleischerRichard KellyRichard LaGraveneseRichard LinklaterRichard MarquandRick RosenthalRicky GervaisRidley ScottRob CohenRob LettermanRob MarshallRob MinkoffRob ReinerRob ZombieRobert AltmanRobert DuvallRobert LuketicRobert MorescoRobert RedfordRobert RodriguezRobert WiseRobert ZemeckisRoberto BenigniRod LurieRoger DonaldsonRoger KumbleRoger SpottiswoodeRoland EmmerichRoland JoffeRoman PolanskiRon HowardRon SheltonRonald NeameRonny YuRuben FleischerRupert WainwrightRussell MulcahyRyan LittleSally FieldSam FellSam FirstenbergSam MendesSam PeckinpahSam RaimiSammo Hung Kam-BoScott DerricksonScott HicksSean PennSergio LeoneSeth GordonShane AckerShane MeadowsShawn LevyShekhar KapurSheldon LettichSidney J. FurieSidney LumetSimon WestSimon WincerSir Richard AttenboroughSofia CoppolaSpike JonzeSpike LeeStanley DonenStanley KubrickStephen ChowStephen DaldryStephen FrearsStephen FryStephen HerekStephen HopkinsStephen NorringtonStephen SommersSteve BarronSteve BuscemiSteve CarrSteve HicknerSteve MinerSteve OedekerkSteven SeagalSteven SoderberghSteven SpielbergSteven ZaillianSue CorcoranSydney PollackSylvain WhiteSylvester StalloneTamara JenkinsTaylor HackfordTed DemmeTed KotcheffTerrence MalickTerry GilliamTerry ZwigoffThomas VinterbergTim Blake NelsonTim BurtonTim HillTim JohnsonTim RobbinsTim StoryTimur BekmambetovTobe HooperTodd FieldTodd HaynesTodd PhillipsTodd SolondzTom DeyTom HanksTom HooperTom ShadyacTom TykwerTom VaughanTony BillTony GilroyTony GoldwynTony ScottTrey ParkerTyler PerryUwe BollVin DieselVincent GalloVincente MinnelliVondie Curtis-HallWalter HillWalter SallesWarren BeattyWayne WangWerner HerzogWes AndersonWes CravenWhit StillmanWilliam FriedkinWilliam MaloneWilliam WylerWolfgang PetersenWong Kar-waiWoody AllenYimou ZhangZach BraffZack SnyderZak PennDirector020406080100Mean of Rotten Tomatoes Rating \ No newline at end of file diff --git a/examples/compiled/bar_grouped_thin_minBandSize.vg.json b/examples/compiled/bar_grouped_thin_minBandSize.vg.json index 0a23466f8e..9ba5a8705f 100644 --- a/examples/compiled/bar_grouped_thin_minBandSize.vg.json +++ b/examples/compiled/bar_grouped_thin_minBandSize.vg.json @@ -38,7 +38,7 @@ ], "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Director: \" + (isValid(datum[\"Director\"]) ? datum[\"Director\"] : \"\"+datum[\"Director\"]) + \"; Mean of Rotten Tomatoes Rating: \" + (format(datum[\"mean_Rotten Tomatoes Rating\"], \"\")) + \"; Title: \" + (isValid(datum[\"Title\"]) ? datum[\"Title\"] : \"\"+datum[\"Title\"])" + "signal": "\"Director: \" + (\"\" + datum[\"Director\"]) + \"; Mean of Rotten Tomatoes Rating: \" + (!isValid(datum[\"mean_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"mean_Rotten Tomatoes Rating\"]) ? \"\" + datum[\"mean_Rotten Tomatoes Rating\"] : format(datum[\"mean_Rotten Tomatoes Rating\"], \"\")) + \"; Title: \" + (\"\" + datum[\"Title\"])" }, "x": { "scale": "x", diff --git a/examples/compiled/bar_grouped_timeunit_yearweek.vg.json b/examples/compiled/bar_grouped_timeunit_yearweek.vg.json index af91bf87f1..7599848115 100644 --- a/examples/compiled/bar_grouped_timeunit_yearweek.vg.json +++ b/examples/compiled/bar_grouped_timeunit_yearweek.vg.json @@ -46,7 +46,7 @@ "fill": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Year (year-week): \" + (timeFormat(datum[\"yearweek_Year\"], timeUnitSpecifier([\"year\",\"week\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Number of Cars: \" + (format(datum[\"__count\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Year (year-week): \" + (!isValid(datum[\"yearweek_Year\"]) || !isFinite(+datum[\"yearweek_Year\"]) ? \"\" + datum[\"yearweek_Year\"] : timeFormat(datum[\"yearweek_Year\"], timeUnitSpecifier([\"year\",\"week\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Number of Cars: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "xc": { "scale": "x", diff --git a/examples/compiled/bar_heatlane.vg.json b/examples/compiled/bar_heatlane.vg.json index 910871071b..1627bd19a6 100644 --- a/examples/compiled/bar_heatlane.vg.json +++ b/examples/compiled/bar_heatlane.vg.json @@ -73,7 +73,7 @@ "fill": {"scale": "color", "field": "max_bin_count_end"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"bin_Horsepower_start\"], \"\")) + \"; y: \" + (isValid(datum[\"y\"]) ? datum[\"y\"] : \"\"+datum[\"y\"]) + \"; bin_Horsepower_end: \" + (format(datum[\"bin_Horsepower_end\"], \"\")) + \"; y2: \" + (isValid(datum[\"y2\"]) ? datum[\"y2\"] : \"\"+datum[\"y2\"]) + \"; count: \" + (isValid(datum[\"max_bin_count_end\"]) ? datum[\"max_bin_count_end\"] : \"\"+datum[\"max_bin_count_end\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"bin_Horsepower_start\"]) || !isFinite(+datum[\"bin_Horsepower_start\"]) ? \"\" + datum[\"bin_Horsepower_start\"] : format(datum[\"bin_Horsepower_start\"], \"\")) + \"; y: \" + (\"\" + datum[\"y\"]) + \"; bin_Horsepower_end: \" + (!isValid(datum[\"bin_Horsepower_end\"]) || !isFinite(+datum[\"bin_Horsepower_end\"]) ? \"\" + datum[\"bin_Horsepower_end\"] : format(datum[\"bin_Horsepower_end\"], \"\")) + \"; y2: \" + (\"\" + datum[\"y2\"]) + \"; count: \" + (\"\" + datum[\"max_bin_count_end\"])" }, "x": {"scale": "x", "field": "bin_Horsepower_start", "offset": 2}, "x2": {"scale": "x", "field": "bin_Horsepower_end", "offset": -2}, @@ -92,7 +92,7 @@ "fill": {"scale": "color", "field": "bin_count_end"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"bin_Horsepower_start\"], \"\")) + \"; y: \" + (isValid(datum[\"y\"]) ? datum[\"y\"] : \"\"+datum[\"y\"]) + \"; bin_Horsepower_end: \" + (format(datum[\"bin_Horsepower_end\"], \"\")) + \"; y2: \" + (isValid(datum[\"y2\"]) ? datum[\"y2\"] : \"\"+datum[\"y2\"]) + \"; count: \" + (isValid(datum[\"bin_count_end\"]) ? datum[\"bin_count_end\"] : \"\"+datum[\"bin_count_end\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"bin_Horsepower_start\"]) || !isFinite(+datum[\"bin_Horsepower_start\"]) ? \"\" + datum[\"bin_Horsepower_start\"] : format(datum[\"bin_Horsepower_start\"], \"\")) + \"; y: \" + (\"\" + datum[\"y\"]) + \"; bin_Horsepower_end: \" + (!isValid(datum[\"bin_Horsepower_end\"]) || !isFinite(+datum[\"bin_Horsepower_end\"]) ? \"\" + datum[\"bin_Horsepower_end\"] : format(datum[\"bin_Horsepower_end\"], \"\")) + \"; y2: \" + (\"\" + datum[\"y2\"]) + \"; count: \" + (\"\" + datum[\"bin_count_end\"])" }, "x": {"scale": "x", "field": "bin_Horsepower_start", "offset": 2}, "x2": {"scale": "x", "field": "bin_Horsepower_end", "offset": -2}, diff --git a/examples/compiled/bar_invalid_color_show.svg b/examples/compiled/bar_invalid_color_show.svg index 7034b097ee..4120b21fc6 100644 --- a/examples/compiled/bar_invalid_color_show.svg +++ b/examples/compiled/bar_invalid_color_show.svg @@ -1 +1 @@ -1.01.52.02.53.0a020406080100b1.01.21.41.61.82.0c \ No newline at end of file +1.01.52.02.53.0a020406080100b1.01.21.41.61.82.0c \ No newline at end of file diff --git a/examples/compiled/bar_invalid_color_show.vg.json b/examples/compiled/bar_invalid_color_show.vg.json index 84ea16785d..485d262f16 100644 --- a/examples/compiled/bar_invalid_color_show.vg.json +++ b/examples/compiled/bar_invalid_color_show.vg.json @@ -52,11 +52,11 @@ {"scale": "color", "field": "c"} ], "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "xc": [ { diff --git a/examples/compiled/bar_invalid_color_show_override.svg b/examples/compiled/bar_invalid_color_show_override.svg index 862b351951..f1b0eacc53 100644 --- a/examples/compiled/bar_invalid_color_show_override.svg +++ b/examples/compiled/bar_invalid_color_show_override.svg @@ -1 +1 @@ -1.01.52.02.53.0a020406080100b1.01.21.41.61.82.0c \ No newline at end of file +1.01.52.02.53.0a020406080100b1.01.21.41.61.82.0c \ No newline at end of file diff --git a/examples/compiled/bar_invalid_color_show_override.vg.json b/examples/compiled/bar_invalid_color_show_override.vg.json index adb1c1fdd2..4ee824e766 100644 --- a/examples/compiled/bar_invalid_color_show_override.vg.json +++ b/examples/compiled/bar_invalid_color_show_override.vg.json @@ -52,11 +52,11 @@ {"scale": "color", "field": "c"} ], "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "xc": [ { diff --git a/examples/compiled/bar_layered_transparent.vg.json b/examples/compiled/bar_layered_transparent.vg.json index fbd9aa0f00..628b984465 100644 --- a/examples/compiled/bar_layered_transparent.vg.json +++ b/examples/compiled/bar_layered_transparent.vg.json @@ -50,7 +50,7 @@ "opacity": {"value": 0.7}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])" + "signal": "\"age: \" + (\"\" + datum[\"age\"]) + \"; population: \" + (!isValid(datum[\"sum_people\"]) || !isFinite(+datum[\"sum_people\"]) ? \"\" + datum[\"sum_people\"] : format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (\"\" + datum[\"gender\"])" }, "x": {"scale": "x", "field": "age"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_layered_weather.vg.json b/examples/compiled/bar_layered_weather.vg.json index 40616e7948..cbc922adae 100644 --- a/examples/compiled/bar_layered_weather.vg.json +++ b/examples/compiled/bar_layered_weather.vg.json @@ -140,7 +140,7 @@ "fill": {"value": "#ccc"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"id: \" + (isValid(datum[\"id\"]) ? datum[\"id\"] : \"\"+datum[\"id\"]) + \"; record.low: \" + (format(datum[\"record.low\"], \"\")) + \"; record.high: \" + (format(datum[\"record.high\"], \"\"))" + "signal": "\"id: \" + (\"\" + datum[\"id\"]) + \"; record.low: \" + (!isValid(datum[\"record.low\"]) || !isFinite(+datum[\"record.low\"]) ? \"\" + datum[\"record.low\"] : format(datum[\"record.low\"], \"\")) + \"; record.high: \" + (!isValid(datum[\"record.high\"]) || !isFinite(+datum[\"record.high\"]) ? \"\" + datum[\"record.high\"] : format(datum[\"record.high\"], \"\"))" }, "xc": {"scale": "x", "field": "id", "band": 0.5}, "width": {"value": 20}, @@ -159,7 +159,7 @@ "fill": {"value": "#999"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"id: \" + (isValid(datum[\"id\"]) ? datum[\"id\"] : \"\"+datum[\"id\"]) + \"; normal.low: \" + (format(datum[\"normal.low\"], \"\")) + \"; normal.high: \" + (format(datum[\"normal.high\"], \"\"))" + "signal": "\"id: \" + (\"\" + datum[\"id\"]) + \"; normal.low: \" + (!isValid(datum[\"normal.low\"]) || !isFinite(+datum[\"normal.low\"]) ? \"\" + datum[\"normal.low\"] : format(datum[\"normal.low\"], \"\")) + \"; normal.high: \" + (!isValid(datum[\"normal.high\"]) || !isFinite(+datum[\"normal.high\"]) ? \"\" + datum[\"normal.high\"] : format(datum[\"normal.high\"], \"\"))" }, "xc": {"scale": "x", "field": "id", "band": 0.5}, "width": {"value": 20}, @@ -178,7 +178,7 @@ "fill": {"value": "#000"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"id: \" + (isValid(datum[\"id\"]) ? datum[\"id\"] : \"\"+datum[\"id\"]) + \"; actual.low: \" + (format(datum[\"actual.low\"], \"\")) + \"; actual.high: \" + (format(datum[\"actual.high\"], \"\"))" + "signal": "\"id: \" + (\"\" + datum[\"id\"]) + \"; actual.low: \" + (!isValid(datum[\"actual.low\"]) || !isFinite(+datum[\"actual.low\"]) ? \"\" + datum[\"actual.low\"] : format(datum[\"actual.low\"], \"\")) + \"; actual.high: \" + (!isValid(datum[\"actual.high\"]) || !isFinite(+datum[\"actual.high\"]) ? \"\" + datum[\"actual.high\"] : format(datum[\"actual.high\"], \"\"))" }, "xc": {"scale": "x", "field": "id", "band": 0.5}, "width": {"value": 12}, @@ -197,7 +197,7 @@ "fill": {"value": "#000"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"id: \" + (isValid(datum[\"id\"]) ? datum[\"id\"] : \"\"+datum[\"id\"]) + \"; forecast.low.low: \" + (format(datum[\"forecast.low.low\"], \"\")) + \"; forecast.low.high: \" + (format(datum[\"forecast.low.high\"], \"\"))" + "signal": "\"id: \" + (\"\" + datum[\"id\"]) + \"; forecast.low.low: \" + (!isValid(datum[\"forecast.low.low\"]) || !isFinite(+datum[\"forecast.low.low\"]) ? \"\" + datum[\"forecast.low.low\"] : format(datum[\"forecast.low.low\"], \"\")) + \"; forecast.low.high: \" + (!isValid(datum[\"forecast.low.high\"]) || !isFinite(+datum[\"forecast.low.high\"]) ? \"\" + datum[\"forecast.low.high\"] : format(datum[\"forecast.low.high\"], \"\"))" }, "xc": {"scale": "x", "field": "id", "band": 0.5}, "width": {"value": 12}, @@ -216,7 +216,7 @@ "fill": {"value": "#000"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"id: \" + (isValid(datum[\"id\"]) ? datum[\"id\"] : \"\"+datum[\"id\"]) + \"; forecast.low.high: \" + (format(datum[\"forecast.low.high\"], \"\")) + \"; forecast.high.low: \" + (format(datum[\"forecast.high.low\"], \"\"))" + "signal": "\"id: \" + (\"\" + datum[\"id\"]) + \"; forecast.low.high: \" + (!isValid(datum[\"forecast.low.high\"]) || !isFinite(+datum[\"forecast.low.high\"]) ? \"\" + datum[\"forecast.low.high\"] : format(datum[\"forecast.low.high\"], \"\")) + \"; forecast.high.low: \" + (!isValid(datum[\"forecast.high.low\"]) || !isFinite(+datum[\"forecast.high.low\"]) ? \"\" + datum[\"forecast.high.low\"] : format(datum[\"forecast.high.low\"], \"\"))" }, "xc": {"scale": "x", "field": "id", "band": 0.5}, "width": {"value": 3}, @@ -235,7 +235,7 @@ "fill": {"value": "#000"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"id: \" + (isValid(datum[\"id\"]) ? datum[\"id\"] : \"\"+datum[\"id\"]) + \"; forecast.high.low: \" + (format(datum[\"forecast.high.low\"], \"\")) + \"; forecast.high.high: \" + (format(datum[\"forecast.high.high\"], \"\"))" + "signal": "\"id: \" + (\"\" + datum[\"id\"]) + \"; forecast.high.low: \" + (!isValid(datum[\"forecast.high.low\"]) || !isFinite(+datum[\"forecast.high.low\"]) ? \"\" + datum[\"forecast.high.low\"] : format(datum[\"forecast.high.low\"], \"\")) + \"; forecast.high.high: \" + (!isValid(datum[\"forecast.high.high\"]) || !isFinite(+datum[\"forecast.high.high\"]) ? \"\" + datum[\"forecast.high.high\"] : format(datum[\"forecast.high.high\"], \"\"))" }, "xc": {"scale": "x", "field": "id", "band": 0.5}, "width": {"value": 12}, @@ -255,13 +255,11 @@ "baseline": {"value": "bottom"}, "fill": {"value": "black"}, "description": { - "signal": "\"id: \" + (isValid(datum[\"id\"]) ? datum[\"id\"] : \"\"+datum[\"id\"]) + \"; day: \" + (isValid(datum[\"day\"]) ? datum[\"day\"] : \"\"+datum[\"day\"])" + "signal": "\"id: \" + (\"\" + datum[\"id\"]) + \"; day: \" + (\"\" + datum[\"day\"])" }, "x": {"scale": "x", "field": "id", "band": 0.5}, "y": {"value": -5}, - "text": { - "signal": "isValid(datum[\"day\"]) ? datum[\"day\"] : \"\"+datum[\"day\"]" - } + "text": {"signal": "\"\" + datum[\"day\"]"} } } } diff --git a/examples/compiled/bar_month.vg.json b/examples/compiled/bar_month.vg.json index d59b3b4477..c74227549f 100644 --- a/examples/compiled/bar_month.vg.json +++ b/examples/compiled/bar_month.vg.json @@ -48,7 +48,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (!isValid(datum[\"mean_precipitation\"]) || !isFinite(+datum[\"mean_precipitation\"]) ? \"\" + datum[\"mean_precipitation\"] : format(datum[\"mean_precipitation\"], \"\"))" }, "x": {"scale": "x", "field": "month_date"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_month_band.vg.json b/examples/compiled/bar_month_band.vg.json index 9165a52a80..9a2a85197a 100644 --- a/examples/compiled/bar_month_band.vg.json +++ b/examples/compiled/bar_month_band.vg.json @@ -42,7 +42,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (!isValid(datum[\"mean_precipitation\"]) || !isFinite(+datum[\"mean_precipitation\"]) ? \"\" + datum[\"mean_precipitation\"] : format(datum[\"mean_precipitation\"], \"\"))" }, "x2": { "signal": "scale(\"x\", 0.85 * datum[\"month_date\"] + 0.15000000000000002 * datum[\"month_date_end\"])", diff --git a/examples/compiled/bar_month_band_config.vg.json b/examples/compiled/bar_month_band_config.vg.json index 9165a52a80..9a2a85197a 100644 --- a/examples/compiled/bar_month_band_config.vg.json +++ b/examples/compiled/bar_month_band_config.vg.json @@ -42,7 +42,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (!isValid(datum[\"mean_precipitation\"]) || !isFinite(+datum[\"mean_precipitation\"]) ? \"\" + datum[\"mean_precipitation\"] : format(datum[\"mean_precipitation\"], \"\"))" }, "x2": { "signal": "scale(\"x\", 0.85 * datum[\"month_date\"] + 0.15000000000000002 * datum[\"month_date_end\"])", diff --git a/examples/compiled/bar_month_temporal.vg.json b/examples/compiled/bar_month_temporal.vg.json index 25cac61d2b..95468e4316 100644 --- a/examples/compiled/bar_month_temporal.vg.json +++ b/examples/compiled/bar_month_temporal.vg.json @@ -42,7 +42,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (!isValid(datum[\"mean_precipitation\"]) || !isFinite(+datum[\"mean_precipitation\"]) ? \"\" + datum[\"mean_precipitation\"] : format(datum[\"mean_precipitation\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/bar_month_temporal_band_center.vg.json b/examples/compiled/bar_month_temporal_band_center.vg.json index 597691718b..2cfd517f9a 100644 --- a/examples/compiled/bar_month_temporal_band_center.vg.json +++ b/examples/compiled/bar_month_temporal_band_center.vg.json @@ -57,7 +57,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (!isValid(datum[\"mean_precipitation\"]) || !isFinite(+datum[\"mean_precipitation\"]) ? \"\" + datum[\"mean_precipitation\"] : format(datum[\"mean_precipitation\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/bar_month_temporal_band_center_config.vg.json b/examples/compiled/bar_month_temporal_band_center_config.vg.json index 597691718b..2cfd517f9a 100644 --- a/examples/compiled/bar_month_temporal_band_center_config.vg.json +++ b/examples/compiled/bar_month_temporal_band_center_config.vg.json @@ -57,7 +57,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (!isValid(datum[\"mean_precipitation\"]) || !isFinite(+datum[\"mean_precipitation\"]) ? \"\" + datum[\"mean_precipitation\"] : format(datum[\"mean_precipitation\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/bar_month_temporal_initial.vg.json b/examples/compiled/bar_month_temporal_initial.vg.json index 73328c7f46..b12007fc3d 100644 --- a/examples/compiled/bar_month_temporal_initial.vg.json +++ b/examples/compiled/bar_month_temporal_initial.vg.json @@ -43,7 +43,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (!isValid(datum[\"mean_precipitation\"]) || !isFinite(+datum[\"mean_precipitation\"]) ? \"\" + datum[\"mean_precipitation\"] : format(datum[\"mean_precipitation\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/bar_multi_values_per_categories.vg.json b/examples/compiled/bar_multi_values_per_categories.vg.json index 63d48a5175..aaf7dcc99f 100644 --- a/examples/compiled/bar_multi_values_per_categories.vg.json +++ b/examples/compiled/bar_multi_values_per_categories.vg.json @@ -60,7 +60,7 @@ "stroke": {"value": "white"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "a"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_narrow_int_span.vg.json b/examples/compiled/bar_narrow_int_span.vg.json index 097366c8af..38b7acb4fc 100644 --- a/examples/compiled/bar_narrow_int_span.vg.json +++ b/examples/compiled/bar_narrow_int_span.vg.json @@ -41,7 +41,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"d\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"d\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "xc": {"scale": "x", "field": "a"}, "width": {"value": 5}, diff --git a/examples/compiled/bar_negative.vg.json b/examples/compiled/bar_negative.vg.json index 8965cdfe1d..eb751234a8 100644 --- a/examples/compiled/bar_negative.vg.json +++ b/examples/compiled/bar_negative.vg.json @@ -57,7 +57,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "a"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_negative_horizontal_label.vg.json b/examples/compiled/bar_negative_horizontal_label.vg.json index 96aa0dbd66..f5b216390e 100644 --- a/examples/compiled/bar_negative_horizontal_label.vg.json +++ b/examples/compiled/bar_negative_horizontal_label.vg.json @@ -67,7 +67,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"b: \" + (format(datum[\"b\"], \"\")) + \"; a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"])" + "signal": "\"b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; a: \" + (\"\" + datum[\"a\"])" }, "x": {"scale": "x", "field": "b_end"}, "x2": {"scale": "x", "field": "b_start"}, @@ -87,11 +87,13 @@ "dx": {"signal": "datum.b < 0 ? -2 : 2"}, "fill": {"value": "black"}, "description": { - "signal": "\"b: \" + (format(datum[\"b\"], \"\")) + \"; a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"])" + "signal": "\"b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; a: \" + (\"\" + datum[\"a\"])" }, "x": {"scale": "x", "field": "b"}, "y": {"scale": "y", "field": "a", "band": 0.5}, - "text": {"signal": "format(datum[\"b\"], \"\")"}, + "text": { + "signal": "!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")" + }, "baseline": {"value": "middle"} } } diff --git a/examples/compiled/bar_params.vg.json b/examples/compiled/bar_params.vg.json index 3273c30642..c064241a5a 100644 --- a/examples/compiled/bar_params.vg.json +++ b/examples/compiled/bar_params.vg.json @@ -95,7 +95,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "width": {"field": {"group": "width"}}, "y": {"scale": "y", "field": "b_end"}, diff --git a/examples/compiled/bar_params_bound.vg.json b/examples/compiled/bar_params_bound.vg.json index 81146c10f5..aef2265e06 100644 --- a/examples/compiled/bar_params_bound.vg.json +++ b/examples/compiled/bar_params_bound.vg.json @@ -99,7 +99,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "width": {"field": {"group": "width"}}, "y": {"scale": "y", "field": "b_end"}, diff --git a/examples/compiled/bar_percent_of_total.vg.json b/examples/compiled/bar_percent_of_total.vg.json index 2258fe7f1d..73cba8369f 100644 --- a/examples/compiled/bar_percent_of_total.vg.json +++ b/examples/compiled/bar_percent_of_total.vg.json @@ -64,7 +64,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"% of total Time: \" + (format(datum[\"PercentOfTotal\"], \"\")) + \"; Activity: \" + (isValid(datum[\"Activity\"]) ? datum[\"Activity\"] : \"\"+datum[\"Activity\"])" + "signal": "\"% of total Time: \" + (!isValid(datum[\"PercentOfTotal\"]) || !isFinite(+datum[\"PercentOfTotal\"]) ? \"\" + datum[\"PercentOfTotal\"] : format(datum[\"PercentOfTotal\"], \"\")) + \"; Activity: \" + (\"\" + datum[\"Activity\"])" }, "x": {"scale": "x", "field": "PercentOfTotal_end"}, "x2": {"scale": "x", "field": "PercentOfTotal_start"}, diff --git a/examples/compiled/bar_q_qpow.vg.json b/examples/compiled/bar_q_qpow.vg.json index 1123bc43f4..41a7fff443 100644 --- a/examples/compiled/bar_q_qpow.vg.json +++ b/examples/compiled/bar_q_qpow.vg.json @@ -44,7 +44,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "xc": {"scale": "x", "field": "a"}, "width": {"value": 5}, diff --git a/examples/compiled/bar_qq_stack.vg.json b/examples/compiled/bar_qq_stack.vg.json index c7c5a653e6..edf5d49fdb 100644 --- a/examples/compiled/bar_qq_stack.vg.json +++ b/examples/compiled/bar_qq_stack.vg.json @@ -40,7 +40,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "xc": {"scale": "x", "field": "a"}, "width": {"value": 5}, diff --git a/examples/compiled/bar_qq_stack_horizontal.vg.json b/examples/compiled/bar_qq_stack_horizontal.vg.json index 734c1bd839..7ee647d99e 100644 --- a/examples/compiled/bar_qq_stack_horizontal.vg.json +++ b/examples/compiled/bar_qq_stack_horizontal.vg.json @@ -41,7 +41,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"b: \" + (format(datum[\"b\"], \"\")) + \"; a: \" + (format(datum[\"a\"], \"\"))" + "signal": "\"b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"))" }, "x": {"scale": "x", "field": "b_end"}, "x2": {"scale": "x", "field": "b_start"}, diff --git a/examples/compiled/bar_ranged_not_binned.vg.json b/examples/compiled/bar_ranged_not_binned.vg.json index 220fcb013b..458634159f 100644 --- a/examples/compiled/bar_ranged_not_binned.vg.json +++ b/examples/compiled/bar_ranged_not_binned.vg.json @@ -42,7 +42,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"b: \" + (format(datum[\"b\"], \"\")) + \"; b2: \" + (format(datum[\"b2\"], \"\"))" + "signal": "\"b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; b2: \" + (!isValid(datum[\"b2\"]) || !isFinite(+datum[\"b2\"]) ? \"\" + datum[\"b2\"] : format(datum[\"b2\"], \"\"))" }, "xc": {"scale": "x", "field": "b"}, "width": {"value": 5}, diff --git a/examples/compiled/bar_simple_binned_timeunit_special_chars.vg.json b/examples/compiled/bar_simple_binned_timeunit_special_chars.vg.json index 2fb873170f..95362dd350 100644 --- a/examples/compiled/bar_simple_binned_timeunit_special_chars.vg.json +++ b/examples/compiled/bar_simple_binned_timeunit_special_chars.vg.json @@ -60,7 +60,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"b: \" + (format(datum[\"b\"], \"\")) + \"; a.b: \" + (timeFormat(datum[\"a.b\"], timeUnitSpecifier([\"year\",\"month\",\"date\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" + "signal": "\"b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; a.b: \" + (!isValid(datum[\"a.b\"]) || !isFinite(+datum[\"a.b\"]) ? \"\" + datum[\"a.b\"] : timeFormat(datum[\"a.b\"], timeUnitSpecifier([\"year\",\"month\",\"date\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" }, "x": {"scale": "x", "field": "b_end"}, "x2": {"scale": "x", "field": "b_start"}, diff --git a/examples/compiled/bar_simple_extent.vg.json b/examples/compiled/bar_simple_extent.vg.json index d25a759582..3275ae3f5e 100644 --- a/examples/compiled/bar_simple_extent.vg.json +++ b/examples/compiled/bar_simple_extent.vg.json @@ -65,7 +65,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"b: \" + (format(datum[\"b\"], \"\")) + \"; a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"])" + "signal": "\"b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; a: \" + (\"\" + datum[\"a\"])" }, "x": {"scale": "x", "field": "b_end"}, "x2": {"scale": "x", "field": "b_start"}, diff --git a/examples/compiled/bar_size_default.vg.json b/examples/compiled/bar_size_default.vg.json index a657e6fda5..dd1e911fc4 100644 --- a/examples/compiled/bar_size_default.vg.json +++ b/examples/compiled/bar_size_default.vg.json @@ -38,7 +38,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"scale": "x", "field": "Origin"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_size_explicit_bad.vg.json b/examples/compiled/bar_size_explicit_bad.vg.json index 564c59c463..a836197230 100644 --- a/examples/compiled/bar_size_explicit_bad.vg.json +++ b/examples/compiled/bar_size_explicit_bad.vg.json @@ -32,7 +32,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Name: \" + (isValid(datum[\"Name\"]) ? datum[\"Name\"] : \"\"+datum[\"Name\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Name: \" + (\"\" + datum[\"Name\"]) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"scale": "x", "field": "Name"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_size_fit.vg.json b/examples/compiled/bar_size_fit.vg.json index aed17f5075..5ef8912262 100644 --- a/examples/compiled/bar_size_fit.vg.json +++ b/examples/compiled/bar_size_fit.vg.json @@ -32,7 +32,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"scale": "x", "field": "Origin"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_size_responsive.vg.json b/examples/compiled/bar_size_responsive.vg.json index 2ed5384234..991f2e2ba9 100644 --- a/examples/compiled/bar_size_responsive.vg.json +++ b/examples/compiled/bar_size_responsive.vg.json @@ -44,7 +44,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Number of Cars: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Number of Cars: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"scale": "x", "field": "Origin"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_size_step_small.vg.json b/examples/compiled/bar_size_step_small.vg.json index 4b49288a92..42652a16cf 100644 --- a/examples/compiled/bar_size_step_small.vg.json +++ b/examples/compiled/bar_size_step_small.vg.json @@ -38,7 +38,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"scale": "x", "field": "Origin"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_sort_by_count.vg.json b/examples/compiled/bar_sort_by_count.vg.json index cec76baa9b..b8d1a9fead 100644 --- a/examples/compiled/bar_sort_by_count.vg.json +++ b/examples/compiled/bar_sort_by_count.vg.json @@ -39,7 +39,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"scale": "x", "field": "Cylinders"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_swap_axes.vg.json b/examples/compiled/bar_swap_axes.vg.json index 24c5aedd84..d804a92965 100644 --- a/examples/compiled/bar_swap_axes.vg.json +++ b/examples/compiled/bar_swap_axes.vg.json @@ -55,7 +55,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Average of b: \" + (format(datum[\"average_b\"], \"\")) + \"; a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"])" + "signal": "\"Average of b: \" + (!isValid(datum[\"average_b\"]) || !isFinite(+datum[\"average_b\"]) ? \"\" + datum[\"average_b\"] : format(datum[\"average_b\"], \"\")) + \"; a: \" + (\"\" + datum[\"a\"])" }, "x": {"scale": "x", "field": "average_b"}, "x2": {"scale": "x", "value": 0}, diff --git a/examples/compiled/bar_swap_custom.vg.json b/examples/compiled/bar_swap_custom.vg.json index 4d8760930d..1026c71dae 100644 --- a/examples/compiled/bar_swap_custom.vg.json +++ b/examples/compiled/bar_swap_custom.vg.json @@ -55,7 +55,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Mean of b: \" + (format(datum[\"average_b\"], \"\")) + \"; a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"])" + "signal": "\"Mean of b: \" + (!isValid(datum[\"average_b\"]) || !isFinite(+datum[\"average_b\"]) ? \"\" + datum[\"average_b\"] : format(datum[\"average_b\"], \"\")) + \"; a: \" + (\"\" + datum[\"a\"])" }, "x": {"scale": "x", "field": "average_b"}, "x2": {"scale": "x", "value": 0}, diff --git a/examples/compiled/bar_temporal_color_config_time_unit_band_position.vg.json b/examples/compiled/bar_temporal_color_config_time_unit_band_position.vg.json index a1e33bc152..15af7d92c9 100644 --- a/examples/compiled/bar_temporal_color_config_time_unit_band_position.vg.json +++ b/examples/compiled/bar_temporal_color_config_time_unit_band_position.vg.json @@ -57,7 +57,7 @@ "fill": {"scale": "color", "field": "year_date"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"]) + \"; Sum of price: \" + (format(datum[\"sum_price\"], \"\")) + \"; date (year): \" + (timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" + "signal": "\"symbol: \" + (\"\" + datum[\"symbol\"]) + \"; Sum of price: \" + (!isValid(datum[\"sum_price\"]) || !isFinite(+datum[\"sum_price\"]) ? \"\" + datum[\"sum_price\"] : format(datum[\"sum_price\"], \"\")) + \"; date (year): \" + (!isValid(datum[\"year_date\"]) || !isFinite(+datum[\"year_date\"]) ? \"\" + datum[\"year_date\"] : timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" }, "x": {"scale": "x", "field": "symbol"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_title.vg.json b/examples/compiled/bar_title.vg.json index cef272a2d1..a1df9fdcfd 100644 --- a/examples/compiled/bar_title.vg.json +++ b/examples/compiled/bar_title.vg.json @@ -57,7 +57,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "a"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_title_start.vg.json b/examples/compiled/bar_title_start.vg.json index 03fedcee38..f30c2a7ea7 100644 --- a/examples/compiled/bar_title_start.vg.json +++ b/examples/compiled/bar_title_start.vg.json @@ -57,7 +57,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "a"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_tooltip.vg.json b/examples/compiled/bar_tooltip.vg.json index 5295344d5f..bccec90f82 100644 --- a/examples/compiled/bar_tooltip.vg.json +++ b/examples/compiled/bar_tooltip.vg.json @@ -55,10 +55,12 @@ "encode": { "update": { "fill": {"value": "#4c78a8"}, - "tooltip": {"signal": "format(datum[\"b\"], \"\")"}, + "tooltip": { + "signal": "!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")" + }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "a"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_tooltip_aggregate.vg.json b/examples/compiled/bar_tooltip_aggregate.vg.json index f4b9af25c1..3cb5e22501 100644 --- a/examples/compiled/bar_tooltip_aggregate.vg.json +++ b/examples/compiled/bar_tooltip_aggregate.vg.json @@ -34,10 +34,12 @@ "encode": { "update": { "fill": {"value": "#4c78a8"}, - "tooltip": {"signal": "format(datum[\"mean_data\"], \"\")"}, + "tooltip": { + "signal": "!isValid(datum[\"mean_data\"]) || !isFinite(+datum[\"mean_data\"]) ? \"\" + datum[\"mean_data\"] : format(datum[\"mean_data\"], \"\")" + }, "ariaRoleDescription": {"value": "tick"}, "description": { - "signal": "\"Mean of data: \" + (format(datum[\"mean_data\"], \"\"))" + "signal": "\"Mean of data: \" + (!isValid(datum[\"mean_data\"]) || !isFinite(+datum[\"mean_data\"]) ? \"\" + datum[\"mean_data\"] : format(datum[\"mean_data\"], \"\"))" }, "xc": {"signal": "width", "mult": 0.5}, "yc": {"scale": "y", "field": "mean_data"}, diff --git a/examples/compiled/bar_tooltip_groupby.vg.json b/examples/compiled/bar_tooltip_groupby.vg.json index d024f77b49..b2e57a657a 100644 --- a/examples/compiled/bar_tooltip_groupby.vg.json +++ b/examples/compiled/bar_tooltip_groupby.vg.json @@ -34,12 +34,10 @@ "encode": { "update": { "fill": {"value": "#4c78a8"}, - "tooltip": { - "signal": "isValid(datum[\"data\"]) ? datum[\"data\"] : \"\"+datum[\"data\"]" - }, + "tooltip": {"signal": "\"\" + datum[\"data\"]"}, "ariaRoleDescription": {"value": "tick"}, "description": { - "signal": "\"Mean of data: \" + (format(datum[\"mean_data\"], \"\")) + \"; data: \" + (isValid(datum[\"data\"]) ? datum[\"data\"] : \"\"+datum[\"data\"])" + "signal": "\"Mean of data: \" + (!isValid(datum[\"mean_data\"]) || !isFinite(+datum[\"mean_data\"]) ? \"\" + datum[\"mean_data\"] : format(datum[\"mean_data\"], \"\")) + \"; data: \" + (\"\" + datum[\"data\"])" }, "xc": {"signal": "width", "mult": 0.5}, "yc": {"scale": "y", "field": "mean_data"}, diff --git a/examples/compiled/bar_tooltip_multi.vg.json b/examples/compiled/bar_tooltip_multi.vg.json index 6a35ed202d..26d34fc059 100644 --- a/examples/compiled/bar_tooltip_multi.vg.json +++ b/examples/compiled/bar_tooltip_multi.vg.json @@ -55,11 +55,11 @@ "update": { "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "a"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_tooltip_title.vg.json b/examples/compiled/bar_tooltip_title.vg.json index 4575f585db..9cd1403db2 100644 --- a/examples/compiled/bar_tooltip_title.vg.json +++ b/examples/compiled/bar_tooltip_title.vg.json @@ -55,11 +55,11 @@ "update": { "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"Field A\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"Field B\": format(datum[\"b\"], \"\")}" + "signal": "{\"Field A\": \"\" + datum[\"a\"], \"Field B\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; Field A: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; Field B: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; Field A: \" + (\"\" + datum[\"a\"]) + \"; Field B: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "a"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/bar_x_offset_without_x.vg.json b/examples/compiled/bar_x_offset_without_x.vg.json index c3fb601dde..a72f3f4adf 100644 --- a/examples/compiled/bar_x_offset_without_x.vg.json +++ b/examples/compiled/bar_x_offset_without_x.vg.json @@ -51,7 +51,7 @@ "fill": {"scale": "color", "field": "group"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"value: \" + (format(datum[\"value\"], \"\")) + \"; group: \" + (isValid(datum[\"group\"]) ? datum[\"group\"] : \"\"+datum[\"group\"])" + "signal": "\"value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; group: \" + (\"\" + datum[\"group\"])" }, "x": { "signal": "width", diff --git a/examples/compiled/bar_yearmonth.vg.json b/examples/compiled/bar_yearmonth.vg.json index 3427f5e5de..352bf40eb2 100644 --- a/examples/compiled/bar_yearmonth.vg.json +++ b/examples/compiled/bar_yearmonth.vg.json @@ -43,7 +43,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date (year-month): \" + (timeFormat(datum[\"yearmonth_date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of temp_max: \" + (format(datum[\"mean_temp_max\"], \"\"))" + "signal": "\"date (year-month): \" + (!isValid(datum[\"yearmonth_date\"]) || !isFinite(+datum[\"yearmonth_date\"]) ? \"\" + datum[\"yearmonth_date\"] : timeFormat(datum[\"yearmonth_date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of temp_max: \" + (!isValid(datum[\"mean_temp_max\"]) || !isFinite(+datum[\"mean_temp_max\"]) ? \"\" + datum[\"mean_temp_max\"] : format(datum[\"mean_temp_max\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/bar_yearmonth_center_band.vg.json b/examples/compiled/bar_yearmonth_center_band.vg.json index 4886b6c607..3cb506a1e1 100644 --- a/examples/compiled/bar_yearmonth_center_band.vg.json +++ b/examples/compiled/bar_yearmonth_center_band.vg.json @@ -58,7 +58,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date (year-month): \" + (timeFormat(datum[\"yearmonth_date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of temp_max: \" + (format(datum[\"mean_temp_max\"], \"\"))" + "signal": "\"date (year-month): \" + (!isValid(datum[\"yearmonth_date\"]) || !isFinite(+datum[\"yearmonth_date\"]) ? \"\" + datum[\"yearmonth_date\"] : timeFormat(datum[\"yearmonth_date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of temp_max: \" + (!isValid(datum[\"mean_temp_max\"]) || !isFinite(+datum[\"mean_temp_max\"]) ? \"\" + datum[\"mean_temp_max\"] : format(datum[\"mean_temp_max\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/bar_yearmonth_custom_format.vg.json b/examples/compiled/bar_yearmonth_custom_format.vg.json index 5463902d4f..d87a7d5ad6 100644 --- a/examples/compiled/bar_yearmonth_custom_format.vg.json +++ b/examples/compiled/bar_yearmonth_custom_format.vg.json @@ -43,7 +43,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date (year-month): \" + (timeFormat(datum[\"yearmonth_date\"], '%B of %Y')) + \"; Mean of temp_max: \" + (format(datum[\"mean_temp_max\"], \"\"))" + "signal": "\"date (year-month): \" + (!isValid(datum[\"yearmonth_date\"]) || !isFinite(+datum[\"yearmonth_date\"]) ? \"\" + datum[\"yearmonth_date\"] : timeFormat(datum[\"yearmonth_date\"], '%B of %Y')) + \"; Mean of temp_max: \" + (!isValid(datum[\"mean_temp_max\"]) || !isFinite(+datum[\"mean_temp_max\"]) ? \"\" + datum[\"mean_temp_max\"] : format(datum[\"mean_temp_max\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/bar_yearmonthdate_minBandSize.vg.json b/examples/compiled/bar_yearmonthdate_minBandSize.vg.json index bcf02a3741..79b44fbab1 100644 --- a/examples/compiled/bar_yearmonthdate_minBandSize.vg.json +++ b/examples/compiled/bar_yearmonthdate_minBandSize.vg.json @@ -42,7 +42,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date (year-month-date): \" + (timeFormat(datum[\"yearmonthdate_date\"], timeUnitSpecifier([\"year\",\"month\",\"date\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of temp_max: \" + (format(datum[\"mean_temp_max\"], \"\"))" + "signal": "\"date (year-month-date): \" + (!isValid(datum[\"yearmonthdate_date\"]) || !isFinite(+datum[\"yearmonthdate_date\"]) ? \"\" + datum[\"yearmonthdate_date\"] : timeFormat(datum[\"yearmonthdate_date\"], timeUnitSpecifier([\"year\",\"month\",\"date\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of temp_max: \" + (!isValid(datum[\"mean_temp_max\"]) || !isFinite(+datum[\"mean_temp_max\"]) ? \"\" + datum[\"mean_temp_max\"] : format(datum[\"mean_temp_max\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/boxplot_1D_horizontal.vg.json b/examples/compiled/boxplot_1D_horizontal.vg.json index 989dcbfbf3..7b73676cf4 100644 --- a/examples/compiled/boxplot_1D_horizontal.vg.json +++ b/examples/compiled/boxplot_1D_horizontal.vg.json @@ -145,7 +145,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Body Mass (g): \" + (format(datum[\"Body Mass (g)\"], \"\"))" + "signal": "\"Body Mass (g): \" + (!isValid(datum[\"Body Mass (g)\"]) || !isFinite(+datum[\"Body Mass (g)\"]) ? \"\" + datum[\"Body Mass (g)\"] : format(datum[\"Body Mass (g)\"], \"\"))" }, "x": {"scale": "x", "field": "Body Mass (g)"}, "y": {"signal": "height", "mult": 0.5} @@ -162,7 +162,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\")}" + "signal": "{\"Upper Whisker of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\")}" }, "x": {"scale": "x", "field": "lower_whisker_Body Mass (g)"}, "x2": {"scale": "x", "field": "lower_box_Body Mass (g)"}, @@ -180,7 +180,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\")}" + "signal": "{\"Upper Whisker of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\")}" }, "x": {"scale": "x", "field": "upper_box_Body Mass (g)"}, "x2": {"scale": "x", "field": "upper_whisker_Body Mass (g)"}, @@ -198,10 +198,10 @@ "ariaRoleDescription": {"value": "box"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"min_Body Mass (g)\"], \"\")}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"max_Body Mass (g)\"]) || !isFinite(+datum[\"max_Body Mass (g)\"]) ? \"\" + datum[\"max_Body Mass (g)\"] : format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"min_Body Mass (g)\"]) || !isFinite(+datum[\"min_Body Mass (g)\"]) ? \"\" + datum[\"min_Body Mass (g)\"] : format(datum[\"min_Body Mass (g)\"], \"\")}" }, "description": { - "signal": "\"Body Mass (g): \" + (format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; upper_box_Body Mass (g): \" + (format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Max of Body Mass (g): \" + (format(datum[\"max_Body Mass (g)\"], \"\")) + \"; Q3 of Body Mass (g): \" + (format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Median of Body Mass (g): \" + (format(datum[\"mid_box_Body Mass (g)\"], \"\")) + \"; Q1 of Body Mass (g): \" + (format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Min of Body Mass (g): \" + (format(datum[\"min_Body Mass (g)\"], \"\"))" + "signal": "\"Body Mass (g): \" + (!isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; upper_box_Body Mass (g): \" + (!isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Max of Body Mass (g): \" + (!isValid(datum[\"max_Body Mass (g)\"]) || !isFinite(+datum[\"max_Body Mass (g)\"]) ? \"\" + datum[\"max_Body Mass (g)\"] : format(datum[\"max_Body Mass (g)\"], \"\")) + \"; Q3 of Body Mass (g): \" + (!isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Median of Body Mass (g): \" + (!isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\")) + \"; Q1 of Body Mass (g): \" + (!isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Min of Body Mass (g): \" + (!isValid(datum[\"min_Body Mass (g)\"]) || !isFinite(+datum[\"min_Body Mass (g)\"]) ? \"\" + datum[\"min_Body Mass (g)\"] : format(datum[\"min_Body Mass (g)\"], \"\"))" }, "x": {"scale": "x", "field": "lower_box_Body Mass (g)"}, "x2": {"scale": "x", "field": "upper_box_Body Mass (g)"}, @@ -227,7 +227,7 @@ {"value": "white"} ], "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"min_Body Mass (g)\"], \"\")}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"max_Body Mass (g)\"]) || !isFinite(+datum[\"max_Body Mass (g)\"]) ? \"\" + datum[\"max_Body Mass (g)\"] : format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"min_Body Mass (g)\"]) || !isFinite(+datum[\"min_Body Mass (g)\"]) ? \"\" + datum[\"min_Body Mass (g)\"] : format(datum[\"min_Body Mass (g)\"], \"\")}" }, "xc": {"scale": "x", "field": "mid_box_Body Mass (g)"}, "yc": {"signal": "height", "mult": 0.5}, diff --git a/examples/compiled/boxplot_1D_horizontal_custom_mark.vg.json b/examples/compiled/boxplot_1D_horizontal_custom_mark.vg.json index b46b4f4f66..6d14f9490e 100644 --- a/examples/compiled/boxplot_1D_horizontal_custom_mark.vg.json +++ b/examples/compiled/boxplot_1D_horizontal_custom_mark.vg.json @@ -155,7 +155,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Body Mass (g): \" + (format(datum[\"Body Mass (g)\"], \"\"))" + "signal": "\"Body Mass (g): \" + (!isValid(datum[\"Body Mass (g)\"]) || !isFinite(+datum[\"Body Mass (g)\"]) ? \"\" + datum[\"Body Mass (g)\"] : format(datum[\"Body Mass (g)\"], \"\"))" }, "x": {"scale": "x", "field": "Body Mass (g)"}, "y": {"signal": "height", "mult": 0.5} @@ -172,7 +172,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\")}" + "signal": "{\"Upper Whisker of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\")}" }, "x": {"scale": "x", "field": "lower_whisker_Body Mass (g)"}, "x2": {"scale": "x", "field": "lower_box_Body Mass (g)"}, @@ -190,7 +190,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\")}" + "signal": "{\"Upper Whisker of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\")}" }, "x": {"scale": "x", "field": "upper_box_Body Mass (g)"}, "x2": {"scale": "x", "field": "upper_whisker_Body Mass (g)"}, @@ -209,7 +209,7 @@ "opacity": {"value": 1}, "fill": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\")}" + "signal": "{\"Upper Whisker of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\")}" }, "xc": {"scale": "x", "field": "lower_whisker_Body Mass (g)"}, "yc": {"signal": "height", "mult": 0.5}, @@ -229,7 +229,7 @@ "opacity": {"value": 1}, "fill": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\")}" + "signal": "{\"Upper Whisker of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\")}" }, "xc": {"scale": "x", "field": "upper_whisker_Body Mass (g)"}, "yc": {"signal": "height", "mult": 0.5}, @@ -248,10 +248,10 @@ "ariaRoleDescription": {"value": "box"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"min_Body Mass (g)\"], \"\")}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"max_Body Mass (g)\"]) || !isFinite(+datum[\"max_Body Mass (g)\"]) ? \"\" + datum[\"max_Body Mass (g)\"] : format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"min_Body Mass (g)\"]) || !isFinite(+datum[\"min_Body Mass (g)\"]) ? \"\" + datum[\"min_Body Mass (g)\"] : format(datum[\"min_Body Mass (g)\"], \"\")}" }, "description": { - "signal": "\"Body Mass (g): \" + (format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; upper_box_Body Mass (g): \" + (format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Max of Body Mass (g): \" + (format(datum[\"max_Body Mass (g)\"], \"\")) + \"; Q3 of Body Mass (g): \" + (format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Median of Body Mass (g): \" + (format(datum[\"mid_box_Body Mass (g)\"], \"\")) + \"; Q1 of Body Mass (g): \" + (format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Min of Body Mass (g): \" + (format(datum[\"min_Body Mass (g)\"], \"\"))" + "signal": "\"Body Mass (g): \" + (!isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; upper_box_Body Mass (g): \" + (!isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Max of Body Mass (g): \" + (!isValid(datum[\"max_Body Mass (g)\"]) || !isFinite(+datum[\"max_Body Mass (g)\"]) ? \"\" + datum[\"max_Body Mass (g)\"] : format(datum[\"max_Body Mass (g)\"], \"\")) + \"; Q3 of Body Mass (g): \" + (!isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Median of Body Mass (g): \" + (!isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\")) + \"; Q1 of Body Mass (g): \" + (!isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Min of Body Mass (g): \" + (!isValid(datum[\"min_Body Mass (g)\"]) || !isFinite(+datum[\"min_Body Mass (g)\"]) ? \"\" + datum[\"min_Body Mass (g)\"] : format(datum[\"min_Body Mass (g)\"], \"\"))" }, "x": {"scale": "x", "field": "lower_box_Body Mass (g)"}, "x2": {"scale": "x", "field": "upper_box_Body Mass (g)"}, @@ -277,7 +277,7 @@ {"value": "red"} ], "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"min_Body Mass (g)\"], \"\")}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"max_Body Mass (g)\"]) || !isFinite(+datum[\"max_Body Mass (g)\"]) ? \"\" + datum[\"max_Body Mass (g)\"] : format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"min_Body Mass (g)\"]) || !isFinite(+datum[\"min_Body Mass (g)\"]) ? \"\" + datum[\"min_Body Mass (g)\"] : format(datum[\"min_Body Mass (g)\"], \"\")}" }, "xc": {"scale": "x", "field": "mid_box_Body Mass (g)"}, "yc": {"signal": "height", "mult": 0.5}, diff --git a/examples/compiled/boxplot_1D_horizontal_explicit.vg.json b/examples/compiled/boxplot_1D_horizontal_explicit.vg.json index 989dcbfbf3..7b73676cf4 100644 --- a/examples/compiled/boxplot_1D_horizontal_explicit.vg.json +++ b/examples/compiled/boxplot_1D_horizontal_explicit.vg.json @@ -145,7 +145,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Body Mass (g): \" + (format(datum[\"Body Mass (g)\"], \"\"))" + "signal": "\"Body Mass (g): \" + (!isValid(datum[\"Body Mass (g)\"]) || !isFinite(+datum[\"Body Mass (g)\"]) ? \"\" + datum[\"Body Mass (g)\"] : format(datum[\"Body Mass (g)\"], \"\"))" }, "x": {"scale": "x", "field": "Body Mass (g)"}, "y": {"signal": "height", "mult": 0.5} @@ -162,7 +162,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\")}" + "signal": "{\"Upper Whisker of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\")}" }, "x": {"scale": "x", "field": "lower_whisker_Body Mass (g)"}, "x2": {"scale": "x", "field": "lower_box_Body Mass (g)"}, @@ -180,7 +180,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\")}" + "signal": "{\"Upper Whisker of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\")}" }, "x": {"scale": "x", "field": "upper_box_Body Mass (g)"}, "x2": {"scale": "x", "field": "upper_whisker_Body Mass (g)"}, @@ -198,10 +198,10 @@ "ariaRoleDescription": {"value": "box"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"min_Body Mass (g)\"], \"\")}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"max_Body Mass (g)\"]) || !isFinite(+datum[\"max_Body Mass (g)\"]) ? \"\" + datum[\"max_Body Mass (g)\"] : format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"min_Body Mass (g)\"]) || !isFinite(+datum[\"min_Body Mass (g)\"]) ? \"\" + datum[\"min_Body Mass (g)\"] : format(datum[\"min_Body Mass (g)\"], \"\")}" }, "description": { - "signal": "\"Body Mass (g): \" + (format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; upper_box_Body Mass (g): \" + (format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Max of Body Mass (g): \" + (format(datum[\"max_Body Mass (g)\"], \"\")) + \"; Q3 of Body Mass (g): \" + (format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Median of Body Mass (g): \" + (format(datum[\"mid_box_Body Mass (g)\"], \"\")) + \"; Q1 of Body Mass (g): \" + (format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Min of Body Mass (g): \" + (format(datum[\"min_Body Mass (g)\"], \"\"))" + "signal": "\"Body Mass (g): \" + (!isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; upper_box_Body Mass (g): \" + (!isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Max of Body Mass (g): \" + (!isValid(datum[\"max_Body Mass (g)\"]) || !isFinite(+datum[\"max_Body Mass (g)\"]) ? \"\" + datum[\"max_Body Mass (g)\"] : format(datum[\"max_Body Mass (g)\"], \"\")) + \"; Q3 of Body Mass (g): \" + (!isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Median of Body Mass (g): \" + (!isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\")) + \"; Q1 of Body Mass (g): \" + (!isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Min of Body Mass (g): \" + (!isValid(datum[\"min_Body Mass (g)\"]) || !isFinite(+datum[\"min_Body Mass (g)\"]) ? \"\" + datum[\"min_Body Mass (g)\"] : format(datum[\"min_Body Mass (g)\"], \"\"))" }, "x": {"scale": "x", "field": "lower_box_Body Mass (g)"}, "x2": {"scale": "x", "field": "upper_box_Body Mass (g)"}, @@ -227,7 +227,7 @@ {"value": "white"} ], "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"min_Body Mass (g)\"], \"\")}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"max_Body Mass (g)\"]) || !isFinite(+datum[\"max_Body Mass (g)\"]) ? \"\" + datum[\"max_Body Mass (g)\"] : format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"min_Body Mass (g)\"]) || !isFinite(+datum[\"min_Body Mass (g)\"]) ? \"\" + datum[\"min_Body Mass (g)\"] : format(datum[\"min_Body Mass (g)\"], \"\")}" }, "xc": {"scale": "x", "field": "mid_box_Body Mass (g)"}, "yc": {"signal": "height", "mult": 0.5}, diff --git a/examples/compiled/boxplot_1D_invalid.vg.json b/examples/compiled/boxplot_1D_invalid.vg.json index cdaf4a8f35..f1cdf78b1f 100644 --- a/examples/compiled/boxplot_1D_invalid.vg.json +++ b/examples/compiled/boxplot_1D_invalid.vg.json @@ -133,7 +133,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "a"}, "y": {"scale": "y", "field": "b"} @@ -150,7 +150,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of b\": format(datum[\"upper_whisker_b\"], \"\"), \"Lower Whisker of b\": format(datum[\"lower_whisker_b\"], \"\"), \"a\": format(datum[\"a\"], \"\")}" + "signal": "{\"Upper Whisker of b\": !isValid(datum[\"upper_whisker_b\"]) || !isFinite(+datum[\"upper_whisker_b\"]) ? \"\" + datum[\"upper_whisker_b\"] : format(datum[\"upper_whisker_b\"], \"\"), \"Lower Whisker of b\": !isValid(datum[\"lower_whisker_b\"]) || !isFinite(+datum[\"lower_whisker_b\"]) ? \"\" + datum[\"lower_whisker_b\"] : format(datum[\"lower_whisker_b\"], \"\"), \"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")}" }, "x": {"scale": "x", "field": "a"}, "y": {"scale": "y", "field": "lower_whisker_b"}, @@ -168,7 +168,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of b\": format(datum[\"upper_whisker_b\"], \"\"), \"Lower Whisker of b\": format(datum[\"lower_whisker_b\"], \"\"), \"a\": format(datum[\"a\"], \"\")}" + "signal": "{\"Upper Whisker of b\": !isValid(datum[\"upper_whisker_b\"]) || !isFinite(+datum[\"upper_whisker_b\"]) ? \"\" + datum[\"upper_whisker_b\"] : format(datum[\"upper_whisker_b\"], \"\"), \"Lower Whisker of b\": !isValid(datum[\"lower_whisker_b\"]) || !isFinite(+datum[\"lower_whisker_b\"]) ? \"\" + datum[\"lower_whisker_b\"] : format(datum[\"lower_whisker_b\"], \"\"), \"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")}" }, "x": {"scale": "x", "field": "a"}, "y": {"scale": "y", "field": "upper_box_b"}, @@ -186,10 +186,10 @@ "ariaRoleDescription": {"value": "box"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"Max of b\": format(datum[\"max_b\"], \"\"), \"Q3 of b\": format(datum[\"upper_box_b\"], \"\"), \"Median of b\": format(datum[\"mid_box_b\"], \"\"), \"Q1 of b\": format(datum[\"lower_box_b\"], \"\"), \"Min of b\": format(datum[\"min_b\"], \"\"), \"a\": format(datum[\"a\"], \"\")}" + "signal": "{\"Max of b\": !isValid(datum[\"max_b\"]) || !isFinite(+datum[\"max_b\"]) ? \"\" + datum[\"max_b\"] : format(datum[\"max_b\"], \"\"), \"Q3 of b\": !isValid(datum[\"upper_box_b\"]) || !isFinite(+datum[\"upper_box_b\"]) ? \"\" + datum[\"upper_box_b\"] : format(datum[\"upper_box_b\"], \"\"), \"Median of b\": !isValid(datum[\"mid_box_b\"]) || !isFinite(+datum[\"mid_box_b\"]) ? \"\" + datum[\"mid_box_b\"] : format(datum[\"mid_box_b\"], \"\"), \"Q1 of b\": !isValid(datum[\"lower_box_b\"]) || !isFinite(+datum[\"lower_box_b\"]) ? \"\" + datum[\"lower_box_b\"] : format(datum[\"lower_box_b\"], \"\"), \"Min of b\": !isValid(datum[\"min_b\"]) || !isFinite(+datum[\"min_b\"]) ? \"\" + datum[\"min_b\"] : format(datum[\"min_b\"], \"\"), \"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"lower_box_b\"], \"\")) + \"; upper_box_b: \" + (format(datum[\"upper_box_b\"], \"\")) + \"; Max of b: \" + (format(datum[\"max_b\"], \"\")) + \"; Q3 of b: \" + (format(datum[\"upper_box_b\"], \"\")) + \"; Median of b: \" + (format(datum[\"mid_box_b\"], \"\")) + \"; Q1 of b: \" + (format(datum[\"lower_box_b\"], \"\")) + \"; Min of b: \" + (format(datum[\"min_b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"lower_box_b\"]) || !isFinite(+datum[\"lower_box_b\"]) ? \"\" + datum[\"lower_box_b\"] : format(datum[\"lower_box_b\"], \"\")) + \"; upper_box_b: \" + (!isValid(datum[\"upper_box_b\"]) || !isFinite(+datum[\"upper_box_b\"]) ? \"\" + datum[\"upper_box_b\"] : format(datum[\"upper_box_b\"], \"\")) + \"; Max of b: \" + (!isValid(datum[\"max_b\"]) || !isFinite(+datum[\"max_b\"]) ? \"\" + datum[\"max_b\"] : format(datum[\"max_b\"], \"\")) + \"; Q3 of b: \" + (!isValid(datum[\"upper_box_b\"]) || !isFinite(+datum[\"upper_box_b\"]) ? \"\" + datum[\"upper_box_b\"] : format(datum[\"upper_box_b\"], \"\")) + \"; Median of b: \" + (!isValid(datum[\"mid_box_b\"]) || !isFinite(+datum[\"mid_box_b\"]) ? \"\" + datum[\"mid_box_b\"] : format(datum[\"mid_box_b\"], \"\")) + \"; Q1 of b: \" + (!isValid(datum[\"lower_box_b\"]) || !isFinite(+datum[\"lower_box_b\"]) ? \"\" + datum[\"lower_box_b\"] : format(datum[\"lower_box_b\"], \"\")) + \"; Min of b: \" + (!isValid(datum[\"min_b\"]) || !isFinite(+datum[\"min_b\"]) ? \"\" + datum[\"min_b\"] : format(datum[\"min_b\"], \"\"))" }, "xc": {"scale": "x", "field": "a"}, "width": {"value": 14}, @@ -215,7 +215,7 @@ {"value": "white"} ], "tooltip": { - "signal": "{\"Max of b\": format(datum[\"max_b\"], \"\"), \"Q3 of b\": format(datum[\"upper_box_b\"], \"\"), \"Median of b\": format(datum[\"mid_box_b\"], \"\"), \"Q1 of b\": format(datum[\"lower_box_b\"], \"\"), \"Min of b\": format(datum[\"min_b\"], \"\"), \"a\": format(datum[\"a\"], \"\")}" + "signal": "{\"Max of b\": !isValid(datum[\"max_b\"]) || !isFinite(+datum[\"max_b\"]) ? \"\" + datum[\"max_b\"] : format(datum[\"max_b\"], \"\"), \"Q3 of b\": !isValid(datum[\"upper_box_b\"]) || !isFinite(+datum[\"upper_box_b\"]) ? \"\" + datum[\"upper_box_b\"] : format(datum[\"upper_box_b\"], \"\"), \"Median of b\": !isValid(datum[\"mid_box_b\"]) || !isFinite(+datum[\"mid_box_b\"]) ? \"\" + datum[\"mid_box_b\"] : format(datum[\"mid_box_b\"], \"\"), \"Q1 of b\": !isValid(datum[\"lower_box_b\"]) || !isFinite(+datum[\"lower_box_b\"]) ? \"\" + datum[\"lower_box_b\"] : format(datum[\"lower_box_b\"], \"\"), \"Min of b\": !isValid(datum[\"min_b\"]) || !isFinite(+datum[\"min_b\"]) ? \"\" + datum[\"min_b\"] : format(datum[\"min_b\"], \"\"), \"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")}" }, "xc": {"scale": "x", "field": "a"}, "yc": {"scale": "y", "field": "mid_box_b"}, diff --git a/examples/compiled/boxplot_1D_vertical.vg.json b/examples/compiled/boxplot_1D_vertical.vg.json index 4e5ceedd6f..ee31d07ba1 100644 --- a/examples/compiled/boxplot_1D_vertical.vg.json +++ b/examples/compiled/boxplot_1D_vertical.vg.json @@ -145,7 +145,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Body Mass (g): \" + (format(datum[\"Body Mass (g)\"], \"\"))" + "signal": "\"Body Mass (g): \" + (!isValid(datum[\"Body Mass (g)\"]) || !isFinite(+datum[\"Body Mass (g)\"]) ? \"\" + datum[\"Body Mass (g)\"] : format(datum[\"Body Mass (g)\"], \"\"))" }, "x": {"signal": "width", "mult": 0.5}, "y": {"scale": "y", "field": "Body Mass (g)"} @@ -162,7 +162,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\")}" + "signal": "{\"Upper Whisker of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\")}" }, "x": {"signal": "width", "mult": 0.5}, "y": {"scale": "y", "field": "lower_whisker_Body Mass (g)"}, @@ -180,7 +180,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\")}" + "signal": "{\"Upper Whisker of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\")}" }, "x": {"signal": "width", "mult": 0.5}, "y": {"scale": "y", "field": "upper_box_Body Mass (g)"}, @@ -198,10 +198,10 @@ "ariaRoleDescription": {"value": "box"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"min_Body Mass (g)\"], \"\")}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"max_Body Mass (g)\"]) || !isFinite(+datum[\"max_Body Mass (g)\"]) ? \"\" + datum[\"max_Body Mass (g)\"] : format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"min_Body Mass (g)\"]) || !isFinite(+datum[\"min_Body Mass (g)\"]) ? \"\" + datum[\"min_Body Mass (g)\"] : format(datum[\"min_Body Mass (g)\"], \"\")}" }, "description": { - "signal": "\"Body Mass (g): \" + (format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; upper_box_Body Mass (g): \" + (format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Max of Body Mass (g): \" + (format(datum[\"max_Body Mass (g)\"], \"\")) + \"; Q3 of Body Mass (g): \" + (format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Median of Body Mass (g): \" + (format(datum[\"mid_box_Body Mass (g)\"], \"\")) + \"; Q1 of Body Mass (g): \" + (format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Min of Body Mass (g): \" + (format(datum[\"min_Body Mass (g)\"], \"\"))" + "signal": "\"Body Mass (g): \" + (!isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; upper_box_Body Mass (g): \" + (!isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Max of Body Mass (g): \" + (!isValid(datum[\"max_Body Mass (g)\"]) || !isFinite(+datum[\"max_Body Mass (g)\"]) ? \"\" + datum[\"max_Body Mass (g)\"] : format(datum[\"max_Body Mass (g)\"], \"\")) + \"; Q3 of Body Mass (g): \" + (!isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Median of Body Mass (g): \" + (!isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\")) + \"; Q1 of Body Mass (g): \" + (!isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Min of Body Mass (g): \" + (!isValid(datum[\"min_Body Mass (g)\"]) || !isFinite(+datum[\"min_Body Mass (g)\"]) ? \"\" + datum[\"min_Body Mass (g)\"] : format(datum[\"min_Body Mass (g)\"], \"\"))" }, "xc": {"signal": "width", "mult": 0.5}, "width": {"value": 14}, @@ -227,7 +227,7 @@ {"value": "white"} ], "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"min_Body Mass (g)\"], \"\")}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"max_Body Mass (g)\"]) || !isFinite(+datum[\"max_Body Mass (g)\"]) ? \"\" + datum[\"max_Body Mass (g)\"] : format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"min_Body Mass (g)\"]) || !isFinite(+datum[\"min_Body Mass (g)\"]) ? \"\" + datum[\"min_Body Mass (g)\"] : format(datum[\"min_Body Mass (g)\"], \"\")}" }, "xc": {"signal": "width", "mult": 0.5}, "yc": {"scale": "y", "field": "mid_box_Body Mass (g)"}, diff --git a/examples/compiled/boxplot_2D_horizontal.vg.json b/examples/compiled/boxplot_2D_horizontal.vg.json index 5ae134dabb..ad21d5fb67 100644 --- a/examples/compiled/boxplot_2D_horizontal.vg.json +++ b/examples/compiled/boxplot_2D_horizontal.vg.json @@ -148,7 +148,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Body Mass (g): \" + (format(datum[\"Body Mass (g)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"])" + "signal": "\"Body Mass (g): \" + (!isValid(datum[\"Body Mass (g)\"]) || !isFinite(+datum[\"Body Mass (g)\"]) ? \"\" + datum[\"Body Mass (g)\"] : format(datum[\"Body Mass (g)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"])" }, "x": {"scale": "x", "field": "Body Mass (g)"}, "y": {"scale": "y", "field": "Species", "band": 0.5} @@ -165,7 +165,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Upper Whisker of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "x": {"scale": "x", "field": "lower_whisker_Body Mass (g)"}, "x2": {"scale": "x", "field": "lower_box_Body Mass (g)"}, @@ -183,7 +183,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Upper Whisker of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "x": {"scale": "x", "field": "upper_box_Body Mass (g)"}, "x2": {"scale": "x", "field": "upper_whisker_Body Mass (g)"}, @@ -201,10 +201,10 @@ "ariaRoleDescription": {"value": "box"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"min_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"max_Body Mass (g)\"]) || !isFinite(+datum[\"max_Body Mass (g)\"]) ? \"\" + datum[\"max_Body Mass (g)\"] : format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"min_Body Mass (g)\"]) || !isFinite(+datum[\"min_Body Mass (g)\"]) ? \"\" + datum[\"min_Body Mass (g)\"] : format(datum[\"min_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "description": { - "signal": "\"Body Mass (g): \" + (format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]) + \"; upper_box_Body Mass (g): \" + (format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Max of Body Mass (g): \" + (format(datum[\"max_Body Mass (g)\"], \"\")) + \"; Q3 of Body Mass (g): \" + (format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Median of Body Mass (g): \" + (format(datum[\"mid_box_Body Mass (g)\"], \"\")) + \"; Q1 of Body Mass (g): \" + (format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Min of Body Mass (g): \" + (format(datum[\"min_Body Mass (g)\"], \"\"))" + "signal": "\"Body Mass (g): \" + (!isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"]) + \"; upper_box_Body Mass (g): \" + (!isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Max of Body Mass (g): \" + (!isValid(datum[\"max_Body Mass (g)\"]) || !isFinite(+datum[\"max_Body Mass (g)\"]) ? \"\" + datum[\"max_Body Mass (g)\"] : format(datum[\"max_Body Mass (g)\"], \"\")) + \"; Q3 of Body Mass (g): \" + (!isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Median of Body Mass (g): \" + (!isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\")) + \"; Q1 of Body Mass (g): \" + (!isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Min of Body Mass (g): \" + (!isValid(datum[\"min_Body Mass (g)\"]) || !isFinite(+datum[\"min_Body Mass (g)\"]) ? \"\" + datum[\"min_Body Mass (g)\"] : format(datum[\"min_Body Mass (g)\"], \"\"))" }, "x": {"scale": "x", "field": "lower_box_Body Mass (g)"}, "x2": {"scale": "x", "field": "upper_box_Body Mass (g)"}, @@ -230,7 +230,7 @@ {"value": "white"} ], "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"min_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"max_Body Mass (g)\"]) || !isFinite(+datum[\"max_Body Mass (g)\"]) ? \"\" + datum[\"max_Body Mass (g)\"] : format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"min_Body Mass (g)\"]) || !isFinite(+datum[\"min_Body Mass (g)\"]) ? \"\" + datum[\"min_Body Mass (g)\"] : format(datum[\"min_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "xc": {"scale": "x", "field": "mid_box_Body Mass (g)"}, "yc": {"scale": "y", "field": "Species", "band": 0.5}, diff --git a/examples/compiled/boxplot_2D_horizontal_color_size.vg.json b/examples/compiled/boxplot_2D_horizontal_color_size.vg.json index 8bc85b5725..f1f2789128 100644 --- a/examples/compiled/boxplot_2D_horizontal_color_size.vg.json +++ b/examples/compiled/boxplot_2D_horizontal_color_size.vg.json @@ -148,7 +148,7 @@ "stroke": {"value": "teal"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Body Mass (g): \" + (format(datum[\"Body Mass (g)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"])" + "signal": "\"Body Mass (g): \" + (!isValid(datum[\"Body Mass (g)\"]) || !isFinite(+datum[\"Body Mass (g)\"]) ? \"\" + datum[\"Body Mass (g)\"] : format(datum[\"Body Mass (g)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"])" }, "x": {"scale": "x", "field": "Body Mass (g)"}, "y": {"scale": "y", "field": "Species", "band": 0.5} @@ -165,7 +165,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Upper Whisker of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "x": {"scale": "x", "field": "lower_whisker_Body Mass (g)"}, "x2": {"scale": "x", "field": "lower_box_Body Mass (g)"}, @@ -183,7 +183,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Upper Whisker of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "x": {"scale": "x", "field": "upper_box_Body Mass (g)"}, "x2": {"scale": "x", "field": "upper_whisker_Body Mass (g)"}, @@ -201,10 +201,10 @@ "ariaRoleDescription": {"value": "box"}, "fill": {"value": "teal"}, "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"min_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"max_Body Mass (g)\"]) || !isFinite(+datum[\"max_Body Mass (g)\"]) ? \"\" + datum[\"max_Body Mass (g)\"] : format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"min_Body Mass (g)\"]) || !isFinite(+datum[\"min_Body Mass (g)\"]) ? \"\" + datum[\"min_Body Mass (g)\"] : format(datum[\"min_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "description": { - "signal": "\"Body Mass (g): \" + (format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]) + \"; upper_box_Body Mass (g): \" + (format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Max of Body Mass (g): \" + (format(datum[\"max_Body Mass (g)\"], \"\")) + \"; Q3 of Body Mass (g): \" + (format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Median of Body Mass (g): \" + (format(datum[\"mid_box_Body Mass (g)\"], \"\")) + \"; Q1 of Body Mass (g): \" + (format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Min of Body Mass (g): \" + (format(datum[\"min_Body Mass (g)\"], \"\"))" + "signal": "\"Body Mass (g): \" + (!isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"]) + \"; upper_box_Body Mass (g): \" + (!isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Max of Body Mass (g): \" + (!isValid(datum[\"max_Body Mass (g)\"]) || !isFinite(+datum[\"max_Body Mass (g)\"]) ? \"\" + datum[\"max_Body Mass (g)\"] : format(datum[\"max_Body Mass (g)\"], \"\")) + \"; Q3 of Body Mass (g): \" + (!isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Median of Body Mass (g): \" + (!isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\")) + \"; Q1 of Body Mass (g): \" + (!isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Min of Body Mass (g): \" + (!isValid(datum[\"min_Body Mass (g)\"]) || !isFinite(+datum[\"min_Body Mass (g)\"]) ? \"\" + datum[\"min_Body Mass (g)\"] : format(datum[\"min_Body Mass (g)\"], \"\"))" }, "x": {"scale": "x", "field": "lower_box_Body Mass (g)"}, "x2": {"scale": "x", "field": "upper_box_Body Mass (g)"}, @@ -230,7 +230,7 @@ {"value": "white"} ], "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"min_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"max_Body Mass (g)\"]) || !isFinite(+datum[\"max_Body Mass (g)\"]) ? \"\" + datum[\"max_Body Mass (g)\"] : format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"min_Body Mass (g)\"]) || !isFinite(+datum[\"min_Body Mass (g)\"]) ? \"\" + datum[\"min_Body Mass (g)\"] : format(datum[\"min_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "xc": {"scale": "x", "field": "mid_box_Body Mass (g)"}, "yc": {"scale": "y", "field": "Species", "band": 0.5}, diff --git a/examples/compiled/boxplot_2D_vertical.vg.json b/examples/compiled/boxplot_2D_vertical.vg.json index 7dbbd0d072..163fbc3d3e 100644 --- a/examples/compiled/boxplot_2D_vertical.vg.json +++ b/examples/compiled/boxplot_2D_vertical.vg.json @@ -148,7 +148,7 @@ "stroke": {"scale": "color", "field": "Species"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]) + \"; Body Mass (g): \" + (format(datum[\"Body Mass (g)\"], \"\"))" + "signal": "\"Species: \" + (\"\" + datum[\"Species\"]) + \"; Body Mass (g): \" + (!isValid(datum[\"Body Mass (g)\"]) || !isFinite(+datum[\"Body Mass (g)\"]) ? \"\" + datum[\"Body Mass (g)\"] : format(datum[\"Body Mass (g)\"], \"\"))" }, "x": {"scale": "x", "field": "Species", "band": 0.5}, "y": {"scale": "y", "field": "Body Mass (g)"} @@ -165,7 +165,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Upper Whisker of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "x": {"scale": "x", "field": "Species", "band": 0.5}, "y": {"scale": "y", "field": "lower_whisker_Body Mass (g)"}, @@ -183,7 +183,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Upper Whisker of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "x": {"scale": "x", "field": "Species", "band": 0.5}, "y": {"scale": "y", "field": "upper_box_Body Mass (g)"}, @@ -201,10 +201,10 @@ "ariaRoleDescription": {"value": "box"}, "fill": {"scale": "color", "field": "Species"}, "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"min_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"max_Body Mass (g)\"]) || !isFinite(+datum[\"max_Body Mass (g)\"]) ? \"\" + datum[\"max_Body Mass (g)\"] : format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"min_Body Mass (g)\"]) || !isFinite(+datum[\"min_Body Mass (g)\"]) ? \"\" + datum[\"min_Body Mass (g)\"] : format(datum[\"min_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "description": { - "signal": "\"Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]) + \"; Body Mass (g): \" + (format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; upper_box_Body Mass (g): \" + (format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Max of Body Mass (g): \" + (format(datum[\"max_Body Mass (g)\"], \"\")) + \"; Q3 of Body Mass (g): \" + (format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Median of Body Mass (g): \" + (format(datum[\"mid_box_Body Mass (g)\"], \"\")) + \"; Q1 of Body Mass (g): \" + (format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Min of Body Mass (g): \" + (format(datum[\"min_Body Mass (g)\"], \"\"))" + "signal": "\"Species: \" + (\"\" + datum[\"Species\"]) + \"; Body Mass (g): \" + (!isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; upper_box_Body Mass (g): \" + (!isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Max of Body Mass (g): \" + (!isValid(datum[\"max_Body Mass (g)\"]) || !isFinite(+datum[\"max_Body Mass (g)\"]) ? \"\" + datum[\"max_Body Mass (g)\"] : format(datum[\"max_Body Mass (g)\"], \"\")) + \"; Q3 of Body Mass (g): \" + (!isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Median of Body Mass (g): \" + (!isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\")) + \"; Q1 of Body Mass (g): \" + (!isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Min of Body Mass (g): \" + (!isValid(datum[\"min_Body Mass (g)\"]) || !isFinite(+datum[\"min_Body Mass (g)\"]) ? \"\" + datum[\"min_Body Mass (g)\"] : format(datum[\"min_Body Mass (g)\"], \"\"))" }, "xc": {"scale": "x", "field": "Species", "band": 0.5}, "width": {"value": 14}, @@ -231,7 +231,7 @@ {"value": "white"} ], "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"min_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"max_Body Mass (g)\"]) || !isFinite(+datum[\"max_Body Mass (g)\"]) ? \"\" + datum[\"max_Body Mass (g)\"] : format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"min_Body Mass (g)\"]) || !isFinite(+datum[\"min_Body Mass (g)\"]) ? \"\" + datum[\"min_Body Mass (g)\"] : format(datum[\"min_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "xc": {"scale": "x", "field": "Species", "band": 0.5}, "yc": {"scale": "y", "field": "mid_box_Body Mass (g)"}, diff --git a/examples/compiled/boxplot_2D_vertical_single_per_group.vg.json b/examples/compiled/boxplot_2D_vertical_single_per_group.vg.json index 0ea2889ea3..e718f18155 100644 --- a/examples/compiled/boxplot_2D_vertical_single_per_group.vg.json +++ b/examples/compiled/boxplot_2D_vertical_single_per_group.vg.json @@ -130,7 +130,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "a", "band": 0.5}, "y": {"scale": "y", "field": "b"} @@ -147,7 +147,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of b\": format(datum[\"upper_whisker_b\"], \"\"), \"Lower Whisker of b\": format(datum[\"lower_whisker_b\"], \"\"), \"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]}" + "signal": "{\"Upper Whisker of b\": !isValid(datum[\"upper_whisker_b\"]) || !isFinite(+datum[\"upper_whisker_b\"]) ? \"\" + datum[\"upper_whisker_b\"] : format(datum[\"upper_whisker_b\"], \"\"), \"Lower Whisker of b\": !isValid(datum[\"lower_whisker_b\"]) || !isFinite(+datum[\"lower_whisker_b\"]) ? \"\" + datum[\"lower_whisker_b\"] : format(datum[\"lower_whisker_b\"], \"\"), \"a\": \"\" + datum[\"a\"]}" }, "x": {"scale": "x", "field": "a", "band": 0.5}, "y": {"scale": "y", "field": "lower_whisker_b"}, @@ -165,7 +165,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of b\": format(datum[\"upper_whisker_b\"], \"\"), \"Lower Whisker of b\": format(datum[\"lower_whisker_b\"], \"\"), \"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]}" + "signal": "{\"Upper Whisker of b\": !isValid(datum[\"upper_whisker_b\"]) || !isFinite(+datum[\"upper_whisker_b\"]) ? \"\" + datum[\"upper_whisker_b\"] : format(datum[\"upper_whisker_b\"], \"\"), \"Lower Whisker of b\": !isValid(datum[\"lower_whisker_b\"]) || !isFinite(+datum[\"lower_whisker_b\"]) ? \"\" + datum[\"lower_whisker_b\"] : format(datum[\"lower_whisker_b\"], \"\"), \"a\": \"\" + datum[\"a\"]}" }, "x": {"scale": "x", "field": "a", "band": 0.5}, "y": {"scale": "y", "field": "upper_box_b"}, @@ -183,10 +183,10 @@ "ariaRoleDescription": {"value": "box"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"Max of b\": format(datum[\"max_b\"], \"\"), \"Q3 of b\": format(datum[\"upper_box_b\"], \"\"), \"Median of b\": format(datum[\"mid_box_b\"], \"\"), \"Q1 of b\": format(datum[\"lower_box_b\"], \"\"), \"Min of b\": format(datum[\"min_b\"], \"\"), \"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]}" + "signal": "{\"Max of b\": !isValid(datum[\"max_b\"]) || !isFinite(+datum[\"max_b\"]) ? \"\" + datum[\"max_b\"] : format(datum[\"max_b\"], \"\"), \"Q3 of b\": !isValid(datum[\"upper_box_b\"]) || !isFinite(+datum[\"upper_box_b\"]) ? \"\" + datum[\"upper_box_b\"] : format(datum[\"upper_box_b\"], \"\"), \"Median of b\": !isValid(datum[\"mid_box_b\"]) || !isFinite(+datum[\"mid_box_b\"]) ? \"\" + datum[\"mid_box_b\"] : format(datum[\"mid_box_b\"], \"\"), \"Q1 of b\": !isValid(datum[\"lower_box_b\"]) || !isFinite(+datum[\"lower_box_b\"]) ? \"\" + datum[\"lower_box_b\"] : format(datum[\"lower_box_b\"], \"\"), \"Min of b\": !isValid(datum[\"min_b\"]) || !isFinite(+datum[\"min_b\"]) ? \"\" + datum[\"min_b\"] : format(datum[\"min_b\"], \"\"), \"a\": \"\" + datum[\"a\"]}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"lower_box_b\"], \"\")) + \"; upper_box_b: \" + (format(datum[\"upper_box_b\"], \"\")) + \"; Max of b: \" + (format(datum[\"max_b\"], \"\")) + \"; Q3 of b: \" + (format(datum[\"upper_box_b\"], \"\")) + \"; Median of b: \" + (format(datum[\"mid_box_b\"], \"\")) + \"; Q1 of b: \" + (format(datum[\"lower_box_b\"], \"\")) + \"; Min of b: \" + (format(datum[\"min_b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"lower_box_b\"]) || !isFinite(+datum[\"lower_box_b\"]) ? \"\" + datum[\"lower_box_b\"] : format(datum[\"lower_box_b\"], \"\")) + \"; upper_box_b: \" + (!isValid(datum[\"upper_box_b\"]) || !isFinite(+datum[\"upper_box_b\"]) ? \"\" + datum[\"upper_box_b\"] : format(datum[\"upper_box_b\"], \"\")) + \"; Max of b: \" + (!isValid(datum[\"max_b\"]) || !isFinite(+datum[\"max_b\"]) ? \"\" + datum[\"max_b\"] : format(datum[\"max_b\"], \"\")) + \"; Q3 of b: \" + (!isValid(datum[\"upper_box_b\"]) || !isFinite(+datum[\"upper_box_b\"]) ? \"\" + datum[\"upper_box_b\"] : format(datum[\"upper_box_b\"], \"\")) + \"; Median of b: \" + (!isValid(datum[\"mid_box_b\"]) || !isFinite(+datum[\"mid_box_b\"]) ? \"\" + datum[\"mid_box_b\"] : format(datum[\"mid_box_b\"], \"\")) + \"; Q1 of b: \" + (!isValid(datum[\"lower_box_b\"]) || !isFinite(+datum[\"lower_box_b\"]) ? \"\" + datum[\"lower_box_b\"] : format(datum[\"lower_box_b\"], \"\")) + \"; Min of b: \" + (!isValid(datum[\"min_b\"]) || !isFinite(+datum[\"min_b\"]) ? \"\" + datum[\"min_b\"] : format(datum[\"min_b\"], \"\"))" }, "xc": {"scale": "x", "field": "a", "band": 0.5}, "width": {"value": 14}, @@ -212,7 +212,7 @@ {"value": "white"} ], "tooltip": { - "signal": "{\"Max of b\": format(datum[\"max_b\"], \"\"), \"Q3 of b\": format(datum[\"upper_box_b\"], \"\"), \"Median of b\": format(datum[\"mid_box_b\"], \"\"), \"Q1 of b\": format(datum[\"lower_box_b\"], \"\"), \"Min of b\": format(datum[\"min_b\"], \"\"), \"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]}" + "signal": "{\"Max of b\": !isValid(datum[\"max_b\"]) || !isFinite(+datum[\"max_b\"]) ? \"\" + datum[\"max_b\"] : format(datum[\"max_b\"], \"\"), \"Q3 of b\": !isValid(datum[\"upper_box_b\"]) || !isFinite(+datum[\"upper_box_b\"]) ? \"\" + datum[\"upper_box_b\"] : format(datum[\"upper_box_b\"], \"\"), \"Median of b\": !isValid(datum[\"mid_box_b\"]) || !isFinite(+datum[\"mid_box_b\"]) ? \"\" + datum[\"mid_box_b\"] : format(datum[\"mid_box_b\"], \"\"), \"Q1 of b\": !isValid(datum[\"lower_box_b\"]) || !isFinite(+datum[\"lower_box_b\"]) ? \"\" + datum[\"lower_box_b\"] : format(datum[\"lower_box_b\"], \"\"), \"Min of b\": !isValid(datum[\"min_b\"]) || !isFinite(+datum[\"min_b\"]) ? \"\" + datum[\"min_b\"] : format(datum[\"min_b\"], \"\"), \"a\": \"\" + datum[\"a\"]}" }, "xc": {"scale": "x", "field": "a", "band": 0.5}, "yc": {"scale": "y", "field": "mid_box_b"}, diff --git a/examples/compiled/boxplot_2D_vertical_single_per_group_color.vg.json b/examples/compiled/boxplot_2D_vertical_single_per_group_color.vg.json index d1313bdca4..aa3f8ad8b8 100644 --- a/examples/compiled/boxplot_2D_vertical_single_per_group_color.vg.json +++ b/examples/compiled/boxplot_2D_vertical_single_per_group_color.vg.json @@ -130,7 +130,7 @@ "stroke": {"scale": "color", "field": "a"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "a", "band": 0.5}, "y": {"scale": "y", "field": "b"} @@ -147,7 +147,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of b\": format(datum[\"upper_whisker_b\"], \"\"), \"Lower Whisker of b\": format(datum[\"lower_whisker_b\"], \"\"), \"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]}" + "signal": "{\"Upper Whisker of b\": !isValid(datum[\"upper_whisker_b\"]) || !isFinite(+datum[\"upper_whisker_b\"]) ? \"\" + datum[\"upper_whisker_b\"] : format(datum[\"upper_whisker_b\"], \"\"), \"Lower Whisker of b\": !isValid(datum[\"lower_whisker_b\"]) || !isFinite(+datum[\"lower_whisker_b\"]) ? \"\" + datum[\"lower_whisker_b\"] : format(datum[\"lower_whisker_b\"], \"\"), \"a\": \"\" + datum[\"a\"]}" }, "x": {"scale": "x", "field": "a", "band": 0.5}, "y": {"scale": "y", "field": "lower_whisker_b"}, @@ -165,7 +165,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of b\": format(datum[\"upper_whisker_b\"], \"\"), \"Lower Whisker of b\": format(datum[\"lower_whisker_b\"], \"\"), \"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]}" + "signal": "{\"Upper Whisker of b\": !isValid(datum[\"upper_whisker_b\"]) || !isFinite(+datum[\"upper_whisker_b\"]) ? \"\" + datum[\"upper_whisker_b\"] : format(datum[\"upper_whisker_b\"], \"\"), \"Lower Whisker of b\": !isValid(datum[\"lower_whisker_b\"]) || !isFinite(+datum[\"lower_whisker_b\"]) ? \"\" + datum[\"lower_whisker_b\"] : format(datum[\"lower_whisker_b\"], \"\"), \"a\": \"\" + datum[\"a\"]}" }, "x": {"scale": "x", "field": "a", "band": 0.5}, "y": {"scale": "y", "field": "upper_box_b"}, @@ -183,10 +183,10 @@ "ariaRoleDescription": {"value": "box"}, "fill": {"scale": "color", "field": "a"}, "tooltip": { - "signal": "{\"Max of b\": format(datum[\"max_b\"], \"\"), \"Q3 of b\": format(datum[\"upper_box_b\"], \"\"), \"Median of b\": format(datum[\"mid_box_b\"], \"\"), \"Q1 of b\": format(datum[\"lower_box_b\"], \"\"), \"Min of b\": format(datum[\"min_b\"], \"\"), \"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]}" + "signal": "{\"Max of b\": !isValid(datum[\"max_b\"]) || !isFinite(+datum[\"max_b\"]) ? \"\" + datum[\"max_b\"] : format(datum[\"max_b\"], \"\"), \"Q3 of b\": !isValid(datum[\"upper_box_b\"]) || !isFinite(+datum[\"upper_box_b\"]) ? \"\" + datum[\"upper_box_b\"] : format(datum[\"upper_box_b\"], \"\"), \"Median of b\": !isValid(datum[\"mid_box_b\"]) || !isFinite(+datum[\"mid_box_b\"]) ? \"\" + datum[\"mid_box_b\"] : format(datum[\"mid_box_b\"], \"\"), \"Q1 of b\": !isValid(datum[\"lower_box_b\"]) || !isFinite(+datum[\"lower_box_b\"]) ? \"\" + datum[\"lower_box_b\"] : format(datum[\"lower_box_b\"], \"\"), \"Min of b\": !isValid(datum[\"min_b\"]) || !isFinite(+datum[\"min_b\"]) ? \"\" + datum[\"min_b\"] : format(datum[\"min_b\"], \"\"), \"a\": \"\" + datum[\"a\"]}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"lower_box_b\"], \"\")) + \"; upper_box_b: \" + (format(datum[\"upper_box_b\"], \"\")) + \"; Max of b: \" + (format(datum[\"max_b\"], \"\")) + \"; Q3 of b: \" + (format(datum[\"upper_box_b\"], \"\")) + \"; Median of b: \" + (format(datum[\"mid_box_b\"], \"\")) + \"; Q1 of b: \" + (format(datum[\"lower_box_b\"], \"\")) + \"; Min of b: \" + (format(datum[\"min_b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"lower_box_b\"]) || !isFinite(+datum[\"lower_box_b\"]) ? \"\" + datum[\"lower_box_b\"] : format(datum[\"lower_box_b\"], \"\")) + \"; upper_box_b: \" + (!isValid(datum[\"upper_box_b\"]) || !isFinite(+datum[\"upper_box_b\"]) ? \"\" + datum[\"upper_box_b\"] : format(datum[\"upper_box_b\"], \"\")) + \"; Max of b: \" + (!isValid(datum[\"max_b\"]) || !isFinite(+datum[\"max_b\"]) ? \"\" + datum[\"max_b\"] : format(datum[\"max_b\"], \"\")) + \"; Q3 of b: \" + (!isValid(datum[\"upper_box_b\"]) || !isFinite(+datum[\"upper_box_b\"]) ? \"\" + datum[\"upper_box_b\"] : format(datum[\"upper_box_b\"], \"\")) + \"; Median of b: \" + (!isValid(datum[\"mid_box_b\"]) || !isFinite(+datum[\"mid_box_b\"]) ? \"\" + datum[\"mid_box_b\"] : format(datum[\"mid_box_b\"], \"\")) + \"; Q1 of b: \" + (!isValid(datum[\"lower_box_b\"]) || !isFinite(+datum[\"lower_box_b\"]) ? \"\" + datum[\"lower_box_b\"] : format(datum[\"lower_box_b\"], \"\")) + \"; Min of b: \" + (!isValid(datum[\"min_b\"]) || !isFinite(+datum[\"min_b\"]) ? \"\" + datum[\"min_b\"] : format(datum[\"min_b\"], \"\"))" }, "xc": {"scale": "x", "field": "a", "band": 0.5}, "width": {"value": 14}, @@ -213,7 +213,7 @@ {"value": "white"} ], "tooltip": { - "signal": "{\"Max of b\": format(datum[\"max_b\"], \"\"), \"Q3 of b\": format(datum[\"upper_box_b\"], \"\"), \"Median of b\": format(datum[\"mid_box_b\"], \"\"), \"Q1 of b\": format(datum[\"lower_box_b\"], \"\"), \"Min of b\": format(datum[\"min_b\"], \"\"), \"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]}" + "signal": "{\"Max of b\": !isValid(datum[\"max_b\"]) || !isFinite(+datum[\"max_b\"]) ? \"\" + datum[\"max_b\"] : format(datum[\"max_b\"], \"\"), \"Q3 of b\": !isValid(datum[\"upper_box_b\"]) || !isFinite(+datum[\"upper_box_b\"]) ? \"\" + datum[\"upper_box_b\"] : format(datum[\"upper_box_b\"], \"\"), \"Median of b\": !isValid(datum[\"mid_box_b\"]) || !isFinite(+datum[\"mid_box_b\"]) ? \"\" + datum[\"mid_box_b\"] : format(datum[\"mid_box_b\"], \"\"), \"Q1 of b\": !isValid(datum[\"lower_box_b\"]) || !isFinite(+datum[\"lower_box_b\"]) ? \"\" + datum[\"lower_box_b\"] : format(datum[\"lower_box_b\"], \"\"), \"Min of b\": !isValid(datum[\"min_b\"]) || !isFinite(+datum[\"min_b\"]) ? \"\" + datum[\"min_b\"] : format(datum[\"min_b\"], \"\"), \"a\": \"\" + datum[\"a\"]}" }, "xc": {"scale": "x", "field": "a", "band": 0.5}, "yc": {"scale": "y", "field": "mid_box_b"}, diff --git a/examples/compiled/boxplot_groupped.vg.json b/examples/compiled/boxplot_groupped.vg.json index 2b0b85159b..e5d7bfc33c 100644 --- a/examples/compiled/boxplot_groupped.vg.json +++ b/examples/compiled/boxplot_groupped.vg.json @@ -150,7 +150,7 @@ "stroke": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "x", @@ -171,7 +171,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of Acceleration\": format(datum[\"upper_whisker_Acceleration\"], \"\"), \"Lower Whisker of Acceleration\": format(datum[\"lower_whisker_Acceleration\"], \"\"), \"Cylinders\": isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"], \"Origin\": isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]}" + "signal": "{\"Upper Whisker of Acceleration\": !isValid(datum[\"upper_whisker_Acceleration\"]) || !isFinite(+datum[\"upper_whisker_Acceleration\"]) ? \"\" + datum[\"upper_whisker_Acceleration\"] : format(datum[\"upper_whisker_Acceleration\"], \"\"), \"Lower Whisker of Acceleration\": !isValid(datum[\"lower_whisker_Acceleration\"]) || !isFinite(+datum[\"lower_whisker_Acceleration\"]) ? \"\" + datum[\"lower_whisker_Acceleration\"] : format(datum[\"lower_whisker_Acceleration\"], \"\"), \"Cylinders\": \"\" + datum[\"Cylinders\"], \"Origin\": \"\" + datum[\"Origin\"]}" }, "x": { "scale": "x", @@ -193,7 +193,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of Acceleration\": format(datum[\"upper_whisker_Acceleration\"], \"\"), \"Lower Whisker of Acceleration\": format(datum[\"lower_whisker_Acceleration\"], \"\"), \"Cylinders\": isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"], \"Origin\": isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]}" + "signal": "{\"Upper Whisker of Acceleration\": !isValid(datum[\"upper_whisker_Acceleration\"]) || !isFinite(+datum[\"upper_whisker_Acceleration\"]) ? \"\" + datum[\"upper_whisker_Acceleration\"] : format(datum[\"upper_whisker_Acceleration\"], \"\"), \"Lower Whisker of Acceleration\": !isValid(datum[\"lower_whisker_Acceleration\"]) || !isFinite(+datum[\"lower_whisker_Acceleration\"]) ? \"\" + datum[\"lower_whisker_Acceleration\"] : format(datum[\"lower_whisker_Acceleration\"], \"\"), \"Cylinders\": \"\" + datum[\"Cylinders\"], \"Origin\": \"\" + datum[\"Origin\"]}" }, "x": { "scale": "x", @@ -215,10 +215,10 @@ "ariaRoleDescription": {"value": "box"}, "fill": {"scale": "color", "field": "Origin"}, "tooltip": { - "signal": "{\"Max of Acceleration\": format(datum[\"max_Acceleration\"], \"\"), \"Q3 of Acceleration\": format(datum[\"upper_box_Acceleration\"], \"\"), \"Median of Acceleration\": format(datum[\"mid_box_Acceleration\"], \"\"), \"Q1 of Acceleration\": format(datum[\"lower_box_Acceleration\"], \"\"), \"Min of Acceleration\": format(datum[\"min_Acceleration\"], \"\"), \"Cylinders\": isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"], \"Origin\": isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]}" + "signal": "{\"Max of Acceleration\": !isValid(datum[\"max_Acceleration\"]) || !isFinite(+datum[\"max_Acceleration\"]) ? \"\" + datum[\"max_Acceleration\"] : format(datum[\"max_Acceleration\"], \"\"), \"Q3 of Acceleration\": !isValid(datum[\"upper_box_Acceleration\"]) || !isFinite(+datum[\"upper_box_Acceleration\"]) ? \"\" + datum[\"upper_box_Acceleration\"] : format(datum[\"upper_box_Acceleration\"], \"\"), \"Median of Acceleration\": !isValid(datum[\"mid_box_Acceleration\"]) || !isFinite(+datum[\"mid_box_Acceleration\"]) ? \"\" + datum[\"mid_box_Acceleration\"] : format(datum[\"mid_box_Acceleration\"], \"\"), \"Q1 of Acceleration\": !isValid(datum[\"lower_box_Acceleration\"]) || !isFinite(+datum[\"lower_box_Acceleration\"]) ? \"\" + datum[\"lower_box_Acceleration\"] : format(datum[\"lower_box_Acceleration\"], \"\"), \"Min of Acceleration\": !isValid(datum[\"min_Acceleration\"]) || !isFinite(+datum[\"min_Acceleration\"]) ? \"\" + datum[\"min_Acceleration\"] : format(datum[\"min_Acceleration\"], \"\"), \"Cylinders\": \"\" + datum[\"Cylinders\"], \"Origin\": \"\" + datum[\"Origin\"]}" }, "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Acceleration: \" + (format(datum[\"lower_box_Acceleration\"], \"\")) + \"; upper_box_Acceleration: \" + (format(datum[\"upper_box_Acceleration\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Max of Acceleration: \" + (format(datum[\"max_Acceleration\"], \"\")) + \"; Q3 of Acceleration: \" + (format(datum[\"upper_box_Acceleration\"], \"\")) + \"; Median of Acceleration: \" + (format(datum[\"mid_box_Acceleration\"], \"\")) + \"; Q1 of Acceleration: \" + (format(datum[\"lower_box_Acceleration\"], \"\")) + \"; Min of Acceleration: \" + (format(datum[\"min_Acceleration\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Acceleration: \" + (!isValid(datum[\"lower_box_Acceleration\"]) || !isFinite(+datum[\"lower_box_Acceleration\"]) ? \"\" + datum[\"lower_box_Acceleration\"] : format(datum[\"lower_box_Acceleration\"], \"\")) + \"; upper_box_Acceleration: \" + (!isValid(datum[\"upper_box_Acceleration\"]) || !isFinite(+datum[\"upper_box_Acceleration\"]) ? \"\" + datum[\"upper_box_Acceleration\"] : format(datum[\"upper_box_Acceleration\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Max of Acceleration: \" + (!isValid(datum[\"max_Acceleration\"]) || !isFinite(+datum[\"max_Acceleration\"]) ? \"\" + datum[\"max_Acceleration\"] : format(datum[\"max_Acceleration\"], \"\")) + \"; Q3 of Acceleration: \" + (!isValid(datum[\"upper_box_Acceleration\"]) || !isFinite(+datum[\"upper_box_Acceleration\"]) ? \"\" + datum[\"upper_box_Acceleration\"] : format(datum[\"upper_box_Acceleration\"], \"\")) + \"; Median of Acceleration: \" + (!isValid(datum[\"mid_box_Acceleration\"]) || !isFinite(+datum[\"mid_box_Acceleration\"]) ? \"\" + datum[\"mid_box_Acceleration\"] : format(datum[\"mid_box_Acceleration\"], \"\")) + \"; Q1 of Acceleration: \" + (!isValid(datum[\"lower_box_Acceleration\"]) || !isFinite(+datum[\"lower_box_Acceleration\"]) ? \"\" + datum[\"lower_box_Acceleration\"] : format(datum[\"lower_box_Acceleration\"], \"\")) + \"; Min of Acceleration: \" + (!isValid(datum[\"min_Acceleration\"]) || !isFinite(+datum[\"min_Acceleration\"]) ? \"\" + datum[\"min_Acceleration\"] : format(datum[\"min_Acceleration\"], \"\"))" }, "xc": { "scale": "x", @@ -249,7 +249,7 @@ {"value": "white"} ], "tooltip": { - "signal": "{\"Max of Acceleration\": format(datum[\"max_Acceleration\"], \"\"), \"Q3 of Acceleration\": format(datum[\"upper_box_Acceleration\"], \"\"), \"Median of Acceleration\": format(datum[\"mid_box_Acceleration\"], \"\"), \"Q1 of Acceleration\": format(datum[\"lower_box_Acceleration\"], \"\"), \"Min of Acceleration\": format(datum[\"min_Acceleration\"], \"\"), \"Cylinders\": isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"], \"Origin\": isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]}" + "signal": "{\"Max of Acceleration\": !isValid(datum[\"max_Acceleration\"]) || !isFinite(+datum[\"max_Acceleration\"]) ? \"\" + datum[\"max_Acceleration\"] : format(datum[\"max_Acceleration\"], \"\"), \"Q3 of Acceleration\": !isValid(datum[\"upper_box_Acceleration\"]) || !isFinite(+datum[\"upper_box_Acceleration\"]) ? \"\" + datum[\"upper_box_Acceleration\"] : format(datum[\"upper_box_Acceleration\"], \"\"), \"Median of Acceleration\": !isValid(datum[\"mid_box_Acceleration\"]) || !isFinite(+datum[\"mid_box_Acceleration\"]) ? \"\" + datum[\"mid_box_Acceleration\"] : format(datum[\"mid_box_Acceleration\"], \"\"), \"Q1 of Acceleration\": !isValid(datum[\"lower_box_Acceleration\"]) || !isFinite(+datum[\"lower_box_Acceleration\"]) ? \"\" + datum[\"lower_box_Acceleration\"] : format(datum[\"lower_box_Acceleration\"], \"\"), \"Min of Acceleration\": !isValid(datum[\"min_Acceleration\"]) || !isFinite(+datum[\"min_Acceleration\"]) ? \"\" + datum[\"min_Acceleration\"] : format(datum[\"min_Acceleration\"], \"\"), \"Cylinders\": \"\" + datum[\"Cylinders\"], \"Origin\": \"\" + datum[\"Origin\"]}" }, "xc": { "scale": "x", diff --git a/examples/compiled/boxplot_minmax_2D_horizontal.vg.json b/examples/compiled/boxplot_minmax_2D_horizontal.vg.json index 1cfb790cf9..91289fcada 100644 --- a/examples/compiled/boxplot_minmax_2D_horizontal.vg.json +++ b/examples/compiled/boxplot_minmax_2D_horizontal.vg.json @@ -88,7 +88,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "x": {"scale": "x", "field": "lower_whisker_Body Mass (g)"}, "x2": {"scale": "x", "field": "lower_box_Body Mass (g)"}, @@ -106,7 +106,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "x": {"scale": "x", "field": "upper_box_Body Mass (g)"}, "x2": {"scale": "x", "field": "upper_whisker_Body Mass (g)"}, @@ -124,10 +124,10 @@ "ariaRoleDescription": {"value": "box"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "description": { - "signal": "\"Body Mass (g): \" + (format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]) + \"; upper_box_Body Mass (g): \" + (format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Max of Body Mass (g): \" + (format(datum[\"upper_whisker_Body Mass (g)\"], \"\")) + \"; Q3 of Body Mass (g): \" + (format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Median of Body Mass (g): \" + (format(datum[\"mid_box_Body Mass (g)\"], \"\")) + \"; Q1 of Body Mass (g): \" + (format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Min of Body Mass (g): \" + (format(datum[\"lower_whisker_Body Mass (g)\"], \"\"))" + "signal": "\"Body Mass (g): \" + (!isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"]) + \"; upper_box_Body Mass (g): \" + (!isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Max of Body Mass (g): \" + (!isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\")) + \"; Q3 of Body Mass (g): \" + (!isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Median of Body Mass (g): \" + (!isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\")) + \"; Q1 of Body Mass (g): \" + (!isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Min of Body Mass (g): \" + (!isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\"))" }, "x": {"scale": "x", "field": "lower_box_Body Mass (g)"}, "x2": {"scale": "x", "field": "upper_box_Body Mass (g)"}, @@ -153,7 +153,7 @@ {"value": "white"} ], "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "xc": {"scale": "x", "field": "mid_box_Body Mass (g)"}, "yc": {"scale": "y", "field": "Species", "band": 0.5}, diff --git a/examples/compiled/boxplot_minmax_2D_horizontal_custom_midtick_color.vg.json b/examples/compiled/boxplot_minmax_2D_horizontal_custom_midtick_color.vg.json index 3be74d5c6a..e1770d8cca 100644 --- a/examples/compiled/boxplot_minmax_2D_horizontal_custom_midtick_color.vg.json +++ b/examples/compiled/boxplot_minmax_2D_horizontal_custom_midtick_color.vg.json @@ -88,7 +88,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "x": {"scale": "x", "field": "lower_whisker_Body Mass (g)"}, "x2": {"scale": "x", "field": "lower_box_Body Mass (g)"}, @@ -106,7 +106,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "x": {"scale": "x", "field": "upper_box_Body Mass (g)"}, "x2": {"scale": "x", "field": "upper_whisker_Body Mass (g)"}, @@ -124,10 +124,10 @@ "ariaRoleDescription": {"value": "box"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "description": { - "signal": "\"Body Mass (g): \" + (format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]) + \"; upper_box_Body Mass (g): \" + (format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Max of Body Mass (g): \" + (format(datum[\"upper_whisker_Body Mass (g)\"], \"\")) + \"; Q3 of Body Mass (g): \" + (format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Median of Body Mass (g): \" + (format(datum[\"mid_box_Body Mass (g)\"], \"\")) + \"; Q1 of Body Mass (g): \" + (format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Min of Body Mass (g): \" + (format(datum[\"lower_whisker_Body Mass (g)\"], \"\"))" + "signal": "\"Body Mass (g): \" + (!isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"]) + \"; upper_box_Body Mass (g): \" + (!isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Max of Body Mass (g): \" + (!isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\")) + \"; Q3 of Body Mass (g): \" + (!isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Median of Body Mass (g): \" + (!isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\")) + \"; Q1 of Body Mass (g): \" + (!isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Min of Body Mass (g): \" + (!isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\"))" }, "x": {"scale": "x", "field": "lower_box_Body Mass (g)"}, "x2": {"scale": "x", "field": "upper_box_Body Mass (g)"}, @@ -153,7 +153,7 @@ {"value": "orange"} ], "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "xc": {"scale": "x", "field": "mid_box_Body Mass (g)"}, "yc": {"scale": "y", "field": "Species", "band": 0.5}, diff --git a/examples/compiled/boxplot_minmax_2D_vertical.vg.json b/examples/compiled/boxplot_minmax_2D_vertical.vg.json index f8f5dfbde6..02becd5792 100644 --- a/examples/compiled/boxplot_minmax_2D_vertical.vg.json +++ b/examples/compiled/boxplot_minmax_2D_vertical.vg.json @@ -88,7 +88,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "x": {"scale": "x", "field": "Species", "band": 0.5}, "y": {"scale": "y", "field": "lower_whisker_Body Mass (g)"}, @@ -106,7 +106,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "x": {"scale": "x", "field": "Species", "band": 0.5}, "y": {"scale": "y", "field": "upper_box_Body Mass (g)"}, @@ -124,10 +124,10 @@ "ariaRoleDescription": {"value": "box"}, "fill": {"scale": "color", "field": "Species"}, "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "description": { - "signal": "\"Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]) + \"; Body Mass (g): \" + (format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; upper_box_Body Mass (g): \" + (format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Max of Body Mass (g): \" + (format(datum[\"upper_whisker_Body Mass (g)\"], \"\")) + \"; Q3 of Body Mass (g): \" + (format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Median of Body Mass (g): \" + (format(datum[\"mid_box_Body Mass (g)\"], \"\")) + \"; Q1 of Body Mass (g): \" + (format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Min of Body Mass (g): \" + (format(datum[\"lower_whisker_Body Mass (g)\"], \"\"))" + "signal": "\"Species: \" + (\"\" + datum[\"Species\"]) + \"; Body Mass (g): \" + (!isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; upper_box_Body Mass (g): \" + (!isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Max of Body Mass (g): \" + (!isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\")) + \"; Q3 of Body Mass (g): \" + (!isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Median of Body Mass (g): \" + (!isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\")) + \"; Q1 of Body Mass (g): \" + (!isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Min of Body Mass (g): \" + (!isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\"))" }, "xc": {"scale": "x", "field": "Species", "band": 0.5}, "width": {"value": 14}, @@ -154,7 +154,7 @@ {"value": "white"} ], "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "xc": {"scale": "x", "field": "Species", "band": 0.5}, "yc": {"scale": "y", "field": "mid_box_Body Mass (g)"}, diff --git a/examples/compiled/boxplot_preaggregated.vg.json b/examples/compiled/boxplot_preaggregated.vg.json index 90a007ded0..23d31df66d 100644 --- a/examples/compiled/boxplot_preaggregated.vg.json +++ b/examples/compiled/boxplot_preaggregated.vg.json @@ -94,7 +94,7 @@ "update": { "stroke": {"value": "black"}, "description": { - "signal": "\"lower: \" + (format(datum[\"lower\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]) + \"; upper: \" + (format(datum[\"upper\"], \"\"))" + "signal": "\"lower: \" + (!isValid(datum[\"lower\"]) || !isFinite(+datum[\"lower\"]) ? \"\" + datum[\"lower\"] : format(datum[\"lower\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"]) + \"; upper: \" + (!isValid(datum[\"upper\"]) || !isFinite(+datum[\"upper\"]) ? \"\" + datum[\"upper\"] : format(datum[\"upper\"], \"\"))" }, "x": {"scale": "x", "field": "lower"}, "x2": {"scale": "x", "field": "upper"}, @@ -112,7 +112,7 @@ "fill": {"scale": "color", "field": "Species"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"q1: \" + (format(datum[\"q1\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]) + \"; q3: \" + (format(datum[\"q3\"], \"\"))" + "signal": "\"q1: \" + (!isValid(datum[\"q1\"]) || !isFinite(+datum[\"q1\"]) ? \"\" + datum[\"q1\"] : format(datum[\"q1\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"]) + \"; q3: \" + (!isValid(datum[\"q3\"]) || !isFinite(+datum[\"q3\"]) ? \"\" + datum[\"q3\"] : format(datum[\"q3\"], \"\"))" }, "x": {"scale": "x", "field": "q1"}, "x2": {"scale": "x", "field": "q3"}, @@ -132,7 +132,7 @@ "fill": {"value": "white"}, "ariaRoleDescription": {"value": "tick"}, "description": { - "signal": "\"median: \" + (format(datum[\"median\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"])" + "signal": "\"median: \" + (!isValid(datum[\"median\"]) || !isFinite(+datum[\"median\"]) ? \"\" + datum[\"median\"] : format(datum[\"median\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"])" }, "xc": {"scale": "x", "field": "median"}, "yc": {"scale": "y", "field": "Species", "band": 0.5}, @@ -153,7 +153,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"outliers: \" + (format(datum[\"outliers\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"])" + "signal": "\"outliers: \" + (!isValid(datum[\"outliers\"]) || !isFinite(+datum[\"outliers\"]) ? \"\" + datum[\"outliers\"] : format(datum[\"outliers\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"])" }, "x": {"scale": "x", "field": "outliers"}, "y": {"scale": "y", "field": "Species", "band": 0.5} diff --git a/examples/compiled/boxplot_tooltip_aggregate.vg.json b/examples/compiled/boxplot_tooltip_aggregate.vg.json index f2597fbe5b..702b06e567 100644 --- a/examples/compiled/boxplot_tooltip_aggregate.vg.json +++ b/examples/compiled/boxplot_tooltip_aggregate.vg.json @@ -152,7 +152,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Body Mass (g): \" + (format(datum[\"Body Mass (g)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"])" + "signal": "\"Body Mass (g): \" + (!isValid(datum[\"Body Mass (g)\"]) || !isFinite(+datum[\"Body Mass (g)\"]) ? \"\" + datum[\"Body Mass (g)\"] : format(datum[\"Body Mass (g)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"])" }, "x": {"scale": "x", "field": "Body Mass (g)"}, "y": {"scale": "y", "field": "Species", "band": 0.5} @@ -168,7 +168,9 @@ "encode": { "update": { "stroke": {"value": "black"}, - "tooltip": {"signal": "format(datum[\"mean_Body Mass (g)\"], \"\")"}, + "tooltip": { + "signal": "!isValid(datum[\"mean_Body Mass (g)\"]) || !isFinite(+datum[\"mean_Body Mass (g)\"]) ? \"\" + datum[\"mean_Body Mass (g)\"] : format(datum[\"mean_Body Mass (g)\"], \"\")" + }, "x": {"scale": "x", "field": "lower_whisker_Body Mass (g)"}, "x2": {"scale": "x", "field": "lower_box_Body Mass (g)"}, "y": {"scale": "y", "field": "Species", "band": 0.5} @@ -184,7 +186,9 @@ "encode": { "update": { "stroke": {"value": "black"}, - "tooltip": {"signal": "format(datum[\"mean_Body Mass (g)\"], \"\")"}, + "tooltip": { + "signal": "!isValid(datum[\"mean_Body Mass (g)\"]) || !isFinite(+datum[\"mean_Body Mass (g)\"]) ? \"\" + datum[\"mean_Body Mass (g)\"] : format(datum[\"mean_Body Mass (g)\"], \"\")" + }, "x": {"scale": "x", "field": "upper_box_Body Mass (g)"}, "x2": {"scale": "x", "field": "upper_whisker_Body Mass (g)"}, "y": {"scale": "y", "field": "Species", "band": 0.5} @@ -200,9 +204,11 @@ "update": { "ariaRoleDescription": {"value": "box"}, "fill": {"value": "#4c78a8"}, - "tooltip": {"signal": "format(datum[\"mean_Body Mass (g)\"], \"\")"}, + "tooltip": { + "signal": "!isValid(datum[\"mean_Body Mass (g)\"]) || !isFinite(+datum[\"mean_Body Mass (g)\"]) ? \"\" + datum[\"mean_Body Mass (g)\"] : format(datum[\"mean_Body Mass (g)\"], \"\")" + }, "description": { - "signal": "\"Body Mass (g): \" + (format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]) + \"; upper_box_Body Mass (g): \" + (format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Mean of Body Mass (g): \" + (format(datum[\"mean_Body Mass (g)\"], \"\"))" + "signal": "\"Body Mass (g): \" + (!isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"]) + \"; upper_box_Body Mass (g): \" + (!isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Mean of Body Mass (g): \" + (!isValid(datum[\"mean_Body Mass (g)\"]) || !isFinite(+datum[\"mean_Body Mass (g)\"]) ? \"\" + datum[\"mean_Body Mass (g)\"] : format(datum[\"mean_Body Mass (g)\"], \"\"))" }, "x": {"scale": "x", "field": "lower_box_Body Mass (g)"}, "x2": {"scale": "x", "field": "upper_box_Body Mass (g)"}, @@ -227,7 +233,9 @@ }, {"value": "white"} ], - "tooltip": {"signal": "format(datum[\"mean_Body Mass (g)\"], \"\")"}, + "tooltip": { + "signal": "!isValid(datum[\"mean_Body Mass (g)\"]) || !isFinite(+datum[\"mean_Body Mass (g)\"]) ? \"\" + datum[\"mean_Body Mass (g)\"] : format(datum[\"mean_Body Mass (g)\"], \"\")" + }, "xc": {"scale": "x", "field": "mid_box_Body Mass (g)"}, "yc": {"scale": "y", "field": "Species", "band": 0.5}, "height": {"value": 14}, diff --git a/examples/compiled/boxplot_tooltip_not_aggregate.vg.json b/examples/compiled/boxplot_tooltip_not_aggregate.vg.json index f845845978..1cb34eda8b 100644 --- a/examples/compiled/boxplot_tooltip_not_aggregate.vg.json +++ b/examples/compiled/boxplot_tooltip_not_aggregate.vg.json @@ -146,10 +146,12 @@ "opacity": {"value": 0.7}, "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, - "tooltip": {"signal": "format(datum[\"Body Mass (g)\"], \"\")"}, + "tooltip": { + "signal": "!isValid(datum[\"Body Mass (g)\"]) || !isFinite(+datum[\"Body Mass (g)\"]) ? \"\" + datum[\"Body Mass (g)\"] : format(datum[\"Body Mass (g)\"], \"\")" + }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Body Mass (g): \" + (format(datum[\"Body Mass (g)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"])" + "signal": "\"Body Mass (g): \" + (!isValid(datum[\"Body Mass (g)\"]) || !isFinite(+datum[\"Body Mass (g)\"]) ? \"\" + datum[\"Body Mass (g)\"] : format(datum[\"Body Mass (g)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"])" }, "x": {"scale": "x", "field": "Body Mass (g)"}, "y": {"scale": "y", "field": "Species", "band": 0.5} @@ -166,7 +168,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Upper Whisker of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "x": {"scale": "x", "field": "lower_whisker_Body Mass (g)"}, "x2": {"scale": "x", "field": "lower_box_Body Mass (g)"}, @@ -184,7 +186,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of Body Mass (g)\": format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Upper Whisker of Body Mass (g)\": !isValid(datum[\"upper_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"upper_whisker_Body Mass (g)\"]) ? \"\" + datum[\"upper_whisker_Body Mass (g)\"] : format(datum[\"upper_whisker_Body Mass (g)\"], \"\"), \"Lower Whisker of Body Mass (g)\": !isValid(datum[\"lower_whisker_Body Mass (g)\"]) || !isFinite(+datum[\"lower_whisker_Body Mass (g)\"]) ? \"\" + datum[\"lower_whisker_Body Mass (g)\"] : format(datum[\"lower_whisker_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "x": {"scale": "x", "field": "upper_box_Body Mass (g)"}, "x2": {"scale": "x", "field": "upper_whisker_Body Mass (g)"}, @@ -202,10 +204,10 @@ "ariaRoleDescription": {"value": "box"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"min_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"max_Body Mass (g)\"]) || !isFinite(+datum[\"max_Body Mass (g)\"]) ? \"\" + datum[\"max_Body Mass (g)\"] : format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"min_Body Mass (g)\"]) || !isFinite(+datum[\"min_Body Mass (g)\"]) ? \"\" + datum[\"min_Body Mass (g)\"] : format(datum[\"min_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "description": { - "signal": "\"Body Mass (g): \" + (format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]) + \"; upper_box_Body Mass (g): \" + (format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Max of Body Mass (g): \" + (format(datum[\"max_Body Mass (g)\"], \"\")) + \"; Q3 of Body Mass (g): \" + (format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Median of Body Mass (g): \" + (format(datum[\"mid_box_Body Mass (g)\"], \"\")) + \"; Q1 of Body Mass (g): \" + (format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Min of Body Mass (g): \" + (format(datum[\"min_Body Mass (g)\"], \"\"))" + "signal": "\"Body Mass (g): \" + (!isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"]) + \"; upper_box_Body Mass (g): \" + (!isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Max of Body Mass (g): \" + (!isValid(datum[\"max_Body Mass (g)\"]) || !isFinite(+datum[\"max_Body Mass (g)\"]) ? \"\" + datum[\"max_Body Mass (g)\"] : format(datum[\"max_Body Mass (g)\"], \"\")) + \"; Q3 of Body Mass (g): \" + (!isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\")) + \"; Median of Body Mass (g): \" + (!isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\")) + \"; Q1 of Body Mass (g): \" + (!isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\")) + \"; Min of Body Mass (g): \" + (!isValid(datum[\"min_Body Mass (g)\"]) || !isFinite(+datum[\"min_Body Mass (g)\"]) ? \"\" + datum[\"min_Body Mass (g)\"] : format(datum[\"min_Body Mass (g)\"], \"\"))" }, "x": {"scale": "x", "field": "lower_box_Body Mass (g)"}, "x2": {"scale": "x", "field": "upper_box_Body Mass (g)"}, @@ -231,7 +233,7 @@ {"value": "white"} ], "tooltip": { - "signal": "{\"Max of Body Mass (g)\": format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": format(datum[\"min_Body Mass (g)\"], \"\"), \"Species\": isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]}" + "signal": "{\"Max of Body Mass (g)\": !isValid(datum[\"max_Body Mass (g)\"]) || !isFinite(+datum[\"max_Body Mass (g)\"]) ? \"\" + datum[\"max_Body Mass (g)\"] : format(datum[\"max_Body Mass (g)\"], \"\"), \"Q3 of Body Mass (g)\": !isValid(datum[\"upper_box_Body Mass (g)\"]) || !isFinite(+datum[\"upper_box_Body Mass (g)\"]) ? \"\" + datum[\"upper_box_Body Mass (g)\"] : format(datum[\"upper_box_Body Mass (g)\"], \"\"), \"Median of Body Mass (g)\": !isValid(datum[\"mid_box_Body Mass (g)\"]) || !isFinite(+datum[\"mid_box_Body Mass (g)\"]) ? \"\" + datum[\"mid_box_Body Mass (g)\"] : format(datum[\"mid_box_Body Mass (g)\"], \"\"), \"Q1 of Body Mass (g)\": !isValid(datum[\"lower_box_Body Mass (g)\"]) || !isFinite(+datum[\"lower_box_Body Mass (g)\"]) ? \"\" + datum[\"lower_box_Body Mass (g)\"] : format(datum[\"lower_box_Body Mass (g)\"], \"\"), \"Min of Body Mass (g)\": !isValid(datum[\"min_Body Mass (g)\"]) || !isFinite(+datum[\"min_Body Mass (g)\"]) ? \"\" + datum[\"min_Body Mass (g)\"] : format(datum[\"min_Body Mass (g)\"], \"\"), \"Species\": \"\" + datum[\"Species\"]}" }, "xc": {"scale": "x", "field": "mid_box_Body Mass (g)"}, "yc": {"scale": "y", "field": "Species", "band": 0.5}, diff --git a/examples/compiled/brush_table.vg.json b/examples/compiled/brush_table.vg.json index 8e96526664..06f85fc8a4 100644 --- a/examples/compiled/brush_table.vg.json +++ b/examples/compiled/brush_table.vg.json @@ -385,7 +385,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"])" }, "x": {"scale": "concat_0_x", "field": "Horsepower"}, "y": {"scale": "concat_0_y", "field": "Miles_per_Gallon"} @@ -533,13 +533,11 @@ "update": { "fill": {"value": "black"}, "description": { - "signal": "\"row_number: \" + (isValid(datum[\"row_number\"]) ? datum[\"row_number\"] : \"\"+datum[\"row_number\"]) + \"; Horsepower: \" + (isValid(datum[\"Horsepower\"]) ? datum[\"Horsepower\"] : \"\"+datum[\"Horsepower\"])" + "signal": "\"row_number: \" + (\"\" + datum[\"row_number\"]) + \"; Horsepower: \" + (\"\" + datum[\"Horsepower\"])" }, "x": {"signal": "concat_1_childWidth", "mult": 0.5}, "y": {"scale": "concat_1_concat_0_y", "field": "row_number"}, - "text": { - "signal": "isValid(datum[\"Horsepower\"]) ? datum[\"Horsepower\"] : \"\"+datum[\"Horsepower\"]" - }, + "text": {"signal": "\"\" + datum[\"Horsepower\"]"}, "align": {"value": "center"}, "baseline": {"value": "middle"} } @@ -569,13 +567,11 @@ "update": { "fill": {"value": "black"}, "description": { - "signal": "\"row_number: \" + (isValid(datum[\"row_number\"]) ? datum[\"row_number\"] : \"\"+datum[\"row_number\"]) + \"; Miles_per_Gallon: \" + (isValid(datum[\"Miles_per_Gallon\"]) ? datum[\"Miles_per_Gallon\"] : \"\"+datum[\"Miles_per_Gallon\"])" + "signal": "\"row_number: \" + (\"\" + datum[\"row_number\"]) + \"; Miles_per_Gallon: \" + (\"\" + datum[\"Miles_per_Gallon\"])" }, "x": {"signal": "concat_1_childWidth", "mult": 0.5}, "y": {"scale": "concat_1_concat_1_y", "field": "row_number"}, - "text": { - "signal": "isValid(datum[\"Miles_per_Gallon\"]) ? datum[\"Miles_per_Gallon\"] : \"\"+datum[\"Miles_per_Gallon\"]" - }, + "text": {"signal": "\"\" + datum[\"Miles_per_Gallon\"]"}, "align": {"value": "center"}, "baseline": {"value": "middle"} } @@ -605,13 +601,11 @@ "update": { "fill": {"value": "black"}, "description": { - "signal": "\"row_number: \" + (isValid(datum[\"row_number\"]) ? datum[\"row_number\"] : \"\"+datum[\"row_number\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"row_number: \" + (\"\" + datum[\"row_number\"]) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": {"signal": "concat_1_childWidth", "mult": 0.5}, "y": {"scale": "concat_1_concat_2_y", "field": "row_number"}, - "text": { - "signal": "isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]" - }, + "text": {"signal": "\"\" + datum[\"Origin\"]"}, "align": {"value": "center"}, "baseline": {"value": "middle"} } diff --git a/examples/compiled/circle.vg.json b/examples/compiled/circle.vg.json index 8c4e309283..262376711e 100644 --- a/examples/compiled/circle.vg.json +++ b/examples/compiled/circle.vg.json @@ -30,7 +30,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/circle_binned.vg.json b/examples/compiled/circle_binned.vg.json index 0af9b4c075..c556958c5d 100644 --- a/examples/compiled/circle_binned.vg.json +++ b/examples/compiled/circle_binned.vg.json @@ -73,7 +73,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Rotten Tomatoes Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Rotten Tomatoes Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) ? \"\" + datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"] : format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": { "signal": "scale(\"x\", 0.5 * datum[\"bin_maxbins_10_IMDB Rating\"] + 0.5 * datum[\"bin_maxbins_10_IMDB Rating_end\"])" diff --git a/examples/compiled/circle_binned_maxbins_2.vg.json b/examples/compiled/circle_binned_maxbins_2.vg.json index 9414ecbc04..78b934c7bc 100644 --- a/examples/compiled/circle_binned_maxbins_2.vg.json +++ b/examples/compiled/circle_binned_maxbins_2.vg.json @@ -70,7 +70,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_2_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_2_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_2_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_2_IMDB Rating_end\"], \"\")) + \"; Rotten Tomatoes Rating (binned): \" + (!isValid(datum[\"bin_maxbins_2_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"bin_maxbins_2_Rotten Tomatoes Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_2_Rotten Tomatoes Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_2_Rotten Tomatoes Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_2_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_2_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_2_IMDB Rating\"] : format(datum[\"bin_maxbins_2_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_2_IMDB Rating_end\"], \"\")) + \"; Rotten Tomatoes Rating (binned): \" + (!isValid(datum[\"bin_maxbins_2_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"bin_maxbins_2_Rotten Tomatoes Rating\"]) ? \"\" + datum[\"bin_maxbins_2_Rotten Tomatoes Rating\"] : format(datum[\"bin_maxbins_2_Rotten Tomatoes Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_2_Rotten Tomatoes Rating_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": { "signal": "scale(\"x\", 0.5 * datum[\"bin_maxbins_2_IMDB Rating\"] + 0.5 * datum[\"bin_maxbins_2_IMDB Rating_end\"])" diff --git a/examples/compiled/circle_binned_maxbins_20.vg.json b/examples/compiled/circle_binned_maxbins_20.vg.json index 6570b76986..4c6759c04a 100644 --- a/examples/compiled/circle_binned_maxbins_20.vg.json +++ b/examples/compiled/circle_binned_maxbins_20.vg.json @@ -73,7 +73,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_20_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_20_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_20_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_IMDB Rating_end\"], \"\")) + \"; Rotten Tomatoes Rating (binned): \" + (!isValid(datum[\"bin_maxbins_20_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"bin_maxbins_20_Rotten Tomatoes Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_20_Rotten Tomatoes Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_Rotten Tomatoes Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_20_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_20_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_20_IMDB Rating\"] : format(datum[\"bin_maxbins_20_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_IMDB Rating_end\"], \"\")) + \"; Rotten Tomatoes Rating (binned): \" + (!isValid(datum[\"bin_maxbins_20_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"bin_maxbins_20_Rotten Tomatoes Rating\"]) ? \"\" + datum[\"bin_maxbins_20_Rotten Tomatoes Rating\"] : format(datum[\"bin_maxbins_20_Rotten Tomatoes Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_Rotten Tomatoes Rating_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": { "signal": "scale(\"x\", 0.5 * datum[\"bin_maxbins_20_IMDB Rating\"] + 0.5 * datum[\"bin_maxbins_20_IMDB Rating_end\"])" diff --git a/examples/compiled/circle_binned_maxbins_5.vg.json b/examples/compiled/circle_binned_maxbins_5.vg.json index af88423e2d..8a1f2e3c11 100644 --- a/examples/compiled/circle_binned_maxbins_5.vg.json +++ b/examples/compiled/circle_binned_maxbins_5.vg.json @@ -70,7 +70,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_5_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_5_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_5_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_5_IMDB Rating_end\"], \"\")) + \"; Rotten Tomatoes Rating (binned): \" + (!isValid(datum[\"bin_maxbins_5_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"bin_maxbins_5_Rotten Tomatoes Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_5_Rotten Tomatoes Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_5_Rotten Tomatoes Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_5_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_5_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_5_IMDB Rating\"] : format(datum[\"bin_maxbins_5_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_5_IMDB Rating_end\"], \"\")) + \"; Rotten Tomatoes Rating (binned): \" + (!isValid(datum[\"bin_maxbins_5_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"bin_maxbins_5_Rotten Tomatoes Rating\"]) ? \"\" + datum[\"bin_maxbins_5_Rotten Tomatoes Rating\"] : format(datum[\"bin_maxbins_5_Rotten Tomatoes Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_5_Rotten Tomatoes Rating_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": { "signal": "scale(\"x\", 0.5 * datum[\"bin_maxbins_5_IMDB Rating\"] + 0.5 * datum[\"bin_maxbins_5_IMDB Rating_end\"])" diff --git a/examples/compiled/circle_bubble_health_income.vg.json b/examples/compiled/circle_bubble_health_income.vg.json index 279ca79bc9..f787c71fdf 100644 --- a/examples/compiled/circle_bubble_health_income.vg.json +++ b/examples/compiled/circle_bubble_health_income.vg.json @@ -146,7 +146,7 @@ "fill": {"value": "#000"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"income: \" + (format(datum[\"income\"], \"\")) + \"; health: \" + (format(datum[\"health\"], \"\")) + \"; population: \" + (format(datum[\"population\"], \"\"))" + "signal": "\"income: \" + (!isValid(datum[\"income\"]) || !isFinite(+datum[\"income\"]) ? \"\" + datum[\"income\"] : format(datum[\"income\"], \"\")) + \"; health: \" + (!isValid(datum[\"health\"]) || !isFinite(+datum[\"health\"]) ? \"\" + datum[\"health\"] : format(datum[\"health\"], \"\")) + \"; population: \" + (!isValid(datum[\"population\"]) || !isFinite(+datum[\"population\"]) ? \"\" + datum[\"population\"] : format(datum[\"population\"], \"\"))" }, "x": {"scale": "x", "field": "income"}, "y": {"scale": "y", "field": "health"}, diff --git a/examples/compiled/circle_custom_tick_labels.vg.json b/examples/compiled/circle_custom_tick_labels.vg.json index 3187316538..f7bfc2c43a 100644 --- a/examples/compiled/circle_custom_tick_labels.vg.json +++ b/examples/compiled/circle_custom_tick_labels.vg.json @@ -43,7 +43,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Mean of IMDB Rating: \" + (format(datum[\"mean_IMDB Rating\"], \"\")) + \"; Major Genre: \" + (isValid(datum[\"Major Genre\"]) ? datum[\"Major Genre\"] : \"\"+datum[\"Major Genre\"])" + "signal": "\"Mean of IMDB Rating: \" + (!isValid(datum[\"mean_IMDB Rating\"]) || !isFinite(+datum[\"mean_IMDB Rating\"]) ? \"\" + datum[\"mean_IMDB Rating\"] : format(datum[\"mean_IMDB Rating\"], \"\")) + \"; Major Genre: \" + (\"\" + datum[\"Major Genre\"])" }, "x": {"scale": "x", "field": "mean_IMDB Rating"}, "y": {"scale": "y", "field": "Major Genre"}, diff --git a/examples/compiled/circle_flatten.vg.json b/examples/compiled/circle_flatten.vg.json index c0a7637be8..4380fa88d1 100644 --- a/examples/compiled/circle_flatten.vg.json +++ b/examples/compiled/circle_flatten.vg.json @@ -43,7 +43,7 @@ "fill": {"scale": "color", "field": "key"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"foo: \" + (format(datum[\"foo\"], \"\")) + \"; bar: \" + (isValid(datum[\"bar\"]) ? datum[\"bar\"] : \"\"+datum[\"bar\"]) + \"; key: \" + (isValid(datum[\"key\"]) ? datum[\"key\"] : \"\"+datum[\"key\"])" + "signal": "\"foo: \" + (!isValid(datum[\"foo\"]) || !isFinite(+datum[\"foo\"]) ? \"\" + datum[\"foo\"] : format(datum[\"foo\"], \"\")) + \"; bar: \" + (\"\" + datum[\"bar\"]) + \"; key: \" + (\"\" + datum[\"key\"])" }, "x": {"scale": "x", "field": "foo"}, "y": {"scale": "y", "field": "bar"}, diff --git a/examples/compiled/circle_github_punchcard.vg.json b/examples/compiled/circle_github_punchcard.vg.json index b283430c57..e15f790717 100644 --- a/examples/compiled/circle_github_punchcard.vg.json +++ b/examples/compiled/circle_github_punchcard.vg.json @@ -70,7 +70,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"time (hours): \" + (timeFormat(datum[\"hours_time\"], timeUnitSpecifier([\"hours\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; time (day): \" + (timeFormat(datum[\"day_time\"], timeUnitSpecifier([\"day\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Sum of count: \" + (format(datum[\"sum_count\"], \"\"))" + "signal": "\"time (hours): \" + (!isValid(datum[\"hours_time\"]) || !isFinite(+datum[\"hours_time\"]) ? \"\" + datum[\"hours_time\"] : timeFormat(datum[\"hours_time\"], timeUnitSpecifier([\"hours\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; time (day): \" + (!isValid(datum[\"day_time\"]) || !isFinite(+datum[\"day_time\"]) ? \"\" + datum[\"day_time\"] : timeFormat(datum[\"day_time\"], timeUnitSpecifier([\"day\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Sum of count: \" + (!isValid(datum[\"sum_count\"]) || !isFinite(+datum[\"sum_count\"]) ? \"\" + datum[\"sum_count\"] : format(datum[\"sum_count\"], \"\"))" }, "x": {"scale": "x", "field": "hours_time"}, "y": {"scale": "y", "field": "day_time"}, diff --git a/examples/compiled/circle_labelangle_orient_signal.vg.json b/examples/compiled/circle_labelangle_orient_signal.vg.json index cc31e8b87c..046150cf89 100644 --- a/examples/compiled/circle_labelangle_orient_signal.vg.json +++ b/examples/compiled/circle_labelangle_orient_signal.vg.json @@ -80,7 +80,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"time (hours): \" + (timeFormat(datum[\"hours_time\"], timeUnitSpecifier([\"hours\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; time (day): \" + (timeFormat(datum[\"day_time\"], timeUnitSpecifier([\"day\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Sum of count: \" + (format(datum[\"sum_count\"], \"\"))" + "signal": "\"time (hours): \" + (!isValid(datum[\"hours_time\"]) || !isFinite(+datum[\"hours_time\"]) ? \"\" + datum[\"hours_time\"] : timeFormat(datum[\"hours_time\"], timeUnitSpecifier([\"hours\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; time (day): \" + (!isValid(datum[\"day_time\"]) || !isFinite(+datum[\"day_time\"]) ? \"\" + datum[\"day_time\"] : timeFormat(datum[\"day_time\"], timeUnitSpecifier([\"day\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Sum of count: \" + (!isValid(datum[\"sum_count\"]) || !isFinite(+datum[\"sum_count\"]) ? \"\" + datum[\"sum_count\"] : format(datum[\"sum_count\"], \"\"))" }, "x": {"scale": "x", "field": "hours_time"}, "y": {"scale": "y", "field": "day_time"}, diff --git a/examples/compiled/circle_natural_disasters.vg.json b/examples/compiled/circle_natural_disasters.vg.json index a02a634c98..2119e94699 100644 --- a/examples/compiled/circle_natural_disasters.vg.json +++ b/examples/compiled/circle_natural_disasters.vg.json @@ -33,7 +33,7 @@ "fill": {"scale": "color", "field": "Entity"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Year: \" + (timeFormat(datum[\"Year\"], '%b %d, %Y')) + \"; Entity: \" + (isValid(datum[\"Entity\"]) ? datum[\"Entity\"] : \"\"+datum[\"Entity\"]) + \"; Annual Global Deaths: \" + (format(datum[\"Deaths\"], \"\"))" + "signal": "\"Year: \" + (!isValid(datum[\"Year\"]) || !isFinite(+datum[\"Year\"]) ? \"\" + datum[\"Year\"] : timeFormat(datum[\"Year\"], '%b %d, %Y')) + \"; Entity: \" + (\"\" + datum[\"Entity\"]) + \"; Annual Global Deaths: \" + (!isValid(datum[\"Deaths\"]) || !isFinite(+datum[\"Deaths\"]) ? \"\" + datum[\"Deaths\"] : format(datum[\"Deaths\"], \"\"))" }, "x": {"scale": "x", "field": "Year"}, "y": {"scale": "y", "field": "Entity"}, diff --git a/examples/compiled/circle_opacity.vg.json b/examples/compiled/circle_opacity.vg.json index ddbbfa783a..a1b93c0365 100644 --- a/examples/compiled/circle_opacity.vg.json +++ b/examples/compiled/circle_opacity.vg.json @@ -30,7 +30,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/circle_scale_quantile.vg.json b/examples/compiled/circle_scale_quantile.vg.json index 11b793774a..16cd15e9a9 100644 --- a/examples/compiled/circle_scale_quantile.vg.json +++ b/examples/compiled/circle_scale_quantile.vg.json @@ -48,9 +48,7 @@ "opacity": {"value": 0.7}, "fill": {"scale": "color", "field": "b"}, "ariaRoleDescription": {"value": "circle"}, - "description": { - "signal": "\"b: \" + (isValid(datum[\"b\"]) ? datum[\"b\"] : \"\"+datum[\"b\"])" - }, + "description": {"signal": "\"b: \" + (\"\" + datum[\"b\"])"}, "x": {"signal": "width", "mult": 0.5}, "y": {"scale": "y", "field": "b"}, "size": {"scale": "size", "field": "b"}, diff --git a/examples/compiled/circle_scale_quantize.vg.json b/examples/compiled/circle_scale_quantize.vg.json index 5227887038..f986677487 100644 --- a/examples/compiled/circle_scale_quantize.vg.json +++ b/examples/compiled/circle_scale_quantize.vg.json @@ -48,9 +48,7 @@ "opacity": {"value": 0.7}, "fill": {"scale": "color", "field": "b"}, "ariaRoleDescription": {"value": "circle"}, - "description": { - "signal": "\"b: \" + (isValid(datum[\"b\"]) ? datum[\"b\"] : \"\"+datum[\"b\"])" - }, + "description": {"signal": "\"b: \" + (\"\" + datum[\"b\"])"}, "x": {"signal": "width", "mult": 0.5}, "y": {"scale": "y", "field": "b"}, "size": {"scale": "size", "field": "b"}, diff --git a/examples/compiled/circle_scale_threshold.vg.json b/examples/compiled/circle_scale_threshold.vg.json index 9274ddb47e..5733361172 100644 --- a/examples/compiled/circle_scale_threshold.vg.json +++ b/examples/compiled/circle_scale_threshold.vg.json @@ -48,9 +48,7 @@ "opacity": {"value": 0.7}, "fill": {"scale": "color", "field": "b"}, "ariaRoleDescription": {"value": "circle"}, - "description": { - "signal": "\"b: \" + (isValid(datum[\"b\"]) ? datum[\"b\"] : \"\"+datum[\"b\"])" - }, + "description": {"signal": "\"b: \" + (\"\" + datum[\"b\"])"}, "x": {"signal": "width", "mult": 0.5}, "y": {"scale": "y", "field": "b"}, "size": {"scale": "size", "field": "b"}, diff --git a/examples/compiled/circle_wilkinson_dotplot.vg.json b/examples/compiled/circle_wilkinson_dotplot.vg.json index 0360c4c601..40f92fd6b5 100644 --- a/examples/compiled/circle_wilkinson_dotplot.vg.json +++ b/examples/compiled/circle_wilkinson_dotplot.vg.json @@ -45,7 +45,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"data: \" + (isValid(datum[\"data\"]) ? datum[\"data\"] : \"\"+datum[\"data\"]) + \"; id: \" + (isValid(datum[\"id\"]) ? datum[\"id\"] : \"\"+datum[\"id\"])" + "signal": "\"data: \" + (\"\" + datum[\"data\"]) + \"; id: \" + (\"\" + datum[\"id\"])" }, "x": {"scale": "x", "field": "data"}, "y": {"scale": "y", "field": "id"}, diff --git a/examples/compiled/circle_wilkinson_dotplot_stacked.vg.json b/examples/compiled/circle_wilkinson_dotplot_stacked.vg.json index f114196104..2f00a335e8 100644 --- a/examples/compiled/circle_wilkinson_dotplot_stacked.vg.json +++ b/examples/compiled/circle_wilkinson_dotplot_stacked.vg.json @@ -58,7 +58,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"data: \" + (isValid(datum[\"data\"]) ? datum[\"data\"] : \"\"+datum[\"data\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\")) + \"; id: \" + (isValid(datum[\"id\"]) ? datum[\"id\"] : \"\"+datum[\"id\"])" + "signal": "\"data: \" + (\"\" + datum[\"data\"]) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\")) + \"; id: \" + (\"\" + datum[\"id\"])" }, "x": {"scale": "x", "field": "data"}, "y": { diff --git a/examples/compiled/concat_bar_layer_circle.vg.json b/examples/compiled/concat_bar_layer_circle.vg.json index 396de77abf..86513859da 100644 --- a/examples/compiled/concat_bar_layer_circle.vg.json +++ b/examples/compiled/concat_bar_layer_circle.vg.json @@ -152,7 +152,7 @@ "opacity": {"value": 0.4}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Rotten Tomatoes Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating_end\"], \"\")) + \"; All Movies Count: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Rotten Tomatoes Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) ? \"\" + datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"] : format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating_end\"], \"\")) + \"; All Movies Count: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": { "signal": "scale(\"concat_0_x\", 0.5 * datum[\"bin_maxbins_10_IMDB Rating\"] + 0.5 * datum[\"bin_maxbins_10_IMDB Rating_end\"])" @@ -176,7 +176,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Rotten Tomatoes Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating_end\"], \"\")) + \"; Selected Category Count: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Rotten Tomatoes Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) ? \"\" + datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"] : format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating_end\"], \"\")) + \"; Selected Category Count: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": { "signal": "scale(\"concat_0_x\", 0.5 * datum[\"bin_maxbins_10_IMDB Rating\"] + 0.5 * datum[\"bin_maxbins_10_IMDB Rating_end\"])" @@ -312,7 +312,7 @@ ], "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Major Genre: \" + (isValid(datum[\"Major Genre\"]) ? datum[\"Major Genre\"] : \"\"+datum[\"Major Genre\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Major Genre: \" + (\"\" + datum[\"Major Genre\"]) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"scale": "concat_1_x", "field": "Major Genre"}, "width": {"signal": "max(0.25, bandwidth('concat_1_x'))"}, diff --git a/examples/compiled/concat_bar_scales_discretize.vg.json b/examples/compiled/concat_bar_scales_discretize.vg.json index c97f3775ff..0110dc9580 100644 --- a/examples/compiled/concat_bar_scales_discretize.vg.json +++ b/examples/compiled/concat_bar_scales_discretize.vg.json @@ -91,9 +91,7 @@ "opacity": {"value": 0.7}, "fill": {"scale": "concat_0_color", "field": "b"}, "ariaRoleDescription": {"value": "circle"}, - "description": { - "signal": "\"b: \" + (isValid(datum[\"b\"]) ? datum[\"b\"] : \"\"+datum[\"b\"])" - }, + "description": {"signal": "\"b: \" + (\"\" + datum[\"b\"])"}, "x": {"signal": "childWidth", "mult": 0.5}, "y": {"scale": "concat_0_y", "field": "b"}, "size": {"scale": "concat_0_size", "field": "b"}, @@ -144,9 +142,7 @@ "opacity": {"value": 0.7}, "fill": {"scale": "concat_1_color", "field": "b"}, "ariaRoleDescription": {"value": "circle"}, - "description": { - "signal": "\"b: \" + (isValid(datum[\"b\"]) ? datum[\"b\"] : \"\"+datum[\"b\"])" - }, + "description": {"signal": "\"b: \" + (\"\" + datum[\"b\"])"}, "x": {"signal": "childWidth", "mult": 0.5}, "y": {"scale": "concat_1_y", "field": "b"}, "size": {"scale": "concat_1_size", "field": "b"}, @@ -199,9 +195,7 @@ "opacity": {"value": 0.7}, "fill": {"scale": "concat_2_color", "field": "b"}, "ariaRoleDescription": {"value": "circle"}, - "description": { - "signal": "\"b: \" + (isValid(datum[\"b\"]) ? datum[\"b\"] : \"\"+datum[\"b\"])" - }, + "description": {"signal": "\"b: \" + (\"\" + datum[\"b\"])"}, "x": {"signal": "childWidth", "mult": 0.5}, "y": {"scale": "concat_2_y", "field": "b"}, "size": {"scale": "concat_2_size", "field": "b"}, diff --git a/examples/compiled/concat_bar_scales_discretize_2_cols.vg.json b/examples/compiled/concat_bar_scales_discretize_2_cols.vg.json index 6da634961a..f7c836bb79 100644 --- a/examples/compiled/concat_bar_scales_discretize_2_cols.vg.json +++ b/examples/compiled/concat_bar_scales_discretize_2_cols.vg.json @@ -91,9 +91,7 @@ "opacity": {"value": 0.7}, "fill": {"scale": "concat_0_color", "field": "b"}, "ariaRoleDescription": {"value": "circle"}, - "description": { - "signal": "\"b: \" + (isValid(datum[\"b\"]) ? datum[\"b\"] : \"\"+datum[\"b\"])" - }, + "description": {"signal": "\"b: \" + (\"\" + datum[\"b\"])"}, "x": {"signal": "childWidth", "mult": 0.5}, "y": {"scale": "concat_0_y", "field": "b"}, "size": {"scale": "concat_0_size", "field": "b"}, @@ -144,9 +142,7 @@ "opacity": {"value": 0.7}, "fill": {"scale": "concat_1_color", "field": "b"}, "ariaRoleDescription": {"value": "circle"}, - "description": { - "signal": "\"b: \" + (isValid(datum[\"b\"]) ? datum[\"b\"] : \"\"+datum[\"b\"])" - }, + "description": {"signal": "\"b: \" + (\"\" + datum[\"b\"])"}, "x": {"signal": "childWidth", "mult": 0.5}, "y": {"scale": "concat_1_y", "field": "b"}, "size": {"scale": "concat_1_size", "field": "b"}, @@ -199,9 +195,7 @@ "opacity": {"value": 0.7}, "fill": {"scale": "concat_2_color", "field": "b"}, "ariaRoleDescription": {"value": "circle"}, - "description": { - "signal": "\"b: \" + (isValid(datum[\"b\"]) ? datum[\"b\"] : \"\"+datum[\"b\"])" - }, + "description": {"signal": "\"b: \" + (\"\" + datum[\"b\"])"}, "x": {"signal": "childWidth", "mult": 0.5}, "y": {"scale": "concat_2_y", "field": "b"}, "size": {"scale": "concat_2_size", "field": "b"}, diff --git a/examples/compiled/concat_hover.vg.json b/examples/compiled/concat_hover.vg.json index 56846cba0c..19bd552b5a 100644 --- a/examples/compiled/concat_hover.vg.json +++ b/examples/compiled/concat_hover.vg.json @@ -122,7 +122,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"])" }, "x": {"scale": "concat_0_x", "field": "Horsepower"}, "y": {"scale": "concat_0_y", "field": "Miles_per_Gallon"} @@ -250,7 +250,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"])" }, "x": {"scale": "concat_1_x", "field": "Horsepower"}, "y": {"scale": "concat_1_y", "field": "Acceleration"} diff --git a/examples/compiled/concat_hover_filter.vg.json b/examples/compiled/concat_hover_filter.vg.json index 120ca84bc5..f85b021ef2 100644 --- a/examples/compiled/concat_hover_filter.vg.json +++ b/examples/compiled/concat_hover_filter.vg.json @@ -145,7 +145,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "concat_0_x", "field": "Horsepower"}, "y": {"scale": "concat_0_y", "field": "Miles_per_Gallon"} @@ -165,7 +165,7 @@ "stroke": {"value": "goldenrod"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "concat_0_x", "field": "Horsepower"}, "y": {"scale": "concat_0_y", "field": "Miles_per_Gallon"} @@ -286,7 +286,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (format(datum[\"Acceleration\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\"))" }, "x": {"scale": "concat_1_x", "field": "Horsepower"}, "y": {"scale": "concat_1_y", "field": "Acceleration"} @@ -306,7 +306,7 @@ "stroke": {"value": "goldenrod"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (format(datum[\"Acceleration\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\"))" }, "x": {"scale": "concat_1_x", "field": "Horsepower"}, "y": {"scale": "concat_1_y", "field": "Acceleration"} diff --git a/examples/compiled/concat_layer_voyager_result.vg.json b/examples/compiled/concat_layer_voyager_result.vg.json index 38eb4f2142..290fb803f0 100644 --- a/examples/compiled/concat_layer_voyager_result.vg.json +++ b/examples/compiled/concat_layer_voyager_result.vg.json @@ -138,7 +138,7 @@ "update": { "stroke": {"value": "black"}, "description": { - "signal": "\"lo: \" + (format(datum[\"lo\"], \"\")) + \"; study: \" + (isValid(datum[\"study\"]) ? datum[\"study\"] : \"\"+datum[\"study\"]) + \"; hi: \" + (format(datum[\"hi\"], \"\"))" + "signal": "\"lo: \" + (!isValid(datum[\"lo\"]) || !isFinite(+datum[\"lo\"]) ? \"\" + datum[\"lo\"] : format(datum[\"lo\"], \"\")) + \"; study: \" + (\"\" + datum[\"study\"]) + \"; hi: \" + (!isValid(datum[\"hi\"]) || !isFinite(+datum[\"hi\"]) ? \"\" + datum[\"hi\"] : format(datum[\"hi\"], \"\"))" }, "x": {"scale": "concat_0_x", "field": "lo"}, "x2": {"scale": "concat_0_x", "field": "hi"}, @@ -158,7 +158,7 @@ "fill": {"scale": "color", "field": "measure"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"mean: \" + (format(datum[\"mean\"], \"\")) + \"; study: \" + (isValid(datum[\"study\"]) ? datum[\"study\"] : \"\"+datum[\"study\"]) + \"; measure: \" + (isValid(datum[\"measure\"]) ? datum[\"measure\"] : \"\"+datum[\"measure\"])" + "signal": "\"mean: \" + (!isValid(datum[\"mean\"]) || !isFinite(+datum[\"mean\"]) ? \"\" + datum[\"mean\"] : format(datum[\"mean\"], \"\")) + \"; study: \" + (\"\" + datum[\"study\"]) + \"; measure: \" + (\"\" + datum[\"measure\"])" }, "x": {"scale": "concat_0_x", "field": "mean"}, "y": {"scale": "concat_0_y", "field": "study", "band": 0.5}, @@ -233,7 +233,7 @@ "update": { "stroke": {"value": "black"}, "description": { - "signal": "\"from: \" + (format(datum[\"from\"], \"\")) + \"; to: \" + (format(datum[\"to\"], \"\"))" + "signal": "\"from: \" + (!isValid(datum[\"from\"]) || !isFinite(+datum[\"from\"]) ? \"\" + datum[\"from\"] : format(datum[\"from\"], \"\")) + \"; to: \" + (!isValid(datum[\"to\"]) || !isFinite(+datum[\"to\"]) ? \"\" + datum[\"to\"] : format(datum[\"to\"], \"\"))" }, "x": {"scale": "concat_1_x", "field": "from"}, "x2": {"scale": "concat_1_x", "field": "to"}, @@ -253,7 +253,7 @@ "size": {"value": 60}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"to: \" + (format(datum[\"to\"], \"\"))" + "signal": "\"to: \" + (!isValid(datum[\"to\"]) || !isFinite(+datum[\"to\"]) ? \"\" + datum[\"to\"] : format(datum[\"to\"], \"\"))" }, "x": {"scale": "concat_1_x", "field": "to"}, "y": {"signal": "concat_1_height", "mult": 0.5}, @@ -275,7 +275,7 @@ "text": {"value": ["Polestar", "More Valuable"]}, "fill": {"value": "black"}, "description": { - "signal": "\"from: \" + (format(datum[\"from\"], \"\"))" + "signal": "\"from: \" + (!isValid(datum[\"from\"]) || !isFinite(+datum[\"from\"]) ? \"\" + datum[\"from\"] : format(datum[\"from\"], \"\"))" }, "x": {"scale": "concat_1_x", "field": "from"}, "y": {"signal": "concat_1_height", "mult": 0.5}, @@ -294,7 +294,7 @@ "text": {"value": ["Voyager / Voyager 2", "More Valuable"]}, "fill": {"value": "black"}, "description": { - "signal": "\"from: \" + (format(datum[\"from\"], \"\"))" + "signal": "\"from: \" + (!isValid(datum[\"from\"]) || !isFinite(+datum[\"from\"]) ? \"\" + datum[\"from\"] : format(datum[\"from\"], \"\"))" }, "x": {"scale": "concat_1_x", "field": "from"}, "y": {"signal": "concat_1_height", "mult": 0.5}, diff --git a/examples/compiled/concat_marginal_histograms.vg.json b/examples/compiled/concat_marginal_histograms.vg.json index 2c4a6d604d..52b4be57c7 100644 --- a/examples/compiled/concat_marginal_histograms.vg.json +++ b/examples/compiled/concat_marginal_histograms.vg.json @@ -137,7 +137,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "concat_0_x", @@ -209,7 +209,7 @@ "update": { "fill": {"scale": "color", "field": "__count"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Rotten Tomatoes Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Rotten Tomatoes Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) ? \"\" + datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"] : format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "concat_1_concat_0_x", @@ -286,7 +286,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Count of Records: \" + (format(datum[\"__count\"], \"\")) + \"; Rotten Tomatoes Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating_end\"], \"\"))" + "signal": "\"Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\")) + \"; Rotten Tomatoes Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) ? \"\" + datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"] : format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating_end\"], \"\"))" }, "x": {"scale": "concat_1_concat_1_x", "field": "__count"}, "x2": {"scale": "concat_1_concat_1_x", "value": 0}, diff --git a/examples/compiled/concat_population_pyramid.vg.json b/examples/compiled/concat_population_pyramid.vg.json index 8e337a1fb8..b9bb9bc60e 100644 --- a/examples/compiled/concat_population_pyramid.vg.json +++ b/examples/compiled/concat_population_pyramid.vg.json @@ -124,7 +124,7 @@ "fill": {"scale": "color", "field": "gender"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"population: \" + (format(datum[\"sum_people\"], \"s\")) + \"; age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])" + "signal": "\"population: \" + (!isValid(datum[\"sum_people\"]) || !isFinite(+datum[\"sum_people\"]) ? \"\" + datum[\"sum_people\"] : format(datum[\"sum_people\"], \"s\")) + \"; age: \" + (\"\" + datum[\"age\"]) + \"; gender: \" + (\"\" + datum[\"gender\"])" }, "x": {"scale": "concat_0_x", "field": "sum_people_end"}, "x2": {"scale": "concat_0_x", "field": "sum_people_start"}, @@ -169,12 +169,12 @@ "update": { "align": {"value": "center"}, "fill": {"value": "black"}, - "description": { - "signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"])" - }, + "description": {"signal": "\"age: \" + (\"\" + datum[\"age\"])"}, "x": {"signal": "concat_1_width", "mult": 0.5}, "y": {"scale": "concat_1_y", "field": "age"}, - "text": {"signal": "format(datum[\"age\"], \"\")"}, + "text": { + "signal": "!isValid(datum[\"age\"]) || !isFinite(+datum[\"age\"]) ? \"\" + datum[\"age\"] : format(datum[\"age\"], \"\")" + }, "baseline": {"value": "middle"} } } @@ -203,7 +203,7 @@ "fill": {"scale": "color", "field": "gender"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"population: \" + (format(datum[\"sum_people\"], \"s\")) + \"; age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])" + "signal": "\"population: \" + (!isValid(datum[\"sum_people\"]) || !isFinite(+datum[\"sum_people\"]) ? \"\" + datum[\"sum_people\"] : format(datum[\"sum_people\"], \"s\")) + \"; age: \" + (\"\" + datum[\"age\"]) + \"; gender: \" + (\"\" + datum[\"gender\"])" }, "x": {"scale": "concat_2_x", "field": "sum_people_end"}, "x2": {"scale": "concat_2_x", "field": "sum_people_start"}, diff --git a/examples/compiled/concat_weather.vg.json b/examples/compiled/concat_weather.vg.json index c3ce9cc2a1..8462fe3b15 100644 --- a/examples/compiled/concat_weather.vg.json +++ b/examples/compiled/concat_weather.vg.json @@ -135,7 +135,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (!isValid(datum[\"mean_precipitation\"]) || !isFinite(+datum[\"mean_precipitation\"]) ? \"\" + datum[\"mean_precipitation\"] : format(datum[\"mean_precipitation\"], \"\"))" }, "x": {"scale": "concat_0_x", "field": "month_date"}, "width": {"signal": "max(0.25, bandwidth('concat_0_x'))"}, @@ -207,7 +207,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Median of precipitation: \" + (format(datum[\"median_precipitation\"], \"\"))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Median of precipitation: \" + (!isValid(datum[\"median_precipitation\"]) || !isFinite(+datum[\"median_precipitation\"]) ? \"\" + datum[\"median_precipitation\"] : format(datum[\"median_precipitation\"], \"\"))" }, "x": {"scale": "concat_1_x", "field": "month_date"}, "width": {"signal": "max(0.25, bandwidth('concat_1_x'))"}, @@ -280,7 +280,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"temp_min (binned): \" + (!isValid(datum[\"bin_maxbins_10_temp_min\"]) || !isFinite(+datum[\"bin_maxbins_10_temp_min\"]) ? \"null\" : format(datum[\"bin_maxbins_10_temp_min\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_temp_min_end\"], \"\")) + \"; temp_max (binned): \" + (!isValid(datum[\"bin_maxbins_10_temp_max\"]) || !isFinite(+datum[\"bin_maxbins_10_temp_max\"]) ? \"null\" : format(datum[\"bin_maxbins_10_temp_max\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_temp_max_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"temp_min (binned): \" + (!isValid(datum[\"bin_maxbins_10_temp_min\"]) || !isFinite(+datum[\"bin_maxbins_10_temp_min\"]) ? \"\" + datum[\"bin_maxbins_10_temp_min\"] : format(datum[\"bin_maxbins_10_temp_min\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_temp_min_end\"], \"\")) + \"; temp_max (binned): \" + (!isValid(datum[\"bin_maxbins_10_temp_max\"]) || !isFinite(+datum[\"bin_maxbins_10_temp_max\"]) ? \"\" + datum[\"bin_maxbins_10_temp_max\"] : format(datum[\"bin_maxbins_10_temp_max\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_temp_max_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": { "signal": "scale(\"concat_2_x\", 0.5 * datum[\"bin_maxbins_10_temp_min\"] + 0.5 * datum[\"bin_maxbins_10_temp_min_end\"])" diff --git a/examples/compiled/config_numberFormatType_test.vg.json b/examples/compiled/config_numberFormatType_test.vg.json index 6185f28c47..b126f7bb03 100644 --- a/examples/compiled/config_numberFormatType_test.vg.json +++ b/examples/compiled/config_numberFormatType_test.vg.json @@ -113,7 +113,11 @@ "tickCount": {"signal": "ceil(child_height/40)"}, "encode": { "labels": { - "update": {"text": {"signal": "pow(datum.value, \"1.0\")"}} + "update": { + "text": { + "signal": "!isValid(datum.value) || !isFinite(+datum.value) ? \"\" + datum.value : pow(datum.value, \"1.0\")" + } + } } }, "zindex": 0 @@ -144,7 +148,7 @@ "type": "group", "title": { "text": { - "signal": "!isValid(parent[\"bin_maxbins_4_Weight_in_lbs\"]) || !isFinite(+parent[\"bin_maxbins_4_Weight_in_lbs\"]) ? \"null\" : pow(parent[\"bin_maxbins_4_Weight_in_lbs\"], \"1.0\") + \" – \" + pow(parent[\"bin_maxbins_4_Weight_in_lbs_end\"], \"1.0\")" + "signal": "!isValid(parent[\"bin_maxbins_4_Weight_in_lbs\"]) || !isFinite(+parent[\"bin_maxbins_4_Weight_in_lbs\"]) ? \"\" + parent[\"bin_maxbins_4_Weight_in_lbs\"] : pow(parent[\"bin_maxbins_4_Weight_in_lbs\"], \"1.0\") + \" – \" + pow(parent[\"bin_maxbins_4_Weight_in_lbs_end\"], \"1.0\")" }, "style": "guide-label", "frame": "group", @@ -181,13 +185,13 @@ "update": { "opacity": {"value": 0.7}, "tooltip": { - "signal": "{\"Year\": timeFormat(datum[\"Year\"], '%b %d, %Y'), \"Miles_per_Gallon\": pow(datum[\"Miles_per_Gallon\"], \"1.0\"), \"Acceleration\": pow(datum[\"Acceleration\"], \"1.0\"), \"Displacement (binned)\": !isValid(datum[\"bin_maxbins_6_Displacement\"]) || !isFinite(+datum[\"bin_maxbins_6_Displacement\"]) ? \"null\" : pow(datum[\"bin_maxbins_6_Displacement\"], \"1.0\") + \" – \" + pow(datum[\"bin_maxbins_6_Displacement_end\"], \"1.0\")}" + "signal": "{\"Year\": !isValid(datum[\"Year\"]) || !isFinite(+datum[\"Year\"]) ? \"\" + datum[\"Year\"] : timeFormat(datum[\"Year\"], '%b %d, %Y'), \"Miles_per_Gallon\": !isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : pow(datum[\"Miles_per_Gallon\"], \"1.0\"), \"Acceleration\": !isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : pow(datum[\"Acceleration\"], \"1.0\"), \"Displacement (binned)\": !isValid(datum[\"bin_maxbins_6_Displacement\"]) || !isFinite(+datum[\"bin_maxbins_6_Displacement\"]) ? \"\" + datum[\"bin_maxbins_6_Displacement\"] : pow(datum[\"bin_maxbins_6_Displacement\"], \"1.0\") + \" – \" + pow(datum[\"bin_maxbins_6_Displacement_end\"], \"1.0\")}" }, "fill": {"value": "transparent"}, "stroke": {"scale": "color", "field": "Acceleration"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Year: \" + (timeFormat(datum[\"Year\"], '%b %d, %Y')) + \"; Miles_per_Gallon: \" + (pow(datum[\"Miles_per_Gallon\"], \"1.0\")) + \"; Acceleration: \" + (pow(datum[\"Acceleration\"], \"1.0\")) + \"; Displacement (binned): \" + (!isValid(datum[\"bin_maxbins_6_Displacement\"]) || !isFinite(+datum[\"bin_maxbins_6_Displacement\"]) ? \"null\" : pow(datum[\"bin_maxbins_6_Displacement\"], \"1.0\") + \" – \" + pow(datum[\"bin_maxbins_6_Displacement_end\"], \"1.0\"))" + "signal": "\"Year: \" + (!isValid(datum[\"Year\"]) || !isFinite(+datum[\"Year\"]) ? \"\" + datum[\"Year\"] : timeFormat(datum[\"Year\"], '%b %d, %Y')) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : pow(datum[\"Miles_per_Gallon\"], \"1.0\")) + \"; Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : pow(datum[\"Acceleration\"], \"1.0\")) + \"; Displacement (binned): \" + (!isValid(datum[\"bin_maxbins_6_Displacement\"]) || !isFinite(+datum[\"bin_maxbins_6_Displacement\"]) ? \"\" + datum[\"bin_maxbins_6_Displacement\"] : pow(datum[\"bin_maxbins_6_Displacement\"], \"1.0\") + \" – \" + pow(datum[\"bin_maxbins_6_Displacement_end\"], \"1.0\"))" }, "x": {"scale": "x", "field": "Year"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, @@ -270,7 +274,13 @@ "gradientLength": {"signal": "clamp(child_height, 64, 200)"}, "title": "Acceleration", "encode": { - "labels": {"update": {"text": {"signal": "pow(datum.value, \"1.0\")"}}}, + "labels": { + "update": { + "text": { + "signal": "!isValid(datum.value) || !isFinite(+datum.value) ? \"\" + datum.value : pow(datum.value, \"1.0\")" + } + } + }, "gradient": {"update": {"opacity": {"value": 0.7}}} } }, @@ -279,7 +289,13 @@ "symbolType": "circle", "title": "Displacement (binned)", "encode": { - "labels": {"update": {"text": {"signal": "pow(datum.value, \"1.0\")"}}}, + "labels": { + "update": { + "text": { + "signal": "!isValid(datum.value) || !isFinite(+datum.value) ? \"\" + datum.value : pow(datum.value, \"1.0\")" + } + } + }, "symbols": { "update": { "fill": {"value": "transparent"}, diff --git a/examples/compiled/config_numberFormatType_tooltip.vg.json b/examples/compiled/config_numberFormatType_tooltip.vg.json index b5c555ffc5..491135d2c5 100644 --- a/examples/compiled/config_numberFormatType_tooltip.vg.json +++ b/examples/compiled/config_numberFormatType_tooltip.vg.json @@ -35,12 +35,12 @@ "encode": { "update": { "tooltip": { - "signal": "{\"Year\": timeFormat(datum[\"Year\"], '%b %d, %Y'), \"Average of Miles_per_Gallon\": format(datum[\"average_Miles_per_Gallon\"], \".8f\")}" + "signal": "{\"Year\": !isValid(datum[\"Year\"]) || !isFinite(+datum[\"Year\"]) ? \"\" + datum[\"Year\"] : timeFormat(datum[\"Year\"], '%b %d, %Y'), \"Average of Miles_per_Gallon\": !isValid(datum[\"average_Miles_per_Gallon\"]) || !isFinite(+datum[\"average_Miles_per_Gallon\"]) ? \"\" + datum[\"average_Miles_per_Gallon\"] : format(datum[\"average_Miles_per_Gallon\"], \".8f\")}" }, "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Year: \" + (timeFormat(datum[\"Year\"], '%b %d, %Y')) + \"; Average of Miles_per_Gallon: \" + (format(datum[\"average_Miles_per_Gallon\"], \".8f\"))" + "signal": "\"Year: \" + (!isValid(datum[\"Year\"]) || !isFinite(+datum[\"Year\"]) ? \"\" + datum[\"Year\"] : timeFormat(datum[\"Year\"], '%b %d, %Y')) + \"; Average of Miles_per_Gallon: \" + (!isValid(datum[\"average_Miles_per_Gallon\"]) || !isFinite(+datum[\"average_Miles_per_Gallon\"]) ? \"\" + datum[\"average_Miles_per_Gallon\"] : format(datum[\"average_Miles_per_Gallon\"], \".8f\"))" }, "xc": {"scale": "x", "field": "Year"}, "width": {"value": 5}, diff --git a/examples/compiled/connected_scatterplot.vg.json b/examples/compiled/connected_scatterplot.vg.json index fa57708d38..f1e7ab2d91 100644 --- a/examples/compiled/connected_scatterplot.vg.json +++ b/examples/compiled/connected_scatterplot.vg.json @@ -33,7 +33,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"miles: \" + (format(datum[\"miles\"], \"\")) + \"; gas: \" + (format(datum[\"gas\"], \"\")) + \"; year: \" + (isValid(datum[\"year\"]) ? datum[\"year\"] : \"\"+datum[\"year\"])" + "signal": "\"miles: \" + (!isValid(datum[\"miles\"]) || !isFinite(+datum[\"miles\"]) ? \"\" + datum[\"miles\"] : format(datum[\"miles\"], \"\")) + \"; gas: \" + (!isValid(datum[\"gas\"]) || !isFinite(+datum[\"gas\"]) ? \"\" + datum[\"gas\"] : format(datum[\"gas\"], \"\")) + \"; year: \" + (\"\" + datum[\"year\"])" }, "x": {"scale": "x", "field": "miles"}, "y": {"scale": "y", "field": "gas"}, @@ -55,7 +55,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"miles: \" + (format(datum[\"miles\"], \"\")) + \"; gas: \" + (format(datum[\"gas\"], \"\")) + \"; year: \" + (isValid(datum[\"year\"]) ? datum[\"year\"] : \"\"+datum[\"year\"])" + "signal": "\"miles: \" + (!isValid(datum[\"miles\"]) || !isFinite(+datum[\"miles\"]) ? \"\" + datum[\"miles\"] : format(datum[\"miles\"], \"\")) + \"; gas: \" + (!isValid(datum[\"gas\"]) || !isFinite(+datum[\"gas\"]) ? \"\" + datum[\"gas\"] : format(datum[\"gas\"], \"\")) + \"; year: \" + (\"\" + datum[\"year\"])" }, "x": {"scale": "x", "field": "miles"}, "y": {"scale": "y", "field": "gas"} diff --git a/examples/compiled/dynamic_color_legend.vg.json b/examples/compiled/dynamic_color_legend.vg.json index 8fe244ec85..7189af3705 100644 --- a/examples/compiled/dynamic_color_legend.vg.json +++ b/examples/compiled/dynamic_color_legend.vg.json @@ -324,7 +324,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Date: \" + (timeFormat(datum[\"monthdate_date\"], '%b')) + \"; Maximum Daily Temperature (C): \" + (format(datum[\"temp_max\"], \"\")) + \"; Weather: \" + (isValid(datum[\"weather\"]) ? datum[\"weather\"] : \"\"+datum[\"weather\"]) + \"; Precipitation: \" + (format(datum[\"precipitation\"], \"\"))" + "signal": "\"Date: \" + (!isValid(datum[\"monthdate_date\"]) || !isFinite(+datum[\"monthdate_date\"]) ? \"\" + datum[\"monthdate_date\"] : timeFormat(datum[\"monthdate_date\"], '%b')) + \"; Maximum Daily Temperature (C): \" + (!isValid(datum[\"temp_max\"]) || !isFinite(+datum[\"temp_max\"]) ? \"\" + datum[\"temp_max\"] : format(datum[\"temp_max\"], \"\")) + \"; Weather: \" + (\"\" + datum[\"weather\"]) + \"; Precipitation: \" + (!isValid(datum[\"precipitation\"]) || !isFinite(+datum[\"precipitation\"]) ? \"\" + datum[\"precipitation\"] : format(datum[\"precipitation\"], \"\"))" }, "x": {"scale": "concat_0_x", "field": "monthdate_date"}, "y": {"scale": "concat_0_y", "field": "temp_max"}, @@ -507,7 +507,7 @@ ], "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Count of Records: \" + (format(datum[\"__count\"], \"\")) + \"; Weather: \" + (isValid(datum[\"weather\"]) ? datum[\"weather\"] : \"\"+datum[\"weather\"]) + \"; weather: \" + (isValid(datum[\"weather\"]) ? datum[\"weather\"] : \"\"+datum[\"weather\"])" + "signal": "\"Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\")) + \"; Weather: \" + (\"\" + datum[\"weather\"]) + \"; weather: \" + (\"\" + datum[\"weather\"])" }, "x": {"scale": "concat_1_x", "field": "__count"}, "x2": {"scale": "concat_1_x", "value": 0}, diff --git a/examples/compiled/embedded_csv.vg.json b/examples/compiled/embedded_csv.vg.json index b66266cce5..09fc53a3aa 100644 --- a/examples/compiled/embedded_csv.vg.json +++ b/examples/compiled/embedded_csv.vg.json @@ -30,7 +30,9 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, - "description": {"signal": "\"a: \" + (format(datum[\"a\"], \"\"))"}, + "description": { + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"))" + }, "x": {"signal": "width", "mult": 0.5}, "y": {"scale": "y", "field": "a"} } diff --git a/examples/compiled/errorband_2d_horizontal_color_encoding.vg.json b/examples/compiled/errorband_2d_horizontal_color_encoding.vg.json index 1383cea4aa..e7ca3550ca 100644 --- a/examples/compiled/errorband_2d_horizontal_color_encoding.vg.json +++ b/examples/compiled/errorband_2d_horizontal_color_encoding.vg.json @@ -49,10 +49,10 @@ "orient": {"value": "vertical"}, "fill": {"value": "black"}, "tooltip": { - "signal": "{\"Ci1 of Miles_per_Gallon\": format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" + "signal": "{\"Ci1 of Miles_per_Gallon\": !isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": !isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": !isValid(datum[\"center_Miles_per_Gallon\"]) || !isFinite(+datum[\"center_Miles_per_Gallon\"]) ? \"\" + datum[\"center_Miles_per_Gallon\"] : format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": !isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" }, "description": { - "signal": "\"Year (year): \" + (timeFormat(datum[\"year_Year\"], '%b %d, %Y')) + \"; Miles per Gallon (95% CIs): \" + (format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; upper_Miles_per_Gallon: \" + (format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Ci1 of Miles_per_Gallon: \" + (format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Ci0 of Miles_per_Gallon: \" + (format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; Mean of Miles_per_Gallon: \" + (format(datum[\"center_Miles_per_Gallon\"], \"\"))" + "signal": "\"Year (year): \" + (!isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], '%b %d, %Y')) + \"; Miles per Gallon (95% CIs): \" + (!isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; upper_Miles_per_Gallon: \" + (!isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Ci1 of Miles_per_Gallon: \" + (!isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Ci0 of Miles_per_Gallon: \" + (!isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; Mean of Miles_per_Gallon: \" + (!isValid(datum[\"center_Miles_per_Gallon\"]) || !isFinite(+datum[\"center_Miles_per_Gallon\"]) ? \"\" + datum[\"center_Miles_per_Gallon\"] : format(datum[\"center_Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "year_Year"}, "y": {"scale": "y", "field": "lower_Miles_per_Gallon"}, @@ -74,7 +74,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Ci1 of Miles_per_Gallon\": format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" + "signal": "{\"Ci1 of Miles_per_Gallon\": !isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": !isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": !isValid(datum[\"center_Miles_per_Gallon\"]) || !isFinite(+datum[\"center_Miles_per_Gallon\"]) ? \"\" + datum[\"center_Miles_per_Gallon\"] : format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": !isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" }, "x": {"scale": "x", "field": "year_Year"}, "y": {"scale": "y", "field": "lower_Miles_per_Gallon"}, @@ -95,7 +95,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Ci1 of Miles_per_Gallon\": format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" + "signal": "{\"Ci1 of Miles_per_Gallon\": !isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": !isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": !isValid(datum[\"center_Miles_per_Gallon\"]) || !isFinite(+datum[\"center_Miles_per_Gallon\"]) ? \"\" + datum[\"center_Miles_per_Gallon\"] : format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": !isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" }, "x": {"scale": "x", "field": "year_Year"}, "y": {"scale": "y", "field": "upper_Miles_per_Gallon"}, diff --git a/examples/compiled/errorband_2d_vertical_borders.vg.json b/examples/compiled/errorband_2d_vertical_borders.vg.json index a34fde1cbe..5c9ac39183 100644 --- a/examples/compiled/errorband_2d_vertical_borders.vg.json +++ b/examples/compiled/errorband_2d_vertical_borders.vg.json @@ -49,10 +49,10 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"Ci1 of Miles_per_Gallon\": format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" + "signal": "{\"Ci1 of Miles_per_Gallon\": !isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": !isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": !isValid(datum[\"center_Miles_per_Gallon\"]) || !isFinite(+datum[\"center_Miles_per_Gallon\"]) ? \"\" + datum[\"center_Miles_per_Gallon\"] : format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": !isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" }, "description": { - "signal": "\"Year (year): \" + (timeFormat(datum[\"year_Year\"], '%b %d, %Y')) + \"; Miles per Gallon (95% CIs): \" + (format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; upper_Miles_per_Gallon: \" + (format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Ci1 of Miles_per_Gallon: \" + (format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Ci0 of Miles_per_Gallon: \" + (format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; Mean of Miles_per_Gallon: \" + (format(datum[\"center_Miles_per_Gallon\"], \"\"))" + "signal": "\"Year (year): \" + (!isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], '%b %d, %Y')) + \"; Miles per Gallon (95% CIs): \" + (!isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; upper_Miles_per_Gallon: \" + (!isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Ci1 of Miles_per_Gallon: \" + (!isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Ci0 of Miles_per_Gallon: \" + (!isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; Mean of Miles_per_Gallon: \" + (!isValid(datum[\"center_Miles_per_Gallon\"]) || !isFinite(+datum[\"center_Miles_per_Gallon\"]) ? \"\" + datum[\"center_Miles_per_Gallon\"] : format(datum[\"center_Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "year_Year"}, "y": {"scale": "y", "field": "lower_Miles_per_Gallon"}, @@ -74,7 +74,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"Ci1 of Miles_per_Gallon\": format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" + "signal": "{\"Ci1 of Miles_per_Gallon\": !isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": !isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": !isValid(datum[\"center_Miles_per_Gallon\"]) || !isFinite(+datum[\"center_Miles_per_Gallon\"]) ? \"\" + datum[\"center_Miles_per_Gallon\"] : format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": !isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" }, "x": {"scale": "x", "field": "year_Year"}, "y": {"scale": "y", "field": "lower_Miles_per_Gallon"}, @@ -95,7 +95,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"Ci1 of Miles_per_Gallon\": format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" + "signal": "{\"Ci1 of Miles_per_Gallon\": !isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": !isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": !isValid(datum[\"center_Miles_per_Gallon\"]) || !isFinite(+datum[\"center_Miles_per_Gallon\"]) ? \"\" + datum[\"center_Miles_per_Gallon\"] : format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": !isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" }, "x": {"scale": "x", "field": "year_Year"}, "y": {"scale": "y", "field": "upper_Miles_per_Gallon"}, diff --git a/examples/compiled/errorband_tooltip.vg.json b/examples/compiled/errorband_tooltip.vg.json index 5dc465efe4..a1d49fb1b5 100644 --- a/examples/compiled/errorband_tooltip.vg.json +++ b/examples/compiled/errorband_tooltip.vg.json @@ -50,9 +50,11 @@ "opacity": {"value": 0.3}, "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, - "tooltip": {"signal": "format(datum[\"Miles_per_Gallon\"], \"\")"}, + "tooltip": { + "signal": "!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")" + }, "description": { - "signal": "\"Year (year): \" + (timeFormat(datum[\"year_Year\"], '%b %d, %Y')) + \"; Miles_per_Gallon: \" + (format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; upper_Miles_per_Gallon: \" + (format(datum[\"upper_Miles_per_Gallon\"], \"\"))" + "signal": "\"Year (year): \" + (!isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], '%b %d, %Y')) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; upper_Miles_per_Gallon: \" + (!isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "year_Year"}, "y": {"scale": "y", "field": "lower_Miles_per_Gallon"}, diff --git a/examples/compiled/errorbar_2d_vertical_ticks.vg.json b/examples/compiled/errorbar_2d_vertical_ticks.vg.json index 35c3dd8558..c33039b972 100644 --- a/examples/compiled/errorbar_2d_vertical_ticks.vg.json +++ b/examples/compiled/errorbar_2d_vertical_ticks.vg.json @@ -67,7 +67,7 @@ "opacity": {"value": 0.7}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"Ci1 of Miles_per_Gallon\": format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" + "signal": "{\"Ci1 of Miles_per_Gallon\": !isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": !isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": !isValid(datum[\"center_Miles_per_Gallon\"]) || !isFinite(+datum[\"center_Miles_per_Gallon\"]) ? \"\" + datum[\"center_Miles_per_Gallon\"] : format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": !isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" }, "xc": {"scale": "x", "field": "year_Year"}, "yc": {"scale": "y", "field": "lower_Miles_per_Gallon"}, @@ -87,7 +87,7 @@ "opacity": {"value": 0.7}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"Ci1 of Miles_per_Gallon\": format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" + "signal": "{\"Ci1 of Miles_per_Gallon\": !isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": !isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": !isValid(datum[\"center_Miles_per_Gallon\"]) || !isFinite(+datum[\"center_Miles_per_Gallon\"]) ? \"\" + datum[\"center_Miles_per_Gallon\"] : format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": !isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" }, "xc": {"scale": "x", "field": "year_Year"}, "yc": {"scale": "y", "field": "upper_Miles_per_Gallon"}, @@ -106,10 +106,10 @@ "ariaRoleDescription": {"value": "errorbar"}, "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Ci1 of Miles_per_Gallon\": format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" + "signal": "{\"Ci1 of Miles_per_Gallon\": !isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": !isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": !isValid(datum[\"center_Miles_per_Gallon\"]) || !isFinite(+datum[\"center_Miles_per_Gallon\"]) ? \"\" + datum[\"center_Miles_per_Gallon\"] : format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": !isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" }, "description": { - "signal": "\"Year (year): \" + (timeFormat(datum[\"year_Year\"], '%b %d, %Y')) + \"; Miles per Gallon (95% CIs): \" + (format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; upper_Miles_per_Gallon: \" + (format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Ci1 of Miles_per_Gallon: \" + (format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Ci0 of Miles_per_Gallon: \" + (format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; Mean of Miles_per_Gallon: \" + (format(datum[\"center_Miles_per_Gallon\"], \"\"))" + "signal": "\"Year (year): \" + (!isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], '%b %d, %Y')) + \"; Miles per Gallon (95% CIs): \" + (!isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; upper_Miles_per_Gallon: \" + (!isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Ci1 of Miles_per_Gallon: \" + (!isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Ci0 of Miles_per_Gallon: \" + (!isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; Mean of Miles_per_Gallon: \" + (!isValid(datum[\"center_Miles_per_Gallon\"]) || !isFinite(+datum[\"center_Miles_per_Gallon\"]) ? \"\" + datum[\"center_Miles_per_Gallon\"] : format(datum[\"center_Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "year_Year"}, "y": {"scale": "y", "field": "lower_Miles_per_Gallon"}, diff --git a/examples/compiled/errorbar_aggregate.vg.json b/examples/compiled/errorbar_aggregate.vg.json index 70df548211..4fabcb8091 100644 --- a/examples/compiled/errorbar_aggregate.vg.json +++ b/examples/compiled/errorbar_aggregate.vg.json @@ -66,7 +66,7 @@ "update": { "stroke": {"value": "black"}, "description": { - "signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"min_people\"], \"\")) + \"; Max of people: \" + (format(datum[\"max_people\"], \"\"))" + "signal": "\"age: \" + (\"\" + datum[\"age\"]) + \"; population: \" + (!isValid(datum[\"min_people\"]) || !isFinite(+datum[\"min_people\"]) ? \"\" + datum[\"min_people\"] : format(datum[\"min_people\"], \"\")) + \"; Max of people: \" + (!isValid(datum[\"max_people\"]) || !isFinite(+datum[\"max_people\"]) ? \"\" + datum[\"max_people\"] : format(datum[\"max_people\"], \"\"))" }, "x": {"scale": "x", "field": "age", "band": 0.5}, "y": {"scale": "y", "field": "min_people"}, @@ -84,7 +84,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "tick"}, "description": { - "signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"min_people\"], \"\"))" + "signal": "\"age: \" + (\"\" + datum[\"age\"]) + \"; population: \" + (!isValid(datum[\"min_people\"]) || !isFinite(+datum[\"min_people\"]) ? \"\" + datum[\"min_people\"] : format(datum[\"min_people\"], \"\"))" }, "xc": {"scale": "x", "field": "age", "band": 0.5}, "yc": {"scale": "y", "field": "min_people"}, @@ -103,7 +103,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "tick"}, "description": { - "signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"max_people\"], \"\"))" + "signal": "\"age: \" + (\"\" + datum[\"age\"]) + \"; population: \" + (!isValid(datum[\"max_people\"]) || !isFinite(+datum[\"max_people\"]) ? \"\" + datum[\"max_people\"] : format(datum[\"max_people\"], \"\"))" }, "xc": {"scale": "x", "field": "age", "band": 0.5}, "yc": {"scale": "y", "field": "max_people"}, @@ -123,7 +123,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"mean_people\"], \"\"))" + "signal": "\"age: \" + (\"\" + datum[\"age\"]) + \"; population: \" + (!isValid(datum[\"mean_people\"]) || !isFinite(+datum[\"mean_people\"]) ? \"\" + datum[\"mean_people\"] : format(datum[\"mean_people\"], \"\"))" }, "x": {"scale": "x", "field": "age", "band": 0.5}, "y": {"scale": "y", "field": "mean_people"}, diff --git a/examples/compiled/errorbar_horizontal_aggregate.vg.json b/examples/compiled/errorbar_horizontal_aggregate.vg.json index e1c5a726d4..1fb2fde1a9 100644 --- a/examples/compiled/errorbar_horizontal_aggregate.vg.json +++ b/examples/compiled/errorbar_horizontal_aggregate.vg.json @@ -66,7 +66,7 @@ "update": { "stroke": {"value": "black"}, "description": { - "signal": "\"population: \" + (format(datum[\"min_people\"], \"\")) + \"; age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; Max of people: \" + (format(datum[\"max_people\"], \"\"))" + "signal": "\"population: \" + (!isValid(datum[\"min_people\"]) || !isFinite(+datum[\"min_people\"]) ? \"\" + datum[\"min_people\"] : format(datum[\"min_people\"], \"\")) + \"; age: \" + (\"\" + datum[\"age\"]) + \"; Max of people: \" + (!isValid(datum[\"max_people\"]) || !isFinite(+datum[\"max_people\"]) ? \"\" + datum[\"max_people\"] : format(datum[\"max_people\"], \"\"))" }, "x": {"scale": "x", "field": "min_people"}, "x2": {"scale": "x", "field": "max_people"}, @@ -84,7 +84,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "tick"}, "description": { - "signal": "\"population: \" + (format(datum[\"min_people\"], \"\")) + \"; age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"])" + "signal": "\"population: \" + (!isValid(datum[\"min_people\"]) || !isFinite(+datum[\"min_people\"]) ? \"\" + datum[\"min_people\"] : format(datum[\"min_people\"], \"\")) + \"; age: \" + (\"\" + datum[\"age\"])" }, "xc": {"scale": "x", "field": "min_people"}, "yc": {"scale": "y", "field": "age", "band": 0.5}, @@ -103,7 +103,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "tick"}, "description": { - "signal": "\"population: \" + (format(datum[\"max_people\"], \"\")) + \"; age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"])" + "signal": "\"population: \" + (!isValid(datum[\"max_people\"]) || !isFinite(+datum[\"max_people\"]) ? \"\" + datum[\"max_people\"] : format(datum[\"max_people\"], \"\")) + \"; age: \" + (\"\" + datum[\"age\"])" }, "xc": {"scale": "x", "field": "max_people"}, "yc": {"scale": "y", "field": "age", "band": 0.5}, @@ -123,7 +123,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"population: \" + (format(datum[\"mean_people\"], \"\")) + \"; age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"])" + "signal": "\"population: \" + (!isValid(datum[\"mean_people\"]) || !isFinite(+datum[\"mean_people\"]) ? \"\" + datum[\"mean_people\"] : format(datum[\"mean_people\"], \"\")) + \"; age: \" + (\"\" + datum[\"age\"])" }, "x": {"scale": "x", "field": "mean_people"}, "y": {"scale": "y", "field": "age", "band": 0.5}, diff --git a/examples/compiled/errorbar_tooltip.vg.json b/examples/compiled/errorbar_tooltip.vg.json index 21572cd9cd..9295757f2a 100644 --- a/examples/compiled/errorbar_tooltip.vg.json +++ b/examples/compiled/errorbar_tooltip.vg.json @@ -48,11 +48,9 @@ "update": { "ariaRoleDescription": {"value": "errorbar"}, "stroke": {"value": "black"}, - "tooltip": { - "signal": "isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]" - }, + "tooltip": {"signal": "\"\" + datum[\"variety\"]"}, "description": { - "signal": "\"yield: \" + (format(datum[\"lower_yield\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]) + \"; upper_yield: \" + (format(datum[\"upper_yield\"], \"\"))" + "signal": "\"yield: \" + (!isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"]) + \"; upper_yield: \" + (!isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\"))" }, "x": {"scale": "x", "field": "lower_yield"}, "x2": {"scale": "x", "field": "upper_yield"}, diff --git a/examples/compiled/facet_bullet.vg.json b/examples/compiled/facet_bullet.vg.json index d594fea208..4d9b9df03f 100644 --- a/examples/compiled/facet_bullet.vg.json +++ b/examples/compiled/facet_bullet.vg.json @@ -198,9 +198,7 @@ "from": {"data": "row_domain"}, "sort": {"field": "datum[\"title\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"title\"]) ? parent[\"title\"] : \"\"+parent[\"title\"]" - }, + "text": {"signal": "\"\" + parent[\"title\"]"}, "orient": "left", "style": "guide-label", "frame": "group", @@ -339,7 +337,7 @@ "fill": {"value": "#eee"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"ranges[2]: \" + (format(datum[\"ranges.2\"], \"\"))" + "signal": "\"ranges[2]: \" + (!isValid(datum[\"ranges.2\"]) || !isFinite(+datum[\"ranges.2\"]) ? \"\" + datum[\"ranges.2\"] : format(datum[\"ranges.2\"], \"\"))" }, "x": {"scale": "child_x", "field": "ranges\\.2\\._end"}, "x2": {"scale": "child_x", "field": "ranges\\.2\\._start"}, @@ -358,7 +356,7 @@ "fill": {"value": "#ddd"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"ranges[1]: \" + (format(datum[\"ranges.1\"], \"\"))" + "signal": "\"ranges[1]: \" + (!isValid(datum[\"ranges.1\"]) || !isFinite(+datum[\"ranges.1\"]) ? \"\" + datum[\"ranges.1\"] : format(datum[\"ranges.1\"], \"\"))" }, "x": {"scale": "child_x", "field": "ranges\\.1\\._end"}, "x2": {"scale": "child_x", "field": "ranges\\.1\\._start"}, @@ -377,7 +375,7 @@ "fill": {"value": "#ccc"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"ranges[0]: \" + (format(datum[\"ranges.0\"], \"\"))" + "signal": "\"ranges[0]: \" + (!isValid(datum[\"ranges.0\"]) || !isFinite(+datum[\"ranges.0\"]) ? \"\" + datum[\"ranges.0\"] : format(datum[\"ranges.0\"], \"\"))" }, "x": {"scale": "child_x", "field": "ranges\\.0\\._end"}, "x2": {"scale": "child_x", "field": "ranges\\.0\\._start"}, @@ -396,7 +394,7 @@ "fill": {"value": "lightsteelblue"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"measures[1]: \" + (format(datum[\"measures.1\"], \"\"))" + "signal": "\"measures[1]: \" + (!isValid(datum[\"measures.1\"]) || !isFinite(+datum[\"measures.1\"]) ? \"\" + datum[\"measures.1\"] : format(datum[\"measures.1\"], \"\"))" }, "x": {"scale": "child_x", "field": "measures\\.1\\._end"}, "x2": {"scale": "child_x", "field": "measures\\.1\\._start"}, @@ -415,7 +413,7 @@ "fill": {"value": "steelblue"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"measures[0]: \" + (format(datum[\"measures.0\"], \"\"))" + "signal": "\"measures[0]: \" + (!isValid(datum[\"measures.0\"]) || !isFinite(+datum[\"measures.0\"]) ? \"\" + datum[\"measures.0\"] : format(datum[\"measures.0\"], \"\"))" }, "x": {"scale": "child_x", "field": "measures\\.0\\._end"}, "x2": {"scale": "child_x", "field": "measures\\.0\\._start"}, @@ -435,7 +433,7 @@ "fill": {"value": "black"}, "ariaRoleDescription": {"value": "tick"}, "description": { - "signal": "\"markers[0]: \" + (format(datum[\"markers.0\"], \"\"))" + "signal": "\"markers[0]: \" + (!isValid(datum[\"markers.0\"]) || !isFinite(+datum[\"markers.0\"]) ? \"\" + datum[\"markers.0\"] : format(datum[\"markers.0\"], \"\"))" }, "xc": {"scale": "child_x", "field": "markers\\.0"}, "yc": {"signal": "child_height", "mult": 0.5}, diff --git a/examples/compiled/facet_column_facet_column_point_future.vg.json b/examples/compiled/facet_column_facet_column_point_future.vg.json index 57f87487cb..3edc0e87e3 100644 --- a/examples/compiled/facet_column_facet_column_point_future.vg.json +++ b/examples/compiled/facet_column_facet_column_point_future.vg.json @@ -50,9 +50,7 @@ "from": {"data": "column_domain"}, "sort": {"field": "datum[\"Origin\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"Origin\"]) ? parent[\"Origin\"] : \"\"+parent[\"Origin\"]" - }, + "text": {"signal": "\"\" + parent[\"Origin\"]"}, "style": "guide-label", "frame": "group", "offset": 10 @@ -108,9 +106,7 @@ "from": {"data": "child_column_domain"}, "sort": {"field": "datum[\"Cylinders\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"Cylinders\"]) ? parent[\"Cylinders\"] : \"\"+parent[\"Cylinders\"]" - }, + "text": {"signal": "\"\" + parent[\"Cylinders\"]"}, "style": "guide-label", "frame": "group", "offset": 10 @@ -180,7 +176,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (format(datum[\"Acceleration\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Acceleration"} diff --git a/examples/compiled/facet_column_facet_row_point_future.vg.json b/examples/compiled/facet_column_facet_row_point_future.vg.json index ad1c118a5f..3ef6f04c3a 100644 --- a/examples/compiled/facet_column_facet_row_point_future.vg.json +++ b/examples/compiled/facet_column_facet_row_point_future.vg.json @@ -46,9 +46,7 @@ "from": {"data": "column_domain"}, "sort": {"field": "datum[\"Origin\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"Origin\"]) ? parent[\"Origin\"] : \"\"+parent[\"Origin\"]" - }, + "text": {"signal": "\"\" + parent[\"Origin\"]"}, "style": "guide-label", "frame": "group", "offset": 10 @@ -94,9 +92,7 @@ "from": {"data": "child_row_domain"}, "sort": {"field": "datum[\"Cylinders\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"Cylinders\"]) ? parent[\"Cylinders\"] : \"\"+parent[\"Cylinders\"]" - }, + "text": {"signal": "\"\" + parent[\"Cylinders\"]"}, "orient": "left", "style": "guide-label", "frame": "group", @@ -176,7 +172,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (format(datum[\"Acceleration\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Acceleration"} diff --git a/examples/compiled/facet_cross_independent_scale.vg.json b/examples/compiled/facet_cross_independent_scale.vg.json index d6280b91b1..3fa88790e3 100644 --- a/examples/compiled/facet_cross_independent_scale.vg.json +++ b/examples/compiled/facet_cross_independent_scale.vg.json @@ -87,9 +87,7 @@ "from": {"data": "row_domain"}, "sort": {"field": "datum[\"r\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"r\"]) ? parent[\"r\"] : \"\"+parent[\"r\"]" - }, + "text": {"signal": "\"\" + parent[\"r\"]"}, "orient": "left", "style": "guide-label", "frame": "group", @@ -110,9 +108,7 @@ "from": {"data": "column_domain"}, "sort": {"field": "datum[\"c\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"c\"]) ? parent[\"c\"] : \"\"+parent[\"c\"]" - }, + "text": {"signal": "\"\" + parent[\"c\"]"}, "style": "guide-label", "frame": "group", "offset": 10 @@ -166,7 +162,7 @@ "update": { "fill": {"value": "#4c78a8"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (isValid(datum[\"b\"]) ? datum[\"b\"] : \"\"+datum[\"b\"])" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (\"\" + datum[\"b\"])" }, "x": {"scale": "child_x", "field": "a"}, "width": {"signal": "max(0.25, bandwidth('child_x'))"}, diff --git a/examples/compiled/facet_custom.vg.json b/examples/compiled/facet_custom.vg.json index 8efd0d24a6..c0d210c2f3 100644 --- a/examples/compiled/facet_custom.vg.json +++ b/examples/compiled/facet_custom.vg.json @@ -93,9 +93,7 @@ "from": {"data": "column_domain"}, "sort": {"field": "datum[\"gender\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"gender\"]) ? parent[\"gender\"] : \"\"+parent[\"gender\"]" - }, + "text": {"signal": "\"\" + parent[\"gender\"]"}, "style": "guide-label", "frame": "group", "fontSize": 15, @@ -148,7 +146,7 @@ "fill": {"scale": "color", "field": "gender"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])" + "signal": "\"age: \" + (\"\" + datum[\"age\"]) + \"; population: \" + (!isValid(datum[\"sum_people\"]) || !isFinite(+datum[\"sum_people\"]) ? \"\" + datum[\"sum_people\"] : format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (\"\" + datum[\"gender\"])" }, "x": {"scale": "x", "field": "age"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/facet_custom_header.vg.json b/examples/compiled/facet_custom_header.vg.json index 8efd0d24a6..c0d210c2f3 100644 --- a/examples/compiled/facet_custom_header.vg.json +++ b/examples/compiled/facet_custom_header.vg.json @@ -93,9 +93,7 @@ "from": {"data": "column_domain"}, "sort": {"field": "datum[\"gender\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"gender\"]) ? parent[\"gender\"] : \"\"+parent[\"gender\"]" - }, + "text": {"signal": "\"\" + parent[\"gender\"]"}, "style": "guide-label", "frame": "group", "fontSize": 15, @@ -148,7 +146,7 @@ "fill": {"scale": "color", "field": "gender"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])" + "signal": "\"age: \" + (\"\" + datum[\"age\"]) + \"; population: \" + (!isValid(datum[\"sum_people\"]) || !isFinite(+datum[\"sum_people\"]) ? \"\" + datum[\"sum_people\"] : format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (\"\" + datum[\"gender\"])" }, "x": {"scale": "x", "field": "age"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/facet_grid_bar.vg.json b/examples/compiled/facet_grid_bar.vg.json index ffe8d7fbb6..4c782e5a9f 100644 --- a/examples/compiled/facet_grid_bar.vg.json +++ b/examples/compiled/facet_grid_bar.vg.json @@ -105,9 +105,7 @@ "from": {"data": "row_domain"}, "sort": {"field": "datum[\"a\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"a\"]) ? parent[\"a\"] : \"\"+parent[\"a\"]" - }, + "text": {"signal": "\"\" + parent[\"a\"]"}, "orient": "left", "style": "guide-label", "frame": "group", @@ -125,9 +123,7 @@ "from": {"data": "column_domain"}, "sort": {"field": "datum[\"b\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"b\"]) ? parent[\"b\"] : \"\"+parent[\"b\"]" - }, + "text": {"signal": "\"\" + parent[\"b\"]"}, "style": "guide-label", "frame": "group", "offset": 10 @@ -187,7 +183,7 @@ "fill": {"scale": "color", "field": "c"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"p: \" + (format(datum[\"p\"], \"%\")) + \"; c: \" + (isValid(datum[\"c\"]) ? datum[\"c\"] : \"\"+datum[\"c\"]) + \"; settings: \" + (isValid(datum[\"c\"]) ? datum[\"c\"] : \"\"+datum[\"c\"])" + "signal": "\"p: \" + (!isValid(datum[\"p\"]) || !isFinite(+datum[\"p\"]) ? \"\" + datum[\"p\"] : format(datum[\"p\"], \"%\")) + \"; c: \" + (\"\" + datum[\"c\"]) + \"; settings: \" + (\"\" + datum[\"c\"])" }, "x": {"scale": "x", "field": "p_end"}, "x2": {"scale": "x", "field": "p_start"}, diff --git a/examples/compiled/facet_independent_scale.vg.json b/examples/compiled/facet_independent_scale.vg.json index ec52febd7e..486029450d 100644 --- a/examples/compiled/facet_independent_scale.vg.json +++ b/examples/compiled/facet_independent_scale.vg.json @@ -92,9 +92,7 @@ "from": {"data": "column_domain"}, "sort": {"field": "datum[\"gender\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"gender\"]) ? parent[\"gender\"] : \"\"+parent[\"gender\"]" - }, + "text": {"signal": "\"\" + parent[\"gender\"]"}, "style": "guide-label", "frame": "group", "offset": 10 @@ -143,7 +141,7 @@ "fill": {"scale": "color", "field": "gender"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])" + "signal": "\"age: \" + (\"\" + datum[\"age\"]) + \"; population: \" + (!isValid(datum[\"sum_people\"]) || !isFinite(+datum[\"sum_people\"]) ? \"\" + datum[\"sum_people\"] : format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (\"\" + datum[\"gender\"])" }, "x": {"scale": "child_x", "field": "age"}, "width": {"signal": "max(0.25, bandwidth('child_x'))"}, diff --git a/examples/compiled/facet_independent_scale_layer_broken.vg.json b/examples/compiled/facet_independent_scale_layer_broken.vg.json index b91ed67ce5..9b20604bee 100644 --- a/examples/compiled/facet_independent_scale_layer_broken.vg.json +++ b/examples/compiled/facet_independent_scale_layer_broken.vg.json @@ -96,9 +96,7 @@ "from": {"data": "column_domain"}, "sort": {"field": "datum[\"gender\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"gender\"]) ? parent[\"gender\"] : \"\"+parent[\"gender\"]" - }, + "text": {"signal": "\"\" + parent[\"gender\"]"}, "style": "guide-label", "frame": "group", "offset": 10 @@ -189,7 +187,7 @@ "update": { "stroke": {"scale": "color", "field": "gender"}, "description": { - "signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])" + "signal": "\"age: \" + (\"\" + datum[\"age\"]) + \"; population: \" + (!isValid(datum[\"sum_people\"]) || !isFinite(+datum[\"sum_people\"]) ? \"\" + datum[\"sum_people\"] : format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (\"\" + datum[\"gender\"])" }, "x": {"scale": "child_x", "field": "age"}, "y": {"scale": "y", "field": "sum_people"}, @@ -212,7 +210,7 @@ "stroke": {"scale": "color", "field": "gender"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])" + "signal": "\"age: \" + (\"\" + datum[\"age\"]) + \"; population: \" + (!isValid(datum[\"sum_people\"]) || !isFinite(+datum[\"sum_people\"]) ? \"\" + datum[\"sum_people\"] : format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (\"\" + datum[\"gender\"])" }, "x": {"scale": "child_x", "field": "age"}, "y": {"scale": "y", "field": "sum_people"} diff --git a/examples/compiled/facet_row_facet_row_point_future.vg.json b/examples/compiled/facet_row_facet_row_point_future.vg.json index 89e8daaca4..52ae02e495 100644 --- a/examples/compiled/facet_row_facet_row_point_future.vg.json +++ b/examples/compiled/facet_row_facet_row_point_future.vg.json @@ -51,9 +51,7 @@ "from": {"data": "row_domain"}, "sort": {"field": "datum[\"Origin\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"Origin\"]) ? parent[\"Origin\"] : \"\"+parent[\"Origin\"]" - }, + "text": {"signal": "\"\" + parent[\"Origin\"]"}, "orient": "left", "style": "guide-label", "frame": "group", @@ -83,9 +81,7 @@ "from": {"data": "child_row_domain"}, "sort": {"field": "datum[\"Cylinders\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"Cylinders\"]) ? parent[\"Cylinders\"] : \"\"+parent[\"Cylinders\"]" - }, + "text": {"signal": "\"\" + parent[\"Cylinders\"]"}, "orient": "left", "style": "guide-label", "frame": "group", @@ -165,7 +161,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (format(datum[\"Acceleration\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Acceleration"} diff --git a/examples/compiled/geo_choropleth.vg.json b/examples/compiled/geo_choropleth.vg.json index 857c5be0c1..9774503993 100644 --- a/examples/compiled/geo_choropleth.vg.json +++ b/examples/compiled/geo_choropleth.vg.json @@ -49,7 +49,7 @@ "fill": {"scale": "color", "field": "rate"}, "ariaRoleDescription": {"value": "geoshape"}, "description": { - "signal": "\"rate: \" + (format(datum[\"rate\"], \"\"))" + "signal": "\"rate: \" + (!isValid(datum[\"rate\"]) || !isFinite(+datum[\"rate\"]) ? \"\" + datum[\"rate\"] : format(datum[\"rate\"], \"\"))" } } }, diff --git a/examples/compiled/geo_circle.vg.json b/examples/compiled/geo_circle.vg.json index 928b5138ea..8b3086b5ea 100644 --- a/examples/compiled/geo_circle.vg.json +++ b/examples/compiled/geo_circle.vg.json @@ -50,7 +50,7 @@ "fill": {"scale": "color", "field": "digit"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"longitude: \" + (format(datum[\"longitude\"], \"\")) + \"; latitude: \" + (format(datum[\"latitude\"], \"\")) + \"; digit: \" + (isValid(datum[\"digit\"]) ? datum[\"digit\"] : \"\"+datum[\"digit\"])" + "signal": "\"longitude: \" + (!isValid(datum[\"longitude\"]) || !isFinite(+datum[\"longitude\"]) ? \"\" + datum[\"longitude\"] : format(datum[\"longitude\"], \"\")) + \"; latitude: \" + (!isValid(datum[\"latitude\"]) || !isFinite(+datum[\"latitude\"]) ? \"\" + datum[\"latitude\"] : format(datum[\"latitude\"], \"\")) + \"; digit: \" + (\"\" + datum[\"digit\"])" }, "x": {"field": "x"}, "y": {"field": "y"}, diff --git a/examples/compiled/geo_constant_value.vg.json b/examples/compiled/geo_constant_value.vg.json index ebf40947e0..6efecf19f6 100644 --- a/examples/compiled/geo_constant_value.vg.json +++ b/examples/compiled/geo_constant_value.vg.json @@ -81,7 +81,7 @@ "fill": {"value": "gray"}, "ariaRoleDescription": {"value": "square"}, "description": { - "signal": "\"longitude: \" + (format(datum[\"longitude\"], \"\")) + \"; latitude: \" + (format(datum[\"latitude\"], \"\"))" + "signal": "\"longitude: \" + (!isValid(datum[\"longitude\"]) || !isFinite(+datum[\"longitude\"]) ? \"\" + datum[\"longitude\"] : format(datum[\"longitude\"], \"\")) + \"; latitude: \" + (!isValid(datum[\"latitude\"]) || !isFinite(+datum[\"latitude\"]) ? \"\" + datum[\"latitude\"] : format(datum[\"latitude\"], \"\"))" }, "x": {"field": "layer_0_x"}, "y": {"field": "layer_0_y"}, @@ -101,7 +101,7 @@ "fill": {"value": "steelblue"}, "ariaRoleDescription": {"value": "square"}, "description": { - "signal": "\"latitude: \" + (format(datum[\"latitude\"], \"\"))" + "signal": "\"latitude: \" + (!isValid(datum[\"latitude\"]) || !isFinite(+datum[\"latitude\"]) ? \"\" + datum[\"latitude\"] : format(datum[\"latitude\"], \"\"))" }, "x": {"field": "layer_1_x"}, "y": {"field": "layer_1_y"}, @@ -121,7 +121,7 @@ "fill": {"value": "firebrick"}, "ariaRoleDescription": {"value": "square"}, "description": { - "signal": "\"longitude: \" + (format(datum[\"longitude\"], \"\"))" + "signal": "\"longitude: \" + (!isValid(datum[\"longitude\"]) || !isFinite(+datum[\"longitude\"]) ? \"\" + datum[\"longitude\"] : format(datum[\"longitude\"], \"\"))" }, "x": {"field": "layer_2_x"}, "y": {"field": "layer_2_y"}, diff --git a/examples/compiled/geo_custom_projection.vg.json b/examples/compiled/geo_custom_projection.vg.json index 11e3a1680d..5a5cd6d1d9 100644 --- a/examples/compiled/geo_custom_projection.vg.json +++ b/examples/compiled/geo_custom_projection.vg.json @@ -61,7 +61,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"longitude: \" + (format(datum[\"longitude\"], \"\")) + \"; latitude: \" + (format(datum[\"latitude\"], \"\"))" + "signal": "\"longitude: \" + (!isValid(datum[\"longitude\"]) || !isFinite(+datum[\"longitude\"]) ? \"\" + datum[\"longitude\"] : format(datum[\"longitude\"], \"\")) + \"; latitude: \" + (!isValid(datum[\"latitude\"]) || !isFinite(+datum[\"latitude\"]) ? \"\" + datum[\"latitude\"] : format(datum[\"latitude\"], \"\"))" }, "x": {"field": "layer_1_x"}, "y": {"field": "layer_1_y"}, diff --git a/examples/compiled/geo_layer.vg.json b/examples/compiled/geo_layer.vg.json index b2b66955c1..ce414eeecf 100644 --- a/examples/compiled/geo_layer.vg.json +++ b/examples/compiled/geo_layer.vg.json @@ -64,7 +64,7 @@ "fill": {"value": "steelblue"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"longitude: \" + (format(datum[\"longitude\"], \"\")) + \"; latitude: \" + (format(datum[\"latitude\"], \"\"))" + "signal": "\"longitude: \" + (!isValid(datum[\"longitude\"]) || !isFinite(+datum[\"longitude\"]) ? \"\" + datum[\"longitude\"] : format(datum[\"longitude\"], \"\")) + \"; latitude: \" + (!isValid(datum[\"latitude\"]) || !isFinite(+datum[\"latitude\"]) ? \"\" + datum[\"latitude\"] : format(datum[\"latitude\"], \"\"))" }, "x": {"field": "layer_1_x"}, "y": {"field": "layer_1_y"}, diff --git a/examples/compiled/geo_layer_line_london.vg.json b/examples/compiled/geo_layer_line_london.vg.json index c2bf00c0f3..1bcce72379 100644 --- a/examples/compiled/geo_layer_line_london.vg.json +++ b/examples/compiled/geo_layer_line_london.vg.json @@ -76,13 +76,11 @@ "fill": {"value": "black"}, "opacity": {"value": 0.6}, "description": { - "signal": "\"cx: \" + (format(datum[\"cx\"], \"\")) + \"; cy: \" + (format(datum[\"cy\"], \"\")) + \"; bLabel: \" + (isValid(datum[\"bLabel\"]) ? datum[\"bLabel\"] : \"\"+datum[\"bLabel\"])" + "signal": "\"cx: \" + (!isValid(datum[\"cx\"]) || !isFinite(+datum[\"cx\"]) ? \"\" + datum[\"cx\"] : format(datum[\"cx\"], \"\")) + \"; cy: \" + (!isValid(datum[\"cy\"]) || !isFinite(+datum[\"cy\"]) ? \"\" + datum[\"cy\"] : format(datum[\"cy\"], \"\")) + \"; bLabel: \" + (\"\" + datum[\"bLabel\"])" }, "x": {"field": "layer_1_x"}, "y": {"field": "layer_1_y"}, - "text": { - "signal": "isValid(datum[\"bLabel\"]) ? datum[\"bLabel\"] : \"\"+datum[\"bLabel\"]" - }, + "text": {"signal": "\"\" + datum[\"bLabel\"]"}, "fontSize": {"value": 8}, "align": {"value": "center"}, "baseline": {"value": "middle"} @@ -100,9 +98,7 @@ "fill": {"value": "transparent"}, "stroke": {"scale": "color", "field": "id"}, "ariaRoleDescription": {"value": "geoshape"}, - "description": { - "signal": "\"id: \" + (isValid(datum[\"id\"]) ? datum[\"id\"] : \"\"+datum[\"id\"])" - } + "description": {"signal": "\"id: \" + (\"\" + datum[\"id\"])"} } }, "transform": [{"type": "geoshape", "projection": "projection"}] diff --git a/examples/compiled/geo_line.vg.json b/examples/compiled/geo_line.vg.json index 6220f8efc7..0eb1824d6a 100644 --- a/examples/compiled/geo_line.vg.json +++ b/examples/compiled/geo_line.vg.json @@ -104,7 +104,7 @@ "fill": {"value": "gray"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"longitude: \" + (format(datum[\"longitude\"], \"\")) + \"; latitude: \" + (format(datum[\"latitude\"], \"\"))" + "signal": "\"longitude: \" + (!isValid(datum[\"longitude\"]) || !isFinite(+datum[\"longitude\"]) ? \"\" + datum[\"longitude\"] : format(datum[\"longitude\"], \"\")) + \"; latitude: \" + (!isValid(datum[\"latitude\"]) || !isFinite(+datum[\"latitude\"]) ? \"\" + datum[\"latitude\"] : format(datum[\"latitude\"], \"\"))" }, "x": {"field": "layer_1_x"}, "y": {"field": "layer_1_y"}, @@ -123,7 +123,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"longitude: \" + (format(datum[\"longitude\"], \"\")) + \"; latitude: \" + (format(datum[\"latitude\"], \"\")) + \"; order: \" + (isValid(datum[\"order\"]) ? datum[\"order\"] : \"\"+datum[\"order\"])" + "signal": "\"longitude: \" + (!isValid(datum[\"longitude\"]) || !isFinite(+datum[\"longitude\"]) ? \"\" + datum[\"longitude\"] : format(datum[\"longitude\"], \"\")) + \"; latitude: \" + (!isValid(datum[\"latitude\"]) || !isFinite(+datum[\"latitude\"]) ? \"\" + datum[\"latitude\"] : format(datum[\"latitude\"], \"\")) + \"; order: \" + (\"\" + datum[\"order\"])" }, "x": {"field": "layer_2_x"}, "y": {"field": "layer_2_y"} diff --git a/examples/compiled/geo_point.vg.json b/examples/compiled/geo_point.vg.json index 4991440538..e9fec8c375 100644 --- a/examples/compiled/geo_point.vg.json +++ b/examples/compiled/geo_point.vg.json @@ -45,7 +45,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"longitude: \" + (format(datum[\"longitude\"], \"\")) + \"; latitude: \" + (format(datum[\"latitude\"], \"\"))" + "signal": "\"longitude: \" + (!isValid(datum[\"longitude\"]) || !isFinite(+datum[\"longitude\"]) ? \"\" + datum[\"longitude\"] : format(datum[\"longitude\"], \"\")) + \"; latitude: \" + (!isValid(datum[\"latitude\"]) || !isFinite(+datum[\"latitude\"]) ? \"\" + datum[\"latitude\"] : format(datum[\"latitude\"], \"\"))" }, "x": {"field": "x"}, "y": {"field": "y"}, diff --git a/examples/compiled/geo_repeat.vg.json b/examples/compiled/geo_repeat.vg.json index 52b141ba78..202508a401 100644 --- a/examples/compiled/geo_repeat.vg.json +++ b/examples/compiled/geo_repeat.vg.json @@ -122,7 +122,7 @@ }, "ariaRoleDescription": {"value": "geoshape"}, "description": { - "signal": "\"population: \" + (format(datum[\"population\"], \"\")) + \"; geo: \" + (isValid(datum[\"geo\"]) ? datum[\"geo\"] : \"\"+datum[\"geo\"])" + "signal": "\"population: \" + (!isValid(datum[\"population\"]) || !isFinite(+datum[\"population\"]) ? \"\" + datum[\"population\"] : format(datum[\"population\"], \"\")) + \"; geo: \" + (\"\" + datum[\"geo\"])" } } }, @@ -167,7 +167,7 @@ }, "ariaRoleDescription": {"value": "geoshape"}, "description": { - "signal": "\"engineers: \" + (format(datum[\"engineers\"], \"\")) + \"; geo: \" + (isValid(datum[\"geo\"]) ? datum[\"geo\"] : \"\"+datum[\"geo\"])" + "signal": "\"engineers: \" + (!isValid(datum[\"engineers\"]) || !isFinite(+datum[\"engineers\"]) ? \"\" + datum[\"engineers\"] : format(datum[\"engineers\"], \"\")) + \"; geo: \" + (\"\" + datum[\"geo\"])" } } }, @@ -212,7 +212,7 @@ }, "ariaRoleDescription": {"value": "geoshape"}, "description": { - "signal": "\"hurricanes: \" + (format(datum[\"hurricanes\"], \"\")) + \"; geo: \" + (isValid(datum[\"geo\"]) ? datum[\"geo\"] : \"\"+datum[\"geo\"])" + "signal": "\"hurricanes: \" + (!isValid(datum[\"hurricanes\"]) || !isFinite(+datum[\"hurricanes\"]) ? \"\" + datum[\"hurricanes\"] : format(datum[\"hurricanes\"], \"\")) + \"; geo: \" + (\"\" + datum[\"geo\"])" } } }, diff --git a/examples/compiled/geo_rule.vg.json b/examples/compiled/geo_rule.vg.json index a1e005b345..8bf3e79d89 100644 --- a/examples/compiled/geo_rule.vg.json +++ b/examples/compiled/geo_rule.vg.json @@ -112,7 +112,7 @@ "fill": {"value": "gray"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"longitude: \" + (format(datum[\"longitude\"], \"\")) + \"; latitude: \" + (format(datum[\"latitude\"], \"\"))" + "signal": "\"longitude: \" + (!isValid(datum[\"longitude\"]) || !isFinite(+datum[\"longitude\"]) ? \"\" + datum[\"longitude\"] : format(datum[\"longitude\"], \"\")) + \"; latitude: \" + (!isValid(datum[\"latitude\"]) || !isFinite(+datum[\"latitude\"]) ? \"\" + datum[\"latitude\"] : format(datum[\"latitude\"], \"\"))" }, "x": {"field": "layer_1_x"}, "y": {"field": "layer_1_y"}, @@ -130,7 +130,7 @@ "update": { "stroke": {"value": "black"}, "description": { - "signal": "\"origin_longitude: \" + (format(datum[\"origin_longitude\"], \"\")) + \"; dest_longitude: \" + (format(datum[\"dest_longitude\"], \"\")) + \"; origin_latitude: \" + (format(datum[\"origin_latitude\"], \"\")) + \"; dest_latitude: \" + (format(datum[\"dest_latitude\"], \"\"))" + "signal": "\"origin_longitude: \" + (!isValid(datum[\"origin_longitude\"]) || !isFinite(+datum[\"origin_longitude\"]) ? \"\" + datum[\"origin_longitude\"] : format(datum[\"origin_longitude\"], \"\")) + \"; dest_longitude: \" + (!isValid(datum[\"dest_longitude\"]) || !isFinite(+datum[\"dest_longitude\"]) ? \"\" + datum[\"dest_longitude\"] : format(datum[\"dest_longitude\"], \"\")) + \"; origin_latitude: \" + (!isValid(datum[\"origin_latitude\"]) || !isFinite(+datum[\"origin_latitude\"]) ? \"\" + datum[\"origin_latitude\"] : format(datum[\"origin_latitude\"], \"\")) + \"; dest_latitude: \" + (!isValid(datum[\"dest_latitude\"]) || !isFinite(+datum[\"dest_latitude\"]) ? \"\" + datum[\"dest_latitude\"] : format(datum[\"dest_latitude\"], \"\"))" }, "x": {"field": "layer_2_x"}, "x2": {"field": "layer_2_x2"}, diff --git a/examples/compiled/geo_text.vg.json b/examples/compiled/geo_text.vg.json index 070f566b95..999ada6662 100644 --- a/examples/compiled/geo_text.vg.json +++ b/examples/compiled/geo_text.vg.json @@ -87,7 +87,7 @@ "fill": {"value": "orange"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"lon: \" + (format(datum[\"lon\"], \"\")) + \"; lat: \" + (format(datum[\"lat\"], \"\"))" + "signal": "\"lon: \" + (!isValid(datum[\"lon\"]) || !isFinite(+datum[\"lon\"]) ? \"\" + datum[\"lon\"] : format(datum[\"lon\"], \"\")) + \"; lat: \" + (!isValid(datum[\"lat\"]) || !isFinite(+datum[\"lat\"]) ? \"\" + datum[\"lat\"] : format(datum[\"lat\"], \"\"))" }, "x": {"field": "layer_1_layer_0_x"}, "y": {"field": "layer_1_layer_0_y"}, @@ -105,13 +105,11 @@ "dy": {"value": -10}, "fill": {"value": "black"}, "description": { - "signal": "\"lon: \" + (format(datum[\"lon\"], \"\")) + \"; lat: \" + (format(datum[\"lat\"], \"\")) + \"; city: \" + (isValid(datum[\"city\"]) ? datum[\"city\"] : \"\"+datum[\"city\"])" + "signal": "\"lon: \" + (!isValid(datum[\"lon\"]) || !isFinite(+datum[\"lon\"]) ? \"\" + datum[\"lon\"] : format(datum[\"lon\"], \"\")) + \"; lat: \" + (!isValid(datum[\"lat\"]) || !isFinite(+datum[\"lat\"]) ? \"\" + datum[\"lat\"] : format(datum[\"lat\"], \"\")) + \"; city: \" + (\"\" + datum[\"city\"])" }, "x": {"field": "layer_1_layer_1_x"}, "y": {"field": "layer_1_layer_1_y"}, - "text": { - "signal": "isValid(datum[\"city\"]) ? datum[\"city\"] : \"\"+datum[\"city\"]" - }, + "text": {"signal": "\"\" + datum[\"city\"]"}, "align": {"value": "center"}, "baseline": {"value": "middle"} } diff --git a/examples/compiled/geo_trellis.vg.json b/examples/compiled/geo_trellis.vg.json index 23073cb4ae..6741935f37 100644 --- a/examples/compiled/geo_trellis.vg.json +++ b/examples/compiled/geo_trellis.vg.json @@ -72,9 +72,7 @@ "from": {"data": "row_domain"}, "sort": {"field": "datum[\"group\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"group\"]) ? parent[\"group\"] : \"\"+parent[\"group\"]" - }, + "text": {"signal": "\"\" + parent[\"group\"]"}, "orient": "left", "style": "guide-label", "frame": "group", @@ -107,7 +105,7 @@ "fill": {"scale": "color", "field": "pct"}, "ariaRoleDescription": {"value": "geoshape"}, "description": { - "signal": "\"pct: \" + (format(datum[\"pct\"], \"\")) + \"; geo: \" + (isValid(datum[\"geo\"]) ? datum[\"geo\"] : \"\"+datum[\"geo\"])" + "signal": "\"pct: \" + (!isValid(datum[\"pct\"]) || !isFinite(+datum[\"pct\"]) ? \"\" + datum[\"pct\"] : format(datum[\"pct\"], \"\")) + \"; geo: \" + (\"\" + datum[\"geo\"])" } } }, diff --git a/examples/compiled/hconcat_weather.vg.json b/examples/compiled/hconcat_weather.vg.json index 7825dc9eef..851fa1a530 100644 --- a/examples/compiled/hconcat_weather.vg.json +++ b/examples/compiled/hconcat_weather.vg.json @@ -114,7 +114,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (!isValid(datum[\"mean_precipitation\"]) || !isFinite(+datum[\"mean_precipitation\"]) ? \"\" + datum[\"mean_precipitation\"] : format(datum[\"mean_precipitation\"], \"\"))" }, "x": {"scale": "concat_0_x", "field": "month_date"}, "width": {"signal": "max(0.25, bandwidth('concat_0_x'))"}, @@ -187,7 +187,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"temp_min (binned): \" + (!isValid(datum[\"bin_maxbins_10_temp_min\"]) || !isFinite(+datum[\"bin_maxbins_10_temp_min\"]) ? \"null\" : format(datum[\"bin_maxbins_10_temp_min\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_temp_min_end\"], \"\")) + \"; temp_max (binned): \" + (!isValid(datum[\"bin_maxbins_10_temp_max\"]) || !isFinite(+datum[\"bin_maxbins_10_temp_max\"]) ? \"null\" : format(datum[\"bin_maxbins_10_temp_max\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_temp_max_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"temp_min (binned): \" + (!isValid(datum[\"bin_maxbins_10_temp_min\"]) || !isFinite(+datum[\"bin_maxbins_10_temp_min\"]) ? \"\" + datum[\"bin_maxbins_10_temp_min\"] : format(datum[\"bin_maxbins_10_temp_min\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_temp_min_end\"], \"\")) + \"; temp_max (binned): \" + (!isValid(datum[\"bin_maxbins_10_temp_max\"]) || !isFinite(+datum[\"bin_maxbins_10_temp_max\"]) ? \"\" + datum[\"bin_maxbins_10_temp_max\"] : format(datum[\"bin_maxbins_10_temp_max\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_temp_max_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": { "signal": "scale(\"concat_1_x\", 0.5 * datum[\"bin_maxbins_10_temp_min\"] + 0.5 * datum[\"bin_maxbins_10_temp_min_end\"])" diff --git a/examples/compiled/histogram.vg.json b/examples/compiled/histogram.vg.json index 600bc069e8..39cf6d3a8f 100644 --- a/examples/compiled/histogram.vg.json +++ b/examples/compiled/histogram.vg.json @@ -55,7 +55,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/histogram_bin_change.vg.json b/examples/compiled/histogram_bin_change.vg.json index cbeb5fd914..f979847942 100644 --- a/examples/compiled/histogram_bin_change.vg.json +++ b/examples/compiled/histogram_bin_change.vg.json @@ -55,7 +55,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_30_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_30_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_30_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_30_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_30_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_30_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_30_IMDB Rating\"] : format(datum[\"bin_maxbins_30_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_30_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/histogram_bin_spacing.vg.json b/examples/compiled/histogram_bin_spacing.vg.json index 92e7e119d5..2573bb6db2 100644 --- a/examples/compiled/histogram_bin_spacing.vg.json +++ b/examples/compiled/histogram_bin_spacing.vg.json @@ -55,7 +55,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/histogram_bin_spacing_reverse.vg.json b/examples/compiled/histogram_bin_spacing_reverse.vg.json index 201da13c9b..799addbc4e 100644 --- a/examples/compiled/histogram_bin_spacing_reverse.vg.json +++ b/examples/compiled/histogram_bin_spacing_reverse.vg.json @@ -55,7 +55,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/histogram_bin_transform.vg.json b/examples/compiled/histogram_bin_transform.vg.json index c2979ec1bf..f6ede805c8 100644 --- a/examples/compiled/histogram_bin_transform.vg.json +++ b/examples/compiled/histogram_bin_transform.vg.json @@ -49,7 +49,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"binned rating\"]) || !isFinite(+datum[\"binned rating\"]) ? \"null\" : format(datum[\"binned rating\"], \"\") + \" – \" + format(datum[\"binned rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"binned rating\"]) || !isFinite(+datum[\"binned rating\"]) ? \"\" + datum[\"binned rating\"] : format(datum[\"binned rating\"], \"\") + \" – \" + format(datum[\"binned rating_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/histogram_invalid_null.vg.json b/examples/compiled/histogram_invalid_null.vg.json index cfa083c372..1fded013b2 100644 --- a/examples/compiled/histogram_invalid_null.vg.json +++ b/examples/compiled/histogram_invalid_null.vg.json @@ -51,7 +51,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/histogram_log.vg.json b/examples/compiled/histogram_log.vg.json index 31cba9057c..3c145449e2 100644 --- a/examples/compiled/histogram_log.vg.json +++ b/examples/compiled/histogram_log.vg.json @@ -68,7 +68,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"x1: \" + (format(datum[\"x1\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\")) + \"; x2: \" + (format(datum[\"x2\"], \"\"))" + "signal": "\"x1: \" + (!isValid(datum[\"x1\"]) || !isFinite(+datum[\"x1\"]) ? \"\" + datum[\"x1\"] : format(datum[\"x1\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\")) + \"; x2: \" + (!isValid(datum[\"x2\"]) || !isFinite(+datum[\"x2\"]) ? \"\" + datum[\"x2\"] : format(datum[\"x2\"], \"\"))" }, "x": {"scale": "x", "field": "x1"}, "x2": {"scale": "x", "field": "x2"}, diff --git a/examples/compiled/histogram_no_spacing.vg.json b/examples/compiled/histogram_no_spacing.vg.json index b16ff5dfbc..c6063e8463 100644 --- a/examples/compiled/histogram_no_spacing.vg.json +++ b/examples/compiled/histogram_no_spacing.vg.json @@ -55,7 +55,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/histogram_nonlinear.vg.json b/examples/compiled/histogram_nonlinear.vg.json index 0230f34fe8..3247e07e6a 100644 --- a/examples/compiled/histogram_nonlinear.vg.json +++ b/examples/compiled/histogram_nonlinear.vg.json @@ -59,7 +59,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"startTime: \" + (isValid(datum[\"startTime\"]) ? datum[\"startTime\"] : \"\"+datum[\"startTime\"]) + \"; residency: \" + (format(datum[\"residency\"], \"\")) + \"; endTime: \" + (isValid(datum[\"endTime\"]) ? datum[\"endTime\"] : \"\"+datum[\"endTime\"])" + "signal": "\"startTime: \" + (\"\" + datum[\"startTime\"]) + \"; residency: \" + (!isValid(datum[\"residency\"]) || !isFinite(+datum[\"residency\"]) ? \"\" + datum[\"residency\"] : format(datum[\"residency\"], \"\")) + \"; endTime: \" + (\"\" + datum[\"endTime\"])" }, "x": {"scale": "x", "field": "startTime"}, "x2": {"scale": "x", "field": "endTime"}, diff --git a/examples/compiled/histogram_ordinal.vg.json b/examples/compiled/histogram_ordinal.vg.json index 1b11b8bd79..2f49a10684 100644 --- a/examples/compiled/histogram_ordinal.vg.json +++ b/examples/compiled/histogram_ordinal.vg.json @@ -28,7 +28,7 @@ }, { "type": "formula", - "expr": "!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")", + "expr": "!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")", "as": "bin_maxbins_10_IMDB Rating_range" }, { @@ -63,7 +63,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"scale": "x", "field": "bin_maxbins_10_IMDB Rating_range"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/histogram_ordinal_sort.vg.json b/examples/compiled/histogram_ordinal_sort.vg.json index a31354fb06..9f72105483 100644 --- a/examples/compiled/histogram_ordinal_sort.vg.json +++ b/examples/compiled/histogram_ordinal_sort.vg.json @@ -28,7 +28,7 @@ }, { "type": "formula", - "expr": "!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")", + "expr": "!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")", "as": "bin_maxbins_10_IMDB Rating_range" } ] @@ -69,7 +69,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"scale": "x", "field": "bin_maxbins_10_IMDB Rating_range"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/histogram_rel_freq.vg.json b/examples/compiled/histogram_rel_freq.vg.json index 4b292dad5d..42083a94c6 100644 --- a/examples/compiled/histogram_rel_freq.vg.json +++ b/examples/compiled/histogram_rel_freq.vg.json @@ -67,12 +67,12 @@ "encode": { "update": { "tooltip": { - "signal": "{\"Horsepower\": !isValid(datum[\"bin_Horsepwoer\"]) || !isFinite(+datum[\"bin_Horsepwoer\"]) ? \"null\" : format(datum[\"bin_Horsepwoer\"], \"\") + \" – \" + format(datum[\"bin_Horsepwoer_end\"], \"\"), \"Relative Frequency\": format(datum[\"PercentOfTotal\"], \".1~%\")}" + "signal": "{\"Horsepower\": !isValid(datum[\"bin_Horsepwoer\"]) || !isFinite(+datum[\"bin_Horsepwoer\"]) ? \"\" + datum[\"bin_Horsepwoer\"] : format(datum[\"bin_Horsepwoer\"], \"\") + \" – \" + format(datum[\"bin_Horsepwoer_end\"], \"\"), \"Relative Frequency\": !isValid(datum[\"PercentOfTotal\"]) || !isFinite(+datum[\"PercentOfTotal\"]) ? \"\" + datum[\"PercentOfTotal\"] : format(datum[\"PercentOfTotal\"], \".1~%\")}" }, "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Horsepower: \" + (!isValid(datum[\"bin_Horsepwoer\"]) || !isFinite(+datum[\"bin_Horsepwoer\"]) ? \"null\" : format(datum[\"bin_Horsepwoer\"], \"\") + \" – \" + format(datum[\"bin_Horsepwoer_end\"], \"\")) + \"; Relative Frequency: \" + (format(datum[\"PercentOfTotal\"], \".1~%\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"bin_Horsepwoer\"]) || !isFinite(+datum[\"bin_Horsepwoer\"]) ? \"\" + datum[\"bin_Horsepwoer\"] : format(datum[\"bin_Horsepwoer\"], \"\") + \" – \" + format(datum[\"bin_Horsepwoer_end\"], \"\")) + \"; Relative Frequency: \" + (!isValid(datum[\"PercentOfTotal\"]) || !isFinite(+datum[\"PercentOfTotal\"]) ? \"\" + datum[\"PercentOfTotal\"] : format(datum[\"PercentOfTotal\"], \".1~%\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/histogram_reverse.vg.json b/examples/compiled/histogram_reverse.vg.json index 7ea5fb71df..e86bb0773b 100644 --- a/examples/compiled/histogram_reverse.vg.json +++ b/examples/compiled/histogram_reverse.vg.json @@ -55,7 +55,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/interactive_1d_geo_brush.vg.json b/examples/compiled/interactive_1d_geo_brush.vg.json index 1ea53884db..78aa0ea2b0 100644 --- a/examples/compiled/interactive_1d_geo_brush.vg.json +++ b/examples/compiled/interactive_1d_geo_brush.vg.json @@ -292,7 +292,7 @@ ], "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"longitude: \" + (format(datum[\"longitude\"], \"\")) + \"; latitude: \" + (format(datum[\"latitude\"], \"\"))" + "signal": "\"longitude: \" + (!isValid(datum[\"longitude\"]) || !isFinite(+datum[\"longitude\"]) ? \"\" + datum[\"longitude\"] : format(datum[\"longitude\"], \"\")) + \"; latitude: \" + (!isValid(datum[\"latitude\"]) || !isFinite(+datum[\"latitude\"]) ? \"\" + datum[\"latitude\"] : format(datum[\"latitude\"], \"\"))" }, "x": {"field": "layer_1_x"}, "y": {"field": "layer_1_y"}, diff --git a/examples/compiled/interactive_airport_crossfilter.vg.json b/examples/compiled/interactive_airport_crossfilter.vg.json index 5aa92361d0..c975270ad9 100644 --- a/examples/compiled/interactive_airport_crossfilter.vg.json +++ b/examples/compiled/interactive_airport_crossfilter.vg.json @@ -505,7 +505,7 @@ ], "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"longitude: \" + (format(datum[\"longitude\"], \"\")) + \"; latitude: \" + (format(datum[\"latitude\"], \"\")) + \"; routes: \" + (format(datum[\"routes\"], \"\"))" + "signal": "\"longitude: \" + (!isValid(datum[\"longitude\"]) || !isFinite(+datum[\"longitude\"]) ? \"\" + datum[\"longitude\"] : format(datum[\"longitude\"], \"\")) + \"; latitude: \" + (!isValid(datum[\"latitude\"]) || !isFinite(+datum[\"latitude\"]) ? \"\" + datum[\"latitude\"] : format(datum[\"latitude\"], \"\")) + \"; routes: \" + (!isValid(datum[\"routes\"]) || !isFinite(+datum[\"routes\"]) ? \"\" + datum[\"routes\"] : format(datum[\"routes\"], \"\"))" }, "x": {"field": "concat_0_layer_1_x"}, "y": {"field": "concat_0_layer_1_y"}, @@ -591,7 +591,7 @@ "fill": {"value": "steelblue"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"distance (binned): \" + (!isValid(datum[\"bin_maxbins_20_distance\"]) || !isFinite(+datum[\"bin_maxbins_20_distance\"]) ? \"null\" : format(datum[\"bin_maxbins_20_distance\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_distance_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"distance (binned): \" + (!isValid(datum[\"bin_maxbins_20_distance\"]) || !isFinite(+datum[\"bin_maxbins_20_distance\"]) ? \"\" + datum[\"bin_maxbins_20_distance\"] : format(datum[\"bin_maxbins_20_distance\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_distance_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_distance_x", @@ -626,7 +626,7 @@ "fill": {"value": "goldenrod"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"distance (binned): \" + (!isValid(datum[\"bin_maxbins_20_distance\"]) || !isFinite(+datum[\"bin_maxbins_20_distance\"]) ? \"null\" : format(datum[\"bin_maxbins_20_distance\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_distance_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"distance (binned): \" + (!isValid(datum[\"bin_maxbins_20_distance\"]) || !isFinite(+datum[\"bin_maxbins_20_distance\"]) ? \"\" + datum[\"bin_maxbins_20_distance\"] : format(datum[\"bin_maxbins_20_distance\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_distance_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_distance_x", @@ -709,7 +709,7 @@ "fill": {"value": "steelblue"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"delay (binned): \" + (!isValid(datum[\"bin_maxbins_20_delay\"]) || !isFinite(+datum[\"bin_maxbins_20_delay\"]) ? \"null\" : format(datum[\"bin_maxbins_20_delay\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_delay_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"delay (binned): \" + (!isValid(datum[\"bin_maxbins_20_delay\"]) || !isFinite(+datum[\"bin_maxbins_20_delay\"]) ? \"\" + datum[\"bin_maxbins_20_delay\"] : format(datum[\"bin_maxbins_20_delay\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_delay_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_delay_x", @@ -741,7 +741,7 @@ "fill": {"value": "goldenrod"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"delay (binned): \" + (!isValid(datum[\"bin_maxbins_20_delay\"]) || !isFinite(+datum[\"bin_maxbins_20_delay\"]) ? \"null\" : format(datum[\"bin_maxbins_20_delay\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_delay_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"delay (binned): \" + (!isValid(datum[\"bin_maxbins_20_delay\"]) || !isFinite(+datum[\"bin_maxbins_20_delay\"]) ? \"\" + datum[\"bin_maxbins_20_delay\"] : format(datum[\"bin_maxbins_20_delay\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_delay_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_delay_x", diff --git a/examples/compiled/interactive_area_brush.vg.json b/examples/compiled/interactive_area_brush.vg.json index 907f4329c6..b76ea1ac97 100644 --- a/examples/compiled/interactive_area_brush.vg.json +++ b/examples/compiled/interactive_area_brush.vg.json @@ -279,7 +279,7 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "description": { - "signal": "\"date (year-month): \" + (timeFormat(datum[\"yearmonth_date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Sum of count: \" + (format(datum[\"sum_count\"], \"\"))" + "signal": "\"date (year-month): \" + (!isValid(datum[\"yearmonth_date\"]) || !isFinite(+datum[\"yearmonth_date\"]) ? \"\" + datum[\"yearmonth_date\"] : timeFormat(datum[\"yearmonth_date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Sum of count: \" + (!isValid(datum[\"sum_count\"]) || !isFinite(+datum[\"sum_count\"]) ? \"\" + datum[\"sum_count\"] : format(datum[\"sum_count\"], \"\"))" }, "x": {"scale": "x", "field": "yearmonth_date"}, "y": {"scale": "y", "field": "sum_count"}, @@ -302,7 +302,7 @@ "orient": {"value": "vertical"}, "fill": {"value": "goldenrod"}, "description": { - "signal": "\"date (year-month): \" + (timeFormat(datum[\"yearmonth_date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Sum of count: \" + (format(datum[\"sum_count\"], \"\"))" + "signal": "\"date (year-month): \" + (!isValid(datum[\"yearmonth_date\"]) || !isFinite(+datum[\"yearmonth_date\"]) ? \"\" + datum[\"yearmonth_date\"] : timeFormat(datum[\"yearmonth_date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Sum of count: \" + (!isValid(datum[\"sum_count\"]) || !isFinite(+datum[\"sum_count\"]) ? \"\" + datum[\"sum_count\"] : format(datum[\"sum_count\"], \"\"))" }, "x": {"scale": "x", "field": "yearmonth_date"}, "y": {"scale": "y", "field": "sum_count"}, diff --git a/examples/compiled/interactive_bar_select_highlight.vg.json b/examples/compiled/interactive_bar_select_highlight.vg.json index 4c67db065f..0edaf568f5 100644 --- a/examples/compiled/interactive_bar_select_highlight.vg.json +++ b/examples/compiled/interactive_bar_select_highlight.vg.json @@ -164,7 +164,7 @@ ], "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "a"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/interactive_bin_extent.vg.json b/examples/compiled/interactive_bin_extent.vg.json index 2e577c871c..2b48a2b7a6 100644 --- a/examples/compiled/interactive_bin_extent.vg.json +++ b/examples/compiled/interactive_bin_extent.vg.json @@ -332,7 +332,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"time (binned): \" + (!isValid(datum[\"bin_maxbins_30_time\"]) || !isFinite(+datum[\"bin_maxbins_30_time\"]) ? \"null\" : format(datum[\"bin_maxbins_30_time\"], \"\") + \" – \" + format(datum[\"bin_maxbins_30_time_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"time (binned): \" + (!isValid(datum[\"bin_maxbins_30_time\"]) || !isFinite(+datum[\"bin_maxbins_30_time\"]) ? \"\" + datum[\"bin_maxbins_30_time\"] : format(datum[\"bin_maxbins_30_time\"], \"\") + \" – \" + format(datum[\"bin_maxbins_30_time_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "concat_0_x", @@ -458,7 +458,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"time (binned): \" + (!isValid(datum[\"bin_maxbins_30_extent_param_brush_time\"]) || !isFinite(+datum[\"bin_maxbins_30_extent_param_brush_time\"]) ? \"null\" : format(datum[\"bin_maxbins_30_extent_param_brush_time\"], \"\") + \" – \" + format(datum[\"bin_maxbins_30_extent_param_brush_time_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"time (binned): \" + (!isValid(datum[\"bin_maxbins_30_extent_param_brush_time\"]) || !isFinite(+datum[\"bin_maxbins_30_extent_param_brush_time\"]) ? \"\" + datum[\"bin_maxbins_30_extent_param_brush_time\"] : format(datum[\"bin_maxbins_30_extent_param_brush_time\"], \"\") + \" – \" + format(datum[\"bin_maxbins_30_extent_param_brush_time_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "concat_1_x", diff --git a/examples/compiled/interactive_bin_extent_bottom.vg.json b/examples/compiled/interactive_bin_extent_bottom.vg.json index 12f6ec754c..8ca28283d3 100644 --- a/examples/compiled/interactive_bin_extent_bottom.vg.json +++ b/examples/compiled/interactive_bin_extent_bottom.vg.json @@ -127,7 +127,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"time (binned): \" + (!isValid(datum[\"bin_maxbins_30_extent_param_brush_time\"]) || !isFinite(+datum[\"bin_maxbins_30_extent_param_brush_time\"]) ? \"null\" : format(datum[\"bin_maxbins_30_extent_param_brush_time\"], \"\") + \" – \" + format(datum[\"bin_maxbins_30_extent_param_brush_time_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"time (binned): \" + (!isValid(datum[\"bin_maxbins_30_extent_param_brush_time\"]) || !isFinite(+datum[\"bin_maxbins_30_extent_param_brush_time\"]) ? \"\" + datum[\"bin_maxbins_30_extent_param_brush_time\"] : format(datum[\"bin_maxbins_30_extent_param_brush_time\"], \"\") + \" – \" + format(datum[\"bin_maxbins_30_extent_param_brush_time_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "concat_0_x", @@ -414,7 +414,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"time (binned): \" + (!isValid(datum[\"bin_maxbins_30_time\"]) || !isFinite(+datum[\"bin_maxbins_30_time\"]) ? \"null\" : format(datum[\"bin_maxbins_30_time\"], \"\") + \" – \" + format(datum[\"bin_maxbins_30_time_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"time (binned): \" + (!isValid(datum[\"bin_maxbins_30_time\"]) || !isFinite(+datum[\"bin_maxbins_30_time\"]) ? \"\" + datum[\"bin_maxbins_30_time\"] : format(datum[\"bin_maxbins_30_time\"], \"\") + \" – \" + format(datum[\"bin_maxbins_30_time_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "concat_1_x", diff --git a/examples/compiled/interactive_brush.vg.json b/examples/compiled/interactive_brush.vg.json index 92e0c2623e..020ae5ae80 100644 --- a/examples/compiled/interactive_brush.vg.json +++ b/examples/compiled/interactive_brush.vg.json @@ -333,7 +333,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} diff --git a/examples/compiled/interactive_concat_layer.vg.json b/examples/compiled/interactive_concat_layer.vg.json index c3a2ba3a16..bb548bcd41 100644 --- a/examples/compiled/interactive_concat_layer.vg.json +++ b/examples/compiled/interactive_concat_layer.vg.json @@ -150,7 +150,7 @@ "update": { "fill": {"scale": "color", "field": "__count"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Rotten Tomatoes Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Rotten Tomatoes Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) ? \"\" + datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"] : format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "concat_0_x", @@ -195,7 +195,7 @@ "stroke": {"value": "#666"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Rotten Tomatoes Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Rotten Tomatoes Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"]) ? \"\" + datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"] : format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Rotten Tomatoes Rating_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": { "signal": "scale(\"concat_0_x\", 0.5 * datum[\"bin_maxbins_10_IMDB Rating\"] + 0.5 * datum[\"bin_maxbins_10_IMDB Rating_end\"])" @@ -322,7 +322,7 @@ ], "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Major Genre: \" + (isValid(datum[\"Major Genre\"]) ? datum[\"Major Genre\"] : \"\"+datum[\"Major Genre\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Major Genre: \" + (\"\" + datum[\"Major Genre\"]) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"scale": "concat_1_x", "field": "Major Genre"}, "width": {"signal": "max(0.25, bandwidth('concat_1_x'))"}, diff --git a/examples/compiled/interactive_crossfilter.vg.json b/examples/compiled/interactive_crossfilter.vg.json index 8fb1c99ae6..bcf369906d 100644 --- a/examples/compiled/interactive_crossfilter.vg.json +++ b/examples/compiled/interactive_crossfilter.vg.json @@ -369,7 +369,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"distance (binned): \" + (!isValid(datum[\"bin_maxbins_20_distance\"]) || !isFinite(+datum[\"bin_maxbins_20_distance\"]) ? \"null\" : format(datum[\"bin_maxbins_20_distance\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_distance_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"distance (binned): \" + (!isValid(datum[\"bin_maxbins_20_distance\"]) || !isFinite(+datum[\"bin_maxbins_20_distance\"]) ? \"\" + datum[\"bin_maxbins_20_distance\"] : format(datum[\"bin_maxbins_20_distance\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_distance_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_distance_x", @@ -678,7 +678,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"delay (binned): \" + (!isValid(datum[\"bin_maxbins_20_delay\"]) || !isFinite(+datum[\"bin_maxbins_20_delay\"]) ? \"null\" : format(datum[\"bin_maxbins_20_delay\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_delay_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"delay (binned): \" + (!isValid(datum[\"bin_maxbins_20_delay\"]) || !isFinite(+datum[\"bin_maxbins_20_delay\"]) ? \"\" + datum[\"bin_maxbins_20_delay\"] : format(datum[\"bin_maxbins_20_delay\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_delay_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_delay_x", @@ -987,7 +987,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"time (binned): \" + (!isValid(datum[\"bin_maxbins_20_time\"]) || !isFinite(+datum[\"bin_maxbins_20_time\"]) ? \"null\" : format(datum[\"bin_maxbins_20_time\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_time_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"time (binned): \" + (!isValid(datum[\"bin_maxbins_20_time\"]) || !isFinite(+datum[\"bin_maxbins_20_time\"]) ? \"\" + datum[\"bin_maxbins_20_time\"] : format(datum[\"bin_maxbins_20_time\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_time_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_time_x", diff --git a/examples/compiled/interactive_dashboard_europe_pop.vg.json b/examples/compiled/interactive_dashboard_europe_pop.vg.json index 5207bf1ccc..989135897d 100644 --- a/examples/compiled/interactive_dashboard_europe_pop.vg.json +++ b/examples/compiled/interactive_dashboard_europe_pop.vg.json @@ -615,7 +615,7 @@ ], "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Population_ages_15_64_of_total: \" + (format(datum[\"Population_ages_15_64_of_total\"], \"\")) + \"; Country: \" + (isValid(datum[\"Country\"]) ? datum[\"Country\"] : \"\"+datum[\"Country\"])" + "signal": "\"Population_ages_15_64_of_total: \" + (!isValid(datum[\"Population_ages_15_64_of_total\"]) || !isFinite(+datum[\"Population_ages_15_64_of_total\"]) ? \"\" + datum[\"Population_ages_15_64_of_total\"] : format(datum[\"Population_ages_15_64_of_total\"], \"\")) + \"; Country: \" + (\"\" + datum[\"Country\"])" }, "x": { "scale": "concat_0_x", @@ -942,7 +942,7 @@ ], "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Population_ages_65_and_above_of_total: \" + (format(datum[\"Population_ages_65_and_above_of_total\"], \"\")) + \"; Country: \" + (isValid(datum[\"Country\"]) ? datum[\"Country\"] : \"\"+datum[\"Country\"])" + "signal": "\"Population_ages_65_and_above_of_total: \" + (!isValid(datum[\"Population_ages_65_and_above_of_total\"]) || !isFinite(+datum[\"Population_ages_65_and_above_of_total\"]) ? \"\" + datum[\"Population_ages_65_and_above_of_total\"] : format(datum[\"Population_ages_65_and_above_of_total\"], \"\")) + \"; Country: \" + (\"\" + datum[\"Country\"])" }, "x": { "scale": "concat_1_x", @@ -1348,7 +1348,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Population_ages_65_and_above_of_total: \" + (format(datum[\"Population_ages_65_and_above_of_total\"], \"\")) + \"; Population_ages_15_64_of_total: \" + (format(datum[\"Population_ages_15_64_of_total\"], \"\"))" + "signal": "\"Population_ages_65_and_above_of_total: \" + (!isValid(datum[\"Population_ages_65_and_above_of_total\"]) || !isFinite(+datum[\"Population_ages_65_and_above_of_total\"]) ? \"\" + datum[\"Population_ages_65_and_above_of_total\"] : format(datum[\"Population_ages_65_and_above_of_total\"], \"\")) + \"; Population_ages_15_64_of_total: \" + (!isValid(datum[\"Population_ages_15_64_of_total\"]) || !isFinite(+datum[\"Population_ages_15_64_of_total\"]) ? \"\" + datum[\"Population_ages_15_64_of_total\"] : format(datum[\"Population_ages_15_64_of_total\"], \"\"))" }, "x": { "scale": "concat_2_x", diff --git a/examples/compiled/interactive_geo_earthquakes.vg.json b/examples/compiled/interactive_geo_earthquakes.vg.json index 8468689405..363a291806 100644 --- a/examples/compiled/interactive_geo_earthquakes.vg.json +++ b/examples/compiled/interactive_geo_earthquakes.vg.json @@ -113,12 +113,10 @@ "update": { "opacity": {"value": 0.25}, "fill": {"value": "red"}, - "tooltip": { - "signal": "{\"magnitude\": isValid(datum[\"magnitude\"]) ? datum[\"magnitude\"] : \"\"+datum[\"magnitude\"]}" - }, + "tooltip": {"signal": "{\"magnitude\": \"\" + datum[\"magnitude\"]}"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"longitude: \" + (format(datum[\"longitude\"], \"\")) + \"; latitude: \" + (format(datum[\"latitude\"], \"\")) + \"; magnitude: \" + (format(datum[\"magnitude\"], \"\"))" + "signal": "\"longitude: \" + (!isValid(datum[\"longitude\"]) || !isFinite(+datum[\"longitude\"]) ? \"\" + datum[\"longitude\"] : format(datum[\"longitude\"], \"\")) + \"; latitude: \" + (!isValid(datum[\"latitude\"]) || !isFinite(+datum[\"latitude\"]) ? \"\" + datum[\"latitude\"] : format(datum[\"latitude\"], \"\")) + \"; magnitude: \" + (!isValid(datum[\"magnitude\"]) || !isFinite(+datum[\"magnitude\"]) ? \"\" + datum[\"magnitude\"] : format(datum[\"magnitude\"], \"\"))" }, "x": {"field": "layer_2_x"}, "y": {"field": "layer_2_y"}, diff --git a/examples/compiled/interactive_global_development.vg.json b/examples/compiled/interactive_global_development.vg.json index abfdd0571a..3901b75889 100644 --- a/examples/compiled/interactive_global_development.vg.json +++ b/examples/compiled/interactive_global_development.vg.json @@ -223,14 +223,10 @@ "opacity": {"value": 0.06}, "fontSize": {"value": 100}, "fill": {"value": "black"}, - "description": { - "signal": "\"year: \" + (isValid(datum[\"year\"]) ? datum[\"year\"] : \"\"+datum[\"year\"])" - }, + "description": {"signal": "\"year: \" + (\"\" + datum[\"year\"])"}, "x": {"value": 420}, "y": {"value": 250}, - "text": { - "signal": "isValid(datum[\"year\"]) ? datum[\"year\"] : \"\"+datum[\"year\"]" - }, + "text": {"signal": "\"\" + datum[\"year\"]"}, "align": {"value": "center"}, "baseline": {"value": "middle"} } @@ -272,7 +268,7 @@ {"value": 0} ], "description": { - "signal": "\"fertility: \" + (format(datum[\"fertility\"], \"\")) + \"; life_expect: \" + (format(datum[\"life_expect\"], \"\")) + \"; year: \" + (isValid(datum[\"year\"]) ? datum[\"year\"] : \"\"+datum[\"year\"]) + \"; country: \" + (isValid(datum[\"country\"]) ? datum[\"country\"] : \"\"+datum[\"country\"])" + "signal": "\"fertility: \" + (!isValid(datum[\"fertility\"]) || !isFinite(+datum[\"fertility\"]) ? \"\" + datum[\"fertility\"] : format(datum[\"fertility\"], \"\")) + \"; life_expect: \" + (!isValid(datum[\"life_expect\"]) || !isFinite(+datum[\"life_expect\"]) ? \"\" + datum[\"life_expect\"] : format(datum[\"life_expect\"], \"\")) + \"; year: \" + (\"\" + datum[\"year\"]) + \"; country: \" + (\"\" + datum[\"country\"])" }, "x": {"scale": "x", "field": "fertility"}, "y": {"scale": "y", "field": "life_expect"}, @@ -298,7 +294,7 @@ "fill": {"scale": "color", "field": "name"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"fertility: \" + (format(datum[\"fertility\"], \"\")) + \"; life_expect: \" + (format(datum[\"life_expect\"], \"\")) + \"; Region: \" + (isValid(datum[\"name\"]) ? datum[\"name\"] : \"\"+datum[\"name\"])" + "signal": "\"fertility: \" + (!isValid(datum[\"fertility\"]) || !isFinite(+datum[\"fertility\"]) ? \"\" + datum[\"fertility\"] : format(datum[\"fertility\"], \"\")) + \"; life_expect: \" + (!isValid(datum[\"life_expect\"]) || !isFinite(+datum[\"life_expect\"]) ? \"\" + datum[\"life_expect\"] : format(datum[\"life_expect\"], \"\")) + \"; Region: \" + (\"\" + datum[\"name\"])" }, "x": {"scale": "x", "field": "fertility"}, "y": {"scale": "y", "field": "life_expect"}, @@ -318,13 +314,11 @@ "fontWeight": {"value": "bold"}, "fill": {"scale": "color", "field": "name"}, "description": { - "signal": "\"fertility: \" + (format(datum[\"fertility\"], \"\")) + \"; life_expect: \" + (format(datum[\"life_expect\"], \"\")) + \"; Region: \" + (isValid(datum[\"name\"]) ? datum[\"name\"] : \"\"+datum[\"name\"]) + \"; country: \" + (isValid(datum[\"country\"]) ? datum[\"country\"] : \"\"+datum[\"country\"])" + "signal": "\"fertility: \" + (!isValid(datum[\"fertility\"]) || !isFinite(+datum[\"fertility\"]) ? \"\" + datum[\"fertility\"] : format(datum[\"fertility\"], \"\")) + \"; life_expect: \" + (!isValid(datum[\"life_expect\"]) || !isFinite(+datum[\"life_expect\"]) ? \"\" + datum[\"life_expect\"] : format(datum[\"life_expect\"], \"\")) + \"; Region: \" + (\"\" + datum[\"name\"]) + \"; country: \" + (\"\" + datum[\"country\"])" }, "x": {"scale": "x", "field": "fertility"}, "y": {"scale": "y", "field": "life_expect", "offset": -12}, - "text": { - "signal": "isValid(datum[\"country\"]) ? datum[\"country\"] : \"\"+datum[\"country\"]" - }, + "text": {"signal": "\"\" + datum[\"country\"]"}, "align": {"value": "center"}, "baseline": {"value": "middle"} } @@ -341,13 +335,11 @@ "fontSize": {"value": 12}, "fill": {"value": "gray"}, "description": { - "signal": "\"fertility: \" + (format(datum[\"fertility\"], \"\")) + \"; life_expect: \" + (format(datum[\"life_expect\"], \"\")) + \"; year: \" + (isValid(datum[\"year\"]) ? datum[\"year\"] : \"\"+datum[\"year\"])" + "signal": "\"fertility: \" + (!isValid(datum[\"fertility\"]) || !isFinite(+datum[\"fertility\"]) ? \"\" + datum[\"fertility\"] : format(datum[\"fertility\"], \"\")) + \"; life_expect: \" + (!isValid(datum[\"life_expect\"]) || !isFinite(+datum[\"life_expect\"]) ? \"\" + datum[\"life_expect\"] : format(datum[\"life_expect\"], \"\")) + \"; year: \" + (\"\" + datum[\"year\"])" }, "x": {"scale": "x", "field": "fertility"}, "y": {"scale": "y", "field": "life_expect", "offset": -12}, - "text": { - "signal": "isValid(datum[\"year\"]) ? datum[\"year\"] : \"\"+datum[\"year\"]" - }, + "text": {"signal": "\"\" + datum[\"year\"]"}, "align": {"value": "center"}, "baseline": {"value": "middle"} } @@ -365,7 +357,7 @@ "fill": {"value": "gray"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"fertility: \" + (format(datum[\"fertility\"], \"\")) + \"; life_expect: \" + (format(datum[\"life_expect\"], \"\"))" + "signal": "\"fertility: \" + (!isValid(datum[\"fertility\"]) || !isFinite(+datum[\"fertility\"]) ? \"\" + datum[\"fertility\"] : format(datum[\"fertility\"], \"\")) + \"; life_expect: \" + (!isValid(datum[\"life_expect\"]) || !isFinite(+datum[\"life_expect\"]) ? \"\" + datum[\"life_expect\"] : format(datum[\"life_expect\"], \"\"))" }, "x": {"scale": "x", "field": "fertility"}, "y": {"scale": "y", "field": "life_expect"}, diff --git a/examples/compiled/interactive_histogram_full_height_hover.vg.json b/examples/compiled/interactive_histogram_full_height_hover.vg.json index ecb49a4857..3c77da2443 100644 --- a/examples/compiled/interactive_histogram_full_height_hover.vg.json +++ b/examples/compiled/interactive_histogram_full_height_hover.vg.json @@ -123,7 +123,7 @@ "encode": { "update": { "tooltip": { - "signal": "{\"IMDB Rating (binned)\": !isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\"), \"Count of Records\": format(datum[\"__count\"], \"\")}" + "signal": "{\"IMDB Rating (binned)\": !isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\"), \"Count of Records\": !isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\")}" }, "fill": {"value": "#eee"}, "opacity": [ @@ -135,7 +135,7 @@ ], "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "x", @@ -167,7 +167,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/interactive_index_chart.vg.json b/examples/compiled/interactive_index_chart.vg.json index d3f8508e41..769ad42161 100644 --- a/examples/compiled/interactive_index_chart.vg.json +++ b/examples/compiled/interactive_index_chart.vg.json @@ -170,7 +170,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y'))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y'))" }, "x": {"scale": "x", "field": "date"}, "y": {"signal": "height", "mult": 0.5} @@ -227,7 +227,7 @@ "update": { "stroke": {"scale": "color", "field": "symbol"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; indexed_price: \" + (format(datum[\"indexed_price\"], \"%\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; indexed_price: \" + (!isValid(datum[\"indexed_price\"]) || !isFinite(+datum[\"indexed_price\"]) ? \"\" + datum[\"indexed_price\"] : format(datum[\"indexed_price\"], \"%\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "indexed_price"}, @@ -250,7 +250,7 @@ "strokeWidth": {"value": 0.5}, "stroke": {"value": "firebrick"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y'))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y'))" }, "x": {"scale": "x", "field": "date"}, "y": {"value": 0}, @@ -270,12 +270,12 @@ "fontWeight": {"value": 100}, "fill": {"value": "firebrick"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; date (year-month): \" + (timeFormat(datum[\"yearmonth_date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; date (year-month): \" + (!isValid(datum[\"yearmonth_date\"]) || !isFinite(+datum[\"yearmonth_date\"]) ? \"\" + datum[\"yearmonth_date\"] : timeFormat(datum[\"yearmonth_date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" }, "x": {"scale": "x", "field": "date"}, "y": {"value": 310}, "text": { - "signal": "timeFormat(datum[\"yearmonth_date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))" + "signal": "!isValid(datum[\"yearmonth_date\"]) || !isFinite(+datum[\"yearmonth_date\"]) ? \"\" + datum[\"yearmonth_date\"] : timeFormat(datum[\"yearmonth_date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))" }, "baseline": {"value": "middle"} } diff --git a/examples/compiled/interactive_layered_crossfilter.vg.json b/examples/compiled/interactive_layered_crossfilter.vg.json index 7edf8e975b..bb9d54c694 100644 --- a/examples/compiled/interactive_layered_crossfilter.vg.json +++ b/examples/compiled/interactive_layered_crossfilter.vg.json @@ -426,7 +426,7 @@ "fill": {"value": "#ddd"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"distance (binned): \" + (!isValid(datum[\"bin_maxbins_20_distance\"]) || !isFinite(+datum[\"bin_maxbins_20_distance\"]) ? \"null\" : format(datum[\"bin_maxbins_20_distance\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_distance_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"distance (binned): \" + (!isValid(datum[\"bin_maxbins_20_distance\"]) || !isFinite(+datum[\"bin_maxbins_20_distance\"]) ? \"\" + datum[\"bin_maxbins_20_distance\"] : format(datum[\"bin_maxbins_20_distance\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_distance_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_distance_x", @@ -458,7 +458,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"distance (binned): \" + (!isValid(datum[\"bin_maxbins_20_distance\"]) || !isFinite(+datum[\"bin_maxbins_20_distance\"]) ? \"null\" : format(datum[\"bin_maxbins_20_distance\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_distance_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"distance (binned): \" + (!isValid(datum[\"bin_maxbins_20_distance\"]) || !isFinite(+datum[\"bin_maxbins_20_distance\"]) ? \"\" + datum[\"bin_maxbins_20_distance\"] : format(datum[\"bin_maxbins_20_distance\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_distance_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_distance_x", @@ -790,7 +790,7 @@ "fill": {"value": "#ddd"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"delay (binned): \" + (!isValid(datum[\"bin_maxbins_20_delay\"]) || !isFinite(+datum[\"bin_maxbins_20_delay\"]) ? \"null\" : format(datum[\"bin_maxbins_20_delay\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_delay_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"delay (binned): \" + (!isValid(datum[\"bin_maxbins_20_delay\"]) || !isFinite(+datum[\"bin_maxbins_20_delay\"]) ? \"\" + datum[\"bin_maxbins_20_delay\"] : format(datum[\"bin_maxbins_20_delay\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_delay_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_delay_x", @@ -822,7 +822,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"delay (binned): \" + (!isValid(datum[\"bin_maxbins_20_delay\"]) || !isFinite(+datum[\"bin_maxbins_20_delay\"]) ? \"null\" : format(datum[\"bin_maxbins_20_delay\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_delay_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"delay (binned): \" + (!isValid(datum[\"bin_maxbins_20_delay\"]) || !isFinite(+datum[\"bin_maxbins_20_delay\"]) ? \"\" + datum[\"bin_maxbins_20_delay\"] : format(datum[\"bin_maxbins_20_delay\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_delay_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_delay_x", @@ -1154,7 +1154,7 @@ "fill": {"value": "#ddd"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"time (binned): \" + (!isValid(datum[\"bin_maxbins_20_time\"]) || !isFinite(+datum[\"bin_maxbins_20_time\"]) ? \"null\" : format(datum[\"bin_maxbins_20_time\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_time_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"time (binned): \" + (!isValid(datum[\"bin_maxbins_20_time\"]) || !isFinite(+datum[\"bin_maxbins_20_time\"]) ? \"\" + datum[\"bin_maxbins_20_time\"] : format(datum[\"bin_maxbins_20_time\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_time_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_time_x", @@ -1186,7 +1186,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"time (binned): \" + (!isValid(datum[\"bin_maxbins_20_time\"]) || !isFinite(+datum[\"bin_maxbins_20_time\"]) ? \"null\" : format(datum[\"bin_maxbins_20_time\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_time_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"time (binned): \" + (!isValid(datum[\"bin_maxbins_20_time\"]) || !isFinite(+datum[\"bin_maxbins_20_time\"]) ? \"\" + datum[\"bin_maxbins_20_time\"] : format(datum[\"bin_maxbins_20_time\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_time_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_time_x", diff --git a/examples/compiled/interactive_layered_crossfilter_discrete.vg.json b/examples/compiled/interactive_layered_crossfilter_discrete.vg.json index 3a58160721..5438086311 100644 --- a/examples/compiled/interactive_layered_crossfilter_discrete.vg.json +++ b/examples/compiled/interactive_layered_crossfilter_discrete.vg.json @@ -262,7 +262,7 @@ "fill": {"value": "#ddd"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"distance (binned): \" + (!isValid(datum[\"bin_maxbins_20_distance\"]) || !isFinite(+datum[\"bin_maxbins_20_distance\"]) ? \"null\" : format(datum[\"bin_maxbins_20_distance\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_distance_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"distance (binned): \" + (!isValid(datum[\"bin_maxbins_20_distance\"]) || !isFinite(+datum[\"bin_maxbins_20_distance\"]) ? \"\" + datum[\"bin_maxbins_20_distance\"] : format(datum[\"bin_maxbins_20_distance\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_distance_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_distance_x", @@ -294,7 +294,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"distance (binned): \" + (!isValid(datum[\"bin_maxbins_20_distance\"]) || !isFinite(+datum[\"bin_maxbins_20_distance\"]) ? \"null\" : format(datum[\"bin_maxbins_20_distance\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_distance_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"distance (binned): \" + (!isValid(datum[\"bin_maxbins_20_distance\"]) || !isFinite(+datum[\"bin_maxbins_20_distance\"]) ? \"\" + datum[\"bin_maxbins_20_distance\"] : format(datum[\"bin_maxbins_20_distance\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_distance_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_distance_x", @@ -417,7 +417,7 @@ "fill": {"value": "#ddd"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"delay (binned): \" + (!isValid(datum[\"bin_maxbins_20_delay\"]) || !isFinite(+datum[\"bin_maxbins_20_delay\"]) ? \"null\" : format(datum[\"bin_maxbins_20_delay\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_delay_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"delay (binned): \" + (!isValid(datum[\"bin_maxbins_20_delay\"]) || !isFinite(+datum[\"bin_maxbins_20_delay\"]) ? \"\" + datum[\"bin_maxbins_20_delay\"] : format(datum[\"bin_maxbins_20_delay\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_delay_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_delay_x", @@ -449,7 +449,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"delay (binned): \" + (!isValid(datum[\"bin_maxbins_20_delay\"]) || !isFinite(+datum[\"bin_maxbins_20_delay\"]) ? \"null\" : format(datum[\"bin_maxbins_20_delay\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_delay_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"delay (binned): \" + (!isValid(datum[\"bin_maxbins_20_delay\"]) || !isFinite(+datum[\"bin_maxbins_20_delay\"]) ? \"\" + datum[\"bin_maxbins_20_delay\"] : format(datum[\"bin_maxbins_20_delay\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_delay_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_delay_x", @@ -572,7 +572,7 @@ "fill": {"value": "#ddd"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"time (binned): \" + (!isValid(datum[\"bin_maxbins_20_time\"]) || !isFinite(+datum[\"bin_maxbins_20_time\"]) ? \"null\" : format(datum[\"bin_maxbins_20_time\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_time_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"time (binned): \" + (!isValid(datum[\"bin_maxbins_20_time\"]) || !isFinite(+datum[\"bin_maxbins_20_time\"]) ? \"\" + datum[\"bin_maxbins_20_time\"] : format(datum[\"bin_maxbins_20_time\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_time_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_time_x", @@ -604,7 +604,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"time (binned): \" + (!isValid(datum[\"bin_maxbins_20_time\"]) || !isFinite(+datum[\"bin_maxbins_20_time\"]) ? \"null\" : format(datum[\"bin_maxbins_20_time\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_time_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"time (binned): \" + (!isValid(datum[\"bin_maxbins_20_time\"]) || !isFinite(+datum[\"bin_maxbins_20_time\"]) ? \"\" + datum[\"bin_maxbins_20_time\"] : format(datum[\"bin_maxbins_20_time\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_time_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_time_x", diff --git a/examples/compiled/interactive_legend.vg.json b/examples/compiled/interactive_legend.vg.json index 5a84804926..8d16bd1218 100644 --- a/examples/compiled/interactive_legend.vg.json +++ b/examples/compiled/interactive_legend.vg.json @@ -153,7 +153,7 @@ {"value": 0.2} ], "description": { - "signal": "\"date (year-month): \" + (timeFormat(datum[\"yearmonth_date\"], '%Y')) + \"; Sum of count: \" + (format(datum[\"sum_count\"], \"\")) + \"; series: \" + (isValid(datum[\"series\"]) ? datum[\"series\"] : \"\"+datum[\"series\"])" + "signal": "\"date (year-month): \" + (!isValid(datum[\"yearmonth_date\"]) || !isFinite(+datum[\"yearmonth_date\"]) ? \"\" + datum[\"yearmonth_date\"] : timeFormat(datum[\"yearmonth_date\"], '%Y')) + \"; Sum of count: \" + (!isValid(datum[\"sum_count\"]) || !isFinite(+datum[\"sum_count\"]) ? \"\" + datum[\"sum_count\"] : format(datum[\"sum_count\"], \"\")) + \"; series: \" + (\"\" + datum[\"series\"])" }, "x": {"scale": "x", "field": "yearmonth_date"}, "y": {"scale": "y", "field": "sum_count_end"}, diff --git a/examples/compiled/interactive_legend_dblclick.vg.json b/examples/compiled/interactive_legend_dblclick.vg.json index f8ab0ad7fa..48b393e35c 100644 --- a/examples/compiled/interactive_legend_dblclick.vg.json +++ b/examples/compiled/interactive_legend_dblclick.vg.json @@ -153,7 +153,7 @@ {"value": 0.2} ], "description": { - "signal": "\"date (year-month): \" + (timeFormat(datum[\"yearmonth_date\"], '%Y')) + \"; Sum of count: \" + (format(datum[\"sum_count\"], \"\")) + \"; series: \" + (isValid(datum[\"series\"]) ? datum[\"series\"] : \"\"+datum[\"series\"])" + "signal": "\"date (year-month): \" + (!isValid(datum[\"yearmonth_date\"]) || !isFinite(+datum[\"yearmonth_date\"]) ? \"\" + datum[\"yearmonth_date\"] : timeFormat(datum[\"yearmonth_date\"], '%Y')) + \"; Sum of count: \" + (!isValid(datum[\"sum_count\"]) || !isFinite(+datum[\"sum_count\"]) ? \"\" + datum[\"sum_count\"] : format(datum[\"sum_count\"], \"\")) + \"; series: \" + (\"\" + datum[\"series\"])" }, "x": {"scale": "x", "field": "yearmonth_date"}, "y": {"scale": "y", "field": "sum_count_end"}, diff --git a/examples/compiled/interactive_line_brush_cursor.vg.json b/examples/compiled/interactive_line_brush_cursor.vg.json index 783001ce45..243015db86 100644 --- a/examples/compiled/interactive_line_brush_cursor.vg.json +++ b/examples/compiled/interactive_line_brush_cursor.vg.json @@ -243,7 +243,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, diff --git a/examples/compiled/interactive_line_hover.vg.json b/examples/compiled/interactive_line_hover.vg.json index 2327e2d624..d697cf45d8 100644 --- a/examples/compiled/interactive_line_hover.vg.json +++ b/examples/compiled/interactive_line_hover.vg.json @@ -123,7 +123,7 @@ {"value": 0.2} ], "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, @@ -177,7 +177,7 @@ {"value": 0.2} ], "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, @@ -214,7 +214,7 @@ ], "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"max_date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"argmax_date\"][\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"max_date\"]) || !isFinite(+datum[\"max_date\"]) ? \"\" + datum[\"max_date\"] : timeFormat(datum[\"max_date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"argmax_date\"][\"price\"]) || !isFinite(+datum[\"argmax_date\"][\"price\"]) ? \"\" + datum[\"argmax_date\"][\"price\"] : format(datum[\"argmax_date\"][\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "max_date"}, "y": {"scale": "y", "field": "argmax_date[\"price\"]"}, @@ -248,13 +248,11 @@ {"value": 0.2} ], "description": { - "signal": "\"date: \" + (timeFormat(datum[\"max_date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"argmax_date\"][\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"max_date\"]) || !isFinite(+datum[\"max_date\"]) ? \"\" + datum[\"max_date\"] : timeFormat(datum[\"max_date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"argmax_date\"][\"price\"]) || !isFinite(+datum[\"argmax_date\"][\"price\"]) ? \"\" + datum[\"argmax_date\"][\"price\"] : format(datum[\"argmax_date\"][\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "max_date"}, "y": {"scale": "y", "field": "argmax_date[\"price\"]"}, - "text": { - "signal": "isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"]" - }, + "text": {"signal": "\"\" + datum[\"symbol\"]"}, "baseline": {"value": "middle"} } } diff --git a/examples/compiled/interactive_line_point_hover.vg.json b/examples/compiled/interactive_line_point_hover.vg.json index ca3ae2083c..a59f2228d5 100644 --- a/examples/compiled/interactive_line_point_hover.vg.json +++ b/examples/compiled/interactive_line_point_hover.vg.json @@ -104,7 +104,7 @@ "update": { "stroke": {"scale": "color", "field": "symbol"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, @@ -132,12 +132,12 @@ {"value": 0} ], "tooltip": { - "signal": "{\"date\": timeFormat(datum[\"date\"], '%b %d, %Y'), \"price\": format(datum[\"price\"], \"\"), \"symbol\": isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"]}" + "signal": "{\"date\": !isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y'), \"price\": !isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"), \"symbol\": \"\" + datum[\"symbol\"]}" }, "fill": {"scale": "color", "field": "symbol"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, diff --git a/examples/compiled/interactive_multi_line_label.vg.json b/examples/compiled/interactive_multi_line_label.vg.json index 71842ccf8c..c465ae58cd 100644 --- a/examples/compiled/interactive_multi_line_label.vg.json +++ b/examples/compiled/interactive_multi_line_label.vg.json @@ -149,7 +149,7 @@ "update": { "stroke": {"scale": "color", "field": "symbol"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, @@ -180,7 +180,7 @@ "stroke": {"scale": "color", "field": "symbol"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"} @@ -219,7 +219,7 @@ "update": { "stroke": {"value": "gray"}, "description": { - "signal": "\"Min of date: \" + (timeFormat(datum[\"min_date\"], '%b %d, %Y'))" + "signal": "\"Min of date: \" + (!isValid(datum[\"min_date\"]) || !isFinite(+datum[\"min_date\"]) ? \"\" + datum[\"min_date\"] : timeFormat(datum[\"min_date\"], '%b %d, %Y'))" }, "x": {"scale": "x", "field": "min_date"}, "y": {"value": 0}, @@ -242,11 +242,13 @@ "dy": {"value": -5}, "fill": {"value": "black"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, - "text": {"signal": "format(datum[\"price\"], \"\")"}, + "text": { + "signal": "!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")" + }, "baseline": {"value": "middle"} } } @@ -264,11 +266,13 @@ "dy": {"value": -5}, "fill": {"scale": "color", "field": "symbol"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, - "text": {"signal": "format(datum[\"price\"], \"\")"}, + "text": { + "signal": "!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")" + }, "baseline": {"value": "middle"} } } diff --git a/examples/compiled/interactive_multi_line_pivot_tooltip.svg b/examples/compiled/interactive_multi_line_pivot_tooltip.svg index d485ee7fc1..4e5f142f57 100644 --- a/examples/compiled/interactive_multi_line_pivot_tooltip.svg +++ b/examples/compiled/interactive_multi_line_pivot_tooltip.svg @@ -1 +1 @@ -20002001200220032004200520062007200820092010date0100200300400500600700800priceAAPLAMZNGOOGIBMMSFTsymbol \ No newline at end of file +20002001200220032004200520062007200820092010date0100200300400500600700800priceAAPLAMZNGOOGIBMMSFTsymbol \ No newline at end of file diff --git a/examples/compiled/interactive_multi_line_pivot_tooltip.vg.json b/examples/compiled/interactive_multi_line_pivot_tooltip.vg.json index 167dc357ed..63ebc9c5ff 100644 --- a/examples/compiled/interactive_multi_line_pivot_tooltip.vg.json +++ b/examples/compiled/interactive_multi_line_pivot_tooltip.vg.json @@ -133,7 +133,7 @@ "update": { "stroke": {"scale": "color", "field": "symbol"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, @@ -158,7 +158,7 @@ "stroke": {"scale": "color", "field": "symbol"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"} @@ -182,10 +182,10 @@ {"value": 0} ], "tooltip": { - "signal": "{\"AAPL\": format(datum[\"AAPL\"], \"\"), \"AMZN\": format(datum[\"AMZN\"], \"\"), \"GOOG\": format(datum[\"GOOG\"], \"\"), \"IBM\": format(datum[\"IBM\"], \"\"), \"MSFT\": format(datum[\"MSFT\"], \"\")}" + "signal": "{\"AAPL\": !isValid(datum[\"AAPL\"]) || !isFinite(+datum[\"AAPL\"]) ? \"\" + datum[\"AAPL\"] : format(datum[\"AAPL\"], \"\"), \"AMZN\": !isValid(datum[\"AMZN\"]) || !isFinite(+datum[\"AMZN\"]) ? \"\" + datum[\"AMZN\"] : format(datum[\"AMZN\"], \"\"), \"GOOG\": !isValid(datum[\"GOOG\"]) || !isFinite(+datum[\"GOOG\"]) ? \"\" + datum[\"GOOG\"] : format(datum[\"GOOG\"], \"\"), \"IBM\": !isValid(datum[\"IBM\"]) || !isFinite(+datum[\"IBM\"]) ? \"\" + datum[\"IBM\"] : format(datum[\"IBM\"], \"\"), \"MSFT\": !isValid(datum[\"MSFT\"]) || !isFinite(+datum[\"MSFT\"]) ? \"\" + datum[\"MSFT\"] : format(datum[\"MSFT\"], \"\")}" }, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; AAPL: \" + (format(datum[\"AAPL\"], \"\")) + \"; AMZN: \" + (format(datum[\"AMZN\"], \"\")) + \"; GOOG: \" + (format(datum[\"GOOG\"], \"\")) + \"; IBM: \" + (format(datum[\"IBM\"], \"\")) + \"; MSFT: \" + (format(datum[\"MSFT\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; AAPL: \" + (!isValid(datum[\"AAPL\"]) || !isFinite(+datum[\"AAPL\"]) ? \"\" + datum[\"AAPL\"] : format(datum[\"AAPL\"], \"\")) + \"; AMZN: \" + (!isValid(datum[\"AMZN\"]) || !isFinite(+datum[\"AMZN\"]) ? \"\" + datum[\"AMZN\"] : format(datum[\"AMZN\"], \"\")) + \"; GOOG: \" + (!isValid(datum[\"GOOG\"]) || !isFinite(+datum[\"GOOG\"]) ? \"\" + datum[\"GOOG\"] : format(datum[\"GOOG\"], \"\")) + \"; IBM: \" + (!isValid(datum[\"IBM\"]) || !isFinite(+datum[\"IBM\"]) ? \"\" + datum[\"IBM\"] : format(datum[\"IBM\"], \"\")) + \"; MSFT: \" + (!isValid(datum[\"MSFT\"]) || !isFinite(+datum[\"MSFT\"]) ? \"\" + datum[\"MSFT\"] : format(datum[\"MSFT\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"value": 0}, @@ -205,7 +205,7 @@ "stroke": {"value": "transparent"}, "isVoronoi": {"value": true}, "tooltip": { - "signal": "{\"AAPL\": format(datum.datum[\"AAPL\"], \"\"), \"AMZN\": format(datum.datum[\"AMZN\"], \"\"), \"GOOG\": format(datum.datum[\"GOOG\"], \"\"), \"IBM\": format(datum.datum[\"IBM\"], \"\"), \"MSFT\": format(datum.datum[\"MSFT\"], \"\")}" + "signal": "{\"AAPL\": !isValid(datum.datum[\"AAPL\"]) || !isFinite(+datum.datum[\"AAPL\"]) ? \"\" + datum.datum[\"AAPL\"] : format(datum.datum[\"AAPL\"], \"\"), \"AMZN\": !isValid(datum.datum[\"AMZN\"]) || !isFinite(+datum.datum[\"AMZN\"]) ? \"\" + datum.datum[\"AMZN\"] : format(datum.datum[\"AMZN\"], \"\"), \"GOOG\": !isValid(datum.datum[\"GOOG\"]) || !isFinite(+datum.datum[\"GOOG\"]) ? \"\" + datum.datum[\"GOOG\"] : format(datum.datum[\"GOOG\"], \"\"), \"IBM\": !isValid(datum.datum[\"IBM\"]) || !isFinite(+datum.datum[\"IBM\"]) ? \"\" + datum.datum[\"IBM\"] : format(datum.datum[\"IBM\"], \"\"), \"MSFT\": !isValid(datum.datum[\"MSFT\"]) || !isFinite(+datum.datum[\"MSFT\"]) ? \"\" + datum.datum[\"MSFT\"] : format(datum.datum[\"MSFT\"], \"\")}" } } }, diff --git a/examples/compiled/interactive_multi_line_tooltip.vg.json b/examples/compiled/interactive_multi_line_tooltip.vg.json index 9b6c48a41e..4f9f5804eb 100644 --- a/examples/compiled/interactive_multi_line_tooltip.vg.json +++ b/examples/compiled/interactive_multi_line_tooltip.vg.json @@ -91,10 +91,10 @@ "update": { "stroke": {"value": "orange"}, "tooltip": { - "signal": "{\"date (year-month-date)\": timeFormat(datum[\"yearmonthdate_date\"], timeUnitSpecifier([\"year\",\"month\",\"date\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})), \"temp_max\": format(datum[\"temp_max\"], \"\"), \"temp_min\": format(datum[\"temp_min\"], \"\")}" + "signal": "{\"date (year-month-date)\": !isValid(datum[\"yearmonthdate_date\"]) || !isFinite(+datum[\"yearmonthdate_date\"]) ? \"\" + datum[\"yearmonthdate_date\"] : timeFormat(datum[\"yearmonthdate_date\"], timeUnitSpecifier([\"year\",\"month\",\"date\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})), \"temp_max\": !isValid(datum[\"temp_max\"]) || !isFinite(+datum[\"temp_max\"]) ? \"\" + datum[\"temp_max\"] : format(datum[\"temp_max\"], \"\"), \"temp_min\": !isValid(datum[\"temp_min\"]) || !isFinite(+datum[\"temp_min\"]) ? \"\" + datum[\"temp_min\"] : format(datum[\"temp_min\"], \"\")}" }, "description": { - "signal": "\"date (year-month-date): \" + (timeFormat(datum[\"yearmonthdate_date\"], timeUnitSpecifier([\"year\",\"month\",\"date\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; temp_max: \" + (format(datum[\"temp_max\"], \"\")) + \"; temp_min: \" + (format(datum[\"temp_min\"], \"\"))" + "signal": "\"date (year-month-date): \" + (!isValid(datum[\"yearmonthdate_date\"]) || !isFinite(+datum[\"yearmonthdate_date\"]) ? \"\" + datum[\"yearmonthdate_date\"] : timeFormat(datum[\"yearmonthdate_date\"], timeUnitSpecifier([\"year\",\"month\",\"date\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; temp_max: \" + (!isValid(datum[\"temp_max\"]) || !isFinite(+datum[\"temp_max\"]) ? \"\" + datum[\"temp_max\"] : format(datum[\"temp_max\"], \"\")) + \"; temp_min: \" + (!isValid(datum[\"temp_min\"]) || !isFinite(+datum[\"temp_min\"]) ? \"\" + datum[\"temp_min\"] : format(datum[\"temp_min\"], \"\"))" }, "x": {"scale": "x", "field": "yearmonthdate_date"}, "y": {"scale": "y", "field": "temp_max"}, @@ -115,10 +115,10 @@ "update": { "stroke": {"value": "red"}, "tooltip": { - "signal": "{\"date (year-month-date)\": timeFormat(datum[\"yearmonthdate_date\"], timeUnitSpecifier([\"year\",\"month\",\"date\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})), \"temp_max\": format(datum[\"temp_max\"], \"\"), \"temp_min\": format(datum[\"temp_min\"], \"\")}" + "signal": "{\"date (year-month-date)\": !isValid(datum[\"yearmonthdate_date\"]) || !isFinite(+datum[\"yearmonthdate_date\"]) ? \"\" + datum[\"yearmonthdate_date\"] : timeFormat(datum[\"yearmonthdate_date\"], timeUnitSpecifier([\"year\",\"month\",\"date\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})), \"temp_max\": !isValid(datum[\"temp_max\"]) || !isFinite(+datum[\"temp_max\"]) ? \"\" + datum[\"temp_max\"] : format(datum[\"temp_max\"], \"\"), \"temp_min\": !isValid(datum[\"temp_min\"]) || !isFinite(+datum[\"temp_min\"]) ? \"\" + datum[\"temp_min\"] : format(datum[\"temp_min\"], \"\")}" }, "description": { - "signal": "\"date (year-month-date): \" + (timeFormat(datum[\"yearmonthdate_date\"], timeUnitSpecifier([\"year\",\"month\",\"date\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; temp_min: \" + (format(datum[\"temp_min\"], \"\")) + \"; temp_max: \" + (format(datum[\"temp_max\"], \"\"))" + "signal": "\"date (year-month-date): \" + (!isValid(datum[\"yearmonthdate_date\"]) || !isFinite(+datum[\"yearmonthdate_date\"]) ? \"\" + datum[\"yearmonthdate_date\"] : timeFormat(datum[\"yearmonthdate_date\"], timeUnitSpecifier([\"year\",\"month\",\"date\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; temp_min: \" + (!isValid(datum[\"temp_min\"]) || !isFinite(+datum[\"temp_min\"]) ? \"\" + datum[\"temp_min\"] : format(datum[\"temp_min\"], \"\")) + \"; temp_max: \" + (!isValid(datum[\"temp_max\"]) || !isFinite(+datum[\"temp_max\"]) ? \"\" + datum[\"temp_max\"] : format(datum[\"temp_max\"], \"\"))" }, "x": {"scale": "x", "field": "yearmonthdate_date"}, "y": {"scale": "y", "field": "temp_min"}, @@ -144,10 +144,10 @@ {"value": "transparent"} ], "tooltip": { - "signal": "{\"date (year-month-date)\": timeFormat(datum[\"yearmonthdate_date\"], timeUnitSpecifier([\"year\",\"month\",\"date\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})), \"temp_max\": format(datum[\"temp_max\"], \"\"), \"temp_min\": format(datum[\"temp_min\"], \"\")}" + "signal": "{\"date (year-month-date)\": !isValid(datum[\"yearmonthdate_date\"]) || !isFinite(+datum[\"yearmonthdate_date\"]) ? \"\" + datum[\"yearmonthdate_date\"] : timeFormat(datum[\"yearmonthdate_date\"], timeUnitSpecifier([\"year\",\"month\",\"date\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})), \"temp_max\": !isValid(datum[\"temp_max\"]) || !isFinite(+datum[\"temp_max\"]) ? \"\" + datum[\"temp_max\"] : format(datum[\"temp_max\"], \"\"), \"temp_min\": !isValid(datum[\"temp_min\"]) || !isFinite(+datum[\"temp_min\"]) ? \"\" + datum[\"temp_min\"] : format(datum[\"temp_min\"], \"\")}" }, "description": { - "signal": "\"date (year-month-date): \" + (timeFormat(datum[\"yearmonthdate_date\"], timeUnitSpecifier([\"year\",\"month\",\"date\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; temp_max: \" + (format(datum[\"temp_max\"], \"\")) + \"; temp_min: \" + (format(datum[\"temp_min\"], \"\"))" + "signal": "\"date (year-month-date): \" + (!isValid(datum[\"yearmonthdate_date\"]) || !isFinite(+datum[\"yearmonthdate_date\"]) ? \"\" + datum[\"yearmonthdate_date\"] : timeFormat(datum[\"yearmonthdate_date\"], timeUnitSpecifier([\"year\",\"month\",\"date\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; temp_max: \" + (!isValid(datum[\"temp_max\"]) || !isFinite(+datum[\"temp_max\"]) ? \"\" + datum[\"temp_max\"] : format(datum[\"temp_max\"], \"\")) + \"; temp_min: \" + (!isValid(datum[\"temp_min\"]) || !isFinite(+datum[\"temp_min\"]) ? \"\" + datum[\"temp_min\"] : format(datum[\"temp_min\"], \"\"))" }, "x": {"scale": "x", "field": "yearmonthdate_date"}, "y": {"value": 0}, diff --git a/examples/compiled/interactive_overview_detail.vg.json b/examples/compiled/interactive_overview_detail.vg.json index 916805a00d..6803166103 100644 --- a/examples/compiled/interactive_overview_detail.vg.json +++ b/examples/compiled/interactive_overview_detail.vg.json @@ -96,7 +96,7 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "concat_0_x", "field": "date"}, "y": {"scale": "concat_0_y", "field": "price_end"}, @@ -387,7 +387,7 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "concat_1_x", "field": "date"}, "y": {"scale": "concat_1_y", "field": "price_end"}, diff --git a/examples/compiled/interactive_paintbrush.vg.json b/examples/compiled/interactive_paintbrush.vg.json index 453313cf66..64f8d56541 100644 --- a/examples/compiled/interactive_paintbrush.vg.json +++ b/examples/compiled/interactive_paintbrush.vg.json @@ -86,7 +86,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/interactive_paintbrush_color.vg.json b/examples/compiled/interactive_paintbrush_color.vg.json index c15d875689..8e051abd22 100644 --- a/examples/compiled/interactive_paintbrush_color.vg.json +++ b/examples/compiled/interactive_paintbrush_color.vg.json @@ -88,7 +88,7 @@ ], "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/interactive_paintbrush_color_nearest.vg.json b/examples/compiled/interactive_paintbrush_color_nearest.vg.json index f7d962fa2d..0eb1212639 100644 --- a/examples/compiled/interactive_paintbrush_color_nearest.vg.json +++ b/examples/compiled/interactive_paintbrush_color_nearest.vg.json @@ -92,7 +92,7 @@ ], "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/interactive_paintbrush_interval.vg.json b/examples/compiled/interactive_paintbrush_interval.vg.json index 647060779f..9871ddfe33 100644 --- a/examples/compiled/interactive_paintbrush_interval.vg.json +++ b/examples/compiled/interactive_paintbrush_interval.vg.json @@ -313,7 +313,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/interactive_paintbrush_simple_false.vg.json b/examples/compiled/interactive_paintbrush_simple_false.vg.json index c5954a16e8..2e6f979f50 100644 --- a/examples/compiled/interactive_paintbrush_simple_false.vg.json +++ b/examples/compiled/interactive_paintbrush_simple_false.vg.json @@ -85,7 +85,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/interactive_paintbrush_simple_true.vg.json b/examples/compiled/interactive_paintbrush_simple_true.vg.json index 6e225de8b8..598a89b1d7 100644 --- a/examples/compiled/interactive_paintbrush_simple_true.vg.json +++ b/examples/compiled/interactive_paintbrush_simple_true.vg.json @@ -85,7 +85,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/interactive_panzoom_splom.vg.json b/examples/compiled/interactive_panzoom_splom.vg.json index ee08ac75c4..8dfe0c07c3 100644 --- a/examples/compiled/interactive_panzoom_splom.vg.json +++ b/examples/compiled/interactive_panzoom_splom.vg.json @@ -255,7 +255,7 @@ "stroke": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Horsepowercolumn_Miles_per_Gallon_x", @@ -457,7 +457,7 @@ "stroke": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Horsepowercolumn_Acceleration_x", @@ -638,7 +638,7 @@ "stroke": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Horsepowercolumn_Horsepower_x", @@ -842,7 +842,7 @@ "stroke": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Accelerationcolumn_Miles_per_Gallon_x", @@ -1023,7 +1023,7 @@ "stroke": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Accelerationcolumn_Acceleration_x", @@ -1225,7 +1225,7 @@ "stroke": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Accelerationcolumn_Horsepower_x", @@ -1406,7 +1406,7 @@ "stroke": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Miles_per_Galloncolumn_Miles_per_Gallon_x", @@ -1610,7 +1610,7 @@ "stroke": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Miles_per_Galloncolumn_Acceleration_x", @@ -1814,7 +1814,7 @@ "stroke": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Miles_per_Galloncolumn_Horsepower_x", diff --git a/examples/compiled/interactive_panzoom_vconcat_shared.vg.json b/examples/compiled/interactive_panzoom_vconcat_shared.vg.json index ad089bb44d..166e7f1e41 100644 --- a/examples/compiled/interactive_panzoom_vconcat_shared.vg.json +++ b/examples/compiled/interactive_panzoom_vconcat_shared.vg.json @@ -184,7 +184,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "concat_0_y", "field": "Miles_per_Gallon"} @@ -267,7 +267,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (format(datum[\"Acceleration\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "concat_1_y", "field": "Acceleration"} diff --git a/examples/compiled/interactive_point_domainRaw_binding.vg.json b/examples/compiled/interactive_point_domainRaw_binding.vg.json index ba4105024a..9b0e89f7e2 100644 --- a/examples/compiled/interactive_point_domainRaw_binding.vg.json +++ b/examples/compiled/interactive_point_domainRaw_binding.vg.json @@ -44,7 +44,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (format(datum[\"Cylinders\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (!isValid(datum[\"Cylinders\"]) || !isFinite(+datum[\"Cylinders\"]) ? \"\" + datum[\"Cylinders\"] : format(datum[\"Cylinders\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/interactive_point_init.vg.json b/examples/compiled/interactive_point_init.vg.json index 7ea5d46c2c..ce060232ad 100644 --- a/examples/compiled/interactive_point_init.vg.json +++ b/examples/compiled/interactive_point_init.vg.json @@ -111,7 +111,7 @@ ], "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/interactive_query_widgets.vg.json b/examples/compiled/interactive_query_widgets.vg.json index 27a4d523a2..3aa8d02a5e 100644 --- a/examples/compiled/interactive_query_widgets.vg.json +++ b/examples/compiled/interactive_query_widgets.vg.json @@ -116,7 +116,7 @@ ], "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, @@ -136,7 +136,7 @@ "fill": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/interactive_seattle_weather.vg.json b/examples/compiled/interactive_seattle_weather.vg.json index 020b67c7dc..627bb0713d 100644 --- a/examples/compiled/interactive_seattle_weather.vg.json +++ b/examples/compiled/interactive_seattle_weather.vg.json @@ -319,7 +319,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Date: \" + (timeFormat(datum[\"monthdate_date\"], '%b')) + \"; Maximum Daily Temperature (C): \" + (format(datum[\"temp_max\"], \"\")) + \"; Weather: \" + (isValid(datum[\"weather\"]) ? datum[\"weather\"] : \"\"+datum[\"weather\"]) + \"; Precipitation: \" + (format(datum[\"precipitation\"], \"\"))" + "signal": "\"Date: \" + (!isValid(datum[\"monthdate_date\"]) || !isFinite(+datum[\"monthdate_date\"]) ? \"\" + datum[\"monthdate_date\"] : timeFormat(datum[\"monthdate_date\"], '%b')) + \"; Maximum Daily Temperature (C): \" + (!isValid(datum[\"temp_max\"]) || !isFinite(+datum[\"temp_max\"]) ? \"\" + datum[\"temp_max\"] : format(datum[\"temp_max\"], \"\")) + \"; Weather: \" + (\"\" + datum[\"weather\"]) + \"; Precipitation: \" + (!isValid(datum[\"precipitation\"]) || !isFinite(+datum[\"precipitation\"]) ? \"\" + datum[\"precipitation\"] : format(datum[\"precipitation\"], \"\"))" }, "x": {"scale": "concat_0_x", "field": "monthdate_date"}, "y": {"scale": "concat_0_y", "field": "temp_max"}, @@ -502,7 +502,7 @@ ], "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Count of Records: \" + (format(datum[\"__count\"], \"\")) + \"; Weather: \" + (isValid(datum[\"weather\"]) ? datum[\"weather\"] : \"\"+datum[\"weather\"]) + \"; weather: \" + (isValid(datum[\"weather\"]) ? datum[\"weather\"] : \"\"+datum[\"weather\"])" + "signal": "\"Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\")) + \"; Weather: \" + (\"\" + datum[\"weather\"]) + \"; weather: \" + (\"\" + datum[\"weather\"])" }, "x": {"scale": "concat_1_x", "field": "__count"}, "x2": {"scale": "concat_1_x", "value": 0}, diff --git a/examples/compiled/interactive_splom.vg.json b/examples/compiled/interactive_splom.vg.json index adaf981d51..ebfd25fe1b 100644 --- a/examples/compiled/interactive_splom.vg.json +++ b/examples/compiled/interactive_splom.vg.json @@ -547,7 +547,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Horsepowercolumn_Miles_per_Gallon_x", @@ -1058,7 +1058,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Horsepowercolumn_Acceleration_x", @@ -1481,7 +1481,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Horsepowercolumn_Horsepower_x", @@ -1993,7 +1993,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Accelerationcolumn_Miles_per_Gallon_x", @@ -2418,7 +2418,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Accelerationcolumn_Acceleration_x", @@ -2926,7 +2926,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Accelerationcolumn_Horsepower_x", @@ -3353,7 +3353,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Miles_per_Galloncolumn_Miles_per_Gallon_x", @@ -3865,7 +3865,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Miles_per_Galloncolumn_Acceleration_x", @@ -4380,7 +4380,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Miles_per_Galloncolumn_Horsepower_x", diff --git a/examples/compiled/interactive_stocks_nearest_index.vg.json b/examples/compiled/interactive_stocks_nearest_index.vg.json index b29d81cd45..43656d0038 100644 --- a/examples/compiled/interactive_stocks_nearest_index.vg.json +++ b/examples/compiled/interactive_stocks_nearest_index.vg.json @@ -126,7 +126,7 @@ "update": { "stroke": {"scale": "color", "field": "symbol"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, @@ -151,7 +151,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"} @@ -190,7 +190,7 @@ "update": { "stroke": {"value": "black"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y'))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y'))" }, "x": {"scale": "x", "field": "date"}, "y": {"value": 0}, @@ -208,11 +208,13 @@ "update": { "fill": {"value": "black"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y'))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y'))" }, "x": {"scale": "x", "field": "date"}, "y": {"value": 10}, - "text": {"signal": "timeFormat(datum[\"date\"], '%b %d, %Y')"}, + "text": { + "signal": "!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')" + }, "baseline": {"value": "middle"} } } diff --git a/examples/compiled/isotype_bar_chart.vg.json b/examples/compiled/isotype_bar_chart.vg.json index 1146ff685a..77e9b085ef 100644 --- a/examples/compiled/isotype_bar_chart.vg.json +++ b/examples/compiled/isotype_bar_chart.vg.json @@ -64,9 +64,7 @@ "from": {"data": "row_domain"}, "sort": {"field": "datum[\"country\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"country\"]) ? parent[\"country\"] : \"\"+parent[\"country\"]" - }, + "text": {"signal": "\"\" + parent[\"country\"]"}, "orient": "left", "style": "guide-label", "frame": "group", @@ -100,7 +98,7 @@ "fill": {"scale": "color", "field": "animal"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"col: \" + (isValid(datum[\"col\"]) ? datum[\"col\"] : \"\"+datum[\"col\"]) + \"; animal: \" + (isValid(datum[\"animal\"]) ? datum[\"animal\"] : \"\"+datum[\"animal\"])" + "signal": "\"col: \" + (\"\" + datum[\"col\"]) + \"; animal: \" + (\"\" + datum[\"animal\"])" }, "x": {"scale": "x", "field": "col"}, "y": {"scale": "y", "field": "animal"}, diff --git a/examples/compiled/isotype_bar_chart_emoji.vg.json b/examples/compiled/isotype_bar_chart_emoji.vg.json index 89be8f2129..6316946ae6 100644 --- a/examples/compiled/isotype_bar_chart_emoji.vg.json +++ b/examples/compiled/isotype_bar_chart_emoji.vg.json @@ -84,9 +84,7 @@ "from": {"data": "row_domain"}, "sort": {"field": "datum[\"country\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"country\"]) ? parent[\"country\"] : \"\"+parent[\"country\"]" - }, + "text": {"signal": "\"\" + parent[\"country\"]"}, "orient": "left", "style": "guide-label", "frame": "group", @@ -119,13 +117,11 @@ "baseline": {"value": "middle"}, "fill": {"value": "black"}, "description": { - "signal": "\"rank: \" + (isValid(datum[\"rank\"]) ? datum[\"rank\"] : \"\"+datum[\"rank\"]) + \"; animal: \" + (isValid(datum[\"animal\"]) ? datum[\"animal\"] : \"\"+datum[\"animal\"]) + \"; emoji: \" + (isValid(datum[\"emoji\"]) ? datum[\"emoji\"] : \"\"+datum[\"emoji\"])" + "signal": "\"rank: \" + (\"\" + datum[\"rank\"]) + \"; animal: \" + (\"\" + datum[\"animal\"]) + \"; emoji: \" + (\"\" + datum[\"emoji\"])" }, "x": {"scale": "x", "field": "rank"}, "y": {"scale": "y", "field": "animal"}, - "text": { - "signal": "isValid(datum[\"emoji\"]) ? datum[\"emoji\"] : \"\"+datum[\"emoji\"]" - }, + "text": {"signal": "\"\" + datum[\"emoji\"]"}, "fontSize": {"value": 65}, "align": {"value": "center"} } diff --git a/examples/compiled/isotype_grid.vg.json b/examples/compiled/isotype_grid.vg.json index 6bcb4d6c7d..dca7260ff0 100644 --- a/examples/compiled/isotype_grid.vg.json +++ b/examples/compiled/isotype_grid.vg.json @@ -411,7 +411,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"col: \" + (isValid(datum[\"col\"]) ? datum[\"col\"] : \"\"+datum[\"col\"]) + \"; row: \" + (isValid(datum[\"row\"]) ? datum[\"row\"] : \"\"+datum[\"row\"])" + "signal": "\"col: \" + (\"\" + datum[\"col\"]) + \"; row: \" + (\"\" + datum[\"row\"])" }, "x": {"scale": "x", "field": "col"}, "y": {"scale": "y", "field": "row"}, diff --git a/examples/compiled/joinaggregate_mean_difference.vg.json b/examples/compiled/joinaggregate_mean_difference.vg.json index d3592f878a..322e89f0db 100644 --- a/examples/compiled/joinaggregate_mean_difference.vg.json +++ b/examples/compiled/joinaggregate_mean_difference.vg.json @@ -77,7 +77,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"IMDB Rating: \" + (format(datum[\"IMDB Rating\"], \"\")) + \"; Title: \" + (isValid(datum[\"Title\"]) ? datum[\"Title\"] : \"\"+datum[\"Title\"])" + "signal": "\"IMDB Rating: \" + (!isValid(datum[\"IMDB Rating\"]) || !isFinite(+datum[\"IMDB Rating\"]) ? \"\" + datum[\"IMDB Rating\"] : format(datum[\"IMDB Rating\"], \"\")) + \"; Title: \" + (\"\" + datum[\"Title\"])" }, "x": {"scale": "x", "field": "IMDB Rating_end"}, "x2": {"scale": "x", "field": "IMDB Rating_start"}, @@ -95,7 +95,7 @@ "update": { "stroke": {"value": "red"}, "description": { - "signal": "\"Average of AverageRating: \" + (format(datum[\"average_AverageRating\"], \"\"))" + "signal": "\"Average of AverageRating: \" + (!isValid(datum[\"average_AverageRating\"]) || !isFinite(+datum[\"average_AverageRating\"]) ? \"\" + datum[\"average_AverageRating\"] : format(datum[\"average_AverageRating\"], \"\"))" }, "x": {"scale": "x", "field": "average_AverageRating"}, "y": {"value": 0}, diff --git a/examples/compiled/joinaggregate_mean_difference_by_year.vg.json b/examples/compiled/joinaggregate_mean_difference_by_year.vg.json index 611937a644..32ab5ee05f 100644 --- a/examples/compiled/joinaggregate_mean_difference_by_year.vg.json +++ b/examples/compiled/joinaggregate_mean_difference_by_year.vg.json @@ -79,7 +79,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"IMDB Rating: \" + (format(datum[\"IMDB Rating\"], \"\")) + \"; Title: \" + (isValid(datum[\"Title\"]) ? datum[\"Title\"] : \"\"+datum[\"Title\"])" + "signal": "\"IMDB Rating: \" + (!isValid(datum[\"IMDB Rating\"]) || !isFinite(+datum[\"IMDB Rating\"]) ? \"\" + datum[\"IMDB Rating\"] : format(datum[\"IMDB Rating\"], \"\")) + \"; Title: \" + (\"\" + datum[\"Title\"])" }, "x": {"scale": "x", "field": "IMDB Rating_end"}, "x2": {"scale": "x", "field": "IMDB Rating_start"}, @@ -99,7 +99,7 @@ "fill": {"value": "red"}, "ariaRoleDescription": {"value": "tick"}, "description": { - "signal": "\"AverageYearRating: \" + (format(datum[\"AverageYearRating\"], \"\")) + \"; Title: \" + (isValid(datum[\"Title\"]) ? datum[\"Title\"] : \"\"+datum[\"Title\"])" + "signal": "\"AverageYearRating: \" + (!isValid(datum[\"AverageYearRating\"]) || !isFinite(+datum[\"AverageYearRating\"]) ? \"\" + datum[\"AverageYearRating\"] : format(datum[\"AverageYearRating\"], \"\")) + \"; Title: \" + (\"\" + datum[\"Title\"])" }, "xc": {"scale": "x", "field": "AverageYearRating"}, "yc": {"scale": "y", "field": "Title", "band": 0.5}, diff --git a/examples/compiled/joinaggregate_percent_of_total.vg.json b/examples/compiled/joinaggregate_percent_of_total.vg.json index 2258fe7f1d..73cba8369f 100644 --- a/examples/compiled/joinaggregate_percent_of_total.vg.json +++ b/examples/compiled/joinaggregate_percent_of_total.vg.json @@ -64,7 +64,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"% of total Time: \" + (format(datum[\"PercentOfTotal\"], \"\")) + \"; Activity: \" + (isValid(datum[\"Activity\"]) ? datum[\"Activity\"] : \"\"+datum[\"Activity\"])" + "signal": "\"% of total Time: \" + (!isValid(datum[\"PercentOfTotal\"]) || !isFinite(+datum[\"PercentOfTotal\"]) ? \"\" + datum[\"PercentOfTotal\"] : format(datum[\"PercentOfTotal\"], \"\")) + \"; Activity: \" + (\"\" + datum[\"Activity\"])" }, "x": {"scale": "x", "field": "PercentOfTotal_end"}, "x2": {"scale": "x", "field": "PercentOfTotal_start"}, diff --git a/examples/compiled/joinaggregate_residual_graph.vg.json b/examples/compiled/joinaggregate_residual_graph.vg.json index 0071eaa8d0..ce670913ed 100644 --- a/examples/compiled/joinaggregate_residual_graph.vg.json +++ b/examples/compiled/joinaggregate_residual_graph.vg.json @@ -48,7 +48,7 @@ "stroke": {"scale": "color", "field": "RatingDelta"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Release Date: \" + (timeFormat(datum[\"Release Date\"], '%b %d, %Y')) + \"; Rating Delta: \" + (format(datum[\"RatingDelta\"], \"\"))" + "signal": "\"Release Date: \" + (!isValid(datum[\"Release Date\"]) || !isFinite(+datum[\"Release Date\"]) ? \"\" + datum[\"Release Date\"] : timeFormat(datum[\"Release Date\"], '%b %d, %Y')) + \"; Rating Delta: \" + (!isValid(datum[\"RatingDelta\"]) || !isFinite(+datum[\"RatingDelta\"]) ? \"\" + datum[\"RatingDelta\"] : format(datum[\"RatingDelta\"], \"\"))" }, "x": {"scale": "x", "field": "Release Date"}, "y": {"scale": "y", "field": "RatingDelta"} diff --git a/examples/compiled/layer_arc_label.vg.json b/examples/compiled/layer_arc_label.vg.json index 6cf4119997..69b27088a2 100644 --- a/examples/compiled/layer_arc_label.vg.json +++ b/examples/compiled/layer_arc_label.vg.json @@ -66,7 +66,7 @@ "outerRadius": {"value": 80}, "fill": {"scale": "color", "field": "category"}, "description": { - "signal": "\"value: \" + (format(datum[\"value\"], \"\")) + \"; category: \" + (isValid(datum[\"category\"]) ? datum[\"category\"] : \"\"+datum[\"category\"])" + "signal": "\"value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; category: \" + (\"\" + datum[\"category\"])" }, "x": {"signal": "width", "mult": 0.5}, "y": {"signal": "height", "mult": 0.5}, @@ -86,13 +86,11 @@ "radius": {"value": 90}, "fill": {"scale": "color", "field": "category"}, "description": { - "signal": "\"value: \" + (format(datum[\"value\"], \"\")) + \"; category: \" + (isValid(datum[\"category\"]) ? datum[\"category\"] : \"\"+datum[\"category\"])" + "signal": "\"value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; category: \" + (\"\" + datum[\"category\"])" }, "x": {"signal": "width", "mult": 0.5}, "y": {"signal": "height", "mult": 0.5}, - "text": { - "signal": "isValid(datum[\"category\"]) ? datum[\"category\"] : \"\"+datum[\"category\"]" - }, + "text": {"signal": "\"\" + datum[\"category\"]"}, "align": {"value": "center"}, "baseline": {"value": "middle"}, "theta": { diff --git a/examples/compiled/layer_bar_annotations.vg.json b/examples/compiled/layer_bar_annotations.vg.json index 0c4bd6ee71..1b6cf72147 100644 --- a/examples/compiled/layer_bar_annotations.vg.json +++ b/examples/compiled/layer_bar_annotations.vg.json @@ -76,7 +76,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Day: \" + (isValid(datum[\"Day\"]) ? datum[\"Day\"] : \"\"+datum[\"Day\"]) + \"; Value: \" + (format(datum[\"Value\"], \"\"))" + "signal": "\"Day: \" + (\"\" + datum[\"Day\"]) + \"; Value: \" + (!isValid(datum[\"Value\"]) || !isFinite(+datum[\"Value\"]) ? \"\" + datum[\"Value\"] : format(datum[\"Value\"], \"\"))" }, "x": {"scale": "x", "field": "Day"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, @@ -95,7 +95,7 @@ "fill": {"value": "#e45755"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Day: \" + (isValid(datum[\"Day\"]) ? datum[\"Day\"] : \"\"+datum[\"Day\"]) + \"; PM2.5 Value: \" + (format(datum[\"baseline\"], \"\")) + \"; Value: \" + (format(datum[\"Value\"], \"\"))" + "signal": "\"Day: \" + (\"\" + datum[\"Day\"]) + \"; PM2.5 Value: \" + (!isValid(datum[\"baseline\"]) || !isFinite(+datum[\"baseline\"]) ? \"\" + datum[\"baseline\"] : format(datum[\"baseline\"], \"\")) + \"; Value: \" + (!isValid(datum[\"Value\"]) || !isFinite(+datum[\"Value\"]) ? \"\" + datum[\"Value\"] : format(datum[\"Value\"], \"\"))" }, "x": {"scale": "x", "field": "Day"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/layer_bar_circle_grouped.vg.json b/examples/compiled/layer_bar_circle_grouped.vg.json index 4de4dea6d2..9540c33138 100644 --- a/examples/compiled/layer_bar_circle_grouped.vg.json +++ b/examples/compiled/layer_bar_circle_grouped.vg.json @@ -74,7 +74,7 @@ "fill": {"scale": "color", "field": "group"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"category: \" + (isValid(datum[\"category\"]) ? datum[\"category\"] : \"\"+datum[\"category\"]) + \"; value: \" + (format(datum[\"value\"], \"\")) + \"; group: \" + (isValid(datum[\"group\"]) ? datum[\"group\"] : \"\"+datum[\"group\"])" + "signal": "\"category: \" + (\"\" + datum[\"category\"]) + \"; value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; group: \" + (\"\" + datum[\"group\"])" }, "x": { "scale": "x", @@ -98,7 +98,7 @@ "fill": {"value": "black"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"category: \" + (isValid(datum[\"category\"]) ? datum[\"category\"] : \"\"+datum[\"category\"]) + \"; half: \" + (format(datum[\"half\"], \"\")) + \"; group: \" + (isValid(datum[\"group\"]) ? datum[\"group\"] : \"\"+datum[\"group\"])" + "signal": "\"category: \" + (\"\" + datum[\"category\"]) + \"; half: \" + (!isValid(datum[\"half\"]) || !isFinite(+datum[\"half\"]) ? \"\" + datum[\"half\"] : format(datum[\"half\"], \"\")) + \"; group: \" + (\"\" + datum[\"group\"])" }, "x": { "scale": "x", diff --git a/examples/compiled/layer_bar_fruit.vg.json b/examples/compiled/layer_bar_fruit.vg.json index e7d01668fb..61f6e62980 100644 --- a/examples/compiled/layer_bar_fruit.vg.json +++ b/examples/compiled/layer_bar_fruit.vg.json @@ -66,7 +66,7 @@ "fill": {"scale": "color", "field": "count"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"count: \" + (format(datum[\"count\"], \"\")) + \"; name: \" + (isValid(datum[\"name\"]) ? datum[\"name\"] : \"\"+datum[\"name\"]) + \"; Number of fruit: \" + (format(datum[\"count\"], \"\"))" + "signal": "\"count: \" + (!isValid(datum[\"count\"]) || !isFinite(+datum[\"count\"]) ? \"\" + datum[\"count\"] : format(datum[\"count\"], \"\")) + \"; name: \" + (\"\" + datum[\"name\"]) + \"; Number of fruit: \" + (!isValid(datum[\"count\"]) || !isFinite(+datum[\"count\"]) ? \"\" + datum[\"count\"] : format(datum[\"count\"], \"\"))" }, "x": {"scale": "x", "field": "count_end"}, "x2": {"scale": "x", "field": "count_start"}, @@ -90,7 +90,9 @@ ], "x": {"scale": "x", "field": "count", "offset": -4}, "y": {"scale": "y", "field": "name", "band": 0.5}, - "text": {"signal": "format(datum[\"count\"], \"\")"}, + "text": { + "signal": "!isValid(datum[\"count\"]) || !isFinite(+datum[\"count\"]) ? \"\" + datum[\"count\"] : format(datum[\"count\"], \"\")" + }, "baseline": {"value": "middle"} } } diff --git a/examples/compiled/layer_bar_grouped_line_ungrouped.vg.json b/examples/compiled/layer_bar_grouped_line_ungrouped.vg.json index 6b9b4a3fc4..e35ce50755 100644 --- a/examples/compiled/layer_bar_grouped_line_ungrouped.vg.json +++ b/examples/compiled/layer_bar_grouped_line_ungrouped.vg.json @@ -72,7 +72,7 @@ "fill": {"scale": "color", "field": "group"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"category: \" + (isValid(datum[\"category\"]) ? datum[\"category\"] : \"\"+datum[\"category\"]) + \"; value: \" + (format(datum[\"value\"], \"\")) + \"; group: \" + (isValid(datum[\"group\"]) ? datum[\"group\"] : \"\"+datum[\"group\"])" + "signal": "\"category: \" + (\"\" + datum[\"category\"]) + \"; value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; group: \" + (\"\" + datum[\"group\"])" }, "x": { "scale": "x", @@ -95,7 +95,7 @@ "update": { "stroke": {"value": "black"}, "description": { - "signal": "\"category: \" + (isValid(datum[\"category\"]) ? datum[\"category\"] : \"\"+datum[\"category\"]) + \"; Mean of value: \" + (format(datum[\"mean_value\"], \"\"))" + "signal": "\"category: \" + (\"\" + datum[\"category\"]) + \"; Mean of value: \" + (!isValid(datum[\"mean_value\"]) || !isFinite(+datum[\"mean_value\"]) ? \"\" + datum[\"mean_value\"] : format(datum[\"mean_value\"], \"\"))" }, "x": {"scale": "x", "field": "category", "band": 0.5}, "y": {"scale": "y", "field": "mean_value"}, diff --git a/examples/compiled/layer_bar_labels.vg.json b/examples/compiled/layer_bar_labels.vg.json index 31d397cd71..6de9864da3 100644 --- a/examples/compiled/layer_bar_labels.vg.json +++ b/examples/compiled/layer_bar_labels.vg.json @@ -57,7 +57,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"b: \" + (format(datum[\"b\"], \"\")) + \"; a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"])" + "signal": "\"b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; a: \" + (\"\" + datum[\"a\"])" }, "x": {"scale": "x", "field": "b_end"}, "x2": {"scale": "x", "field": "b_start"}, @@ -78,11 +78,13 @@ "dx": {"value": 3}, "fill": {"value": "black"}, "description": { - "signal": "\"b: \" + (format(datum[\"b\"], \"\")) + \"; a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"])" + "signal": "\"b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; a: \" + (\"\" + datum[\"a\"])" }, "x": {"scale": "x", "field": "b"}, "y": {"scale": "y", "field": "a", "band": 0.5}, - "text": {"signal": "format(datum[\"b\"], \"\")"} + "text": { + "signal": "!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")" + } } } } diff --git a/examples/compiled/layer_bar_labels_grey.vg.json b/examples/compiled/layer_bar_labels_grey.vg.json index 8b77756483..371ea84a23 100644 --- a/examples/compiled/layer_bar_labels_grey.vg.json +++ b/examples/compiled/layer_bar_labels_grey.vg.json @@ -48,7 +48,7 @@ "fill": {"value": "#ddd"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Mean IMDB Ratings: \" + (format(datum[\"mean_IMDB Rating\"], \"\")) + \"; Major Genre: \" + (isValid(datum[\"Major Genre\"]) ? datum[\"Major Genre\"] : \"\"+datum[\"Major Genre\"])" + "signal": "\"Mean IMDB Ratings: \" + (!isValid(datum[\"mean_IMDB Rating\"]) || !isFinite(+datum[\"mean_IMDB Rating\"]) ? \"\" + datum[\"mean_IMDB Rating\"] : format(datum[\"mean_IMDB Rating\"], \"\")) + \"; Major Genre: \" + (\"\" + datum[\"Major Genre\"])" }, "x": {"scale": "x", "field": "mean_IMDB Rating"}, "x2": {"scale": "x", "value": 0}, @@ -67,13 +67,11 @@ "align": {"value": "left"}, "fill": {"value": "black"}, "description": { - "signal": "\"Major Genre: \" + (isValid(datum[\"Major Genre\"]) ? datum[\"Major Genre\"] : \"\"+datum[\"Major Genre\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Major Genre: \" + (\"\" + datum[\"Major Genre\"]) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"value": 5}, "y": {"scale": "y", "field": "Major Genre", "band": 0.5}, - "text": { - "signal": "isValid(datum[\"Major Genre\"]) ? datum[\"Major Genre\"] : \"\"+datum[\"Major Genre\"]" - }, + "text": {"signal": "\"\" + datum[\"Major Genre\"]"}, "baseline": {"value": "middle"} } } diff --git a/examples/compiled/layer_bar_labels_style.vg.json b/examples/compiled/layer_bar_labels_style.vg.json index dd0169cc9c..3304369950 100644 --- a/examples/compiled/layer_bar_labels_style.vg.json +++ b/examples/compiled/layer_bar_labels_style.vg.json @@ -56,7 +56,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"b: \" + (format(datum[\"b\"], \"\")) + \"; a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"])" + "signal": "\"b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; a: \" + (\"\" + datum[\"a\"])" }, "x": {"scale": "x", "field": "b_end"}, "x2": {"scale": "x", "field": "b_start"}, @@ -74,11 +74,13 @@ "update": { "fill": {"value": "black"}, "description": { - "signal": "\"b: \" + (format(datum[\"b\"], \"\")) + \"; a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"])" + "signal": "\"b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; a: \" + (\"\" + datum[\"a\"])" }, "x": {"scale": "x", "field": "b"}, "y": {"scale": "y", "field": "a", "band": 0.5}, - "text": {"signal": "format(datum[\"b\"], \"\")"} + "text": { + "signal": "!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")" + } } } } diff --git a/examples/compiled/layer_bar_line.vg.json b/examples/compiled/layer_bar_line.vg.json index 3fb29c1577..ac4c3a093c 100644 --- a/examples/compiled/layer_bar_line.vg.json +++ b/examples/compiled/layer_bar_line.vg.json @@ -56,7 +56,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "a"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, @@ -75,7 +75,7 @@ "update": { "stroke": {"value": "red"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "a", "band": 0.5}, "y": {"scale": "y", "field": "b"}, diff --git a/examples/compiled/layer_bar_line_union.vg.json b/examples/compiled/layer_bar_line_union.vg.json index bce056d4f8..95eed21730 100644 --- a/examples/compiled/layer_bar_line_union.vg.json +++ b/examples/compiled/layer_bar_line_union.vg.json @@ -56,7 +56,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "x", "field": "a"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, @@ -75,7 +75,7 @@ "update": { "stroke": {"value": "red"}, "description": { - "signal": "\"b: \" + (isValid(datum[\"b\"]) ? datum[\"b\"] : \"\"+datum[\"b\"]) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"b: \" + (\"\" + datum[\"b\"]) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "x", "field": "b", "band": 0.5}, "y": {"scale": "y", "field": "c"}, diff --git a/examples/compiled/layer_bar_month.vg.json b/examples/compiled/layer_bar_month.vg.json index 98c23e75f6..f2585a7edb 100644 --- a/examples/compiled/layer_bar_month.vg.json +++ b/examples/compiled/layer_bar_month.vg.json @@ -69,7 +69,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (!isValid(datum[\"mean_precipitation\"]) || !isFinite(+datum[\"mean_precipitation\"]) ? \"\" + datum[\"mean_precipitation\"] : format(datum[\"mean_precipitation\"], \"\"))" }, "x": {"scale": "x", "field": "month_date"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, @@ -87,7 +87,7 @@ "update": { "stroke": {"value": "firebrick"}, "description": { - "signal": "\"Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))" + "signal": "\"Mean of precipitation: \" + (!isValid(datum[\"mean_precipitation\"]) || !isFinite(+datum[\"mean_precipitation\"]) ? \"\" + datum[\"mean_precipitation\"] : format(datum[\"mean_precipitation\"], \"\"))" }, "x": {"field": {"group": "width"}}, "x2": {"value": 0}, diff --git a/examples/compiled/layer_bar_tick_datum_grouped.vg.json b/examples/compiled/layer_bar_tick_datum_grouped.vg.json index 335a19cc9d..a89d9a1e71 100644 --- a/examples/compiled/layer_bar_tick_datum_grouped.vg.json +++ b/examples/compiled/layer_bar_tick_datum_grouped.vg.json @@ -46,7 +46,7 @@ "fill": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Mean of Acceleration: \" + (format(datum[\"mean_Acceleration\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Mean of Acceleration: \" + (!isValid(datum[\"mean_Acceleration\"]) || !isFinite(+datum[\"mean_Acceleration\"]) ? \"\" + datum[\"mean_Acceleration\"] : format(datum[\"mean_Acceleration\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "x", @@ -70,7 +70,7 @@ "fill": {"value": "black"}, "ariaRoleDescription": {"value": "tick"}, "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "xc": { "scale": "x", diff --git a/examples/compiled/layer_boxplot_circle.vg.json b/examples/compiled/layer_boxplot_circle.vg.json index 3186d3f671..5e4c4c82c7 100644 --- a/examples/compiled/layer_boxplot_circle.vg.json +++ b/examples/compiled/layer_boxplot_circle.vg.json @@ -130,7 +130,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of population\": format(datum[\"upper_whisker_people\"], \"\"), \"Lower Whisker of population\": format(datum[\"lower_whisker_people\"], \"\"), \"age\": isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]}" + "signal": "{\"Upper Whisker of population\": !isValid(datum[\"upper_whisker_people\"]) || !isFinite(+datum[\"upper_whisker_people\"]) ? \"\" + datum[\"upper_whisker_people\"] : format(datum[\"upper_whisker_people\"], \"\"), \"Lower Whisker of population\": !isValid(datum[\"lower_whisker_people\"]) || !isFinite(+datum[\"lower_whisker_people\"]) ? \"\" + datum[\"lower_whisker_people\"] : format(datum[\"lower_whisker_people\"], \"\"), \"age\": \"\" + datum[\"age\"]}" }, "x": {"scale": "x", "field": "lower_whisker_people"}, "x2": {"scale": "x", "field": "lower_box_people"}, @@ -148,7 +148,7 @@ "update": { "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Upper Whisker of population\": format(datum[\"upper_whisker_people\"], \"\"), \"Lower Whisker of population\": format(datum[\"lower_whisker_people\"], \"\"), \"age\": isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]}" + "signal": "{\"Upper Whisker of population\": !isValid(datum[\"upper_whisker_people\"]) || !isFinite(+datum[\"upper_whisker_people\"]) ? \"\" + datum[\"upper_whisker_people\"] : format(datum[\"upper_whisker_people\"], \"\"), \"Lower Whisker of population\": !isValid(datum[\"lower_whisker_people\"]) || !isFinite(+datum[\"lower_whisker_people\"]) ? \"\" + datum[\"lower_whisker_people\"] : format(datum[\"lower_whisker_people\"], \"\"), \"age\": \"\" + datum[\"age\"]}" }, "x": {"scale": "x", "field": "upper_box_people"}, "x2": {"scale": "x", "field": "upper_whisker_people"}, @@ -166,10 +166,10 @@ "ariaRoleDescription": {"value": "box"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"Max of population\": format(datum[\"max_people\"], \"\"), \"Q3 of population\": format(datum[\"upper_box_people\"], \"\"), \"Median of population\": format(datum[\"mid_box_people\"], \"\"), \"Q1 of population\": format(datum[\"lower_box_people\"], \"\"), \"Min of population\": format(datum[\"min_people\"], \"\"), \"age\": isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]}" + "signal": "{\"Max of population\": !isValid(datum[\"max_people\"]) || !isFinite(+datum[\"max_people\"]) ? \"\" + datum[\"max_people\"] : format(datum[\"max_people\"], \"\"), \"Q3 of population\": !isValid(datum[\"upper_box_people\"]) || !isFinite(+datum[\"upper_box_people\"]) ? \"\" + datum[\"upper_box_people\"] : format(datum[\"upper_box_people\"], \"\"), \"Median of population\": !isValid(datum[\"mid_box_people\"]) || !isFinite(+datum[\"mid_box_people\"]) ? \"\" + datum[\"mid_box_people\"] : format(datum[\"mid_box_people\"], \"\"), \"Q1 of population\": !isValid(datum[\"lower_box_people\"]) || !isFinite(+datum[\"lower_box_people\"]) ? \"\" + datum[\"lower_box_people\"] : format(datum[\"lower_box_people\"], \"\"), \"Min of population\": !isValid(datum[\"min_people\"]) || !isFinite(+datum[\"min_people\"]) ? \"\" + datum[\"min_people\"] : format(datum[\"min_people\"], \"\"), \"age\": \"\" + datum[\"age\"]}" }, "description": { - "signal": "\"population: \" + (format(datum[\"lower_box_people\"], \"\")) + \"; age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; upper_box_people: \" + (format(datum[\"upper_box_people\"], \"\")) + \"; Max of population: \" + (format(datum[\"max_people\"], \"\")) + \"; Q3 of population: \" + (format(datum[\"upper_box_people\"], \"\")) + \"; Median of population: \" + (format(datum[\"mid_box_people\"], \"\")) + \"; Q1 of population: \" + (format(datum[\"lower_box_people\"], \"\")) + \"; Min of population: \" + (format(datum[\"min_people\"], \"\"))" + "signal": "\"population: \" + (!isValid(datum[\"lower_box_people\"]) || !isFinite(+datum[\"lower_box_people\"]) ? \"\" + datum[\"lower_box_people\"] : format(datum[\"lower_box_people\"], \"\")) + \"; age: \" + (\"\" + datum[\"age\"]) + \"; upper_box_people: \" + (!isValid(datum[\"upper_box_people\"]) || !isFinite(+datum[\"upper_box_people\"]) ? \"\" + datum[\"upper_box_people\"] : format(datum[\"upper_box_people\"], \"\")) + \"; Max of population: \" + (!isValid(datum[\"max_people\"]) || !isFinite(+datum[\"max_people\"]) ? \"\" + datum[\"max_people\"] : format(datum[\"max_people\"], \"\")) + \"; Q3 of population: \" + (!isValid(datum[\"upper_box_people\"]) || !isFinite(+datum[\"upper_box_people\"]) ? \"\" + datum[\"upper_box_people\"] : format(datum[\"upper_box_people\"], \"\")) + \"; Median of population: \" + (!isValid(datum[\"mid_box_people\"]) || !isFinite(+datum[\"mid_box_people\"]) ? \"\" + datum[\"mid_box_people\"] : format(datum[\"mid_box_people\"], \"\")) + \"; Q1 of population: \" + (!isValid(datum[\"lower_box_people\"]) || !isFinite(+datum[\"lower_box_people\"]) ? \"\" + datum[\"lower_box_people\"] : format(datum[\"lower_box_people\"], \"\")) + \"; Min of population: \" + (!isValid(datum[\"min_people\"]) || !isFinite(+datum[\"min_people\"]) ? \"\" + datum[\"min_people\"] : format(datum[\"min_people\"], \"\"))" }, "x": {"scale": "x", "field": "lower_box_people"}, "x2": {"scale": "x", "field": "upper_box_people"}, @@ -195,7 +195,7 @@ {"value": "white"} ], "tooltip": { - "signal": "{\"Max of population\": format(datum[\"max_people\"], \"\"), \"Q3 of population\": format(datum[\"upper_box_people\"], \"\"), \"Median of population\": format(datum[\"mid_box_people\"], \"\"), \"Q1 of population\": format(datum[\"lower_box_people\"], \"\"), \"Min of population\": format(datum[\"min_people\"], \"\"), \"age\": isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]}" + "signal": "{\"Max of population\": !isValid(datum[\"max_people\"]) || !isFinite(+datum[\"max_people\"]) ? \"\" + datum[\"max_people\"] : format(datum[\"max_people\"], \"\"), \"Q3 of population\": !isValid(datum[\"upper_box_people\"]) || !isFinite(+datum[\"upper_box_people\"]) ? \"\" + datum[\"upper_box_people\"] : format(datum[\"upper_box_people\"], \"\"), \"Median of population\": !isValid(datum[\"mid_box_people\"]) || !isFinite(+datum[\"mid_box_people\"]) ? \"\" + datum[\"mid_box_people\"] : format(datum[\"mid_box_people\"], \"\"), \"Q1 of population\": !isValid(datum[\"lower_box_people\"]) || !isFinite(+datum[\"lower_box_people\"]) ? \"\" + datum[\"lower_box_people\"] : format(datum[\"lower_box_people\"], \"\"), \"Min of population\": !isValid(datum[\"min_people\"]) || !isFinite(+datum[\"min_people\"]) ? \"\" + datum[\"min_people\"] : format(datum[\"min_people\"], \"\"), \"age\": \"\" + datum[\"age\"]}" }, "xc": {"scale": "x", "field": "mid_box_people"}, "yc": {"scale": "y", "field": "age", "band": 0.5}, @@ -215,7 +215,7 @@ "fill": {"value": "black"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"population: \" + (format(datum[\"people\"], \"\")) + \"; age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"])" + "signal": "\"population: \" + (!isValid(datum[\"people\"]) || !isFinite(+datum[\"people\"]) ? \"\" + datum[\"people\"] : format(datum[\"people\"], \"\")) + \"; age: \" + (\"\" + datum[\"age\"])" }, "x": {"scale": "x", "field": "people"}, "y": {"scale": "y", "field": "age", "band": 0.5}, diff --git a/examples/compiled/layer_candlestick.vg.json b/examples/compiled/layer_candlestick.vg.json index 22991e40bf..cd681c11aa 100644 --- a/examples/compiled/layer_candlestick.vg.json +++ b/examples/compiled/layer_candlestick.vg.json @@ -46,7 +46,7 @@ {"value": "#ae1325"} ], "description": { - "signal": "\"Date in 2009: \" + (timeFormat(datum[\"date\"], '%m/%d')) + \"; low: \" + (format(datum[\"low\"], \"\")) + \"; high: \" + (format(datum[\"high\"], \"\"))" + "signal": "\"Date in 2009: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%m/%d')) + \"; low: \" + (!isValid(datum[\"low\"]) || !isFinite(+datum[\"low\"]) ? \"\" + datum[\"low\"] : format(datum[\"low\"], \"\")) + \"; high: \" + (!isValid(datum[\"high\"]) || !isFinite(+datum[\"high\"]) ? \"\" + datum[\"high\"] : format(datum[\"high\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "low"}, @@ -67,7 +67,7 @@ ], "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Date in 2009: \" + (timeFormat(datum[\"date\"], '%m/%d')) + \"; open: \" + (format(datum[\"open\"], \"\")) + \"; close: \" + (format(datum[\"close\"], \"\"))" + "signal": "\"Date in 2009: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%m/%d')) + \"; open: \" + (!isValid(datum[\"open\"]) || !isFinite(+datum[\"open\"]) ? \"\" + datum[\"open\"] : format(datum[\"open\"], \"\")) + \"; close: \" + (!isValid(datum[\"close\"]) || !isFinite(+datum[\"close\"]) ? \"\" + datum[\"close\"] : format(datum[\"close\"], \"\"))" }, "xc": {"scale": "x", "field": "date"}, "width": {"value": 5}, diff --git a/examples/compiled/layer_circle_independent_color.vg.json b/examples/compiled/layer_circle_independent_color.vg.json index 62237a8f09..43720fd9b9 100644 --- a/examples/compiled/layer_circle_independent_color.vg.json +++ b/examples/compiled/layer_circle_independent_color.vg.json @@ -100,7 +100,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Acceleration (binned): \" + (!isValid(datum[\"bin_maxbins_10_Acceleration\"]) || !isFinite(+datum[\"bin_maxbins_10_Acceleration\"]) ? \"null\" : format(datum[\"bin_maxbins_10_Acceleration\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Acceleration_end\"], \"\")) + \"; Horsepower (binned): \" + (!isValid(datum[\"bin_maxbins_10_Horsepower\"]) || !isFinite(+datum[\"bin_maxbins_10_Horsepower\"]) ? \"null\" : format(datum[\"bin_maxbins_10_Horsepower\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Horsepower_end\"], \"\")) + \"; All Cars Count: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Acceleration (binned): \" + (!isValid(datum[\"bin_maxbins_10_Acceleration\"]) || !isFinite(+datum[\"bin_maxbins_10_Acceleration\"]) ? \"\" + datum[\"bin_maxbins_10_Acceleration\"] : format(datum[\"bin_maxbins_10_Acceleration\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Acceleration_end\"], \"\")) + \"; Horsepower (binned): \" + (!isValid(datum[\"bin_maxbins_10_Horsepower\"]) || !isFinite(+datum[\"bin_maxbins_10_Horsepower\"]) ? \"\" + datum[\"bin_maxbins_10_Horsepower\"] : format(datum[\"bin_maxbins_10_Horsepower\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Horsepower_end\"], \"\")) + \"; All Cars Count: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": { "signal": "scale(\"x\", 0.5 * datum[\"bin_maxbins_10_Acceleration\"] + 0.5 * datum[\"bin_maxbins_10_Acceleration_end\"])" @@ -123,7 +123,7 @@ "fill": {"value": "firebrick"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Acceleration (binned): \" + (!isValid(datum[\"bin_maxbins_10_Acceleration\"]) || !isFinite(+datum[\"bin_maxbins_10_Acceleration\"]) ? \"null\" : format(datum[\"bin_maxbins_10_Acceleration\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Acceleration_end\"], \"\")) + \"; Horsepower (binned): \" + (!isValid(datum[\"bin_maxbins_10_Horsepower\"]) || !isFinite(+datum[\"bin_maxbins_10_Horsepower\"]) ? \"null\" : format(datum[\"bin_maxbins_10_Horsepower\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Horsepower_end\"], \"\")) + \"; Cars from Japan Count: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Acceleration (binned): \" + (!isValid(datum[\"bin_maxbins_10_Acceleration\"]) || !isFinite(+datum[\"bin_maxbins_10_Acceleration\"]) ? \"\" + datum[\"bin_maxbins_10_Acceleration\"] : format(datum[\"bin_maxbins_10_Acceleration\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Acceleration_end\"], \"\")) + \"; Horsepower (binned): \" + (!isValid(datum[\"bin_maxbins_10_Horsepower\"]) || !isFinite(+datum[\"bin_maxbins_10_Horsepower\"]) ? \"\" + datum[\"bin_maxbins_10_Horsepower\"] : format(datum[\"bin_maxbins_10_Horsepower\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Horsepower_end\"], \"\")) + \"; Cars from Japan Count: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": { "signal": "scale(\"x\", 0.5 * datum[\"bin_maxbins_10_Acceleration\"] + 0.5 * datum[\"bin_maxbins_10_Acceleration_end\"])" diff --git a/examples/compiled/layer_color_legend_left.vg.json b/examples/compiled/layer_color_legend_left.vg.json index 0c26fae4bd..8d572839b3 100644 --- a/examples/compiled/layer_color_legend_left.vg.json +++ b/examples/compiled/layer_color_legend_left.vg.json @@ -51,7 +51,7 @@ "update": { "stroke": {"scale": "color", "field": "symbol"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, @@ -74,7 +74,7 @@ "fill": {"scale": "color", "field": "symbol"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"} diff --git a/examples/compiled/layer_cumulative_histogram.vg.json b/examples/compiled/layer_cumulative_histogram.vg.json index a30fb31f9b..1851f070c9 100644 --- a/examples/compiled/layer_cumulative_histogram.vg.json +++ b/examples/compiled/layer_cumulative_histogram.vg.json @@ -91,7 +91,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"IMDB Rating: \" + (!isValid(datum[\"bin_IMDB_Rating\"]) || !isFinite(+datum[\"bin_IMDB_Rating\"]) ? \"null\" : format(datum[\"bin_IMDB_Rating\"], \"\") + \" – \" + format(datum[\"bin_IMDB_Rating_end\"], \"\")) + \"; Cumulative Count: \" + (format(datum[\"Cumulative Count\"], \"\"))" + "signal": "\"IMDB Rating: \" + (!isValid(datum[\"bin_IMDB_Rating\"]) || !isFinite(+datum[\"bin_IMDB_Rating\"]) ? \"\" + datum[\"bin_IMDB_Rating\"] : format(datum[\"bin_IMDB_Rating\"], \"\") + \" – \" + format(datum[\"bin_IMDB_Rating_end\"], \"\")) + \"; Cumulative Count: \" + (!isValid(datum[\"Cumulative Count\"]) || !isFinite(+datum[\"Cumulative Count\"]) ? \"\" + datum[\"Cumulative Count\"] : format(datum[\"Cumulative Count\"], \"\"))" }, "x2": { "scale": "x", @@ -123,7 +123,7 @@ "fill": {"value": "yellow"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"IMDB Rating: \" + (!isValid(datum[\"bin_IMDB_Rating\"]) || !isFinite(+datum[\"bin_IMDB_Rating\"]) ? \"null\" : format(datum[\"bin_IMDB_Rating\"], \"\") + \" – \" + format(datum[\"bin_IMDB_Rating_end\"], \"\")) + \"; count: \" + (format(datum[\"count\"], \"\"))" + "signal": "\"IMDB Rating: \" + (!isValid(datum[\"bin_IMDB_Rating\"]) || !isFinite(+datum[\"bin_IMDB_Rating\"]) ? \"\" + datum[\"bin_IMDB_Rating\"] : format(datum[\"bin_IMDB_Rating\"], \"\") + \" – \" + format(datum[\"bin_IMDB_Rating_end\"], \"\")) + \"; count: \" + (!isValid(datum[\"count\"]) || !isFinite(+datum[\"count\"]) ? \"\" + datum[\"count\"] : format(datum[\"count\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/layer_dual_axis.vg.json b/examples/compiled/layer_dual_axis.vg.json index c392140d04..c0c3cca6d7 100644 --- a/examples/compiled/layer_dual_axis.vg.json +++ b/examples/compiled/layer_dual_axis.vg.json @@ -46,7 +46,7 @@ "orient": {"value": "vertical"}, "fill": {"value": "#85C5A6"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], '%b')) + \"; Avg. Temperature (°C): \" + (format(datum[\"average_temp_max\"], \"\")) + \"; Average of temp_min: \" + (format(datum[\"average_temp_min\"], \"\"))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], '%b')) + \"; Avg. Temperature (°C): \" + (!isValid(datum[\"average_temp_max\"]) || !isFinite(+datum[\"average_temp_max\"]) ? \"\" + datum[\"average_temp_max\"] : format(datum[\"average_temp_max\"], \"\")) + \"; Average of temp_min: \" + (!isValid(datum[\"average_temp_min\"]) || !isFinite(+datum[\"average_temp_min\"]) ? \"\" + datum[\"average_temp_min\"] : format(datum[\"average_temp_min\"], \"\"))" }, "x": {"scale": "x", "field": "month_date"}, "y": {"scale": "layer_0_y", "field": "average_temp_max"}, @@ -68,7 +68,7 @@ "stroke": {"value": "#85A9C5"}, "interpolate": {"value": "monotone"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], '%b')) + \"; Precipitation (inches): \" + (format(datum[\"average_precipitation\"], \"\"))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], '%b')) + \"; Precipitation (inches): \" + (!isValid(datum[\"average_precipitation\"]) || !isFinite(+datum[\"average_precipitation\"]) ? \"\" + datum[\"average_precipitation\"] : format(datum[\"average_precipitation\"], \"\"))" }, "x": {"scale": "x", "field": "month_date"}, "y": {"scale": "layer_1_y", "field": "average_precipitation"}, diff --git a/examples/compiled/layer_falkensee.vg.json b/examples/compiled/layer_falkensee.vg.json index c37431810b..f0bdee5a45 100644 --- a/examples/compiled/layer_falkensee.vg.json +++ b/examples/compiled/layer_falkensee.vg.json @@ -127,7 +127,7 @@ "update": { "fill": {"scale": "color", "field": "event"}, "description": { - "signal": "\"start (year): \" + (timeFormat(datum[\"year_start\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; end (year): \" + (timeFormat(datum[\"year_end\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; event: \" + (isValid(datum[\"event\"]) ? datum[\"event\"] : \"\"+datum[\"event\"])" + "signal": "\"start (year): \" + (!isValid(datum[\"year_start\"]) || !isFinite(+datum[\"year_start\"]) ? \"\" + datum[\"year_start\"] : timeFormat(datum[\"year_start\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; end (year): \" + (!isValid(datum[\"year_end\"]) || !isFinite(+datum[\"year_end\"]) ? \"\" + datum[\"year_end\"] : timeFormat(datum[\"year_end\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; event: \" + (\"\" + datum[\"event\"])" }, "x": {"scale": "x", "field": "year_start"}, "x2": {"scale": "x", "field": "year_end"}, @@ -146,7 +146,7 @@ "update": { "stroke": {"value": "#333"}, "description": { - "signal": "\"year (year): \" + (timeFormat(datum[\"year_year\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; population: \" + (format(datum[\"population\"], \"\"))" + "signal": "\"year (year): \" + (!isValid(datum[\"year_year\"]) || !isFinite(+datum[\"year_year\"]) ? \"\" + datum[\"year_year\"] : timeFormat(datum[\"year_year\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; population: \" + (!isValid(datum[\"population\"]) || !isFinite(+datum[\"population\"]) ? \"\" + datum[\"population\"] : format(datum[\"population\"], \"\"))" }, "x": {"scale": "x", "field": "year_year"}, "y": {"scale": "y", "field": "population"}, @@ -168,7 +168,7 @@ "stroke": {"value": "#333"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"year (year): \" + (timeFormat(datum[\"year_year\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; population: \" + (format(datum[\"population\"], \"\"))" + "signal": "\"year (year): \" + (!isValid(datum[\"year_year\"]) || !isFinite(+datum[\"year_year\"]) ? \"\" + datum[\"year_year\"] : timeFormat(datum[\"year_year\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; population: \" + (!isValid(datum[\"population\"]) || !isFinite(+datum[\"population\"]) ? \"\" + datum[\"population\"] : format(datum[\"population\"], \"\"))" }, "x": {"scale": "x", "field": "year_year"}, "y": {"scale": "y", "field": "population"} diff --git a/examples/compiled/layer_histogram.vg.json b/examples/compiled/layer_histogram.vg.json index 256d7008e4..b04cdf5bc0 100644 --- a/examples/compiled/layer_histogram.vg.json +++ b/examples/compiled/layer_histogram.vg.json @@ -73,7 +73,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"distance (binned): \" + (!isValid(datum[\"bin_maxbins_10_distance\"]) || !isFinite(+datum[\"bin_maxbins_10_distance\"]) ? \"null\" : format(datum[\"bin_maxbins_10_distance\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_distance_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"distance (binned): \" + (!isValid(datum[\"bin_maxbins_10_distance\"]) || !isFinite(+datum[\"bin_maxbins_10_distance\"]) ? \"\" + datum[\"bin_maxbins_10_distance\"] : format(datum[\"bin_maxbins_10_distance\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_distance_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "x", @@ -104,7 +104,7 @@ "fill": {"value": "goldenrod"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"distance (binned): \" + (!isValid(datum[\"bin_maxbins_10_distance\"]) || !isFinite(+datum[\"bin_maxbins_10_distance\"]) ? \"null\" : format(datum[\"bin_maxbins_10_distance\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_distance_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"distance (binned): \" + (!isValid(datum[\"bin_maxbins_10_distance\"]) || !isFinite(+datum[\"bin_maxbins_10_distance\"]) ? \"\" + datum[\"bin_maxbins_10_distance\"] : format(datum[\"bin_maxbins_10_distance\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_distance_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/layer_histogram_global_mean.vg.json b/examples/compiled/layer_histogram_global_mean.vg.json index 126d24ebd1..5b6ebcbb7a 100644 --- a/examples/compiled/layer_histogram_global_mean.vg.json +++ b/examples/compiled/layer_histogram_global_mean.vg.json @@ -72,7 +72,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "x", @@ -102,7 +102,7 @@ "update": { "stroke": {"value": "red"}, "description": { - "signal": "\"Mean of IMDB Rating: \" + (format(datum[\"mean_IMDB Rating\"], \"\"))" + "signal": "\"Mean of IMDB Rating: \" + (!isValid(datum[\"mean_IMDB Rating\"]) || !isFinite(+datum[\"mean_IMDB Rating\"]) ? \"\" + datum[\"mean_IMDB Rating\"] : format(datum[\"mean_IMDB Rating\"], \"\"))" }, "x": {"scale": "x", "field": "mean_IMDB Rating"}, "y": {"value": 0}, diff --git a/examples/compiled/layer_likert.vg.json b/examples/compiled/layer_likert.vg.json index 843a8a6a18..c71ebdd195 100644 --- a/examples/compiled/layer_likert.vg.json +++ b/examples/compiled/layer_likert.vg.json @@ -268,7 +268,7 @@ "fill": {"value": "#6EB4FD"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"value: \" + (format(datum[\"value\"], \"\")) + \"; name: \" + (isValid(datum[\"name\"]) ? datum[\"name\"] : \"\"+datum[\"name\"]) + \"; Number of Ratings: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; name: \" + (\"\" + datum[\"name\"]) + \"; Number of Ratings: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"scale": "x", "field": "value"}, "y": {"scale": "y", "field": "name"}, @@ -288,7 +288,7 @@ "fill": {"value": "black"}, "ariaRoleDescription": {"value": "tick"}, "description": { - "signal": "\"median: \" + (format(datum[\"median\"], \"\")) + \"; name: \" + (isValid(datum[\"name\"]) ? datum[\"name\"] : \"\"+datum[\"name\"])" + "signal": "\"median: \" + (!isValid(datum[\"median\"]) || !isFinite(+datum[\"median\"]) ? \"\" + datum[\"median\"] : format(datum[\"median\"], \"\")) + \"; name: \" + (\"\" + datum[\"name\"])" }, "xc": {"scale": "x", "field": "median"}, "yc": {"scale": "y", "field": "name"}, @@ -307,13 +307,11 @@ "align": {"value": "right"}, "fill": {"value": "black"}, "description": { - "signal": "\"name: \" + (isValid(datum[\"name\"]) ? datum[\"name\"] : \"\"+datum[\"name\"]) + \"; lo: \" + (isValid(datum[\"lo\"]) ? datum[\"lo\"] : \"\"+datum[\"lo\"])" + "signal": "\"name: \" + (\"\" + datum[\"name\"]) + \"; lo: \" + (\"\" + datum[\"lo\"])" }, "x": {"value": -5}, "y": {"scale": "y", "field": "name"}, - "text": { - "signal": "isValid(datum[\"lo\"]) ? datum[\"lo\"] : \"\"+datum[\"lo\"]" - }, + "text": {"signal": "\"\" + datum[\"lo\"]"}, "baseline": {"value": "middle"} } } @@ -328,13 +326,11 @@ "align": {"value": "left"}, "fill": {"value": "black"}, "description": { - "signal": "\"name: \" + (isValid(datum[\"name\"]) ? datum[\"name\"] : \"\"+datum[\"name\"]) + \"; hi: \" + (isValid(datum[\"hi\"]) ? datum[\"hi\"] : \"\"+datum[\"hi\"])" + "signal": "\"name: \" + (\"\" + datum[\"name\"]) + \"; hi: \" + (\"\" + datum[\"hi\"])" }, "x": {"value": 255}, "y": {"scale": "y", "field": "name"}, - "text": { - "signal": "isValid(datum[\"hi\"]) ? datum[\"hi\"] : \"\"+datum[\"hi\"]" - }, + "text": {"signal": "\"\" + datum[\"hi\"]"}, "baseline": {"value": "middle"} } } diff --git a/examples/compiled/layer_line_co2_concentration.vg.json b/examples/compiled/layer_line_co2_concentration.vg.json index 15ba2b5d35..5f5883358f 100644 --- a/examples/compiled/layer_line_co2_concentration.vg.json +++ b/examples/compiled/layer_line_co2_concentration.vg.json @@ -97,7 +97,7 @@ "update": { "stroke": {"scale": "color", "field": "decade"}, "description": { - "signal": "\"Year into Decade: \" + (format(datum[\"scaled_date\"], \"\")) + \"; CO2 concentration in ppm: \" + (format(datum[\"CO2\"], \"\")) + \"; decade: \" + (isValid(datum[\"decade\"]) ? datum[\"decade\"] : \"\"+datum[\"decade\"])" + "signal": "\"Year into Decade: \" + (!isValid(datum[\"scaled_date\"]) || !isFinite(+datum[\"scaled_date\"]) ? \"\" + datum[\"scaled_date\"] : format(datum[\"scaled_date\"], \"\")) + \"; CO2 concentration in ppm: \" + (!isValid(datum[\"CO2\"]) || !isFinite(+datum[\"CO2\"]) ? \"\" + datum[\"CO2\"] : format(datum[\"CO2\"], \"\")) + \"; decade: \" + (\"\" + datum[\"decade\"])" }, "x": {"scale": "x", "field": "scaled_date"}, "y": {"scale": "y", "field": "CO2"}, @@ -121,9 +121,7 @@ "fill": {"scale": "color", "field": "decade"}, "x": {"scale": "x", "field": "min_scaled_date"}, "y": {"scale": "y", "field": "argmin_scaled_date[\"CO2\"]"}, - "text": { - "signal": "isValid(datum[\"argmin_scaled_date\"][\"year\"]) ? datum[\"argmin_scaled_date\"][\"year\"] : \"\"+datum[\"argmin_scaled_date\"][\"year\"]" - } + "text": {"signal": "\"\" + datum[\"argmin_scaled_date\"][\"year\"]"} } } }, @@ -138,9 +136,7 @@ "fill": {"scale": "color", "field": "decade"}, "x": {"scale": "x", "field": "max_scaled_date"}, "y": {"scale": "y", "field": "argmax_scaled_date[\"CO2\"]"}, - "text": { - "signal": "isValid(datum[\"argmax_scaled_date\"][\"year\"]) ? datum[\"argmax_scaled_date\"][\"year\"] : \"\"+datum[\"argmax_scaled_date\"][\"year\"]" - }, + "text": {"signal": "\"\" + datum[\"argmax_scaled_date\"][\"year\"]"}, "baseline": {"value": "middle"} } } diff --git a/examples/compiled/layer_line_color_rule.vg.json b/examples/compiled/layer_line_color_rule.vg.json index 745fe51101..4928f66499 100644 --- a/examples/compiled/layer_line_color_rule.vg.json +++ b/examples/compiled/layer_line_color_rule.vg.json @@ -58,7 +58,7 @@ "update": { "stroke": {"scale": "color", "field": "symbol"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, @@ -79,7 +79,7 @@ "update": { "stroke": {"scale": "color", "field": "symbol"}, "description": { - "signal": "\"Mean of price: \" + (format(datum[\"mean_price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"Mean of price: \" + (!isValid(datum[\"mean_price\"]) || !isFinite(+datum[\"mean_price\"]) ? \"\" + datum[\"mean_price\"] : format(datum[\"mean_price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"field": {"group": "width"}}, "x2": {"value": 0}, diff --git a/examples/compiled/layer_line_datum_rule.vg.json b/examples/compiled/layer_line_datum_rule.vg.json index a9f632afc2..aa5b04fb79 100644 --- a/examples/compiled/layer_line_datum_rule.vg.json +++ b/examples/compiled/layer_line_datum_rule.vg.json @@ -41,7 +41,7 @@ "update": { "stroke": {"scale": "color", "field": "symbol"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, diff --git a/examples/compiled/layer_line_datum_rule_datetime.vg.json b/examples/compiled/layer_line_datum_rule_datetime.vg.json index 0f6cca8f1e..dbb1924e06 100644 --- a/examples/compiled/layer_line_datum_rule_datetime.vg.json +++ b/examples/compiled/layer_line_datum_rule_datetime.vg.json @@ -41,7 +41,7 @@ "update": { "stroke": {"scale": "color", "field": "symbol"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, diff --git a/examples/compiled/layer_line_errorband_2d_horizontal_borders_strokedash.vg.json b/examples/compiled/layer_line_errorband_2d_horizontal_borders_strokedash.vg.json index 8ba8495633..f4b699b3d1 100644 --- a/examples/compiled/layer_line_errorband_2d_horizontal_borders_strokedash.vg.json +++ b/examples/compiled/layer_line_errorband_2d_horizontal_borders_strokedash.vg.json @@ -51,10 +51,10 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"Ci1 of Miles_per_Gallon\": format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" + "signal": "{\"Ci1 of Miles_per_Gallon\": !isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": !isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": !isValid(datum[\"center_Miles_per_Gallon\"]) || !isFinite(+datum[\"center_Miles_per_Gallon\"]) ? \"\" + datum[\"center_Miles_per_Gallon\"] : format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": !isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" }, "description": { - "signal": "\"Year (year): \" + (timeFormat(datum[\"year_Year\"], '%b %d, %Y')) + \"; Miles_per_Gallon: \" + (format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; upper_Miles_per_Gallon: \" + (format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Ci1 of Miles_per_Gallon: \" + (format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Ci0 of Miles_per_Gallon: \" + (format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; Mean of Miles_per_Gallon: \" + (format(datum[\"center_Miles_per_Gallon\"], \"\"))" + "signal": "\"Year (year): \" + (!isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], '%b %d, %Y')) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; upper_Miles_per_Gallon: \" + (!isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Ci1 of Miles_per_Gallon: \" + (!isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Ci0 of Miles_per_Gallon: \" + (!isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; Mean of Miles_per_Gallon: \" + (!isValid(datum[\"center_Miles_per_Gallon\"]) || !isFinite(+datum[\"center_Miles_per_Gallon\"]) ? \"\" + datum[\"center_Miles_per_Gallon\"] : format(datum[\"center_Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "year_Year"}, "y": {"scale": "y", "field": "lower_Miles_per_Gallon"}, @@ -78,7 +78,7 @@ "strokeDash": {"value": [6, 4]}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"Ci1 of Miles_per_Gallon\": format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" + "signal": "{\"Ci1 of Miles_per_Gallon\": !isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": !isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": !isValid(datum[\"center_Miles_per_Gallon\"]) || !isFinite(+datum[\"center_Miles_per_Gallon\"]) ? \"\" + datum[\"center_Miles_per_Gallon\"] : format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": !isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" }, "x": {"scale": "x", "field": "year_Year"}, "y": {"scale": "y", "field": "lower_Miles_per_Gallon"}, @@ -101,7 +101,7 @@ "strokeDash": {"value": [6, 4]}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"Ci1 of Miles_per_Gallon\": format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" + "signal": "{\"Ci1 of Miles_per_Gallon\": !isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": !isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": !isValid(datum[\"center_Miles_per_Gallon\"]) || !isFinite(+datum[\"center_Miles_per_Gallon\"]) ? \"\" + datum[\"center_Miles_per_Gallon\"] : format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": !isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" }, "x": {"scale": "x", "field": "year_Year"}, "y": {"scale": "y", "field": "upper_Miles_per_Gallon"}, @@ -121,7 +121,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"Year (year): \" + (timeFormat(datum[\"year_Year\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of Miles_per_Gallon: \" + (format(datum[\"mean_Miles_per_Gallon\"], \"\"))" + "signal": "\"Year (year): \" + (!isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of Miles_per_Gallon: \" + (!isValid(datum[\"mean_Miles_per_Gallon\"]) || !isFinite(+datum[\"mean_Miles_per_Gallon\"]) ? \"\" + datum[\"mean_Miles_per_Gallon\"] : format(datum[\"mean_Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "year_Year"}, "y": {"scale": "y", "field": "mean_Miles_per_Gallon"}, diff --git a/examples/compiled/layer_line_errorband_ci.vg.json b/examples/compiled/layer_line_errorband_ci.vg.json index 2f467bc8c4..2f97019ee4 100644 --- a/examples/compiled/layer_line_errorband_ci.vg.json +++ b/examples/compiled/layer_line_errorband_ci.vg.json @@ -51,10 +51,10 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"Ci1 of Miles_per_Gallon\": format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" + "signal": "{\"Ci1 of Miles_per_Gallon\": !isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Ci0 of Miles_per_Gallon\": !isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\"), \"Mean of Miles_per_Gallon\": !isValid(datum[\"center_Miles_per_Gallon\"]) || !isFinite(+datum[\"center_Miles_per_Gallon\"]) ? \"\" + datum[\"center_Miles_per_Gallon\"] : format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Year (year)\": !isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" }, "description": { - "signal": "\"Year (year): \" + (timeFormat(datum[\"year_Year\"], '%b %d, %Y')) + \"; Mean of Miles per Gallon (95% CIs): \" + (format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; upper_Miles_per_Gallon: \" + (format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Ci1 of Miles_per_Gallon: \" + (format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Ci0 of Miles_per_Gallon: \" + (format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; Mean of Miles_per_Gallon: \" + (format(datum[\"center_Miles_per_Gallon\"], \"\"))" + "signal": "\"Year (year): \" + (!isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], '%b %d, %Y')) + \"; Mean of Miles per Gallon (95% CIs): \" + (!isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; upper_Miles_per_Gallon: \" + (!isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Ci1 of Miles_per_Gallon: \" + (!isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Ci0 of Miles_per_Gallon: \" + (!isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; Mean of Miles_per_Gallon: \" + (!isValid(datum[\"center_Miles_per_Gallon\"]) || !isFinite(+datum[\"center_Miles_per_Gallon\"]) ? \"\" + datum[\"center_Miles_per_Gallon\"] : format(datum[\"center_Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "year_Year"}, "y": {"scale": "y", "field": "lower_Miles_per_Gallon"}, @@ -75,7 +75,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"Year (year): \" + (timeFormat(datum[\"year_Year\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of Miles_per_Gallon: \" + (format(datum[\"mean_Miles_per_Gallon\"], \"\"))" + "signal": "\"Year (year): \" + (!isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of Miles_per_Gallon: \" + (!isValid(datum[\"mean_Miles_per_Gallon\"]) || !isFinite(+datum[\"mean_Miles_per_Gallon\"]) ? \"\" + datum[\"mean_Miles_per_Gallon\"] : format(datum[\"mean_Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "year_Year"}, "y": {"scale": "y", "field": "mean_Miles_per_Gallon"}, diff --git a/examples/compiled/layer_line_errorband_pre_aggregated.vg.json b/examples/compiled/layer_line_errorband_pre_aggregated.vg.json index ec42299e65..130a9f07d6 100644 --- a/examples/compiled/layer_line_errorband_pre_aggregated.vg.json +++ b/examples/compiled/layer_line_errorband_pre_aggregated.vg.json @@ -71,10 +71,10 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"ci0\": format(datum[\"upper_ci1\"], \"\"), \"ci1\": format(datum[\"lower_ci1\"], \"\"), \"Year (year)\": timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" + "signal": "{\"ci0\": !isValid(datum[\"upper_ci1\"]) || !isFinite(+datum[\"upper_ci1\"]) ? \"\" + datum[\"upper_ci1\"] : format(datum[\"upper_ci1\"], \"\"), \"ci1\": !isValid(datum[\"lower_ci1\"]) || !isFinite(+datum[\"lower_ci1\"]) ? \"\" + datum[\"lower_ci1\"] : format(datum[\"lower_ci1\"], \"\"), \"Year (year)\": !isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], '%b %d, %Y')}" }, "description": { - "signal": "\"Year (year): \" + (timeFormat(datum[\"year_Year\"], '%b %d, %Y')) + \"; Mean of Miles per Gallon (95% CIs): \" + (format(datum[\"lower_ci1\"], \"\")) + \"; upper_ci1: \" + (format(datum[\"upper_ci1\"], \"\")) + \"; ci0: \" + (format(datum[\"upper_ci1\"], \"\")) + \"; ci1: \" + (format(datum[\"lower_ci1\"], \"\"))" + "signal": "\"Year (year): \" + (!isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], '%b %d, %Y')) + \"; Mean of Miles per Gallon (95% CIs): \" + (!isValid(datum[\"lower_ci1\"]) || !isFinite(+datum[\"lower_ci1\"]) ? \"\" + datum[\"lower_ci1\"] : format(datum[\"lower_ci1\"], \"\")) + \"; upper_ci1: \" + (!isValid(datum[\"upper_ci1\"]) || !isFinite(+datum[\"upper_ci1\"]) ? \"\" + datum[\"upper_ci1\"] : format(datum[\"upper_ci1\"], \"\")) + \"; ci0: \" + (!isValid(datum[\"upper_ci1\"]) || !isFinite(+datum[\"upper_ci1\"]) ? \"\" + datum[\"upper_ci1\"] : format(datum[\"upper_ci1\"], \"\")) + \"; ci1: \" + (!isValid(datum[\"lower_ci1\"]) || !isFinite(+datum[\"lower_ci1\"]) ? \"\" + datum[\"lower_ci1\"] : format(datum[\"lower_ci1\"], \"\"))" }, "x": {"scale": "x", "field": "year_Year"}, "y": {"scale": "y", "field": "lower_ci1"}, @@ -95,7 +95,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"Year (year): \" + (timeFormat(datum[\"year_Year\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; center: \" + (format(datum[\"center\"], \"\"))" + "signal": "\"Year (year): \" + (!isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; center: \" + (!isValid(datum[\"center\"]) || !isFinite(+datum[\"center\"]) ? \"\" + datum[\"center\"] : format(datum[\"center\"], \"\"))" }, "x": {"scale": "x", "field": "year_Year"}, "y": {"scale": "y", "field": "center"}, diff --git a/examples/compiled/layer_line_mean_point_raw.vg.json b/examples/compiled/layer_line_mean_point_raw.vg.json index a631d91286..fbc97bd246 100644 --- a/examples/compiled/layer_line_mean_point_raw.vg.json +++ b/examples/compiled/layer_line_mean_point_raw.vg.json @@ -58,7 +58,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"date (year): \" + (timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date (year): \" + (!isValid(datum[\"year_date\"]) || !isFinite(+datum[\"year_date\"]) ? \"\" + datum[\"year_date\"] : timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "x", "field": "year_date"}, "y": {"scale": "y", "field": "price"} @@ -75,7 +75,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date (year): \" + (timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of price: \" + (format(datum[\"mean_price\"], \"\"))" + "signal": "\"date (year): \" + (!isValid(datum[\"year_date\"]) || !isFinite(+datum[\"year_date\"]) ? \"\" + datum[\"year_date\"] : timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of price: \" + (!isValid(datum[\"mean_price\"]) || !isFinite(+datum[\"mean_price\"]) ? \"\" + datum[\"mean_price\"] : format(datum[\"mean_price\"], \"\"))" }, "x": {"scale": "x", "field": "year_date"}, "y": {"scale": "y", "field": "mean_price"}, diff --git a/examples/compiled/layer_line_rolling_mean_point_raw.vg.json b/examples/compiled/layer_line_rolling_mean_point_raw.vg.json index b4af2098c2..0cf4ad9546 100644 --- a/examples/compiled/layer_line_rolling_mean_point_raw.vg.json +++ b/examples/compiled/layer_line_rolling_mean_point_raw.vg.json @@ -47,7 +47,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; Max Temperature: \" + (format(datum[\"temp_max\"], \"\"))" + "signal": "\"Date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; Max Temperature: \" + (!isValid(datum[\"temp_max\"]) || !isFinite(+datum[\"temp_max\"]) ? \"\" + datum[\"temp_max\"] : format(datum[\"temp_max\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "temp_max"} @@ -64,7 +64,7 @@ "update": { "stroke": {"value": "red"}, "description": { - "signal": "\"Date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; Rolling Mean of Max Temperature: \" + (format(datum[\"rolling_mean\"], \"\"))" + "signal": "\"Date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; Rolling Mean of Max Temperature: \" + (!isValid(datum[\"rolling_mean\"]) || !isFinite(+datum[\"rolling_mean\"]) ? \"\" + datum[\"rolling_mean\"] : format(datum[\"rolling_mean\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "rolling_mean"}, diff --git a/examples/compiled/layer_line_window.vg.json b/examples/compiled/layer_line_window.vg.json index d5030a61e8..fe631a6564 100644 --- a/examples/compiled/layer_line_window.vg.json +++ b/examples/compiled/layer_line_window.vg.json @@ -497,7 +497,7 @@ "update": { "stroke": {"scale": "color", "field": "system"}, "description": { - "signal": "\"Trial: \" + (format(datum[\"row\"], \"\")) + \"; Frames Per Second (fps): \" + (format(datum[\"fps\"], \"\")) + \"; System: \" + (isValid(datum[\"system\"]) ? datum[\"system\"] : \"\"+datum[\"system\"])" + "signal": "\"Trial: \" + (!isValid(datum[\"row\"]) || !isFinite(+datum[\"row\"]) ? \"\" + datum[\"row\"] : format(datum[\"row\"], \"\")) + \"; Frames Per Second (fps): \" + (!isValid(datum[\"fps\"]) || !isFinite(+datum[\"fps\"]) ? \"\" + datum[\"fps\"] : format(datum[\"fps\"], \"\")) + \"; System: \" + (\"\" + datum[\"system\"])" }, "x": {"scale": "x", "field": "row"}, "y": {"scale": "y", "field": "fps"}, @@ -537,7 +537,7 @@ "update": { "stroke": {"scale": "color", "field": "system"}, "description": { - "signal": "\"Trial: \" + (format(datum[\"row\"], \"\")) + \"; Frames Per Second (fps): \" + (format(datum[\"fps\"], \"\")) + \"; System: \" + (isValid(datum[\"system\"]) ? datum[\"system\"] : \"\"+datum[\"system\"])" + "signal": "\"Trial: \" + (!isValid(datum[\"row\"]) || !isFinite(+datum[\"row\"]) ? \"\" + datum[\"row\"] : format(datum[\"row\"], \"\")) + \"; Frames Per Second (fps): \" + (!isValid(datum[\"fps\"]) || !isFinite(+datum[\"fps\"]) ? \"\" + datum[\"fps\"] : format(datum[\"fps\"], \"\")) + \"; System: \" + (\"\" + datum[\"system\"])" }, "x": {"scale": "x", "field": "row"}, "y": {"scale": "y", "field": "fps"}, diff --git a/examples/compiled/layer_null_data.vg.json b/examples/compiled/layer_null_data.vg.json index ba3703026a..7a2906c740 100644 --- a/examples/compiled/layer_null_data.vg.json +++ b/examples/compiled/layer_null_data.vg.json @@ -77,7 +77,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"a (year-month-date): \" + (timeFormat(datum[\"yearmonthdate_a\"], '%d %b')) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a (year-month-date): \" + (!isValid(datum[\"yearmonthdate_a\"]) || !isFinite(+datum[\"yearmonthdate_a\"]) ? \"\" + datum[\"yearmonthdate_a\"] : timeFormat(datum[\"yearmonthdate_a\"], '%d %b')) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "yearmonthdate_a"}, "y": {"scale": "y", "field": "b"}, @@ -98,7 +98,7 @@ "fill": {"value": "red"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a (year-month-date): \" + (timeFormat(datum[\"yearmonthdate_a\"], timeUnitSpecifier([\"year\",\"month\",\"date\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" + "signal": "\"a (year-month-date): \" + (!isValid(datum[\"yearmonthdate_a\"]) || !isFinite(+datum[\"yearmonthdate_a\"]) ? \"\" + datum[\"yearmonthdate_a\"] : timeFormat(datum[\"yearmonthdate_a\"], timeUnitSpecifier([\"year\",\"month\",\"date\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" }, "x2": { "scale": "x", diff --git a/examples/compiled/layer_overlay.vg.json b/examples/compiled/layer_overlay.vg.json index 89c38c3ccb..7e51e82652 100644 --- a/examples/compiled/layer_overlay.vg.json +++ b/examples/compiled/layer_overlay.vg.json @@ -58,7 +58,7 @@ "update": { "stroke": {"value": "darkred"}, "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Max of Horsepower: \" + (format(datum[\"max_Horsepower\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Max of Horsepower: \" + (!isValid(datum[\"max_Horsepower\"]) || !isFinite(+datum[\"max_Horsepower\"]) ? \"\" + datum[\"max_Horsepower\"] : format(datum[\"max_Horsepower\"], \"\"))" }, "x": {"scale": "x", "field": "Cylinders"}, "y": {"scale": "y", "field": "max_Horsepower"}, @@ -79,7 +79,7 @@ "fill": {"value": "darkred"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Max of Horsepower: \" + (format(datum[\"max_Horsepower\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Max of Horsepower: \" + (!isValid(datum[\"max_Horsepower\"]) || !isFinite(+datum[\"max_Horsepower\"]) ? \"\" + datum[\"max_Horsepower\"] : format(datum[\"max_Horsepower\"], \"\"))" }, "x": {"scale": "x", "field": "Cylinders"}, "y": {"scale": "y", "field": "max_Horsepower"} @@ -96,7 +96,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Min of Horsepower: \" + (format(datum[\"min_Horsepower\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Min of Horsepower: \" + (!isValid(datum[\"min_Horsepower\"]) || !isFinite(+datum[\"min_Horsepower\"]) ? \"\" + datum[\"min_Horsepower\"] : format(datum[\"min_Horsepower\"], \"\"))" }, "x": {"scale": "x", "field": "Cylinders"}, "y": {"scale": "y", "field": "min_Horsepower"}, @@ -117,7 +117,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Min of Horsepower: \" + (format(datum[\"min_Horsepower\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Min of Horsepower: \" + (!isValid(datum[\"min_Horsepower\"]) || !isFinite(+datum[\"min_Horsepower\"]) ? \"\" + datum[\"min_Horsepower\"] : format(datum[\"min_Horsepower\"], \"\"))" }, "x": {"scale": "x", "field": "Cylinders"}, "y": {"scale": "y", "field": "min_Horsepower"} diff --git a/examples/compiled/layer_point_errorbar_1d_horizontal.vg.json b/examples/compiled/layer_point_errorbar_1d_horizontal.vg.json index 306057e4fd..08081ea891 100644 --- a/examples/compiled/layer_point_errorbar_1d_horizontal.vg.json +++ b/examples/compiled/layer_point_errorbar_1d_horizontal.vg.json @@ -62,10 +62,10 @@ "ariaRoleDescription": {"value": "errorbar"}, "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Mean of yield\": format(datum[\"center_yield\"], \"\"), \"Mean + stderr of yield\": format(datum[\"upper_yield\"], \"\"), \"Mean - stderr of yield\": format(datum[\"lower_yield\"], \"\")}" + "signal": "{\"Mean of yield\": !isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\"), \"Mean + stderr of yield\": !isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\"), \"Mean - stderr of yield\": !isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\")}" }, "description": { - "signal": "\"yield: \" + (format(datum[\"lower_yield\"], \"\")) + \"; upper_yield: \" + (format(datum[\"upper_yield\"], \"\")) + \"; Mean of yield: \" + (format(datum[\"center_yield\"], \"\")) + \"; Mean + stderr of yield: \" + (format(datum[\"upper_yield\"], \"\")) + \"; Mean - stderr of yield: \" + (format(datum[\"lower_yield\"], \"\"))" + "signal": "\"yield: \" + (!isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\")) + \"; upper_yield: \" + (!isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\")) + \"; Mean of yield: \" + (!isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\")) + \"; Mean + stderr of yield: \" + (!isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\")) + \"; Mean - stderr of yield: \" + (!isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\"))" }, "x": {"scale": "x", "field": "lower_yield"}, "x2": {"scale": "x", "field": "upper_yield"}, @@ -83,7 +83,7 @@ "fill": {"value": "black"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Mean of yield: \" + (format(datum[\"mean_yield\"], \"\"))" + "signal": "\"Mean of yield: \" + (!isValid(datum[\"mean_yield\"]) || !isFinite(+datum[\"mean_yield\"]) ? \"\" + datum[\"mean_yield\"] : format(datum[\"mean_yield\"], \"\"))" }, "x": {"scale": "x", "field": "mean_yield"}, "y": {"signal": "height", "mult": 0.5} diff --git a/examples/compiled/layer_point_errorbar_1d_vertical.vg.json b/examples/compiled/layer_point_errorbar_1d_vertical.vg.json index 50011daa62..ed2db0e3c9 100644 --- a/examples/compiled/layer_point_errorbar_1d_vertical.vg.json +++ b/examples/compiled/layer_point_errorbar_1d_vertical.vg.json @@ -62,10 +62,10 @@ "ariaRoleDescription": {"value": "errorbar"}, "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Mean of yield\": format(datum[\"center_yield\"], \"\"), \"Mean + stderr of yield\": format(datum[\"upper_yield\"], \"\"), \"Mean - stderr of yield\": format(datum[\"lower_yield\"], \"\")}" + "signal": "{\"Mean of yield\": !isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\"), \"Mean + stderr of yield\": !isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\"), \"Mean - stderr of yield\": !isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\")}" }, "description": { - "signal": "\"yield: \" + (format(datum[\"lower_yield\"], \"\")) + \"; upper_yield: \" + (format(datum[\"upper_yield\"], \"\")) + \"; Mean of yield: \" + (format(datum[\"center_yield\"], \"\")) + \"; Mean + stderr of yield: \" + (format(datum[\"upper_yield\"], \"\")) + \"; Mean - stderr of yield: \" + (format(datum[\"lower_yield\"], \"\"))" + "signal": "\"yield: \" + (!isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\")) + \"; upper_yield: \" + (!isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\")) + \"; Mean of yield: \" + (!isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\")) + \"; Mean + stderr of yield: \" + (!isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\")) + \"; Mean - stderr of yield: \" + (!isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\"))" }, "x": {"signal": "width", "mult": 0.5}, "y": {"scale": "y", "field": "lower_yield"}, @@ -83,7 +83,7 @@ "fill": {"value": "black"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Mean of yield: \" + (format(datum[\"mean_yield\"], \"\"))" + "signal": "\"Mean of yield: \" + (!isValid(datum[\"mean_yield\"]) || !isFinite(+datum[\"mean_yield\"]) ? \"\" + datum[\"mean_yield\"] : format(datum[\"mean_yield\"], \"\"))" }, "x": {"signal": "width", "mult": 0.5}, "y": {"scale": "y", "field": "mean_yield"} diff --git a/examples/compiled/layer_point_errorbar_2d_horizontal.vg.json b/examples/compiled/layer_point_errorbar_2d_horizontal.vg.json index 672ec33639..713031d5a4 100644 --- a/examples/compiled/layer_point_errorbar_2d_horizontal.vg.json +++ b/examples/compiled/layer_point_errorbar_2d_horizontal.vg.json @@ -65,10 +65,10 @@ "ariaRoleDescription": {"value": "errorbar"}, "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Mean of yield\": format(datum[\"center_yield\"], \"\"), \"Mean + stderr of yield\": format(datum[\"upper_yield\"], \"\"), \"Mean - stderr of yield\": format(datum[\"lower_yield\"], \"\"), \"variety\": isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]}" + "signal": "{\"Mean of yield\": !isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\"), \"Mean + stderr of yield\": !isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\"), \"Mean - stderr of yield\": !isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\"), \"variety\": \"\" + datum[\"variety\"]}" }, "description": { - "signal": "\"yield: \" + (format(datum[\"lower_yield\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]) + \"; upper_yield: \" + (format(datum[\"upper_yield\"], \"\")) + \"; Mean of yield: \" + (format(datum[\"center_yield\"], \"\")) + \"; Mean + stderr of yield: \" + (format(datum[\"upper_yield\"], \"\")) + \"; Mean - stderr of yield: \" + (format(datum[\"lower_yield\"], \"\"))" + "signal": "\"yield: \" + (!isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"]) + \"; upper_yield: \" + (!isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\")) + \"; Mean of yield: \" + (!isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\")) + \"; Mean + stderr of yield: \" + (!isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\")) + \"; Mean - stderr of yield: \" + (!isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\"))" }, "x": {"scale": "x", "field": "lower_yield"}, "x2": {"scale": "x", "field": "upper_yield"}, @@ -86,7 +86,7 @@ "fill": {"value": "black"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Mean of yield: \" + (format(datum[\"mean_yield\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"])" + "signal": "\"Mean of yield: \" + (!isValid(datum[\"mean_yield\"]) || !isFinite(+datum[\"mean_yield\"]) ? \"\" + datum[\"mean_yield\"] : format(datum[\"mean_yield\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"])" }, "x": {"scale": "x", "field": "mean_yield"}, "y": {"scale": "y", "field": "variety", "band": 0.5} diff --git a/examples/compiled/layer_point_errorbar_2d_horizontal_ci.vg.json b/examples/compiled/layer_point_errorbar_2d_horizontal_ci.vg.json index be00cb942b..631a463f92 100644 --- a/examples/compiled/layer_point_errorbar_2d_horizontal_ci.vg.json +++ b/examples/compiled/layer_point_errorbar_2d_horizontal_ci.vg.json @@ -55,10 +55,10 @@ "ariaRoleDescription": {"value": "errorbar"}, "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Ci1 of yield\": format(datum[\"upper_yield\"], \"\"), \"Ci0 of yield\": format(datum[\"lower_yield\"], \"\"), \"Mean of yield\": format(datum[\"center_yield\"], \"\"), \"variety\": isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]}" + "signal": "{\"Ci1 of yield\": !isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\"), \"Ci0 of yield\": !isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\"), \"Mean of yield\": !isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\"), \"variety\": \"\" + datum[\"variety\"]}" }, "description": { - "signal": "\"yield: \" + (format(datum[\"lower_yield\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]) + \"; upper_yield: \" + (format(datum[\"upper_yield\"], \"\")) + \"; Ci1 of yield: \" + (format(datum[\"upper_yield\"], \"\")) + \"; Ci0 of yield: \" + (format(datum[\"lower_yield\"], \"\")) + \"; Mean of yield: \" + (format(datum[\"center_yield\"], \"\"))" + "signal": "\"yield: \" + (!isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"]) + \"; upper_yield: \" + (!isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\")) + \"; Ci1 of yield: \" + (!isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\")) + \"; Ci0 of yield: \" + (!isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\")) + \"; Mean of yield: \" + (!isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\"))" }, "x": {"scale": "x", "field": "lower_yield"}, "x2": {"scale": "x", "field": "upper_yield"}, @@ -76,7 +76,7 @@ "fill": {"value": "black"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Mean of yield: \" + (format(datum[\"mean_yield\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"])" + "signal": "\"Mean of yield: \" + (!isValid(datum[\"mean_yield\"]) || !isFinite(+datum[\"mean_yield\"]) ? \"\" + datum[\"mean_yield\"] : format(datum[\"mean_yield\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"])" }, "x": {"scale": "x", "field": "mean_yield"}, "y": {"scale": "y", "field": "variety", "band": 0.5} diff --git a/examples/compiled/layer_point_errorbar_2d_horizontal_color_encoding.vg.json b/examples/compiled/layer_point_errorbar_2d_horizontal_color_encoding.vg.json index eea7d71aef..3a54f5ab82 100644 --- a/examples/compiled/layer_point_errorbar_2d_horizontal_color_encoding.vg.json +++ b/examples/compiled/layer_point_errorbar_2d_horizontal_color_encoding.vg.json @@ -82,7 +82,7 @@ "opacity": {"value": 0.7}, "fill": {"value": "#4682b4"}, "tooltip": { - "signal": "{\"Mean of yield\": format(datum[\"center_yield\"], \"\"), \"Mean + stderr of yield\": format(datum[\"upper_yield\"], \"\"), \"Mean - stderr of yield\": format(datum[\"lower_yield\"], \"\"), \"variety\": isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]}" + "signal": "{\"Mean of yield\": !isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\"), \"Mean + stderr of yield\": !isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\"), \"Mean - stderr of yield\": !isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\"), \"variety\": \"\" + datum[\"variety\"]}" }, "xc": {"scale": "x", "field": "lower_yield"}, "yc": {"scale": "y", "field": "variety", "band": 0.5}, @@ -102,7 +102,7 @@ "opacity": {"value": 0.7}, "fill": {"value": "#4682b4"}, "tooltip": { - "signal": "{\"Mean of yield\": format(datum[\"center_yield\"], \"\"), \"Mean + stderr of yield\": format(datum[\"upper_yield\"], \"\"), \"Mean - stderr of yield\": format(datum[\"lower_yield\"], \"\"), \"variety\": isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]}" + "signal": "{\"Mean of yield\": !isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\"), \"Mean + stderr of yield\": !isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\"), \"Mean - stderr of yield\": !isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\"), \"variety\": \"\" + datum[\"variety\"]}" }, "xc": {"scale": "x", "field": "upper_yield"}, "yc": {"scale": "y", "field": "variety", "band": 0.5}, @@ -121,10 +121,10 @@ "ariaRoleDescription": {"value": "errorbar"}, "stroke": {"value": "#4682b4"}, "tooltip": { - "signal": "{\"Mean of yield\": format(datum[\"center_yield\"], \"\"), \"Mean + stderr of yield\": format(datum[\"upper_yield\"], \"\"), \"Mean - stderr of yield\": format(datum[\"lower_yield\"], \"\"), \"variety\": isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]}" + "signal": "{\"Mean of yield\": !isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\"), \"Mean + stderr of yield\": !isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\"), \"Mean - stderr of yield\": !isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\"), \"variety\": \"\" + datum[\"variety\"]}" }, "description": { - "signal": "\"yield: \" + (format(datum[\"lower_yield\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]) + \"; upper_yield: \" + (format(datum[\"upper_yield\"], \"\")) + \"; Mean of yield: \" + (format(datum[\"center_yield\"], \"\")) + \"; Mean + stderr of yield: \" + (format(datum[\"upper_yield\"], \"\")) + \"; Mean - stderr of yield: \" + (format(datum[\"lower_yield\"], \"\"))" + "signal": "\"yield: \" + (!isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"]) + \"; upper_yield: \" + (!isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\")) + \"; Mean of yield: \" + (!isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\")) + \"; Mean + stderr of yield: \" + (!isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\")) + \"; Mean - stderr of yield: \" + (!isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\"))" }, "x": {"scale": "x", "field": "lower_yield"}, "x2": {"scale": "x", "field": "upper_yield"}, @@ -142,7 +142,7 @@ "fill": {"value": "black"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Mean of yield: \" + (format(datum[\"mean_yield\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"])" + "signal": "\"Mean of yield: \" + (!isValid(datum[\"mean_yield\"]) || !isFinite(+datum[\"mean_yield\"]) ? \"\" + datum[\"mean_yield\"] : format(datum[\"mean_yield\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"])" }, "x": {"scale": "x", "field": "mean_yield"}, "y": {"scale": "y", "field": "variety", "band": 0.5} diff --git a/examples/compiled/layer_point_errorbar_2d_horizontal_custom_ticks.vg.json b/examples/compiled/layer_point_errorbar_2d_horizontal_custom_ticks.vg.json index b36cf09ebf..2f277f141f 100644 --- a/examples/compiled/layer_point_errorbar_2d_horizontal_custom_ticks.vg.json +++ b/examples/compiled/layer_point_errorbar_2d_horizontal_custom_ticks.vg.json @@ -82,7 +82,7 @@ "opacity": {"value": 0.7}, "fill": {"value": "teal"}, "tooltip": { - "signal": "{\"Mean of yield\": format(datum[\"center_yield\"], \"\"), \"Mean + stderr of yield\": format(datum[\"upper_yield\"], \"\"), \"Mean - stderr of yield\": format(datum[\"lower_yield\"], \"\"), \"variety\": isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]}" + "signal": "{\"Mean of yield\": !isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\"), \"Mean + stderr of yield\": !isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\"), \"Mean - stderr of yield\": !isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\"), \"variety\": \"\" + datum[\"variety\"]}" }, "xc": {"scale": "x", "field": "lower_yield"}, "yc": {"scale": "y", "field": "variety", "band": 0.5}, @@ -102,7 +102,7 @@ "opacity": {"value": 0.7}, "fill": {"value": "teal"}, "tooltip": { - "signal": "{\"Mean of yield\": format(datum[\"center_yield\"], \"\"), \"Mean + stderr of yield\": format(datum[\"upper_yield\"], \"\"), \"Mean - stderr of yield\": format(datum[\"lower_yield\"], \"\"), \"variety\": isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]}" + "signal": "{\"Mean of yield\": !isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\"), \"Mean + stderr of yield\": !isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\"), \"Mean - stderr of yield\": !isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\"), \"variety\": \"\" + datum[\"variety\"]}" }, "xc": {"scale": "x", "field": "upper_yield"}, "yc": {"scale": "y", "field": "variety", "band": 0.5}, @@ -121,10 +121,10 @@ "ariaRoleDescription": {"value": "errorbar"}, "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Mean of yield\": format(datum[\"center_yield\"], \"\"), \"Mean + stderr of yield\": format(datum[\"upper_yield\"], \"\"), \"Mean - stderr of yield\": format(datum[\"lower_yield\"], \"\"), \"variety\": isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]}" + "signal": "{\"Mean of yield\": !isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\"), \"Mean + stderr of yield\": !isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\"), \"Mean - stderr of yield\": !isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\"), \"variety\": \"\" + datum[\"variety\"]}" }, "description": { - "signal": "\"yield: \" + (format(datum[\"lower_yield\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]) + \"; upper_yield: \" + (format(datum[\"upper_yield\"], \"\")) + \"; Mean of yield: \" + (format(datum[\"center_yield\"], \"\")) + \"; Mean + stderr of yield: \" + (format(datum[\"upper_yield\"], \"\")) + \"; Mean - stderr of yield: \" + (format(datum[\"lower_yield\"], \"\"))" + "signal": "\"yield: \" + (!isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"]) + \"; upper_yield: \" + (!isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\")) + \"; Mean of yield: \" + (!isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\")) + \"; Mean + stderr of yield: \" + (!isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\")) + \"; Mean - stderr of yield: \" + (!isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\"))" }, "x": {"scale": "x", "field": "lower_yield"}, "x2": {"scale": "x", "field": "upper_yield"}, @@ -142,7 +142,7 @@ "fill": {"value": "black"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Mean of yield: \" + (format(datum[\"mean_yield\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"])" + "signal": "\"Mean of yield: \" + (!isValid(datum[\"mean_yield\"]) || !isFinite(+datum[\"mean_yield\"]) ? \"\" + datum[\"mean_yield\"] : format(datum[\"mean_yield\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"])" }, "x": {"scale": "x", "field": "mean_yield"}, "y": {"scale": "y", "field": "variety", "band": 0.5} diff --git a/examples/compiled/layer_point_errorbar_2d_horizontal_iqr.vg.json b/examples/compiled/layer_point_errorbar_2d_horizontal_iqr.vg.json index e7e4e26212..62a57bf185 100644 --- a/examples/compiled/layer_point_errorbar_2d_horizontal_iqr.vg.json +++ b/examples/compiled/layer_point_errorbar_2d_horizontal_iqr.vg.json @@ -55,10 +55,10 @@ "ariaRoleDescription": {"value": "errorbar"}, "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Q3 of yield\": format(datum[\"upper_yield\"], \"\"), \"Q1 of yield\": format(datum[\"lower_yield\"], \"\"), \"Median of yield\": format(datum[\"center_yield\"], \"\"), \"variety\": isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]}" + "signal": "{\"Q3 of yield\": !isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\"), \"Q1 of yield\": !isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\"), \"Median of yield\": !isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\"), \"variety\": \"\" + datum[\"variety\"]}" }, "description": { - "signal": "\"yield: \" + (format(datum[\"lower_yield\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]) + \"; upper_yield: \" + (format(datum[\"upper_yield\"], \"\")) + \"; Q3 of yield: \" + (format(datum[\"upper_yield\"], \"\")) + \"; Q1 of yield: \" + (format(datum[\"lower_yield\"], \"\")) + \"; Median of yield: \" + (format(datum[\"center_yield\"], \"\"))" + "signal": "\"yield: \" + (!isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"]) + \"; upper_yield: \" + (!isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\")) + \"; Q3 of yield: \" + (!isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\")) + \"; Q1 of yield: \" + (!isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\")) + \"; Median of yield: \" + (!isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\"))" }, "x": {"scale": "x", "field": "lower_yield"}, "x2": {"scale": "x", "field": "upper_yield"}, @@ -76,7 +76,7 @@ "fill": {"value": "black"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Median of yield: \" + (format(datum[\"median_yield\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"])" + "signal": "\"Median of yield: \" + (!isValid(datum[\"median_yield\"]) || !isFinite(+datum[\"median_yield\"]) ? \"\" + datum[\"median_yield\"] : format(datum[\"median_yield\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"])" }, "x": {"scale": "x", "field": "median_yield"}, "y": {"scale": "y", "field": "variety", "band": 0.5} diff --git a/examples/compiled/layer_point_errorbar_2d_horizontal_stdev.vg.json b/examples/compiled/layer_point_errorbar_2d_horizontal_stdev.vg.json index 76ec714e4b..9895afca21 100644 --- a/examples/compiled/layer_point_errorbar_2d_horizontal_stdev.vg.json +++ b/examples/compiled/layer_point_errorbar_2d_horizontal_stdev.vg.json @@ -65,10 +65,10 @@ "ariaRoleDescription": {"value": "errorbar"}, "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Mean of yield\": format(datum[\"center_yield\"], \"\"), \"Mean + stdev of yield\": format(datum[\"upper_yield\"], \"\"), \"Mean - stdev of yield\": format(datum[\"lower_yield\"], \"\"), \"variety\": isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]}" + "signal": "{\"Mean of yield\": !isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\"), \"Mean + stdev of yield\": !isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\"), \"Mean - stdev of yield\": !isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\"), \"variety\": \"\" + datum[\"variety\"]}" }, "description": { - "signal": "\"yield: \" + (format(datum[\"lower_yield\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]) + \"; upper_yield: \" + (format(datum[\"upper_yield\"], \"\")) + \"; Mean of yield: \" + (format(datum[\"center_yield\"], \"\")) + \"; Mean + stdev of yield: \" + (format(datum[\"upper_yield\"], \"\")) + \"; Mean - stdev of yield: \" + (format(datum[\"lower_yield\"], \"\"))" + "signal": "\"yield: \" + (!isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"]) + \"; upper_yield: \" + (!isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\")) + \"; Mean of yield: \" + (!isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\")) + \"; Mean + stdev of yield: \" + (!isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\")) + \"; Mean - stdev of yield: \" + (!isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\"))" }, "x": {"scale": "x", "field": "lower_yield"}, "x2": {"scale": "x", "field": "upper_yield"}, @@ -86,7 +86,7 @@ "fill": {"value": "black"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Mean of yield: \" + (format(datum[\"mean_yield\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"])" + "signal": "\"Mean of yield: \" + (!isValid(datum[\"mean_yield\"]) || !isFinite(+datum[\"mean_yield\"]) ? \"\" + datum[\"mean_yield\"] : format(datum[\"mean_yield\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"])" }, "x": {"scale": "x", "field": "mean_yield"}, "y": {"scale": "y", "field": "variety", "band": 0.5} diff --git a/examples/compiled/layer_point_errorbar_2d_vertical.vg.json b/examples/compiled/layer_point_errorbar_2d_vertical.vg.json index 40ebf0cb7b..126f4d8275 100644 --- a/examples/compiled/layer_point_errorbar_2d_vertical.vg.json +++ b/examples/compiled/layer_point_errorbar_2d_vertical.vg.json @@ -65,10 +65,10 @@ "ariaRoleDescription": {"value": "errorbar"}, "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Mean of yield\": format(datum[\"center_yield\"], \"\"), \"Mean + stderr of yield\": format(datum[\"upper_yield\"], \"\"), \"Mean - stderr of yield\": format(datum[\"lower_yield\"], \"\"), \"variety\": isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]}" + "signal": "{\"Mean of yield\": !isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\"), \"Mean + stderr of yield\": !isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\"), \"Mean - stderr of yield\": !isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\"), \"variety\": \"\" + datum[\"variety\"]}" }, "description": { - "signal": "\"variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]) + \"; yield: \" + (format(datum[\"lower_yield\"], \"\")) + \"; upper_yield: \" + (format(datum[\"upper_yield\"], \"\")) + \"; Mean of yield: \" + (format(datum[\"center_yield\"], \"\")) + \"; Mean + stderr of yield: \" + (format(datum[\"upper_yield\"], \"\")) + \"; Mean - stderr of yield: \" + (format(datum[\"lower_yield\"], \"\"))" + "signal": "\"variety: \" + (\"\" + datum[\"variety\"]) + \"; yield: \" + (!isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\")) + \"; upper_yield: \" + (!isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\")) + \"; Mean of yield: \" + (!isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\")) + \"; Mean + stderr of yield: \" + (!isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\")) + \"; Mean - stderr of yield: \" + (!isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\"))" }, "x": {"scale": "x", "field": "variety", "band": 0.5}, "y": {"scale": "y", "field": "lower_yield"}, @@ -86,7 +86,7 @@ "fill": {"value": "black"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]) + \"; Mean of yield: \" + (format(datum[\"mean_yield\"], \"\"))" + "signal": "\"variety: \" + (\"\" + datum[\"variety\"]) + \"; Mean of yield: \" + (!isValid(datum[\"mean_yield\"]) || !isFinite(+datum[\"mean_yield\"]) ? \"\" + datum[\"mean_yield\"] : format(datum[\"mean_yield\"], \"\"))" }, "x": {"scale": "x", "field": "variety", "band": 0.5}, "y": {"scale": "y", "field": "mean_yield"} diff --git a/examples/compiled/layer_point_errorbar_ci.vg.json b/examples/compiled/layer_point_errorbar_ci.vg.json index b315247154..46a715af4a 100644 --- a/examples/compiled/layer_point_errorbar_ci.vg.json +++ b/examples/compiled/layer_point_errorbar_ci.vg.json @@ -55,7 +55,7 @@ "fill": {"value": "black"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Barley Yield: \" + (format(datum[\"mean_yield\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"])" + "signal": "\"Barley Yield: \" + (!isValid(datum[\"mean_yield\"]) || !isFinite(+datum[\"mean_yield\"]) ? \"\" + datum[\"mean_yield\"] : format(datum[\"mean_yield\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"])" }, "x": {"scale": "x", "field": "mean_yield"}, "y": {"scale": "y", "field": "variety", "band": 0.5} @@ -72,10 +72,10 @@ "ariaRoleDescription": {"value": "errorbar"}, "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Ci1 of yield\": format(datum[\"upper_yield\"], \"\"), \"Ci0 of yield\": format(datum[\"lower_yield\"], \"\"), \"Mean of yield\": format(datum[\"center_yield\"], \"\"), \"variety\": isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]}" + "signal": "{\"Ci1 of yield\": !isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\"), \"Ci0 of yield\": !isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\"), \"Mean of yield\": !isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\"), \"variety\": \"\" + datum[\"variety\"]}" }, "description": { - "signal": "\"Barley Yield: \" + (format(datum[\"lower_yield\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]) + \"; upper_yield: \" + (format(datum[\"upper_yield\"], \"\")) + \"; Ci1 of yield: \" + (format(datum[\"upper_yield\"], \"\")) + \"; Ci0 of yield: \" + (format(datum[\"lower_yield\"], \"\")) + \"; Mean of yield: \" + (format(datum[\"center_yield\"], \"\"))" + "signal": "\"Barley Yield: \" + (!isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"]) + \"; upper_yield: \" + (!isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\")) + \"; Ci1 of yield: \" + (!isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\")) + \"; Ci0 of yield: \" + (!isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\")) + \"; Mean of yield: \" + (!isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\"))" }, "x": {"scale": "x", "field": "lower_yield"}, "x2": {"scale": "x", "field": "upper_yield"}, diff --git a/examples/compiled/layer_point_errorbar_pre_aggregated_asymmetric_error.vg.json b/examples/compiled/layer_point_errorbar_pre_aggregated_asymmetric_error.vg.json index c4920cf063..388d213f70 100644 --- a/examples/compiled/layer_point_errorbar_pre_aggregated_asymmetric_error.vg.json +++ b/examples/compiled/layer_point_errorbar_pre_aggregated_asymmetric_error.vg.json @@ -80,10 +80,10 @@ "ariaRoleDescription": {"value": "errorbar"}, "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"yield_center\": format(datum[\"yield_center\"], \"\"), \"yield_center + yield_error\": format(datum[\"upper_yield_center\"], \"\"), \"yield_center + yield_error2\": format(datum[\"lower_yield_center\"], \"\"), \"variety\": isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]}" + "signal": "{\"yield_center\": !isValid(datum[\"yield_center\"]) || !isFinite(+datum[\"yield_center\"]) ? \"\" + datum[\"yield_center\"] : format(datum[\"yield_center\"], \"\"), \"yield_center + yield_error\": !isValid(datum[\"upper_yield_center\"]) || !isFinite(+datum[\"upper_yield_center\"]) ? \"\" + datum[\"upper_yield_center\"] : format(datum[\"upper_yield_center\"], \"\"), \"yield_center + yield_error2\": !isValid(datum[\"lower_yield_center\"]) || !isFinite(+datum[\"lower_yield_center\"]) ? \"\" + datum[\"lower_yield_center\"] : format(datum[\"lower_yield_center\"], \"\"), \"variety\": \"\" + datum[\"variety\"]}" }, "description": { - "signal": "\"yield: \" + (format(datum[\"lower_yield_center\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]) + \"; upper_yield_center: \" + (format(datum[\"upper_yield_center\"], \"\")) + \"; yield_center: \" + (format(datum[\"yield_center\"], \"\")) + \"; yield_center + yield_error: \" + (format(datum[\"upper_yield_center\"], \"\")) + \"; yield_center + yield_error2: \" + (format(datum[\"lower_yield_center\"], \"\"))" + "signal": "\"yield: \" + (!isValid(datum[\"lower_yield_center\"]) || !isFinite(+datum[\"lower_yield_center\"]) ? \"\" + datum[\"lower_yield_center\"] : format(datum[\"lower_yield_center\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"]) + \"; upper_yield_center: \" + (!isValid(datum[\"upper_yield_center\"]) || !isFinite(+datum[\"upper_yield_center\"]) ? \"\" + datum[\"upper_yield_center\"] : format(datum[\"upper_yield_center\"], \"\")) + \"; yield_center: \" + (!isValid(datum[\"yield_center\"]) || !isFinite(+datum[\"yield_center\"]) ? \"\" + datum[\"yield_center\"] : format(datum[\"yield_center\"], \"\")) + \"; yield_center + yield_error: \" + (!isValid(datum[\"upper_yield_center\"]) || !isFinite(+datum[\"upper_yield_center\"]) ? \"\" + datum[\"upper_yield_center\"] : format(datum[\"upper_yield_center\"], \"\")) + \"; yield_center + yield_error2: \" + (!isValid(datum[\"lower_yield_center\"]) || !isFinite(+datum[\"lower_yield_center\"]) ? \"\" + datum[\"lower_yield_center\"] : format(datum[\"lower_yield_center\"], \"\"))" }, "x": {"scale": "x", "field": "lower_yield_center"}, "x2": {"scale": "x", "field": "upper_yield_center"}, @@ -102,7 +102,7 @@ "fill": {"value": "black"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"yield_center: \" + (format(datum[\"yield_center\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"])" + "signal": "\"yield_center: \" + (!isValid(datum[\"yield_center\"]) || !isFinite(+datum[\"yield_center\"]) ? \"\" + datum[\"yield_center\"] : format(datum[\"yield_center\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"])" }, "x": {"scale": "x", "field": "yield_center"}, "y": {"scale": "y", "field": "variety", "band": 0.5} diff --git a/examples/compiled/layer_point_errorbar_pre_aggregated_symmetric_error.vg.json b/examples/compiled/layer_point_errorbar_pre_aggregated_symmetric_error.vg.json index 05fc1ffb53..73fba47952 100644 --- a/examples/compiled/layer_point_errorbar_pre_aggregated_symmetric_error.vg.json +++ b/examples/compiled/layer_point_errorbar_pre_aggregated_symmetric_error.vg.json @@ -68,10 +68,10 @@ "ariaRoleDescription": {"value": "errorbar"}, "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"yield_center\": format(datum[\"yield_center\"], \"\"), \"yield_center + yield_error\": format(datum[\"upper_yield_center\"], \"\"), \"yield_center - yield_error\": format(datum[\"lower_yield_center\"], \"\"), \"variety\": isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]}" + "signal": "{\"yield_center\": !isValid(datum[\"yield_center\"]) || !isFinite(+datum[\"yield_center\"]) ? \"\" + datum[\"yield_center\"] : format(datum[\"yield_center\"], \"\"), \"yield_center + yield_error\": !isValid(datum[\"upper_yield_center\"]) || !isFinite(+datum[\"upper_yield_center\"]) ? \"\" + datum[\"upper_yield_center\"] : format(datum[\"upper_yield_center\"], \"\"), \"yield_center - yield_error\": !isValid(datum[\"lower_yield_center\"]) || !isFinite(+datum[\"lower_yield_center\"]) ? \"\" + datum[\"lower_yield_center\"] : format(datum[\"lower_yield_center\"], \"\"), \"variety\": \"\" + datum[\"variety\"]}" }, "description": { - "signal": "\"yield: \" + (format(datum[\"lower_yield_center\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]) + \"; upper_yield_center: \" + (format(datum[\"upper_yield_center\"], \"\")) + \"; yield_center: \" + (format(datum[\"yield_center\"], \"\")) + \"; yield_center + yield_error: \" + (format(datum[\"upper_yield_center\"], \"\")) + \"; yield_center - yield_error: \" + (format(datum[\"lower_yield_center\"], \"\"))" + "signal": "\"yield: \" + (!isValid(datum[\"lower_yield_center\"]) || !isFinite(+datum[\"lower_yield_center\"]) ? \"\" + datum[\"lower_yield_center\"] : format(datum[\"lower_yield_center\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"]) + \"; upper_yield_center: \" + (!isValid(datum[\"upper_yield_center\"]) || !isFinite(+datum[\"upper_yield_center\"]) ? \"\" + datum[\"upper_yield_center\"] : format(datum[\"upper_yield_center\"], \"\")) + \"; yield_center: \" + (!isValid(datum[\"yield_center\"]) || !isFinite(+datum[\"yield_center\"]) ? \"\" + datum[\"yield_center\"] : format(datum[\"yield_center\"], \"\")) + \"; yield_center + yield_error: \" + (!isValid(datum[\"upper_yield_center\"]) || !isFinite(+datum[\"upper_yield_center\"]) ? \"\" + datum[\"upper_yield_center\"] : format(datum[\"upper_yield_center\"], \"\")) + \"; yield_center - yield_error: \" + (!isValid(datum[\"lower_yield_center\"]) || !isFinite(+datum[\"lower_yield_center\"]) ? \"\" + datum[\"lower_yield_center\"] : format(datum[\"lower_yield_center\"], \"\"))" }, "x": {"scale": "x", "field": "lower_yield_center"}, "x2": {"scale": "x", "field": "upper_yield_center"}, @@ -90,7 +90,7 @@ "fill": {"value": "black"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"yield_center: \" + (format(datum[\"yield_center\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"])" + "signal": "\"yield_center: \" + (!isValid(datum[\"yield_center\"]) || !isFinite(+datum[\"yield_center\"]) ? \"\" + datum[\"yield_center\"] : format(datum[\"yield_center\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"])" }, "x": {"scale": "x", "field": "yield_center"}, "y": {"scale": "y", "field": "variety", "band": 0.5} diff --git a/examples/compiled/layer_point_errorbar_pre_aggregated_upper_lower.vg.json b/examples/compiled/layer_point_errorbar_pre_aggregated_upper_lower.vg.json index 7ee0833181..93bbecae38 100644 --- a/examples/compiled/layer_point_errorbar_pre_aggregated_upper_lower.vg.json +++ b/examples/compiled/layer_point_errorbar_pre_aggregated_upper_lower.vg.json @@ -80,10 +80,10 @@ "ariaRoleDescription": {"value": "errorbar"}, "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"lower_yield\": format(datum[\"upper_upper_yield\"], \"\"), \"upper_yield\": format(datum[\"lower_upper_yield\"], \"\"), \"variety\": isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]}" + "signal": "{\"lower_yield\": !isValid(datum[\"upper_upper_yield\"]) || !isFinite(+datum[\"upper_upper_yield\"]) ? \"\" + datum[\"upper_upper_yield\"] : format(datum[\"upper_upper_yield\"], \"\"), \"upper_yield\": !isValid(datum[\"lower_upper_yield\"]) || !isFinite(+datum[\"lower_upper_yield\"]) ? \"\" + datum[\"lower_upper_yield\"] : format(datum[\"lower_upper_yield\"], \"\"), \"variety\": \"\" + datum[\"variety\"]}" }, "description": { - "signal": "\"yield: \" + (format(datum[\"lower_upper_yield\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]) + \"; upper_upper_yield: \" + (format(datum[\"upper_upper_yield\"], \"\")) + \"; lower_yield: \" + (format(datum[\"upper_upper_yield\"], \"\")) + \"; upper_yield: \" + (format(datum[\"lower_upper_yield\"], \"\"))" + "signal": "\"yield: \" + (!isValid(datum[\"lower_upper_yield\"]) || !isFinite(+datum[\"lower_upper_yield\"]) ? \"\" + datum[\"lower_upper_yield\"] : format(datum[\"lower_upper_yield\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"]) + \"; upper_upper_yield: \" + (!isValid(datum[\"upper_upper_yield\"]) || !isFinite(+datum[\"upper_upper_yield\"]) ? \"\" + datum[\"upper_upper_yield\"] : format(datum[\"upper_upper_yield\"], \"\")) + \"; lower_yield: \" + (!isValid(datum[\"upper_upper_yield\"]) || !isFinite(+datum[\"upper_upper_yield\"]) ? \"\" + datum[\"upper_upper_yield\"] : format(datum[\"upper_upper_yield\"], \"\")) + \"; upper_yield: \" + (!isValid(datum[\"lower_upper_yield\"]) || !isFinite(+datum[\"lower_upper_yield\"]) ? \"\" + datum[\"lower_upper_yield\"] : format(datum[\"lower_upper_yield\"], \"\"))" }, "x": {"scale": "x", "field": "lower_upper_yield"}, "x2": {"scale": "x", "field": "upper_upper_yield"}, @@ -102,7 +102,7 @@ "fill": {"value": "black"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"center: \" + (format(datum[\"center\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"])" + "signal": "\"center: \" + (!isValid(datum[\"center\"]) || !isFinite(+datum[\"center\"]) ? \"\" + datum[\"center\"] : format(datum[\"center\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"])" }, "x": {"scale": "x", "field": "center"}, "y": {"scale": "y", "field": "variety", "band": 0.5} diff --git a/examples/compiled/layer_point_errorbar_stdev.vg.json b/examples/compiled/layer_point_errorbar_stdev.vg.json index a94650dfa7..fb1b56b7a1 100644 --- a/examples/compiled/layer_point_errorbar_stdev.vg.json +++ b/examples/compiled/layer_point_errorbar_stdev.vg.json @@ -65,7 +65,7 @@ "fill": {"value": "black"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Barley Yield: \" + (format(datum[\"mean_yield\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"])" + "signal": "\"Barley Yield: \" + (!isValid(datum[\"mean_yield\"]) || !isFinite(+datum[\"mean_yield\"]) ? \"\" + datum[\"mean_yield\"] : format(datum[\"mean_yield\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"])" }, "x": {"scale": "x", "field": "mean_yield"}, "y": {"scale": "y", "field": "variety", "band": 0.5} @@ -82,10 +82,10 @@ "ariaRoleDescription": {"value": "errorbar"}, "stroke": {"value": "black"}, "tooltip": { - "signal": "{\"Mean of Barley Yield\": format(datum[\"center_yield\"], \"\"), \"Mean + stdev of Barley Yield\": format(datum[\"upper_yield\"], \"\"), \"Mean - stdev of Barley Yield\": format(datum[\"lower_yield\"], \"\"), \"variety\": isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]}" + "signal": "{\"Mean of Barley Yield\": !isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\"), \"Mean + stdev of Barley Yield\": !isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\"), \"Mean - stdev of Barley Yield\": !isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\"), \"variety\": \"\" + datum[\"variety\"]}" }, "description": { - "signal": "\"Barley Yield: \" + (format(datum[\"lower_yield\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]) + \"; upper_yield: \" + (format(datum[\"upper_yield\"], \"\")) + \"; Mean of Barley Yield: \" + (format(datum[\"center_yield\"], \"\")) + \"; Mean + stdev of Barley Yield: \" + (format(datum[\"upper_yield\"], \"\")) + \"; Mean - stdev of Barley Yield: \" + (format(datum[\"lower_yield\"], \"\"))" + "signal": "\"Barley Yield: \" + (!isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"]) + \"; upper_yield: \" + (!isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\")) + \"; Mean of Barley Yield: \" + (!isValid(datum[\"center_yield\"]) || !isFinite(+datum[\"center_yield\"]) ? \"\" + datum[\"center_yield\"] : format(datum[\"center_yield\"], \"\")) + \"; Mean + stdev of Barley Yield: \" + (!isValid(datum[\"upper_yield\"]) || !isFinite(+datum[\"upper_yield\"]) ? \"\" + datum[\"upper_yield\"] : format(datum[\"upper_yield\"], \"\")) + \"; Mean - stdev of Barley Yield: \" + (!isValid(datum[\"lower_yield\"]) || !isFinite(+datum[\"lower_yield\"]) ? \"\" + datum[\"lower_yield\"] : format(datum[\"lower_yield\"], \"\"))" }, "x": {"scale": "x", "field": "lower_yield"}, "x2": {"scale": "x", "field": "upper_yield"}, diff --git a/examples/compiled/layer_point_line_loess.vg.json b/examples/compiled/layer_point_line_loess.vg.json index df7e23bf0c..e5edb34679 100644 --- a/examples/compiled/layer_point_line_loess.vg.json +++ b/examples/compiled/layer_point_line_loess.vg.json @@ -42,7 +42,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Rotten Tomatoes Rating: \" + (format(datum[\"Rotten Tomatoes Rating\"], \"\")) + \"; IMDB Rating: \" + (format(datum[\"IMDB Rating\"], \"\"))" + "signal": "\"Rotten Tomatoes Rating: \" + (!isValid(datum[\"Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"Rotten Tomatoes Rating\"]) ? \"\" + datum[\"Rotten Tomatoes Rating\"] : format(datum[\"Rotten Tomatoes Rating\"], \"\")) + \"; IMDB Rating: \" + (!isValid(datum[\"IMDB Rating\"]) || !isFinite(+datum[\"IMDB Rating\"]) ? \"\" + datum[\"IMDB Rating\"] : format(datum[\"IMDB Rating\"], \"\"))" }, "x": {"scale": "x", "field": "Rotten Tomatoes Rating"}, "y": {"scale": "y", "field": "IMDB Rating"} @@ -59,7 +59,7 @@ "update": { "stroke": {"value": "firebrick"}, "description": { - "signal": "\"Rotten Tomatoes Rating: \" + (format(datum[\"Rotten Tomatoes Rating\"], \"\")) + \"; IMDB Rating: \" + (format(datum[\"IMDB Rating\"], \"\"))" + "signal": "\"Rotten Tomatoes Rating: \" + (!isValid(datum[\"Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"Rotten Tomatoes Rating\"]) ? \"\" + datum[\"Rotten Tomatoes Rating\"] : format(datum[\"Rotten Tomatoes Rating\"], \"\")) + \"; IMDB Rating: \" + (!isValid(datum[\"IMDB Rating\"]) || !isFinite(+datum[\"IMDB Rating\"]) ? \"\" + datum[\"IMDB Rating\"] : format(datum[\"IMDB Rating\"], \"\"))" }, "x": {"scale": "x", "field": "Rotten Tomatoes Rating"}, "y": {"scale": "y", "field": "IMDB Rating"}, diff --git a/examples/compiled/layer_point_line_regression.vg.json b/examples/compiled/layer_point_line_regression.vg.json index f72a5174f7..f4d63e90af 100644 --- a/examples/compiled/layer_point_line_regression.vg.json +++ b/examples/compiled/layer_point_line_regression.vg.json @@ -60,7 +60,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Rotten Tomatoes Rating: \" + (format(datum[\"Rotten Tomatoes Rating\"], \"\")) + \"; IMDB Rating: \" + (format(datum[\"IMDB Rating\"], \"\"))" + "signal": "\"Rotten Tomatoes Rating: \" + (!isValid(datum[\"Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"Rotten Tomatoes Rating\"]) ? \"\" + datum[\"Rotten Tomatoes Rating\"] : format(datum[\"Rotten Tomatoes Rating\"], \"\")) + \"; IMDB Rating: \" + (!isValid(datum[\"IMDB Rating\"]) || !isFinite(+datum[\"IMDB Rating\"]) ? \"\" + datum[\"IMDB Rating\"] : format(datum[\"IMDB Rating\"], \"\"))" }, "x": {"scale": "x", "field": "Rotten Tomatoes Rating"}, "y": {"scale": "y", "field": "IMDB Rating"} @@ -77,7 +77,7 @@ "update": { "stroke": {"value": "firebrick"}, "description": { - "signal": "\"Rotten Tomatoes Rating: \" + (format(datum[\"Rotten Tomatoes Rating\"], \"\")) + \"; IMDB Rating: \" + (format(datum[\"IMDB Rating\"], \"\"))" + "signal": "\"Rotten Tomatoes Rating: \" + (!isValid(datum[\"Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"Rotten Tomatoes Rating\"]) ? \"\" + datum[\"Rotten Tomatoes Rating\"] : format(datum[\"Rotten Tomatoes Rating\"], \"\")) + \"; IMDB Rating: \" + (!isValid(datum[\"IMDB Rating\"]) || !isFinite(+datum[\"IMDB Rating\"]) ? \"\" + datum[\"IMDB Rating\"] : format(datum[\"IMDB Rating\"], \"\"))" }, "x": {"scale": "x", "field": "Rotten Tomatoes Rating"}, "y": {"scale": "y", "field": "IMDB Rating"}, @@ -96,14 +96,10 @@ "update": { "align": {"value": "right"}, "fill": {"value": "firebrick"}, - "description": { - "signal": "\"R2: \" + (isValid(datum[\"R2\"]) ? datum[\"R2\"] : \"\"+datum[\"R2\"])" - }, + "description": {"signal": "\"R2: \" + (\"\" + datum[\"R2\"])"}, "x": {"field": {"group": "width"}}, "y": {"value": -5}, - "text": { - "signal": "isValid(datum[\"R2\"]) ? datum[\"R2\"] : \"\"+datum[\"R2\"]" - }, + "text": {"signal": "\"\" + datum[\"R2\"]"}, "baseline": {"value": "middle"} } } diff --git a/examples/compiled/layer_precipitation_mean.vg.json b/examples/compiled/layer_precipitation_mean.vg.json index 6d2e5e4be2..7c2ed3c819 100644 --- a/examples/compiled/layer_precipitation_mean.vg.json +++ b/examples/compiled/layer_precipitation_mean.vg.json @@ -69,7 +69,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (!isValid(datum[\"mean_precipitation\"]) || !isFinite(+datum[\"mean_precipitation\"]) ? \"\" + datum[\"mean_precipitation\"] : format(datum[\"mean_precipitation\"], \"\"))" }, "x": {"scale": "x", "field": "month_date"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, @@ -87,7 +87,7 @@ "update": { "stroke": {"value": "red"}, "description": { - "signal": "\"Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))" + "signal": "\"Mean of precipitation: \" + (!isValid(datum[\"mean_precipitation\"]) || !isFinite(+datum[\"mean_precipitation\"]) ? \"\" + datum[\"mean_precipitation\"] : format(datum[\"mean_precipitation\"], \"\"))" }, "x": {"field": {"group": "width"}}, "x2": {"value": 0}, diff --git a/examples/compiled/layer_ranged_dot.vg.json b/examples/compiled/layer_ranged_dot.vg.json index 8f92d2cf7f..d44e843eb5 100644 --- a/examples/compiled/layer_ranged_dot.vg.json +++ b/examples/compiled/layer_ranged_dot.vg.json @@ -70,7 +70,7 @@ "update": { "stroke": {"value": "#db646f"}, "description": { - "signal": "\"Life Expectancy (years): \" + (format(datum[\"life_expect\"], \"\")) + \"; Country: \" + (isValid(datum[\"country\"]) ? datum[\"country\"] : \"\"+datum[\"country\"]) + \"; country: \" + (isValid(datum[\"country\"]) ? datum[\"country\"] : \"\"+datum[\"country\"])" + "signal": "\"Life Expectancy (years): \" + (!isValid(datum[\"life_expect\"]) || !isFinite(+datum[\"life_expect\"]) ? \"\" + datum[\"life_expect\"] : format(datum[\"life_expect\"], \"\")) + \"; Country: \" + (\"\" + datum[\"country\"]) + \"; country: \" + (\"\" + datum[\"country\"])" }, "x": {"scale": "x", "field": "life_expect"}, "y": {"scale": "y", "field": "country"}, @@ -93,7 +93,7 @@ "fill": {"scale": "color", "field": "year"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Life Expectancy (years): \" + (format(datum[\"life_expect\"], \"\")) + \"; Country: \" + (isValid(datum[\"country\"]) ? datum[\"country\"] : \"\"+datum[\"country\"]) + \"; Year: \" + (isValid(datum[\"year\"]) ? datum[\"year\"] : \"\"+datum[\"year\"])" + "signal": "\"Life Expectancy (years): \" + (!isValid(datum[\"life_expect\"]) || !isFinite(+datum[\"life_expect\"]) ? \"\" + datum[\"life_expect\"] : format(datum[\"life_expect\"], \"\")) + \"; Country: \" + (\"\" + datum[\"country\"]) + \"; Year: \" + (\"\" + datum[\"year\"])" }, "x": {"scale": "x", "field": "life_expect"}, "y": {"scale": "y", "field": "country"}, diff --git a/examples/compiled/layer_rect_extent.vg.json b/examples/compiled/layer_rect_extent.vg.json index c39f0deb41..a0e83e69e6 100644 --- a/examples/compiled/layer_rect_extent.vg.json +++ b/examples/compiled/layer_rect_extent.vg.json @@ -69,7 +69,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles per Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles per Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} @@ -85,7 +85,7 @@ "update": { "stroke": {"value": "black"}, "description": { - "signal": "\"Min of Miles_per_Gallon: \" + (format(datum[\"min_Miles_per_Gallon\"], \"\"))" + "signal": "\"Min of Miles_per_Gallon: \" + (!isValid(datum[\"min_Miles_per_Gallon\"]) || !isFinite(+datum[\"min_Miles_per_Gallon\"]) ? \"\" + datum[\"min_Miles_per_Gallon\"] : format(datum[\"min_Miles_per_Gallon\"], \"\"))" }, "x": {"field": {"group": "width"}}, "x2": {"value": 0}, @@ -102,7 +102,7 @@ "update": { "stroke": {"value": "black"}, "description": { - "signal": "\"Max of Miles_per_Gallon: \" + (format(datum[\"max_Miles_per_Gallon\"], \"\"))" + "signal": "\"Max of Miles_per_Gallon: \" + (!isValid(datum[\"max_Miles_per_Gallon\"]) || !isFinite(+datum[\"max_Miles_per_Gallon\"]) ? \"\" + datum[\"max_Miles_per_Gallon\"] : format(datum[\"max_Miles_per_Gallon\"], \"\"))" }, "x": {"field": {"group": "width"}}, "x2": {"value": 0}, @@ -120,7 +120,7 @@ "fill": {"value": "#4c78a8"}, "opacity": {"value": 0.2}, "description": { - "signal": "\"Max of Miles_per_Gallon: \" + (format(datum[\"max_Miles_per_Gallon\"], \"\")) + \"; Min of Miles_per_Gallon: \" + (format(datum[\"min_Miles_per_Gallon\"], \"\"))" + "signal": "\"Max of Miles_per_Gallon: \" + (!isValid(datum[\"max_Miles_per_Gallon\"]) || !isFinite(+datum[\"max_Miles_per_Gallon\"]) ? \"\" + datum[\"max_Miles_per_Gallon\"] : format(datum[\"max_Miles_per_Gallon\"], \"\")) + \"; Min of Miles_per_Gallon: \" + (!isValid(datum[\"min_Miles_per_Gallon\"]) || !isFinite(+datum[\"min_Miles_per_Gallon\"]) ? \"\" + datum[\"min_Miles_per_Gallon\"] : format(datum[\"min_Miles_per_Gallon\"], \"\"))" }, "x": {"field": {"group": "width"}}, "x2": {"value": 0}, diff --git a/examples/compiled/layer_scatter_errorband_1D_stdev_global_mean.vg.json b/examples/compiled/layer_scatter_errorband_1D_stdev_global_mean.vg.json index bc686f03d5..95aaee3509 100644 --- a/examples/compiled/layer_scatter_errorband_1D_stdev_global_mean.vg.json +++ b/examples/compiled/layer_scatter_errorband_1D_stdev_global_mean.vg.json @@ -83,7 +83,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} @@ -100,10 +100,10 @@ "opacity": {"value": 0.2}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"Mean of Miles per Gallon\": format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Mean + stdev of Miles per Gallon\": format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Mean - stdev of Miles per Gallon\": format(datum[\"lower_Miles_per_Gallon\"], \"\")}" + "signal": "{\"Mean of Miles per Gallon\": !isValid(datum[\"center_Miles_per_Gallon\"]) || !isFinite(+datum[\"center_Miles_per_Gallon\"]) ? \"\" + datum[\"center_Miles_per_Gallon\"] : format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Mean + stdev of Miles per Gallon\": !isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Mean - stdev of Miles per Gallon\": !isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\")}" }, "description": { - "signal": "\"Miles per Gallon: \" + (format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; upper_Miles_per_Gallon: \" + (format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Mean of Miles per Gallon: \" + (format(datum[\"center_Miles_per_Gallon\"], \"\")) + \"; Mean + stdev of Miles per Gallon: \" + (format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Mean - stdev of Miles per Gallon: \" + (format(datum[\"lower_Miles_per_Gallon\"], \"\"))" + "signal": "\"Miles per Gallon: \" + (!isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; upper_Miles_per_Gallon: \" + (!isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Mean of Miles per Gallon: \" + (!isValid(datum[\"center_Miles_per_Gallon\"]) || !isFinite(+datum[\"center_Miles_per_Gallon\"]) ? \"\" + datum[\"center_Miles_per_Gallon\"] : format(datum[\"center_Miles_per_Gallon\"], \"\")) + \"; Mean + stdev of Miles per Gallon: \" + (!isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Mean - stdev of Miles per Gallon: \" + (!isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\"))" }, "x": {"field": {"group": "width"}}, "x2": {"value": 0}, @@ -121,7 +121,7 @@ "update": { "stroke": {"value": "black"}, "description": { - "signal": "\"Mean of Miles_per_Gallon: \" + (format(datum[\"mean_Miles_per_Gallon\"], \"\"))" + "signal": "\"Mean of Miles_per_Gallon: \" + (!isValid(datum[\"mean_Miles_per_Gallon\"]) || !isFinite(+datum[\"mean_Miles_per_Gallon\"]) ? \"\" + datum[\"mean_Miles_per_Gallon\"] : format(datum[\"mean_Miles_per_Gallon\"], \"\"))" }, "x": {"field": {"group": "width"}}, "x2": {"value": 0}, diff --git a/examples/compiled/layer_scatter_errorband_1d_stdev.vg.json b/examples/compiled/layer_scatter_errorband_1d_stdev.vg.json index e19f0d8252..5a75c8cc5c 100644 --- a/examples/compiled/layer_scatter_errorband_1d_stdev.vg.json +++ b/examples/compiled/layer_scatter_errorband_1d_stdev.vg.json @@ -58,7 +58,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} @@ -75,10 +75,10 @@ "opacity": {"value": 0.3}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"Mean of Miles per Gallon\": format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Mean + stdev of Miles per Gallon\": format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Mean - stdev of Miles per Gallon\": format(datum[\"lower_Miles_per_Gallon\"], \"\")}" + "signal": "{\"Mean of Miles per Gallon\": !isValid(datum[\"center_Miles_per_Gallon\"]) || !isFinite(+datum[\"center_Miles_per_Gallon\"]) ? \"\" + datum[\"center_Miles_per_Gallon\"] : format(datum[\"center_Miles_per_Gallon\"], \"\"), \"Mean + stdev of Miles per Gallon\": !isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\"), \"Mean - stdev of Miles per Gallon\": !isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\")}" }, "description": { - "signal": "\"Miles per Gallon: \" + (format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; upper_Miles_per_Gallon: \" + (format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Mean of Miles per Gallon: \" + (format(datum[\"center_Miles_per_Gallon\"], \"\")) + \"; Mean + stdev of Miles per Gallon: \" + (format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Mean - stdev of Miles per Gallon: \" + (format(datum[\"lower_Miles_per_Gallon\"], \"\"))" + "signal": "\"Miles per Gallon: \" + (!isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\")) + \"; upper_Miles_per_Gallon: \" + (!isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Mean of Miles per Gallon: \" + (!isValid(datum[\"center_Miles_per_Gallon\"]) || !isFinite(+datum[\"center_Miles_per_Gallon\"]) ? \"\" + datum[\"center_Miles_per_Gallon\"] : format(datum[\"center_Miles_per_Gallon\"], \"\")) + \"; Mean + stdev of Miles per Gallon: \" + (!isValid(datum[\"upper_Miles_per_Gallon\"]) || !isFinite(+datum[\"upper_Miles_per_Gallon\"]) ? \"\" + datum[\"upper_Miles_per_Gallon\"] : format(datum[\"upper_Miles_per_Gallon\"], \"\")) + \"; Mean - stdev of Miles per Gallon: \" + (!isValid(datum[\"lower_Miles_per_Gallon\"]) || !isFinite(+datum[\"lower_Miles_per_Gallon\"]) ? \"\" + datum[\"lower_Miles_per_Gallon\"] : format(datum[\"lower_Miles_per_Gallon\"], \"\"))" }, "x": {"field": {"group": "width"}}, "x2": {"value": 0}, diff --git a/examples/compiled/layer_single_color.vg.json b/examples/compiled/layer_single_color.vg.json index 7c881ef0c2..720f863172 100644 --- a/examples/compiled/layer_single_color.vg.json +++ b/examples/compiled/layer_single_color.vg.json @@ -40,7 +40,7 @@ "update": { "stroke": {"scale": "color", "field": "symbol"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, diff --git a/examples/compiled/layer_text_heatmap.vg.json b/examples/compiled/layer_text_heatmap.vg.json index 4f005e6d2d..2d26070ca4 100644 --- a/examples/compiled/layer_text_heatmap.vg.json +++ b/examples/compiled/layer_text_heatmap.vg.json @@ -45,7 +45,7 @@ "update": { "fill": {"scale": "color", "field": "num_cars"}, "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"num_cars\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Count of Records: \" + (!isValid(datum[\"num_cars\"]) || !isFinite(+datum[\"num_cars\"]) ? \"\" + datum[\"num_cars\"] : format(datum[\"num_cars\"], \"\"))" }, "x": {"scale": "x", "field": "Cylinders"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, @@ -66,11 +66,13 @@ {"value": "white"} ], "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; num_cars: \" + (format(datum[\"num_cars\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; num_cars: \" + (!isValid(datum[\"num_cars\"]) || !isFinite(+datum[\"num_cars\"]) ? \"\" + datum[\"num_cars\"] : format(datum[\"num_cars\"], \"\"))" }, "x": {"scale": "x", "field": "Cylinders", "band": 0.5}, "y": {"scale": "y", "field": "Origin", "band": 0.5}, - "text": {"signal": "format(datum[\"num_cars\"], \"\")"}, + "text": { + "signal": "!isValid(datum[\"num_cars\"]) || !isFinite(+datum[\"num_cars\"]) ? \"\" + datum[\"num_cars\"] : format(datum[\"num_cars\"], \"\")" + }, "align": {"value": "center"}, "baseline": {"value": "middle"} } diff --git a/examples/compiled/layer_text_heatmap_joinaggregate.vg.json b/examples/compiled/layer_text_heatmap_joinaggregate.vg.json index 030416d423..553f9536bc 100644 --- a/examples/compiled/layer_text_heatmap_joinaggregate.vg.json +++ b/examples/compiled/layer_text_heatmap_joinaggregate.vg.json @@ -56,7 +56,7 @@ "update": { "fill": {"scale": "layer_0_color", "field": "num_cars"}, "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"num_cars\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Count of Records: \" + (!isValid(datum[\"num_cars\"]) || !isFinite(+datum[\"num_cars\"]) ? \"\" + datum[\"num_cars\"] : format(datum[\"num_cars\"], \"\"))" }, "x": {"scale": "x", "field": "Cylinders"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, @@ -74,11 +74,13 @@ "update": { "fill": {"scale": "layer_1_color", "field": "more_than_half"}, "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; more_than_half: \" + (isValid(datum[\"more_than_half\"]) ? datum[\"more_than_half\"] : \"\"+datum[\"more_than_half\"]) + \"; num_cars: \" + (format(datum[\"num_cars\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; more_than_half: \" + (\"\" + datum[\"more_than_half\"]) + \"; num_cars: \" + (!isValid(datum[\"num_cars\"]) || !isFinite(+datum[\"num_cars\"]) ? \"\" + datum[\"num_cars\"] : format(datum[\"num_cars\"], \"\"))" }, "x": {"scale": "x", "field": "Cylinders", "band": 0.5}, "y": {"scale": "y", "field": "Origin", "band": 0.5}, - "text": {"signal": "format(datum[\"num_cars\"], \"\")"}, + "text": { + "signal": "!isValid(datum[\"num_cars\"]) || !isFinite(+datum[\"num_cars\"]) ? \"\" + datum[\"num_cars\"] : format(datum[\"num_cars\"], \"\")" + }, "align": {"value": "center"}, "baseline": {"value": "middle"} } diff --git a/examples/compiled/layer_timeunit_rect.vg.json b/examples/compiled/layer_timeunit_rect.vg.json index 48330e6112..43e7f4651d 100644 --- a/examples/compiled/layer_timeunit_rect.vg.json +++ b/examples/compiled/layer_timeunit_rect.vg.json @@ -75,7 +75,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"month: \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))" + "signal": "\"month: \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (!isValid(datum[\"mean_precipitation\"]) || !isFinite(+datum[\"mean_precipitation\"]) ? \"\" + datum[\"mean_precipitation\"] : format(datum[\"mean_precipitation\"], \"\"))" }, "x2": { "scale": "x", @@ -106,7 +106,7 @@ "opacity": {"value": 0.5}, "fill": {"value": "grey"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; date_end (month): \" + (timeFormat(datum[\"month_date_end\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; date_end (month): \" + (!isValid(datum[\"month_date_end\"]) || !isFinite(+datum[\"month_date_end\"]) ? \"\" + datum[\"month_date_end\"] : timeFormat(datum[\"month_date_end\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" }, "x": {"scale": "x", "field": "month_date"}, "x2": {"scale": "x", "field": "month_date_end"}, diff --git a/examples/compiled/line.vg.json b/examples/compiled/line.vg.json index 77f85ccfb7..0c27a82776 100644 --- a/examples/compiled/line.vg.json +++ b/examples/compiled/line.vg.json @@ -25,7 +25,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, diff --git a/examples/compiled/line_bump.vg.json b/examples/compiled/line_bump.vg.json index d3a55459e6..da9dc33bbc 100644 --- a/examples/compiled/line_bump.vg.json +++ b/examples/compiled/line_bump.vg.json @@ -56,7 +56,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"build: \" + (format(datum[\"build\"], \"\")) + \"; result: \" + (isValid(datum[\"result\"]) ? datum[\"result\"] : \"\"+datum[\"result\"])" + "signal": "\"build: \" + (!isValid(datum[\"build\"]) || !isFinite(+datum[\"build\"]) ? \"\" + datum[\"build\"] : format(datum[\"build\"], \"\")) + \"; result: \" + (\"\" + datum[\"result\"])" }, "x": {"scale": "x", "field": "build"}, "y": {"scale": "y", "field": "result"}, @@ -78,7 +78,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"build: \" + (format(datum[\"build\"], \"\")) + \"; result: \" + (isValid(datum[\"result\"]) ? datum[\"result\"] : \"\"+datum[\"result\"])" + "signal": "\"build: \" + (!isValid(datum[\"build\"]) || !isFinite(+datum[\"build\"]) ? \"\" + datum[\"build\"] : format(datum[\"build\"], \"\")) + \"; result: \" + (\"\" + datum[\"result\"])" }, "x": {"scale": "x", "field": "build"}, "y": {"scale": "y", "field": "result"} diff --git a/examples/compiled/line_calculate.vg.json b/examples/compiled/line_calculate.vg.json index c069334ac9..279e07563b 100644 --- a/examples/compiled/line_calculate.vg.json +++ b/examples/compiled/line_calculate.vg.json @@ -43,7 +43,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of temp_range: \" + (format(datum[\"mean_temp_range\"], \"\"))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of temp_range: \" + (!isValid(datum[\"mean_temp_range\"]) || !isFinite(+datum[\"mean_temp_range\"]) ? \"\" + datum[\"mean_temp_range\"] : format(datum[\"mean_temp_range\"], \"\"))" }, "x": {"scale": "x", "field": "month_date"}, "y": {"scale": "y", "field": "mean_temp_range"}, diff --git a/examples/compiled/line_color.vg.json b/examples/compiled/line_color.vg.json index 2e26ac8418..b105a3d389 100644 --- a/examples/compiled/line_color.vg.json +++ b/examples/compiled/line_color.vg.json @@ -41,7 +41,7 @@ "update": { "stroke": {"scale": "color", "field": "symbol"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, diff --git a/examples/compiled/line_color_binned.vg.json b/examples/compiled/line_color_binned.vg.json index dece517269..b060d6fc2f 100644 --- a/examples/compiled/line_color_binned.vg.json +++ b/examples/compiled/line_color_binned.vg.json @@ -73,7 +73,7 @@ "field": "bin_maxbins_6_Acceleration" }, "description": { - "signal": "\"Year: \" + (timeFormat(datum[\"Year\"], '%b %d, %Y')) + \"; Mean of Horsepower: \" + (format(datum[\"mean_Horsepower\"], \"\")) + \"; Acceleration (binned): \" + (!isValid(datum[\"bin_maxbins_6_Acceleration\"]) || !isFinite(+datum[\"bin_maxbins_6_Acceleration\"]) ? \"null\" : format(datum[\"bin_maxbins_6_Acceleration\"], \"\") + \" – \" + format(datum[\"bin_maxbins_6_Acceleration_end\"], \"\"))" + "signal": "\"Year: \" + (!isValid(datum[\"Year\"]) || !isFinite(+datum[\"Year\"]) ? \"\" + datum[\"Year\"] : timeFormat(datum[\"Year\"], '%b %d, %Y')) + \"; Mean of Horsepower: \" + (!isValid(datum[\"mean_Horsepower\"]) || !isFinite(+datum[\"mean_Horsepower\"]) ? \"\" + datum[\"mean_Horsepower\"] : format(datum[\"mean_Horsepower\"], \"\")) + \"; Acceleration (binned): \" + (!isValid(datum[\"bin_maxbins_6_Acceleration\"]) || !isFinite(+datum[\"bin_maxbins_6_Acceleration\"]) ? \"\" + datum[\"bin_maxbins_6_Acceleration\"] : format(datum[\"bin_maxbins_6_Acceleration\"], \"\") + \" – \" + format(datum[\"bin_maxbins_6_Acceleration_end\"], \"\"))" }, "x": {"scale": "x", "field": "Year"}, "y": {"scale": "y", "field": "mean_Horsepower"}, diff --git a/examples/compiled/line_color_halo.svg b/examples/compiled/line_color_halo.svg index f08442b38c..d92a2bfbf7 100644 --- a/examples/compiled/line_color_halo.svg +++ b/examples/compiled/line_color_halo.svg @@ -1 +1 @@ -200020022004200620082010date0200400600800priceAAPLAMZNGOOGIBMMSFT \ No newline at end of file +200020022004200620082010date0200400600800priceAAPLAMZNGOOGIBMMSFT \ No newline at end of file diff --git a/examples/compiled/line_color_halo.vg.json b/examples/compiled/line_color_halo.vg.json index b7509154b1..91fef15575 100644 --- a/examples/compiled/line_color_halo.vg.json +++ b/examples/compiled/line_color_halo.vg.json @@ -34,7 +34,7 @@ "stroke": {"value": "white"}, "strokeWidth": {"value": 4}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"AAPL\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"AAPL\"]) || !isFinite(+datum[\"AAPL\"]) ? \"\" + datum[\"AAPL\"] : format(datum[\"AAPL\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "AAPL"}, @@ -54,7 +54,7 @@ "update": { "stroke": {"scale": "stroke", "value": "AAPL"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"AAPL\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"AAPL\"]) || !isFinite(+datum[\"AAPL\"]) ? \"\" + datum[\"AAPL\"] : format(datum[\"AAPL\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "AAPL"}, @@ -75,7 +75,7 @@ "stroke": {"value": "white"}, "strokeWidth": {"value": 4}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"AMZN\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"AMZN\"]) || !isFinite(+datum[\"AMZN\"]) ? \"\" + datum[\"AMZN\"] : format(datum[\"AMZN\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "AMZN"}, @@ -95,7 +95,7 @@ "update": { "stroke": {"scale": "stroke", "value": "AMZN"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"AMZN\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"AMZN\"]) || !isFinite(+datum[\"AMZN\"]) ? \"\" + datum[\"AMZN\"] : format(datum[\"AMZN\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "AMZN"}, @@ -116,7 +116,7 @@ "stroke": {"value": "white"}, "strokeWidth": {"value": 4}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"GOOG\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"GOOG\"]) || !isFinite(+datum[\"GOOG\"]) ? \"\" + datum[\"GOOG\"] : format(datum[\"GOOG\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "GOOG"}, @@ -136,7 +136,7 @@ "update": { "stroke": {"scale": "stroke", "value": "GOOG"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"GOOG\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"GOOG\"]) || !isFinite(+datum[\"GOOG\"]) ? \"\" + datum[\"GOOG\"] : format(datum[\"GOOG\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "GOOG"}, @@ -157,7 +157,7 @@ "stroke": {"value": "white"}, "strokeWidth": {"value": 4}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"IBM\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"IBM\"]) || !isFinite(+datum[\"IBM\"]) ? \"\" + datum[\"IBM\"] : format(datum[\"IBM\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "IBM"}, @@ -177,7 +177,7 @@ "update": { "stroke": {"scale": "stroke", "value": "IBM"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"IBM\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"IBM\"]) || !isFinite(+datum[\"IBM\"]) ? \"\" + datum[\"IBM\"] : format(datum[\"IBM\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "IBM"}, @@ -198,7 +198,7 @@ "stroke": {"value": "white"}, "strokeWidth": {"value": 4}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"MSFT\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"MSFT\"]) || !isFinite(+datum[\"MSFT\"]) ? \"\" + datum[\"MSFT\"] : format(datum[\"MSFT\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "MSFT"}, @@ -218,7 +218,7 @@ "update": { "stroke": {"scale": "stroke", "value": "MSFT"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"MSFT\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"MSFT\"]) || !isFinite(+datum[\"MSFT\"]) ? \"\" + datum[\"MSFT\"] : format(datum[\"MSFT\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "MSFT"}, diff --git a/examples/compiled/line_color_label.vg.json b/examples/compiled/line_color_label.vg.json index c2be6122c2..ace89dd8d9 100644 --- a/examples/compiled/line_color_label.vg.json +++ b/examples/compiled/line_color_label.vg.json @@ -59,7 +59,7 @@ "update": { "stroke": {"scale": "color", "field": "symbol"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, @@ -81,7 +81,7 @@ "fill": {"scale": "color", "field": "symbol"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Max of date: \" + (timeFormat(datum[\"max_date\"], '%b %d, %Y')) + \"; price for max date: \" + (format(datum[\"argmax_date\"][\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"Max of date: \" + (!isValid(datum[\"max_date\"]) || !isFinite(+datum[\"max_date\"]) ? \"\" + datum[\"max_date\"] : timeFormat(datum[\"max_date\"], '%b %d, %Y')) + \"; price for max date: \" + (!isValid(datum[\"argmax_date\"][\"price\"]) || !isFinite(+datum[\"argmax_date\"][\"price\"]) ? \"\" + datum[\"argmax_date\"][\"price\"] : format(datum[\"argmax_date\"][\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "max_date"}, "y": {"scale": "y", "field": "argmax_date[\"price\"]"}, @@ -100,13 +100,11 @@ "dx": {"value": 4}, "fill": {"scale": "color", "field": "symbol"}, "description": { - "signal": "\"Max of date: \" + (timeFormat(datum[\"max_date\"], '%b %d, %Y')) + \"; price for max date: \" + (format(datum[\"argmax_date\"][\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"Max of date: \" + (!isValid(datum[\"max_date\"]) || !isFinite(+datum[\"max_date\"]) ? \"\" + datum[\"max_date\"] : timeFormat(datum[\"max_date\"], '%b %d, %Y')) + \"; price for max date: \" + (!isValid(datum[\"argmax_date\"][\"price\"]) || !isFinite(+datum[\"argmax_date\"][\"price\"]) ? \"\" + datum[\"argmax_date\"][\"price\"] : format(datum[\"argmax_date\"][\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "max_date"}, "y": {"scale": "y", "field": "argmax_date[\"price\"]"}, - "text": { - "signal": "isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"]" - }, + "text": {"signal": "\"\" + datum[\"symbol\"]"}, "baseline": {"value": "middle"} } } diff --git a/examples/compiled/line_concat_facet.vg.json b/examples/compiled/line_concat_facet.vg.json index b49bc9058e..2cdd2f6628 100644 --- a/examples/compiled/line_concat_facet.vg.json +++ b/examples/compiled/line_concat_facet.vg.json @@ -87,7 +87,7 @@ "sort": {"field": "datum[\"year_date\"]", "order": "ascending"}, "title": { "text": { - "signal": "timeFormat(parent[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))" + "signal": "!isValid(parent[\"year_date\"]) || !isFinite(+parent[\"year_date\"]) ? \"\" + parent[\"year_date\"] : timeFormat(parent[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))" }, "orient": "left", "style": "guide-label", @@ -158,7 +158,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (!isValid(datum[\"mean_precipitation\"]) || !isFinite(+datum[\"mean_precipitation\"]) ? \"\" + datum[\"mean_precipitation\"] : format(datum[\"mean_precipitation\"], \"\"))" }, "x": {"scale": "concat_0_x", "field": "month_date"}, "y": {"scale": "concat_0_y", "field": "mean_precipitation"}, @@ -209,7 +209,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (!isValid(datum[\"mean_precipitation\"]) || !isFinite(+datum[\"mean_precipitation\"]) ? \"\" + datum[\"mean_precipitation\"] : format(datum[\"mean_precipitation\"], \"\"))" }, "x": {"scale": "concat_1_x", "field": "month_date"}, "y": {"scale": "concat_1_y", "field": "mean_precipitation"}, diff --git a/examples/compiled/line_conditional_axis.vg.json b/examples/compiled/line_conditional_axis.vg.json index 6c05b7f055..2a7c219970 100644 --- a/examples/compiled/line_conditional_axis.vg.json +++ b/examples/compiled/line_conditional_axis.vg.json @@ -31,7 +31,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, diff --git a/examples/compiled/line_conditional_axis_config.vg.json b/examples/compiled/line_conditional_axis_config.vg.json index bd056a50f1..8fb8d886fe 100644 --- a/examples/compiled/line_conditional_axis_config.vg.json +++ b/examples/compiled/line_conditional_axis_config.vg.json @@ -31,7 +31,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, diff --git a/examples/compiled/line_dashed_part.vg.json b/examples/compiled/line_dashed_part.vg.json index 350663b7c1..0150494f82 100644 --- a/examples/compiled/line_dashed_part.vg.json +++ b/examples/compiled/line_dashed_part.vg.json @@ -55,7 +55,7 @@ "stroke": {"value": "#4c78a8"}, "strokeDash": {"scale": "strokeDash", "field": "predicted"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; predicted: \" + (isValid(datum[\"predicted\"]) ? datum[\"predicted\"] : \"\"+datum[\"predicted\"])" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; predicted: \" + (\"\" + datum[\"predicted\"])" }, "x": {"scale": "x", "field": "a"}, "y": {"scale": "y", "field": "b"}, diff --git a/examples/compiled/line_detail.vg.json b/examples/compiled/line_detail.vg.json index 0276288e37..d808c12d46 100644 --- a/examples/compiled/line_detail.vg.json +++ b/examples/compiled/line_detail.vg.json @@ -41,7 +41,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, diff --git a/examples/compiled/line_domainminmax.vg.json b/examples/compiled/line_domainminmax.vg.json index aac2b6b0fb..ea1e7a58cc 100644 --- a/examples/compiled/line_domainminmax.vg.json +++ b/examples/compiled/line_domainminmax.vg.json @@ -25,7 +25,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, diff --git a/examples/compiled/line_encoding_impute_keyvals.vg.json b/examples/compiled/line_encoding_impute_keyvals.vg.json index 293921bc4f..c3cdda4dc0 100644 --- a/examples/compiled/line_encoding_impute_keyvals.vg.json +++ b/examples/compiled/line_encoding_impute_keyvals.vg.json @@ -63,7 +63,7 @@ "update": { "stroke": {"scale": "color", "field": "c"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (isValid(datum[\"c\"]) ? datum[\"c\"] : \"\"+datum[\"c\"])" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (\"\" + datum[\"c\"])" }, "x": {"scale": "x", "field": "a"}, "y": {"scale": "y", "field": "b"}, diff --git a/examples/compiled/line_encoding_impute_keyvals_sequence.vg.json b/examples/compiled/line_encoding_impute_keyvals_sequence.vg.json index 75e21802f8..668f4013dd 100644 --- a/examples/compiled/line_encoding_impute_keyvals_sequence.vg.json +++ b/examples/compiled/line_encoding_impute_keyvals_sequence.vg.json @@ -63,7 +63,7 @@ "update": { "stroke": {"scale": "color", "field": "c"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (isValid(datum[\"c\"]) ? datum[\"c\"] : \"\"+datum[\"c\"])" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (\"\" + datum[\"c\"])" }, "x": {"scale": "x", "field": "a"}, "y": {"scale": "y", "field": "b"}, diff --git a/examples/compiled/line_impute_frame.vg.json b/examples/compiled/line_impute_frame.vg.json index f59fd4baa3..bb2f308051 100644 --- a/examples/compiled/line_impute_frame.vg.json +++ b/examples/compiled/line_impute_frame.vg.json @@ -76,7 +76,7 @@ "update": { "stroke": {"scale": "color", "field": "c"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (isValid(datum[\"c\"]) ? datum[\"c\"] : \"\"+datum[\"c\"])" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (\"\" + datum[\"c\"])" }, "x": {"scale": "x", "field": "a"}, "y": {"scale": "y", "field": "b"}, diff --git a/examples/compiled/line_impute_keyvals.vg.json b/examples/compiled/line_impute_keyvals.vg.json index 293921bc4f..c3cdda4dc0 100644 --- a/examples/compiled/line_impute_keyvals.vg.json +++ b/examples/compiled/line_impute_keyvals.vg.json @@ -63,7 +63,7 @@ "update": { "stroke": {"scale": "color", "field": "c"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (isValid(datum[\"c\"]) ? datum[\"c\"] : \"\"+datum[\"c\"])" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (\"\" + datum[\"c\"])" }, "x": {"scale": "x", "field": "a"}, "y": {"scale": "y", "field": "b"}, diff --git a/examples/compiled/line_impute_method.vg.json b/examples/compiled/line_impute_method.vg.json index 997693037a..4accf19377 100644 --- a/examples/compiled/line_impute_method.vg.json +++ b/examples/compiled/line_impute_method.vg.json @@ -76,7 +76,7 @@ "update": { "stroke": {"scale": "color", "field": "c"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (isValid(datum[\"c\"]) ? datum[\"c\"] : \"\"+datum[\"c\"])" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (\"\" + datum[\"c\"])" }, "x": {"scale": "x", "field": "a"}, "y": {"scale": "y", "field": "b"}, diff --git a/examples/compiled/line_impute_transform_frame.vg.json b/examples/compiled/line_impute_transform_frame.vg.json index f59fd4baa3..bb2f308051 100644 --- a/examples/compiled/line_impute_transform_frame.vg.json +++ b/examples/compiled/line_impute_transform_frame.vg.json @@ -76,7 +76,7 @@ "update": { "stroke": {"scale": "color", "field": "c"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (isValid(datum[\"c\"]) ? datum[\"c\"] : \"\"+datum[\"c\"])" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (\"\" + datum[\"c\"])" }, "x": {"scale": "x", "field": "a"}, "y": {"scale": "y", "field": "b"}, diff --git a/examples/compiled/line_impute_transform_value.vg.json b/examples/compiled/line_impute_transform_value.vg.json index 9b3af4cdbf..3d9b11de9a 100644 --- a/examples/compiled/line_impute_transform_value.vg.json +++ b/examples/compiled/line_impute_transform_value.vg.json @@ -62,7 +62,7 @@ "update": { "stroke": {"scale": "color", "field": "c"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (isValid(datum[\"c\"]) ? datum[\"c\"] : \"\"+datum[\"c\"])" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (\"\" + datum[\"c\"])" }, "x": {"scale": "x", "field": "a"}, "y": {"scale": "y", "field": "b"}, diff --git a/examples/compiled/line_impute_value.vg.json b/examples/compiled/line_impute_value.vg.json index 9b3af4cdbf..3d9b11de9a 100644 --- a/examples/compiled/line_impute_value.vg.json +++ b/examples/compiled/line_impute_value.vg.json @@ -62,7 +62,7 @@ "update": { "stroke": {"scale": "color", "field": "c"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (isValid(datum[\"c\"]) ? datum[\"c\"] : \"\"+datum[\"c\"])" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (\"\" + datum[\"c\"])" }, "x": {"scale": "x", "field": "a"}, "y": {"scale": "y", "field": "b"}, diff --git a/examples/compiled/line_inside_domain_using_clip.vg.json b/examples/compiled/line_inside_domain_using_clip.vg.json index 73cab45975..eff25ee10a 100644 --- a/examples/compiled/line_inside_domain_using_clip.vg.json +++ b/examples/compiled/line_inside_domain_using_clip.vg.json @@ -40,7 +40,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"wavelength: \" + (format(datum[\"wavelength\"], \"\")) + \"; power: \" + (format(datum[\"power\"], \"\"))" + "signal": "\"wavelength: \" + (!isValid(datum[\"wavelength\"]) || !isFinite(+datum[\"wavelength\"]) ? \"\" + datum[\"wavelength\"] : format(datum[\"wavelength\"], \"\")) + \"; power: \" + (!isValid(datum[\"power\"]) || !isFinite(+datum[\"power\"]) ? \"\" + datum[\"power\"] : format(datum[\"power\"], \"\"))" }, "x": {"scale": "x", "field": "wavelength"}, "y": {"scale": "y", "field": "power"}, diff --git a/examples/compiled/line_inside_domain_using_transform.vg.json b/examples/compiled/line_inside_domain_using_transform.vg.json index 4a169af075..516517a6cb 100644 --- a/examples/compiled/line_inside_domain_using_transform.vg.json +++ b/examples/compiled/line_inside_domain_using_transform.vg.json @@ -40,7 +40,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"wavelength: \" + (format(datum[\"wavelength\"], \"\")) + \"; power: \" + (format(datum[\"power\"], \"\"))" + "signal": "\"wavelength: \" + (!isValid(datum[\"wavelength\"]) || !isFinite(+datum[\"wavelength\"]) ? \"\" + datum[\"wavelength\"] : format(datum[\"wavelength\"], \"\")) + \"; power: \" + (!isValid(datum[\"power\"]) || !isFinite(+datum[\"power\"]) ? \"\" + datum[\"power\"] : format(datum[\"power\"], \"\"))" }, "x": {"scale": "x", "field": "wavelength"}, "y": {"scale": "y", "field": "power"}, diff --git a/examples/compiled/line_invalid_null.svg b/examples/compiled/line_invalid_null.svg index 8fe8462a54..91d2307543 100644 --- a/examples/compiled/line_invalid_null.svg +++ b/examples/compiled/line_invalid_null.svg @@ -1 +1 @@ -0246810x010203040y \ No newline at end of file +0246810x010203040y \ No newline at end of file diff --git a/examples/compiled/line_invalid_null.vg.json b/examples/compiled/line_invalid_null.vg.json index 2f728a52c4..1fcf99510d 100644 --- a/examples/compiled/line_invalid_null.vg.json +++ b/examples/compiled/line_invalid_null.vg.json @@ -39,7 +39,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"x: \" + (format(datum[\"x\"], \"\")) + \"; y: \" + (format(datum[\"y\"], \"\"))" + "signal": "\"x: \" + (!isValid(datum[\"x\"]) || !isFinite(+datum[\"x\"]) ? \"\" + datum[\"x\"] : format(datum[\"x\"], \"\")) + \"; y: \" + (!isValid(datum[\"y\"]) || !isFinite(+datum[\"y\"]) ? \"\" + datum[\"y\"] : format(datum[\"y\"], \"\"))" }, "x": [ { diff --git a/examples/compiled/line_max_year.vg.json b/examples/compiled/line_max_year.vg.json index 9499315646..669e897f8c 100644 --- a/examples/compiled/line_max_year.vg.json +++ b/examples/compiled/line_max_year.vg.json @@ -41,7 +41,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date (year-month): \" + (timeFormat(datum[\"yearmonth_date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Max of temp_max: \" + (format(datum[\"max_temp_max\"], \"\"))" + "signal": "\"date (year-month): \" + (!isValid(datum[\"yearmonth_date\"]) || !isFinite(+datum[\"yearmonth_date\"]) ? \"\" + datum[\"yearmonth_date\"] : timeFormat(datum[\"yearmonth_date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Max of temp_max: \" + (!isValid(datum[\"max_temp_max\"]) || !isFinite(+datum[\"max_temp_max\"]) ? \"\" + datum[\"max_temp_max\"] : format(datum[\"max_temp_max\"], \"\"))" }, "x": {"scale": "x", "field": "yearmonth_date"}, "y": {"scale": "y", "field": "max_temp_max"}, diff --git a/examples/compiled/line_mean_month.vg.json b/examples/compiled/line_mean_month.vg.json index 68b8c11809..c6c45dd5f2 100644 --- a/examples/compiled/line_mean_month.vg.json +++ b/examples/compiled/line_mean_month.vg.json @@ -38,7 +38,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (!isValid(datum[\"mean_precipitation\"]) || !isFinite(+datum[\"mean_precipitation\"]) ? \"\" + datum[\"mean_precipitation\"] : format(datum[\"mean_precipitation\"], \"\"))" }, "x": {"scale": "x", "field": "month_date"}, "y": {"scale": "y", "field": "mean_precipitation"}, diff --git a/examples/compiled/line_mean_year.vg.json b/examples/compiled/line_mean_year.vg.json index 00e5abe839..4d99bdebf0 100644 --- a/examples/compiled/line_mean_year.vg.json +++ b/examples/compiled/line_mean_year.vg.json @@ -38,7 +38,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date (year): \" + (timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of temp_max: \" + (format(datum[\"mean_temp_max\"], \"\"))" + "signal": "\"date (year): \" + (!isValid(datum[\"year_date\"]) || !isFinite(+datum[\"year_date\"]) ? \"\" + datum[\"year_date\"] : timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of temp_max: \" + (!isValid(datum[\"mean_temp_max\"]) || !isFinite(+datum[\"mean_temp_max\"]) ? \"\" + datum[\"mean_temp_max\"] : format(datum[\"mean_temp_max\"], \"\"))" }, "x": {"scale": "x", "field": "year_date"}, "y": {"scale": "y", "field": "mean_temp_max"}, diff --git a/examples/compiled/line_monotone.vg.json b/examples/compiled/line_monotone.vg.json index 979a056181..97fd2d25ee 100644 --- a/examples/compiled/line_monotone.vg.json +++ b/examples/compiled/line_monotone.vg.json @@ -25,7 +25,7 @@ "interpolate": {"value": "monotone"}, "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, diff --git a/examples/compiled/line_month.vg.json b/examples/compiled/line_month.vg.json index ddec4ddc82..a5ccc45654 100644 --- a/examples/compiled/line_month.vg.json +++ b/examples/compiled/line_month.vg.json @@ -39,7 +39,7 @@ "interpolate": {"value": "monotone"}, "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of temp_max: \" + (format(datum[\"mean_temp_max\"], \"\"))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of temp_max: \" + (!isValid(datum[\"mean_temp_max\"]) || !isFinite(+datum[\"mean_temp_max\"]) ? \"\" + datum[\"mean_temp_max\"] : format(datum[\"mean_temp_max\"], \"\"))" }, "x": {"scale": "x", "field": "month_date"}, "y": {"scale": "y", "field": "mean_temp_max"}, diff --git a/examples/compiled/line_month_center_band.vg.json b/examples/compiled/line_month_center_band.vg.json index 03b1c30f23..0bdb478144 100644 --- a/examples/compiled/line_month_center_band.vg.json +++ b/examples/compiled/line_month_center_band.vg.json @@ -40,7 +40,7 @@ "interpolate": {"value": "monotone"}, "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of temp_max: \" + (format(datum[\"mean_temp_max\"], \"\"))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of temp_max: \" + (!isValid(datum[\"mean_temp_max\"]) || !isFinite(+datum[\"mean_temp_max\"]) ? \"\" + datum[\"mean_temp_max\"] : format(datum[\"mean_temp_max\"], \"\"))" }, "x": { "signal": "scale(\"x\", 0.5 * datum[\"month_date\"] + 0.5 * datum[\"month_date_end\"])" diff --git a/examples/compiled/line_month_center_band_offset.vg.json b/examples/compiled/line_month_center_band_offset.vg.json index c89e017563..830d8564bb 100644 --- a/examples/compiled/line_month_center_band_offset.vg.json +++ b/examples/compiled/line_month_center_band_offset.vg.json @@ -42,7 +42,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (!isValid(datum[\"mean_precipitation\"]) || !isFinite(+datum[\"mean_precipitation\"]) ? \"\" + datum[\"mean_precipitation\"] : format(datum[\"mean_precipitation\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/line_narrow_2year_span.vg.json b/examples/compiled/line_narrow_2year_span.vg.json index 098235082b..dd9d26fc30 100644 --- a/examples/compiled/line_narrow_2year_span.vg.json +++ b/examples/compiled/line_narrow_2year_span.vg.json @@ -45,7 +45,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date (year): \" + (timeFormat(datum[\"year_step_2_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Average of price: \" + (format(datum[\"average_price\"], \"\"))" + "signal": "\"date (year): \" + (!isValid(datum[\"year_step_2_date\"]) || !isFinite(+datum[\"year_step_2_date\"]) ? \"\" + datum[\"year_step_2_date\"] : timeFormat(datum[\"year_step_2_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Average of price: \" + (!isValid(datum[\"average_price\"]) || !isFinite(+datum[\"average_price\"]) ? \"\" + datum[\"average_price\"] : format(datum[\"average_price\"], \"\"))" }, "x": {"scale": "x", "field": "year_step_2_date"}, "y": {"scale": "y", "field": "average_price"}, diff --git a/examples/compiled/line_narrow_year_span.vg.json b/examples/compiled/line_narrow_year_span.vg.json index 1f63be521a..9c414f2bb4 100644 --- a/examples/compiled/line_narrow_year_span.vg.json +++ b/examples/compiled/line_narrow_year_span.vg.json @@ -44,7 +44,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date (year): \" + (timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Average of price: \" + (format(datum[\"average_price\"], \"\"))" + "signal": "\"date (year): \" + (!isValid(datum[\"year_date\"]) || !isFinite(+datum[\"year_date\"]) ? \"\" + datum[\"year_date\"] : timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Average of price: \" + (!isValid(datum[\"average_price\"]) || !isFinite(+datum[\"average_price\"]) ? \"\" + datum[\"average_price\"] : format(datum[\"average_price\"], \"\"))" }, "x": {"scale": "x", "field": "year_date"}, "y": {"scale": "y", "field": "average_price"}, diff --git a/examples/compiled/line_narrow_yearmonth_span.vg.json b/examples/compiled/line_narrow_yearmonth_span.vg.json index 6eb37d6108..eaadbad36d 100644 --- a/examples/compiled/line_narrow_yearmonth_span.vg.json +++ b/examples/compiled/line_narrow_yearmonth_span.vg.json @@ -57,11 +57,11 @@ "encode": { "update": { "tooltip": { - "signal": "{\"date (year-month)\": timeFormat(datum[\"yearmonth_date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})), \"Average of price\": format(datum[\"average_price\"], \"\")}" + "signal": "{\"date (year-month)\": !isValid(datum[\"yearmonth_date\"]) || !isFinite(+datum[\"yearmonth_date\"]) ? \"\" + datum[\"yearmonth_date\"] : timeFormat(datum[\"yearmonth_date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})), \"Average of price\": !isValid(datum[\"average_price\"]) || !isFinite(+datum[\"average_price\"]) ? \"\" + datum[\"average_price\"] : format(datum[\"average_price\"], \"\")}" }, "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date (year-month): \" + (timeFormat(datum[\"yearmonth_date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Average of price: \" + (format(datum[\"average_price\"], \"\"))" + "signal": "\"date (year-month): \" + (!isValid(datum[\"yearmonth_date\"]) || !isFinite(+datum[\"yearmonth_date\"]) ? \"\" + datum[\"yearmonth_date\"] : timeFormat(datum[\"yearmonth_date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Average of price: \" + (!isValid(datum[\"average_price\"]) || !isFinite(+datum[\"average_price\"]) ? \"\" + datum[\"average_price\"] : format(datum[\"average_price\"], \"\"))" }, "x": {"scale": "x", "field": "yearmonth_date"}, "y": {"scale": "y", "field": "average_price"}, @@ -80,12 +80,12 @@ "update": { "opacity": {"value": 1}, "tooltip": { - "signal": "{\"date (year-month)\": timeFormat(datum[\"yearmonth_date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})), \"Average of price\": format(datum[\"average_price\"], \"\")}" + "signal": "{\"date (year-month)\": !isValid(datum[\"yearmonth_date\"]) || !isFinite(+datum[\"yearmonth_date\"]) ? \"\" + datum[\"yearmonth_date\"] : timeFormat(datum[\"yearmonth_date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})), \"Average of price\": !isValid(datum[\"average_price\"]) || !isFinite(+datum[\"average_price\"]) ? \"\" + datum[\"average_price\"] : format(datum[\"average_price\"], \"\")}" }, "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"date (year-month): \" + (timeFormat(datum[\"yearmonth_date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Average of price: \" + (format(datum[\"average_price\"], \"\"))" + "signal": "\"date (year-month): \" + (!isValid(datum[\"yearmonth_date\"]) || !isFinite(+datum[\"yearmonth_date\"]) ? \"\" + datum[\"yearmonth_date\"] : timeFormat(datum[\"yearmonth_date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Average of price: \" + (!isValid(datum[\"average_price\"]) || !isFinite(+datum[\"average_price\"]) ? \"\" + datum[\"average_price\"] : format(datum[\"average_price\"], \"\"))" }, "x": {"scale": "x", "field": "yearmonth_date"}, "y": {"scale": "y", "field": "average_price"} diff --git a/examples/compiled/line_narrow_yearquarter_span.vg.json b/examples/compiled/line_narrow_yearquarter_span.vg.json index f1a0ab4aa9..1e673fa3de 100644 --- a/examples/compiled/line_narrow_yearquarter_span.vg.json +++ b/examples/compiled/line_narrow_yearquarter_span.vg.json @@ -44,7 +44,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date (year-quarter): \" + (timeFormat(datum[\"yearquarter_date\"], timeUnitSpecifier([\"year\",\"quarter\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Average of price: \" + (format(datum[\"average_price\"], \"\"))" + "signal": "\"date (year-quarter): \" + (!isValid(datum[\"yearquarter_date\"]) || !isFinite(+datum[\"yearquarter_date\"]) ? \"\" + datum[\"yearquarter_date\"] : timeFormat(datum[\"yearquarter_date\"], timeUnitSpecifier([\"year\",\"quarter\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Average of price: \" + (!isValid(datum[\"average_price\"]) || !isFinite(+datum[\"average_price\"]) ? \"\" + datum[\"average_price\"] : format(datum[\"average_price\"], \"\"))" }, "x": {"scale": "x", "field": "yearquarter_date"}, "y": {"scale": "y", "field": "average_price"}, diff --git a/examples/compiled/line_outside_domain.vg.json b/examples/compiled/line_outside_domain.vg.json index b11608b894..9d4c552e66 100644 --- a/examples/compiled/line_outside_domain.vg.json +++ b/examples/compiled/line_outside_domain.vg.json @@ -39,7 +39,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"wavelength: \" + (format(datum[\"wavelength\"], \"\")) + \"; power: \" + (format(datum[\"power\"], \"\"))" + "signal": "\"wavelength: \" + (!isValid(datum[\"wavelength\"]) || !isFinite(+datum[\"wavelength\"]) ? \"\" + datum[\"wavelength\"] : format(datum[\"wavelength\"], \"\")) + \"; power: \" + (!isValid(datum[\"power\"]) || !isFinite(+datum[\"power\"]) ? \"\" + datum[\"power\"] : format(datum[\"power\"], \"\"))" }, "x": {"scale": "x", "field": "wavelength"}, "y": {"scale": "y", "field": "power"}, diff --git a/examples/compiled/line_overlay.vg.json b/examples/compiled/line_overlay.vg.json index 6cf07f6de8..5e57863f3c 100644 --- a/examples/compiled/line_overlay.vg.json +++ b/examples/compiled/line_overlay.vg.json @@ -66,7 +66,7 @@ "update": { "stroke": {"scale": "color", "field": "symbol"}, "description": { - "signal": "\"date (year): \" + (timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of price: \" + (format(datum[\"mean_price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date (year): \" + (!isValid(datum[\"year_date\"]) || !isFinite(+datum[\"year_date\"]) ? \"\" + datum[\"year_date\"] : timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of price: \" + (!isValid(datum[\"mean_price\"]) || !isFinite(+datum[\"mean_price\"]) ? \"\" + datum[\"mean_price\"] : format(datum[\"mean_price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "year_date"}, "y": {"scale": "y", "field": "mean_price"}, @@ -89,7 +89,7 @@ "fill": {"scale": "color", "field": "symbol"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"date (year): \" + (timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of price: \" + (format(datum[\"mean_price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date (year): \" + (!isValid(datum[\"year_date\"]) || !isFinite(+datum[\"year_date\"]) ? \"\" + datum[\"year_date\"] : timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of price: \" + (!isValid(datum[\"mean_price\"]) || !isFinite(+datum[\"mean_price\"]) ? \"\" + datum[\"mean_price\"] : format(datum[\"mean_price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "year_date"}, "y": {"scale": "y", "field": "mean_price"} diff --git a/examples/compiled/line_overlay_stroked.vg.json b/examples/compiled/line_overlay_stroked.vg.json index 457b9fbf1e..f1a3fe161b 100644 --- a/examples/compiled/line_overlay_stroked.vg.json +++ b/examples/compiled/line_overlay_stroked.vg.json @@ -66,7 +66,7 @@ "update": { "stroke": {"scale": "color", "field": "symbol"}, "description": { - "signal": "\"date (year): \" + (timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of price: \" + (format(datum[\"mean_price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date (year): \" + (!isValid(datum[\"year_date\"]) || !isFinite(+datum[\"year_date\"]) ? \"\" + datum[\"year_date\"] : timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of price: \" + (!isValid(datum[\"mean_price\"]) || !isFinite(+datum[\"mean_price\"]) ? \"\" + datum[\"mean_price\"] : format(datum[\"mean_price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "year_date"}, "y": {"scale": "y", "field": "mean_price"}, @@ -90,7 +90,7 @@ "stroke": {"scale": "color", "field": "symbol"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"date (year): \" + (timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of price: \" + (format(datum[\"mean_price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date (year): \" + (!isValid(datum[\"year_date\"]) || !isFinite(+datum[\"year_date\"]) ? \"\" + datum[\"year_date\"] : timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of price: \" + (!isValid(datum[\"mean_price\"]) || !isFinite(+datum[\"mean_price\"]) ? \"\" + datum[\"mean_price\"] : format(datum[\"mean_price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "year_date"}, "y": {"scale": "y", "field": "mean_price"} diff --git a/examples/compiled/line_params.vg.json b/examples/compiled/line_params.vg.json index fff864cdd8..ec4264874b 100644 --- a/examples/compiled/line_params.vg.json +++ b/examples/compiled/line_params.vg.json @@ -84,7 +84,7 @@ "tension": {"signal": "tension"}, "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"u: \" + (format(datum[\"u\"], \"\")) + \"; v: \" + (format(datum[\"v\"], \"\"))" + "signal": "\"u: \" + (!isValid(datum[\"u\"]) || !isFinite(+datum[\"u\"]) ? \"\" + datum[\"u\"] : format(datum[\"u\"], \"\")) + \"; v: \" + (!isValid(datum[\"v\"]) || !isFinite(+datum[\"v\"]) ? \"\" + datum[\"v\"] : format(datum[\"v\"], \"\"))" }, "x": {"scale": "x", "field": "u"}, "y": {"scale": "y", "field": "v"}, diff --git a/examples/compiled/line_quarter_legend.vg.json b/examples/compiled/line_quarter_legend.vg.json index 32a109b83f..e766d44bd3 100644 --- a/examples/compiled/line_quarter_legend.vg.json +++ b/examples/compiled/line_quarter_legend.vg.json @@ -62,7 +62,7 @@ "update": { "stroke": {"scale": "color", "field": "quarter_date"}, "description": { - "signal": "\"date (year): \" + (timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of price: \" + (format(datum[\"mean_price\"], \"\")) + \"; date (quarter): \" + (timeFormat(datum[\"quarter_date\"], timeUnitSpecifier([\"quarter\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" + "signal": "\"date (year): \" + (!isValid(datum[\"year_date\"]) || !isFinite(+datum[\"year_date\"]) ? \"\" + datum[\"year_date\"] : timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of price: \" + (!isValid(datum[\"mean_price\"]) || !isFinite(+datum[\"mean_price\"]) ? \"\" + datum[\"mean_price\"] : format(datum[\"mean_price\"], \"\")) + \"; date (quarter): \" + (!isValid(datum[\"quarter_date\"]) || !isFinite(+datum[\"quarter_date\"]) ? \"\" + datum[\"quarter_date\"] : timeFormat(datum[\"quarter_date\"], timeUnitSpecifier([\"quarter\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" }, "x": {"scale": "x", "field": "year_date"}, "y": {"scale": "y", "field": "mean_price"}, diff --git a/examples/compiled/line_shape_overlay.vg.json b/examples/compiled/line_shape_overlay.vg.json index bd4a016275..56742fde65 100644 --- a/examples/compiled/line_shape_overlay.vg.json +++ b/examples/compiled/line_shape_overlay.vg.json @@ -35,7 +35,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, @@ -56,7 +56,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, diff --git a/examples/compiled/line_skip_invalid.vg.json b/examples/compiled/line_skip_invalid.vg.json index cdef5d73ac..a016ad1333 100644 --- a/examples/compiled/line_skip_invalid.vg.json +++ b/examples/compiled/line_skip_invalid.vg.json @@ -37,7 +37,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"x: \" + (format(datum[\"x\"], \"\")) + \"; y: \" + (format(datum[\"y\"], \"\"))" + "signal": "\"x: \" + (!isValid(datum[\"x\"]) || !isFinite(+datum[\"x\"]) ? \"\" + datum[\"x\"] : format(datum[\"x\"], \"\")) + \"; y: \" + (!isValid(datum[\"y\"]) || !isFinite(+datum[\"y\"]) ? \"\" + datum[\"y\"] : format(datum[\"y\"], \"\"))" }, "x": {"scale": "x", "field": "x"}, "y": {"scale": "y", "field": "y"}, diff --git a/examples/compiled/line_skip_invalid_mid.vg.json b/examples/compiled/line_skip_invalid_mid.vg.json index 5a64cd39be..9176e0ac70 100644 --- a/examples/compiled/line_skip_invalid_mid.vg.json +++ b/examples/compiled/line_skip_invalid_mid.vg.json @@ -37,7 +37,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"x: \" + (format(datum[\"x\"], \"\")) + \"; y: \" + (format(datum[\"y\"], \"\"))" + "signal": "\"x: \" + (!isValid(datum[\"x\"]) || !isFinite(+datum[\"x\"]) ? \"\" + datum[\"x\"] : format(datum[\"x\"], \"\")) + \"; y: \" + (!isValid(datum[\"y\"]) || !isFinite(+datum[\"y\"]) ? \"\" + datum[\"y\"] : format(datum[\"y\"], \"\"))" }, "x": {"scale": "x", "field": "x"}, "y": {"scale": "y", "field": "y"}, diff --git a/examples/compiled/line_skip_invalid_mid_cap_square.vg.json b/examples/compiled/line_skip_invalid_mid_cap_square.vg.json index d8a543ba92..d51d738635 100644 --- a/examples/compiled/line_skip_invalid_mid_cap_square.vg.json +++ b/examples/compiled/line_skip_invalid_mid_cap_square.vg.json @@ -38,7 +38,7 @@ "strokeCap": {"value": "square"}, "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"x: \" + (format(datum[\"x\"], \"\")) + \"; y: \" + (format(datum[\"y\"], \"\"))" + "signal": "\"x: \" + (!isValid(datum[\"x\"]) || !isFinite(+datum[\"x\"]) ? \"\" + datum[\"x\"] : format(datum[\"x\"], \"\")) + \"; y: \" + (!isValid(datum[\"y\"]) || !isFinite(+datum[\"y\"]) ? \"\" + datum[\"y\"] : format(datum[\"y\"], \"\"))" }, "x": {"scale": "x", "field": "x"}, "y": {"scale": "y", "field": "y"}, diff --git a/examples/compiled/line_skip_invalid_mid_overlay.vg.json b/examples/compiled/line_skip_invalid_mid_overlay.vg.json index 728e6a6987..123ccc68ab 100644 --- a/examples/compiled/line_skip_invalid_mid_overlay.vg.json +++ b/examples/compiled/line_skip_invalid_mid_overlay.vg.json @@ -47,7 +47,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"x: \" + (format(datum[\"x\"], \"\")) + \"; y: \" + (format(datum[\"y\"], \"\"))" + "signal": "\"x: \" + (!isValid(datum[\"x\"]) || !isFinite(+datum[\"x\"]) ? \"\" + datum[\"x\"] : format(datum[\"x\"], \"\")) + \"; y: \" + (!isValid(datum[\"y\"]) || !isFinite(+datum[\"y\"]) ? \"\" + datum[\"y\"] : format(datum[\"y\"], \"\"))" }, "x": {"scale": "x", "field": "x"}, "y": {"scale": "y", "field": "y"}, @@ -68,7 +68,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"x: \" + (format(datum[\"x\"], \"\")) + \"; y: \" + (format(datum[\"y\"], \"\"))" + "signal": "\"x: \" + (!isValid(datum[\"x\"]) || !isFinite(+datum[\"x\"]) ? \"\" + datum[\"x\"] : format(datum[\"x\"], \"\")) + \"; y: \" + (!isValid(datum[\"y\"]) || !isFinite(+datum[\"y\"]) ? \"\" + datum[\"y\"] : format(datum[\"y\"], \"\"))" }, "x": {"scale": "x", "field": "x"}, "y": {"scale": "y", "field": "y"} diff --git a/examples/compiled/line_slope.vg.json b/examples/compiled/line_slope.vg.json index 57c9786f33..6cd884fb19 100644 --- a/examples/compiled/line_slope.vg.json +++ b/examples/compiled/line_slope.vg.json @@ -56,7 +56,7 @@ "update": { "stroke": {"scale": "color", "field": "site"}, "description": { - "signal": "\"year: \" + (isValid(datum[\"year\"]) ? datum[\"year\"] : \"\"+datum[\"year\"]) + \"; Median of yield: \" + (format(datum[\"median_yield\"], \"\")) + \"; site: \" + (isValid(datum[\"site\"]) ? datum[\"site\"] : \"\"+datum[\"site\"])" + "signal": "\"year: \" + (\"\" + datum[\"year\"]) + \"; Median of yield: \" + (!isValid(datum[\"median_yield\"]) || !isFinite(+datum[\"median_yield\"]) ? \"\" + datum[\"median_yield\"] : format(datum[\"median_yield\"], \"\")) + \"; site: \" + (\"\" + datum[\"site\"])" }, "x": {"scale": "x", "field": "year"}, "y": {"scale": "y", "field": "median_yield"}, diff --git a/examples/compiled/line_sort_axis.vg.json b/examples/compiled/line_sort_axis.vg.json index 87adf2251c..970db9686c 100644 --- a/examples/compiled/line_sort_axis.vg.json +++ b/examples/compiled/line_sort_axis.vg.json @@ -43,7 +43,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"Name: \" + (isValid(datum[\"Name\"]) ? datum[\"Name\"] : \"\"+datum[\"Name\"]) + \"; Score: \" + (format(datum[\"Score\"], \"\"))" + "signal": "\"Name: \" + (\"\" + datum[\"Name\"]) + \"; Score: \" + (!isValid(datum[\"Score\"]) || !isFinite(+datum[\"Score\"]) ? \"\" + datum[\"Score\"] : format(datum[\"Score\"], \"\"))" }, "x": {"scale": "x", "field": "Name"}, "y": {"scale": "y", "field": "Score"}, diff --git a/examples/compiled/line_step.vg.json b/examples/compiled/line_step.vg.json index 6ee8a72817..4b2173c270 100644 --- a/examples/compiled/line_step.vg.json +++ b/examples/compiled/line_step.vg.json @@ -26,7 +26,7 @@ "interpolate": {"value": "step-after"}, "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, diff --git a/examples/compiled/line_strokedash.vg.json b/examples/compiled/line_strokedash.vg.json index 73a7854920..5a255e095f 100644 --- a/examples/compiled/line_strokedash.vg.json +++ b/examples/compiled/line_strokedash.vg.json @@ -42,7 +42,7 @@ "stroke": {"value": "#4c78a8"}, "strokeDash": {"scale": "strokeDash", "field": "symbol"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, diff --git a/examples/compiled/line_timestamp_domain.vg.json b/examples/compiled/line_timestamp_domain.vg.json index 47e225e866..82dab07339 100644 --- a/examples/compiled/line_timestamp_domain.vg.json +++ b/examples/compiled/line_timestamp_domain.vg.json @@ -34,7 +34,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"ts: \" + (timeFormat(datum[\"ts\"], '%b %d, %Y')) + \"; v: \" + (format(datum[\"v\"], \"\"))" + "signal": "\"ts: \" + (!isValid(datum[\"ts\"]) || !isFinite(+datum[\"ts\"]) ? \"\" + datum[\"ts\"] : timeFormat(datum[\"ts\"], '%b %d, %Y')) + \"; v: \" + (!isValid(datum[\"v\"]) || !isFinite(+datum[\"v\"]) ? \"\" + datum[\"v\"] : format(datum[\"v\"], \"\"))" }, "x": {"scale": "x", "field": "ts"}, "y": {"scale": "y", "field": "v"}, diff --git a/examples/compiled/line_timeunit_transform.vg.json b/examples/compiled/line_timeunit_transform.vg.json index 7cdf3e1bf9..feb15956cd 100644 --- a/examples/compiled/line_timeunit_transform.vg.json +++ b/examples/compiled/line_timeunit_transform.vg.json @@ -42,7 +42,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"month: \" + (timeFormat(datum[\"month\"], '%b')) + \"; Max of temp_max: \" + (format(datum[\"max_temp_max\"], \"\"))" + "signal": "\"month: \" + (!isValid(datum[\"month\"]) || !isFinite(+datum[\"month\"]) ? \"\" + datum[\"month\"] : timeFormat(datum[\"month\"], '%b')) + \"; Max of temp_max: \" + (!isValid(datum[\"max_temp_max\"]) || !isFinite(+datum[\"max_temp_max\"]) ? \"\" + datum[\"max_temp_max\"] : format(datum[\"max_temp_max\"], \"\"))" }, "x": {"scale": "x", "field": "month"}, "y": {"scale": "y", "field": "max_temp_max"}, diff --git a/examples/compiled/lookup.vg.json b/examples/compiled/lookup.vg.json index 461db2d4fd..14b7cd4c22 100644 --- a/examples/compiled/lookup.vg.json +++ b/examples/compiled/lookup.vg.json @@ -54,7 +54,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"group: \" + (isValid(datum[\"group\"]) ? datum[\"group\"] : \"\"+datum[\"group\"]) + \"; Mean of age: \" + (format(datum[\"mean_age\"], \"\"))" + "signal": "\"group: \" + (\"\" + datum[\"group\"]) + \"; Mean of age: \" + (!isValid(datum[\"mean_age\"]) || !isFinite(+datum[\"mean_age\"]) ? \"\" + datum[\"mean_age\"] : format(datum[\"mean_age\"], \"\"))" }, "x": {"scale": "x", "field": "group"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/nested_concat_align.vg.json b/examples/compiled/nested_concat_align.vg.json index 9ff83c64eb..1c787966ab 100644 --- a/examples/compiled/nested_concat_align.vg.json +++ b/examples/compiled/nested_concat_align.vg.json @@ -193,7 +193,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Rotten Tomatoes Rating (binned): \" + (!isValid(datum[\"bin_maxbins_20_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"bin_maxbins_20_Rotten Tomatoes Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_20_Rotten Tomatoes Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_Rotten Tomatoes Rating_end\"], \"\")) + \"; Count: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Rotten Tomatoes Rating (binned): \" + (!isValid(datum[\"bin_maxbins_20_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"bin_maxbins_20_Rotten Tomatoes Rating\"]) ? \"\" + datum[\"bin_maxbins_20_Rotten Tomatoes Rating\"] : format(datum[\"bin_maxbins_20_Rotten Tomatoes Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_Rotten Tomatoes Rating_end\"], \"\")) + \"; Count: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_Rotten_Tomatoes_Rating_x", @@ -278,7 +278,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_20_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_20_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_20_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_IMDB Rating_end\"], \"\")) + \"; Count: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_20_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_20_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_20_IMDB Rating\"] : format(datum[\"bin_maxbins_20_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_IMDB Rating_end\"], \"\")) + \"; Count: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_IMDB_Rating_x", @@ -368,7 +368,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"US Gross (binned): \" + (!isValid(datum[\"bin_maxbins_20_US Gross\"]) || !isFinite(+datum[\"bin_maxbins_20_US Gross\"]) ? \"null\" : format(datum[\"bin_maxbins_20_US Gross\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_US Gross_end\"], \"\")) + \"; Count: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"US Gross (binned): \" + (!isValid(datum[\"bin_maxbins_20_US Gross\"]) || !isFinite(+datum[\"bin_maxbins_20_US Gross\"]) ? \"\" + datum[\"bin_maxbins_20_US Gross\"] : format(datum[\"bin_maxbins_20_US Gross\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_US Gross_end\"], \"\")) + \"; Count: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_US_Gross_x", @@ -450,7 +450,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Worldwide Gross (binned): \" + (!isValid(datum[\"bin_maxbins_20_Worldwide Gross\"]) || !isFinite(+datum[\"bin_maxbins_20_Worldwide Gross\"]) ? \"null\" : format(datum[\"bin_maxbins_20_Worldwide Gross\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_Worldwide Gross_end\"], \"\")) + \"; Count: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Worldwide Gross (binned): \" + (!isValid(datum[\"bin_maxbins_20_Worldwide Gross\"]) || !isFinite(+datum[\"bin_maxbins_20_Worldwide Gross\"]) ? \"\" + datum[\"bin_maxbins_20_Worldwide Gross\"] : format(datum[\"bin_maxbins_20_Worldwide Gross\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_Worldwide Gross_end\"], \"\")) + \"; Count: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_Worldwide_Gross_x", diff --git a/examples/compiled/parallel_coordinate.vg.json b/examples/compiled/parallel_coordinate.vg.json index 35d0cb7a13..b8d1d2cd48 100644 --- a/examples/compiled/parallel_coordinate.vg.json +++ b/examples/compiled/parallel_coordinate.vg.json @@ -70,7 +70,7 @@ "update": { "stroke": {"value": "#ccc"}, "description": { - "signal": "\"key: \" + (isValid(datum[\"key\"]) ? datum[\"key\"] : \"\"+datum[\"key\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"key: \" + (\"\" + datum[\"key\"]) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"scale": "x", "field": "key", "band": 0.5}, "y": {"value": 0}, @@ -106,10 +106,10 @@ "stroke": {"scale": "color", "field": "Species"}, "opacity": {"value": 0.3}, "tooltip": { - "signal": "{\"Beak Length (mm)\": format(datum[\"Beak Length (mm)\"], \"\"), \"Beak Depth (mm)\": format(datum[\"Beak Depth (mm)\"], \"\"), \"Flipper Length (mm)\": format(datum[\"Flipper Length (mm)\"], \"\"), \"Body Mass (g)\": format(datum[\"Body Mass (g)\"], \"\")}" + "signal": "{\"Beak Length (mm)\": !isValid(datum[\"Beak Length (mm)\"]) || !isFinite(+datum[\"Beak Length (mm)\"]) ? \"\" + datum[\"Beak Length (mm)\"] : format(datum[\"Beak Length (mm)\"], \"\"), \"Beak Depth (mm)\": !isValid(datum[\"Beak Depth (mm)\"]) || !isFinite(+datum[\"Beak Depth (mm)\"]) ? \"\" + datum[\"Beak Depth (mm)\"] : format(datum[\"Beak Depth (mm)\"], \"\"), \"Flipper Length (mm)\": !isValid(datum[\"Flipper Length (mm)\"]) || !isFinite(+datum[\"Flipper Length (mm)\"]) ? \"\" + datum[\"Flipper Length (mm)\"] : format(datum[\"Flipper Length (mm)\"], \"\"), \"Body Mass (g)\": !isValid(datum[\"Body Mass (g)\"]) || !isFinite(+datum[\"Body Mass (g)\"]) ? \"\" + datum[\"Body Mass (g)\"] : format(datum[\"Body Mass (g)\"], \"\")}" }, "description": { - "signal": "\"key: \" + (isValid(datum[\"key\"]) ? datum[\"key\"] : \"\"+datum[\"key\"]) + \"; norm_val: \" + (format(datum[\"norm_val\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"]) + \"; index: \" + (isValid(datum[\"index\"]) ? datum[\"index\"] : \"\"+datum[\"index\"]) + \"; Beak Length (mm): \" + (format(datum[\"Beak Length (mm)\"], \"\")) + \"; Beak Depth (mm): \" + (format(datum[\"Beak Depth (mm)\"], \"\")) + \"; Flipper Length (mm): \" + (format(datum[\"Flipper Length (mm)\"], \"\")) + \"; Body Mass (g): \" + (format(datum[\"Body Mass (g)\"], \"\"))" + "signal": "\"key: \" + (\"\" + datum[\"key\"]) + \"; norm_val: \" + (!isValid(datum[\"norm_val\"]) || !isFinite(+datum[\"norm_val\"]) ? \"\" + datum[\"norm_val\"] : format(datum[\"norm_val\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"]) + \"; index: \" + (\"\" + datum[\"index\"]) + \"; Beak Length (mm): \" + (!isValid(datum[\"Beak Length (mm)\"]) || !isFinite(+datum[\"Beak Length (mm)\"]) ? \"\" + datum[\"Beak Length (mm)\"] : format(datum[\"Beak Length (mm)\"], \"\")) + \"; Beak Depth (mm): \" + (!isValid(datum[\"Beak Depth (mm)\"]) || !isFinite(+datum[\"Beak Depth (mm)\"]) ? \"\" + datum[\"Beak Depth (mm)\"] : format(datum[\"Beak Depth (mm)\"], \"\")) + \"; Flipper Length (mm): \" + (!isValid(datum[\"Flipper Length (mm)\"]) || !isFinite(+datum[\"Flipper Length (mm)\"]) ? \"\" + datum[\"Flipper Length (mm)\"] : format(datum[\"Flipper Length (mm)\"], \"\")) + \"; Body Mass (g): \" + (!isValid(datum[\"Body Mass (g)\"]) || !isFinite(+datum[\"Body Mass (g)\"]) ? \"\" + datum[\"Body Mass (g)\"] : format(datum[\"Body Mass (g)\"], \"\"))" }, "x": {"scale": "x", "field": "key", "band": 0.5}, "y": {"scale": "y", "field": "norm_val"}, @@ -130,11 +130,13 @@ "update": { "fill": {"value": "black"}, "description": { - "signal": "\"key: \" + (isValid(datum[\"key\"]) ? datum[\"key\"] : \"\"+datum[\"key\"]) + \"; Max of max: \" + (format(datum[\"max_max\"], \"\"))" + "signal": "\"key: \" + (\"\" + datum[\"key\"]) + \"; Max of max: \" + (!isValid(datum[\"max_max\"]) || !isFinite(+datum[\"max_max\"]) ? \"\" + datum[\"max_max\"] : format(datum[\"max_max\"], \"\"))" }, "x": {"scale": "x", "field": "key", "band": 0.5}, "y": {"value": 0}, - "text": {"signal": "format(datum[\"max_max\"], \"\")"} + "text": { + "signal": "!isValid(datum[\"max_max\"]) || !isFinite(+datum[\"max_max\"]) ? \"\" + datum[\"max_max\"] : format(datum[\"max_max\"], \"\")" + } } } }, @@ -148,9 +150,7 @@ "opacity": {"value": 0.7}, "fill": {"value": "#ccc"}, "ariaRoleDescription": {"value": "tick"}, - "description": { - "signal": "\"key: \" + (isValid(datum[\"key\"]) ? datum[\"key\"] : \"\"+datum[\"key\"])" - }, + "description": {"signal": "\"key: \" + (\"\" + datum[\"key\"])"}, "xc": {"scale": "x", "field": "key", "band": 0.5}, "yc": {"value": 0}, "width": {"value": 8}, @@ -167,11 +167,13 @@ "update": { "fill": {"value": "black"}, "description": { - "signal": "\"key: \" + (isValid(datum[\"key\"]) ? datum[\"key\"] : \"\"+datum[\"key\"]) + \"; Min of mid: \" + (format(datum[\"min_mid\"], \"\"))" + "signal": "\"key: \" + (\"\" + datum[\"key\"]) + \"; Min of mid: \" + (!isValid(datum[\"min_mid\"]) || !isFinite(+datum[\"min_mid\"]) ? \"\" + datum[\"min_mid\"] : format(datum[\"min_mid\"], \"\"))" }, "x": {"scale": "x", "field": "key", "band": 0.5}, "y": {"value": 150}, - "text": {"signal": "format(datum[\"min_mid\"], \"\")"} + "text": { + "signal": "!isValid(datum[\"min_mid\"]) || !isFinite(+datum[\"min_mid\"]) ? \"\" + datum[\"min_mid\"] : format(datum[\"min_mid\"], \"\")" + } } } }, @@ -185,9 +187,7 @@ "opacity": {"value": 0.7}, "fill": {"value": "#ccc"}, "ariaRoleDescription": {"value": "tick"}, - "description": { - "signal": "\"key: \" + (isValid(datum[\"key\"]) ? datum[\"key\"] : \"\"+datum[\"key\"])" - }, + "description": {"signal": "\"key: \" + (\"\" + datum[\"key\"])"}, "xc": {"scale": "x", "field": "key", "band": 0.5}, "yc": {"value": 150}, "width": {"value": 8}, @@ -204,11 +204,13 @@ "update": { "fill": {"value": "black"}, "description": { - "signal": "\"key: \" + (isValid(datum[\"key\"]) ? datum[\"key\"] : \"\"+datum[\"key\"]) + \"; Min of min: \" + (format(datum[\"min_min\"], \"\"))" + "signal": "\"key: \" + (\"\" + datum[\"key\"]) + \"; Min of min: \" + (!isValid(datum[\"min_min\"]) || !isFinite(+datum[\"min_min\"]) ? \"\" + datum[\"min_min\"] : format(datum[\"min_min\"], \"\"))" }, "x": {"scale": "x", "field": "key", "band": 0.5}, "y": {"value": 300}, - "text": {"signal": "format(datum[\"min_min\"], \"\")"} + "text": { + "signal": "!isValid(datum[\"min_min\"]) || !isFinite(+datum[\"min_min\"]) ? \"\" + datum[\"min_min\"] : format(datum[\"min_min\"], \"\")" + } } } }, @@ -222,9 +224,7 @@ "opacity": {"value": 0.7}, "fill": {"value": "#ccc"}, "ariaRoleDescription": {"value": "tick"}, - "description": { - "signal": "\"key: \" + (isValid(datum[\"key\"]) ? datum[\"key\"] : \"\"+datum[\"key\"])" - }, + "description": {"signal": "\"key: \" + (\"\" + datum[\"key\"])"}, "xc": {"scale": "x", "field": "key", "band": 0.5}, "yc": {"value": 300}, "width": {"value": 8}, diff --git a/examples/compiled/param_expr.vg.json b/examples/compiled/param_expr.vg.json index 8a5e816f5e..2f437ae4a9 100644 --- a/examples/compiled/param_expr.vg.json +++ b/examples/compiled/param_expr.vg.json @@ -76,7 +76,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} diff --git a/examples/compiled/param_search_input.vg.json b/examples/compiled/param_search_input.vg.json index 1825a135a6..b3d3721e0f 100644 --- a/examples/compiled/param_search_input.vg.json +++ b/examples/compiled/param_search_input.vg.json @@ -39,12 +39,10 @@ ], "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, - "tooltip": { - "signal": "isValid(datum[\"Name\"]) ? datum[\"Name\"] : \"\"+datum[\"Name\"]" - }, + "tooltip": {"signal": "\"\" + datum[\"Name\"]"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Name: \" + (isValid(datum[\"Name\"]) ? datum[\"Name\"] : \"\"+datum[\"Name\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Name: \" + (\"\" + datum[\"Name\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} diff --git a/examples/compiled/point_1d.vg.json b/examples/compiled/point_1d.vg.json index f23c53c31e..688755d670 100644 --- a/examples/compiled/point_1d.vg.json +++ b/examples/compiled/point_1d.vg.json @@ -31,7 +31,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"IMDB Rating: \" + (format(datum[\"IMDB Rating\"], \"\"))" + "signal": "\"IMDB Rating: \" + (!isValid(datum[\"IMDB Rating\"]) || !isFinite(+datum[\"IMDB Rating\"]) ? \"\" + datum[\"IMDB Rating\"] : format(datum[\"IMDB Rating\"], \"\"))" }, "x": {"scale": "x", "field": "IMDB Rating"}, "y": {"signal": "height", "mult": 0.5} diff --git a/examples/compiled/point_1d_array.vg.json b/examples/compiled/point_1d_array.vg.json index b3e45e3c40..24d9ceb453 100644 --- a/examples/compiled/point_1d_array.vg.json +++ b/examples/compiled/point_1d_array.vg.json @@ -39,9 +39,7 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, - "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"])" - }, + "description": {"signal": "\"a: \" + (\"\" + datum[\"a\"])"}, "x": {"scale": "x", "field": "a"}, "y": {"signal": "height", "mult": 0.5} } diff --git a/examples/compiled/point_2d.vg.json b/examples/compiled/point_2d.vg.json index 86c0194c92..0a82413f75 100644 --- a/examples/compiled/point_2d.vg.json +++ b/examples/compiled/point_2d.vg.json @@ -32,7 +32,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} diff --git a/examples/compiled/point_2d_aggregate.vg.json b/examples/compiled/point_2d_aggregate.vg.json index 39bd35f1e1..b98a9e8e1d 100644 --- a/examples/compiled/point_2d_aggregate.vg.json +++ b/examples/compiled/point_2d_aggregate.vg.json @@ -56,7 +56,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; Average of b: \" + (format(datum[\"average_b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; Average of b: \" + (!isValid(datum[\"average_b\"]) || !isFinite(+datum[\"average_b\"]) ? \"\" + datum[\"average_b\"] : format(datum[\"average_b\"], \"\"))" }, "x": {"scale": "x", "field": "a"}, "y": {"scale": "y", "field": "average_b"} diff --git a/examples/compiled/point_2d_array.vg.json b/examples/compiled/point_2d_array.vg.json index 4d565f22bb..ef8e86079b 100644 --- a/examples/compiled/point_2d_array.vg.json +++ b/examples/compiled/point_2d_array.vg.json @@ -50,7 +50,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "a"}, "y": {"scale": "y", "field": "b"} diff --git a/examples/compiled/point_2d_array_named.vg.json b/examples/compiled/point_2d_array_named.vg.json index 86fbe0d6ce..fbbd3eee1b 100644 --- a/examples/compiled/point_2d_array_named.vg.json +++ b/examples/compiled/point_2d_array_named.vg.json @@ -50,7 +50,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "plotname_x", "field": "a"}, "y": {"scale": "plotname_y", "field": "b"} diff --git a/examples/compiled/point_2d_config_no_zero.vg.json b/examples/compiled/point_2d_config_no_zero.vg.json index b6de1de0d2..1ef7d34a13 100644 --- a/examples/compiled/point_2d_config_no_zero.vg.json +++ b/examples/compiled/point_2d_config_no_zero.vg.json @@ -32,7 +32,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} diff --git a/examples/compiled/point_2d_tooltip.vg.json b/examples/compiled/point_2d_tooltip.vg.json index bbf0769acf..1a506f14a6 100644 --- a/examples/compiled/point_2d_tooltip.vg.json +++ b/examples/compiled/point_2d_tooltip.vg.json @@ -29,13 +29,13 @@ "update": { "opacity": {"value": 0.7}, "tooltip": { - "signal": "{\"Horsepower\": format(datum[\"Horsepower\"], \"\"), \"Miles_per_Gallon\": format(datum[\"Miles_per_Gallon\"], \"\")}" + "signal": "{\"Horsepower\": !isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\"), \"Miles_per_Gallon\": !isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")}" }, "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} diff --git a/examples/compiled/point_2d_tooltip_data.vg.json b/examples/compiled/point_2d_tooltip_data.vg.json index e0ec9419ba..d887d81f3e 100644 --- a/examples/compiled/point_2d_tooltip_data.vg.json +++ b/examples/compiled/point_2d_tooltip_data.vg.json @@ -33,7 +33,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} diff --git a/examples/compiled/point_aggregate_detail.vg.json b/examples/compiled/point_aggregate_detail.vg.json index d1e9ee06a4..7024468ad9 100644 --- a/examples/compiled/point_aggregate_detail.vg.json +++ b/examples/compiled/point_aggregate_detail.vg.json @@ -38,7 +38,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Mean of Horsepower: \" + (format(datum[\"mean_Horsepower\"], \"\")) + \"; Mean of Displacement: \" + (format(datum[\"mean_Displacement\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Mean of Horsepower: \" + (!isValid(datum[\"mean_Horsepower\"]) || !isFinite(+datum[\"mean_Horsepower\"]) ? \"\" + datum[\"mean_Horsepower\"] : format(datum[\"mean_Horsepower\"], \"\")) + \"; Mean of Displacement: \" + (!isValid(datum[\"mean_Displacement\"]) || !isFinite(+datum[\"mean_Displacement\"]) ? \"\" + datum[\"mean_Displacement\"] : format(datum[\"mean_Displacement\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": {"scale": "x", "field": "mean_Horsepower"}, "y": {"scale": "y", "field": "mean_Displacement"} diff --git a/examples/compiled/point_background.vg.json b/examples/compiled/point_background.vg.json index 1050f913d3..ba5587392f 100644 --- a/examples/compiled/point_background.vg.json +++ b/examples/compiled/point_background.vg.json @@ -33,7 +33,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} diff --git a/examples/compiled/point_binned_color.vg.json b/examples/compiled/point_binned_color.vg.json index 73e8cc2af5..6c9b685f3b 100644 --- a/examples/compiled/point_binned_color.vg.json +++ b/examples/compiled/point_binned_color.vg.json @@ -48,7 +48,7 @@ "stroke": {"scale": "color", "field": "bin_maxbins_6_Acceleration"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Acceleration (binned): \" + (!isValid(datum[\"bin_maxbins_6_Acceleration\"]) || !isFinite(+datum[\"bin_maxbins_6_Acceleration\"]) ? \"null\" : format(datum[\"bin_maxbins_6_Acceleration\"], \"\") + \" – \" + format(datum[\"bin_maxbins_6_Acceleration_end\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Acceleration (binned): \" + (!isValid(datum[\"bin_maxbins_6_Acceleration\"]) || !isFinite(+datum[\"bin_maxbins_6_Acceleration\"]) ? \"\" + datum[\"bin_maxbins_6_Acceleration\"] : format(datum[\"bin_maxbins_6_Acceleration\"], \"\") + \" – \" + format(datum[\"bin_maxbins_6_Acceleration_end\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} diff --git a/examples/compiled/point_binned_opacity.vg.json b/examples/compiled/point_binned_opacity.vg.json index e066217c86..cb3c59732f 100644 --- a/examples/compiled/point_binned_opacity.vg.json +++ b/examples/compiled/point_binned_opacity.vg.json @@ -50,7 +50,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Acceleration (binned): \" + (!isValid(datum[\"bin_maxbins_6_Acceleration\"]) || !isFinite(+datum[\"bin_maxbins_6_Acceleration\"]) ? \"null\" : format(datum[\"bin_maxbins_6_Acceleration\"], \"\") + \" – \" + format(datum[\"bin_maxbins_6_Acceleration_end\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Acceleration (binned): \" + (!isValid(datum[\"bin_maxbins_6_Acceleration\"]) || !isFinite(+datum[\"bin_maxbins_6_Acceleration\"]) ? \"\" + datum[\"bin_maxbins_6_Acceleration\"] : format(datum[\"bin_maxbins_6_Acceleration\"], \"\") + \" – \" + format(datum[\"bin_maxbins_6_Acceleration_end\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} diff --git a/examples/compiled/point_binned_size.vg.json b/examples/compiled/point_binned_size.vg.json index 428efc1be2..2712123b70 100644 --- a/examples/compiled/point_binned_size.vg.json +++ b/examples/compiled/point_binned_size.vg.json @@ -48,7 +48,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Acceleration (binned): \" + (!isValid(datum[\"bin_maxbins_6_Acceleration\"]) || !isFinite(+datum[\"bin_maxbins_6_Acceleration\"]) ? \"null\" : format(datum[\"bin_maxbins_6_Acceleration\"], \"\") + \" – \" + format(datum[\"bin_maxbins_6_Acceleration_end\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Acceleration (binned): \" + (!isValid(datum[\"bin_maxbins_6_Acceleration\"]) || !isFinite(+datum[\"bin_maxbins_6_Acceleration\"]) ? \"\" + datum[\"bin_maxbins_6_Acceleration\"] : format(datum[\"bin_maxbins_6_Acceleration\"], \"\") + \" – \" + format(datum[\"bin_maxbins_6_Acceleration_end\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/point_bubble.vg.json b/examples/compiled/point_bubble.vg.json index 811539ba58..0a1d8b0261 100644 --- a/examples/compiled/point_bubble.vg.json +++ b/examples/compiled/point_bubble.vg.json @@ -32,7 +32,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Acceleration: \" + (format(datum[\"Acceleration\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/point_color.vg.json b/examples/compiled/point_color.vg.json index cbd8b67d8d..fa29fe48f0 100644 --- a/examples/compiled/point_color.vg.json +++ b/examples/compiled/point_color.vg.json @@ -31,7 +31,7 @@ "stroke": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} diff --git a/examples/compiled/point_color_custom.vg.json b/examples/compiled/point_color_custom.vg.json index 1ba45469dc..de55df36dc 100644 --- a/examples/compiled/point_color_custom.vg.json +++ b/examples/compiled/point_color_custom.vg.json @@ -31,7 +31,7 @@ "stroke": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} diff --git a/examples/compiled/point_color_ordinal.vg.json b/examples/compiled/point_color_ordinal.vg.json index cb4297e10a..acfd19b3b5 100644 --- a/examples/compiled/point_color_ordinal.vg.json +++ b/examples/compiled/point_color_ordinal.vg.json @@ -31,7 +31,7 @@ "stroke": {"scale": "color", "field": "Cylinders"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} diff --git a/examples/compiled/point_color_quantitative.vg.json b/examples/compiled/point_color_quantitative.vg.json index a2b21d7840..4d2a01bd25 100644 --- a/examples/compiled/point_color_quantitative.vg.json +++ b/examples/compiled/point_color_quantitative.vg.json @@ -31,7 +31,7 @@ "stroke": {"scale": "color", "field": "Displacement"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Displacement: \" + (format(datum[\"Displacement\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Displacement: \" + (!isValid(datum[\"Displacement\"]) || !isFinite(+datum[\"Displacement\"]) ? \"\" + datum[\"Displacement\"] : format(datum[\"Displacement\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} diff --git a/examples/compiled/point_color_shape_constant.vg.json b/examples/compiled/point_color_shape_constant.vg.json index ae6d13e081..3a9536eb12 100644 --- a/examples/compiled/point_color_shape_constant.vg.json +++ b/examples/compiled/point_color_shape_constant.vg.json @@ -31,7 +31,7 @@ "stroke": {"value": "#ff9900"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/point_color_with_shape.vg.json b/examples/compiled/point_color_with_shape.vg.json index 5b8dc629db..567d240d83 100644 --- a/examples/compiled/point_color_with_shape.vg.json +++ b/examples/compiled/point_color_with_shape.vg.json @@ -32,7 +32,7 @@ "stroke": {"scale": "color", "field": "Species"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Flipper Length (mm): \" + (format(datum[\"Flipper Length (mm)\"], \"\")) + \"; Body Mass (g): \" + (format(datum[\"Body Mass (g)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"])" + "signal": "\"Flipper Length (mm): \" + (!isValid(datum[\"Flipper Length (mm)\"]) || !isFinite(+datum[\"Flipper Length (mm)\"]) ? \"\" + datum[\"Flipper Length (mm)\"] : format(datum[\"Flipper Length (mm)\"], \"\")) + \"; Body Mass (g): \" + (!isValid(datum[\"Body Mass (g)\"]) || !isFinite(+datum[\"Body Mass (g)\"]) ? \"\" + datum[\"Body Mass (g)\"] : format(datum[\"Body Mass (g)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"])" }, "x": {"scale": "x", "field": "Flipper Length (mm)"}, "y": {"scale": "y", "field": "Body Mass (g)"}, diff --git a/examples/compiled/point_colorramp_size.vg.json b/examples/compiled/point_colorramp_size.vg.json index 6da8802863..1563204761 100644 --- a/examples/compiled/point_colorramp_size.vg.json +++ b/examples/compiled/point_colorramp_size.vg.json @@ -31,7 +31,7 @@ "stroke": {"scale": "color", "field": "Miles_per_Gallon"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Acceleration"}, diff --git a/examples/compiled/point_diverging_color.vg.json b/examples/compiled/point_diverging_color.vg.json index ab0aaadb9b..23a4886940 100644 --- a/examples/compiled/point_diverging_color.vg.json +++ b/examples/compiled/point_diverging_color.vg.json @@ -32,7 +32,7 @@ "stroke": {"scale": "color", "field": "Weight_in_lbs"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Weight_in_lbs: \" + (format(datum[\"Weight_in_lbs\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Weight_in_lbs: \" + (!isValid(datum[\"Weight_in_lbs\"]) || !isFinite(+datum[\"Weight_in_lbs\"]) ? \"\" + datum[\"Weight_in_lbs\"] : format(datum[\"Weight_in_lbs\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} diff --git a/examples/compiled/point_dot_timeunit_color.vg.json b/examples/compiled/point_dot_timeunit_color.vg.json index b1ae3e43ed..ee75565fc9 100644 --- a/examples/compiled/point_dot_timeunit_color.vg.json +++ b/examples/compiled/point_dot_timeunit_color.vg.json @@ -43,7 +43,7 @@ "stroke": {"scale": "color", "field": "yearmonth_date"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Mean of temp_max: \" + (format(datum[\"mean_temp_max\"], \"\")) + \"; date (year-month): \" + (timeFormat(datum[\"yearmonth_date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" + "signal": "\"Mean of temp_max: \" + (!isValid(datum[\"mean_temp_max\"]) || !isFinite(+datum[\"mean_temp_max\"]) ? \"\" + datum[\"mean_temp_max\"] : format(datum[\"mean_temp_max\"], \"\")) + \"; date (year-month): \" + (!isValid(datum[\"yearmonth_date\"]) || !isFinite(+datum[\"yearmonth_date\"]) ? \"\" + datum[\"yearmonth_date\"] : timeFormat(datum[\"yearmonth_date\"], timeUnitSpecifier([\"year\",\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" }, "x": {"scale": "x", "field": "mean_temp_max"}, "y": {"signal": "height", "mult": 0.5} diff --git a/examples/compiled/point_filled.vg.json b/examples/compiled/point_filled.vg.json index 0b7ec96697..04610682c8 100644 --- a/examples/compiled/point_filled.vg.json +++ b/examples/compiled/point_filled.vg.json @@ -30,7 +30,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} diff --git a/examples/compiled/point_grouped.vg.json b/examples/compiled/point_grouped.vg.json index fd7434a952..4f95251fb5 100644 --- a/examples/compiled/point_grouped.vg.json +++ b/examples/compiled/point_grouped.vg.json @@ -50,7 +50,7 @@ "stroke": {"scale": "color", "field": "group"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"category: \" + (isValid(datum[\"category\"]) ? datum[\"category\"] : \"\"+datum[\"category\"]) + \"; value: \" + (format(datum[\"value\"], \"\")) + \"; group: \" + (isValid(datum[\"group\"]) ? datum[\"group\"] : \"\"+datum[\"group\"])" + "signal": "\"category: \" + (\"\" + datum[\"category\"]) + \"; value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; group: \" + (\"\" + datum[\"group\"])" }, "x": { "scale": "x", diff --git a/examples/compiled/point_href.vg.json b/examples/compiled/point_href.vg.json index 05beaf13b0..d9701c5c0b 100644 --- a/examples/compiled/point_href.vg.json +++ b/examples/compiled/point_href.vg.json @@ -36,15 +36,11 @@ "cursor": {"value": "pointer"}, "fill": {"value": "transparent"}, "stroke": {"scale": "color", "field": "Origin"}, - "tooltip": { - "signal": "isValid(datum[\"Name\"]) ? datum[\"Name\"] : \"\"+datum[\"Name\"]" - }, - "href": { - "signal": "isValid(datum[\"url\"]) ? datum[\"url\"] : \"\"+datum[\"url\"]" - }, + "tooltip": {"signal": "\"\" + datum[\"Name\"]"}, + "href": {"signal": "\"\" + datum[\"url\"]"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Name: \" + (isValid(datum[\"Name\"]) ? datum[\"Name\"] : \"\"+datum[\"Name\"]) + \"; url: \" + (isValid(datum[\"url\"]) ? datum[\"url\"] : \"\"+datum[\"url\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Name: \" + (\"\" + datum[\"Name\"]) + \"; url: \" + (\"\" + datum[\"url\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} diff --git a/examples/compiled/point_invalid_color.svg b/examples/compiled/point_invalid_color.svg index a0151281c8..99b571f873 100644 --- a/examples/compiled/point_invalid_color.svg +++ b/examples/compiled/point_invalid_color.svg @@ -1 +1 @@ -0246810IMDB Rating020406080100Rotten Tomatoes Rating \ No newline at end of file +0246810IMDB Rating020406080100Rotten Tomatoes Rating \ No newline at end of file diff --git a/examples/compiled/point_invalid_color.vg.json b/examples/compiled/point_invalid_color.vg.json index 5c03dd5ff7..b14de9b8ec 100644 --- a/examples/compiled/point_invalid_color.vg.json +++ b/examples/compiled/point_invalid_color.vg.json @@ -27,7 +27,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"IMDB Rating: \" + (format(datum[\"IMDB Rating\"], \"\")) + \"; Rotten Tomatoes Rating: \" + (format(datum[\"Rotten Tomatoes Rating\"], \"\"))" + "signal": "\"IMDB Rating: \" + (!isValid(datum[\"IMDB Rating\"]) || !isFinite(+datum[\"IMDB Rating\"]) ? \"\" + datum[\"IMDB Rating\"] : format(datum[\"IMDB Rating\"], \"\")) + \"; Rotten Tomatoes Rating: \" + (!isValid(datum[\"Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"Rotten Tomatoes Rating\"]) ? \"\" + datum[\"Rotten Tomatoes Rating\"] : format(datum[\"Rotten Tomatoes Rating\"], \"\"))" }, "x": [ { diff --git a/examples/compiled/point_invalid_size_show.svg b/examples/compiled/point_invalid_size_show.svg index 2ae4ee19d6..b045566a3e 100644 --- a/examples/compiled/point_invalid_size_show.svg +++ b/examples/compiled/point_invalid_size_show.svg @@ -1 +1 @@ -0123a02040bQuantitative X0.00.51.01.52.0c \ No newline at end of file +0123a02040bQuantitative X0.00.51.01.52.0c \ No newline at end of file diff --git a/examples/compiled/point_invalid_size_show.vg.json b/examples/compiled/point_invalid_size_show.vg.json index 7453159e6f..c69fd16acc 100644 --- a/examples/compiled/point_invalid_size_show.vg.json +++ b/examples/compiled/point_invalid_size_show.vg.json @@ -47,7 +47,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": [ { diff --git a/examples/compiled/point_label_null.png b/examples/compiled/point_label_null.png index aa3a099b2d023cea09a6140203391be4ec828bfe..eb536cf6efdcad656fd303f20417fc3175796685 100644 GIT binary patch literal 10581 zcma)i1yq%5w=Rt|iik8wD6JqRwM7(Zq&s8-(%mf}C84CWba#i8gdkmlG}7G-XRiJK z4`+PjU#zwxy-!6(3A{zc z>Kpt%@Nr)ts;eN~dj97(x9d@u!`|N?(MQ7alfBb}B#DLgfXOdHl#JH@aODbB?FIc| zL4}7`QIC{LQ%cg+@BGcmaRYftCO^VgEg7{qgrZL=u^I?piJ@@#-Tu^!qc29kD|-Jn zR>QktW)_w&T*mm8mX^-0uKTO$;iki`N9+E@#T+dyEohjS*Hvt=2$xXLF?EtnA( z8XX%`keBx^FXsxtr(BqJnl)S>$^F~d7f^ZeepuQ!TAZDcvu0im5RzeA0HnjB_+Mb_v3TlUj3kgJCc=^ z6%!NNZ6gptvOe9tJv1a2p<>>r`sCtQjU9(1lc|}RdYwI!zP`T2v&}AegTva|+RwNr zzCV9TOZF+-Y5sXycTCwaktX=fbwi!GN2r;b)g{A=ACQqU1ItR0DPB9i$dHKIwT=*x{)qg2q|K)hB-rdu~)Wt!=&0Se5)nM}c z`SWohs}O?APjuqAE2O8YSoP3IQf10RysK)A@`2X~y|M@2rxIXN`EyeDOQ%F4>HL#wqWv|_0CIF|xD z4KJ*%AK$)xTRM^N4f)M{0QFG0vE2FLTANvMW7hbxKOx@0lG|xb4WIDUq2lMypG&H% zvokW#yr-tL?y+fzy?y&2CML$u-~Wlr{@>3WH*>^EMFT|!3<++|R#FZ|6y@}djWJWN zyna_%;F9y;y1BWrvatny{MfKbY9M;+YW2=3l={NL!s=)~2`p}bS}6+q=Dd*LwVP99 zc6Ro$`x9EfYkU3-UT*I8@8A7qJugBN6DgqXNO>(OmY0`DMn>KpjE;=x>Fa;R>+I}| zjEJzFIM+CkBjI4!dZ#`qDPZZx?sIZ*U@(yS{5~#*ppeks!2ul|9jdObZk5IFtlrr8 zc*!QutBU#EUF+7iwv9p-X68KQYl?$#jg5ZEo7aQBhHa)hv~F0F~=&H^$k~EUdx1^t;ba zJ4LQ-+Svn(d1P)i{wQ9umxsDGGGfF#+Ow%N5nYu*neE!#+HzUTjICKocDsd-U*tqL z_|LolM11?SHC3y)5n(-=r!08Bnoc3$xEVj}_YS)(!0PYVW8r7^tMZ(joE2>+`7%Ul zOkGspZYK$Q#9REX8id;EOA_b|!O=}SY1VHz*rKwPP0Gk}W;+Qb_X)~didNO3<>V~u zb&_M%xQFFV$H~pjz|J1lFMNTEgCiwPaYahS?^C`MotU4ym_2P%aI;PR-b0)88GT}Q zvTI(g)V)`)P-X)YlakH=Qjh~h>_2ZcWi9T^H=nj7y%zZ-TWpE*gU=%dfZ*27{O_qH zY&!at-Df}8`DS03-1O=2O{&l9S+sZ;%^bl(jle>cRtb9T+Gia$5o`!5YPfjDN4u1d zGJH&+7~05)EatlSZ1-#LHx_okNR zRcK>jC6m|Ak5&K9k!?9bn3MDK+??K4(^5~Y*>GR7P|wdVTx+vUBH<#}d}n88y&Cz1 zg~}mVm${1Br&nB3+*A$OX&>_iLpAaK>^gB zaXa5G!s6q}e)ew6=DfAEWN+-pwjr{|y4+jrJlm?Ct(YGekQWsdMas#~UyRlD{908N ziHcz zjmeo)e$?JRnk19J^Tg=qeIAQRzmybePft(RD0Z=gtlzX(Nlr6Aa5x&|t)>Rk#m@l1 zB&4Ok1L}Nz5%4)8!aF5$P=p> zLFlKh?(PS4#fe)%E^6v=gS_7(7e4ydpr0%U-JB4&)$?;@SgE?a^CRSyh|NF5$H#|B z4cy_MK@X3M+|}P-d{UVZ8A+5amx9s!^Czx|hzK@IU+mK~CnP#o%sHbs-GMX60D-~z zZ1kI=Qz+WUy97dqgorOBx8u!uA55yb?fRV#z$v1KvhNO}qoeh$tcnq+T5fou-#4bV zU;NXCYqCSJ&s%IiHX#Z52&o<{z{9ChVHVVUB*7CaPoa9 zEN1bQNCgy5C$-nd`g(zT_wF^E%(zXt?KC3682QL=x4b(jPOWcd)-%)Sb_UI`!S)+g zY}T`%HoGLMpNER3uoWw^RYB{w<}mMf#c*5y$7FSAGd(>au={V6mD@8UBArj?1CSp- zc|yy>6N4aB>+7a(4Gc=l%JQlUYQJEGhpkCmwnSzuCC)2pa91DgE>&#{$9<{FAxHIp z=K%M1y0=Iw;_2=?+|bbAyj3|~RM!ygPfB-zfgh4kg(=>ZnJfvuFBL@Z|!==Qp28mWo2b>Jv5y_mA}Ud)CKpu=qQ9-mB@K*7Q|xM zwY&3_^Y1^_^B((Z@)Zco>5T)9nFm{3@~nBew37!nph`S znvIuv-FV_t399Xo><1;1nOUs4it{_o}~C@5AZD_P9O3XoGXGW;k790$Cb5q-PSOMdsRn5-;50|P^> z!}@!8+!&4r58ej`-m-A+?9)CZv*D;$*yx(M;>wN$dMb4Lm&TWa>x&(`PD-bz_Z@*` zSFjrrk2>4mO5aVyD&lsC(^QMp)#_t;BXw)f&hSsyr^$ndWWa{fh$q~hhI~>q8XoKn z3VI>>T1slMnu?O&GcQ74{~CA0<>;F1PX{@z#;2(?TO=T7&E2iIQg({2PS3okQZ&^Z zdzTpC!yY(}tz4)JdMr213wzAJXr7r|i0|p4Z6qvwO(H^aOx0_&a*b+0Ka4iSL0_H zaHv^r**-IqT%=uZx_IZ#oyWYqE43@hsCwf?+U8R=pRkA+SCu~yF5IcxoM&NSaoKAp zaXDLx-3S%2{c{T#`=m7x@c;tqv2-*9nZ$BeQo0*1e4aDLarv^nyxQ%T7$q{pjC z;A43BLt5JTGKZ>YOOH%SHYrV$&d_&<%?WXFCH89y7S0FDz4q%PSeTfY2(}7D)>i@B zx8*NU(f7v!I_&l&lvGqYRvvHOys^mA)HMV{O`XrW)g^j_&FB;e|!G_)`uBU8b7p?r7d4DYBsQ$ayUbP9B-kifvf8H&Y8Zeq>V28X+g4rY^p6 z+goUtj(;jKyY5FAx*qJ~oFhSY49+Q)y&U}ohCUQ9jfViruQQBzY>=j*c-QaU z$!MdSQ)ZL`Igh#gr%#_IE7pdy^NCqha=489a=w2Tv$#xq88QN!5v?HEc)p(BJv5|{ znVrp&86_zrqYN@7FE3AWXNX)`Qc}_`cHmJ4C0kEu)r;z|M=C{HKgtYyy1KgN8c$|W zX@rCtXLA37eUp%qYHMjhhVr&>2kpMJv}FCY_!$WaNtO9TYmLofU}$J2Y*k!B!iI7k zp+$_P59|c1$Hnnd4@VO{aBAo+1$Ffxe}8|TaDRXFmoHx)#jtR2tN;a{hc@@c@fdvx z6bfWp44dXF&<47mXPG*NID=Vhw)kF5|4^{I_wMcY^3IkxY^bOds3AAMN5|RS-JM&@ zPQlQFdlcOJP6YeH<+!Pa1W$Mhv_}opJTfwJMs_wAti9vrFWM87Tgbg$__}IpIah8s z*H_)`?Jt=!N1z9zo0^)KIXF}SlbD}ARib=m|C%Wiw%eafz_H-`AmyfDeSN)RDFrHT zX=6jv>I!hev_Bb&xrp3A$k;shVFj=cx;>|8!wC>Q)QLMqb%9>`)xFn9;O|43vqKbvfCbnJ&0h-&bk1A@= z9CmHq-t1{r-NegExG>a4^O)aoUtK=6>Re`*3sfm=-$K7jpC*(saSUVt;uMRN^0S~IJ8B7#WtU;4F>=;e~yXi00S)DVM|L* zt*g9WxChwL1Soc^Z)c1TWfKSfJ-#lXeM?JAkyE{Hu0d^}lmH9+fKM5mpU+ZNRrQga zHw=%QXZ6i{!ZhSM-HMAjUxGMJLu{mpi3w*H7n5OkcXuH0L-lC1-_h%YzuW%!%y5^4 zgv)GFH(w06XepXZZNPo^_&)L#H7QNIC`{8Jc%f zlgRICt4?47nNqQ~U~;5Ky&X(@33lcBzn&J&bFm{-HIWC}yd#VAtB*vp>fLwy-qOeJcQ$$Udwy*kR%}*ETgp;oH)T5Qo5>|GAhqW8*ug^Fx!w z#Ka1H5|UVq{yl%f^MT6xRgtpN(ywW0qU7ux9GzohD&#TSX_}ZO;v1tGJ_PvqMq87W zle@sYg8~BwK4jLf#>j!cR1vtH)}JIGZfeR5Oc;vqb8<3%bKq?{z#7Becy7?3C2l8{ zYwQ|1wWW%LWh3-2Y+m|LtJ^?_O2I0LCI9q-h&GVE##}!eH6I?Z>ZA z?&Gp*R0P77fhbQKr+gcoyudxyM*;7h2aQuxZ!9_lU1johKZNM@^gAR5plG#dliq51*Yw( z-dXoDyTnumC40lCTPIpzTBnwkDQGTF)!OyS*VgFBxW3i}Qk;~O z#A9w{B?l&{VhoMtz>nc}B-|a!zrtyFpSeyxNvjq?A|=TR8cUZr*$oQ|OB8ZbAs2Q# zX6@_io3ws0{W2jTfryxRG|DhoDlxAjyC#b=pUaD(WAl>IzMWeoG0&bxMCg+NmRWHv z{#R;M)p7E5^lAxIYBI8JP}rn`&X2)?ii(Z~@8YXWlY-OW!AieXH>bm(#_v)N{sd~z zXJL(%40Ns+2S?-iHUy-8$}S9x7)}|g;^7-=Qa!^OH&kBs=>l!A8{kc~fOdZJoPjg_3;GmTKiz`| zX^8!M-=a6y@@ASp!Zv=S;K9Beh0)Ypn4g1n=fG5Z5cyb!4<=ArT6+47TwWGSpB6ou z0$%|z%+Ic}y{aeMoCmQj3mdnpe#h7Qy`lxH7{~+$gOl7X{io6->{>M?wIMZBP-O*L zwV#3ILCS(zW1Zdw1Eve?7Ji5IyHKwt))R4Y_aWl3v9lY_L|9+oAgI?nvN16+*>6vg za+UY=$B>nWX^zSZfSIONZAl4f&I()%*ufys*`64SwXK>Fk()C)PA;ysk=$X!;X_Yd zB^8zZF-@ya5fPwgP?~P81sYwChAP9%O!fi}wU($ZgM+b?y{=t=U$ww{`&rm;AhRj8 zniZa2S1UKdgK5~_+WMYNv+A+!pDtGs9+S;ymZQ;=Z@>lC(xL!W1_W)mSXV?+N{U1C zTW0lQ8aVt2M-a@0;kkX+CJwk=gg<3tZ~uL8@HSY8+8Z_OdBkyC#$m27BY@}vC1v8^ z;80dnOqZFhFo}$Rtlvr;n!{`Nb(URIT_6HytV*>e2#CY zq8^8X;&}xHn{^vGg@vQbx%v5uV8sFcy{v{?t<>ocIX~Gc2JRiJG7*-S$IK0;^AXrn zc_zbI+%*j|J0S?}9T5>>R+Y}A+pkg@AmY4B1N_%tWXjiz3-;j&FK_4I;3rHfXK(oQ znq4LVyJcxXLBU7N%nN&+)J@yZq@}MfIAfxsz|Z>-5)xwRFqN0zn4FoJ>3+G_DR^}_ z3|$lhY@xc_5dj>6r*po1{QTPEb%)Nn*7HYNAYC`c3hRrEaaONftAd+(mxWHlg^uq- zvWIlIJ}Tw*k*K-CWVi-gP4yDJ7Q^aO9V<$^l|DnzWU7MhW*-qxI{7tf0ebx-DHjF{ zOTNl@7))%0PJ)qF?56G7z#%OoQ@c@A4+h@~n1zO?yYmowtg3V#z1!cJx9X_eZfUw5 z$taTs&yGvMM`&kf2Lr#tBsn?Rdfshia&nTqXmM0kHxn$Irkkssx-pylqA`3;O-)dX z=*^%ydOAYMA(Amy-f{+mes_O=A(VGU52!l*!-oeuUN;E{CtxUyWfbAJWv6)Ng;E0^ z?CtGMd0uSQjo1ijyqqg`AhQJ%z++Lj zywzH*(OFnGGp@*_yc2pU&Q?ij(D9L$iD|8FJbmS2LBYt#NEOdiu_3we!LDjO=1qR_ zx3_RfDA#gO{o8dL?3Y(p8*Ifa5p|5M)pVI*sRfDOKZ|ov>qw$Q3;7 zKfs94^jiI}K&5Obzy~V`TptyCm3mw_g5rHGE&VqV5zwWVKpb z2F)sS6YHI#lZyw8j32~hJ#jKRn10R(>r%Rj&TZD`2t#3Tbg1r=~9 z(61FXFi=?4O1!}`TFn~2I2zY2*K0uugSGB;;RSELMQ`AlXe||VBM=-f6GiHw!Ufs- zm{nNh&8gZ*NC6>9#KOZf{2q8)HSq>y>i6#MU=Zd&Ux9pEqbmGFLb`R0I17M;=w)!e zhlYpGmJ_U2#|p_o#RF};O+?fNI=Q60++g!pDe(9f{{Xh{?d_jZQsf|lTOBW^_Qk+M znfvo25>k`khzLRy6qH|87Ua-x4`^sob%abzOn|Tq*V-8aTl`gPhe!x;??3j2u@FWj z)D33px{%jyvkxjgJ-xiPwhSbV_n~=^zI^$Dm@KkM&u&vt`~(`bcXF}<@W#l&5gyIb zfAZ4l^3(=A3K(Gse`3;g815ZrptY^-+wLeP)kf~K1vA^d4^dKAz;G`?HAF>4=~-Fz zgNj-ERZ0ifpR`&4rWhC;oF*Pl1@Q6##uJbEufHTEv4J3bq!!V+$XtXcb6Ngk?7SGt z8wZJqLnDVq1LIj$6P_#BeahC>CD;T6s-S+c!a;yO|Wj50BfQnB2uFiOkun*)6N3+6hsf-2l$ zcSpx7utv0btlZrjP)5KtCDGeS=k7?a~X9$;- zwX_PBdlRyeMziIpmDSaAx0`M}(Q}Hwol7pQtgt95DlV3BiQd71 zf$|~u*c5<@)u4<(0av={cwIT5=P2i^Oz*m7FnqQ7Fe9)KST%=odn z;-2pAZlrY~>LNr-fI{}VxtN9iwS&8$@;ucCM3In{{eUAc+4P_^tEcgYA6P57x z?G}*WXOKPc+piL0_|BJ^p@MDMF+NV>4V8|I;d?v_H+C~`G5C{T+6bJ7d35Z>NRgq4ktGci(c>I_UGCgw(iwz-ab`g=3WFfbGc+3)*W?P~&qeWk|+>=6rgMY!T z8}}vZ@BjI6RA*Ut%3FWRYrge|;+pYMCPZG;V0*p=J1i8Hd*>F3Xpp|Ce+n{@L_b8>F6UtSXB zoS>yjjZetGW0$>H&l`cS^p0o#ssufC37Jt;r_de5IqN<@>vd*kShWa;0alkRaLX= z9Jlf)ADryW>O$W$OG!y(vh!!8JT)0o-e_`uEn?Vx7pfKP#~_rE+3RCo_z&39(72e? z?x`dGFEkMdW^9}dQ9N;~QGasb2*b)Q1g%PvOwoWNNN_5I1KtA_gJ^tGTnuQr>>1Y$ zwyg-y-MJQMDX87MsSq|6sU6&0&E7Emg^q@n11QG=CAAfC4RF}q*Cz{!ovh3k&X@jv zevkgbBjpqWPu0<}s;r_yiII`9yT4!VAL4<<}EthLb1<-sJ6_{aNS zSy@@hF6*mal?60OfMPKQU9P06N(5a{J?kk2-aHVl*j}@@Z(HfY1w|qFfzp_?TYw`; z2AyF`Ab)=*@+&6Hf(8LI9=1se&XPg!0@Ixn2o1apcoYyeGFTJ92nZ?VD(G;axR?7= zyn2lX0i-y+uHE675ArP>9E0o2GsNK`ZvYzwO-(7_gUD(nddT1mSne`6!cjU9quG#V zA@T9?J%;yfb#(yo_wz$T_#vL2!VnFNhdpB#u5X^2N<2GQ(LEZ}12V@6v;6@RQ&5X9 zW+a$|a1!AbHg+py#4yI9k2b~^S692>6jTTJ^A(Cj0Pql!A%;I}5klMn*aMGm1M++Z z_4tIFI}?_2(kvoAz8fIp%QFXN0Q{!ylUE^QQz?8M4>&mF5JN)D*obzwCQIv{EV%P;*t0DN4h?+|Rl%eC{a#Xz;?4(C(d#aBzdv5m#pAmB zj-ui7vp+tZ^w(WbX#@TJoYs@V@Mm*>e?HNVrZ;VGeS#8+M2d@xt%Eh4R;Kok`fH9R(EzdHO=s*lfV{Mpl|PXh*q#_w$=bqc!gvu@O!uxDgs zz$Mr{8LH{w>{*g+bk(MXj~+eBFD*5JNA9kUguKJXy-q!>?;pr*T+}!N2*z-=pk7#Ru%$f@>*xuQ}JlyW!kWo}*;^86F)6+{+OqlFt zSn0Y`I_O`LnUZpekB^UlfM9cT6XTAsaBOn`1()62FR7jRzkg9b4W%=)vL4>N!lw4~ z{53JhD66KXW>Qkp;e3oW#^KRI<7;E15G~`^M&n+*YomTD{>R5|;p_-mm|qN$P=OzX zB|<}kywIeZk&iE8yRdkiMkK`Q%-1$;_Xf+9OLTOm-RhVY>9uS1-x%aZPbEe0t2hZy z`Uno^EA?zjN)4VS+_{l&h$J`3H2+9*LpGsHmksf%@QZ|-0eMgYE4IE%!W}mpcM_V_ z`j4XTFy>xH8WU-s9c)taS*5ritg|6}Ic;G@)YR3#CPesQlVQv)BqU~L`p+c2f|b>- zXo?}HqVky7DLJmA74?YRnr$t0xK*nqCDn5E%s`t()l%9FA*2v1DrJ5yP*uIw*3q%> ztX^Psb#<{%B=V1bpKwYoia1k))`iZ>M>J8Fs_VgBt_$v;pUmKm1|}xb`N4$O64P$& z$I!i_Fs|366aae&pn2mUf4 zjApY_$O})my=BR%8c)}wzY%+*RU}FH6&}P1U%u3}(juRmn?F!cPza5Pz*c(k;#XE) zjjXIJ0WU8v>>sC5`wejkiM{(0cv~zLtJ7jfbEGuLQ(G!(YRsYw>#3SJgGS%!xw#L4 zfmcx|RD_7(bG$@a1Xe;+l#IAIR<-*9BR_v68H+}pk4RO-5OTw6dw+j0o`dm2PXfE& zZg_b3ix)38`xM2Lm6RU4xbV-m2Dh4Wt7vMbcS4N$6&Dxt#zsayQ&H(PTH*Sez^*Gh zimE6Ia~j7(V9}D0)O~;A4J+p2?oLWV@)%O={QUgQR1G4AgPz{|{OrV{@$1*GPo<=I zwKbnV|15J(wKMd5&m^^$am^HAwJRYPA#r@NUKz|$bNIf!U3PzMOxnv!G)~Cbxc`Up z>O^IPH!ktF`1r0g`Itz4+awwWJi6%b9W>{;mFsue*a8zJ{ALyxe^ofH6vc}T<{~;y zk9LZgd@9Pzmz3Y5m-tNBX|l@ocMRV~!4?c;b+TF~uakf-SKNyj8IYQmrlPK%diCV! zXnJYMwbM+T8yEkSZNGBrjL6y9d9>7;xbE{Ut|F6dgk>~I=M$_v@7jyA4b9c}hvt1B zdSXts6>uT0=jP{o)o5uoV;Db7-rFpV3<)7co{UYEEyTM+44664qXyFOQB-qZ&dJA$ zEg}Z#rk4k@To)7l_}z9FdD7vl*Dx5w=*ePFqC{I;8;WQuk5~TV{2lj0oyEDf5LnJQ z-D)@6{Z*~=+`oo^9m=UC?3;Jivll zxRVg87}trZOV-t)m-u$fi;2I*~7U!_PQFmU1 z<#Zk@-xg)AKo)m5FB|hMCvqs9T``h*q;ch5e|H$&G-m%0U%nVy0)4s34{N0>Yh;g^ z^zf@pZx#3rp*APq?Jh1VXgs;)<8yhO{F-k}Awn*K;dkUEU6b{-H5+SdY2Q69{7O^X zocS-Jf`ZXszL2cd{_Tjc=R4&8=gGe9#o2*HpV!67)a>+hJs|z&_V&zIX&N(>whyOz&hnSZwl;hUiU_IM2M-<$ zS2(g{Y38+bbp@HkyW$WN6GIN$IEDr2iI0EODD+!su-}vlyxqLhEtcn~sIIN;Us}rN z49v{<*4EZ{>FMza z2$Bj4z9sc?eU2;tGJ$K)ufFh$`aq;UdnC9=Acej)n05hxY9Q+k-6;12RzgBT_xeQT z5-J&&TF?RG&&ftD)1yb%2?KV92sX-QiE2*Pg~(Z7ph3yi)pag5^ObZv^P8NUMT&WO zErmxkbe=AA7dfw84v4NS4aw8orfZV#{rjN0u#oHM=!jLXCN^Hg{W>Kj;bUcG<>b7H zmk5M_>-Iei4Gj&LoRW%XP0BUT_cu{Yc*H9NQoHyK`kYD{7HkF-GkiTp#A1dmSB!s0 zV%AMoyGMz73OY}D@&yG2y*4qi*iqNen3~W$q8F$3mfBDx4#w?+d8uyQ z`jjdsU9#R$*D>(!XQ@xV$B5k{f6DyALV97=kAL*_s^tbHb(Y~tD7W!Nzi{?<7n_a5 zTf4hWqodKzldgX58`TtVp^!WTP9=Ky2b+qDYPi&zHo;?CCfVr3$91QV$3huw3t`%+!zRYiH!yhO;USFXR8T~k zT3Zb*EXGW=lEW?&2d+uJ+O~Z}s9=A$FnrAY*xsF3ESptlAn=`dBozWn%%I^ChOB&nmtt*i zZ@cVt@{JT*P;6~&MaYZU&EdgYSanK1*La@j+KK>&)fPy-0sL!z19>5|zrQcvMM_E8 z0Zj6lf`Zj%2ZHzj5uLKq&d$smPT5qczL42~r>LoUag~5kebPg>CutK(&k1G=^pd znBRXZBrhA{(Jv}V{*moZVHi$A{-^8LSNh@wMQ%y-B91uU3;wD~OAm-GBhm2d_wTv% z_(Uop<%ax^kA3$l+>lr8W&=qWQ}T-l-U2xr*48mFEJ{&a*jd=}VF(*~`Oi++770yt z&$RVjTs>$bq{UKj8iX&1fOgR#u*Zj;?tNGU7(pc+Pi-NVzf7TwW7ql-s+ zeQqLN`ON!g5$Bg^#M8kx0#>#wpO3De5DK)jV+W~byefpG`pRd&2Nr*BQ7#Zsk`4y+n;kQC0 zH>Vqc@R>GV zyLRpLbf?=b6!gz~_IJUbK24(q&aqGJkL>I#LPA28!zk3(zI4Tve@IU0>6eFB8ZsMqM{por59e#k^drdZ&)UdWregON_vAR zZ9A~74GijgQ{{@M*>pH- zq9`lRRO%dQ9rM<}vcK>6ZeDpF^+=NPyjASH9+=G5{(j5YSj?Y4`hbJ)yuGmj1+LJF zo@zwg`A~*6VOzyxe{-R}s&a5MfW85FXxwN|ttA{n^S7nO^C<(K0oaaFvpm zThT}Sqt1M^`{CQS7;h{sU7-@=6B5$1vVI0=MFAGfXDH#>cD#JJ3A7PJDE3>>Iy;B6 z!CV%DtbiiJMP{nW(#nK%&l}0Gk+6wr3UQ;RFJHY%+TTFyLD%iqo>`>g<0_h0s?yV$ z08eUW-qX?1X~vcqb&yYb9v~Fr1SO%?x=i~}Y;J8~-VqRpT1Y^~S5yebd+uvlRj%<` zmiP9mbj6Egb-HJOVnHj;-Q5(}2fkh@x~9uGsi74EEb zNKQ-hWk*!xziK7`?GeRob{)8CtcbhDir^@OqrX4FV2+M7D2Rs-9}bU>ZV&2MqjGfk zR8&-4c2UwteF^6dSsjDwI?GE>(N)MsD74G#a2j_YS(-RCR7DSYR_q@XG?>;I%_Eod z;-`3=sHb*nN{Z>Mp68xAkKNoexQL^A_glfwpUPTVTC&WkpdCX|rfLgaaebA$IuArd zs#E347*eQnIs!{1N`vle~+9c))g8VMAnrJ`Vn*9_UoUT{vbu&<^T9zWIvzKjiwk0qbKJnNeF}Zi|9;ekf zKRWeGN(SeDmXxFw6&0cE;3-vyGXcUozq#OPkofyXfCC_h{>Cr-^J7w zRK4ACLJ_;W4y$Wx0#2(pX+3wZVZepIqj>^A+8J6}cEZBSK)mrguTzCEDYi^Z#MPeu z<+u^gI#b!`8k_keeY}RWnISb>>qNj=F}AMue2-(zyq099Wzp#w^7PO)Gcyy9fS{qJ zB@I;svshkU{>T3SL|#$WV7{N1nHZN$h;&)^?CtCOnVB~yrZf0TSx3RfM*948L98!N zPfVnJFmS}{YQJohg^)v~>B7bave_&*H#g9?(rHcB%}o$v>O8ii#52mp*+zfWGVVpi zuGrx|m4g0)jnv-CukY(#ZegrXV}_P#-hS0o!>n5qIoooyZ|W)t`W3$*CaiEHtklL) zJhDWC!o?zMhe16)XP`x0E#aaxP`MQQI^A#aEIB16F-;;Wme(MdLNy1JUKn-<(H3?o z?l_t)ZGYf2%dsM!V(SU4F_`S{AN=aF$lvTp6q}Wkt{2INz@E^q5T<*soi)~o{kbxS zRK#24*8~2}s90}d{xphn8U;2)I0<9kz}hqi!KTeCQx}Z&!LaL2bXH$AC|&59a+v}<09&dv@!2Z!Ru^$#Qzi^n7#407R08X7Ht${Rze;9Gn8fRw9sGFDe|E(HcOOSr_oEs=9jb{u4YDD7ad) zzBCpEu*#?aWcmyX#Xnkn(Xsf?hSUFdL;sIG`tN)E|N5xn@_B!T>gsrT2qdm9@7nNB z!<4kN`J$a4uut?D0$!Lw+2za87c5dK%PgPogDlt8YV|aE84bzX&BT1$RsY0LmODy&U}N$XL52DOW&I0ztjb+Jn}qt0Fs2(SzIPvuff@1Lwqa4 zzwTly4`P`Ks{bu6V+>BvqWc?Dicg+Ak&9ro`f^G4rK*z?uc)XflsJsfQuLFPlXG)( zMGj^&I5K~ld2U_72~`PfVNL~Ok4+<_OrVqIu&9W8((A;sW_`R%j-65T^z`wP!!&}1QundmTwuR zEVG7{oWbD+ImyWuOEzLlRDs<}xMYz*Ae-+==k3F}x!2$l;!wB+6_=K#fB%l5r#Cgv zDlz_+7Rh{%<$@b#|K`w`(DmpjWq!aWEz>u_i#bKnWTYeJo3Tg=2OC>63Z+cxWM`LD zR#qk;N5Z#w*!Bp+_W(c1Bp)|%GU)RnDc<8QAF~Dr?iHHJ=4KyQannYVu2?W3iAHTy zCnPBYrCz;y6WZsz^y6_R6HXXn~P zU7Hx5O(@T3zp36ES5-~zsgaRUGNG8}GP~P!gHNYc8vFBN>XW|hqxnih{*e*RB*i-x zgW1hoZ%9hic|Oxp$!;it{mnN}+nP7A*p;t^eesJvm=n;5m6f$f*XZwi#L6I3e?X&_ zqaM&5^kRrXy)S($Xhtv-09S1Sc92J4(x1_P~Yj(mal=j+#FflQ3H-SY<>DjHS6U?OEw=qa`sVvGplBfrJO$N{V3h)Fv*Ndh8^4$PF4 zd*8l&JNz4=w>VK*n(O#dE=w$B;laTl@V$3d3%d(|VWIEUwLRjfJ^hA8FpbvZy%jBh zau6kNCMv=p(tCS)zUxre4up*=zkK-|9Cx(KV`PM?MIyl!WY?)FE}cz+QWNhwe`_#L zZ)$Gat(F5&%oQ91TU*=u=H|;F77;6D?CqDpr&g>!+aCj}21Gv9!^1-jfr#Vv1l4Ii z)AUL6rPpA#mU**38JhiaaShz8u{SPoyV!^=`aOr$DE;^Bus3aAGBVF_4meX*T)5T92S-KpjDL>#bv@`KR@51Bw0XDF=V(A28pIyhXW#qe6SBR0Neoqgm4uT1H)x@kM^!8E?f={4p})l zwCu^NBq9vBsQLW&?_V`=yXNQ9&}%fH+YK@SO(f#MSOTz4Y>mKK)x~X>e&5KPxF_P=ou^t1*_!M}yk&}pqJ*Xb6 z+C_^6Iv#nYK}S0aJHv*-h^@^vjs7hiL>9FyGsv9|sBb@ui+ReOU~_(gS~Bj8cAQx0 zo%J*@GiyUQPe>{&UjsV)5Zu!A++2lH!CdJ=Br%dJ*OB-(g5n(s=T z7Y~jG{WNU-79H(2v4Yz1v}Fbnl!a3)psNVa99XZ{E4O1f*M06H0W=4xt9y(V zgYE6@(N)T6=!oO@t92pvl90eABxlvHe}8$j2&fu}>QDauU=@3VaOeoy~1Q^l!`RX#bnM@dlEuT?caTqk7yQr1i#+DXehzeB|6>;Dtw{G3)@9$qkr$MR{ z_z|&Bym3HKwyl*;bpZy$cpjEJz08EZ6_25>&erR0adEzwxJ4!-VS642gclA0cDRhWG(~9X*YO1L< zfuKD6<4tVkRt*)y0F@+3CE~Uly<;_5b<4Z{yWB1Plv%%dINNA@UC2$Td&-h2f7Pi5WEE&{TeB$ z#ETaXKVD&@OGA6b(JNr5K8W~Vh%x8_eVlyy`VSB;!=oa4j zjMX2_W1%K5AL#%2vl{TBOvMDzb|A{N0vYR)5$Rh#F`llQH!h(Z?u|nhG z;s}U{G=fF;BL&@de_(~Cr>Dc=2vwm z`|I9etGl?Aq2~ucs|j;7M^`<-d2qJnFx%_vpIpYp%>o-lJ1in1>*Gf}BktSk&`%F5 zEG#sis;L%q+5BG8IdySyEgo*}AAm=H*Vl8=hROEd4zll1iPF%*jR)xI zWmDRlP}k4{uiohrS_bo0iJY7~6XHr1aovT2f+8#=Bso+iv!rCdAetR#61r>PtCfHjvM&Z?CJaFLARIOTc3oEqvM5TN?@IN{=m)-o=ydOsRVO-(J-ZErwx zpb^?J7(8HKS;lMXx=Lc2?=27Tozj>E&QYB+$|pd7exoV`0BU+~)B|Le~_nmtYh$E`KoJyml3U7ai)%*eqJ40(e-U4w;%Wn*Jwy6aH}djKajns=A_Mt&OlIniyH4?SnE=}Jva zU7e~;0KUUz)E+8@;6t3oAWkWx1qJ+S@nxB7j^-($IE@sV5R;LSjUG9w^0Dj2IsuqT z%_g`lGlRVyCF0JD@A7pv*S4xBCN&hMk0&&O#1p2f{#YrWX<( zCo^FnD!S6d?QKW%BH(C13xv{`Z(be;94mnn3wHCrZ-K2xiO3$Sbml;B2=u?8*88JR zVjLbGW)0eGIj(~O`^WTy0Re3?+qpqbZl0$V)6?sBGwq*ne0!V6JoGlFJ`74nTib1< z3g{+O!r6kx0jL3FG&GZoHVEcaa7+8Y&`I3*F6g+Ng7#ZJOC?7OIp><2nku0|nCL6+ zm7CvL+1SDY0|QkesCpr0k23f4gi{g(9WzyAGoah{40Bl#c^m@2m?U^=VE&WP%MFP+ zK0ZEn4i0MU?Cb^^W)c$}jC@nn-ImX{`sUQ# z;3yqA`^#qs>l2tZPEN*f-{@D+V}#HMLQ5ZXp1>MWJHGUAdWSMaKUdR}dzg@;3VkH# znY_Fa)MiLeyUjmO-g|pPV{{s7>1!~#KwfXcNw~r{Bahbln>soIAn;49rxd_KL{vCH zV}#Bx1;hksy@37OXurl{h#e%p6u^1jNi{07c$X=toZoRd6pjCGoAtP` z&#-qte*Jo8WN4V|21B1yHI(c)p1L^GGqSYI>Fw>+t_anU@?snM4CDt6Nwh)>6~Gr{ zJ02dM{%Dbzyr`*oQ8rjbp(;ZjcQTm&=_=1z2>iRHc8WYtn=txV>m2}xB{5_q6`tmb H>%adm>@OEq diff --git a/examples/compiled/point_label_null.svg b/examples/compiled/point_label_null.svg index 8b5203f563..694abe0432 100644 --- a/examples/compiled/point_label_null.svg +++ b/examples/compiled/point_label_null.svg @@ -1 +1 @@ -01 Jan02 Jan03 Jan04 Jan05 Jana (year-month-date)0102030405060b28550654350 \ No newline at end of file +01 Jan02 Jan03 Jan04 Jan05 Jana (year-month-date)0102030405060b2855null654350 \ No newline at end of file diff --git a/examples/compiled/point_label_null.vg.json b/examples/compiled/point_label_null.vg.json index b52a9f3e96..5ea1561e7c 100644 --- a/examples/compiled/point_label_null.vg.json +++ b/examples/compiled/point_label_null.vg.json @@ -44,7 +44,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a (year-month-date): \" + (timeFormat(datum[\"yearmonthdate_a\"], '%d %b')) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a (year-month-date): \" + (!isValid(datum[\"yearmonthdate_a\"]) || !isFinite(+datum[\"yearmonthdate_a\"]) ? \"\" + datum[\"yearmonthdate_a\"] : timeFormat(datum[\"yearmonthdate_a\"], '%d %b')) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": [ { @@ -74,7 +74,7 @@ "baseline": {"value": "bottom"}, "fill": {"value": "black"}, "description": { - "signal": "\"a (year-month-date): \" + (timeFormat(datum[\"yearmonthdate_a\"], '%d %b')) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a (year-month-date): \" + (!isValid(datum[\"yearmonthdate_a\"]) || !isFinite(+datum[\"yearmonthdate_a\"]) ? \"\" + datum[\"yearmonthdate_a\"] : timeFormat(datum[\"yearmonthdate_a\"], '%d %b')) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": [ { @@ -91,7 +91,9 @@ }, {"scale": "y", "field": "b"} ], - "text": {"signal": "format(datum[\"b\"], \"\")"}, + "text": { + "signal": "!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")" + }, "align": {"value": "center"} } } diff --git a/examples/compiled/point_label_null_date.png b/examples/compiled/point_label_null_date.png index ca12ec59c019075c21fed51f02d0eff48711045a..a5e11003ed8bdd49ea8d06ead3afeb421d5a853b 100644 GIT binary patch literal 12131 zcmb_?by!vF*6&ibq6mnf(xrrebhnfUNJ=P;NOw1=ASeiklynP{N;d*3(p`)02I+=7 z=04{<-#OoXzI*QKeZ`=Hc1tbl$YtuiR%u_9`BKKYM+}vD8OQW&yL|;?ekKy5V zE-p=`To?7ZNZ==WetzPYE)!nS0Tk|6e0?XfoNKH%Qx1B@@x~%s_ z(bLd;^*pq1XlVFaS~`EcQ8$=kv>UWT_QPs!vfdZ&!&j%u`E<@|p)ICyyvE~OX(=58 z!@I>r)1%!L%m?RZr{BJo9}Lp6v3&@qR~&F%+YR0!lk}aLo0Bp(XEZW0LPbPIhQ-DP zMn@CgxN(DqhGueOBebA^b#rr5Xm7}n_ayo(EmY(VD{JW6w^te(8;J!R@6poIqV476 zKSh_?R_|sqWo-dy7dO_4WBrtV-v#z_>Wl-b_V$TG}@U2d>jI zGn>1+M(wfO@5%T-w#fdhFL$h+@Or=DLOJtzfZr;qqN3v9_}Gw(gyH`E7rme5oscUl zFiH9r+t10;J^u84w88;a&t$15V^Bwr;b+SlJ59!%#Wrrj<4m@FAz6mck7F9b6-An1 zE7?ebcNV+TZfh#n5zl^kY)8+B7v0fWmzex5@7BK4=4Ta#L=r)Nx^}O_L642DpA&ic za=9+E#p0tk6igB?CF>E|X!2=slq(Xh-cLF9x*q0f7L%1do}_L$S{~-ShVFMFPJPwd z+?-Ng{;9Z6b=6kCGf_DHk#JK-Bk}Bug%2M-C=Jq%b5T-K>g;K4G)}>-V3YFX=C_s` zUA=m>@)XbFiG-E3ZUr~PA^kh~s+Uz&%wN8kk;&D)3=YQ8K_5=e^s*^3?O>ODHaOd7Hu)wIu%b?HeB-pOTUi>cPW@mmL;5XzA!KGchpt>ccX=Y2@~VguH#iqR#sN` zz14U1`rpUK$l)JQy=L91mjs?p-`Yu48zrK4kda5 zcl@$+DtE{zJpYJIPfsuQW?tXh+soCdx~-+9g;FojZ7(+K&C1HsZ~jPIURk-U{2Fii z_R`+(y}mC`Vqh)Rwtanlhig2_bOUaQ_u*A|9kKHHoCyKU#f$pXww$!I$STD1i9LRd zosp3-I4Z))`Gn>5yUP*{DX~z{SFy2Y*UBb71NQj6d2`_dU_n_KucGKF7pHMsveU}I z$=hoz}=}b`CFSvdpt`b6-sVc;|V#JGisd8vy7)rx5?!_qxbiUtf&6 zvm>U*Q~uFUf;*ni?)Axur~Cdo&V!Bdn&yrU1lQE_G!0BlGV@kuXC;k{=5Y4i zwq|7#J=Xa>Jw1Q7wWUKXe*MaJpPBhtwJW=_vNC|l%=C1FKMv{Jw{JfLm8Gi7@Tp3; zy9>b6_MaK?5@B;$p(FbGR5eS?GxDO7k~&4tHm~2l|J1h8tJHcd7O+)WTl+Db-h%2a zEK*+U7qh>^P{?O!<)TnJyjJ6fdS`Or-%;qdVAXz2I}`J7entvq8ny+pzB z;!3CRzIMrYk=@ab*~4IxHzg(9^08b~(2r>7=*(MvU%xIE^>B6lZ8e`d(0r-c+_XRY z7F1rmpvz`n8=UmJoSXzUHZ~}%YuAY3Y8aTfxqFwIq=Ig<>wiZ%ua7pPODvZ9b2K8g zTHD)ZrSC3Bd1B<$_xDHMxciXJW6x3{QK)%!xCp6NJ4Z)kjp}_dXBHNkhQ1lfJbFZh zv?2$ojNH)ohV_-_U(Ge{1Q2jA6qLIPH`Ld^%FVrBzN211>2vZ;VdUPABv`=SLZepG z(Q}|a&+WMlMXco;C&p+_3q=fIZtAe_LKwcj$6?xs+tNa z<~$4)8S$*lGa1pksmf^&-xG8CL%Tq3bM2kl_3PJ1$HqzwtE#FrVs5AM{N@fYFDxzP z;kS>hs}num->5V9o}KEAXJ*XE&@%KNAB+8yAo!G&T;@2@7tme7HsH1=JSAP|?sO2V zdQ2jlfjCa7w*{dkc*|HJx24jke~z547kcz38Tr2}pB-D6PB= zu3BkT7DB7x=+OFR<#UlI_`Q=(A|5XdyyN^f3)x#alZB1U-@+Q=>dv>nn6T=;$2OhP z9-O;sCt)w9Lhs$4utYv9B_&0RIo-qOJWqBjGEjuP#&nHgifUPOiGMLmZy~DKrr$4p zr|89tbO)DAls4%|pVKpO)gV9Lj#xf)*N<-hzgoBPu~Ws&Y%^~`e}>Y37>A3EUA<0( zCH^+9cd|i@L2ZuM4}dU2#Yr<9uPjXf2UAZ^Zy@(sBY~n&eX^MEL8s3d#sg<(o*MVv zo&iC?f&>Al>_*u)<=cHr+yQ=me-#!M9?Zwt43*hX63{)SqNDQ<48&SH{EG#r^kYPX zYIFvcUDKEC-awN?x63cr$Ew0VeR?|AEJ-an)}66n3pM9`e(GW+0KNX@OH_H^wV^5( z)?2r3*_!40wYIgj-D72KYHQ1Faq??j!J;+~Wtqaeefx8;GO8>087DItQm}DTF5d~Xt3=p+;US~JHUF7>@qgd_jrDX>^6X1qPo*PQUEkSbOeY1 zwaXV0J+gBNkCOg!$99b;{3YsN;>+YgMqXlv=Z9A!QD%W_W@ffJUK1A|Pi8f4Q+N8% z*7hq;OLqjrlWgo6?}I-E)4f=HMA01>p+fCVavDA7_4PtR2A5f@OWqGX872yT2z}_Y zmBY@WGVr(^bALRS`#KFNz$Mc&GB$q_>UE_^U=9@MU61ybTAH0r&s$hokux^_%(J$( zChuuZfdYzQ>^ecE$){@TGpNp2S!u^Xd)>EQ$w+AsP|OUY4i+W^`V>MoN6YO{NLTn~ z*tFFpaoxbirt`~_%;Md^z(8AD+pf=d@7^80?d|6paXWW@~t(;b=|C=VR8*Ab z$!3$#(PA2EXKf@J?r&=;GwHdBNz>Ws@!?i0YmVgz^Y?@a#q{t*t>0Vi-84~rhEZCN z2&73XFa72V6z{vO(@@{o=nDYNqFw&|ci3IGqovHL9xrUIGV3`YZ7I3A@AI_EdVm@* zj*u|7xfx;Zjt`qsBz~$fAWnOJYRbSq zd4P$#usGSLEQpZYA=Gm2jAh(Cg2AsG_b~J6e{dUoT=6U6|E4gyGv8zx0^t7m^$VYf z=n>G)lEaZwtGlA2dU3V(+7V0%(2L+0t=Ar}ljO;{1074*T^V!$SpVw0rU@@wL-WdH z_JCIStjHK=q|CxoeSu1noPm|q1YK-)@~82-G3|N z`;IBHGi~jxBKmwL9r1NS<@V5?q(jK+J32yGbSm|^bUk@3pmzhG0WxKKa$qOmy!tjM zsFi#F?i5^<-){OZ=<9GnoR`*PmCCBBk}4|rwY9aVA5BeZ5qGGll3P9m4%$P}epXCU zfCp=CYnuf&Dk&+cZ)Me9HsRfhP_D5mUN|d;(9&1YCD#-cd#`iK@?BAu=HTG4b#lt% z=!Aw+T+HR^<+ZuBH63SDix6L+F;T2~9l!<)sybm2iVPYrtEi~_ZfTiLa2YoM$|ZDm zFoQZcJY=^S7ec|W4mO)8V>pZgo4r8ZDNC=etue5$()c>y0lpFnSBH|t3! ztxct7VF{6@aP#~A{eh5>5H$E%pc?2crit5w=`sWWV)+%U6;uq8#@{cjC>^xGr_wT*2 zv$uZ^YU*)s2sn?tAJyc;2Lg%r2@ePr=5p4&KV`hRXaxwE>udH`p;!e`Nt z2-}!%=;^@XH)L@!dInk}Pn&v%cBMI%Dx_v-XFsZ?v!S5ZsvBPKrx(VgCc(3Dk)~K& z_pOL|1?Wp-bo;rr@#L#@kzz*+?X;$kiN1I^ZDX$z|0;Eya~$CBQR!XmW^K7Xd}L{v%L8mZ^l*ED03Toc;Y0t#0K)0gIeiN$!40~D^5G?X>_u|if|@-N z0|SHf^mJ5m#PhCXv52Us=Z1z7AeIY`J=BpVw^sZdDj4bwkBBI%Jt#1+!IX;wI10*n zW4wL7J&u_Dxu32PD2`?F`vnvS5qP4fJ5SbB@A+jBz*}71+`6-r?U3fQ&V{%&rj77`+R2{6ZQ)N(V?YwwxLlP8F#i=0}3=S{NkZ`_<| zA{KUcjC2bN3qvO@bS8B|-`mYoxT0*5PmBwIJM)H6w|w3o@On_Y)Ts5g$l)vkY^D>n z!spwf=e{v9#Maiw*X(%WA8qAGF%n| zs|BTsSM0*!(r`h~v%>}6k|!=MF5?~>!m(Ut4T2lhzCfgf-FGGdOaRUhn+hNpS-pp8 zVbjyk@7%dle!N~KzrL|jP)Ene7|3lgFsdpn{Wa@ndIIL>yI-}jwq`jzJOr}{1g0!(4o=zQ zw}JuItR>G%%x?iG(tx_dA>~0$PEU)QnK1x_BkTX=3H`^9AJ2Ncp`Kl*-_avXWNB#$ z3M0P6V(_`Obq6M;=Xa1ZcFxYfe*N+XZS>V)L4kzVI`;|Fn{uxu=i{9Z)DoWroEU*< zqTjT^H|YaqiQzPv>=`MLm6e5S*VNP;f&w1;YJdU4{%1=|V3N<-Gc9WagZgZ>oTtz> z#;ROQ#wwk-M>(k1u`74U$jHezx3|-P41)G~>oV>Z06=d))o_V~+x#!Y>wqmo^T3u% zN=fOI6aaSsCie)W7B6qKhMresb+r%~8QCKRgGlVgJaa6 zt@gJNo1D~t?dzMf%0xr+7l4PQl@&Bc18^?^n0$RsSM*Sz%&uZ$VuED0b#&|-z_4|8 z{#;yKtXpk<>g+yORh)L##W@LHOLI6q0VQQsw_(c!HtB+D()gz7ZSex7Lbt2sC@eM%_U$bC>nbDZRje0T9^tJ zyRoU)O)LExm-}-N$MomVpM3oM>?R!u#4vmb5r;1C-3f7{ZWGEe3h4Q# zrQJnD@e`BUH{Cs0Olj72+VIsfHOC_Zl@**m@oiKm`uLZAX1s_%<9q*^4pzw%PFSuK zqFyK3&0oM9>WR$1upSW=N#J(C#Xsk)eJ>|j>!l#{$pI%f@lp0=oz4sTzsK^HCVL~& zcRV|2r8y0hq&2ymvQ`TH%G3I)5*v+l<;fQbW~B&P?_9l1z5JjC2NU|)f0*e11D^ix zZu@_{vC_YB_g8+N$qX8c`b;v~_R7_(DPTby92|7zXcREAjvqk#GaD&oe)Z~==iac1 zJDKhkWehk)`8rkht3&Mg1O#rgVbZQ}f~I=3zUq0baRb&M0`&ZBzmDH&IpUwr-Beed zkI&j1hs&4~A&_zuSoOgoUPoO(_<&y!@mLbY@mTew{YCwQx##rtY^qcck+3@#3e=vf ztE*{iEU%4%xq0?DVgtU;$7o}D`t@azNhgQf)(aFUQ*f>NqBPXipBwK@cvcQ*mD)s? zQG?it9?2kg?`9?&$k%B_7%>zj80W4;ii(QRuha4zmirh492b-2^;Vciw$Oz~5@_YR zMPl2^cy-H(+64GWTrer`a~qq2cAv>tm4BqwMS2lHQVtwAJ6l`C+7sI8lDL=gNzjD_TCaNqm0!6O6bX=xf(pyuAE>d3IV3|H zK{S3C6=D864f&7#`R}6U|Dl8aUv~WOD>_~a00Rh2CK+Snd9_xsl4O8o=?2^u??dVM ze?A9qFoxUWc4TBEf`rnPUaDGq%Q*#GN#`e+78Vvl!or9&{HJ}p#E;lLAR?g9m5jW_ z#V1oG7S@-)f4H2d-(^l@11q6Q+0`5g%4ClN0JXxt!=y5Z1UjR7&hzTAkjAM^2J z1Lz)xd-syl)BV7(`~zI&!XNOa?7=N9-|4`IQv?=xFq|-JtDD@??zk==W@lf3O~_6X zi~^emev(m87#JYtx2MU^&p+8XKVxN5&n=%4Nk~W-2585`C8H7$i2WxuuyTWA*BZ@A zfB!xD`e5J<3&R6UQAqE5YRwid<_laJXUB`lQjbF9Cg-5EV|X7%z8hw z16YDlEd{;UZ7Cy~jhDBeonzgUNhAM7gWuJ*1VKXJlu;}?SkdDudu^PZAL8TRS5)v@ zp^FW`%_1xtrjSt46w!9CTS^IEx;dXH&F~X!H&@64_#GGV;A<&_-TTarCELIB+w#FH zpvqs#*$kDIl+X$blPfBAqVLay3}mY@LAg8id%~CPt&e&1pJ3Q6LE6_lG!S@P=^Fkq zR(5ev+N@_ZdP4C9 zj~t#)_flICYG-9y{+fwgqPHWJb5z%9ZNQ`2;>V+j<|PZ0v$H=c9L|OHgk9FjSXfy8 zg&}ICaOV8{{Q8Vzrm+|@aO0WFjCW&vxk~R%0p8DBy4_XjDZ0`rJMY?eWWFl3m?0BR zS6Rbct=>otPAS+uy*V1JV0KNigRxcAmmq(12!@^6 z$;pZgnPqNyft+0JsWW%`MfaYp@(6>Plf~5q_28O5QJmd{O%wOC#%DQGY-T+){?{o( zAb8%}v#KC^R_Ce)Y2ND|$*(MMqD%t6$t+BndQp)%A9il6Z9ug}RQ7%mSE?y(gW}W+o}r z^eF{n=_UM!7RfEY1Rqq$i|dAPQQ@RAr9M&iZQbYb2@x-F$oibFa*IQ+d?aYymK>o{ zxu$caTR*05cRx>LqxV1E&^D|X-^=0*@yh?RJdwct#A`>LIqoJkk zuJLezw59-ETU$0$DD1I^*XL4iX^HZX0SXlSqsQ34)l?hn)?}~H+ z+=v{naw25C!eIe4u9vT66Qbb2{e4$dK&$AvP$aG=G0u6HRJTX5B zd6DqVQHM^*p07QCeR)=QR#$c&LMfUET7=DFAUDT)Cf}MI`sxgL^VP)dFc+CS; z0)cRGy8h7zY1TK14vUER5yh!0Zy#rnkK_8-#fel&3R8qV~!R$t`dyQJ7 z%(gvtm!*KRfZ{4(L2ly)F0VUXT4hU1%TS$99nazt9LMu$1;u=gCeYZ3^#WcNZ#C_S z`bxQ4|EW-rDEjt?0xHB0^$1k^9@*17a*>O_Ukovv%s1h21F2l6fq*skL%7c z^nbj)0j9&_XxQBn^yW;cC_V*+!h;7WNNPZcQ6e6ehLzsL2tt4XqHw=MsRIRyYu5E0 zp9t#eQbLGjYZUV^#78EbiQI0zDqe@k4Qe}-pFDnOWJC)YwEnO6#OT5&nF@#-a~YTH z5j1enj2c!+adA01pRjOnX!-eLAS*md@{RtmEZs?57Z zO1R!8HnwMHWp!1a_Mb)$tZ6speRLj8bkYtI(xUcbTPj`W2a%HaUqcu8xFx0_1khf1 zE|qY*&=p{h=HxeKGLyXT(9l5U_k$#Ftq{<$NWcDKxZ=?GRT?t$W-zcm0o(lY<%^S! zY+lg&_Xt_G9AdN5g$NL_6MGd!YnD#EkJrlDV!4CB5}U9c16aYn?7OFuv3&3T{aI*V zwT2iqVx!d0C?P8hgy#=SObm&Pyd@?kHVQ|7Q2Tu1{ERo4gnN3}BuR?l=j%(?Pzb35 z=uc0lf$&kH%6W|lhJ%2p`T6_XgSiIA5|UR_P*B*K>4yOden?0NhVUEQluX!dRJ@2+ zEV$185Fu9A)C_+!#02j0V`QXCRv1tP<{zSfn{uXcM+DO#&J5i}yJGhy1T zbh@2%t_sc^BOl*WHxCb{2hhRVXDeYb)WEUNhK7Q!2FH-;!P?L_35JY5NbPSW*PiZa zscC9vgR2t>^HIw^8A0~W&g!6T0N$Y)^ubhx+Jgr#v2bzKVder$35HJcRb-Jf%<#a? z-JOw?lyq)-I@SAdE;`2?U1$_^Q5Cpj1lV32FbVKWxtVNfX&Dh3 z8tM*3-wzLQD;b>O&)PaVk=>@MFJsvae{qX$1EDrOhHU4Z`EX&zMO9PNEVxl%gIUSR zRJX{;a=}cpT zNl94-v{Q#zxfEH$Jk1i7Wr%9+?Nz|IggpVY&d*-5=L4fsJ3-h(z5Nrr#D#27e%Sy% z!ka$`u#|vJs}2tjw?Luu^YedMUA0ux*3LaSIk}k(4q)yZiS7AzHD%?nquoKhTgmG+ z`??tsDjs{Q$}dR-9J8EHTBjhr%Y$>L=IB^_Q56uX;LuGA&IvGgcrJx6V9Mn*P$PGz zQ>D)Q^y>rpcs}I|%P<}JM3&(e2}w3;_h2T};y9kyCh=k)5S)G(uImSVQh-ca?hXNf!yIALq4woSpd2& zPX2gDfUXsAS$_|qHf&^fX$>;2H#IYpMt;7&eG`8gmz#peB3kQsrs z1W)iOAweEQ53!*0eZUU1RLhFaOvMTR!rUA(mbtaPP0Ves8addia~7j>Mm#Pv8`~(a zB)bV~)(gD}{4BuIzI@D2l~X%gh2S!+&PoF-;BP5iD55v$A(r-0`L3i3Ng}q2_`TbO5y|+*AYisLSbvukIn2lFgIAgi=VICVORO7%vY0I16;M<2qMg4+JXuB?Y^7lLwFx3LB#<|W4fLc!o5fJw_JR%}J zFFY(P#mm?wzH+^iOBG=#7yB@-3ni~tuCS~L3A3_pWIHi2GO7X#D_G_LmksJQnK2V) zdlCGCQLa2xf2ET}Kb#XIE|Pu(w~UN3u&}ZFDwn|Si{{|vg%7FA>ey+r+t2=98SptQ zeh#)Z6qLyMiNmEVV7EE|c%(MfDX0?D?mHPQP6h34Z3vVB|5ka4U{7S_bZjF$O>Tq= zBQ>?yg>1-5;Q|l~M?&#)5MhH~F6RaGA8jU8pj!i&21f{h($!VFXuj_JbOTFie0)3` zmZjzAPbtB?M=~Va-c_{dMob?)sP(uy7bRgs4UZhG74`CQLK@4Nws6 zUdV<6&dA25^z7-=EZ%Wf3Bh@<{jp3KOp`y;wsGlkD3^g@vRNcWhgj_u2Ikh7%S0I1 z{E?CUYAdlZG3*8ne?k9$`|e%$FC#7@Y;gblBm!{RfoEHJL8t~N`X_7?3~v0?XPaDD zkgoGSWh26dh7kahV1~xVzhKi3p|zDz1i@%8sGsVop-{l7=kskbe_gtCp$noFFDX{!I?mOEC8=! zn+e^Oc5Mm|7_8)Qm~UIbE!YQs)C-;oFi)6CBZNjSDJ=~tqHjO|CgydD7hn(o$=U>$ z=bPh_%GwSLss?9e-E&?Y5`%~cECgik0T%z8+qN-GEx!7Puh1>x3sXzTLw{m7gw!H; z&t;}md2q=w6GjbGLPA2!!I*$u?&SPp?eL4*IkxOEeLE*dE| zg@4`DmJ}66Tp|BTs?7*TARZ#bg@wtmL)I^Ie zw5EJg$7zcS^Ak1SqXTD;!*QE2JGcCGx3vg4bPDfdjBp>u=eGv9#JO%!1cq7S3K3Gx zJ@jUlXnb)?E5h5$Fibj8pyvY$>S}*7>c!a+4F$!Vzg}ZwBQpyN1rN`J;RB5OPv1{f zS{=MG8={|Nd59^|&B_vR*J;Lg8_ z=eF^A>5I*x)p#8N-|#b#h^@W7{bx(dCx3tR^w-gigK3gP9LDl_6R)MDsMy&fQc@mu zc6JhS7~lI_cgBdgI&Kr>vRTGNsHmtYtEv_ok34z$^eOv>UQ;+f+Q8!X@85s_`Qxuq zfcCs#Y~jxz2?+^w#NV1dY#f2(hwkp~W#&Tz17CV#IZHgQ+_iOd#_K%?{h^3 zXO2>V{{HHKyb?V&rSA50U)%B4icVaQfPoe{J~ zeevgmEva*GKcF<28EqQ&_PaOyih3F1i4$gRl#rP@#Ps`*v6QMRPa7-adp$i7OHrnpnwVv+Pv4S9SDRk=RpD-| zHx4Y4NT(4LQt)^V4$9@`=5AZtJZ!Hpy6H7aNzzREB4cRhms`9af3%34s(_P|lkNJd zNT>|GEtb04W9XtSLZ0~Ghlz^UPfDw79VuNf#~#fp{tjA?pc zMIMreWq8PtQO?mTR>dGJ1Mx zT0fw5iFNiwL`Co3y=x=lB6VUvAsFt?&R8KSSehcv1>G=M?O6_5mA*t8M#kX1mANNYR8veWzM~=(QF2UZ2Fkr zzJ253<+V9KwvvwL(TgG{Bs4s(h>eX^(`Wn>9~YYY2>|^IT=9nuL1L%t))Y5981g_6 zfQXn6o&{38^cg<&UTFM;LB!|C3`0T}3T1z7D5EuPiJE#h^$wP#fM?n7#l_}K+0-aD z18jKfaB#l9WX`u-TwEk1C5d=!Y3u6hynTECq=b=^XhouP95?>wd0Bml^%xyCjh?KE z-Hxj_wBY#oxaC@w#;nJco7bVNUp>6PG^YCVu;rfEz4-tpZ4;9&xDymEm&2!NX=%-^ zt*rJN%B{hqT@iF|X{+CKD9sg-@W8_iT1#}&i%WM=a1_MtE#cQ3&j+xZj0Wy3w3WcL zSniJ2sni+i>A_M`Qfew!S64Twxt}7?&h4vOTw2P`WBoNTksO++THASlj_uyJh@sXr z?k1NL+#fb*CfccM!)GXmG`hHhKRC$UkCO+?_^;0QI5cEp*t4)*9tm%XaT!wbR}g-v zo~TY9Q`nuWpVc|uzQbipVj4vwtV2DQbca45z{2c>6%pwKSCMuLI&0s%LN`r3#h!gE z^#t58D)@@}QHEcMp$)x)(%}yIfg5qAgXl~Nf%_JlzxtPMTd7+M$vv(k3*N`t|DK&4 zb8&l(gx4iF+gPNYG2ysUlFP4E=8%M)J;~$&PniuhcWP*NH>UHAlZD}_?Bp)I6h%rB z_GMFxPbIbZ;>#;kgu>w|<612NOm$)f8nw63(dRp85*IhdOMILF&RAahU^YNodZFQH zlm+Q^ecSo#arJbHDXoo0I_~}X@y>NLv^^LWVNp?r z$_8)?$kGMWMwW+vz|!e83S-G38|-jusrlaxUW+R$CAMpWJVtD^w6}P9d9lg(#QGBW ziJ)CzxKMF%MYXq!y$T{0QBxzSzq;g=5xii3@XYif{6>>6j*hXhDhO?NfN`lrXC*X5Ak^=eVD3a%N{|zmb@>oc!_Q2k@u4_4O`5 zy49hKkO5v|NePMV{r#Gyx?5HmgOnuh$8%^%_y;sch>43gjE;UoHqHK!On7*>S6LYc z5fPD+*@EpWiqBb25lXRN!c_bWa+c$G9fDU9T!KAO(dJiH(2zt_?DcDaVKl~|iN*PO zp{vUal~Thyef&ox%gf6?$&XaQ zqxWs$SFfxu&z%xncg6Ym`LR;DQB7xTKBC?xqD)`5IhB8ex<%@3ba11WV95$ld~e(! zu_2B35y4aCpGhygwvUc73JY-oT2oR|2nF5wkjDU%{ET}(9>hm-dR2=?ZD$${!NmGlXi5C-fR zT4S%f2WLe8AR?VI`&FsM&%np4rET7^(6p8EGL{}qMM2_AOpO26uOs;N=SxdVy1Kf* zmzV8d&IS*cO|Fdx4u-V8>~c3O4w{AAi!(u;ARf}tpurD7{m+q+1T!-; z@(Kzggx@(>IB-6AHkc6&6tLCh#q6|)3Mi{ihDF6#*t+ni9q`KSy5&|qCY`msF7CGu_@azV;NS{Y27w_d=bsKUVWrEN@AZMMZaxg$fN5NHuCL zwtopE;T~M&1L2U0T6U?zX2W*VuHG?>^>6#LEiCgKk!T@5lTg7HpE-$ckkV^eYvTxt82N~e#g|*^cFVuv#Bp6 z1O&cWS#(eeB!cd7jOtbWDIx(m<&Wnc3ZrrZv4QHf{X0YYVQaejt(=??5F02-L>!+J zUfR9O%S&Yy^{ZqtBr^J$)cS@Ep4wldr|Ze#85re)tdp2Myc>RB@n|I}C5ED|jK# z_^w(Axhd#`QFnHCAMx_W*3<-~Cc+E(5*zzYN4K<#$6@O=d|l9;$&s|HOVf@psz7qV z1UNQkk4sn3>{;2_tleX4wq^M+QN0ZxVq;?ikzqBPU-4O94O&gzcZXQXbo+l$81G zGN|=|4Mqs%QV`rcX8+O_QSqshFLQ}itGef-$jrNsThA@^5(0GU^7;gKWH zMYZE@h{t);YI$o2x#q&bOB{Z9So2CwA-|j9(H=Y3^$QCy{_SvE;XGQci z#N*8+rNz((ynm^x*Cf&9Bwc^-;DNyT_RB3&0qpqR>%8=PJk#GcxNi-3+iu%x&lcI* zlfI^ST;M%5#aAqOkB9m6XU01U7i=MR3N!W19|gVy>C`;)GAp5R3V~UlgU_5D2U^pd z;3CMw(RRL3dAGmyGu!xzn2cnGL8xH4;(fb1QmG>n0O%+_C)S;v9Umhw7rJ9PLkbI- zS=rdirfP627A3V&36SU^2M0bQ|MsCL8d*|J4GEy&O)O&D zp1&%eaIr*7n*0IcZUcL`cI_JG5NN;t^#dR}XdeOOq?9@&>Fnw{ z8LPi+iM6Ox(K&_gGMS1cyLYeo%VW_}+84L10su_mhG1BB(BBNBefl)lN~S6=&n!r* z&>J^MG@e`$M#v5n`ffK{AG6D$X)w89FM+13r>`#>gKFt-XiFcxy}dn?sXj7NQmNOk zyYbCt7(*l?|0OczR_5M=I-PF`z$yTn#2@%AxIY>1D$HH?2SjPp`qylmo12jz+*C|K zLE-J~J#5JI^yx;qlYG^F>P}_+Y4TSd9JF}pwkQ@I%z{WpbqOFEmUeb6BO~~rhQP!6 z5EO)kkB^T@$efffi7PaW(!=yIM!?NE=&VDjK%=MJY%()DTYIL)DJrU6Bu0q+Rg7;F zDh}V9g|Z(%xPexUIhP3ey`%If|MWj#v9}jE1-H>Cyk+sQ|F59^?=LJv_boB#+Z}!@ zGm!O`21!`Ms3c1ZUf&u>%IEzh30@Qs%lYG-1s@}rp-A+#`y-#XepiS+bbX7Pl9JLA zbW?)Ir4tx1t)O^c1G7AVQ}~l1L?P@|xs~9RkwF6^X(8Gmp<#BG+{42I=_S=Mqfuy|Ut);80 zhE4S=J+W=81F2-18VA9f2t@BO!;?h{CDSjlg1Og zYHRsntg&0n#K8ydj=r-PDAto?RI7YmqThpP@9u5}eO)MRYs=2U!lG3A73c%7Ie4bU zrKKGpt>KA@NK1;2j;_>f@*7BZ**9-K6ciN9bu!%0^T@EO+@4O`_PX&tBtK|yk$ zoD=0{lE%hQMn^|i51hBE)*1Z+0<5g8l3~z*t)-Z+)`67Iw{G92prri%>YbLB78n-S zOiWB_YHE~WQX@}&_Ue)o@izT+LvJrOwD!j4CRP^;7Y~n|hQIA>YX; zkB1*CWc><7e1(*yOF&YgtV+2sng~WR0$l4t_X}qY=QS#ZDvD-Osc=i>GGly$-nit_ z(tGf98XgyRH*v^b1N*9jpBC;Ap_+Lkm{06A?4(P;r@GFo)pfX~zp`ig+EK*Yw8;_znXn-zF{w2YVK|Kj~ zm&}>;+(e@fnzJ+8UoV_rHBM{-FDTCY;*?gW2U3$IYv?M5%yR)8`-{ng%nKt+nA@%kejJWV@nMwl<9(Hifo4+@K=n1Q;OERt0zmf{qmr5D7UrIx zG)kD1ym37SR^2CE`AE2b8DMpneZLy4!<%6N6xyHba}iXZKRR;}ym#z@#=;I-bgX4W-N#!_>m zv3|YVR-#6>F4&Py<)x{bNi@C7RCt&|>>pk|z!viJ`9G46|25M71CrUXd`*JXC)-=g z@P*DlQP1JtzyAsl6R1~;Orih>SwJt}yiC5>oLm4tAvLA8h?;GJ^18%eOsV(PMZ#`mT zyZd2tvSO$}Q!p+*9{fG6X1_aN=BxbExZJxNhC#rn3vwLsJtJdbd09Vd1sn!d)tFJL zTNLIW(^0#769p3+8->!PgWg-RUjx;H;S20= z8y;kLNJdag-`p5puq*)kO6Cqm5{el@7)Hu^@&2FYptBLTLY1I8#e4$~AAFitZ$guwZPV#?NME@SH|DM7| z_p!maL&7S=1oX>P)YRa`7mTEXJN!I6c`cIRT`Rz8R(`(zT;nIc-S)>mPGIV>)`O-8 zdlKMbZ$wGc=$}Vhyu$2$?g&Z(>_*F=H9*Ak?Is*}0mU%)f=Rd=FE7si^SRN$A4nYn z*j}5h7j&*A19}3e1NtQLKJsW~YZF4dJ3AX;v~N#zbabq8-=+|58rq^BHO#<0|2{}Ve~c>p^r zdQu0|$b;H8hjH=@t(C37?f~na_Q?~d$?(NRUBpdn5;4fQOvdu5`1s;7GihH1lVpk9 z2A=a>oC{1AHm6-($mWpVfydR^EDAFl+v7)%K0-Calpua)F{8FnD0B<3)>`=v2}$?i z=44Rs9^@fl2dkPY-jelQ+%@{&@S%Sn*?+5c|9Q5)yvRZ(Vt$W6>IInDz=H^vu^v3b z1czd3diwV5+jAj;m&_BbA8%j~a+<60D>4v&^ll=hhMW@Y3S4sXzUI$&qxqbQwPrxZ zAkEsWtSqE#;oE7xi=~=lsC>Y4S_(#8Z`@pe^2^sz%qSm_K8H>#CX8;#@RFhCee`m2 zazH?V>(0UP6@pcNe}7tfdY$1+*_yMhYQ*^h`PFYA+?H$6R8U2^s%2m-bm#q*n%x0cOk7ejH6`WR2MB#32LU@Tw{`q{P?+|ISB~laf9>77a!uMa*|G)i+O1$Ah$dqn^hV8rt9>NUkGldefk!k7%O1 ztE;K64+kPFD=U^*P7CwG%g9N+J5s_naLRb5E%L=aK!mhb&$X=?q7>}_l}vlk|E2;$eW4Rzr>f*Bd(qDS6?_Z zWa^~zO1y({jr(TV*q=fgA(I1V7BrV{?x^#O|D)>HoN$?o-gv z_=bhysi~=9?!6Qe0`itsB(1DW2oRCo$I3Ave^w+&5l?+>6IDpjO7d7m;3pSXu0`xC$t<9tFD-vxyICW09>6TyGMt* z_r;A)7UKjO{RHYD@SQ&;Pzp%To%x#wK5pCWY<(Rky}74!#^d%3{1*awTtx;t;rtP} zoaqCa0&dVyoVK^^gaCBK1oLGwBIIJq7`+XPU(Y%&1aT5q`AtCT`F^SMD{#x-3k#@` zjC&U_IFXnMsA9X?->_OWH#Zj%894+DTk20{Zmupgk105C;WRRXb#5+AJ+D+pta1Vm zQbGSfV&e(uVs*T&1)R6Aw6sQhx^*T*@LioNw?SV*OJCn#e<9Q35Ty|hpq75b!M~)7dKu)?mz|lPKbjl-&aTXTae2Ae<;WcA7D-E|i-wSaEv;GPuJgA|uiD|SJ|vg9>eZvG zr^w59b{@mrv$C}O+0cLjE(2WJCi`~OGqV`g!uOtX5?SC0EiEsnKcT0`+Jm71u$Y=( zb@^6?KMj^MOwuCcGNj|>z@o^C;j~Bq8Nl|mM6c_<9T}IypOM!y7YJY|E>fIdd9UcbHCt5Tb&5JOl_-ru)Td)(wpNnE-Oc>YD3)A}?Ne z?t=YkE=b&UcA_Mu-G}TfS2SNKTJEQ;`YA26+pNw zJ5p-uE4K#$0PA#g4G=V!@R*O3&GgOBYYUuhu<3V4H2}3=1%(m5(S}Cu`co%_A2gay z-o)U%O+(tz9t2jufi5ynJtm@e4}^rd9S4s=Y39AFK>7wFRSXOQ z1nKGNQyy0r0La@=daUn%BH*=iM{vLhLlVxPV463AkR}vxbqxR0hE(6Nu@C;% zUkQLgNJ&BA36hr;tR$&Zt1=$2e2+mKVhx?`ue}7yax`TVLTxu(Mtui+tePgZ9BGnQ zSR`uo4?z_1*9TiBU!g5h)4c=C7x1$xx2WbSRNL~hH_x&nvUifNa#|-sl3)4)S<_s% zFFjW~kB*KW=kUmSaC&i`gZ#`Y8l4t@e58jDZ00_bMmM;#nmYIN7~R_Kcu2twfYE`J zY_NL-N^OMWZB4lyEbg!%T}a0TtjoVwmpC6}Q(qxPxzwLZ1*P@2qgf9b*a86G85FS9 z_U{*UFg)l-EjBKY;UU1%b!4xb&elz@YIuz%27qj}-Ewt4D>E}w ztQM}C4f*L4PR^s?f(1o!LGwPI{B&_(E4i@M)MV~qRzFx3zh0>@7&2KBob$zn9%6~< zQE)%~Vrl-%UfN53)f&g5IUYY=b?{7Jy5uSs&8JTugE4grtR83>JJm@&psnvO&re?c zEv&r@s~6#5;xj`70?#0>if|?%B@L3!&;h07W5mtP-JQT63le2NeG-vAt&GgB;j{NMMYuPz@?|FkExy}k_r2?MAPE} zxfu6GULLu<0HU;UY%CHiN8(mnzmO1`r%wZ6KCs!Yz5%=#2L}O`aGHTDfbC1Xl}QSD zGg1d3n;iyB?#Rk~`CvbRD!anf=~#V4MMVYr?c1{Opb8(rNUa*s1AhAzT9laGFjQ*- zC^mkQ{l>542svYz9O!Rm-Ouu#Ffl2Cf7=Nm%MCO%dbnXd9i3D#rz7Mfq~duLPR`D9 zAmv-y+R8^9^z#0tO^cWSxpXa}y1E*|6FKmb-_%2BiqBy-U8R7M4g9flbW|}qDvI{) z+qWEmLtu!dA@t15^1!wGDko73Ez#NBEDZXO4icannGhyRgNY(9A8{=Ll4s+g^dPOv zv%mEP!DRf|knr700*wg6I@0;_WMu@-A3q6lrL?%XxCo5`r4KROHp>dLdypYd_Xn4h zlpw$Vn!KZ9B}_cXzO#S+e2$NYmjb5LSD60(etvJD@f5)PM1KQmBMfcH+TBk2Y-l&| z66tC+3aaeZ(_sSU!*?i{n&xW7f^@08HVhWL#j?&I$grvJU}=`Y7FZc1F9!gduy06@ ze8B9SoC4)%JUpr>#uKGRu=9saD#sHq9Yn^js-UEl^UQ357VJ$0Ma6W0FpL|SF#dC3 zU}b}NqW_7@2zzLNI%;m9X}hlrC);l0N(-9~^S?Uzbakz;WcE?&QH4L4O01uJX^BnYnp> z42MZNtheUDE#%+w&CPvU29lElQZEibi5r<#3$1i%5$HHLN*|mdBET}MgM<$K4QOCl zo0VRLKEA!cYs1JepsNOO4XV#|uLsNHRSXaJie)&Ad?d!I6lvc;!zMu_egEFPsvZau z48hT=13m#8kUsJUoaV?~B8am8k@Z4xgFyN{m{)&x^p}R8KOT1W`hmS6ka!9~!Ozo! zb#B*VW}f&he;Xp;#mP{d2udodum;P4~>0&Auz9C?MwX48(ajeDlnIh0I7p|w1lKE*M%Rjsky7GtMH<0o$v6Mj*l~p z;Mc0E!~~3LNpN(qnFoR9TOGdExHyt3+chD`;{iK-!Xw6b+H6kTdi(kez+MKP$_(U% zI3%+AoDKf235Ug^Sdd$g7Ji561Orl5P0f^x{Qbtqp{_k>JLA_LCrgpzz?hKRA+R@T zkmzPeSVBo>Zv!IKQ z>Ip|ziH&A6~0$WZZZNa1{ zhBGzXpi5adSh%^kaPQu20=W;)Tk_isX`kBYE*%Td^6<5GJ#z;$u6t6>M_W>GXVA>Z zolIEggB=qj{RPl?Ka?)T#l^J^sZ_CU2VT?M7s$*ZD?zSR)zt7o!Vm(1BUB|+5knl8 z)isz;@INgaaX{684M4Ea7Sc8|Q#YCzH2Laf#!x(@|L?{pCv(KZsR7tJ+uPqD2PN3P zcAFC;tE+t}TDALwlAVy(QBhK|+tOhPZFS~~LP`TqJODdByL)@LF)*4Sa)P1tfK*$;1y!T)K1i|nX>XDHLX3l;34EQ4t2yqc<;e4U@AO8a_vHjlw diff --git a/examples/compiled/point_label_null_date.svg b/examples/compiled/point_label_null_date.svg index 65e22a2d18..e471b06374 100644 --- a/examples/compiled/point_label_null_date.svg +++ b/examples/compiled/point_label_null_date.svg @@ -1 +1 @@ -01 Jan02 Jan03 Jan04 Jan05 Jana (year-month-date)0102030405060b01 Jan02 Jan03 Jan04 Jan05 Jan31 Dec \ No newline at end of file +01 Jan02 Jan03 Jan04 Jan05 Jana (year-month-date)0102030405060b01 Jan02 Jan03 Jan04 Jan05 Jannull \ No newline at end of file diff --git a/examples/compiled/point_label_null_date.vg.json b/examples/compiled/point_label_null_date.vg.json index b12285f142..b792900595 100644 --- a/examples/compiled/point_label_null_date.vg.json +++ b/examples/compiled/point_label_null_date.vg.json @@ -41,13 +41,13 @@ "update": { "opacity": {"value": 0.7}, "tooltip": { - "signal": "{\"a (year-month-date)\": timeFormat(datum[\"yearmonthdate_a\"], '%d %b'), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a (year-month-date)\": !isValid(datum[\"yearmonthdate_a\"]) || !isFinite(+datum[\"yearmonthdate_a\"]) ? \"\" + datum[\"yearmonthdate_a\"] : timeFormat(datum[\"yearmonthdate_a\"], '%d %b'), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a (year-month-date): \" + (timeFormat(datum[\"yearmonthdate_a\"], '%d %b')) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a (year-month-date): \" + (!isValid(datum[\"yearmonthdate_a\"]) || !isFinite(+datum[\"yearmonthdate_a\"]) ? \"\" + datum[\"yearmonthdate_a\"] : timeFormat(datum[\"yearmonthdate_a\"], '%d %b')) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": [ { @@ -77,7 +77,7 @@ "baseline": {"value": "bottom"}, "fill": {"value": "black"}, "description": { - "signal": "\"a (year-month-date): \" + (timeFormat(datum[\"yearmonthdate_a\"], '%d %b')) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a (year-month-date): \" + (!isValid(datum[\"yearmonthdate_a\"]) || !isFinite(+datum[\"yearmonthdate_a\"]) ? \"\" + datum[\"yearmonthdate_a\"] : timeFormat(datum[\"yearmonthdate_a\"], '%d %b')) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": [ { @@ -94,7 +94,9 @@ }, {"scale": "y", "field": "b"} ], - "text": {"signal": "timeFormat(datum[\"yearmonthdate_a\"], '%d %b')"}, + "text": { + "signal": "!isValid(datum[\"yearmonthdate_a\"]) || !isFinite(+datum[\"yearmonthdate_a\"]) ? \"\" + datum[\"yearmonthdate_a\"] : timeFormat(datum[\"yearmonthdate_a\"], '%d %b')" + }, "align": {"value": "center"} } } diff --git a/examples/compiled/point_log.vg.json b/examples/compiled/point_log.vg.json index 93acc01217..eaf2f464d0 100644 --- a/examples/compiled/point_log.vg.json +++ b/examples/compiled/point_log.vg.json @@ -43,7 +43,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"x: \" + (format(datum[\"x\"], \"\")) + \"; y: \" + (format(datum[\"y\"], \"\"))" + "signal": "\"x: \" + (!isValid(datum[\"x\"]) || !isFinite(+datum[\"x\"]) ? \"\" + datum[\"x\"] : format(datum[\"x\"], \"\")) + \"; y: \" + (!isValid(datum[\"y\"]) || !isFinite(+datum[\"y\"]) ? \"\" + datum[\"y\"] : format(datum[\"y\"], \"\"))" }, "x": {"scale": "x", "field": "x"}, "y": {"scale": "y", "field": "y"} diff --git a/examples/compiled/point_no_axis_domain_grid.vg.json b/examples/compiled/point_no_axis_domain_grid.vg.json index d2f7b2ca1b..0a77092cc6 100644 --- a/examples/compiled/point_no_axis_domain_grid.vg.json +++ b/examples/compiled/point_no_axis_domain_grid.vg.json @@ -32,7 +32,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} diff --git a/examples/compiled/point_offset_random.vg.json b/examples/compiled/point_offset_random.vg.json index 2bac04a707..09cbdb0c89 100644 --- a/examples/compiled/point_offset_random.vg.json +++ b/examples/compiled/point_offset_random.vg.json @@ -39,7 +39,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; random: \" + (format(datum[\"random\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; random: \" + (!isValid(datum[\"random\"]) || !isFinite(+datum[\"random\"]) ? \"\" + datum[\"random\"] : format(datum[\"random\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": { diff --git a/examples/compiled/point_ordinal_bin_offset_random.vg.json b/examples/compiled/point_ordinal_bin_offset_random.vg.json index 87ccc18ce6..78b5b8330b 100644 --- a/examples/compiled/point_ordinal_bin_offset_random.vg.json +++ b/examples/compiled/point_ordinal_bin_offset_random.vg.json @@ -28,7 +28,7 @@ }, { "type": "formula", - "expr": "!isValid(datum[\"bin_maxbins_10_Miles_per_Gallon\"]) || !isFinite(+datum[\"bin_maxbins_10_Miles_per_Gallon\"]) ? \"null\" : format(datum[\"bin_maxbins_10_Miles_per_Gallon\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Miles_per_Gallon_end\"], \"\")", + "expr": "!isValid(datum[\"bin_maxbins_10_Miles_per_Gallon\"]) || !isFinite(+datum[\"bin_maxbins_10_Miles_per_Gallon\"]) ? \"\" + datum[\"bin_maxbins_10_Miles_per_Gallon\"] : format(datum[\"bin_maxbins_10_Miles_per_Gallon\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Miles_per_Gallon_end\"], \"\")", "as": "bin_maxbins_10_Miles_per_Gallon_range" }, {"type": "formula", "expr": "random()", "as": "random"}, @@ -59,7 +59,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon (binned): \" + (!isValid(datum[\"bin_maxbins_10_Miles_per_Gallon\"]) || !isFinite(+datum[\"bin_maxbins_10_Miles_per_Gallon\"]) ? \"null\" : format(datum[\"bin_maxbins_10_Miles_per_Gallon\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Miles_per_Gallon_end\"], \"\")) + \"; random: \" + (format(datum[\"random\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon (binned): \" + (!isValid(datum[\"bin_maxbins_10_Miles_per_Gallon\"]) || !isFinite(+datum[\"bin_maxbins_10_Miles_per_Gallon\"]) ? \"\" + datum[\"bin_maxbins_10_Miles_per_Gallon\"] : format(datum[\"bin_maxbins_10_Miles_per_Gallon\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Miles_per_Gallon_end\"], \"\")) + \"; random: \" + (!isValid(datum[\"random\"]) || !isFinite(+datum[\"random\"]) ? \"\" + datum[\"random\"] : format(datum[\"random\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": { diff --git a/examples/compiled/point_ordinal_color.vg.json b/examples/compiled/point_ordinal_color.vg.json index 2d312ab37c..30f1f59467 100644 --- a/examples/compiled/point_ordinal_color.vg.json +++ b/examples/compiled/point_ordinal_color.vg.json @@ -41,7 +41,7 @@ "stroke": {"scale": "color", "field": "a"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"x: \" + (format(datum[\"x\"], \"\")) + \"; y: \" + (format(datum[\"y\"], \"\")) + \"; a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"])" + "signal": "\"x: \" + (!isValid(datum[\"x\"]) || !isFinite(+datum[\"x\"]) ? \"\" + datum[\"x\"] : format(datum[\"x\"], \"\")) + \"; y: \" + (!isValid(datum[\"y\"]) || !isFinite(+datum[\"y\"]) ? \"\" + datum[\"y\"] : format(datum[\"y\"], \"\")) + \"; a: \" + (\"\" + datum[\"a\"])" }, "x": {"scale": "x", "field": "x"}, "y": {"scale": "y", "field": "y"} diff --git a/examples/compiled/point_params.vg.json b/examples/compiled/point_params.vg.json index f04fa9e882..f55042d791 100644 --- a/examples/compiled/point_params.vg.json +++ b/examples/compiled/point_params.vg.json @@ -76,7 +76,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} diff --git a/examples/compiled/point_quantile_quantile.vg.json b/examples/compiled/point_quantile_quantile.vg.json index 4c326c4229..bd2baa1962 100644 --- a/examples/compiled/point_quantile_quantile.vg.json +++ b/examples/compiled/point_quantile_quantile.vg.json @@ -61,7 +61,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"unif: \" + (format(datum[\"unif\"], \"\")) + \"; v: \" + (format(datum[\"v\"], \"\"))" + "signal": "\"unif: \" + (!isValid(datum[\"unif\"]) || !isFinite(+datum[\"unif\"]) ? \"\" + datum[\"unif\"] : format(datum[\"unif\"], \"\")) + \"; v: \" + (!isValid(datum[\"v\"]) || !isFinite(+datum[\"v\"]) ? \"\" + datum[\"v\"] : format(datum[\"v\"], \"\"))" }, "x": {"scale": "concat_0_x", "field": "unif"}, "y": {"scale": "concat_0_y", "field": "v"} @@ -142,7 +142,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"norm: \" + (format(datum[\"norm\"], \"\")) + \"; v: \" + (format(datum[\"v\"], \"\"))" + "signal": "\"norm: \" + (!isValid(datum[\"norm\"]) || !isFinite(+datum[\"norm\"]) ? \"\" + datum[\"norm\"] : format(datum[\"norm\"], \"\")) + \"; v: \" + (!isValid(datum[\"v\"]) || !isFinite(+datum[\"v\"]) ? \"\" + datum[\"v\"] : format(datum[\"v\"], \"\"))" }, "x": {"scale": "concat_1_x", "field": "norm"}, "y": {"scale": "concat_1_y", "field": "v"} diff --git a/examples/compiled/point_scale_range_field.vg.json b/examples/compiled/point_scale_range_field.vg.json index d85f7f063e..d1353f5612 100644 --- a/examples/compiled/point_scale_range_field.vg.json +++ b/examples/compiled/point_scale_range_field.vg.json @@ -34,7 +34,7 @@ "fill": {"scale": "color", "field": "l"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"y: \" + (isValid(datum[\"y\"]) ? datum[\"y\"] : \"\"+datum[\"y\"]) + \"; l: \" + (isValid(datum[\"l\"]) ? datum[\"l\"] : \"\"+datum[\"l\"])" + "signal": "\"y: \" + (\"\" + datum[\"y\"]) + \"; l: \" + (\"\" + datum[\"l\"])" }, "x": {"signal": "width", "mult": 0.5}, "y": {"scale": "y", "field": "y"}, diff --git a/examples/compiled/point_shape_custom.vg.json b/examples/compiled/point_shape_custom.vg.json index 96e9f6e858..9fbac5def3 100644 --- a/examples/compiled/point_shape_custom.vg.json +++ b/examples/compiled/point_shape_custom.vg.json @@ -32,7 +32,7 @@ "stroke": {"scale": "color", "field": "Cylinders"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Weight_in_lbs: \" + (format(datum[\"Weight_in_lbs\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Weight_in_lbs: \" + (!isValid(datum[\"Weight_in_lbs\"]) || !isFinite(+datum[\"Weight_in_lbs\"]) ? \"\" + datum[\"Weight_in_lbs\"] : format(datum[\"Weight_in_lbs\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/point_tooltip.vg.json b/examples/compiled/point_tooltip.vg.json index 613142f091..79a1af5323 100644 --- a/examples/compiled/point_tooltip.vg.json +++ b/examples/compiled/point_tooltip.vg.json @@ -30,12 +30,10 @@ "opacity": {"value": 0.7}, "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, - "tooltip": { - "signal": "isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]" - }, + "tooltip": {"signal": "\"\" + datum[\"Origin\"]"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} diff --git a/examples/compiled/rect_binned_heatmap.vg.json b/examples/compiled/rect_binned_heatmap.vg.json index 164e6c3a05..3d98f24b3a 100644 --- a/examples/compiled/rect_binned_heatmap.vg.json +++ b/examples/compiled/rect_binned_heatmap.vg.json @@ -76,7 +76,7 @@ "update": { "fill": {"scale": "color", "field": "__count"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_60_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_60_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_60_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_60_IMDB Rating_end\"], \"\")) + \"; Rotten Tomatoes Rating (binned): \" + (!isValid(datum[\"bin_maxbins_40_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"bin_maxbins_40_Rotten Tomatoes Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_40_Rotten Tomatoes Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_40_Rotten Tomatoes Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_60_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_60_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_60_IMDB Rating\"] : format(datum[\"bin_maxbins_60_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_60_IMDB Rating_end\"], \"\")) + \"; Rotten Tomatoes Rating (binned): \" + (!isValid(datum[\"bin_maxbins_40_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"bin_maxbins_40_Rotten Tomatoes Rating\"]) ? \"\" + datum[\"bin_maxbins_40_Rotten Tomatoes Rating\"] : format(datum[\"bin_maxbins_40_Rotten Tomatoes Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_40_Rotten Tomatoes Rating_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/rect_heatmap.vg.json b/examples/compiled/rect_heatmap.vg.json index 5afa68acb2..48916b5a26 100644 --- a/examples/compiled/rect_heatmap.vg.json +++ b/examples/compiled/rect_heatmap.vg.json @@ -39,7 +39,7 @@ "update": { "fill": {"scale": "color", "field": "mean_Horsepower"}, "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Mean of Horsepower: \" + (format(datum[\"mean_Horsepower\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Mean of Horsepower: \" + (!isValid(datum[\"mean_Horsepower\"]) || !isFinite(+datum[\"mean_Horsepower\"]) ? \"\" + datum[\"mean_Horsepower\"] : format(datum[\"mean_Horsepower\"], \"\"))" }, "x": {"scale": "x", "field": "Cylinders"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/rect_heatmap_weather.vg.json b/examples/compiled/rect_heatmap_weather.vg.json index 6c00cfca80..69668a9777 100644 --- a/examples/compiled/rect_heatmap_weather.vg.json +++ b/examples/compiled/rect_heatmap_weather.vg.json @@ -58,7 +58,7 @@ "update": { "fill": {"scale": "color", "field": "max_temp_max"}, "description": { - "signal": "\"Day: \" + (timeFormat(datum[\"date_date\"], '%e')) + \"; Month: \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Max of temp_max: \" + (format(datum[\"max_temp_max\"], \"\"))" + "signal": "\"Day: \" + (!isValid(datum[\"date_date\"]) || !isFinite(+datum[\"date_date\"]) ? \"\" + datum[\"date_date\"] : timeFormat(datum[\"date_date\"], '%e')) + \"; Month: \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Max of temp_max: \" + (!isValid(datum[\"max_temp_max\"]) || !isFinite(+datum[\"max_temp_max\"]) ? \"\" + datum[\"max_temp_max\"] : format(datum[\"max_temp_max\"], \"\"))" }, "x": {"scale": "x", "field": "date_date"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/rect_heatmap_weather_temporal_center_band.vg.json b/examples/compiled/rect_heatmap_weather_temporal_center_band.vg.json index ddafffe73d..d47084c0ba 100644 --- a/examples/compiled/rect_heatmap_weather_temporal_center_band.vg.json +++ b/examples/compiled/rect_heatmap_weather_temporal_center_band.vg.json @@ -83,7 +83,7 @@ "update": { "fill": {"scale": "color", "field": "max_temp_max"}, "description": { - "signal": "\"Day: \" + (timeFormat(datum[\"date_date\"], '%e')) + \"; Month: \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Max of temp_max: \" + (format(datum[\"max_temp_max\"], \"\"))" + "signal": "\"Day: \" + (!isValid(datum[\"date_date\"]) || !isFinite(+datum[\"date_date\"]) ? \"\" + datum[\"date_date\"] : timeFormat(datum[\"date_date\"], '%e')) + \"; Month: \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Max of temp_max: \" + (!isValid(datum[\"max_temp_max\"]) || !isFinite(+datum[\"max_temp_max\"]) ? \"\" + datum[\"max_temp_max\"] : format(datum[\"max_temp_max\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/rect_heatmap_weather_temporal_center_band_config.vg.json b/examples/compiled/rect_heatmap_weather_temporal_center_band_config.vg.json index ddafffe73d..d47084c0ba 100644 --- a/examples/compiled/rect_heatmap_weather_temporal_center_band_config.vg.json +++ b/examples/compiled/rect_heatmap_weather_temporal_center_band_config.vg.json @@ -83,7 +83,7 @@ "update": { "fill": {"scale": "color", "field": "max_temp_max"}, "description": { - "signal": "\"Day: \" + (timeFormat(datum[\"date_date\"], '%e')) + \"; Month: \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Max of temp_max: \" + (format(datum[\"max_temp_max\"], \"\"))" + "signal": "\"Day: \" + (!isValid(datum[\"date_date\"]) || !isFinite(+datum[\"date_date\"]) ? \"\" + datum[\"date_date\"] : timeFormat(datum[\"date_date\"], '%e')) + \"; Month: \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Max of temp_max: \" + (!isValid(datum[\"max_temp_max\"]) || !isFinite(+datum[\"max_temp_max\"]) ? \"\" + datum[\"max_temp_max\"] : format(datum[\"max_temp_max\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/rect_lasagna.vg.json b/examples/compiled/rect_lasagna.vg.json index 95f0ff9d87..282d4dcb27 100644 --- a/examples/compiled/rect_lasagna.vg.json +++ b/examples/compiled/rect_lasagna.vg.json @@ -42,7 +42,7 @@ "update": { "fill": {"scale": "color", "field": "sum_price"}, "description": { - "signal": "\"Time: \" + (timeFormat(datum[\"yearmonthdate_date\"], '%Y')) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"]) + \"; Price: \" + (format(datum[\"sum_price\"], \"\"))" + "signal": "\"Time: \" + (!isValid(datum[\"yearmonthdate_date\"]) || !isFinite(+datum[\"yearmonthdate_date\"]) ? \"\" + datum[\"yearmonthdate_date\"] : timeFormat(datum[\"yearmonthdate_date\"], '%Y')) + \"; symbol: \" + (\"\" + datum[\"symbol\"]) + \"; Price: \" + (!isValid(datum[\"sum_price\"]) || !isFinite(+datum[\"sum_price\"]) ? \"\" + datum[\"sum_price\"] : format(datum[\"sum_price\"], \"\"))" }, "x": {"scale": "x", "field": "yearmonthdate_date"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/rect_mosaic_labelled.vg.json b/examples/compiled/rect_mosaic_labelled.vg.json index 5d3eff6724..ad7aa7b981 100644 --- a/examples/compiled/rect_mosaic_labelled.vg.json +++ b/examples/compiled/rect_mosaic_labelled.vg.json @@ -110,13 +110,11 @@ "baseline": {"value": "middle"}, "fill": {"scale": "color", "field": "Origin"}, "description": { - "signal": "\"Origin: \" + (format(datum[\"min_xc\"], \"\"))" + "signal": "\"Origin: \" + (!isValid(datum[\"min_xc\"]) || !isFinite(+datum[\"min_xc\"]) ? \"\" + datum[\"min_xc\"] : format(datum[\"min_xc\"], \"\"))" }, "x": {"scale": "x", "field": "min_xc"}, "y": {"signal": "concat_0_height", "mult": 0.5}, - "text": { - "signal": "isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]" - } + "text": {"signal": "\"\" + datum[\"Origin\"]"} } } } @@ -155,10 +153,10 @@ "fill": {"scale": "color", "field": "Origin"}, "opacity": {"scale": "opacity", "field": "Cylinders"}, "tooltip": { - "signal": "{\"Origin\": isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"], \"Cylinders\": format(datum[\"Cylinders\"], \"\")}" + "signal": "{\"Origin\": \"\" + datum[\"Origin\"], \"Cylinders\": !isValid(datum[\"Cylinders\"]) || !isFinite(+datum[\"Cylinders\"]) ? \"\" + datum[\"Cylinders\"] : format(datum[\"Cylinders\"], \"\")}" }, "description": { - "signal": "\"x: \" + (format(datum[\"x\"], \"\")) + \"; y: \" + (format(datum[\"y\"], \"\")) + \"; x2: \" + (format(datum[\"x2\"], \"\")) + \"; y2: \" + (format(datum[\"y2\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Cylinders: \" + (format(datum[\"Cylinders\"], \"\"))" + "signal": "\"x: \" + (!isValid(datum[\"x\"]) || !isFinite(+datum[\"x\"]) ? \"\" + datum[\"x\"] : format(datum[\"x\"], \"\")) + \"; y: \" + (!isValid(datum[\"y\"]) || !isFinite(+datum[\"y\"]) ? \"\" + datum[\"y\"] : format(datum[\"y\"], \"\")) + \"; x2: \" + (!isValid(datum[\"x2\"]) || !isFinite(+datum[\"x2\"]) ? \"\" + datum[\"x2\"] : format(datum[\"x2\"], \"\")) + \"; y2: \" + (!isValid(datum[\"y2\"]) || !isFinite(+datum[\"y2\"]) ? \"\" + datum[\"y2\"] : format(datum[\"y2\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Cylinders: \" + (!isValid(datum[\"Cylinders\"]) || !isFinite(+datum[\"Cylinders\"]) ? \"\" + datum[\"Cylinders\"] : format(datum[\"Cylinders\"], \"\"))" }, "x": {"scale": "x", "field": "x"}, "x2": {"scale": "x", "field": "x2"}, @@ -177,13 +175,11 @@ "baseline": {"value": "middle"}, "fill": {"value": "black"}, "description": { - "signal": "\"xc: \" + (format(datum[\"xc\"], \"\")) + \"; yc: \" + (format(datum[\"yc\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"])" + "signal": "\"xc: \" + (!isValid(datum[\"xc\"]) || !isFinite(+datum[\"xc\"]) ? \"\" + datum[\"xc\"] : format(datum[\"xc\"], \"\")) + \"; yc: \" + (!isValid(datum[\"yc\"]) || !isFinite(+datum[\"yc\"]) ? \"\" + datum[\"yc\"] : format(datum[\"yc\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"])" }, "x": {"scale": "x", "field": "xc"}, "y": {"scale": "concat_1_y", "field": "yc"}, - "text": { - "signal": "isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]" - }, + "text": {"signal": "\"\" + datum[\"Cylinders\"]"}, "align": {"value": "center"} } } diff --git a/examples/compiled/rect_mosaic_labelled_with_offset.vg.json b/examples/compiled/rect_mosaic_labelled_with_offset.vg.json index f2c7e000f8..c14bbae570 100644 --- a/examples/compiled/rect_mosaic_labelled_with_offset.vg.json +++ b/examples/compiled/rect_mosaic_labelled_with_offset.vg.json @@ -147,13 +147,11 @@ "baseline": {"value": "middle"}, "fill": {"scale": "color", "field": "Origin"}, "description": { - "signal": "\"Origin: \" + (format(datum[\"min_xc\"], \"\"))" + "signal": "\"Origin: \" + (!isValid(datum[\"min_xc\"]) || !isFinite(+datum[\"min_xc\"]) ? \"\" + datum[\"min_xc\"] : format(datum[\"min_xc\"], \"\"))" }, "x": {"scale": "x", "field": "min_xc"}, "y": {"signal": "concat_0_height", "mult": 0.5}, - "text": { - "signal": "isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]" - } + "text": {"signal": "\"\" + datum[\"Origin\"]"} } } } @@ -192,10 +190,10 @@ "fill": {"scale": "color", "field": "Origin"}, "opacity": {"scale": "opacity", "field": "Cylinders"}, "tooltip": { - "signal": "{\"Origin\": isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"], \"Cylinders\": format(datum[\"Cylinders\"], \"\")}" + "signal": "{\"Origin\": \"\" + datum[\"Origin\"], \"Cylinders\": !isValid(datum[\"Cylinders\"]) || !isFinite(+datum[\"Cylinders\"]) ? \"\" + datum[\"Cylinders\"] : format(datum[\"Cylinders\"], \"\")}" }, "description": { - "signal": "\"nx: \" + (format(datum[\"nx\"], \"\")) + \"; ny: \" + (format(datum[\"ny\"], \"\")) + \"; nx2: \" + (format(datum[\"nx2\"], \"\")) + \"; ny2: \" + (format(datum[\"ny2\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Cylinders: \" + (format(datum[\"Cylinders\"], \"\"))" + "signal": "\"nx: \" + (!isValid(datum[\"nx\"]) || !isFinite(+datum[\"nx\"]) ? \"\" + datum[\"nx\"] : format(datum[\"nx\"], \"\")) + \"; ny: \" + (!isValid(datum[\"ny\"]) || !isFinite(+datum[\"ny\"]) ? \"\" + datum[\"ny\"] : format(datum[\"ny\"], \"\")) + \"; nx2: \" + (!isValid(datum[\"nx2\"]) || !isFinite(+datum[\"nx2\"]) ? \"\" + datum[\"nx2\"] : format(datum[\"nx2\"], \"\")) + \"; ny2: \" + (!isValid(datum[\"ny2\"]) || !isFinite(+datum[\"ny2\"]) ? \"\" + datum[\"ny2\"] : format(datum[\"ny2\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Cylinders: \" + (!isValid(datum[\"Cylinders\"]) || !isFinite(+datum[\"Cylinders\"]) ? \"\" + datum[\"Cylinders\"] : format(datum[\"Cylinders\"], \"\"))" }, "x": {"scale": "x", "field": "nx"}, "x2": {"scale": "x", "field": "nx2"}, @@ -214,13 +212,11 @@ "baseline": {"value": "middle"}, "fill": {"value": "black"}, "description": { - "signal": "\"xc: \" + (format(datum[\"xc\"], \"\")) + \"; yc: \" + (format(datum[\"yc\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"])" + "signal": "\"xc: \" + (!isValid(datum[\"xc\"]) || !isFinite(+datum[\"xc\"]) ? \"\" + datum[\"xc\"] : format(datum[\"xc\"], \"\")) + \"; yc: \" + (!isValid(datum[\"yc\"]) || !isFinite(+datum[\"yc\"]) ? \"\" + datum[\"yc\"] : format(datum[\"yc\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"])" }, "x": {"scale": "x", "field": "xc"}, "y": {"scale": "concat_1_y", "field": "yc"}, - "text": { - "signal": "isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]" - }, + "text": {"signal": "\"\" + datum[\"Cylinders\"]"}, "align": {"value": "center"} } } diff --git a/examples/compiled/rect_mosaic_simple.vg.json b/examples/compiled/rect_mosaic_simple.vg.json index 337a015354..88a3bec550 100644 --- a/examples/compiled/rect_mosaic_simple.vg.json +++ b/examples/compiled/rect_mosaic_simple.vg.json @@ -59,10 +59,10 @@ "fill": {"scale": "color", "field": "Origin"}, "opacity": {"scale": "opacity", "field": "Cylinders"}, "tooltip": { - "signal": "{\"Origin\": isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"], \"Cylinders\": format(datum[\"Cylinders\"], \"\")}" + "signal": "{\"Origin\": \"\" + datum[\"Origin\"], \"Cylinders\": !isValid(datum[\"Cylinders\"]) || !isFinite(+datum[\"Cylinders\"]) ? \"\" + datum[\"Cylinders\"] : format(datum[\"Cylinders\"], \"\")}" }, "description": { - "signal": "\"x: \" + (format(datum[\"x\"], \"\")) + \"; y: \" + (format(datum[\"y\"], \"\")) + \"; x2: \" + (format(datum[\"x2\"], \"\")) + \"; y2: \" + (format(datum[\"y2\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Cylinders: \" + (format(datum[\"Cylinders\"], \"\"))" + "signal": "\"x: \" + (!isValid(datum[\"x\"]) || !isFinite(+datum[\"x\"]) ? \"\" + datum[\"x\"] : format(datum[\"x\"], \"\")) + \"; y: \" + (!isValid(datum[\"y\"]) || !isFinite(+datum[\"y\"]) ? \"\" + datum[\"y\"] : format(datum[\"y\"], \"\")) + \"; x2: \" + (!isValid(datum[\"x2\"]) || !isFinite(+datum[\"x2\"]) ? \"\" + datum[\"x2\"] : format(datum[\"x2\"], \"\")) + \"; y2: \" + (!isValid(datum[\"y2\"]) || !isFinite(+datum[\"y2\"]) ? \"\" + datum[\"y2\"] : format(datum[\"y2\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Cylinders: \" + (!isValid(datum[\"Cylinders\"]) || !isFinite(+datum[\"Cylinders\"]) ? \"\" + datum[\"Cylinders\"] : format(datum[\"Cylinders\"], \"\"))" }, "x": {"scale": "x", "field": "x"}, "x2": {"scale": "x", "field": "x2"}, diff --git a/examples/compiled/repeat_child_layer.vg.json b/examples/compiled/repeat_child_layer.vg.json index 3cbfc36f98..33da8709c0 100644 --- a/examples/compiled/repeat_child_layer.vg.json +++ b/examples/compiled/repeat_child_layer.vg.json @@ -111,7 +111,7 @@ "stroke": {"scale": "color", "field": "location"}, "opacity": {"value": 0.2}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of temp_max: \" + (format(datum[\"mean_temp_max\"], \"\")) + \"; location: \" + (isValid(datum[\"location\"]) ? datum[\"location\"] : \"\"+datum[\"location\"]) + \"; date (year): \" + (timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of temp_max: \" + (!isValid(datum[\"mean_temp_max\"]) || !isFinite(+datum[\"mean_temp_max\"]) ? \"\" + datum[\"mean_temp_max\"] : format(datum[\"mean_temp_max\"], \"\")) + \"; location: \" + (\"\" + datum[\"location\"]) + \"; date (year): \" + (!isValid(datum[\"year_date\"]) || !isFinite(+datum[\"year_date\"]) ? \"\" + datum[\"year_date\"] : timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" }, "x": { "scale": "child__column_temp_max_x", @@ -158,7 +158,7 @@ "update": { "stroke": {"scale": "color", "field": "location"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of temp_max: \" + (format(datum[\"mean_temp_max\"], \"\")) + \"; location: \" + (isValid(datum[\"location\"]) ? datum[\"location\"] : \"\"+datum[\"location\"])" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of temp_max: \" + (!isValid(datum[\"mean_temp_max\"]) || !isFinite(+datum[\"mean_temp_max\"]) ? \"\" + datum[\"mean_temp_max\"] : format(datum[\"mean_temp_max\"], \"\")) + \"; location: \" + (\"\" + datum[\"location\"])" }, "x": { "scale": "child__column_temp_max_x", @@ -259,7 +259,7 @@ "stroke": {"scale": "color", "field": "location"}, "opacity": {"value": 0.2}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\")) + \"; location: \" + (isValid(datum[\"location\"]) ? datum[\"location\"] : \"\"+datum[\"location\"]) + \"; date (year): \" + (timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (!isValid(datum[\"mean_precipitation\"]) || !isFinite(+datum[\"mean_precipitation\"]) ? \"\" + datum[\"mean_precipitation\"] : format(datum[\"mean_precipitation\"], \"\")) + \"; location: \" + (\"\" + datum[\"location\"]) + \"; date (year): \" + (!isValid(datum[\"year_date\"]) || !isFinite(+datum[\"year_date\"]) ? \"\" + datum[\"year_date\"] : timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" }, "x": { "scale": "child__column_precipitation_x", @@ -306,7 +306,7 @@ "update": { "stroke": {"scale": "color", "field": "location"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\")) + \"; location: \" + (isValid(datum[\"location\"]) ? datum[\"location\"] : \"\"+datum[\"location\"])" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (!isValid(datum[\"mean_precipitation\"]) || !isFinite(+datum[\"mean_precipitation\"]) ? \"\" + datum[\"mean_precipitation\"] : format(datum[\"mean_precipitation\"], \"\")) + \"; location: \" + (\"\" + datum[\"location\"])" }, "x": { "scale": "child__column_precipitation_x", @@ -405,7 +405,7 @@ "stroke": {"scale": "color", "field": "location"}, "opacity": {"value": 0.2}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of wind: \" + (format(datum[\"mean_wind\"], \"\")) + \"; location: \" + (isValid(datum[\"location\"]) ? datum[\"location\"] : \"\"+datum[\"location\"]) + \"; date (year): \" + (timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of wind: \" + (!isValid(datum[\"mean_wind\"]) || !isFinite(+datum[\"mean_wind\"]) ? \"\" + datum[\"mean_wind\"] : format(datum[\"mean_wind\"], \"\")) + \"; location: \" + (\"\" + datum[\"location\"]) + \"; date (year): \" + (!isValid(datum[\"year_date\"]) || !isFinite(+datum[\"year_date\"]) ? \"\" + datum[\"year_date\"] : timeFormat(datum[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" }, "x": {"scale": "child__column_wind_x", "field": "month_date"}, "y": {"scale": "child__column_wind_y", "field": "mean_wind"}, @@ -444,7 +444,7 @@ "update": { "stroke": {"scale": "color", "field": "location"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of wind: \" + (format(datum[\"mean_wind\"], \"\")) + \"; location: \" + (isValid(datum[\"location\"]) ? datum[\"location\"] : \"\"+datum[\"location\"])" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of wind: \" + (!isValid(datum[\"mean_wind\"]) || !isFinite(+datum[\"mean_wind\"]) ? \"\" + datum[\"mean_wind\"] : format(datum[\"mean_wind\"], \"\")) + \"; location: \" + (\"\" + datum[\"location\"])" }, "x": {"scale": "child__column_wind_x", "field": "month_date"}, "y": {"scale": "child__column_wind_y", "field": "mean_wind"}, diff --git a/examples/compiled/repeat_histogram.vg.json b/examples/compiled/repeat_histogram.vg.json index 7a9df0329c..77f211957f 100644 --- a/examples/compiled/repeat_histogram.vg.json +++ b/examples/compiled/repeat_histogram.vg.json @@ -235,7 +235,7 @@ "fill": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Horsepower (binned): \" + (!isValid(datum[\"bin_maxbins_10_Horsepower\"]) || !isFinite(+datum[\"bin_maxbins_10_Horsepower\"]) ? \"null\" : format(datum[\"bin_maxbins_10_Horsepower\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Horsepower_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower (binned): \" + (!isValid(datum[\"bin_maxbins_10_Horsepower\"]) || !isFinite(+datum[\"bin_maxbins_10_Horsepower\"]) ? \"\" + datum[\"bin_maxbins_10_Horsepower\"] : format(datum[\"bin_maxbins_10_Horsepower\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Horsepower_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x2": { "scale": "child__Horsepower_x", @@ -314,7 +314,7 @@ "fill": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Miles_per_Gallon (binned): \" + (!isValid(datum[\"bin_maxbins_10_Miles_per_Gallon\"]) || !isFinite(+datum[\"bin_maxbins_10_Miles_per_Gallon\"]) ? \"null\" : format(datum[\"bin_maxbins_10_Miles_per_Gallon\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Miles_per_Gallon_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Miles_per_Gallon (binned): \" + (!isValid(datum[\"bin_maxbins_10_Miles_per_Gallon\"]) || !isFinite(+datum[\"bin_maxbins_10_Miles_per_Gallon\"]) ? \"\" + datum[\"bin_maxbins_10_Miles_per_Gallon\"] : format(datum[\"bin_maxbins_10_Miles_per_Gallon\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Miles_per_Gallon_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x2": { "scale": "child__Miles_per_Gallon_x", @@ -399,7 +399,7 @@ "fill": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Acceleration (binned): \" + (!isValid(datum[\"bin_maxbins_10_Acceleration\"]) || !isFinite(+datum[\"bin_maxbins_10_Acceleration\"]) ? \"null\" : format(datum[\"bin_maxbins_10_Acceleration\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Acceleration_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Acceleration (binned): \" + (!isValid(datum[\"bin_maxbins_10_Acceleration\"]) || !isFinite(+datum[\"bin_maxbins_10_Acceleration\"]) ? \"\" + datum[\"bin_maxbins_10_Acceleration\"] : format(datum[\"bin_maxbins_10_Acceleration\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Acceleration_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x2": { "scale": "child__Acceleration_x", @@ -478,7 +478,7 @@ "fill": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Displacement (binned): \" + (!isValid(datum[\"bin_maxbins_10_Displacement\"]) || !isFinite(+datum[\"bin_maxbins_10_Displacement\"]) ? \"null\" : format(datum[\"bin_maxbins_10_Displacement\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Displacement_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Displacement (binned): \" + (!isValid(datum[\"bin_maxbins_10_Displacement\"]) || !isFinite(+datum[\"bin_maxbins_10_Displacement\"]) ? \"\" + datum[\"bin_maxbins_10_Displacement\"] : format(datum[\"bin_maxbins_10_Displacement\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Displacement_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x2": { "scale": "child__Displacement_x", diff --git a/examples/compiled/repeat_histogram_autosize.vg.json b/examples/compiled/repeat_histogram_autosize.vg.json index 5039068319..826672ce53 100644 --- a/examples/compiled/repeat_histogram_autosize.vg.json +++ b/examples/compiled/repeat_histogram_autosize.vg.json @@ -110,7 +110,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Horsepower (binned): \" + (!isValid(datum[\"bin_maxbins_10_Horsepower\"]) || !isFinite(+datum[\"bin_maxbins_10_Horsepower\"]) ? \"null\" : format(datum[\"bin_maxbins_10_Horsepower\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Horsepower_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Horsepower (binned): \" + (!isValid(datum[\"bin_maxbins_10_Horsepower\"]) || !isFinite(+datum[\"bin_maxbins_10_Horsepower\"]) ? \"\" + datum[\"bin_maxbins_10_Horsepower\"] : format(datum[\"bin_maxbins_10_Horsepower\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Horsepower_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__Horsepower_x", @@ -189,7 +189,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Miles_per_Gallon (binned): \" + (!isValid(datum[\"bin_maxbins_10_Miles_per_Gallon\"]) || !isFinite(+datum[\"bin_maxbins_10_Miles_per_Gallon\"]) ? \"null\" : format(datum[\"bin_maxbins_10_Miles_per_Gallon\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Miles_per_Gallon_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Miles_per_Gallon (binned): \" + (!isValid(datum[\"bin_maxbins_10_Miles_per_Gallon\"]) || !isFinite(+datum[\"bin_maxbins_10_Miles_per_Gallon\"]) ? \"\" + datum[\"bin_maxbins_10_Miles_per_Gallon\"] : format(datum[\"bin_maxbins_10_Miles_per_Gallon\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Miles_per_Gallon_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__Miles_per_Gallon_x", diff --git a/examples/compiled/repeat_histogram_flights.vg.json b/examples/compiled/repeat_histogram_flights.vg.json index b44321b2fe..930e9d335b 100644 --- a/examples/compiled/repeat_histogram_flights.vg.json +++ b/examples/compiled/repeat_histogram_flights.vg.json @@ -133,7 +133,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"distance (binned): \" + (!isValid(datum[\"bin_maxbins_20_distance\"]) || !isFinite(+datum[\"bin_maxbins_20_distance\"]) ? \"null\" : format(datum[\"bin_maxbins_20_distance\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_distance_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"distance (binned): \" + (!isValid(datum[\"bin_maxbins_20_distance\"]) || !isFinite(+datum[\"bin_maxbins_20_distance\"]) ? \"\" + datum[\"bin_maxbins_20_distance\"] : format(datum[\"bin_maxbins_20_distance\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_distance_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_distance_x", @@ -212,7 +212,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"delay (binned): \" + (!isValid(datum[\"bin_maxbins_20_delay\"]) || !isFinite(+datum[\"bin_maxbins_20_delay\"]) ? \"null\" : format(datum[\"bin_maxbins_20_delay\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_delay_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"delay (binned): \" + (!isValid(datum[\"bin_maxbins_20_delay\"]) || !isFinite(+datum[\"bin_maxbins_20_delay\"]) ? \"\" + datum[\"bin_maxbins_20_delay\"] : format(datum[\"bin_maxbins_20_delay\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_delay_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_delay_x", @@ -291,7 +291,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"time (binned): \" + (!isValid(datum[\"bin_maxbins_20_time\"]) || !isFinite(+datum[\"bin_maxbins_20_time\"]) ? \"null\" : format(datum[\"bin_maxbins_20_time\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_time_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"time (binned): \" + (!isValid(datum[\"bin_maxbins_20_time\"]) || !isFinite(+datum[\"bin_maxbins_20_time\"]) ? \"\" + datum[\"bin_maxbins_20_time\"] : format(datum[\"bin_maxbins_20_time\"], \"\") + \" – \" + format(datum[\"bin_maxbins_20_time_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "child__column_time_x", diff --git a/examples/compiled/repeat_independent_colors.vg.json b/examples/compiled/repeat_independent_colors.vg.json index 3794e6b9e6..574c64ebdb 100644 --- a/examples/compiled/repeat_independent_colors.vg.json +++ b/examples/compiled/repeat_independent_colors.vg.json @@ -47,7 +47,7 @@ }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": {"scale": "child__column_Origin_x", "field": "Horsepower"}, "y": { @@ -149,7 +149,7 @@ }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"])" }, "x": { "scale": "child__column_Cylinders_x", diff --git a/examples/compiled/repeat_layer.vg.json b/examples/compiled/repeat_layer.vg.json index 3fba1104a4..9ecf0f71a6 100644 --- a/examples/compiled/repeat_layer.vg.json +++ b/examples/compiled/repeat_layer.vg.json @@ -53,7 +53,7 @@ "update": { "stroke": {"scale": "color", "value": "US Gross"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Mean of US and Worldwide Gross: \" + (format(datum[\"mean_US Gross\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Mean of US and Worldwide Gross: \" + (!isValid(datum[\"mean_US Gross\"]) || !isFinite(+datum[\"mean_US Gross\"]) ? \"\" + datum[\"mean_US Gross\"] : format(datum[\"mean_US Gross\"], \"\"))" }, "x": { "signal": "scale(\"x\", 0.5 * datum[\"bin_maxbins_10_IMDB Rating\"] + 0.5 * datum[\"bin_maxbins_10_IMDB Rating_end\"])" @@ -75,7 +75,7 @@ "update": { "stroke": {"scale": "color", "value": "Worldwide Gross"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Mean of US and Worldwide Gross: \" + (format(datum[\"mean_Worldwide Gross\"], \"\"))" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Mean of US and Worldwide Gross: \" + (!isValid(datum[\"mean_Worldwide Gross\"]) || !isFinite(+datum[\"mean_Worldwide Gross\"]) ? \"\" + datum[\"mean_Worldwide Gross\"] : format(datum[\"mean_Worldwide Gross\"], \"\"))" }, "x": { "signal": "scale(\"x\", 0.5 * datum[\"bin_maxbins_10_IMDB Rating\"] + 0.5 * datum[\"bin_maxbins_10_IMDB Rating_end\"])" diff --git a/examples/compiled/repeat_line_weather.vg.json b/examples/compiled/repeat_line_weather.vg.json index 2294df0f51..1d185762da 100644 --- a/examples/compiled/repeat_line_weather.vg.json +++ b/examples/compiled/repeat_line_weather.vg.json @@ -66,7 +66,7 @@ "update": { "stroke": {"scale": "color", "field": "location"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of temp_max: \" + (format(datum[\"mean_temp_max\"], \"\")) + \"; location: \" + (isValid(datum[\"location\"]) ? datum[\"location\"] : \"\"+datum[\"location\"])" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of temp_max: \" + (!isValid(datum[\"mean_temp_max\"]) || !isFinite(+datum[\"mean_temp_max\"]) ? \"\" + datum[\"mean_temp_max\"] : format(datum[\"mean_temp_max\"], \"\")) + \"; location: \" + (\"\" + datum[\"location\"])" }, "x": {"scale": "child__temp_max_x", "field": "month_date"}, "y": {"scale": "child__temp_max_y", "field": "mean_temp_max"}, @@ -174,7 +174,7 @@ "update": { "stroke": {"scale": "color", "field": "location"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\")) + \"; location: \" + (isValid(datum[\"location\"]) ? datum[\"location\"] : \"\"+datum[\"location\"])" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (!isValid(datum[\"mean_precipitation\"]) || !isFinite(+datum[\"mean_precipitation\"]) ? \"\" + datum[\"mean_precipitation\"] : format(datum[\"mean_precipitation\"], \"\")) + \"; location: \" + (\"\" + datum[\"location\"])" }, "x": { "scale": "child__precipitation_x", @@ -288,7 +288,7 @@ "update": { "stroke": {"scale": "color", "field": "location"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of wind: \" + (format(datum[\"mean_wind\"], \"\")) + \"; location: \" + (isValid(datum[\"location\"]) ? datum[\"location\"] : \"\"+datum[\"location\"])" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of wind: \" + (!isValid(datum[\"mean_wind\"]) || !isFinite(+datum[\"mean_wind\"]) ? \"\" + datum[\"mean_wind\"] : format(datum[\"mean_wind\"], \"\")) + \"; location: \" + (\"\" + datum[\"location\"])" }, "x": {"scale": "child__wind_x", "field": "month_date"}, "y": {"scale": "child__wind_y", "field": "mean_wind"}, diff --git a/examples/compiled/repeat_splom.vg.json b/examples/compiled/repeat_splom.vg.json index 78473dbd04..c910370899 100644 --- a/examples/compiled/repeat_splom.vg.json +++ b/examples/compiled/repeat_splom.vg.json @@ -138,7 +138,7 @@ "stroke": {"scale": "color", "field": "Species"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Body Mass (g): \" + (format(datum[\"Body Mass (g)\"], \"\")) + \"; Beak Length (mm): \" + (format(datum[\"Beak Length (mm)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"])" + "signal": "\"Body Mass (g): \" + (!isValid(datum[\"Body Mass (g)\"]) || !isFinite(+datum[\"Body Mass (g)\"]) ? \"\" + datum[\"Body Mass (g)\"] : format(datum[\"Body Mass (g)\"], \"\")) + \"; Beak Length (mm): \" + (!isValid(datum[\"Beak Length (mm)\"]) || !isFinite(+datum[\"Beak Length (mm)\"]) ? \"\" + datum[\"Beak Length (mm)\"] : format(datum[\"Beak Length (mm)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"])" }, "x": { "scale": "child__row_Beak_Length__mm_column_Body_Mass__g__x", @@ -225,7 +225,7 @@ "stroke": {"scale": "color", "field": "Species"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Flipper Length (mm): \" + (format(datum[\"Flipper Length (mm)\"], \"\")) + \"; Beak Length (mm): \" + (format(datum[\"Beak Length (mm)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"])" + "signal": "\"Flipper Length (mm): \" + (!isValid(datum[\"Flipper Length (mm)\"]) || !isFinite(+datum[\"Flipper Length (mm)\"]) ? \"\" + datum[\"Flipper Length (mm)\"] : format(datum[\"Flipper Length (mm)\"], \"\")) + \"; Beak Length (mm): \" + (!isValid(datum[\"Beak Length (mm)\"]) || !isFinite(+datum[\"Beak Length (mm)\"]) ? \"\" + datum[\"Beak Length (mm)\"] : format(datum[\"Beak Length (mm)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"])" }, "x": { "scale": "child__row_Beak_Length__mm_column_Flipper_Length__mm__x", @@ -312,7 +312,7 @@ "stroke": {"scale": "color", "field": "Species"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Beak Depth (mm): \" + (format(datum[\"Beak Depth (mm)\"], \"\")) + \"; Beak Length (mm): \" + (format(datum[\"Beak Length (mm)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"])" + "signal": "\"Beak Depth (mm): \" + (!isValid(datum[\"Beak Depth (mm)\"]) || !isFinite(+datum[\"Beak Depth (mm)\"]) ? \"\" + datum[\"Beak Depth (mm)\"] : format(datum[\"Beak Depth (mm)\"], \"\")) + \"; Beak Length (mm): \" + (!isValid(datum[\"Beak Length (mm)\"]) || !isFinite(+datum[\"Beak Length (mm)\"]) ? \"\" + datum[\"Beak Length (mm)\"] : format(datum[\"Beak Length (mm)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"])" }, "x": { "scale": "child__row_Beak_Length__mm_column_Beak_Depth__mm__x", @@ -399,7 +399,7 @@ "stroke": {"scale": "color", "field": "Species"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Beak Length (mm): \" + (format(datum[\"Beak Length (mm)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"])" + "signal": "\"Beak Length (mm): \" + (!isValid(datum[\"Beak Length (mm)\"]) || !isFinite(+datum[\"Beak Length (mm)\"]) ? \"\" + datum[\"Beak Length (mm)\"] : format(datum[\"Beak Length (mm)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"])" }, "x": { "scale": "child__row_Beak_Length__mm_column_Beak_Length__mm__x", @@ -486,7 +486,7 @@ "stroke": {"scale": "color", "field": "Species"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Body Mass (g): \" + (format(datum[\"Body Mass (g)\"], \"\")) + \"; Beak Depth (mm): \" + (format(datum[\"Beak Depth (mm)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"])" + "signal": "\"Body Mass (g): \" + (!isValid(datum[\"Body Mass (g)\"]) || !isFinite(+datum[\"Body Mass (g)\"]) ? \"\" + datum[\"Body Mass (g)\"] : format(datum[\"Body Mass (g)\"], \"\")) + \"; Beak Depth (mm): \" + (!isValid(datum[\"Beak Depth (mm)\"]) || !isFinite(+datum[\"Beak Depth (mm)\"]) ? \"\" + datum[\"Beak Depth (mm)\"] : format(datum[\"Beak Depth (mm)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"])" }, "x": { "scale": "child__row_Beak_Depth__mm_column_Body_Mass__g__x", @@ -573,7 +573,7 @@ "stroke": {"scale": "color", "field": "Species"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Flipper Length (mm): \" + (format(datum[\"Flipper Length (mm)\"], \"\")) + \"; Beak Depth (mm): \" + (format(datum[\"Beak Depth (mm)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"])" + "signal": "\"Flipper Length (mm): \" + (!isValid(datum[\"Flipper Length (mm)\"]) || !isFinite(+datum[\"Flipper Length (mm)\"]) ? \"\" + datum[\"Flipper Length (mm)\"] : format(datum[\"Flipper Length (mm)\"], \"\")) + \"; Beak Depth (mm): \" + (!isValid(datum[\"Beak Depth (mm)\"]) || !isFinite(+datum[\"Beak Depth (mm)\"]) ? \"\" + datum[\"Beak Depth (mm)\"] : format(datum[\"Beak Depth (mm)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"])" }, "x": { "scale": "child__row_Beak_Depth__mm_column_Flipper_Length__mm__x", @@ -660,7 +660,7 @@ "stroke": {"scale": "color", "field": "Species"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Beak Depth (mm): \" + (format(datum[\"Beak Depth (mm)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"])" + "signal": "\"Beak Depth (mm): \" + (!isValid(datum[\"Beak Depth (mm)\"]) || !isFinite(+datum[\"Beak Depth (mm)\"]) ? \"\" + datum[\"Beak Depth (mm)\"] : format(datum[\"Beak Depth (mm)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"])" }, "x": { "scale": "child__row_Beak_Depth__mm_column_Beak_Depth__mm__x", @@ -747,7 +747,7 @@ "stroke": {"scale": "color", "field": "Species"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Beak Length (mm): \" + (format(datum[\"Beak Length (mm)\"], \"\")) + \"; Beak Depth (mm): \" + (format(datum[\"Beak Depth (mm)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"])" + "signal": "\"Beak Length (mm): \" + (!isValid(datum[\"Beak Length (mm)\"]) || !isFinite(+datum[\"Beak Length (mm)\"]) ? \"\" + datum[\"Beak Length (mm)\"] : format(datum[\"Beak Length (mm)\"], \"\")) + \"; Beak Depth (mm): \" + (!isValid(datum[\"Beak Depth (mm)\"]) || !isFinite(+datum[\"Beak Depth (mm)\"]) ? \"\" + datum[\"Beak Depth (mm)\"] : format(datum[\"Beak Depth (mm)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"])" }, "x": { "scale": "child__row_Beak_Depth__mm_column_Beak_Length__mm__x", @@ -834,7 +834,7 @@ "stroke": {"scale": "color", "field": "Species"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Body Mass (g): \" + (format(datum[\"Body Mass (g)\"], \"\")) + \"; Flipper Length (mm): \" + (format(datum[\"Flipper Length (mm)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"])" + "signal": "\"Body Mass (g): \" + (!isValid(datum[\"Body Mass (g)\"]) || !isFinite(+datum[\"Body Mass (g)\"]) ? \"\" + datum[\"Body Mass (g)\"] : format(datum[\"Body Mass (g)\"], \"\")) + \"; Flipper Length (mm): \" + (!isValid(datum[\"Flipper Length (mm)\"]) || !isFinite(+datum[\"Flipper Length (mm)\"]) ? \"\" + datum[\"Flipper Length (mm)\"] : format(datum[\"Flipper Length (mm)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"])" }, "x": { "scale": "child__row_Flipper_Length__mm_column_Body_Mass__g__x", @@ -921,7 +921,7 @@ "stroke": {"scale": "color", "field": "Species"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Flipper Length (mm): \" + (format(datum[\"Flipper Length (mm)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"])" + "signal": "\"Flipper Length (mm): \" + (!isValid(datum[\"Flipper Length (mm)\"]) || !isFinite(+datum[\"Flipper Length (mm)\"]) ? \"\" + datum[\"Flipper Length (mm)\"] : format(datum[\"Flipper Length (mm)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"])" }, "x": { "scale": "child__row_Flipper_Length__mm_column_Flipper_Length__mm__x", @@ -1008,7 +1008,7 @@ "stroke": {"scale": "color", "field": "Species"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Beak Depth (mm): \" + (format(datum[\"Beak Depth (mm)\"], \"\")) + \"; Flipper Length (mm): \" + (format(datum[\"Flipper Length (mm)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"])" + "signal": "\"Beak Depth (mm): \" + (!isValid(datum[\"Beak Depth (mm)\"]) || !isFinite(+datum[\"Beak Depth (mm)\"]) ? \"\" + datum[\"Beak Depth (mm)\"] : format(datum[\"Beak Depth (mm)\"], \"\")) + \"; Flipper Length (mm): \" + (!isValid(datum[\"Flipper Length (mm)\"]) || !isFinite(+datum[\"Flipper Length (mm)\"]) ? \"\" + datum[\"Flipper Length (mm)\"] : format(datum[\"Flipper Length (mm)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"])" }, "x": { "scale": "child__row_Flipper_Length__mm_column_Beak_Depth__mm__x", @@ -1095,7 +1095,7 @@ "stroke": {"scale": "color", "field": "Species"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Beak Length (mm): \" + (format(datum[\"Beak Length (mm)\"], \"\")) + \"; Flipper Length (mm): \" + (format(datum[\"Flipper Length (mm)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"])" + "signal": "\"Beak Length (mm): \" + (!isValid(datum[\"Beak Length (mm)\"]) || !isFinite(+datum[\"Beak Length (mm)\"]) ? \"\" + datum[\"Beak Length (mm)\"] : format(datum[\"Beak Length (mm)\"], \"\")) + \"; Flipper Length (mm): \" + (!isValid(datum[\"Flipper Length (mm)\"]) || !isFinite(+datum[\"Flipper Length (mm)\"]) ? \"\" + datum[\"Flipper Length (mm)\"] : format(datum[\"Flipper Length (mm)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"])" }, "x": { "scale": "child__row_Flipper_Length__mm_column_Beak_Length__mm__x", @@ -1182,7 +1182,7 @@ "stroke": {"scale": "color", "field": "Species"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Body Mass (g): \" + (format(datum[\"Body Mass (g)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"])" + "signal": "\"Body Mass (g): \" + (!isValid(datum[\"Body Mass (g)\"]) || !isFinite(+datum[\"Body Mass (g)\"]) ? \"\" + datum[\"Body Mass (g)\"] : format(datum[\"Body Mass (g)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"])" }, "x": { "scale": "child__row_Body_Mass__g_column_Body_Mass__g__x", @@ -1269,7 +1269,7 @@ "stroke": {"scale": "color", "field": "Species"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Flipper Length (mm): \" + (format(datum[\"Flipper Length (mm)\"], \"\")) + \"; Body Mass (g): \" + (format(datum[\"Body Mass (g)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"])" + "signal": "\"Flipper Length (mm): \" + (!isValid(datum[\"Flipper Length (mm)\"]) || !isFinite(+datum[\"Flipper Length (mm)\"]) ? \"\" + datum[\"Flipper Length (mm)\"] : format(datum[\"Flipper Length (mm)\"], \"\")) + \"; Body Mass (g): \" + (!isValid(datum[\"Body Mass (g)\"]) || !isFinite(+datum[\"Body Mass (g)\"]) ? \"\" + datum[\"Body Mass (g)\"] : format(datum[\"Body Mass (g)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"])" }, "x": { "scale": "child__row_Body_Mass__g_column_Flipper_Length__mm__x", @@ -1356,7 +1356,7 @@ "stroke": {"scale": "color", "field": "Species"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Beak Depth (mm): \" + (format(datum[\"Beak Depth (mm)\"], \"\")) + \"; Body Mass (g): \" + (format(datum[\"Body Mass (g)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"])" + "signal": "\"Beak Depth (mm): \" + (!isValid(datum[\"Beak Depth (mm)\"]) || !isFinite(+datum[\"Beak Depth (mm)\"]) ? \"\" + datum[\"Beak Depth (mm)\"] : format(datum[\"Beak Depth (mm)\"], \"\")) + \"; Body Mass (g): \" + (!isValid(datum[\"Body Mass (g)\"]) || !isFinite(+datum[\"Body Mass (g)\"]) ? \"\" + datum[\"Body Mass (g)\"] : format(datum[\"Body Mass (g)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"])" }, "x": { "scale": "child__row_Body_Mass__g_column_Beak_Depth__mm__x", @@ -1443,7 +1443,7 @@ "stroke": {"scale": "color", "field": "Species"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Beak Length (mm): \" + (format(datum[\"Beak Length (mm)\"], \"\")) + \"; Body Mass (g): \" + (format(datum[\"Body Mass (g)\"], \"\")) + \"; Species: \" + (isValid(datum[\"Species\"]) ? datum[\"Species\"] : \"\"+datum[\"Species\"])" + "signal": "\"Beak Length (mm): \" + (!isValid(datum[\"Beak Length (mm)\"]) || !isFinite(+datum[\"Beak Length (mm)\"]) ? \"\" + datum[\"Beak Length (mm)\"] : format(datum[\"Beak Length (mm)\"], \"\")) + \"; Body Mass (g): \" + (!isValid(datum[\"Body Mass (g)\"]) || !isFinite(+datum[\"Body Mass (g)\"]) ? \"\" + datum[\"Body Mass (g)\"] : format(datum[\"Body Mass (g)\"], \"\")) + \"; Species: \" + (\"\" + datum[\"Species\"])" }, "x": { "scale": "child__row_Body_Mass__g_column_Beak_Length__mm__x", diff --git a/examples/compiled/repeat_splom_cars.vg.json b/examples/compiled/repeat_splom_cars.vg.json index 08e9d5ab95..12a4292bbd 100644 --- a/examples/compiled/repeat_splom_cars.vg.json +++ b/examples/compiled/repeat_splom_cars.vg.json @@ -74,7 +74,7 @@ "stroke": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Displacement: \" + (format(datum[\"Displacement\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Displacement: \" + (!isValid(datum[\"Displacement\"]) || !isFinite(+datum[\"Displacement\"]) ? \"\" + datum[\"Displacement\"] : format(datum[\"Displacement\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Displacementcolumn_Horsepower_x", @@ -161,7 +161,7 @@ "stroke": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Displacement: \" + (format(datum[\"Displacement\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Displacement: \" + (!isValid(datum[\"Displacement\"]) || !isFinite(+datum[\"Displacement\"]) ? \"\" + datum[\"Displacement\"] : format(datum[\"Displacement\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Displacementcolumn_Miles_per_Gallon_x", @@ -248,7 +248,7 @@ "stroke": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Miles_per_Galloncolumn_Horsepower_x", @@ -335,7 +335,7 @@ "stroke": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Miles_per_Galloncolumn_Miles_per_Gallon_x", diff --git a/examples/compiled/rule_color_mean.vg.json b/examples/compiled/rule_color_mean.vg.json index b0de789e6c..90034bbe4f 100644 --- a/examples/compiled/rule_color_mean.vg.json +++ b/examples/compiled/rule_color_mean.vg.json @@ -36,7 +36,7 @@ "update": { "stroke": {"scale": "color", "field": "symbol"}, "description": { - "signal": "\"Mean of price: \" + (format(datum[\"mean_price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"Mean of price: \" + (!isValid(datum[\"mean_price\"]) || !isFinite(+datum[\"mean_price\"]) ? \"\" + datum[\"mean_price\"] : format(datum[\"mean_price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"field": {"group": "width"}}, "x2": {"value": 0}, diff --git a/examples/compiled/rule_extent.vg.json b/examples/compiled/rule_extent.vg.json index c83df692fc..8272a16f93 100644 --- a/examples/compiled/rule_extent.vg.json +++ b/examples/compiled/rule_extent.vg.json @@ -39,7 +39,7 @@ "update": { "stroke": {"value": "black"}, "description": { - "signal": "\"Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Min of Horsepower: \" + (format(datum[\"min_Horsepower\"], \"\")) + \"; Max of Horsepower: \" + (format(datum[\"max_Horsepower\"], \"\"))" + "signal": "\"Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Min of Horsepower: \" + (!isValid(datum[\"min_Horsepower\"]) || !isFinite(+datum[\"min_Horsepower\"]) ? \"\" + datum[\"min_Horsepower\"] : format(datum[\"min_Horsepower\"], \"\")) + \"; Max of Horsepower: \" + (!isValid(datum[\"max_Horsepower\"]) || !isFinite(+datum[\"max_Horsepower\"]) ? \"\" + datum[\"max_Horsepower\"] : format(datum[\"max_Horsepower\"], \"\"))" }, "x": {"scale": "x", "field": "Origin", "band": 0.5}, "y": {"scale": "y", "field": "min_Horsepower"}, diff --git a/examples/compiled/sample_scatterplot.vg.json b/examples/compiled/sample_scatterplot.vg.json index 0699cf1e21..72a6ce778b 100644 --- a/examples/compiled/sample_scatterplot.vg.json +++ b/examples/compiled/sample_scatterplot.vg.json @@ -53,7 +53,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "concat_0_x", "field": "Horsepower"}, "y": {"scale": "concat_0_y", "field": "Miles_per_Gallon"} @@ -134,7 +134,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "concat_1_x", "field": "Horsepower"}, "y": {"scale": "concat_1_y", "field": "Miles_per_Gallon"} diff --git a/examples/compiled/scatter_image.vg.json b/examples/compiled/scatter_image.vg.json index 4bfe28fce6..c9c7fc3743 100644 --- a/examples/compiled/scatter_image.vg.json +++ b/examples/compiled/scatter_image.vg.json @@ -34,15 +34,13 @@ "encode": { "update": { "description": { - "signal": "\"x: \" + (format(datum[\"x\"], \"\")) + \"; y: \" + (format(datum[\"y\"], \"\")) + \"; img: \" + (isValid(datum[\"img\"]) ? datum[\"img\"] : \"\"+datum[\"img\"])" + "signal": "\"x: \" + (!isValid(datum[\"x\"]) || !isFinite(+datum[\"x\"]) ? \"\" + datum[\"x\"] : format(datum[\"x\"], \"\")) + \"; y: \" + (!isValid(datum[\"y\"]) || !isFinite(+datum[\"y\"]) ? \"\" + datum[\"y\"] : format(datum[\"y\"], \"\")) + \"; img: \" + (\"\" + datum[\"img\"])" }, "xc": {"scale": "x", "field": "x"}, "width": {"value": 50}, "yc": {"scale": "y", "field": "y"}, "height": {"value": 50}, - "url": { - "signal": "isValid(datum[\"img\"]) ? datum[\"img\"] : \"\"+datum[\"img\"]" - } + "url": {"signal": "\"\" + datum[\"img\"]"} } } } diff --git a/examples/compiled/selection_bind_cylyr.vg.json b/examples/compiled/selection_bind_cylyr.vg.json index 9afdab62a9..60990d3af0 100644 --- a/examples/compiled/selection_bind_cylyr.vg.json +++ b/examples/compiled/selection_bind_cylyr.vg.json @@ -83,7 +83,7 @@ ], "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/selection_bind_origin.vg.json b/examples/compiled/selection_bind_origin.vg.json index e7935ec60f..7729e84f8c 100644 --- a/examples/compiled/selection_bind_origin.vg.json +++ b/examples/compiled/selection_bind_origin.vg.json @@ -72,7 +72,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} diff --git a/examples/compiled/selection_brush_timeunit.vg.json b/examples/compiled/selection_brush_timeunit.vg.json index 9be393bf80..0230198241 100644 --- a/examples/compiled/selection_brush_timeunit.vg.json +++ b/examples/compiled/selection_brush_timeunit.vg.json @@ -312,7 +312,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"date (seconds): \" + (timeFormat(datum[\"seconds_date\"], timeUnitSpecifier([\"seconds\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date (seconds): \" + (!isValid(datum[\"seconds_date\"]) || !isFinite(+datum[\"seconds_date\"]) ? \"\" + datum[\"seconds_date\"] : timeFormat(datum[\"seconds_date\"], timeUnitSpecifier([\"seconds\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "concat_0_x", "field": "seconds_date"}, "y": {"scale": "concat_0_y", "field": "price"} @@ -448,7 +448,7 @@ "stroke": {"value": "goldenrod"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"date (minutes): \" + (timeFormat(datum[\"minutes_date\"], timeUnitSpecifier([\"minutes\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date (minutes): \" + (!isValid(datum[\"minutes_date\"]) || !isFinite(+datum[\"minutes_date\"]) ? \"\" + datum[\"minutes_date\"] : timeFormat(datum[\"minutes_date\"], timeUnitSpecifier([\"minutes\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "concat_1_x", "field": "minutes_date"}, "y": {"scale": "concat_1_y", "field": "price"} diff --git a/examples/compiled/selection_clear_brush.vg.json b/examples/compiled/selection_clear_brush.vg.json index 46be5c26dc..a5de9df286 100644 --- a/examples/compiled/selection_clear_brush.vg.json +++ b/examples/compiled/selection_clear_brush.vg.json @@ -332,7 +332,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} diff --git a/examples/compiled/selection_composition_and.vg.json b/examples/compiled/selection_composition_and.vg.json index ed2b4334e8..98001c0ec0 100644 --- a/examples/compiled/selection_composition_and.vg.json +++ b/examples/compiled/selection_composition_and.vg.json @@ -582,7 +582,7 @@ {"value": "grey"} ], "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"scale": "x", "field": "Cylinders"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/selection_composition_or.vg.json b/examples/compiled/selection_composition_or.vg.json index 86b967ca1b..24b2bc26f7 100644 --- a/examples/compiled/selection_composition_or.vg.json +++ b/examples/compiled/selection_composition_or.vg.json @@ -582,7 +582,7 @@ {"value": "grey"} ], "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"scale": "x", "field": "Cylinders"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/selection_concat.vg.json b/examples/compiled/selection_concat.vg.json index 5cf2a29f53..ce7429501b 100644 --- a/examples/compiled/selection_concat.vg.json +++ b/examples/compiled/selection_concat.vg.json @@ -345,7 +345,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Horsepower: \" + (format(datum[\"Horsepower\"], \"\"))" + "signal": "\"Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\"))" }, "x": {"scale": "concat_0_x", "field": "Miles_per_Gallon"}, "y": {"scale": "concat_0_y", "field": "Horsepower"} @@ -594,7 +594,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Displacement: \" + (format(datum[\"Displacement\"], \"\")) + \"; Acceleration: \" + (format(datum[\"Acceleration\"], \"\"))" + "signal": "\"Displacement: \" + (!isValid(datum[\"Displacement\"]) || !isFinite(+datum[\"Displacement\"]) ? \"\" + datum[\"Displacement\"] : format(datum[\"Displacement\"], \"\")) + \"; Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\"))" }, "x": {"scale": "concat_1_x", "field": "Displacement"}, "y": {"scale": "concat_1_y", "field": "Acceleration"} diff --git a/examples/compiled/selection_filter.vg.json b/examples/compiled/selection_filter.vg.json index 505a39faf7..a5fba5d0b5 100644 --- a/examples/compiled/selection_filter.vg.json +++ b/examples/compiled/selection_filter.vg.json @@ -342,7 +342,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "concat_0_x", "field": "Horsepower"}, "y": {"scale": "concat_0_y", "field": "Miles_per_Gallon"} @@ -472,7 +472,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Displacement: \" + (format(datum[\"Displacement\"], \"\"))" + "signal": "\"Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Displacement: \" + (!isValid(datum[\"Displacement\"]) || !isFinite(+datum[\"Displacement\"]) ? \"\" + datum[\"Displacement\"] : format(datum[\"Displacement\"], \"\"))" }, "x": {"scale": "concat_1_x", "field": "Acceleration"}, "y": {"scale": "concat_1_y", "field": "Displacement"} diff --git a/examples/compiled/selection_filter_composition.vg.json b/examples/compiled/selection_filter_composition.vg.json index 26922b2d98..de2667de51 100644 --- a/examples/compiled/selection_filter_composition.vg.json +++ b/examples/compiled/selection_filter_composition.vg.json @@ -342,7 +342,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "concat_0_x", "field": "Horsepower"}, "y": {"scale": "concat_0_y", "field": "Miles_per_Gallon"} @@ -472,7 +472,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Displacement: \" + (format(datum[\"Displacement\"], \"\"))" + "signal": "\"Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Displacement: \" + (!isValid(datum[\"Displacement\"]) || !isFinite(+datum[\"Displacement\"]) ? \"\" + datum[\"Displacement\"] : format(datum[\"Displacement\"], \"\"))" }, "x": {"scale": "concat_1_x", "field": "Acceleration"}, "y": {"scale": "concat_1_y", "field": "Displacement"} diff --git a/examples/compiled/selection_filter_false.vg.json b/examples/compiled/selection_filter_false.vg.json index 0511ef0c40..f1336620c9 100644 --- a/examples/compiled/selection_filter_false.vg.json +++ b/examples/compiled/selection_filter_false.vg.json @@ -342,7 +342,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "concat_0_x", "field": "Horsepower"}, "y": {"scale": "concat_0_y", "field": "Miles_per_Gallon"} @@ -472,7 +472,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Displacement: \" + (format(datum[\"Displacement\"], \"\"))" + "signal": "\"Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Displacement: \" + (!isValid(datum[\"Displacement\"]) || !isFinite(+datum[\"Displacement\"]) ? \"\" + datum[\"Displacement\"] : format(datum[\"Displacement\"], \"\"))" }, "x": {"scale": "concat_1_x", "field": "Acceleration"}, "y": {"scale": "concat_1_y", "field": "Displacement"} diff --git a/examples/compiled/selection_filter_true.vg.json b/examples/compiled/selection_filter_true.vg.json index 505a39faf7..a5fba5d0b5 100644 --- a/examples/compiled/selection_filter_true.vg.json +++ b/examples/compiled/selection_filter_true.vg.json @@ -342,7 +342,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "concat_0_x", "field": "Horsepower"}, "y": {"scale": "concat_0_y", "field": "Miles_per_Gallon"} @@ -472,7 +472,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Displacement: \" + (format(datum[\"Displacement\"], \"\"))" + "signal": "\"Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Displacement: \" + (!isValid(datum[\"Displacement\"]) || !isFinite(+datum[\"Displacement\"]) ? \"\" + datum[\"Displacement\"] : format(datum[\"Displacement\"], \"\"))" }, "x": {"scale": "concat_1_x", "field": "Acceleration"}, "y": {"scale": "concat_1_y", "field": "Displacement"} diff --git a/examples/compiled/selection_heatmap.vg.json b/examples/compiled/selection_heatmap.vg.json index c3d9ddae10..f439f6647c 100644 --- a/examples/compiled/selection_heatmap.vg.json +++ b/examples/compiled/selection_heatmap.vg.json @@ -118,7 +118,7 @@ {"value": 0} ], "description": { - "signal": "\"predicted: \" + (isValid(datum[\"predicted\"]) ? datum[\"predicted\"] : \"\"+datum[\"predicted\"]) + \"; actual: \" + (isValid(datum[\"actual\"]) ? datum[\"actual\"] : \"\"+datum[\"actual\"]) + \"; count: \" + (format(datum[\"count\"], \"\"))" + "signal": "\"predicted: \" + (\"\" + datum[\"predicted\"]) + \"; actual: \" + (\"\" + datum[\"actual\"]) + \"; count: \" + (!isValid(datum[\"count\"]) || !isFinite(+datum[\"count\"]) ? \"\" + datum[\"count\"] : format(datum[\"count\"], \"\"))" }, "x": {"scale": "x", "field": "predicted"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/selection_insert.vg.json b/examples/compiled/selection_insert.vg.json index 4fe9089c4e..ecf4f9a215 100644 --- a/examples/compiled/selection_insert.vg.json +++ b/examples/compiled/selection_insert.vg.json @@ -76,7 +76,7 @@ ], "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/selection_interval_mark_style.vg.json b/examples/compiled/selection_interval_mark_style.vg.json index 0a2dc34025..70f19ab881 100644 --- a/examples/compiled/selection_interval_mark_style.vg.json +++ b/examples/compiled/selection_interval_mark_style.vg.json @@ -575,7 +575,7 @@ "update": { "fill": {"scale": "color", "field": "__count"}, "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"scale": "x", "field": "Cylinders"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/selection_layer_bar_month.vg.json b/examples/compiled/selection_layer_bar_month.vg.json index 557cc28d0a..08f7b77c0c 100644 --- a/examples/compiled/selection_layer_bar_month.vg.json +++ b/examples/compiled/selection_layer_bar_month.vg.json @@ -294,7 +294,7 @@ ], "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (!isValid(datum[\"mean_precipitation\"]) || !isFinite(+datum[\"mean_precipitation\"]) ? \"\" + datum[\"mean_precipitation\"] : format(datum[\"mean_precipitation\"], \"\"))" }, "x": {"scale": "x", "field": "month_date"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, @@ -313,7 +313,7 @@ "update": { "stroke": {"value": "firebrick"}, "description": { - "signal": "\"Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))" + "signal": "\"Mean of precipitation: \" + (!isValid(datum[\"mean_precipitation\"]) || !isFinite(+datum[\"mean_precipitation\"]) ? \"\" + datum[\"mean_precipitation\"] : format(datum[\"mean_precipitation\"], \"\"))" }, "x": {"field": {"group": "width"}}, "x2": {"value": 0}, diff --git a/examples/compiled/selection_multi_condition.vg.json b/examples/compiled/selection_multi_condition.vg.json index 641e46c6e7..70a42a5c66 100644 --- a/examples/compiled/selection_multi_condition.vg.json +++ b/examples/compiled/selection_multi_condition.vg.json @@ -365,7 +365,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} diff --git a/examples/compiled/selection_project_binned_interval.vg.json b/examples/compiled/selection_project_binned_interval.vg.json index 72735d4648..2c9a611032 100644 --- a/examples/compiled/selection_project_binned_interval.vg.json +++ b/examples/compiled/selection_project_binned_interval.vg.json @@ -302,7 +302,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Acceleration (binned): \" + (!isValid(datum[\"bin_maxbins_10_Acceleration\"]) || !isFinite(+datum[\"bin_maxbins_10_Acceleration\"]) ? \"null\" : format(datum[\"bin_maxbins_10_Acceleration\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Acceleration_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Acceleration (binned): \" + (!isValid(datum[\"bin_maxbins_10_Acceleration\"]) || !isFinite(+datum[\"bin_maxbins_10_Acceleration\"]) ? \"\" + datum[\"bin_maxbins_10_Acceleration\"] : format(datum[\"bin_maxbins_10_Acceleration\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Acceleration_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "x", @@ -334,7 +334,7 @@ "fill": {"value": "goldenrod"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Acceleration (binned): \" + (!isValid(datum[\"bin_maxbins_10_Acceleration\"]) || !isFinite(+datum[\"bin_maxbins_10_Acceleration\"]) ? \"null\" : format(datum[\"bin_maxbins_10_Acceleration\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Acceleration_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Acceleration (binned): \" + (!isValid(datum[\"bin_maxbins_10_Acceleration\"]) || !isFinite(+datum[\"bin_maxbins_10_Acceleration\"]) ? \"\" + datum[\"bin_maxbins_10_Acceleration\"] : format(datum[\"bin_maxbins_10_Acceleration\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_Acceleration_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/selection_project_interval.vg.json b/examples/compiled/selection_project_interval.vg.json index c15ad980ed..59975fab46 100644 --- a/examples/compiled/selection_project_interval.vg.json +++ b/examples/compiled/selection_project_interval.vg.json @@ -305,7 +305,7 @@ {"value": "grey"} ], "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"scale": "x", "field": "Cylinders"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/selection_project_interval_x.vg.json b/examples/compiled/selection_project_interval_x.vg.json index 103c8a902d..279f1d8138 100644 --- a/examples/compiled/selection_project_interval_x.vg.json +++ b/examples/compiled/selection_project_interval_x.vg.json @@ -248,7 +248,7 @@ {"value": "grey"} ], "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"scale": "x", "field": "Cylinders"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/selection_project_interval_x_y.vg.json b/examples/compiled/selection_project_interval_x_y.vg.json index c15ad980ed..59975fab46 100644 --- a/examples/compiled/selection_project_interval_x_y.vg.json +++ b/examples/compiled/selection_project_interval_x_y.vg.json @@ -305,7 +305,7 @@ {"value": "grey"} ], "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"scale": "x", "field": "Cylinders"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/selection_project_interval_y.vg.json b/examples/compiled/selection_project_interval_y.vg.json index cbb7ea7b21..44900fbe6e 100644 --- a/examples/compiled/selection_project_interval_y.vg.json +++ b/examples/compiled/selection_project_interval_y.vg.json @@ -248,7 +248,7 @@ {"value": "grey"} ], "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"scale": "x", "field": "Cylinders"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/selection_project_multi.vg.json b/examples/compiled/selection_project_multi.vg.json index 88afcd2dae..e878b8ff4e 100644 --- a/examples/compiled/selection_project_multi.vg.json +++ b/examples/compiled/selection_project_multi.vg.json @@ -88,7 +88,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/selection_project_multi_cylinders.vg.json b/examples/compiled/selection_project_multi_cylinders.vg.json index 65e4a56ba1..8eaf5eb3ed 100644 --- a/examples/compiled/selection_project_multi_cylinders.vg.json +++ b/examples/compiled/selection_project_multi_cylinders.vg.json @@ -88,7 +88,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/selection_project_multi_cylinders_origin.vg.json b/examples/compiled/selection_project_multi_cylinders_origin.vg.json index c2915a3315..b27f10105d 100644 --- a/examples/compiled/selection_project_multi_cylinders_origin.vg.json +++ b/examples/compiled/selection_project_multi_cylinders_origin.vg.json @@ -91,7 +91,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/selection_project_multi_origin.vg.json b/examples/compiled/selection_project_multi_origin.vg.json index fe2706224b..4fbb61b2ab 100644 --- a/examples/compiled/selection_project_multi_origin.vg.json +++ b/examples/compiled/selection_project_multi_origin.vg.json @@ -85,7 +85,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/selection_project_single.vg.json b/examples/compiled/selection_project_single.vg.json index e65908bfec..ee61191551 100644 --- a/examples/compiled/selection_project_single.vg.json +++ b/examples/compiled/selection_project_single.vg.json @@ -77,7 +77,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/selection_project_single_cylinders.vg.json b/examples/compiled/selection_project_single_cylinders.vg.json index 45bc7d1c36..6bf0ff7456 100644 --- a/examples/compiled/selection_project_single_cylinders.vg.json +++ b/examples/compiled/selection_project_single_cylinders.vg.json @@ -77,7 +77,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/selection_project_single_cylinders_origin.vg.json b/examples/compiled/selection_project_single_cylinders_origin.vg.json index e057d5b625..aa1b284113 100644 --- a/examples/compiled/selection_project_single_cylinders_origin.vg.json +++ b/examples/compiled/selection_project_single_cylinders_origin.vg.json @@ -80,7 +80,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/selection_project_single_origin.vg.json b/examples/compiled/selection_project_single_origin.vg.json index 9f6e5e4d74..957dabaa5a 100644 --- a/examples/compiled/selection_project_single_origin.vg.json +++ b/examples/compiled/selection_project_single_origin.vg.json @@ -74,7 +74,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/selection_resolution_global.vg.json b/examples/compiled/selection_resolution_global.vg.json index 42b5206125..bbdb32f342 100644 --- a/examples/compiled/selection_resolution_global.vg.json +++ b/examples/compiled/selection_resolution_global.vg.json @@ -388,7 +388,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Horsepowercolumn_Miles_per_Gallon_x", @@ -803,7 +803,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Horsepowercolumn_Acceleration_x", @@ -1153,7 +1153,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Horsepowercolumn_Horsepower_x", @@ -1567,7 +1567,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Accelerationcolumn_Miles_per_Gallon_x", @@ -1919,7 +1919,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Accelerationcolumn_Acceleration_x", @@ -2331,7 +2331,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Accelerationcolumn_Horsepower_x", @@ -2685,7 +2685,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Miles_per_Galloncolumn_Miles_per_Gallon_x", @@ -3099,7 +3099,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Miles_per_Galloncolumn_Acceleration_x", @@ -3516,7 +3516,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Miles_per_Galloncolumn_Horsepower_x", diff --git a/examples/compiled/selection_resolution_intersect.vg.json b/examples/compiled/selection_resolution_intersect.vg.json index 2ff4c477e6..445d82884d 100644 --- a/examples/compiled/selection_resolution_intersect.vg.json +++ b/examples/compiled/selection_resolution_intersect.vg.json @@ -364,7 +364,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Horsepowercolumn_Miles_per_Gallon_x", @@ -731,7 +731,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Horsepowercolumn_Acceleration_x", @@ -1033,7 +1033,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Horsepowercolumn_Horsepower_x", @@ -1399,7 +1399,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Accelerationcolumn_Miles_per_Gallon_x", @@ -1703,7 +1703,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Accelerationcolumn_Acceleration_x", @@ -2067,7 +2067,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Accelerationcolumn_Horsepower_x", @@ -2373,7 +2373,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Miles_per_Galloncolumn_Miles_per_Gallon_x", @@ -2739,7 +2739,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Miles_per_Galloncolumn_Acceleration_x", @@ -3108,7 +3108,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Miles_per_Galloncolumn_Horsepower_x", diff --git a/examples/compiled/selection_resolution_union.vg.json b/examples/compiled/selection_resolution_union.vg.json index 98b8832080..cdb0bce5f2 100644 --- a/examples/compiled/selection_resolution_union.vg.json +++ b/examples/compiled/selection_resolution_union.vg.json @@ -364,7 +364,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Horsepowercolumn_Miles_per_Gallon_x", @@ -731,7 +731,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Horsepowercolumn_Acceleration_x", @@ -1033,7 +1033,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Horsepowercolumn_Horsepower_x", @@ -1399,7 +1399,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Accelerationcolumn_Miles_per_Gallon_x", @@ -1703,7 +1703,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Accelerationcolumn_Acceleration_x", @@ -2067,7 +2067,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Accelerationcolumn_Horsepower_x", @@ -2373,7 +2373,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Miles_per_Galloncolumn_Miles_per_Gallon_x", @@ -2739,7 +2739,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Acceleration: \" + (format(datum[\"Acceleration\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Acceleration: \" + (!isValid(datum[\"Acceleration\"]) || !isFinite(+datum[\"Acceleration\"]) ? \"\" + datum[\"Acceleration\"] : format(datum[\"Acceleration\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Miles_per_Galloncolumn_Acceleration_x", @@ -3108,7 +3108,7 @@ ], "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": { "scale": "child__row_Miles_per_Galloncolumn_Horsepower_x", diff --git a/examples/compiled/selection_toggle_altKey.vg.json b/examples/compiled/selection_toggle_altKey.vg.json index 02f223abcc..a2afe91486 100644 --- a/examples/compiled/selection_toggle_altKey.vg.json +++ b/examples/compiled/selection_toggle_altKey.vg.json @@ -87,7 +87,7 @@ ], "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/selection_toggle_altKey_shiftKey.vg.json b/examples/compiled/selection_toggle_altKey_shiftKey.vg.json index 7875b981b1..1e1d87c282 100644 --- a/examples/compiled/selection_toggle_altKey_shiftKey.vg.json +++ b/examples/compiled/selection_toggle_altKey_shiftKey.vg.json @@ -87,7 +87,7 @@ ], "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/selection_toggle_shiftKey.vg.json b/examples/compiled/selection_toggle_shiftKey.vg.json index d135317d00..057263aaa7 100644 --- a/examples/compiled/selection_toggle_shiftKey.vg.json +++ b/examples/compiled/selection_toggle_shiftKey.vg.json @@ -87,7 +87,7 @@ ], "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/selection_translate_brush_drag.vg.json b/examples/compiled/selection_translate_brush_drag.vg.json index 8a50639047..fe52a71056 100644 --- a/examples/compiled/selection_translate_brush_drag.vg.json +++ b/examples/compiled/selection_translate_brush_drag.vg.json @@ -317,7 +317,7 @@ ], "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Cylinders: \" + (format(datum[\"Cylinders\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Cylinders: \" + (!isValid(datum[\"Cylinders\"]) || !isFinite(+datum[\"Cylinders\"]) ? \"\" + datum[\"Cylinders\"] : format(datum[\"Cylinders\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/selection_translate_brush_shift-drag.vg.json b/examples/compiled/selection_translate_brush_shift-drag.vg.json index cabe504f56..431722edb6 100644 --- a/examples/compiled/selection_translate_brush_shift-drag.vg.json +++ b/examples/compiled/selection_translate_brush_shift-drag.vg.json @@ -319,7 +319,7 @@ ], "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Cylinders: \" + (format(datum[\"Cylinders\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Cylinders: \" + (!isValid(datum[\"Cylinders\"]) || !isFinite(+datum[\"Cylinders\"]) ? \"\" + datum[\"Cylinders\"] : format(datum[\"Cylinders\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/selection_translate_scatterplot_drag.vg.json b/examples/compiled/selection_translate_scatterplot_drag.vg.json index de26031214..1ad9495e39 100644 --- a/examples/compiled/selection_translate_scatterplot_drag.vg.json +++ b/examples/compiled/selection_translate_scatterplot_drag.vg.json @@ -145,7 +145,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (format(datum[\"Cylinders\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (!isValid(datum[\"Cylinders\"]) || !isFinite(+datum[\"Cylinders\"]) ? \"\" + datum[\"Cylinders\"] : format(datum[\"Cylinders\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/selection_translate_scatterplot_shift-drag.vg.json b/examples/compiled/selection_translate_scatterplot_shift-drag.vg.json index 8421703180..3e74d1e3c6 100644 --- a/examples/compiled/selection_translate_scatterplot_shift-drag.vg.json +++ b/examples/compiled/selection_translate_scatterplot_shift-drag.vg.json @@ -155,7 +155,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (format(datum[\"Cylinders\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (!isValid(datum[\"Cylinders\"]) || !isFinite(+datum[\"Cylinders\"]) ? \"\" + datum[\"Cylinders\"] : format(datum[\"Cylinders\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/selection_type_interval.vg.json b/examples/compiled/selection_type_interval.vg.json index c15ad980ed..59975fab46 100644 --- a/examples/compiled/selection_type_interval.vg.json +++ b/examples/compiled/selection_type_interval.vg.json @@ -305,7 +305,7 @@ {"value": "grey"} ], "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"scale": "x", "field": "Cylinders"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/selection_type_interval_invert.vg.json b/examples/compiled/selection_type_interval_invert.vg.json index 93286d2692..632ada0b5f 100644 --- a/examples/compiled/selection_type_interval_invert.vg.json +++ b/examples/compiled/selection_type_interval_invert.vg.json @@ -304,7 +304,7 @@ {"scale": "color", "field": "__count"} ], "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"scale": "x", "field": "Cylinders"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/selection_type_point.vg.json b/examples/compiled/selection_type_point.vg.json index 77df606b03..1feea4ad17 100644 --- a/examples/compiled/selection_type_point.vg.json +++ b/examples/compiled/selection_type_point.vg.json @@ -94,7 +94,7 @@ {"value": "grey"} ], "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"scale": "x", "field": "Cylinders"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/selection_type_point_zorder.vg.json b/examples/compiled/selection_type_point_zorder.vg.json index aee261c023..f4c154ed81 100644 --- a/examples/compiled/selection_type_point_zorder.vg.json +++ b/examples/compiled/selection_type_point_zorder.vg.json @@ -93,7 +93,7 @@ ], "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/selection_type_single_dblclick.vg.json b/examples/compiled/selection_type_single_dblclick.vg.json index 29abd06d18..d204d7846b 100644 --- a/examples/compiled/selection_type_single_dblclick.vg.json +++ b/examples/compiled/selection_type_single_dblclick.vg.json @@ -94,7 +94,7 @@ {"value": "grey"} ], "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"scale": "x", "field": "Cylinders"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/selection_type_single_pointerover.vg.json b/examples/compiled/selection_type_single_pointerover.vg.json index bacea56be8..cf9b6fb299 100644 --- a/examples/compiled/selection_type_single_pointerover.vg.json +++ b/examples/compiled/selection_type_single_pointerover.vg.json @@ -94,7 +94,7 @@ {"value": "grey"} ], "description": { - "signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": {"scale": "x", "field": "Cylinders"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/selection_zoom_brush_shift-wheel.vg.json b/examples/compiled/selection_zoom_brush_shift-wheel.vg.json index bfe0f59406..2a3fceba35 100644 --- a/examples/compiled/selection_zoom_brush_shift-wheel.vg.json +++ b/examples/compiled/selection_zoom_brush_shift-wheel.vg.json @@ -319,7 +319,7 @@ ], "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Cylinders: \" + (format(datum[\"Cylinders\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Cylinders: \" + (!isValid(datum[\"Cylinders\"]) || !isFinite(+datum[\"Cylinders\"]) ? \"\" + datum[\"Cylinders\"] : format(datum[\"Cylinders\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/selection_zoom_brush_wheel.vg.json b/examples/compiled/selection_zoom_brush_wheel.vg.json index 8a50639047..fe52a71056 100644 --- a/examples/compiled/selection_zoom_brush_wheel.vg.json +++ b/examples/compiled/selection_zoom_brush_wheel.vg.json @@ -317,7 +317,7 @@ ], "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Cylinders: \" + (format(datum[\"Cylinders\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Cylinders: \" + (!isValid(datum[\"Cylinders\"]) || !isFinite(+datum[\"Cylinders\"]) ? \"\" + datum[\"Cylinders\"] : format(datum[\"Cylinders\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/selection_zoom_scatterplot_shift-wheel.vg.json b/examples/compiled/selection_zoom_scatterplot_shift-wheel.vg.json index 999a1258c1..40a8623141 100644 --- a/examples/compiled/selection_zoom_scatterplot_shift-wheel.vg.json +++ b/examples/compiled/selection_zoom_scatterplot_shift-wheel.vg.json @@ -159,7 +159,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (format(datum[\"Cylinders\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (!isValid(datum[\"Cylinders\"]) || !isFinite(+datum[\"Cylinders\"]) ? \"\" + datum[\"Cylinders\"] : format(datum[\"Cylinders\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/selection_zoom_scatterplot_wheel.vg.json b/examples/compiled/selection_zoom_scatterplot_wheel.vg.json index de26031214..1ad9495e39 100644 --- a/examples/compiled/selection_zoom_scatterplot_wheel.vg.json +++ b/examples/compiled/selection_zoom_scatterplot_wheel.vg.json @@ -145,7 +145,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (format(datum[\"Cylinders\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (!isValid(datum[\"Cylinders\"]) || !isFinite(+datum[\"Cylinders\"]) ? \"\" + datum[\"Cylinders\"] : format(datum[\"Cylinders\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/sequence_line.vg.json b/examples/compiled/sequence_line.vg.json index 6e52704d22..e3f2c8bb5f 100644 --- a/examples/compiled/sequence_line.vg.json +++ b/examples/compiled/sequence_line.vg.json @@ -26,7 +26,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"x: \" + (format(datum[\"x\"], \"\")) + \"; sin(x): \" + (format(datum[\"sin(x)\"], \"\"))" + "signal": "\"x: \" + (!isValid(datum[\"x\"]) || !isFinite(+datum[\"x\"]) ? \"\" + datum[\"x\"] : format(datum[\"x\"], \"\")) + \"; sin(x): \" + (!isValid(datum[\"sin(x)\"]) || !isFinite(+datum[\"sin(x)\"]) ? \"\" + datum[\"sin(x)\"] : format(datum[\"sin(x)\"], \"\"))" }, "x": {"scale": "x", "field": "x"}, "y": {"scale": "y", "field": "sin(x)"}, diff --git a/examples/compiled/sequence_line_fold.vg.json b/examples/compiled/sequence_line_fold.vg.json index 20f4cc474e..ed077d719e 100644 --- a/examples/compiled/sequence_line_fold.vg.json +++ b/examples/compiled/sequence_line_fold.vg.json @@ -45,7 +45,7 @@ "update": { "stroke": {"scale": "color", "field": "key"}, "description": { - "signal": "\"x: \" + (format(datum[\"x\"], \"\")) + \"; value: \" + (format(datum[\"value\"], \"\")) + \"; key: \" + (isValid(datum[\"key\"]) ? datum[\"key\"] : \"\"+datum[\"key\"])" + "signal": "\"x: \" + (!isValid(datum[\"x\"]) || !isFinite(+datum[\"x\"]) ? \"\" + datum[\"x\"] : format(datum[\"x\"], \"\")) + \"; value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; key: \" + (\"\" + datum[\"key\"])" }, "x": {"scale": "x", "field": "x"}, "y": {"scale": "y", "field": "value"}, diff --git a/examples/compiled/square.vg.json b/examples/compiled/square.vg.json index cb1691ed44..bd5b99e584 100644 --- a/examples/compiled/square.vg.json +++ b/examples/compiled/square.vg.json @@ -30,7 +30,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "square"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/stacked_area.vg.json b/examples/compiled/stacked_area.vg.json index 1002440af6..c17104f907 100644 --- a/examples/compiled/stacked_area.vg.json +++ b/examples/compiled/stacked_area.vg.json @@ -72,7 +72,7 @@ "orient": {"value": "vertical"}, "fill": {"scale": "color", "field": "series"}, "description": { - "signal": "\"date (year-month): \" + (timeFormat(datum[\"yearmonth_date\"], '%Y')) + \"; Sum of count: \" + (format(datum[\"sum_count\"], \"\")) + \"; series: \" + (isValid(datum[\"series\"]) ? datum[\"series\"] : \"\"+datum[\"series\"])" + "signal": "\"date (year-month): \" + (!isValid(datum[\"yearmonth_date\"]) || !isFinite(+datum[\"yearmonth_date\"]) ? \"\" + datum[\"yearmonth_date\"] : timeFormat(datum[\"yearmonth_date\"], '%Y')) + \"; Sum of count: \" + (!isValid(datum[\"sum_count\"]) || !isFinite(+datum[\"sum_count\"]) ? \"\" + datum[\"sum_count\"] : format(datum[\"sum_count\"], \"\")) + \"; series: \" + (\"\" + datum[\"series\"])" }, "x": {"scale": "x", "field": "yearmonth_date"}, "y": {"scale": "y", "field": "sum_count_end"}, diff --git a/examples/compiled/stacked_area_binned.vg.json b/examples/compiled/stacked_area_binned.vg.json index 039489e9b3..e5465dd5d3 100644 --- a/examples/compiled/stacked_area_binned.vg.json +++ b/examples/compiled/stacked_area_binned.vg.json @@ -91,7 +91,7 @@ "orient": {"value": "vertical"}, "fill": {"scale": "color", "field": "Major Genre"}, "description": { - "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\")) + \"; Major Genre: \" + (isValid(datum[\"Major Genre\"]) ? datum[\"Major Genre\"] : \"\"+datum[\"Major Genre\"])" + "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"\" + datum[\"bin_maxbins_10_IMDB Rating\"] : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\")) + \"; Major Genre: \" + (\"\" + datum[\"Major Genre\"])" }, "x": {"scale": "x", "field": "bin_maxbins_10_IMDB Rating_mid"}, "y": {"scale": "y", "field": "__count_end"}, diff --git a/examples/compiled/stacked_area_normalize.vg.json b/examples/compiled/stacked_area_normalize.vg.json index 7fe880210b..6439738bf0 100644 --- a/examples/compiled/stacked_area_normalize.vg.json +++ b/examples/compiled/stacked_area_normalize.vg.json @@ -72,7 +72,7 @@ "orient": {"value": "vertical"}, "fill": {"scale": "color", "field": "series"}, "description": { - "signal": "\"date (year-month): \" + (timeFormat(datum[\"yearmonth_date\"], '%Y')) + \"; Sum of count: \" + (format(datum[\"sum_count_end\"]-datum[\"sum_count_start\"], \".0%\")) + \"; series: \" + (isValid(datum[\"series\"]) ? datum[\"series\"] : \"\"+datum[\"series\"])" + "signal": "\"date (year-month): \" + (!isValid(datum[\"yearmonth_date\"]) || !isFinite(+datum[\"yearmonth_date\"]) ? \"\" + datum[\"yearmonth_date\"] : timeFormat(datum[\"yearmonth_date\"], '%Y')) + \"; Sum of count: \" + (!isValid(datum[\"sum_count_end\"]-datum[\"sum_count_start\"]) || !isFinite(+datum[\"sum_count_end\"]-datum[\"sum_count_start\"]) ? \"\" + datum[\"sum_count_end\"]-datum[\"sum_count_start\"] : format(datum[\"sum_count_end\"]-datum[\"sum_count_start\"], \".0%\")) + \"; series: \" + (\"\" + datum[\"series\"])" }, "x": {"scale": "x", "field": "yearmonth_date"}, "y": {"scale": "y", "field": "sum_count_end"}, diff --git a/examples/compiled/stacked_area_ordinal.vg.json b/examples/compiled/stacked_area_ordinal.vg.json index ae4df38f7f..59e9954938 100644 --- a/examples/compiled/stacked_area_ordinal.vg.json +++ b/examples/compiled/stacked_area_ordinal.vg.json @@ -73,7 +73,7 @@ "orient": {"value": "vertical"}, "fill": {"scale": "color", "field": "Cylinders"}, "description": { - "signal": "\"Year (year): \" + (timeFormat(datum[\"year_Year\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Sum of Weight_in_lbs: \" + (format(datum[\"sum_Weight_in_lbs\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"])" + "signal": "\"Year (year): \" + (!isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Sum of Weight_in_lbs: \" + (!isValid(datum[\"sum_Weight_in_lbs\"]) || !isFinite(+datum[\"sum_Weight_in_lbs\"]) ? \"\" + datum[\"sum_Weight_in_lbs\"] : format(datum[\"sum_Weight_in_lbs\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"])" }, "x": {"scale": "x", "field": "year_Year"}, "y": {"scale": "y", "field": "sum_Weight_in_lbs_end"}, diff --git a/examples/compiled/stacked_area_overlay.vg.json b/examples/compiled/stacked_area_overlay.vg.json index 86c2460d0f..caad6d6cc8 100644 --- a/examples/compiled/stacked_area_overlay.vg.json +++ b/examples/compiled/stacked_area_overlay.vg.json @@ -79,7 +79,7 @@ "orient": {"value": "vertical"}, "fill": {"scale": "color", "field": "gender"}, "description": { - "signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; Sum of people: \" + (format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])" + "signal": "\"age: \" + (\"\" + datum[\"age\"]) + \"; Sum of people: \" + (!isValid(datum[\"sum_people\"]) || !isFinite(+datum[\"sum_people\"]) ? \"\" + datum[\"sum_people\"] : format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (\"\" + datum[\"gender\"])" }, "x": {"scale": "x", "field": "age"}, "y": {"scale": "y", "field": "sum_people_end"}, @@ -120,7 +120,7 @@ "stroke": {"scale": "color", "field": "gender"}, "opacity": {"value": 0.7}, "description": { - "signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; Sum of people: \" + (format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])" + "signal": "\"age: \" + (\"\" + datum[\"age\"]) + \"; Sum of people: \" + (!isValid(datum[\"sum_people\"]) || !isFinite(+datum[\"sum_people\"]) ? \"\" + datum[\"sum_people\"] : format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (\"\" + datum[\"gender\"])" }, "x": {"scale": "x", "field": "age"}, "y": {"scale": "y", "field": "sum_people_end"}, diff --git a/examples/compiled/stacked_area_stream.vg.json b/examples/compiled/stacked_area_stream.vg.json index de72f1315a..c72fee4f2b 100644 --- a/examples/compiled/stacked_area_stream.vg.json +++ b/examples/compiled/stacked_area_stream.vg.json @@ -72,7 +72,7 @@ "orient": {"value": "vertical"}, "fill": {"scale": "color", "field": "series"}, "description": { - "signal": "\"date (year-month): \" + (timeFormat(datum[\"yearmonth_date\"], '%Y')) + \"; Sum of count: \" + (format(datum[\"sum_count\"], \"\")) + \"; series: \" + (isValid(datum[\"series\"]) ? datum[\"series\"] : \"\"+datum[\"series\"])" + "signal": "\"date (year-month): \" + (!isValid(datum[\"yearmonth_date\"]) || !isFinite(+datum[\"yearmonth_date\"]) ? \"\" + datum[\"yearmonth_date\"] : timeFormat(datum[\"yearmonth_date\"], '%Y')) + \"; Sum of count: \" + (!isValid(datum[\"sum_count\"]) || !isFinite(+datum[\"sum_count\"]) ? \"\" + datum[\"sum_count\"] : format(datum[\"sum_count\"], \"\")) + \"; series: \" + (\"\" + datum[\"series\"])" }, "x": {"scale": "x", "field": "yearmonth_date"}, "y": {"scale": "y", "field": "sum_count_end"}, diff --git a/examples/compiled/stacked_area_without_agg.vg.json b/examples/compiled/stacked_area_without_agg.vg.json index 54cff92590..e27ab58bc6 100644 --- a/examples/compiled/stacked_area_without_agg.vg.json +++ b/examples/compiled/stacked_area_without_agg.vg.json @@ -71,7 +71,7 @@ "orient": {"value": "vertical"}, "fill": {"scale": "color", "field": "c"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (isValid(datum[\"c\"]) ? datum[\"c\"] : \"\"+datum[\"c\"])" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (\"\" + datum[\"c\"])" }, "x": {"scale": "x", "field": "a"}, "y": {"scale": "y", "field": "b_end"}, @@ -111,7 +111,7 @@ "update": { "stroke": {"scale": "color", "field": "c"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (isValid(datum[\"c\"]) ? datum[\"c\"] : \"\"+datum[\"c\"])" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (\"\" + datum[\"c\"])" }, "x": {"scale": "x", "field": "a"}, "y": {"scale": "y", "field": "b_end"}, diff --git a/examples/compiled/stacked_bar_1d.vg.json b/examples/compiled/stacked_bar_1d.vg.json index 743ebb1d35..859c82633c 100644 --- a/examples/compiled/stacked_bar_1d.vg.json +++ b/examples/compiled/stacked_bar_1d.vg.json @@ -44,7 +44,7 @@ "fill": {"scale": "color", "field": "Origin"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Sum of Acceleration: \" + (format(datum[\"sum_Acceleration\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Sum of Acceleration: \" + (!isValid(datum[\"sum_Acceleration\"]) || !isFinite(+datum[\"sum_Acceleration\"]) ? \"\" + datum[\"sum_Acceleration\"] : format(datum[\"sum_Acceleration\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": {"scale": "x", "field": "sum_Acceleration_end"}, "x2": {"scale": "x", "field": "sum_Acceleration_start"}, diff --git a/examples/compiled/stacked_bar_count.vg.json b/examples/compiled/stacked_bar_count.vg.json index 122e0b7c50..f1f9b66b9d 100644 --- a/examples/compiled/stacked_bar_count.vg.json +++ b/examples/compiled/stacked_bar_count.vg.json @@ -52,7 +52,7 @@ "fill": {"scale": "color", "field": "weather"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\")) + \"; weather: \" + (isValid(datum[\"weather\"]) ? datum[\"weather\"] : \"\"+datum[\"weather\"])" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\")) + \"; weather: \" + (\"\" + datum[\"weather\"])" }, "x": {"scale": "x", "field": "month_date"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/stacked_bar_count_corner_radius_config.vg.json b/examples/compiled/stacked_bar_count_corner_radius_config.vg.json index 71509e63d7..a893cbf1d6 100644 --- a/examples/compiled/stacked_bar_count_corner_radius_config.vg.json +++ b/examples/compiled/stacked_bar_count_corner_radius_config.vg.json @@ -95,7 +95,7 @@ "fill": {"scale": "color", "field": "weather"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\")) + \"; weather: \" + (isValid(datum[\"weather\"]) ? datum[\"weather\"] : \"\"+datum[\"weather\"])" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\")) + \"; weather: \" + (\"\" + datum[\"weather\"])" }, "width": {"field": {"group": "width"}}, "y": {"scale": "y", "field": "__count_end"}, diff --git a/examples/compiled/stacked_bar_count_corner_radius_mark.vg.json b/examples/compiled/stacked_bar_count_corner_radius_mark.vg.json index 0c06b8c8ec..23a3a87991 100644 --- a/examples/compiled/stacked_bar_count_corner_radius_mark.vg.json +++ b/examples/compiled/stacked_bar_count_corner_radius_mark.vg.json @@ -95,7 +95,7 @@ "fill": {"scale": "color", "field": "weather"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\")) + \"; weather: \" + (isValid(datum[\"weather\"]) ? datum[\"weather\"] : \"\"+datum[\"weather\"])" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\")) + \"; weather: \" + (\"\" + datum[\"weather\"])" }, "width": {"field": {"group": "width"}}, "y": {"scale": "y", "field": "__count_end"}, diff --git a/examples/compiled/stacked_bar_count_corner_radius_mark_x.vg.json b/examples/compiled/stacked_bar_count_corner_radius_mark_x.vg.json index 984baf0d17..0d29a2e9fc 100644 --- a/examples/compiled/stacked_bar_count_corner_radius_mark_x.vg.json +++ b/examples/compiled/stacked_bar_count_corner_radius_mark_x.vg.json @@ -95,7 +95,7 @@ "fill": {"scale": "color", "field": "weather"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Count of Records: \" + (format(datum[\"__count\"], \"\")) + \"; date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; weather: \" + (isValid(datum[\"weather\"]) ? datum[\"weather\"] : \"\"+datum[\"weather\"])" + "signal": "\"Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\")) + \"; date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; weather: \" + (\"\" + datum[\"weather\"])" }, "x": {"scale": "x", "field": "__count_end"}, "x2": {"scale": "x", "field": "__count_start"}, diff --git a/examples/compiled/stacked_bar_count_corner_radius_stroke.vg.json b/examples/compiled/stacked_bar_count_corner_radius_stroke.vg.json index 15bd6cdf6c..56e537a724 100644 --- a/examples/compiled/stacked_bar_count_corner_radius_stroke.vg.json +++ b/examples/compiled/stacked_bar_count_corner_radius_stroke.vg.json @@ -99,7 +99,7 @@ "fill": {"scale": "color", "field": "weather"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\")) + \"; weather: \" + (isValid(datum[\"weather\"]) ? datum[\"weather\"] : \"\"+datum[\"weather\"])" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\")) + \"; weather: \" + (\"\" + datum[\"weather\"])" }, "width": {"field": {"group": "width"}}, "y": {"scale": "y", "field": "__count_end"}, diff --git a/examples/compiled/stacked_bar_h.vg.json b/examples/compiled/stacked_bar_h.vg.json index 2d7351dc7a..9656d0c279 100644 --- a/examples/compiled/stacked_bar_h.vg.json +++ b/examples/compiled/stacked_bar_h.vg.json @@ -50,7 +50,7 @@ "fill": {"scale": "color", "field": "site"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Sum of yield: \" + (format(datum[\"sum_yield\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]) + \"; site: \" + (isValid(datum[\"site\"]) ? datum[\"site\"] : \"\"+datum[\"site\"])" + "signal": "\"Sum of yield: \" + (!isValid(datum[\"sum_yield\"]) || !isFinite(+datum[\"sum_yield\"]) ? \"\" + datum[\"sum_yield\"] : format(datum[\"sum_yield\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"]) + \"; site: \" + (\"\" + datum[\"site\"])" }, "x": {"scale": "x", "field": "sum_yield_end"}, "x2": {"scale": "x", "field": "sum_yield_start"}, diff --git a/examples/compiled/stacked_bar_h_normalized_labeled.vg.json b/examples/compiled/stacked_bar_h_normalized_labeled.vg.json index 87e5d5c356..8f792cca8a 100644 --- a/examples/compiled/stacked_bar_h_normalized_labeled.vg.json +++ b/examples/compiled/stacked_bar_h_normalized_labeled.vg.json @@ -72,7 +72,7 @@ "fill": {"scale": "color", "field": "gender"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"population: \" + (format(datum[\"sum_people_end\"]-datum[\"sum_people_start\"], \".0%\")) + \"; age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])" + "signal": "\"population: \" + (!isValid(datum[\"sum_people_end\"]-datum[\"sum_people_start\"]) || !isFinite(+datum[\"sum_people_end\"]-datum[\"sum_people_start\"]) ? \"\" + datum[\"sum_people_end\"]-datum[\"sum_people_start\"] : format(datum[\"sum_people_end\"]-datum[\"sum_people_start\"], \".0%\")) + \"; age: \" + (\"\" + datum[\"age\"]) + \"; gender: \" + (\"\" + datum[\"gender\"])" }, "x": {"scale": "x", "field": "sum_people_end"}, "x2": {"scale": "x", "field": "sum_people_start"}, @@ -91,13 +91,15 @@ "opacity": {"value": 0.9}, "fill": {"value": "white"}, "description": { - "signal": "\"population: \" + (format(datum[\"sum_people_end\"]-datum[\"sum_people_start\"], \".0%\")) + \"; age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])" + "signal": "\"population: \" + (!isValid(datum[\"sum_people_end\"]-datum[\"sum_people_start\"]) || !isFinite(+datum[\"sum_people_end\"]-datum[\"sum_people_start\"]) ? \"\" + datum[\"sum_people_end\"]-datum[\"sum_people_start\"] : format(datum[\"sum_people_end\"]-datum[\"sum_people_start\"], \".0%\")) + \"; age: \" + (\"\" + datum[\"age\"]) + \"; gender: \" + (\"\" + datum[\"gender\"])" }, "x": { "signal": "scale(\"x\", 0.5 * datum[\"sum_people_start\"] + 0.5 * datum[\"sum_people_end\"])" }, "y": {"scale": "y", "field": "age", "band": 0.5}, - "text": {"signal": "format(datum[\"sum_people\"], \"\")"}, + "text": { + "signal": "!isValid(datum[\"sum_people\"]) || !isFinite(+datum[\"sum_people\"]) ? \"\" + datum[\"sum_people\"] : format(datum[\"sum_people\"], \"\")" + }, "align": {"value": "center"}, "baseline": {"value": "middle"} } diff --git a/examples/compiled/stacked_bar_h_order.vg.json b/examples/compiled/stacked_bar_h_order.vg.json index bf3acb95fb..36e3693985 100644 --- a/examples/compiled/stacked_bar_h_order.vg.json +++ b/examples/compiled/stacked_bar_h_order.vg.json @@ -50,7 +50,7 @@ "fill": {"scale": "color", "field": "site"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Sum of yield: \" + (format(datum[\"sum_yield\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]) + \"; site: \" + (isValid(datum[\"site\"]) ? datum[\"site\"] : \"\"+datum[\"site\"])" + "signal": "\"Sum of yield: \" + (!isValid(datum[\"sum_yield\"]) || !isFinite(+datum[\"sum_yield\"]) ? \"\" + datum[\"sum_yield\"] : format(datum[\"sum_yield\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"]) + \"; site: \" + (\"\" + datum[\"site\"])" }, "x": {"scale": "x", "field": "sum_yield_end"}, "x2": {"scale": "x", "field": "sum_yield_start"}, diff --git a/examples/compiled/stacked_bar_h_order_custom.vg.json b/examples/compiled/stacked_bar_h_order_custom.vg.json index b1bd41de1e..b71b68e50a 100644 --- a/examples/compiled/stacked_bar_h_order_custom.vg.json +++ b/examples/compiled/stacked_bar_h_order_custom.vg.json @@ -55,7 +55,7 @@ "fill": {"scale": "color", "field": "site"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Sum of yield: \" + (format(datum[\"sum_yield\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]) + \"; site: \" + (isValid(datum[\"site\"]) ? datum[\"site\"] : \"\"+datum[\"site\"]) + \"; siteOrder: \" + (isValid(datum[\"siteOrder\"]) ? datum[\"siteOrder\"] : \"\"+datum[\"siteOrder\"])" + "signal": "\"Sum of yield: \" + (!isValid(datum[\"sum_yield\"]) || !isFinite(+datum[\"sum_yield\"]) ? \"\" + datum[\"sum_yield\"] : format(datum[\"sum_yield\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"]) + \"; site: \" + (\"\" + datum[\"site\"]) + \"; siteOrder: \" + (\"\" + datum[\"siteOrder\"])" }, "x": {"scale": "x", "field": "sum_yield_end"}, "x2": {"scale": "x", "field": "sum_yield_start"}, diff --git a/examples/compiled/stacked_bar_normalize.vg.json b/examples/compiled/stacked_bar_normalize.vg.json index 08df66d85e..951056a414 100644 --- a/examples/compiled/stacked_bar_normalize.vg.json +++ b/examples/compiled/stacked_bar_normalize.vg.json @@ -56,7 +56,7 @@ "fill": {"scale": "color", "field": "gender"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"sum_people_end\"]-datum[\"sum_people_start\"], \".0%\")) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])" + "signal": "\"age: \" + (\"\" + datum[\"age\"]) + \"; population: \" + (!isValid(datum[\"sum_people_end\"]-datum[\"sum_people_start\"]) || !isFinite(+datum[\"sum_people_end\"]-datum[\"sum_people_start\"]) ? \"\" + datum[\"sum_people_end\"]-datum[\"sum_people_start\"] : format(datum[\"sum_people_end\"]-datum[\"sum_people_start\"], \".0%\")) + \"; gender: \" + (\"\" + datum[\"gender\"])" }, "x": {"scale": "x", "field": "age"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/stacked_bar_population.vg.json b/examples/compiled/stacked_bar_population.vg.json index 89196843e0..b6450ec099 100644 --- a/examples/compiled/stacked_bar_population.vg.json +++ b/examples/compiled/stacked_bar_population.vg.json @@ -57,7 +57,7 @@ "fill": {"scale": "color", "field": "gender"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])" + "signal": "\"age: \" + (\"\" + datum[\"age\"]) + \"; population: \" + (!isValid(datum[\"sum_people\"]) || !isFinite(+datum[\"sum_people\"]) ? \"\" + datum[\"sum_people\"] : format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (\"\" + datum[\"gender\"])" }, "x": {"scale": "x", "field": "age"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/stacked_bar_population_transform.vg.json b/examples/compiled/stacked_bar_population_transform.vg.json index 1d5c55b211..3feef2d252 100644 --- a/examples/compiled/stacked_bar_population_transform.vg.json +++ b/examples/compiled/stacked_bar_population_transform.vg.json @@ -50,7 +50,7 @@ "fill": {"scale": "color", "field": "gender"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"v1\"], \"\")) + \"; v2: \" + (format(datum[\"v2\"], \"\")) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])" + "signal": "\"age: \" + (\"\" + datum[\"age\"]) + \"; population: \" + (!isValid(datum[\"v1\"]) || !isFinite(+datum[\"v1\"]) ? \"\" + datum[\"v1\"] : format(datum[\"v1\"], \"\")) + \"; v2: \" + (!isValid(datum[\"v2\"]) || !isFinite(+datum[\"v2\"]) ? \"\" + datum[\"v2\"] : format(datum[\"v2\"], \"\")) + \"; gender: \" + (\"\" + datum[\"gender\"])" }, "x": {"scale": "x", "field": "age"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/stacked_bar_size.vg.json b/examples/compiled/stacked_bar_size.vg.json index 7008e2f790..0634acd20f 100644 --- a/examples/compiled/stacked_bar_size.vg.json +++ b/examples/compiled/stacked_bar_size.vg.json @@ -53,7 +53,7 @@ "opacity": {"value": 0.5}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\")) + \"; weather: \" + (isValid(datum[\"weather\"]) ? datum[\"weather\"] : \"\"+datum[\"weather\"])" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\")) + \"; weather: \" + (\"\" + datum[\"weather\"])" }, "xc": {"scale": "x", "field": "month_date", "band": 0.5}, "width": {"scale": "size", "field": "weather"}, diff --git a/examples/compiled/stacked_bar_sum_opacity.vg.json b/examples/compiled/stacked_bar_sum_opacity.vg.json index 6492caecc1..4ea55ca1a5 100644 --- a/examples/compiled/stacked_bar_sum_opacity.vg.json +++ b/examples/compiled/stacked_bar_sum_opacity.vg.json @@ -58,7 +58,7 @@ "opacity": {"scale": "opacity", "field": "people"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"sum_people\"], \"\")) + \"; people: \" + (format(datum[\"people\"], \"\"))" + "signal": "\"age: \" + (\"\" + datum[\"age\"]) + \"; population: \" + (!isValid(datum[\"sum_people\"]) || !isFinite(+datum[\"sum_people\"]) ? \"\" + datum[\"sum_people\"] : format(datum[\"sum_people\"], \"\")) + \"; people: \" + (!isValid(datum[\"people\"]) || !isFinite(+datum[\"people\"]) ? \"\" + datum[\"people\"] : format(datum[\"people\"], \"\"))" }, "x": {"scale": "x", "field": "age"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/stacked_bar_unaggregate.vg.json b/examples/compiled/stacked_bar_unaggregate.vg.json index 92509ade9d..837751708a 100644 --- a/examples/compiled/stacked_bar_unaggregate.vg.json +++ b/examples/compiled/stacked_bar_unaggregate.vg.json @@ -51,7 +51,7 @@ "fill": {"scale": "color", "field": "c"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (isValid(datum[\"c\"]) ? datum[\"c\"] : \"\"+datum[\"c\"])" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (\"\" + datum[\"c\"])" }, "x": {"scale": "x", "field": "a"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/stacked_bar_v.vg.json b/examples/compiled/stacked_bar_v.vg.json index a0409fbb63..56ee6b5d22 100644 --- a/examples/compiled/stacked_bar_v.vg.json +++ b/examples/compiled/stacked_bar_v.vg.json @@ -50,7 +50,7 @@ "fill": {"scale": "color", "field": "site"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]) + \"; Sum of yield: \" + (format(datum[\"sum_yield\"], \"\")) + \"; site: \" + (isValid(datum[\"site\"]) ? datum[\"site\"] : \"\"+datum[\"site\"])" + "signal": "\"variety: \" + (\"\" + datum[\"variety\"]) + \"; Sum of yield: \" + (!isValid(datum[\"sum_yield\"]) || !isFinite(+datum[\"sum_yield\"]) ? \"\" + datum[\"sum_yield\"] : format(datum[\"sum_yield\"], \"\")) + \"; site: \" + (\"\" + datum[\"site\"])" }, "x": {"scale": "x", "field": "variety"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/stacked_bar_v_ascending.vg.json b/examples/compiled/stacked_bar_v_ascending.vg.json index 9581042ae0..3d5c8c54d3 100644 --- a/examples/compiled/stacked_bar_v_ascending.vg.json +++ b/examples/compiled/stacked_bar_v_ascending.vg.json @@ -50,7 +50,7 @@ "fill": {"scale": "color", "field": "site"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]) + \"; Sum of yield: \" + (format(datum[\"sum_yield\"], \"\")) + \"; site: \" + (isValid(datum[\"site\"]) ? datum[\"site\"] : \"\"+datum[\"site\"])" + "signal": "\"variety: \" + (\"\" + datum[\"variety\"]) + \"; Sum of yield: \" + (!isValid(datum[\"sum_yield\"]) || !isFinite(+datum[\"sum_yield\"]) ? \"\" + datum[\"sum_yield\"] : format(datum[\"sum_yield\"], \"\")) + \"; site: \" + (\"\" + datum[\"site\"])" }, "x": {"scale": "x", "field": "variety"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/stacked_bar_weather.vg.json b/examples/compiled/stacked_bar_weather.vg.json index 14721fff3b..93704bcdb3 100644 --- a/examples/compiled/stacked_bar_weather.vg.json +++ b/examples/compiled/stacked_bar_weather.vg.json @@ -52,7 +52,7 @@ "fill": {"scale": "color", "field": "weather"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Month of the year: \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\")) + \"; Weather type: \" + (isValid(datum[\"weather\"]) ? datum[\"weather\"] : \"\"+datum[\"weather\"])" + "signal": "\"Month of the year: \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\")) + \"; Weather type: \" + (\"\" + datum[\"weather\"])" }, "x": {"scale": "x", "field": "month_date"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/test_aggregate_nested.vg.json b/examples/compiled/test_aggregate_nested.vg.json index 65bda28edf..85d4026248 100644 --- a/examples/compiled/test_aggregate_nested.vg.json +++ b/examples/compiled/test_aggregate_nested.vg.json @@ -87,7 +87,7 @@ "fill": {"scale": "color", "field": "properties\\.site"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Sum of properties.yield: \" + (format(datum[\"sum_properties.yield\"], \"\")) + \"; properties.variety: \" + (isValid(datum[\"properties.variety\"]) ? datum[\"properties.variety\"] : \"\"+datum[\"properties.variety\"]) + \"; site: \" + (isValid(datum[\"properties.site\"]) ? datum[\"properties.site\"] : \"\"+datum[\"properties.site\"])" + "signal": "\"Sum of properties.yield: \" + (!isValid(datum[\"sum_properties.yield\"]) || !isFinite(+datum[\"sum_properties.yield\"]) ? \"\" + datum[\"sum_properties.yield\"] : format(datum[\"sum_properties.yield\"], \"\")) + \"; properties.variety: \" + (\"\" + datum[\"properties.variety\"]) + \"; site: \" + (\"\" + datum[\"properties.site\"])" }, "x": {"scale": "x", "field": "sum_properties\\.yield_end"}, "x2": {"scale": "x", "field": "sum_properties\\.yield_start"}, diff --git a/examples/compiled/test_field_with_spaces.vg.json b/examples/compiled/test_field_with_spaces.vg.json index 8632fb9390..ad9ec3d9da 100644 --- a/examples/compiled/test_field_with_spaces.vg.json +++ b/examples/compiled/test_field_with_spaces.vg.json @@ -45,7 +45,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a b: \" + (format(datum[\"a b\"], \"\")) + \"; c d: \" + (format(datum[\"c d\"], \"\"))" + "signal": "\"a b: \" + (!isValid(datum[\"a b\"]) || !isFinite(+datum[\"a b\"]) ? \"\" + datum[\"a b\"] : format(datum[\"a b\"], \"\")) + \"; c d: \" + (!isValid(datum[\"c d\"]) || !isFinite(+datum[\"c d\"]) ? \"\" + datum[\"c d\"] : format(datum[\"c d\"], \"\"))" }, "x": {"scale": "x", "field": "a b"}, "y": {"scale": "y", "field": "c d"} diff --git a/examples/compiled/test_invalid_break_paths_filter_domains.svg b/examples/compiled/test_invalid_break_paths_filter_domains.svg index c91dd809d5..8af37fd9c4 100644 --- a/examples/compiled/test_invalid_break_paths_filter_domains.svg +++ b/examples/compiled/test_invalid_break_paths_filter_domains.svg @@ -1 +1 @@ -−505a−2002040b−505a−2002040b−505a−2002040b−505a−2002040bQuantitative Xnull-5-115a050100bnull-5-115a050100bnull-5-115a050100bnull-5-115a050100bOrdinal X \ No newline at end of file +−505a−2002040b−505a−2002040b−505a−2002040b−505a−2002040bQuantitative Xnull-5-115a050100bnull-5-115a050100bnull-5-115a050100bnull-5-115a050100bOrdinal X \ No newline at end of file diff --git a/examples/compiled/test_invalid_break_paths_filter_domains.vg.json b/examples/compiled/test_invalid_break_paths_filter_domains.vg.json index bef469315b..a8e8cf7165 100644 --- a/examples/compiled/test_invalid_break_paths_filter_domains.vg.json +++ b/examples/compiled/test_invalid_break_paths_filter_domains.vg.json @@ -180,11 +180,11 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_0_concat_0_x", "field": "a"}, "y": {"scale": "concat_0_concat_0_y", "field": "b"} @@ -262,11 +262,11 @@ "update": { "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "xc": {"scale": "concat_0_concat_1_x", "field": "a"}, "width": {"value": 5}, @@ -347,10 +347,10 @@ "update": { "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_0_concat_2_x", "field": "a"}, "y": {"scale": "concat_0_concat_2_y", "field": "b"}, @@ -370,11 +370,11 @@ "opacity": {"value": 1}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_0_concat_2_x", "field": "a"}, "y": {"scale": "concat_0_concat_2_y", "field": "b"} @@ -454,10 +454,10 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_0_concat_3_x", "field": "a"}, "y": {"scale": "concat_0_concat_3_y", "field": "b_end"}, @@ -549,11 +549,11 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_0_x", "field": "a"}, "y": {"scale": "concat_1_concat_0_y", "field": "b"} @@ -617,11 +617,11 @@ "update": { "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_1_x", "field": "a"}, "width": { @@ -690,10 +690,10 @@ "update": { "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": {"scale": "concat_1_concat_2_y", "field": "b"}, @@ -713,11 +713,11 @@ "opacity": {"value": 1}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": {"scale": "concat_1_concat_2_y", "field": "b"} @@ -783,10 +783,10 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_3_x", "field": "a"}, "y": {"scale": "concat_1_concat_3_y", "field": "b_end"}, diff --git a/examples/compiled/test_invalid_break_paths_show_domains.svg b/examples/compiled/test_invalid_break_paths_show_domains.svg index 8bd25d26d9..9e26282bfb 100644 --- a/examples/compiled/test_invalid_break_paths_show_domains.svg +++ b/examples/compiled/test_invalid_break_paths_show_domains.svg @@ -1 +1 @@ -−10−50510a050100b−10010a050100b−10−50510a050100b−10−50510a050100bQuantitative Xnull-10-5-101510a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bOrdinal X \ No newline at end of file +−10−50510a050100b−10010a050100b−10−50510a050100b−10−50510a050100bQuantitative Xnull-10-5-101510a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bOrdinal X \ No newline at end of file diff --git a/examples/compiled/test_invalid_break_paths_show_domains.vg.json b/examples/compiled/test_invalid_break_paths_show_domains.vg.json index 4fa60a64a7..4fdd43b2a4 100644 --- a/examples/compiled/test_invalid_break_paths_show_domains.vg.json +++ b/examples/compiled/test_invalid_break_paths_show_domains.vg.json @@ -172,11 +172,11 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_0_concat_0_x", "field": "a"}, "y": {"scale": "concat_0_concat_0_y", "field": "b"} @@ -254,11 +254,11 @@ "update": { "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "xc": {"scale": "concat_0_concat_1_x", "field": "a"}, "width": {"value": 5}, @@ -339,10 +339,10 @@ "update": { "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_0_concat_2_x", "field": "a"}, "y": {"scale": "concat_0_concat_2_y", "field": "b"}, @@ -362,11 +362,11 @@ "opacity": {"value": 1}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_0_concat_2_x", "field": "a"}, "y": {"scale": "concat_0_concat_2_y", "field": "b"} @@ -446,10 +446,10 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_0_concat_3_x", "field": "a"}, "y": {"scale": "concat_0_concat_3_y", "field": "b_end"}, @@ -541,11 +541,11 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_0_x", "field": "a"}, "y": {"scale": "concat_1_concat_0_y", "field": "b"} @@ -609,11 +609,11 @@ "update": { "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_1_x", "field": "a"}, "width": { @@ -682,10 +682,10 @@ "update": { "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": {"scale": "concat_1_concat_2_y", "field": "b"}, @@ -705,11 +705,11 @@ "opacity": {"value": 1}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": {"scale": "concat_1_concat_2_y", "field": "b"} @@ -775,10 +775,10 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_3_x", "field": "a"}, "y": {"scale": "concat_1_concat_3_y", "field": "b_end"}, diff --git a/examples/compiled/test_invalid_break_paths_show_path_domains.svg b/examples/compiled/test_invalid_break_paths_show_path_domains.svg index fd3f096e5f..ac6f9c6ab0 100644 --- a/examples/compiled/test_invalid_break_paths_show_path_domains.svg +++ b/examples/compiled/test_invalid_break_paths_show_path_domains.svg @@ -1 +1 @@ -−505a−2002040b−505a−2002040b−10−50510a050100b−10−50510a050100bQuantitative Xnull-5-115a050100bnull-5-115a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bOrdinal X \ No newline at end of file +−505a−2002040b−505a−2002040b−10−50510a050100b−10−50510a050100bQuantitative Xnull-5-115a050100bnull-5-115a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bOrdinal X \ No newline at end of file diff --git a/examples/compiled/test_invalid_break_paths_show_path_domains.vg.json b/examples/compiled/test_invalid_break_paths_show_path_domains.vg.json index 8920562bae..9befa9ae32 100644 --- a/examples/compiled/test_invalid_break_paths_show_path_domains.vg.json +++ b/examples/compiled/test_invalid_break_paths_show_path_domains.vg.json @@ -160,11 +160,11 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_0_concat_0_x", "field": "a"}, "y": {"scale": "concat_0_concat_0_y", "field": "b"} @@ -242,11 +242,11 @@ "update": { "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "xc": {"scale": "concat_0_concat_1_x", "field": "a"}, "width": {"value": 5}, @@ -327,10 +327,10 @@ "update": { "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_0_concat_2_x", "field": "a"}, "y": {"scale": "concat_0_concat_2_y", "field": "b"}, @@ -350,11 +350,11 @@ "opacity": {"value": 1}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_0_concat_2_x", "field": "a"}, "y": {"scale": "concat_0_concat_2_y", "field": "b"} @@ -434,10 +434,10 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_0_concat_3_x", "field": "a"}, "y": {"scale": "concat_0_concat_3_y", "field": "b_end"}, @@ -529,11 +529,11 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_0_x", "field": "a"}, "y": {"scale": "concat_1_concat_0_y", "field": "b"} @@ -597,11 +597,11 @@ "update": { "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_1_x", "field": "a"}, "width": { @@ -670,10 +670,10 @@ "update": { "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": {"scale": "concat_1_concat_2_y", "field": "b"}, @@ -693,11 +693,11 @@ "opacity": {"value": 1}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": {"scale": "concat_1_concat_2_y", "field": "b"} @@ -763,10 +763,10 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_3_x", "field": "a"}, "y": {"scale": "concat_1_concat_3_y", "field": "b_end"}, diff --git a/examples/compiled/test_invalid_color_filter.vg.json b/examples/compiled/test_invalid_color_filter.vg.json index 22fbdcb340..e2d45c9f82 100644 --- a/examples/compiled/test_invalid_color_filter.vg.json +++ b/examples/compiled/test_invalid_color_filter.vg.json @@ -174,11 +174,11 @@ "fill": {"value": "transparent"}, "stroke": {"scale": "color", "field": "c"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_0_concat_0_x", "field": "a"}, "y": {"scale": "concat_0_concat_0_y", "field": "b"} @@ -256,11 +256,11 @@ "update": { "fill": {"scale": "color", "field": "c"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "xc": {"scale": "concat_0_concat_1_x", "field": "a"}, "width": {"value": 5}, @@ -360,10 +360,10 @@ "update": { "stroke": {"scale": "color", "field": "c"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_0_concat_2_x", "field": "a"}, "y": {"scale": "concat_0_concat_2_y", "field": "b"} @@ -382,11 +382,11 @@ "opacity": {"value": 1}, "fill": {"scale": "color", "field": "c"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_0_concat_2_x", "field": "a"}, "y": {"scale": "concat_0_concat_2_y", "field": "b"} @@ -483,10 +483,10 @@ "orient": {"value": "vertical"}, "fill": {"scale": "color", "field": "c"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_0_concat_3_x", "field": "a"}, "y": {"scale": "concat_0_concat_3_y", "field": "b_end"}, @@ -582,11 +582,11 @@ "fill": {"value": "transparent"}, "stroke": {"scale": "color", "field": "c"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_0_x", "field": "a"}, "y": {"scale": "concat_1_concat_0_y", "field": "b"} @@ -650,11 +650,11 @@ "update": { "fill": {"scale": "color", "field": "c"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_1_x", "field": "a"}, "width": { @@ -742,10 +742,10 @@ "update": { "stroke": {"scale": "color", "field": "c"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": {"scale": "concat_1_concat_2_y", "field": "b"} @@ -764,11 +764,11 @@ "opacity": {"value": 1}, "fill": {"scale": "color", "field": "c"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": {"scale": "concat_1_concat_2_y", "field": "b"} @@ -851,10 +851,10 @@ "orient": {"value": "vertical"}, "fill": {"scale": "color", "field": "c"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_3_x", "field": "a"}, "y": {"scale": "concat_1_concat_3_y", "field": "b_end"}, diff --git a/examples/compiled/test_invalid_color_filter_but_include_in_scale_invalid.svg b/examples/compiled/test_invalid_color_filter_but_include_in_scale_invalid.svg index bb48b40d80..25a209cc7e 100644 --- a/examples/compiled/test_invalid_color_filter_but_include_in_scale_invalid.svg +++ b/examples/compiled/test_invalid_color_filter_but_include_in_scale_invalid.svg @@ -1 +1 @@ -0123a02040b123a050100b1.01.52.02.53.0a02040b1.01.52.02.53.0a050100bQuantitative X123a02040b123a050100b123a02040b123a050100bOrdinal X1.01.21.41.61.82.0c \ No newline at end of file +0123a02040b123a050100b1.01.52.02.53.0a02040b1.01.52.02.53.0a050100bQuantitative X123a02040b123a050100b123a02040b123a050100bOrdinal X1.01.21.41.61.82.0c \ No newline at end of file diff --git a/examples/compiled/test_invalid_color_filter_but_include_in_scale_invalid.vg.json b/examples/compiled/test_invalid_color_filter_but_include_in_scale_invalid.vg.json index 9947ced8b4..681015b1e2 100644 --- a/examples/compiled/test_invalid_color_filter_but_include_in_scale_invalid.vg.json +++ b/examples/compiled/test_invalid_color_filter_but_include_in_scale_invalid.vg.json @@ -180,11 +180,11 @@ {"scale": "color", "field": "c"} ], "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_0_concat_0_x", "field": "a"}, "y": {"scale": "concat_0_concat_0_y", "field": "b"} @@ -268,11 +268,11 @@ {"scale": "color", "field": "c"} ], "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "xc": {"scale": "concat_0_concat_1_x", "field": "a"}, "width": {"value": 5}, @@ -378,10 +378,10 @@ {"scale": "color", "field": "c"} ], "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_0_concat_2_x", "field": "a"}, "y": {"scale": "concat_0_concat_2_y", "field": "b"} @@ -406,11 +406,11 @@ {"scale": "color", "field": "c"} ], "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_0_concat_2_x", "field": "a"}, "y": {"scale": "concat_0_concat_2_y", "field": "b"} @@ -513,10 +513,10 @@ {"scale": "color", "field": "c"} ], "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_0_concat_3_x", "field": "a"}, "y": {"scale": "concat_0_concat_3_y", "field": "b_end"}, @@ -618,11 +618,11 @@ {"scale": "color", "field": "c"} ], "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_0_x", "field": "a"}, "y": {"scale": "concat_1_concat_0_y", "field": "b"} @@ -692,11 +692,11 @@ {"scale": "color", "field": "c"} ], "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_1_x", "field": "a"}, "width": { @@ -790,10 +790,10 @@ {"scale": "color", "field": "c"} ], "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": {"scale": "concat_1_concat_2_y", "field": "b"} @@ -818,11 +818,11 @@ {"scale": "color", "field": "c"} ], "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": {"scale": "concat_1_concat_2_y", "field": "b"} @@ -911,10 +911,10 @@ {"scale": "color", "field": "c"} ], "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_3_x", "field": "a"}, "y": {"scale": "concat_1_concat_3_y", "field": "b_end"}, diff --git a/examples/compiled/test_invalid_color_show.svg b/examples/compiled/test_invalid_color_show.svg index 0da6eb7437..e727c52953 100644 --- a/examples/compiled/test_invalid_color_show.svg +++ b/examples/compiled/test_invalid_color_show.svg @@ -1 +1 @@ -0123a02040b123a050100b1.01.52.02.53.0a02040b1.01.52.02.53.0a050100bQuantitative X123a02040b123a050100b123a02040b123a050100bOrdinal X1.01.21.41.61.82.0c \ No newline at end of file +0123a02040b123a050100b1.01.52.02.53.0a02040b1.01.52.02.53.0a050100bQuantitative X123a02040b123a050100b123a02040b123a050100bOrdinal X1.01.21.41.61.82.0c \ No newline at end of file diff --git a/examples/compiled/test_invalid_color_show.vg.json b/examples/compiled/test_invalid_color_show.vg.json index 0c326eb84a..b86c0cd5ab 100644 --- a/examples/compiled/test_invalid_color_show.vg.json +++ b/examples/compiled/test_invalid_color_show.vg.json @@ -144,11 +144,11 @@ {"scale": "color", "field": "c"} ], "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": [ { @@ -246,11 +246,11 @@ {"scale": "color", "field": "c"} ], "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "xc": [ { @@ -362,10 +362,10 @@ {"scale": "color", "field": "c"} ], "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": [ { @@ -403,11 +403,11 @@ {"scale": "color", "field": "c"} ], "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": [ { @@ -523,10 +523,10 @@ {"scale": "color", "field": "c"} ], "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": [ { @@ -634,11 +634,11 @@ {"scale": "color", "field": "c"} ], "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_0_x", "field": "a"}, "y": [ @@ -715,11 +715,11 @@ {"scale": "color", "field": "c"} ], "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_1_x", "field": "a"}, "width": { @@ -813,10 +813,10 @@ {"scale": "color", "field": "c"} ], "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": [ @@ -848,11 +848,11 @@ {"scale": "color", "field": "c"} ], "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": [ @@ -948,10 +948,10 @@ {"scale": "color", "field": "c"} ], "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_3_x", "field": "a"}, "y": {"scale": "concat_1_concat_3_y", "field": "b_end"}, diff --git a/examples/compiled/test_invalid_color_size_config_scale.svg b/examples/compiled/test_invalid_color_size_config_scale.svg index 641c8d1c4d..0ab4f73e43 100644 --- a/examples/compiled/test_invalid_color_size_config_scale.svg +++ b/examples/compiled/test_invalid_color_size_config_scale.svg @@ -1 +1 @@ -0123a02040bColor0123a02040bSize0.00.51.01.52.0c \ No newline at end of file +0123a02040bColor0123a02040bSize0.00.51.01.52.0c \ No newline at end of file diff --git a/examples/compiled/test_invalid_color_size_config_scale.vg.json b/examples/compiled/test_invalid_color_size_config_scale.vg.json index 66bc925dcd..90777a67a2 100644 --- a/examples/compiled/test_invalid_color_size_config_scale.vg.json +++ b/examples/compiled/test_invalid_color_size_config_scale.vg.json @@ -62,11 +62,11 @@ {"scale": "color", "field": "c"} ], "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_0_x", "field": "a"}, "y": {"scale": "concat_0_y", "field": "b"} @@ -147,11 +147,11 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_x", "field": "a"}, "y": {"scale": "concat_1_y", "field": "b"}, diff --git a/examples/compiled/test_invalid_color_size_mark_filter_only.vg.json b/examples/compiled/test_invalid_color_size_mark_filter_only.vg.json index 01d38a2c2c..1f6e31ceeb 100644 --- a/examples/compiled/test_invalid_color_size_mark_filter_only.vg.json +++ b/examples/compiled/test_invalid_color_size_mark_filter_only.vg.json @@ -56,11 +56,11 @@ "fill": {"value": "transparent"}, "stroke": {"scale": "color", "field": "c"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_0_x", "field": "a"}, "y": {"scale": "concat_0_y", "field": "b"} @@ -141,11 +141,11 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_x", "field": "a"}, "y": {"scale": "concat_1_y", "field": "b"}, diff --git a/examples/compiled/test_invalid_color_size_mark_show_only.svg b/examples/compiled/test_invalid_color_size_mark_show_only.svg index fbe2695055..547fad019c 100644 --- a/examples/compiled/test_invalid_color_size_mark_show_only.svg +++ b/examples/compiled/test_invalid_color_size_mark_show_only.svg @@ -1 +1 @@ -0123a02040bColor0123a02040bSize0.00.51.01.52.0c \ No newline at end of file +0123a02040bColor0123a02040bSize0.00.51.01.52.0c \ No newline at end of file diff --git a/examples/compiled/test_invalid_color_size_mark_show_only.vg.json b/examples/compiled/test_invalid_color_size_mark_show_only.vg.json index 6c756d6227..8e22b1698d 100644 --- a/examples/compiled/test_invalid_color_size_mark_show_only.vg.json +++ b/examples/compiled/test_invalid_color_size_mark_show_only.vg.json @@ -52,11 +52,11 @@ {"scale": "color", "field": "c"} ], "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": [ { @@ -151,11 +151,11 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": [ { diff --git a/examples/compiled/test_invalid_default.svg b/examples/compiled/test_invalid_default.svg index fd3f096e5f..ac6f9c6ab0 100644 --- a/examples/compiled/test_invalid_default.svg +++ b/examples/compiled/test_invalid_default.svg @@ -1 +1 @@ -−505a−2002040b−505a−2002040b−10−50510a050100b−10−50510a050100bQuantitative Xnull-5-115a050100bnull-5-115a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bOrdinal X \ No newline at end of file +−505a−2002040b−505a−2002040b−10−50510a050100b−10−50510a050100bQuantitative Xnull-5-115a050100bnull-5-115a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bOrdinal X \ No newline at end of file diff --git a/examples/compiled/test_invalid_default.vg.json b/examples/compiled/test_invalid_default.vg.json index 8920562bae..9befa9ae32 100644 --- a/examples/compiled/test_invalid_default.vg.json +++ b/examples/compiled/test_invalid_default.vg.json @@ -160,11 +160,11 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_0_concat_0_x", "field": "a"}, "y": {"scale": "concat_0_concat_0_y", "field": "b"} @@ -242,11 +242,11 @@ "update": { "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "xc": {"scale": "concat_0_concat_1_x", "field": "a"}, "width": {"value": 5}, @@ -327,10 +327,10 @@ "update": { "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_0_concat_2_x", "field": "a"}, "y": {"scale": "concat_0_concat_2_y", "field": "b"}, @@ -350,11 +350,11 @@ "opacity": {"value": 1}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_0_concat_2_x", "field": "a"}, "y": {"scale": "concat_0_concat_2_y", "field": "b"} @@ -434,10 +434,10 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_0_concat_3_x", "field": "a"}, "y": {"scale": "concat_0_concat_3_y", "field": "b_end"}, @@ -529,11 +529,11 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_0_x", "field": "a"}, "y": {"scale": "concat_1_concat_0_y", "field": "b"} @@ -597,11 +597,11 @@ "update": { "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_1_x", "field": "a"}, "width": { @@ -670,10 +670,10 @@ "update": { "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": {"scale": "concat_1_concat_2_y", "field": "b"}, @@ -693,11 +693,11 @@ "opacity": {"value": 1}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": {"scale": "concat_1_concat_2_y", "field": "b"} @@ -763,10 +763,10 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_3_x", "field": "a"}, "y": {"scale": "concat_1_concat_3_y", "field": "b_end"}, diff --git a/examples/compiled/test_invalid_filter.vg.json b/examples/compiled/test_invalid_filter.vg.json index 0b5c1a789e..f4ab5ed9f4 100644 --- a/examples/compiled/test_invalid_filter.vg.json +++ b/examples/compiled/test_invalid_filter.vg.json @@ -168,11 +168,11 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_0_concat_0_x", "field": "a"}, "y": {"scale": "concat_0_concat_0_y", "field": "b"} @@ -250,11 +250,11 @@ "update": { "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "xc": {"scale": "concat_0_concat_1_x", "field": "a"}, "width": {"value": 5}, @@ -335,10 +335,10 @@ "update": { "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_0_concat_2_x", "field": "a"}, "y": {"scale": "concat_0_concat_2_y", "field": "b"} @@ -355,11 +355,11 @@ "opacity": {"value": 1}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_0_concat_2_x", "field": "a"}, "y": {"scale": "concat_0_concat_2_y", "field": "b"} @@ -439,10 +439,10 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_0_concat_3_x", "field": "a"}, "y": {"scale": "concat_0_concat_3_y", "field": "b_end"}, @@ -531,11 +531,11 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_0_x", "field": "a"}, "y": {"scale": "concat_1_concat_0_y", "field": "b"} @@ -599,11 +599,11 @@ "update": { "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_1_x", "field": "a"}, "width": { @@ -672,10 +672,10 @@ "update": { "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": {"scale": "concat_1_concat_2_y", "field": "b"} @@ -692,11 +692,11 @@ "opacity": {"value": 1}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": {"scale": "concat_1_concat_2_y", "field": "b"} @@ -762,10 +762,10 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_3_x", "field": "a"}, "y": {"scale": "concat_1_concat_3_y", "field": "b_end"}, diff --git a/examples/compiled/test_invalid_null.svg b/examples/compiled/test_invalid_null.svg index f4635611ae..a1ca2d816b 100644 --- a/examples/compiled/test_invalid_null.svg +++ b/examples/compiled/test_invalid_null.svg @@ -1 +1 @@ -−10−50510a050100b−10010a050100b−10−50510a050100b−10−50510a050100bQuantitative Xnull-10-5-101510a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bOrdinal X \ No newline at end of file +−10−50510a050100b−10010a050100b−10−50510a050100b−10−50510a050100bQuantitative Xnull-10-5-101510a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bOrdinal X \ No newline at end of file diff --git a/examples/compiled/test_invalid_null.vg.json b/examples/compiled/test_invalid_null.vg.json index d4134b54da..70452409c8 100644 --- a/examples/compiled/test_invalid_null.vg.json +++ b/examples/compiled/test_invalid_null.vg.json @@ -132,11 +132,11 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": [ { @@ -228,11 +228,11 @@ "update": { "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "xc": [ { @@ -319,10 +319,10 @@ "update": { "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": [ { @@ -352,11 +352,11 @@ "opacity": {"value": 1}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": [ { @@ -449,10 +449,10 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": [ { @@ -547,11 +547,11 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_0_x", "field": "a"}, "y": [ @@ -622,11 +622,11 @@ "update": { "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_1_x", "field": "a"}, "width": { @@ -695,10 +695,10 @@ "update": { "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": [ @@ -722,11 +722,11 @@ "opacity": {"value": 1}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": [ @@ -799,10 +799,10 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_3_x", "field": "a"}, "y": {"scale": "concat_1_concat_3_y", "field": "b_end"}, diff --git a/examples/compiled/test_invalid_opacity_filter.vg.json b/examples/compiled/test_invalid_opacity_filter.vg.json index 688632fa11..6ee8005ac5 100644 --- a/examples/compiled/test_invalid_opacity_filter.vg.json +++ b/examples/compiled/test_invalid_opacity_filter.vg.json @@ -174,11 +174,11 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_0_concat_0_x", "field": "a"}, "y": {"scale": "concat_0_concat_0_y", "field": "b"} @@ -257,11 +257,11 @@ "fill": {"value": "#4c78a8"}, "opacity": {"scale": "opacity", "field": "c"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "xc": {"scale": "concat_0_concat_1_x", "field": "a"}, "width": {"value": 5}, @@ -362,10 +362,10 @@ "stroke": {"value": "#4c78a8"}, "opacity": {"scale": "opacity", "field": "c"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_0_concat_2_x", "field": "a"}, "y": {"scale": "concat_0_concat_2_y", "field": "b"} @@ -384,11 +384,11 @@ "opacity": {"scale": "opacity", "field": "c"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_0_concat_2_x", "field": "a"}, "y": {"scale": "concat_0_concat_2_y", "field": "b"} @@ -486,10 +486,10 @@ "fill": {"value": "#4c78a8"}, "opacity": {"scale": "opacity", "field": "c"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_0_concat_3_x", "field": "a"}, "y": {"scale": "concat_0_concat_3_y", "field": "b_end"}, @@ -585,11 +585,11 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_0_x", "field": "a"}, "y": {"scale": "concat_1_concat_0_y", "field": "b"} @@ -654,11 +654,11 @@ "fill": {"value": "#4c78a8"}, "opacity": {"scale": "opacity", "field": "c"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_1_x", "field": "a"}, "width": { @@ -747,10 +747,10 @@ "stroke": {"value": "#4c78a8"}, "opacity": {"scale": "opacity", "field": "c"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": {"scale": "concat_1_concat_2_y", "field": "b"} @@ -769,11 +769,11 @@ "opacity": {"scale": "opacity", "field": "c"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": {"scale": "concat_1_concat_2_y", "field": "b"} @@ -857,10 +857,10 @@ "fill": {"value": "#4c78a8"}, "opacity": {"scale": "opacity", "field": "c"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_3_x", "field": "a"}, "y": {"scale": "concat_1_concat_3_y", "field": "b_end"}, diff --git a/examples/compiled/test_invalid_opacity_filter_but_include_in_scale_invalid.svg b/examples/compiled/test_invalid_opacity_filter_but_include_in_scale_invalid.svg index 67540caf76..37ab9c2e33 100644 --- a/examples/compiled/test_invalid_opacity_filter_but_include_in_scale_invalid.svg +++ b/examples/compiled/test_invalid_opacity_filter_but_include_in_scale_invalid.svg @@ -1 +1 @@ -0123a02040b123a050100b1.01.52.02.53.0a02040b1.01.52.02.53.0a050100bQuantitative X123a02040b123a050100b123a02040b123a050100bOrdinal X1.01.21.41.61.82.0c \ No newline at end of file +0123a02040b123a050100b1.01.52.02.53.0a02040b1.01.52.02.53.0a050100bQuantitative X123a02040b123a050100b123a02040b123a050100bOrdinal X1.01.21.41.61.82.0c \ No newline at end of file diff --git a/examples/compiled/test_invalid_opacity_filter_but_include_in_scale_invalid.vg.json b/examples/compiled/test_invalid_opacity_filter_but_include_in_scale_invalid.vg.json index da3940ae50..4e9a48327c 100644 --- a/examples/compiled/test_invalid_opacity_filter_but_include_in_scale_invalid.vg.json +++ b/examples/compiled/test_invalid_opacity_filter_but_include_in_scale_invalid.vg.json @@ -180,11 +180,11 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_0_concat_0_x", "field": "a"}, "y": {"scale": "concat_0_concat_0_y", "field": "b"} @@ -269,11 +269,11 @@ {"scale": "opacity", "field": "c"} ], "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "xc": {"scale": "concat_0_concat_1_x", "field": "a"}, "width": {"value": 5}, @@ -380,10 +380,10 @@ {"scale": "opacity", "field": "c"} ], "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_0_concat_2_x", "field": "a"}, "y": {"scale": "concat_0_concat_2_y", "field": "b"} @@ -408,11 +408,11 @@ ], "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_0_concat_2_x", "field": "a"}, "y": {"scale": "concat_0_concat_2_y", "field": "b"} @@ -516,10 +516,10 @@ {"scale": "opacity", "field": "c"} ], "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_0_concat_3_x", "field": "a"}, "y": {"scale": "concat_0_concat_3_y", "field": "b_end"}, @@ -621,11 +621,11 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_0_x", "field": "a"}, "y": {"scale": "concat_1_concat_0_y", "field": "b"} @@ -696,11 +696,11 @@ {"scale": "opacity", "field": "c"} ], "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_1_x", "field": "a"}, "width": { @@ -795,10 +795,10 @@ {"scale": "opacity", "field": "c"} ], "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": {"scale": "concat_1_concat_2_y", "field": "b"} @@ -823,11 +823,11 @@ ], "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": {"scale": "concat_1_concat_2_y", "field": "b"} @@ -917,10 +917,10 @@ {"scale": "opacity", "field": "c"} ], "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_3_x", "field": "a"}, "y": {"scale": "concat_1_concat_3_y", "field": "b_end"}, diff --git a/examples/compiled/test_invalid_opacity_show.svg b/examples/compiled/test_invalid_opacity_show.svg index 3330670d5f..1638d52e7a 100644 --- a/examples/compiled/test_invalid_opacity_show.svg +++ b/examples/compiled/test_invalid_opacity_show.svg @@ -1 +1 @@ -0123a02040b123a050100b1.01.52.02.53.0a02040b1.01.52.02.53.0a050100bQuantitative X123a02040b123a050100b123a02040b123a050100bOrdinal X1.01.21.41.61.82.0c \ No newline at end of file +0123a02040b123a050100b1.01.52.02.53.0a02040b1.01.52.02.53.0a050100bQuantitative X123a02040b123a050100b123a02040b123a050100bOrdinal X1.01.21.41.61.82.0c \ No newline at end of file diff --git a/examples/compiled/test_invalid_opacity_show.vg.json b/examples/compiled/test_invalid_opacity_show.vg.json index 00ad629972..1ae049224e 100644 --- a/examples/compiled/test_invalid_opacity_show.vg.json +++ b/examples/compiled/test_invalid_opacity_show.vg.json @@ -144,11 +144,11 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": [ { @@ -247,11 +247,11 @@ {"scale": "opacity", "field": "c"} ], "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "xc": [ { @@ -364,10 +364,10 @@ {"scale": "opacity", "field": "c"} ], "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": [ { @@ -405,11 +405,11 @@ ], "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": [ { @@ -526,10 +526,10 @@ {"scale": "opacity", "field": "c"} ], "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": [ { @@ -637,11 +637,11 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_0_x", "field": "a"}, "y": [ @@ -719,11 +719,11 @@ {"scale": "opacity", "field": "c"} ], "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_1_x", "field": "a"}, "width": { @@ -818,10 +818,10 @@ {"scale": "opacity", "field": "c"} ], "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": [ @@ -853,11 +853,11 @@ ], "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": [ @@ -954,10 +954,10 @@ {"scale": "opacity", "field": "c"} ], "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\"), \"c\": format(datum[\"c\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"), \"c\": !isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (format(datum[\"c\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; c: \" + (!isValid(datum[\"c\"]) || !isFinite(+datum[\"c\"]) ? \"\" + datum[\"c\"] : format(datum[\"c\"], \"\"))" }, "x": {"scale": "concat_1_concat_3_x", "field": "a"}, "y": {"scale": "concat_1_concat_3_y", "field": "b_end"}, diff --git a/examples/compiled/test_invalid_show.svg b/examples/compiled/test_invalid_show.svg index f4635611ae..a1ca2d816b 100644 --- a/examples/compiled/test_invalid_show.svg +++ b/examples/compiled/test_invalid_show.svg @@ -1 +1 @@ -−10−50510a050100b−10010a050100b−10−50510a050100b−10−50510a050100bQuantitative Xnull-10-5-101510a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bOrdinal X \ No newline at end of file +−10−50510a050100b−10010a050100b−10−50510a050100b−10−50510a050100bQuantitative Xnull-10-5-101510a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bOrdinal X \ No newline at end of file diff --git a/examples/compiled/test_invalid_show.vg.json b/examples/compiled/test_invalid_show.vg.json index d4134b54da..70452409c8 100644 --- a/examples/compiled/test_invalid_show.vg.json +++ b/examples/compiled/test_invalid_show.vg.json @@ -132,11 +132,11 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": [ { @@ -228,11 +228,11 @@ "update": { "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "xc": [ { @@ -319,10 +319,10 @@ "update": { "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": [ { @@ -352,11 +352,11 @@ "opacity": {"value": 1}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": [ { @@ -449,10 +449,10 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": format(datum[\"a\"], \"\"), \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": !isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\"), \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": [ { @@ -547,11 +547,11 @@ "fill": {"value": "transparent"}, "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_0_x", "field": "a"}, "y": [ @@ -622,11 +622,11 @@ "update": { "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_1_x", "field": "a"}, "width": { @@ -695,10 +695,10 @@ "update": { "stroke": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": [ @@ -722,11 +722,11 @@ "opacity": {"value": 1}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_2_x", "field": "a"}, "y": [ @@ -799,10 +799,10 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "tooltip": { - "signal": "{\"a\": isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"], \"b\": format(datum[\"b\"], \"\")}" + "signal": "{\"a\": \"\" + datum[\"a\"], \"b\": !isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")}" }, "description": { - "signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (\"\" + datum[\"a\"]) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "concat_1_concat_3_x", "field": "a"}, "y": {"scale": "concat_1_concat_3_y", "field": "b_end"}, diff --git a/examples/compiled/test_subobject.vg.json b/examples/compiled/test_subobject.vg.json index d3e94e7d59..2e0165df69 100644 --- a/examples/compiled/test_subobject.vg.json +++ b/examples/compiled/test_subobject.vg.json @@ -50,7 +50,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"source\\.reco: \" + (format(datum[\"source.reco\"], \"\")) + \"; source\\.yes: \" + (format(datum[\"source.yes\"], \"\"))" + "signal": "\"source\\.reco: \" + (!isValid(datum[\"source.reco\"]) || !isFinite(+datum[\"source.reco\"]) ? \"\" + datum[\"source.reco\"] : format(datum[\"source.reco\"], \"\")) + \"; source\\.yes: \" + (!isValid(datum[\"source.yes\"]) || !isFinite(+datum[\"source.yes\"]) ? \"\" + datum[\"source.yes\"] : format(datum[\"source.yes\"], \"\"))" }, "x": {"scale": "x", "field": "source\\.reco"}, "y": {"scale": "y", "field": "source\\.yes"} diff --git a/examples/compiled/test_subobject_missing.vg.json b/examples/compiled/test_subobject_missing.vg.json index 588e3cbfb1..7bdaaf2265 100644 --- a/examples/compiled/test_subobject_missing.vg.json +++ b/examples/compiled/test_subobject_missing.vg.json @@ -44,7 +44,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"rank: \" + (isValid(datum[\"rank\"]) ? datum[\"rank\"] : \"\"+datum[\"rank\"]) + \"; options.price: \" + (format(datum[\"options.price\"], \"\"))" + "signal": "\"rank: \" + (\"\" + datum[\"rank\"]) + \"; options.price: \" + (!isValid(datum[\"options.price\"]) || !isFinite(+datum[\"options.price\"]) ? \"\" + datum[\"options.price\"] : format(datum[\"options.price\"], \"\"))" }, "x": {"scale": "x", "field": "rank"}, "y": {"scale": "y", "field": "options\\.price"}, diff --git a/examples/compiled/test_subobject_nested.vg.json b/examples/compiled/test_subobject_nested.vg.json index bb50617f54..aa962ab50f 100644 --- a/examples/compiled/test_subobject_nested.vg.json +++ b/examples/compiled/test_subobject_nested.vg.json @@ -60,7 +60,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"source.reco: \" + (format(datum[\"source.reco\"], \"\")) + \"; source.yes: \" + (format(datum[\"source.yes\"], \"\"))" + "signal": "\"source.reco: \" + (!isValid(datum[\"source.reco\"]) || !isFinite(+datum[\"source.reco\"]) ? \"\" + datum[\"source.reco\"] : format(datum[\"source.reco\"], \"\")) + \"; source.yes: \" + (!isValid(datum[\"source.yes\"]) || !isFinite(+datum[\"source.yes\"]) ? \"\" + datum[\"source.yes\"] : format(datum[\"source.yes\"], \"\"))" }, "x": {"scale": "x", "field": "source\\.reco"}, "y": {"scale": "y", "field": "source\\.yes"} diff --git a/examples/compiled/text_format.vg.json b/examples/compiled/text_format.vg.json index 87a3487c9c..475080009a 100644 --- a/examples/compiled/text_format.vg.json +++ b/examples/compiled/text_format.vg.json @@ -37,11 +37,13 @@ "update": { "fill": {"value": "black"}, "description": { - "signal": "\"Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Mean of Horsepower: \" + (format(datum[\"mean_Horsepower\"], \".2f\"))" + "signal": "\"Origin: \" + (\"\" + datum[\"Origin\"]) + \"; Mean of Horsepower: \" + (!isValid(datum[\"mean_Horsepower\"]) || !isFinite(+datum[\"mean_Horsepower\"]) ? \"\" + datum[\"mean_Horsepower\"] : format(datum[\"mean_Horsepower\"], \".2f\"))" }, "x": {"signal": "width", "mult": 0.5}, "y": {"scale": "y", "field": "Origin"}, - "text": {"signal": "format(datum[\"mean_Horsepower\"], \".2f\")"}, + "text": { + "signal": "!isValid(datum[\"mean_Horsepower\"]) || !isFinite(+datum[\"mean_Horsepower\"]) ? \"\" + datum[\"mean_Horsepower\"] : format(datum[\"mean_Horsepower\"], \".2f\")" + }, "align": {"value": "center"}, "baseline": {"value": "middle"} } diff --git a/examples/compiled/text_params.vg.json b/examples/compiled/text_params.vg.json index 6eedf2e1e0..5e4a851285 100644 --- a/examples/compiled/text_params.vg.json +++ b/examples/compiled/text_params.vg.json @@ -107,7 +107,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "a"}, "y": {"scale": "y", "field": "b"} @@ -133,13 +133,11 @@ "fontStyle": {"signal": "fontStyle"}, "fill": {"value": "black"}, "description": { - "signal": "\"a: \" + (format(datum[\"a\"], \"\")) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; label: \" + (isValid(datum[\"label\"]) ? datum[\"label\"] : \"\"+datum[\"label\"])" + "signal": "\"a: \" + (!isValid(datum[\"a\"]) || !isFinite(+datum[\"a\"]) ? \"\" + datum[\"a\"] : format(datum[\"a\"], \"\")) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\")) + \"; label: \" + (\"\" + datum[\"label\"])" }, "x": {"scale": "x", "field": "a", "offset": {"signal": "xOffset"}}, "y": {"scale": "y", "field": "b", "offset": {"signal": "yOffset"}}, - "text": { - "signal": "isValid(datum[\"label\"]) ? datum[\"label\"] : \"\"+datum[\"label\"]" - } + "text": {"signal": "\"\" + datum[\"label\"]"} } } } diff --git a/examples/compiled/text_scatterplot_colored.vg.json b/examples/compiled/text_scatterplot_colored.vg.json index 5c6b6971ec..50e674be91 100644 --- a/examples/compiled/text_scatterplot_colored.vg.json +++ b/examples/compiled/text_scatterplot_colored.vg.json @@ -29,13 +29,11 @@ "update": { "fill": {"scale": "color", "field": "Origin"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; OriginInitial: \" + (isValid(datum[\"OriginInitial\"]) ? datum[\"OriginInitial\"] : \"\"+datum[\"OriginInitial\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Origin: \" + (\"\" + datum[\"Origin\"]) + \"; OriginInitial: \" + (\"\" + datum[\"OriginInitial\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, - "text": { - "signal": "isValid(datum[\"OriginInitial\"]) ? datum[\"OriginInitial\"] : \"\"+datum[\"OriginInitial\"]" - }, + "text": {"signal": "\"\" + datum[\"OriginInitial\"]"}, "align": {"value": "center"}, "baseline": {"value": "middle"} } diff --git a/examples/compiled/text_tooltip_image.vg.json b/examples/compiled/text_tooltip_image.vg.json index dc2bdf8265..aca6c898aa 100644 --- a/examples/compiled/text_tooltip_image.vg.json +++ b/examples/compiled/text_tooltip_image.vg.json @@ -32,17 +32,11 @@ "encode": { "update": { "fill": {"value": "black"}, - "tooltip": { - "signal": "{\"image\": isValid(datum[\"image\"]) ? datum[\"image\"] : \"\"+datum[\"image\"]}" - }, - "description": { - "signal": "\"image: \" + (isValid(datum[\"image\"]) ? datum[\"image\"] : \"\"+datum[\"image\"])" - }, + "tooltip": {"signal": "{\"image\": \"\" + datum[\"image\"]}"}, + "description": {"signal": "\"image: \" + (\"\" + datum[\"image\"])"}, "x": {"signal": "width", "mult": 0.5}, "y": {"scale": "y", "field": "image"}, - "text": { - "signal": "isValid(datum[\"image\"]) ? datum[\"image\"] : \"\"+datum[\"image\"]" - }, + "text": {"signal": "\"\" + datum[\"image\"]"}, "align": {"value": "center"}, "baseline": {"value": "middle"} } diff --git a/examples/compiled/tick_dot.vg.json b/examples/compiled/tick_dot.vg.json index d8b575c0b5..30cca90c00 100644 --- a/examples/compiled/tick_dot.vg.json +++ b/examples/compiled/tick_dot.vg.json @@ -30,7 +30,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "tick"}, "description": { - "signal": "\"precipitation: \" + (format(datum[\"precipitation\"], \"\"))" + "signal": "\"precipitation: \" + (!isValid(datum[\"precipitation\"]) || !isFinite(+datum[\"precipitation\"]) ? \"\" + datum[\"precipitation\"] : format(datum[\"precipitation\"], \"\"))" }, "xc": {"scale": "x", "field": "precipitation"}, "yc": {"signal": "height", "mult": 0.5}, diff --git a/examples/compiled/tick_dot_thickness.vg.json b/examples/compiled/tick_dot_thickness.vg.json index 962912839c..175cd4a3dc 100644 --- a/examples/compiled/tick_dot_thickness.vg.json +++ b/examples/compiled/tick_dot_thickness.vg.json @@ -30,7 +30,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "tick"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\"))" }, "xc": {"scale": "x", "field": "Horsepower"}, "yc": {"signal": "height", "mult": 0.5}, diff --git a/examples/compiled/tick_grouped.vg.json b/examples/compiled/tick_grouped.vg.json index 2bb4b56c33..43bbe7f135 100644 --- a/examples/compiled/tick_grouped.vg.json +++ b/examples/compiled/tick_grouped.vg.json @@ -49,7 +49,7 @@ "fill": {"scale": "color", "field": "group"}, "ariaRoleDescription": {"value": "tick"}, "description": { - "signal": "\"category: \" + (isValid(datum[\"category\"]) ? datum[\"category\"] : \"\"+datum[\"category\"]) + \"; value: \" + (format(datum[\"value\"], \"\")) + \"; group: \" + (isValid(datum[\"group\"]) ? datum[\"group\"] : \"\"+datum[\"group\"])" + "signal": "\"category: \" + (\"\" + datum[\"category\"]) + \"; value: \" + (!isValid(datum[\"value\"]) || !isFinite(+datum[\"value\"]) ? \"\" + datum[\"value\"] : format(datum[\"value\"], \"\")) + \"; group: \" + (\"\" + datum[\"group\"])" }, "xc": { "scale": "x", diff --git a/examples/compiled/tick_sort.vg.json b/examples/compiled/tick_sort.vg.json index e54fb4aed0..15b62cec59 100644 --- a/examples/compiled/tick_sort.vg.json +++ b/examples/compiled/tick_sort.vg.json @@ -30,7 +30,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "tick"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\"))" }, "xc": {"scale": "x", "field": "Horsepower"}, "yc": {"signal": "height", "mult": 0.5}, diff --git a/examples/compiled/tick_strip.vg.json b/examples/compiled/tick_strip.vg.json index d27a6f5fb6..c2e610fafe 100644 --- a/examples/compiled/tick_strip.vg.json +++ b/examples/compiled/tick_strip.vg.json @@ -37,7 +37,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "tick"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"])" }, "xc": {"scale": "x", "field": "Horsepower"}, "yc": {"scale": "y", "field": "Cylinders"}, diff --git a/examples/compiled/tick_strip_tick_band.vg.json b/examples/compiled/tick_strip_tick_band.vg.json index 4302d64a9d..0b962cb385 100644 --- a/examples/compiled/tick_strip_tick_band.vg.json +++ b/examples/compiled/tick_strip_tick_band.vg.json @@ -33,7 +33,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "tick"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"])" }, "xc": {"scale": "x", "field": "Horsepower"}, "yc": {"scale": "y", "field": "Cylinders", "band": 0.5}, diff --git a/examples/compiled/time_custom_step.vg.json b/examples/compiled/time_custom_step.vg.json index f6ed2a1bf3..3bea461522 100644 --- a/examples/compiled/time_custom_step.vg.json +++ b/examples/compiled/time_custom_step.vg.json @@ -65,7 +65,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date (minutes): \" + (timeFormat(datum[\"minutes_step_5_date\"], timeUnitSpecifier([\"minutes\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Sum of distance: \" + (format(datum[\"sum_distance\"], \"\"))" + "signal": "\"date (minutes): \" + (!isValid(datum[\"minutes_step_5_date\"]) || !isFinite(+datum[\"minutes_step_5_date\"]) ? \"\" + datum[\"minutes_step_5_date\"] : timeFormat(datum[\"minutes_step_5_date\"], timeUnitSpecifier([\"minutes\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Sum of distance: \" + (!isValid(datum[\"sum_distance\"]) || !isFinite(+datum[\"sum_distance\"]) ? \"\" + datum[\"sum_distance\"] : format(datum[\"sum_distance\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/time_output_utc_scale.vg.json b/examples/compiled/time_output_utc_scale.vg.json index 772419de5f..1d692e10cc 100644 --- a/examples/compiled/time_output_utc_scale.vg.json +++ b/examples/compiled/time_output_utc_scale.vg.json @@ -45,7 +45,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date (year-month-date-hours-minutes): \" + (utcFormat(datum[\"yearmonthdatehoursminutes_date\"], timeUnitSpecifier([\"year\",\"month\",\"date\",\"hours\",\"minutes\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date (year-month-date-hours-minutes): \" + (!isValid(datum[\"yearmonthdatehoursminutes_date\"]) || !isFinite(+datum[\"yearmonthdatehoursminutes_date\"]) ? \"\" + datum[\"yearmonthdatehoursminutes_date\"] : utcFormat(datum[\"yearmonthdatehoursminutes_date\"], timeUnitSpecifier([\"year\",\"month\",\"date\",\"hours\",\"minutes\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "x", "field": "yearmonthdatehoursminutes_date"}, "y": {"scale": "y", "field": "price"}, diff --git a/examples/compiled/time_output_utc_timeunit.vg.json b/examples/compiled/time_output_utc_timeunit.vg.json index 5d4be95d66..1c6335d7ff 100644 --- a/examples/compiled/time_output_utc_timeunit.vg.json +++ b/examples/compiled/time_output_utc_timeunit.vg.json @@ -46,7 +46,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"date (year-month-date-hours-minutes): \" + (timeFormat(datum[\"utcyearmonthdatehoursminutes_date\"], timeUnitSpecifier([\"year\",\"month\",\"date\",\"hours\",\"minutes\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; price: \" + (format(datum[\"price\"], \"\"))" + "signal": "\"date (year-month-date-hours-minutes): \" + (!isValid(datum[\"utcyearmonthdatehoursminutes_date\"]) || !isFinite(+datum[\"utcyearmonthdatehoursminutes_date\"]) ? \"\" + datum[\"utcyearmonthdatehoursminutes_date\"] : timeFormat(datum[\"utcyearmonthdatehoursminutes_date\"], timeUnitSpecifier([\"year\",\"month\",\"date\",\"hours\",\"minutes\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\"))" }, "x": {"scale": "x", "field": "utcyearmonthdatehoursminutes_date"}, "y": {"scale": "y", "field": "price"}, diff --git a/examples/compiled/time_parse_binnedutc.vg.json b/examples/compiled/time_parse_binnedutc.vg.json index 55dc8f7d78..7cf10765b4 100644 --- a/examples/compiled/time_parse_binnedutc.vg.json +++ b/examples/compiled/time_parse_binnedutc.vg.json @@ -40,7 +40,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"time: \" + (timeFormat(datum[\"date\"], timeUnitSpecifier([\"year\",\"month\",\"date\",\"hours\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" + "signal": "\"time: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], timeUnitSpecifier([\"year\",\"month\",\"date\",\"hours\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" }, "x": {"field": {"group": "width"}}, "x2": {"value": 0}, diff --git a/examples/compiled/time_parse_local.vg.json b/examples/compiled/time_parse_local.vg.json index 83690debb1..0ab150ec71 100644 --- a/examples/compiled/time_parse_local.vg.json +++ b/examples/compiled/time_parse_local.vg.json @@ -47,7 +47,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"time: \" + (timeFormat(datum[\"hoursminutes_date\"], timeUnitSpecifier([\"hours\",\"minutes\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" + "signal": "\"time: \" + (!isValid(datum[\"hoursminutes_date\"]) || !isFinite(+datum[\"hoursminutes_date\"]) ? \"\" + datum[\"hoursminutes_date\"] : timeFormat(datum[\"hoursminutes_date\"], timeUnitSpecifier([\"hours\",\"minutes\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" }, "x": {"signal": "width", "mult": 0.5}, "y": {"scale": "y", "field": "hoursminutes_date"} diff --git a/examples/compiled/time_parse_utc.vg.json b/examples/compiled/time_parse_utc.vg.json index 244ed944cd..118930b01d 100644 --- a/examples/compiled/time_parse_utc.vg.json +++ b/examples/compiled/time_parse_utc.vg.json @@ -45,7 +45,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"time: \" + (timeFormat(datum[\"utchours_date\"], timeUnitSpecifier([\"hours\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" + "signal": "\"time: \" + (!isValid(datum[\"utchours_date\"]) || !isFinite(+datum[\"utchours_date\"]) ? \"\" + datum[\"utchours_date\"] : timeFormat(datum[\"utchours_date\"], timeUnitSpecifier([\"hours\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" }, "x": {"signal": "width", "mult": 0.5}, "y": {"scale": "y", "field": "utchours_date"} diff --git a/examples/compiled/time_parse_utc_format.vg.json b/examples/compiled/time_parse_utc_format.vg.json index df4379d2f8..49a42400f9 100644 --- a/examples/compiled/time_parse_utc_format.vg.json +++ b/examples/compiled/time_parse_utc_format.vg.json @@ -51,7 +51,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"time: \" + (timeFormat(datum[\"hoursminutes_date\"], timeUnitSpecifier([\"hours\",\"minutes\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" + "signal": "\"time: \" + (!isValid(datum[\"hoursminutes_date\"]) || !isFinite(+datum[\"hoursminutes_date\"]) ? \"\" + datum[\"hoursminutes_date\"] : timeFormat(datum[\"hoursminutes_date\"], timeUnitSpecifier([\"hours\",\"minutes\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})))" }, "x": {"signal": "width", "mult": 0.5}, "y": {"scale": "y", "field": "hoursminutes_date"} diff --git a/examples/compiled/trail_color.vg.json b/examples/compiled/trail_color.vg.json index 0a52240e35..9d1990a69c 100644 --- a/examples/compiled/trail_color.vg.json +++ b/examples/compiled/trail_color.vg.json @@ -41,7 +41,7 @@ "update": { "fill": {"scale": "color", "field": "symbol"}, "description": { - "signal": "\"date: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (format(datum[\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price"}, diff --git a/examples/compiled/trail_comet.vg.json b/examples/compiled/trail_comet.vg.json index a003de90f3..6919b9edb7 100644 --- a/examples/compiled/trail_comet.vg.json +++ b/examples/compiled/trail_comet.vg.json @@ -81,9 +81,7 @@ "from": {"data": "column_domain"}, "sort": {"field": "datum[\"site\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"site\"]) ? parent[\"site\"] : \"\"+parent[\"site\"]" - }, + "text": {"signal": "\"\" + parent[\"site\"]"}, "style": "guide-label", "frame": "group", "offset": 10 @@ -152,10 +150,10 @@ "update": { "fill": {"scale": "color", "field": "delta"}, "tooltip": { - "signal": "{\"year\": format(datum[\"year\"], \"\"), \"yield\": isValid(datum[\"yield\"]) ? datum[\"yield\"] : \"\"+datum[\"yield\"]}" + "signal": "{\"year\": !isValid(datum[\"year\"]) || !isFinite(+datum[\"year\"]) ? \"\" + datum[\"year\"] : format(datum[\"year\"], \"\"), \"yield\": \"\" + datum[\"yield\"]}" }, "description": { - "signal": "\"year: \" + (isValid(datum[\"year\"]) ? datum[\"year\"] : \"\"+datum[\"year\"]) + \"; Variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]) + \"; Yield Delta (%): \" + (format(datum[\"delta\"], \"\")) + \"; Barley Yield (bushels/acre): \" + (format(datum[\"yield\"], \"\")) + \"; yield: \" + (isValid(datum[\"yield\"]) ? datum[\"yield\"] : \"\"+datum[\"yield\"])" + "signal": "\"year: \" + (\"\" + datum[\"year\"]) + \"; Variety: \" + (\"\" + datum[\"variety\"]) + \"; Yield Delta (%): \" + (!isValid(datum[\"delta\"]) || !isFinite(+datum[\"delta\"]) ? \"\" + datum[\"delta\"] : format(datum[\"delta\"], \"\")) + \"; Barley Yield (bushels/acre): \" + (!isValid(datum[\"yield\"]) || !isFinite(+datum[\"yield\"]) ? \"\" + datum[\"yield\"] : format(datum[\"yield\"], \"\")) + \"; yield: \" + (\"\" + datum[\"yield\"])" }, "x": {"scale": "x", "field": "year"}, "y": {"scale": "y", "field": "variety"}, diff --git a/examples/compiled/trellis_anscombe.vg.json b/examples/compiled/trellis_anscombe.vg.json index 9d9d2d8be6..5b0659974d 100644 --- a/examples/compiled/trellis_anscombe.vg.json +++ b/examples/compiled/trellis_anscombe.vg.json @@ -63,9 +63,7 @@ "from": {"data": "column_domain"}, "sort": {"field": "datum[\"Series\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"Series\"]) ? parent[\"Series\"] : \"\"+parent[\"Series\"]" - }, + "text": {"signal": "\"\" + parent[\"Series\"]"}, "style": "guide-label", "frame": "group", "offset": 10 @@ -118,7 +116,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"X: \" + (format(datum[\"X\"], \"\")) + \"; Y: \" + (format(datum[\"Y\"], \"\"))" + "signal": "\"X: \" + (!isValid(datum[\"X\"]) || !isFinite(+datum[\"X\"]) ? \"\" + datum[\"X\"] : format(datum[\"X\"], \"\")) + \"; Y: \" + (!isValid(datum[\"Y\"]) || !isFinite(+datum[\"Y\"]) ? \"\" + datum[\"Y\"] : format(datum[\"Y\"], \"\"))" }, "x": {"scale": "x", "field": "X"}, "y": {"scale": "y", "field": "Y"}, diff --git a/examples/compiled/trellis_area.vg.json b/examples/compiled/trellis_area.vg.json index 87b9e4f635..af3493fc23 100644 --- a/examples/compiled/trellis_area.vg.json +++ b/examples/compiled/trellis_area.vg.json @@ -64,9 +64,7 @@ "from": {"data": "row_domain"}, "sort": {"field": "datum[\"symbol\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"symbol\"]) ? parent[\"symbol\"] : \"\"+parent[\"symbol\"]" - }, + "text": {"signal": "\"\" + parent[\"symbol\"]"}, "orient": "left", "style": "guide-label", "frame": "group", @@ -146,7 +144,7 @@ "orient": {"value": "vertical"}, "fill": {"scale": "color", "field": "symbol"}, "description": { - "signal": "\"Time: \" + (timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; Price: \" + (format(datum[\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"Time: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%b %d, %Y')) + \"; Price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price_end"}, diff --git a/examples/compiled/trellis_area_seattle.vg.json b/examples/compiled/trellis_area_seattle.vg.json index b8f0d14013..ca0357477a 100644 --- a/examples/compiled/trellis_area_seattle.vg.json +++ b/examples/compiled/trellis_area_seattle.vg.json @@ -166,7 +166,7 @@ "orient": {"value": "vertical"}, "fill": {"value": "#4c78a8"}, "description": { - "signal": "\"Month: \" + (timeFormat(datum[\"monthdate_date\"], '%b')) + \"; Mean of temperature: \" + (format(datum[\"mean_temperature\"], \"\"))" + "signal": "\"Month: \" + (!isValid(datum[\"monthdate_date\"]) || !isFinite(+datum[\"monthdate_date\"]) ? \"\" + datum[\"monthdate_date\"] : timeFormat(datum[\"monthdate_date\"], '%b')) + \"; Mean of temperature: \" + (!isValid(datum[\"mean_temperature\"]) || !isFinite(+datum[\"mean_temperature\"]) ? \"\" + datum[\"mean_temperature\"] : format(datum[\"mean_temperature\"], \"\"))" }, "x": {"scale": "x", "field": "monthdate_date"}, "y": {"scale": "y", "field": "mean_temperature"}, diff --git a/examples/compiled/trellis_area_sort_array.vg.json b/examples/compiled/trellis_area_sort_array.vg.json index 8c16d76389..4c62b78194 100644 --- a/examples/compiled/trellis_area_sort_array.vg.json +++ b/examples/compiled/trellis_area_sort_array.vg.json @@ -80,9 +80,7 @@ "order": "ascending" }, "title": { - "text": { - "signal": "isValid(parent[\"symbol\"]) ? parent[\"symbol\"] : \"\"+parent[\"symbol\"]" - }, + "text": {"signal": "\"\" + parent[\"symbol\"]"}, "orient": "left", "style": "guide-label", "frame": "group", @@ -175,7 +173,7 @@ "orient": {"value": "vertical"}, "fill": {"scale": "color", "field": "symbol"}, "description": { - "signal": "\"Time: \" + (timeFormat(datum[\"date\"], '%Y')) + \"; Price: \" + (format(datum[\"price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"Time: \" + (!isValid(datum[\"date\"]) || !isFinite(+datum[\"date\"]) ? \"\" + datum[\"date\"] : timeFormat(datum[\"date\"], '%Y')) + \"; Price: \" + (!isValid(datum[\"price\"]) || !isFinite(+datum[\"price\"]) ? \"\" + datum[\"price\"] : format(datum[\"price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "price_end"}, diff --git a/examples/compiled/trellis_bar.vg.json b/examples/compiled/trellis_bar.vg.json index a8b3fef14a..b9d1283c58 100644 --- a/examples/compiled/trellis_bar.vg.json +++ b/examples/compiled/trellis_bar.vg.json @@ -76,9 +76,7 @@ "from": {"data": "row_domain"}, "sort": {"field": "datum[\"gender\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"gender\"]) ? parent[\"gender\"] : \"\"+parent[\"gender\"]" - }, + "text": {"signal": "\"\" + parent[\"gender\"]"}, "orient": "left", "style": "guide-label", "frame": "group", @@ -140,7 +138,7 @@ "fill": {"scale": "color", "field": "gender"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])" + "signal": "\"age: \" + (\"\" + datum[\"age\"]) + \"; population: \" + (!isValid(datum[\"sum_people\"]) || !isFinite(+datum[\"sum_people\"]) ? \"\" + datum[\"sum_people\"] : format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (\"\" + datum[\"gender\"])" }, "x": {"scale": "x", "field": "age"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/trellis_bar_histogram.vg.json b/examples/compiled/trellis_bar_histogram.vg.json index f806696d61..bf07410461 100644 --- a/examples/compiled/trellis_bar_histogram.vg.json +++ b/examples/compiled/trellis_bar_histogram.vg.json @@ -74,9 +74,7 @@ "from": {"data": "row_domain"}, "sort": {"field": "datum[\"Origin\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"Origin\"]) ? parent[\"Origin\"] : \"\"+parent[\"Origin\"]" - }, + "text": {"signal": "\"\" + parent[\"Origin\"]"}, "orient": "left", "style": "guide-label", "frame": "group", @@ -138,7 +136,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Horsepower (binned): \" + (!isValid(datum[\"bin_maxbins_15_Horsepower\"]) || !isFinite(+datum[\"bin_maxbins_15_Horsepower\"]) ? \"null\" : format(datum[\"bin_maxbins_15_Horsepower\"], \"\") + \" – \" + format(datum[\"bin_maxbins_15_Horsepower_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Horsepower (binned): \" + (!isValid(datum[\"bin_maxbins_15_Horsepower\"]) || !isFinite(+datum[\"bin_maxbins_15_Horsepower\"]) ? \"\" + datum[\"bin_maxbins_15_Horsepower\"] : format(datum[\"bin_maxbins_15_Horsepower\"], \"\") + \" – \" + format(datum[\"bin_maxbins_15_Horsepower_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/trellis_bar_histogram_label_rotated.vg.json b/examples/compiled/trellis_bar_histogram_label_rotated.vg.json index bcec41df77..ca1440f71d 100644 --- a/examples/compiled/trellis_bar_histogram_label_rotated.vg.json +++ b/examples/compiled/trellis_bar_histogram_label_rotated.vg.json @@ -74,9 +74,7 @@ "from": {"data": "row_domain"}, "sort": {"field": "datum[\"Origin\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"Origin\"]) ? parent[\"Origin\"] : \"\"+parent[\"Origin\"]" - }, + "text": {"signal": "\"\" + parent[\"Origin\"]"}, "orient": "left", "style": "guide-label", "frame": "group", @@ -141,7 +139,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Horsepower (binned): \" + (!isValid(datum[\"bin_maxbins_15_Horsepower\"]) || !isFinite(+datum[\"bin_maxbins_15_Horsepower\"]) ? \"null\" : format(datum[\"bin_maxbins_15_Horsepower\"], \"\") + \" – \" + format(datum[\"bin_maxbins_15_Horsepower_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"Horsepower (binned): \" + (!isValid(datum[\"bin_maxbins_15_Horsepower\"]) || !isFinite(+datum[\"bin_maxbins_15_Horsepower\"]) ? \"\" + datum[\"bin_maxbins_15_Horsepower\"] : format(datum[\"bin_maxbins_15_Horsepower\"], \"\") + \" – \" + format(datum[\"bin_maxbins_15_Horsepower_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x2": { "scale": "x", diff --git a/examples/compiled/trellis_bar_no_header.vg.json b/examples/compiled/trellis_bar_no_header.vg.json index 0e859595af..e34c16cad3 100644 --- a/examples/compiled/trellis_bar_no_header.vg.json +++ b/examples/compiled/trellis_bar_no_header.vg.json @@ -114,7 +114,7 @@ "fill": {"scale": "color", "field": "gender"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])" + "signal": "\"age: \" + (\"\" + datum[\"age\"]) + \"; population: \" + (!isValid(datum[\"sum_people\"]) || !isFinite(+datum[\"sum_people\"]) ? \"\" + datum[\"sum_people\"] : format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (\"\" + datum[\"gender\"])" }, "x": {"scale": "x", "field": "age"}, "width": {"signal": "max(0.25, bandwidth('x'))"}, diff --git a/examples/compiled/trellis_barley.vg.json b/examples/compiled/trellis_barley.vg.json index b7ffc699ed..78357a6447 100644 --- a/examples/compiled/trellis_barley.vg.json +++ b/examples/compiled/trellis_barley.vg.json @@ -117,9 +117,7 @@ "name": "trellis_barley_cell", "type": "group", "title": { - "text": { - "signal": "isValid(parent[\"site\"]) ? parent[\"site\"] : \"\"+parent[\"site\"]" - }, + "text": {"signal": "\"\" + parent[\"site\"]"}, "style": "guide-label", "frame": "group", "offset": 10 @@ -178,7 +176,7 @@ "stroke": {"scale": "trellis_barley_color", "field": "year"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Median of yield: \" + (format(datum[\"median_yield\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]) + \"; year: \" + (isValid(datum[\"year\"]) ? datum[\"year\"] : \"\"+datum[\"year\"])" + "signal": "\"Median of yield: \" + (!isValid(datum[\"median_yield\"]) || !isFinite(+datum[\"median_yield\"]) ? \"\" + datum[\"median_yield\"] : format(datum[\"median_yield\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"]) + \"; year: \" + (\"\" + datum[\"year\"])" }, "x": {"scale": "trellis_barley_x", "field": "median_yield"}, "y": {"scale": "trellis_barley_y", "field": "variety"} diff --git a/examples/compiled/trellis_barley_independent.vg.json b/examples/compiled/trellis_barley_independent.vg.json index d52e6df79a..261b6da69c 100644 --- a/examples/compiled/trellis_barley_independent.vg.json +++ b/examples/compiled/trellis_barley_independent.vg.json @@ -43,9 +43,7 @@ "name": "trellis_barley_cell", "type": "group", "title": { - "text": { - "signal": "isValid(parent[\"site\"]) ? parent[\"site\"] : \"\"+parent[\"site\"]" - }, + "text": {"signal": "\"\" + parent[\"site\"]"}, "style": "guide-label", "frame": "group", "offset": 10 @@ -104,7 +102,7 @@ "stroke": {"scale": "trellis_barley_color", "field": "year"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Median of yield: \" + (format(datum[\"median_yield\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]) + \"; year: \" + (isValid(datum[\"year\"]) ? datum[\"year\"] : \"\"+datum[\"year\"])" + "signal": "\"Median of yield: \" + (!isValid(datum[\"median_yield\"]) || !isFinite(+datum[\"median_yield\"]) ? \"\" + datum[\"median_yield\"] : format(datum[\"median_yield\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"]) + \"; year: \" + (\"\" + datum[\"year\"])" }, "x": {"scale": "trellis_barley_x", "field": "median_yield"}, "y": {"scale": "trellis_barley_y", "field": "variety"} diff --git a/examples/compiled/trellis_barley_layer_median.vg.json b/examples/compiled/trellis_barley_layer_median.vg.json index 0ad02b1fba..1d40934a4a 100644 --- a/examples/compiled/trellis_barley_layer_median.vg.json +++ b/examples/compiled/trellis_barley_layer_median.vg.json @@ -87,9 +87,7 @@ "from": {"data": "trellis_barley_row_domain"}, "sort": {"field": "datum[\"median_yield\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"site\"]) ? parent[\"site\"] : \"\"+parent[\"site\"]" - }, + "text": {"signal": "\"\" + parent[\"site\"]"}, "orient": "left", "style": "guide-label", "frame": "group", @@ -200,7 +198,7 @@ "stroke": {"scale": "trellis_barley_color", "field": "year"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Median of yield: \" + (format(datum[\"median_yield\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]) + \"; year: \" + (isValid(datum[\"year\"]) ? datum[\"year\"] : \"\"+datum[\"year\"])" + "signal": "\"Median of yield: \" + (!isValid(datum[\"median_yield\"]) || !isFinite(+datum[\"median_yield\"]) ? \"\" + datum[\"median_yield\"] : format(datum[\"median_yield\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"]) + \"; year: \" + (\"\" + datum[\"year\"])" }, "x": {"scale": "trellis_barley_x", "field": "median_yield"}, "y": {"scale": "trellis_barley_y", "field": "variety"} @@ -216,7 +214,7 @@ "update": { "stroke": {"value": "black"}, "description": { - "signal": "\"Median of yield: \" + (format(datum[\"median_yield\"], \"\"))" + "signal": "\"Median of yield: \" + (!isValid(datum[\"median_yield\"]) || !isFinite(+datum[\"median_yield\"]) ? \"\" + datum[\"median_yield\"] : format(datum[\"median_yield\"], \"\"))" }, "x": {"scale": "trellis_barley_x", "field": "median_yield"}, "y": {"value": 0}, diff --git a/examples/compiled/trellis_column_year.vg.json b/examples/compiled/trellis_column_year.vg.json index 6a82655cc2..02f5b1677c 100644 --- a/examples/compiled/trellis_column_year.vg.json +++ b/examples/compiled/trellis_column_year.vg.json @@ -83,7 +83,7 @@ "sort": {"field": "datum[\"year_date\"]", "order": "ascending"}, "title": { "text": { - "signal": "timeFormat(parent[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))" + "signal": "!isValid(parent[\"year_date\"]) || !isFinite(+parent[\"year_date\"]) ? \"\" + parent[\"year_date\"] : timeFormat(parent[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))" }, "style": "guide-label", "frame": "group", @@ -158,7 +158,7 @@ "update": { "stroke": {"scale": "color", "field": "symbol"}, "description": { - "signal": "\"date (quarter): \" + (timeFormat(datum[\"quarter_date\"], timeUnitSpecifier([\"quarter\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of price: \" + (format(datum[\"mean_price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date (quarter): \" + (!isValid(datum[\"quarter_date\"]) || !isFinite(+datum[\"quarter_date\"]) ? \"\" + datum[\"quarter_date\"] : timeFormat(datum[\"quarter_date\"], timeUnitSpecifier([\"quarter\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of price: \" + (!isValid(datum[\"mean_price\"]) || !isFinite(+datum[\"mean_price\"]) ? \"\" + datum[\"mean_price\"] : format(datum[\"mean_price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "quarter_date"}, "y": {"scale": "y", "field": "mean_price"}, diff --git a/examples/compiled/trellis_cross_sort.vg.json b/examples/compiled/trellis_cross_sort.vg.json index 8ab89d4082..5b3dd4c86a 100644 --- a/examples/compiled/trellis_cross_sort.vg.json +++ b/examples/compiled/trellis_cross_sort.vg.json @@ -157,9 +157,7 @@ "from": {"data": "row_domain"}, "sort": {"field": "datum[\"median_y\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"b\"]) ? parent[\"b\"] : \"\"+parent[\"b\"]" - }, + "text": {"signal": "\"\" + parent[\"b\"]"}, "orient": "left", "style": "guide-label", "frame": "group", @@ -185,9 +183,7 @@ "from": {"data": "column_domain"}, "sort": {"field": "datum[\"median_x\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"a\"]) ? parent[\"a\"] : \"\"+parent[\"a\"]" - }, + "text": {"signal": "\"\" + parent[\"a\"]"}, "style": "guide-label", "frame": "group", "offset": 10 @@ -299,7 +295,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"x: \" + (format(datum[\"x\"], \"\")) + \"; y: \" + (format(datum[\"y\"], \"\"))" + "signal": "\"x: \" + (!isValid(datum[\"x\"]) || !isFinite(+datum[\"x\"]) ? \"\" + datum[\"x\"] : format(datum[\"x\"], \"\")) + \"; y: \" + (!isValid(datum[\"y\"]) || !isFinite(+datum[\"y\"]) ? \"\" + datum[\"y\"] : format(datum[\"y\"], \"\"))" }, "x": {"scale": "x", "field": "x"}, "y": {"scale": "y", "field": "y"} @@ -315,7 +311,7 @@ "update": { "stroke": {"value": "black"}, "description": { - "signal": "\"Median of median_x_by_a: \" + (format(datum[\"median_median_x_by_a\"], \"\"))" + "signal": "\"Median of median_x_by_a: \" + (!isValid(datum[\"median_median_x_by_a\"]) || !isFinite(+datum[\"median_median_x_by_a\"]) ? \"\" + datum[\"median_median_x_by_a\"] : format(datum[\"median_median_x_by_a\"], \"\"))" }, "x": {"scale": "x", "field": "median_median_x_by_a"}, "y": {"value": 0}, @@ -332,7 +328,7 @@ "update": { "stroke": {"value": "black"}, "description": { - "signal": "\"Median of median_y_by_b: \" + (format(datum[\"median_median_y_by_b\"], \"\"))" + "signal": "\"Median of median_y_by_b: \" + (!isValid(datum[\"median_median_y_by_b\"]) || !isFinite(+datum[\"median_median_y_by_b\"]) ? \"\" + datum[\"median_median_y_by_b\"] : format(datum[\"median_median_y_by_b\"], \"\"))" }, "x": {"field": {"group": "width"}}, "x2": {"value": 0}, diff --git a/examples/compiled/trellis_cross_sort_array.vg.json b/examples/compiled/trellis_cross_sort_array.vg.json index 0862fbb7fa..a2c913a9e6 100644 --- a/examples/compiled/trellis_cross_sort_array.vg.json +++ b/examples/compiled/trellis_cross_sort_array.vg.json @@ -153,9 +153,7 @@ "from": {"data": "row_domain"}, "sort": {"field": "datum[\"row_b_sort_index\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"b\"]) ? parent[\"b\"] : \"\"+parent[\"b\"]" - }, + "text": {"signal": "\"\" + parent[\"b\"]"}, "orient": "left", "style": "guide-label", "frame": "group", @@ -181,9 +179,7 @@ "from": {"data": "column_domain"}, "sort": {"field": "datum[\"column_a_sort_index\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"a\"]) ? parent[\"a\"] : \"\"+parent[\"a\"]" - }, + "text": {"signal": "\"\" + parent[\"a\"]"}, "style": "guide-label", "frame": "group", "offset": 10 @@ -298,7 +294,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"x: \" + (format(datum[\"x\"], \"\")) + \"; y: \" + (format(datum[\"y\"], \"\"))" + "signal": "\"x: \" + (!isValid(datum[\"x\"]) || !isFinite(+datum[\"x\"]) ? \"\" + datum[\"x\"] : format(datum[\"x\"], \"\")) + \"; y: \" + (!isValid(datum[\"y\"]) || !isFinite(+datum[\"y\"]) ? \"\" + datum[\"y\"] : format(datum[\"y\"], \"\"))" }, "x": {"scale": "x", "field": "x"}, "y": {"scale": "y", "field": "y"} @@ -314,7 +310,7 @@ "update": { "stroke": {"value": "black"}, "description": { - "signal": "\"Median of median_x_by_a: \" + (format(datum[\"median_median_x_by_a\"], \"\"))" + "signal": "\"Median of median_x_by_a: \" + (!isValid(datum[\"median_median_x_by_a\"]) || !isFinite(+datum[\"median_median_x_by_a\"]) ? \"\" + datum[\"median_median_x_by_a\"] : format(datum[\"median_median_x_by_a\"], \"\"))" }, "x": {"scale": "x", "field": "median_median_x_by_a"}, "y": {"value": 0}, @@ -331,7 +327,7 @@ "update": { "stroke": {"value": "black"}, "description": { - "signal": "\"Median of median_y_by_b: \" + (format(datum[\"median_median_y_by_b\"], \"\"))" + "signal": "\"Median of median_y_by_b: \" + (!isValid(datum[\"median_median_y_by_b\"]) || !isFinite(+datum[\"median_median_y_by_b\"]) ? \"\" + datum[\"median_median_y_by_b\"] : format(datum[\"median_median_y_by_b\"], \"\"))" }, "x": {"field": {"group": "width"}}, "x2": {"value": 0}, diff --git a/examples/compiled/trellis_line_quarter.vg.json b/examples/compiled/trellis_line_quarter.vg.json index ff4c8da8da..9359937307 100644 --- a/examples/compiled/trellis_line_quarter.vg.json +++ b/examples/compiled/trellis_line_quarter.vg.json @@ -87,7 +87,7 @@ "sort": {"field": "datum[\"year_date\"]", "order": "ascending"}, "title": { "text": { - "signal": "timeFormat(parent[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))" + "signal": "!isValid(parent[\"year_date\"]) || !isFinite(+parent[\"year_date\"]) ? \"\" + parent[\"year_date\"] : timeFormat(parent[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))" }, "style": "guide-label", "frame": "group", @@ -146,7 +146,7 @@ "stroke": {"scale": "color", "field": "symbol"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"date (quarter): \" + (timeFormat(datum[\"quarter_date\"], timeUnitSpecifier([\"quarter\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of price: \" + (format(datum[\"mean_price\"], \"\")) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"])" + "signal": "\"date (quarter): \" + (!isValid(datum[\"quarter_date\"]) || !isFinite(+datum[\"quarter_date\"]) ? \"\" + datum[\"quarter_date\"] : timeFormat(datum[\"quarter_date\"], timeUnitSpecifier([\"quarter\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of price: \" + (!isValid(datum[\"mean_price\"]) || !isFinite(+datum[\"mean_price\"]) ? \"\" + datum[\"mean_price\"] : format(datum[\"mean_price\"], \"\")) + \"; symbol: \" + (\"\" + datum[\"symbol\"])" }, "x": {"scale": "x", "field": "quarter_date"}, "y": {"scale": "y", "field": "mean_price"} diff --git a/examples/compiled/trellis_row_column.vg.json b/examples/compiled/trellis_row_column.vg.json index 395389a005..1c254ce72a 100644 --- a/examples/compiled/trellis_row_column.vg.json +++ b/examples/compiled/trellis_row_column.vg.json @@ -61,9 +61,7 @@ "from": {"data": "row_domain"}, "sort": {"field": "datum[\"Cylinders\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"Cylinders\"]) ? parent[\"Cylinders\"] : \"\"+parent[\"Cylinders\"]" - }, + "text": {"signal": "\"\" + parent[\"Cylinders\"]"}, "orient": "left", "style": "guide-label", "frame": "group", @@ -89,9 +87,7 @@ "from": {"data": "column_domain"}, "sort": {"field": "datum[\"Origin\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"Origin\"]) ? parent[\"Origin\"] : \"\"+parent[\"Origin\"]" - }, + "text": {"signal": "\"\" + parent[\"Origin\"]"}, "style": "guide-label", "frame": "group", "offset": 10 @@ -153,7 +149,7 @@ "stroke": {"scale": "color", "field": "Cylinders"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"])" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\")) + \"; Cylinders: \" + (\"\" + datum[\"Cylinders\"]) + \"; Origin: \" + (\"\" + datum[\"Origin\"])" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, diff --git a/examples/compiled/trellis_scatter.vg.json b/examples/compiled/trellis_scatter.vg.json index 7c22029457..52645e880a 100644 --- a/examples/compiled/trellis_scatter.vg.json +++ b/examples/compiled/trellis_scatter.vg.json @@ -93,9 +93,7 @@ "name": "cell", "type": "group", "title": { - "text": { - "signal": "isValid(parent[\"MPAA Rating\"]) ? parent[\"MPAA Rating\"] : \"\"+parent[\"MPAA Rating\"]" - }, + "text": {"signal": "\"\" + parent[\"MPAA Rating\"]"}, "style": "guide-label", "frame": "group", "offset": 10 @@ -128,7 +126,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Worldwide Gross: \" + (format(datum[\"Worldwide Gross\"], \"\")) + \"; US DVD Sales: \" + (format(datum[\"US DVD Sales\"], \"\"))" + "signal": "\"Worldwide Gross: \" + (!isValid(datum[\"Worldwide Gross\"]) || !isFinite(+datum[\"Worldwide Gross\"]) ? \"\" + datum[\"Worldwide Gross\"] : format(datum[\"Worldwide Gross\"], \"\")) + \"; US DVD Sales: \" + (!isValid(datum[\"US DVD Sales\"]) || !isFinite(+datum[\"US DVD Sales\"]) ? \"\" + datum[\"US DVD Sales\"] : format(datum[\"US DVD Sales\"], \"\"))" }, "x": {"scale": "x", "field": "Worldwide Gross"}, "y": {"scale": "y", "field": "US DVD Sales"} diff --git a/examples/compiled/trellis_scatter_binned_row.vg.json b/examples/compiled/trellis_scatter_binned_row.vg.json index 144e70789d..d95a5c70df 100644 --- a/examples/compiled/trellis_scatter_binned_row.vg.json +++ b/examples/compiled/trellis_scatter_binned_row.vg.json @@ -79,7 +79,7 @@ }, "title": { "text": { - "signal": "!isValid(parent[\"bin_maxbins_6_Acceleration\"]) || !isFinite(+parent[\"bin_maxbins_6_Acceleration\"]) ? \"null\" : format(parent[\"bin_maxbins_6_Acceleration\"], \"\") + \" – \" + format(parent[\"bin_maxbins_6_Acceleration_end\"], \"\")" + "signal": "!isValid(parent[\"bin_maxbins_6_Acceleration\"]) || !isFinite(+parent[\"bin_maxbins_6_Acceleration\"]) ? \"\" + parent[\"bin_maxbins_6_Acceleration\"] : format(parent[\"bin_maxbins_6_Acceleration\"], \"\") + \" – \" + format(parent[\"bin_maxbins_6_Acceleration_end\"], \"\")" }, "orient": "left", "style": "guide-label", @@ -154,7 +154,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Horsepower: \" + (format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Horsepower: \" + (!isValid(datum[\"Horsepower\"]) || !isFinite(+datum[\"Horsepower\"]) ? \"\" + datum[\"Horsepower\"] : format(datum[\"Horsepower\"], \"\")) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "Horsepower"}, "y": {"scale": "y", "field": "Miles_per_Gallon"} diff --git a/examples/compiled/trellis_scatter_small.vg.json b/examples/compiled/trellis_scatter_small.vg.json index 2b5fffdf06..0d9b929c95 100644 --- a/examples/compiled/trellis_scatter_small.vg.json +++ b/examples/compiled/trellis_scatter_small.vg.json @@ -62,9 +62,7 @@ "from": {"data": "column_domain"}, "sort": {"field": "datum[\"MPAA Rating\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"MPAA Rating\"]) ? parent[\"MPAA Rating\"] : \"\"+parent[\"MPAA Rating\"]" - }, + "text": {"signal": "\"\" + parent[\"MPAA Rating\"]"}, "style": "guide-label", "frame": "group", "offset": 10 @@ -122,7 +120,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"Worldwide Gross: \" + (format(datum[\"Worldwide Gross\"], \"\")) + \"; US DVD Sales: \" + (format(datum[\"US DVD Sales\"], \"\"))" + "signal": "\"Worldwide Gross: \" + (!isValid(datum[\"Worldwide Gross\"]) || !isFinite(+datum[\"Worldwide Gross\"]) ? \"\" + datum[\"Worldwide Gross\"] : format(datum[\"Worldwide Gross\"], \"\")) + \"; US DVD Sales: \" + (!isValid(datum[\"US DVD Sales\"]) || !isFinite(+datum[\"US DVD Sales\"]) ? \"\" + datum[\"US DVD Sales\"] : format(datum[\"US DVD Sales\"], \"\"))" }, "x": {"scale": "x", "field": "Worldwide Gross"}, "y": {"scale": "y", "field": "US DVD Sales"} diff --git a/examples/compiled/trellis_selections.vg.json b/examples/compiled/trellis_selections.vg.json index 07bbe60e26..89b47d506b 100644 --- a/examples/compiled/trellis_selections.vg.json +++ b/examples/compiled/trellis_selections.vg.json @@ -101,9 +101,7 @@ "from": {"data": "column_domain"}, "sort": {"field": "datum[\"Series\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"Series\"]) ? parent[\"Series\"] : \"\"+parent[\"Series\"]" - }, + "text": {"signal": "\"\" + parent[\"Series\"]"}, "style": "guide-label", "frame": "group", "offset": 10 @@ -492,7 +490,7 @@ ], "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"X: \" + (format(datum[\"X\"], \"\")) + \"; Y: \" + (format(datum[\"Y\"], \"\"))" + "signal": "\"X: \" + (!isValid(datum[\"X\"]) || !isFinite(+datum[\"X\"]) ? \"\" + datum[\"X\"] : format(datum[\"X\"], \"\")) + \"; Y: \" + (!isValid(datum[\"Y\"]) || !isFinite(+datum[\"Y\"]) ? \"\" + datum[\"Y\"] : format(datum[\"Y\"], \"\"))" }, "x": {"scale": "x", "field": "X"}, "y": {"scale": "y", "field": "Y"}, diff --git a/examples/compiled/trellis_stacked_bar.vg.json b/examples/compiled/trellis_stacked_bar.vg.json index 0291364369..573e0a7ee6 100644 --- a/examples/compiled/trellis_stacked_bar.vg.json +++ b/examples/compiled/trellis_stacked_bar.vg.json @@ -79,9 +79,7 @@ "from": {"data": "column_domain"}, "sort": {"field": "datum[\"year\"]", "order": "ascending"}, "title": { - "text": { - "signal": "isValid(parent[\"year\"]) ? parent[\"year\"] : \"\"+parent[\"year\"]" - }, + "text": {"signal": "\"\" + parent[\"year\"]"}, "style": "guide-label", "frame": "group", "offset": 10 @@ -133,7 +131,7 @@ "fill": {"scale": "color", "field": "site"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Sum of yield: \" + (format(datum[\"sum_yield\"], \"\")) + \"; variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]) + \"; site: \" + (isValid(datum[\"site\"]) ? datum[\"site\"] : \"\"+datum[\"site\"])" + "signal": "\"Sum of yield: \" + (!isValid(datum[\"sum_yield\"]) || !isFinite(+datum[\"sum_yield\"]) ? \"\" + datum[\"sum_yield\"] : format(datum[\"sum_yield\"], \"\")) + \"; variety: \" + (\"\" + datum[\"variety\"]) + \"; site: \" + (\"\" + datum[\"site\"])" }, "x": {"scale": "x", "field": "sum_yield_end"}, "x2": {"scale": "x", "field": "sum_yield_start"}, diff --git a/examples/compiled/vconcat_flatten.vg.json b/examples/compiled/vconcat_flatten.vg.json index bb1d36a123..2140b39234 100644 --- a/examples/compiled/vconcat_flatten.vg.json +++ b/examples/compiled/vconcat_flatten.vg.json @@ -160,7 +160,7 @@ ], "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"ra: \" + (format(datum[\"ra\"], \"\")) + \"; dec: \" + (format(datum[\"dec\"], \"\"))" + "signal": "\"ra: \" + (!isValid(datum[\"ra\"]) || !isFinite(+datum[\"ra\"]) ? \"\" + datum[\"ra\"] : format(datum[\"ra\"], \"\")) + \"; dec: \" + (!isValid(datum[\"dec\"]) || !isFinite(+datum[\"dec\"]) ? \"\" + datum[\"dec\"] : format(datum[\"dec\"], \"\"))" }, "x": {"scale": "concat_0_x", "field": "ra"}, "y": {"scale": "concat_0_y", "field": "dec"}, @@ -260,7 +260,7 @@ "update": { "stroke": {"value": "steelblue"}, "description": { - "signal": "\"lc.time: \" + (format(datum[\"lc.time\"], \"\")) + \"; lc.mag: \" + (format(datum[\"lc.mag\"], \"\")) + \"; id: \" + (isValid(datum[\"id\"]) ? datum[\"id\"] : \"\"+datum[\"id\"])" + "signal": "\"lc.time: \" + (!isValid(datum[\"lc.time\"]) || !isFinite(+datum[\"lc.time\"]) ? \"\" + datum[\"lc.time\"] : format(datum[\"lc.time\"], \"\")) + \"; lc.mag: \" + (!isValid(datum[\"lc.mag\"]) || !isFinite(+datum[\"lc.mag\"]) ? \"\" + datum[\"lc.mag\"] : format(datum[\"lc.mag\"], \"\")) + \"; id: \" + (\"\" + datum[\"id\"])" }, "x": {"scale": "concat_1_x", "field": "lc\\.time"}, "y": {"scale": "concat_1_y", "field": "lc\\.mag"}, diff --git a/examples/compiled/vconcat_weather.vg.json b/examples/compiled/vconcat_weather.vg.json index 1e5829bd9d..ee6df5a6c7 100644 --- a/examples/compiled/vconcat_weather.vg.json +++ b/examples/compiled/vconcat_weather.vg.json @@ -114,7 +114,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))" + "signal": "\"date (month): \" + (!isValid(datum[\"month_date\"]) || !isFinite(+datum[\"month_date\"]) ? \"\" + datum[\"month_date\"] : timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (!isValid(datum[\"mean_precipitation\"]) || !isFinite(+datum[\"mean_precipitation\"]) ? \"\" + datum[\"mean_precipitation\"] : format(datum[\"mean_precipitation\"], \"\"))" }, "x": {"scale": "concat_0_x", "field": "month_date"}, "width": {"signal": "max(0.25, bandwidth('concat_0_x'))"}, @@ -187,7 +187,7 @@ "stroke": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"temp_min (binned): \" + (!isValid(datum[\"bin_maxbins_10_temp_min\"]) || !isFinite(+datum[\"bin_maxbins_10_temp_min\"]) ? \"null\" : format(datum[\"bin_maxbins_10_temp_min\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_temp_min_end\"], \"\")) + \"; temp_max (binned): \" + (!isValid(datum[\"bin_maxbins_10_temp_max\"]) || !isFinite(+datum[\"bin_maxbins_10_temp_max\"]) ? \"null\" : format(datum[\"bin_maxbins_10_temp_max\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_temp_max_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))" + "signal": "\"temp_min (binned): \" + (!isValid(datum[\"bin_maxbins_10_temp_min\"]) || !isFinite(+datum[\"bin_maxbins_10_temp_min\"]) ? \"\" + datum[\"bin_maxbins_10_temp_min\"] : format(datum[\"bin_maxbins_10_temp_min\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_temp_min_end\"], \"\")) + \"; temp_max (binned): \" + (!isValid(datum[\"bin_maxbins_10_temp_max\"]) || !isFinite(+datum[\"bin_maxbins_10_temp_max\"]) ? \"\" + datum[\"bin_maxbins_10_temp_max\"] : format(datum[\"bin_maxbins_10_temp_max\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_temp_max_end\"], \"\")) + \"; Count of Records: \" + (!isValid(datum[\"__count\"]) || !isFinite(+datum[\"__count\"]) ? \"\" + datum[\"__count\"] : format(datum[\"__count\"], \"\"))" }, "x": { "signal": "scale(\"concat_1_x\", 0.5 * datum[\"bin_maxbins_10_temp_min\"] + 0.5 * datum[\"bin_maxbins_10_temp_min_end\"])" diff --git a/examples/compiled/waterfall_chart.vg.json b/examples/compiled/waterfall_chart.vg.json index aac82a94bd..e5d07bcb5c 100644 --- a/examples/compiled/waterfall_chart.vg.json +++ b/examples/compiled/waterfall_chart.vg.json @@ -121,7 +121,7 @@ ], "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"label: \" + (isValid(datum[\"label\"]) ? datum[\"label\"] : \"\"+datum[\"label\"]) + \"; Amount: \" + (format(datum[\"previous_sum\"], \"\")) + \"; sum: \" + (format(datum[\"sum\"], \"\"))" + "signal": "\"label: \" + (\"\" + datum[\"label\"]) + \"; Amount: \" + (!isValid(datum[\"previous_sum\"]) || !isFinite(+datum[\"previous_sum\"]) ? \"\" + datum[\"previous_sum\"] : format(datum[\"previous_sum\"], \"\")) + \"; sum: \" + (!isValid(datum[\"sum\"]) || !isFinite(+datum[\"sum\"]) ? \"\" + datum[\"sum\"] : format(datum[\"sum\"], \"\"))" }, "xc": {"scale": "x", "field": "label", "band": 0.5}, "width": {"value": 45}, @@ -141,7 +141,7 @@ "strokeWidth": {"value": 2}, "stroke": {"value": "#404040"}, "description": { - "signal": "\"label: \" + (isValid(datum[\"label\"]) ? datum[\"label\"] : \"\"+datum[\"label\"]) + \"; sum: \" + (format(datum[\"sum\"], \"\")) + \"; lead: \" + (isValid(datum[\"lead\"]) ? datum[\"lead\"] : \"\"+datum[\"lead\"])" + "signal": "\"label: \" + (\"\" + datum[\"label\"]) + \"; sum: \" + (!isValid(datum[\"sum\"]) || !isFinite(+datum[\"sum\"]) ? \"\" + datum[\"sum\"] : format(datum[\"sum\"], \"\")) + \"; lead: \" + (\"\" + datum[\"lead\"])" }, "x": {"scale": "x", "field": "label", "offset": -22.5, "band": 0.5}, "x2": {"scale": "x", "field": "lead", "offset": 22.5, "band": 0.5}, @@ -160,13 +160,11 @@ "dy": {"signal": "datum.amount >= 0 ? -4 : 4"}, "fill": {"value": "#404040"}, "description": { - "signal": "\"label: \" + (isValid(datum[\"label\"]) ? datum[\"label\"] : \"\"+datum[\"label\"]) + \"; sum: \" + (format(datum[\"sum\"], \"\"))" + "signal": "\"label: \" + (\"\" + datum[\"label\"]) + \"; sum: \" + (!isValid(datum[\"sum\"]) || !isFinite(+datum[\"sum\"]) ? \"\" + datum[\"sum\"] : format(datum[\"sum\"], \"\"))" }, "x": {"scale": "x", "field": "label", "band": 0.5}, "y": {"scale": "y", "field": "sum"}, - "text": { - "signal": "isValid(datum[\"sum\"]) ? datum[\"sum\"] : \"\"+datum[\"sum\"]" - }, + "text": {"signal": "\"\" + datum[\"sum\"]"}, "align": {"value": "center"} } } @@ -188,13 +186,11 @@ {"value": "white"} ], "description": { - "signal": "\"label: \" + (isValid(datum[\"label\"]) ? datum[\"label\"] : \"\"+datum[\"label\"]) + \"; center: \" + (format(datum[\"center\"], \"\")) + \"; text_amount: \" + (isValid(datum[\"text_amount\"]) ? datum[\"text_amount\"] : \"\"+datum[\"text_amount\"])" + "signal": "\"label: \" + (\"\" + datum[\"label\"]) + \"; center: \" + (!isValid(datum[\"center\"]) || !isFinite(+datum[\"center\"]) ? \"\" + datum[\"center\"] : format(datum[\"center\"], \"\")) + \"; text_amount: \" + (\"\" + datum[\"text_amount\"])" }, "x": {"scale": "x", "field": "label", "band": 0.5}, "y": {"scale": "y", "field": "center"}, - "text": { - "signal": "isValid(datum[\"text_amount\"]) ? datum[\"text_amount\"] : \"\"+datum[\"text_amount\"]" - }, + "text": {"signal": "\"\" + datum[\"text_amount\"]"}, "align": {"value": "center"} } } diff --git a/examples/compiled/wheat_wages.vg.json b/examples/compiled/wheat_wages.vg.json index 37ef7419ae..3055481dc3 100644 --- a/examples/compiled/wheat_wages.vg.json +++ b/examples/compiled/wheat_wages.vg.json @@ -128,7 +128,7 @@ "stroke": {"value": "#999"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"year: \" + (!isValid(datum[\"year\"]) || !isFinite(+datum[\"year\"]) ? \"null\" : format(datum[\"year\"], \"d\") + \" – \" + format(datum[\"year_end\"], \"d\")) + \"; wheat: \" + (format(datum[\"wheat\"], \"\"))" + "signal": "\"year: \" + (!isValid(datum[\"year\"]) || !isFinite(+datum[\"year\"]) ? \"\" + datum[\"year\"] : format(datum[\"year\"], \"d\") + \" – \" + format(datum[\"year_end\"], \"d\")) + \"; wheat: \" + (!isValid(datum[\"wheat\"]) || !isFinite(+datum[\"wheat\"]) ? \"\" + datum[\"wheat\"] : format(datum[\"wheat\"], \"\"))" }, "x2": { "scale": "x", @@ -160,7 +160,7 @@ "stroke": {"value": "#000"}, "strokeWidth": {"value": 0.6}, "description": { - "signal": "\"year: \" + (format(datum[\"year\"], \"d\"))" + "signal": "\"year: \" + (!isValid(datum[\"year\"]) || !isFinite(+datum[\"year\"]) ? \"\" + datum[\"year\"] : format(datum[\"year\"], \"d\"))" }, "x": {"scale": "x", "field": "year"}, "y": {"value": 0}, @@ -180,7 +180,7 @@ "orient": {"value": "vertical"}, "fill": {"value": "#a4cedb"}, "description": { - "signal": "\"year: \" + (format(datum[\"year\"], \"d\")) + \"; wages: \" + (format(datum[\"wages\"], \"\"))" + "signal": "\"year: \" + (!isValid(datum[\"year\"]) || !isFinite(+datum[\"year\"]) ? \"\" + datum[\"year\"] : format(datum[\"year\"], \"d\")) + \"; wages: \" + (!isValid(datum[\"wages\"]) || !isFinite(+datum[\"wages\"]) ? \"\" + datum[\"wages\"] : format(datum[\"wages\"], \"\"))" }, "x": {"scale": "x", "field": "year"}, "y": {"scale": "y", "field": "wages_end"}, @@ -202,7 +202,7 @@ "opacity": {"value": 0.7}, "stroke": {"value": "#000"}, "description": { - "signal": "\"year: \" + (format(datum[\"year\"], \"d\")) + \"; wages: \" + (format(datum[\"wages\"], \"\"))" + "signal": "\"year: \" + (!isValid(datum[\"year\"]) || !isFinite(+datum[\"year\"]) ? \"\" + datum[\"year\"] : format(datum[\"year\"], \"d\")) + \"; wages: \" + (!isValid(datum[\"wages\"]) || !isFinite(+datum[\"wages\"]) ? \"\" + datum[\"wages\"] : format(datum[\"wages\"], \"\"))" }, "x": {"scale": "x", "field": "year"}, "y": {"scale": "y", "field": "wages"}, @@ -222,7 +222,7 @@ "update": { "stroke": {"value": "#EE8182"}, "description": { - "signal": "\"year: \" + (format(datum[\"year\"], \"d\")) + \"; wages: \" + (format(datum[\"wages\"], \"\"))" + "signal": "\"year: \" + (!isValid(datum[\"year\"]) || !isFinite(+datum[\"year\"]) ? \"\" + datum[\"year\"] : format(datum[\"year\"], \"d\")) + \"; wages: \" + (!isValid(datum[\"wages\"]) || !isFinite(+datum[\"wages\"]) ? \"\" + datum[\"wages\"] : format(datum[\"wages\"], \"\"))" }, "x": {"scale": "x", "field": "year"}, "y": {"scale": "y", "field": "wages", "offset": -2}, @@ -242,7 +242,7 @@ "stroke": {"value": "#000"}, "fill": {"scale": "fill", "field": "commonwealth"}, "description": { - "signal": "\"start: \" + (format(datum[\"start\"], \"d\")) + \"; y: \" + (format(datum[\"y\"], \"\")) + \"; end: \" + (format(datum[\"end\"], \"\")) + \"; offset: \" + (format(datum[\"offset\"], \"\")) + \"; commonwealth: \" + (isValid(datum[\"commonwealth\"]) ? datum[\"commonwealth\"] : \"\"+datum[\"commonwealth\"])" + "signal": "\"start: \" + (!isValid(datum[\"start\"]) || !isFinite(+datum[\"start\"]) ? \"\" + datum[\"start\"] : format(datum[\"start\"], \"d\")) + \"; y: \" + (!isValid(datum[\"y\"]) || !isFinite(+datum[\"y\"]) ? \"\" + datum[\"y\"] : format(datum[\"y\"], \"\")) + \"; end: \" + (!isValid(datum[\"end\"]) || !isFinite(+datum[\"end\"]) ? \"\" + datum[\"end\"] : format(datum[\"end\"], \"\")) + \"; offset: \" + (!isValid(datum[\"offset\"]) || !isFinite(+datum[\"offset\"]) ? \"\" + datum[\"offset\"] : format(datum[\"offset\"], \"\")) + \"; commonwealth: \" + (\"\" + datum[\"commonwealth\"])" }, "x": {"scale": "x", "field": "start"}, "x2": {"scale": "x", "field": "end"}, @@ -263,13 +263,11 @@ "fontStyle": {"value": "italic"}, "fill": {"value": "black"}, "description": { - "signal": "\"x: \" + (format(datum[\"x\"], \"d\")) + \"; off2: \" + (format(datum[\"off2\"], \"\")) + \"; name: \" + (isValid(datum[\"name\"]) ? datum[\"name\"] : \"\"+datum[\"name\"])" + "signal": "\"x: \" + (!isValid(datum[\"x\"]) || !isFinite(+datum[\"x\"]) ? \"\" + datum[\"x\"] : format(datum[\"x\"], \"d\")) + \"; off2: \" + (!isValid(datum[\"off2\"]) || !isFinite(+datum[\"off2\"]) ? \"\" + datum[\"off2\"] : format(datum[\"off2\"], \"\")) + \"; name: \" + (\"\" + datum[\"name\"])" }, "x": {"scale": "x", "field": "x"}, "y": {"scale": "y", "field": "off2", "offset": 16}, - "text": { - "signal": "isValid(datum[\"name\"]) ? datum[\"name\"] : \"\"+datum[\"name\"]" - }, + "text": {"signal": "\"\" + datum[\"name\"]"}, "align": {"value": "center"} } } diff --git a/examples/compiled/window_cumulative_running_average.vg.json b/examples/compiled/window_cumulative_running_average.vg.json index 62da2036e4..711f1c7a67 100644 --- a/examples/compiled/window_cumulative_running_average.vg.json +++ b/examples/compiled/window_cumulative_running_average.vg.json @@ -60,7 +60,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "circle"}, "description": { - "signal": "\"Year (year): \" + (timeFormat(datum[\"year_Year\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Miles_per_Gallon: \" + (format(datum[\"Miles_per_Gallon\"], \"\"))" + "signal": "\"Year (year): \" + (!isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Miles_per_Gallon: \" + (!isValid(datum[\"Miles_per_Gallon\"]) || !isFinite(+datum[\"Miles_per_Gallon\"]) ? \"\" + datum[\"Miles_per_Gallon\"] : format(datum[\"Miles_per_Gallon\"], \"\"))" }, "x": {"scale": "x", "field": "year_Year"}, "y": {"scale": "y", "field": "Miles_per_Gallon"}, @@ -78,7 +78,7 @@ "update": { "stroke": {"value": "red"}, "description": { - "signal": "\"Year (year): \" + (timeFormat(datum[\"year_Year\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Miles Per Gallon: \" + (format(datum[\"Average_MPG\"], \"\"))" + "signal": "\"Year (year): \" + (!isValid(datum[\"year_Year\"]) || !isFinite(+datum[\"year_Year\"]) ? \"\" + datum[\"year_Year\"] : timeFormat(datum[\"year_Year\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Miles Per Gallon: \" + (!isValid(datum[\"Average_MPG\"]) || !isFinite(+datum[\"Average_MPG\"]) ? \"\" + datum[\"Average_MPG\"] : format(datum[\"Average_MPG\"], \"\"))" }, "x": {"scale": "x", "field": "year_Year"}, "y": {"scale": "y", "field": "Average_MPG"}, diff --git a/examples/compiled/window_impute_null.vg.json b/examples/compiled/window_impute_null.vg.json index 922f6c5453..31f5fc2036 100644 --- a/examples/compiled/window_impute_null.vg.json +++ b/examples/compiled/window_impute_null.vg.json @@ -68,7 +68,7 @@ "update": { "stroke": {"value": "#4c78a8"}, "description": { - "signal": "\"a (year-month-date): \" + (timeFormat(datum[\"yearmonthdate_a\"], '%d %b')) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a (year-month-date): \" + (!isValid(datum[\"yearmonthdate_a\"]) || !isFinite(+datum[\"yearmonthdate_a\"]) ? \"\" + datum[\"yearmonthdate_a\"] : timeFormat(datum[\"yearmonthdate_a\"], '%d %b')) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "yearmonthdate_a"}, "y": {"scale": "y", "field": "b"}, @@ -89,7 +89,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "point"}, "description": { - "signal": "\"a (year-month-date): \" + (timeFormat(datum[\"yearmonthdate_a\"], '%d %b')) + \"; b: \" + (format(datum[\"b\"], \"\"))" + "signal": "\"a (year-month-date): \" + (!isValid(datum[\"yearmonthdate_a\"]) || !isFinite(+datum[\"yearmonthdate_a\"]) ? \"\" + datum[\"yearmonthdate_a\"] : timeFormat(datum[\"yearmonthdate_a\"], '%d %b')) + \"; b: \" + (!isValid(datum[\"b\"]) || !isFinite(+datum[\"b\"]) ? \"\" + datum[\"b\"] : format(datum[\"b\"], \"\"))" }, "x": {"scale": "x", "field": "yearmonthdate_a"}, "y": {"scale": "y", "field": "b"} diff --git a/examples/compiled/window_rank.vg.json b/examples/compiled/window_rank.vg.json index 8da4d67e18..6d1ab644c3 100644 --- a/examples/compiled/window_rank.vg.json +++ b/examples/compiled/window_rank.vg.json @@ -81,7 +81,7 @@ "update": { "stroke": {"scale": "color", "field": "team"}, "description": { - "signal": "\"matchday: \" + (isValid(datum[\"matchday\"]) ? datum[\"matchday\"] : \"\"+datum[\"matchday\"]) + \"; rank: \" + (isValid(datum[\"rank\"]) ? datum[\"rank\"] : \"\"+datum[\"rank\"]) + \"; team: \" + (isValid(datum[\"team\"]) ? datum[\"team\"] : \"\"+datum[\"team\"])" + "signal": "\"matchday: \" + (\"\" + datum[\"matchday\"]) + \"; rank: \" + (\"\" + datum[\"rank\"]) + \"; team: \" + (\"\" + datum[\"team\"])" }, "x": {"scale": "x", "field": "matchday"}, "y": {"scale": "y", "field": "rank"} diff --git a/examples/compiled/window_top_k.vg.json b/examples/compiled/window_top_k.vg.json index 23aec6d38c..ca98b0979a 100644 --- a/examples/compiled/window_top_k.vg.json +++ b/examples/compiled/window_top_k.vg.json @@ -85,7 +85,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"score: \" + (format(datum[\"score\"], \"\")) + \"; student: \" + (isValid(datum[\"student\"]) ? datum[\"student\"] : \"\"+datum[\"student\"])" + "signal": "\"score: \" + (!isValid(datum[\"score\"]) || !isFinite(+datum[\"score\"]) ? \"\" + datum[\"score\"] : format(datum[\"score\"], \"\")) + \"; student: \" + (\"\" + datum[\"student\"])" }, "x": {"scale": "x", "field": "score_end"}, "x2": {"scale": "x", "field": "score_start"}, diff --git a/examples/compiled/window_top_k_others.vg.json b/examples/compiled/window_top_k_others.vg.json index 106ca55477..b146ea229e 100644 --- a/examples/compiled/window_top_k_others.vg.json +++ b/examples/compiled/window_top_k_others.vg.json @@ -73,7 +73,7 @@ "fill": {"value": "#4c78a8"}, "ariaRoleDescription": {"value": "bar"}, "description": { - "signal": "\"Mean of aggregate_gross: \" + (format(datum[\"mean_aggregate_gross\"], \"\")) + \"; ranked_director: \" + (isValid(datum[\"ranked_director\"]) ? datum[\"ranked_director\"] : \"\"+datum[\"ranked_director\"])" + "signal": "\"Mean of aggregate_gross: \" + (!isValid(datum[\"mean_aggregate_gross\"]) || !isFinite(+datum[\"mean_aggregate_gross\"]) ? \"\" + datum[\"mean_aggregate_gross\"] : format(datum[\"mean_aggregate_gross\"], \"\")) + \"; ranked_director: \" + (\"\" + datum[\"ranked_director\"])" }, "x": {"scale": "x", "field": "mean_aggregate_gross"}, "x2": {"scale": "x", "value": 0}, From e94e20bbd7d27e0b7edb971e6016606a431e681d Mon Sep 17 00:00:00 2001 From: GitHub Actions Bot Date: Mon, 20 May 2024 05:02:46 +0000 Subject: [PATCH 6/6] style: auto-formatting [CI] --- site/docs/invaliddata.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/docs/invaliddata.md b/site/docs/invaliddata.md index 4c0566a670..57fa233b4d 100644 --- a/site/docs/invaliddata.md +++ b/site/docs/invaliddata.md @@ -5,7 +5,7 @@ title: Modes for Handling Invalid Data permalink: /docs/invalid-data.html --- -This page discusses modes in Vega-Lite for handling invalid data (`null` and `NaN` in continuous scales *without* defined output for invalid values in `config.scale.invalid`). +This page discusses modes in Vega-Lite for handling invalid data (`null` and `NaN` in continuous scales _without_ defined output for invalid values in `config.scale.invalid`). The main configurations are [`mark.invalid`](#mark) and [`config.scale.invalid`](#scale). In addition, you can use [other Vega-Lite features including conditional encodings, layering, or window transform to handle invalid and missing data](#other).