From 59596678b9e01acc7545d7b4c977d4b8a2061159 Mon Sep 17 00:00:00 2001 From: GitHub Actions Bot Date: Fri, 6 Oct 2023 00:17:48 +0000 Subject: [PATCH] chore: update examples [CI] --- .../compiled/bar_binned_yearmonth_grouped.png | Bin 10842 -> 11723 bytes .../compiled/bar_binned_yearmonth_grouped.svg | 2 +- .../bar_binned_yearmonth_grouped.vg.json | 19 ++++++++-- examples/compiled/bar_binnedyearmonth.png | Bin 10859 -> 11007 bytes examples/compiled/bar_binnedyearmonth.svg | 2 +- examples/compiled/bar_binnedyearmonth.vg.json | 19 ++++++++-- examples/compiled/bar_custom_time_domain.png | Bin 6094 -> 6146 bytes examples/compiled/bar_custom_time_domain.svg | 2 +- .../compiled/bar_custom_time_domain.vg.json | 14 ++++++- examples/compiled/bar_group_timeunit.png | Bin 16923 -> 19738 bytes examples/compiled/bar_group_timeunit.svg | 2 +- examples/compiled/bar_group_timeunit.vg.json | 30 +++++++++++++-- .../bar_grouped_timeunit_yearweek.png | Bin 19338 -> 18778 bytes .../bar_grouped_timeunit_yearweek.svg | 2 +- .../bar_grouped_timeunit_yearweek.vg.json | 27 ++++++++++++-- examples/compiled/bar_month.vg.json | 10 +++++ examples/compiled/bar_month_band.png | Bin 10116 -> 10265 bytes examples/compiled/bar_month_band.svg | 2 +- examples/compiled/bar_month_band.vg.json | 26 +++++++++++-- examples/compiled/bar_month_band_config.png | Bin 10116 -> 10265 bytes examples/compiled/bar_month_band_config.svg | 2 +- .../compiled/bar_month_band_config.vg.json | 26 +++++++++++-- examples/compiled/bar_month_temporal.png | Bin 9600 -> 9999 bytes examples/compiled/bar_month_temporal.svg | 2 +- examples/compiled/bar_month_temporal.vg.json | 26 +++++++++++-- .../compiled/bar_month_temporal_initial.png | Bin 9068 -> 9465 bytes .../compiled/bar_month_temporal_initial.svg | 2 +- .../bar_month_temporal_initial.vg.json | 26 +++++++++++-- ...r_simple_binned_timeunit_special_chars.png | Bin 14838 -> 13753 bytes ...r_simple_binned_timeunit_special_chars.svg | 2 +- ...mple_binned_timeunit_special_chars.vg.json | 19 ++++++++-- examples/compiled/bar_yearmonth.png | Bin 13388 -> 14127 bytes examples/compiled/bar_yearmonth.svg | 2 +- examples/compiled/bar_yearmonth.vg.json | 26 +++++++++++-- .../compiled/bar_yearmonth_custom_format.png | Bin 14398 -> 13859 bytes .../compiled/bar_yearmonth_custom_format.svg | 2 +- .../bar_yearmonth_custom_format.vg.json | 26 +++++++++++-- .../bar_yearmonthdate_minBandSize.png | Bin 38038 -> 38018 bytes .../bar_yearmonthdate_minBandSize.svg | 2 +- .../bar_yearmonthdate_minBandSize.vg.json | 26 +++++++++++-- examples/compiled/concat_weather.vg.json | 10 +++++ examples/compiled/hconcat_weather.vg.json | 10 +++++ examples/compiled/layer_bar_month.vg.json | 10 +++++ examples/compiled/layer_falkensee.vg.json | 10 +++++ .../compiled/layer_precipitation_mean.vg.json | 10 +++++ examples/compiled/layer_timeunit_rect.png | Bin 8330 -> 8809 bytes examples/compiled/layer_timeunit_rect.svg | 2 +- examples/compiled/layer_timeunit_rect.vg.json | 35 +++++++++++++++--- .../line_month_center_band_offset.png | Bin 10059 -> 10210 bytes .../line_month_center_band_offset.svg | 2 +- .../line_month_center_band_offset.vg.json | 26 +++++++++++-- .../compiled/rect_heatmap_weather.vg.json | 20 ++++++++++ examples/compiled/rect_lasagna.vg.json | 10 +++++ .../selection_layer_bar_month.vg.json | 16 ++++++++ examples/compiled/stacked_bar_count.vg.json | 10 +++++ ...ked_bar_count_corner_radius_config.vg.json | 10 +++++ ...acked_bar_count_corner_radius_mark.vg.json | 10 +++++ ...ked_bar_count_corner_radius_mark_x.vg.json | 10 +++++ ...ked_bar_count_corner_radius_stroke.vg.json | 10 +++++ examples/compiled/stacked_bar_size.vg.json | 10 +++++ examples/compiled/stacked_bar_weather.vg.json | 10 +++++ examples/compiled/time_custom_step.png | Bin 7877 -> 7693 bytes examples/compiled/time_custom_step.svg | 2 +- examples/compiled/time_custom_step.vg.json | 26 +++++++++++-- .../compiled/time_parse_binnedutc.vg.json | 10 +++++ examples/compiled/vconcat_weather.vg.json | 10 +++++ 66 files changed, 549 insertions(+), 76 deletions(-) diff --git a/examples/compiled/bar_binned_yearmonth_grouped.png b/examples/compiled/bar_binned_yearmonth_grouped.png index 96f3a926395244b342ae81920db80174c71a1917..c47310973c3a515eee91c968b728db678db3a6f5 100644 GIT binary patch literal 11723 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 k#_)7c*3cjQz6vRJ@J$v=P061202LJ#7 literal 10842 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 M^dqSfN&Q#<0mBMmFaQ7m diff --git a/examples/compiled/bar_binned_yearmonth_grouped.svg b/examples/compiled/bar_binned_yearmonth_grouped.svg index 0d88d3b01a0..1d3814b5623 100644 --- a/examples/compiled/bar_binned_yearmonth_grouped.svg +++ b/examples/compiled/bar_binned_yearmonth_grouped.svg @@ -1 +1 @@ -Jan 2005Feb 2005Mar 2005Apr 2005date050100150200priceAAPLAMZNGOOGIBMMSFTsymbol \ No newline at end of file +Jan 2005Feb 2005Mar 2005date050100150200priceAAPLAMZNGOOGIBMMSFTsymbol \ No newline at end of file diff --git a/examples/compiled/bar_binned_yearmonth_grouped.vg.json b/examples/compiled/bar_binned_yearmonth_grouped.vg.json index 4d0ef4b7d47..addd923f0b1 100644 --- a/examples/compiled/bar_binned_yearmonth_grouped.vg.json +++ b/examples/compiled/bar_binned_yearmonth_grouped.vg.json @@ -21,6 +21,16 @@ "expr": "timeOffset('month', datum['date'], 1)", "as": "date_end" }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['date'], -1) + 0.5 * datum['date']", + "as": "date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['date'] + 0.5 * datum['date_end']", + "as": "date_offsetted_rect_end" + }, { "type": "stack", "groupby": ["date", "symbol"], @@ -65,7 +75,10 @@ { "name": "x", "type": "time", - "domain": {"data": "source_0", "fields": ["date", "date_end"]}, + "domain": { + "data": "source_0", + "fields": ["date_offsetted_rect_start", "date_offsetted_rect_end"] + }, "range": [0, {"signal": "width"}] }, { @@ -82,10 +95,10 @@ "domain": {"data": "source_0", "field": "symbol", "sort": true}, "range": [ { - "signal": "0.1 * (scale('x', datetime(2001, 1, 1, 0, 0, 0, 0)) - scale('x', datetime(2001, 0, 1, 0, 0, 0, 0)))" + "signal": "-0.4 * (scale('x', datetime(2001, 1, 1, 0, 0, 0, 0)) - scale('x', datetime(2001, 0, 1, 0, 0, 0, 0)))" }, { - "signal": "0.9 * (scale('x', datetime(2001, 1, 1, 0, 0, 0, 0)) - scale('x', datetime(2001, 0, 1, 0, 0, 0, 0)))" + "signal": "0.4 * (scale('x', datetime(2001, 1, 1, 0, 0, 0, 0)) - scale('x', datetime(2001, 0, 1, 0, 0, 0, 0)))" } ] }, diff --git a/examples/compiled/bar_binnedyearmonth.png b/examples/compiled/bar_binnedyearmonth.png index a1110895bb074a8810173d1b0f3cf514e4327dfb..91420854692141dfbcb13d428065d8105adad607 100644 GIT binary patch literal 11007 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 literal 10859 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 ZeO%JRK4#A \ No newline at end of file +Jan 2005Jan 2006Jan 2007Jan 2008Jan 2009Jan 2010date0200400600800price \ No newline at end of file diff --git a/examples/compiled/bar_binnedyearmonth.vg.json b/examples/compiled/bar_binnedyearmonth.vg.json index d4f5d85d577..909e6048da3 100644 --- a/examples/compiled/bar_binnedyearmonth.vg.json +++ b/examples/compiled/bar_binnedyearmonth.vg.json @@ -18,6 +18,16 @@ "expr": "timeOffset('month', datum['date'], 1)", "as": "date_end" }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['date'], -1) + 0.5 * datum['date']", + "as": "date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['date'] + 0.5 * datum['date_end']", + "as": "date_offsetted_rect_end" + }, { "type": "stack", "groupby": ["date"], @@ -48,14 +58,14 @@ }, "x2": { "scale": "x", - "field": "date", + "field": "date_offsetted_rect_start", "offset": { "signal": "0.5 + (abs(scale(\"x\", datum[\"date_end\"]) - scale(\"x\", datum[\"date\"])) < 0.25 ? -0.5 * (0.25 - (abs(scale(\"x\", datum[\"date_end\"]) - scale(\"x\", datum[\"date\"])))) : 0.5)" } }, "x": { "scale": "x", - "field": "date_end", + "field": "date_offsetted_rect_end", "offset": { "signal": "0.5 + (abs(scale(\"x\", datum[\"date_end\"]) - scale(\"x\", datum[\"date\"])) < 0.25 ? 0.5 * (0.25 - (abs(scale(\"x\", datum[\"date_end\"]) - scale(\"x\", datum[\"date\"])))) : -0.5)" } @@ -70,7 +80,10 @@ { "name": "x", "type": "time", - "domain": {"data": "source_0", "fields": ["date", "date_end"]}, + "domain": { + "data": "source_0", + "fields": ["date_offsetted_rect_start", "date_offsetted_rect_end"] + }, "range": [0, {"signal": "width"}] }, { diff --git a/examples/compiled/bar_custom_time_domain.png b/examples/compiled/bar_custom_time_domain.png index f0e49ab8c6e7c93f88c61094483b6d3d878cda11..59f754c98efad7069d0b04c3a29624bb8d869d18 100644 GIT binary patch literal 6146 zcmcIobySqyx_?PQl$0(35k4A`P8C5!QaT3)q)RDj1nE!_MG;Bq?hchk5s5*D9zvQy z8DfaD=lgV>d+%BIeE0rwV9m^0u-CkM@8|dY;)&MQR6T!|=_~|6=hbd0>w-@VcY^|=U44vYBGg|VJAc($BP5GLh@0*P&e{H?xW8&>dENcT?$502)<9S43 zj<(5G6jkTz6KCh*QA&6x>{5mJJBN2^L-rcCvXkyLztb5RxESvnO4v-vwHiVvY*QSS z!7GUu`q(_Iedpxl;@b#(CQ`d(pY*{vuH|Nb%yDb^;F~JD!EcB=Bpgc0x}w2fi70hu z;N{VmKEi0!qB<@=d-9G+%f!SaW?6VAIVH z-90>XvI#kpa{Jh1B_-)cM@QYgy}On^rJ@hl%J^M|hKA|`4zAo*SEr()!VBxjP$5;m z{OQg{VpFMkQ-t(`rP?<+5LSy`=y*eB6n8#%F z|r$&meSBN{XSQqa!LhI<&1#k&lmWc4;YsS<;m^amca8 z{lSB~FCN^#?|%4mMRO3fvJ$P9bh$wPUYmjbsraaEN~L zgi=aI#(K0+-`&$w+18eulaq6VH?$|GV292BTcxeLm)A{GQ|7S}(?~(nT3(k(3U(ED zcaea=K#%otQ6nRxd>#C!YIkiDSs56j+S}V*kt{4M+o>~0D)Fw--mWszYwk}HqykBDtEz)mmS=31q> z%((9VsYL2{bmP<*JA+iUe524+PeipV$`eMH`eY5)cedw>clX?dP$bJ3#HDk!$9gA@R*qm2YJfs5E2*OmQ za|j5WQ|h*{o_X6J8+91L*O3q%eN9)FdSGCn+zBDnygO#v)6)Y%=NPXLswT4OXPa_@ zRa+I^af}3FVqy@h7`KF^q>rPUy?sarOgr0&^HCqqAgFUi(6L|h(N2F~b&RvUI|3+$;J)`1U&Bqh-l78O}pS%pqan8Yzll2_gPq^p_X zC5e{*@`I(lMPL7P_Xe`RukTCY8a8@NI$^W-N&?TQs*fI-H`r~dMN3R|_0`4l$;qR( zGbC(mY$W95Dr#!c)Xs2?0O5Y+H5Sz^k9n-cEltg?&8a4jg&wN!o-!$^sqpp?y!!i# zXTfzukh8{s9(yD2Psbj#pUK2c`Rc0vqrja7H6s%f>&?jqNak}myOcZR*TNPZ9i3lV z+VzCv#`a2H`urKi{m@_QTj1RZt_ZCZk!uIzu~8!*)NlWjH2!}D{$HW?8v(x;=yH#r zA!kw2)4LFKgkne4AS`ac;n`nbq^Bo-tFnVH4ZM=_T7AwmMe|Bd|B<<|addb%A&Z(}umTqeQ+pJcVRTEqiNcn$CnAAi%xh@rWqg^GqIES6pv zA4*`8kIBfm7#+rD0(f}jG8aZ!ZU~s#srbe8iGg>dhr2NN^A5`@8k%Nk-ET2EK zCcW_Y_eTK&>w^~-7RqR3rzRzZ4d-e3JS=^Cd2h3%@UV=1!ot8H!XV8h9YgBQBLCEu zMXNAzGoN~W4N(T~ctmtdO)a#ntgJF|WFTvBm2A)29mQ@`Y8ObFl*F5~d zWwO3vc+TIlyg8d_TR(9l>W)zH9LWLQQF z?eFiy5T)kZXmrQUV!vq6k*|@dDSWKhm_gpJ`ZpSE`{@ACY`=ANsT>@9lAQS%L(2~X zJUl<2rLw1dSt}WKhLBLMdaAcq?f*zL|Fio4!bJaW!4tk2{^>7YLXvp2vdYUTf&TRE z#m#{F2cKeRlDi*1d}!7CjN9?KlFe7WZ*V(XTMlVy#@^muUS3}9F-b{DRLkCUSWywb znYnp#?_pHFTVS5Nx3MwfSgCpJ%hN-I`GlF7 z*>)d)+0RyMPQM&gVo-G2;arUyR#usnLOeWYTwGj?S_2N?KKa8dioR%W@@XEx* zgrB|?)$aOJf9H4=0#j2{0rSQSczAduBqZ%0qiOub@8)J_b9rx076?Q>e#`-OkaSrC zzdd@3oxU4=oU-t7&u4486G$Zl0VB{=RMr}klER>;r+1NyivU^cf;~wyH31^e+y7?& z1nth!VpmBsLr+I%eR6b=HnzC1z^ll^%{_OpoWA9a+}XLGlb4sBpHI@Az#68R_hG&> z7X8gGokLcZ`9>u9O;=Z;Y7@brouu@i_vDm+Qpyt}kw|Q&U72be!w?*aundlW_KbRw z5(|t26oN)|XBQTp1zsX5F76{xG%F|MUZjz7ZfQ3xkwFySw9a*7G%0~anwnX{`FrK` z@Ng1+4kaU=@E_dI{zD9e!(fg{IdWn`TU$Hi@bFN`MMFcw-rioj$cZy4?{@iJUENt= z7l72WC_4H=LC=`^y&7b|&td2M)WmaeZm-+3cNMNUp$URn9R*tqIRa`L-BJybr=AYg0)H#axi zZ%8DwzP^5!Kxoe;x%>0jRvS1x?8OT@+k=y1Y#L_$uL8~_s%Zw45yz{90ZV7wP+wm^ zd^G;6wmjI6dxb19b+xsC7}*2`1;4EA_NkfzD(dcxrGE-oN&ThJ+>b#;RZq`fosSu( z7cx_Fb{2qO{VxRf_fd&Y)6&iZ9I^lb0a$+A0c)Rb@t<2=E&P)>lVOp-tQ{Tvn5vBj z@~4`>qJxuK;{R~baCWvQze7_^tpn#6gZ(kkWtK#B}P5zuouo0M6nhb4|&z1_1 z=Dz;^3g>TE;NDs`SK|D5*%%n|kB&~TTk!F6tF(zN^bd$qyGO@B1__zR}8@=Eop zGqzeQ1ob`oFXrve?`ZYeVq4$Xz=QI%(z}2wl&$&A-i_eGtoOI)0!<1qB7X z!osTl{;~l90We@h1~#MbL<}izGF`QQQqgqjiuB)Gz<)=)f7^IZhQb0jCd8emn;Bod zdeyc0`p<0{mRWQHSi@{>AN$M%(yOVd{oe5Dez#)z{l(h?maQx}AKbLnN*2}u8vv^P zNGB}tV8=F&U6Bo%otwiubLNbmzCL3W$RVIM2n6B-P#a@!5JaY$eBwcjP!plKP6GFm zaQJ$u*s_fcoF0OLgM)4C?D%PRfd^|zPNp?6HI3Kj)M=XsZT!;0ufQoxB&)t&3Jpq0 z#u1)hP(Y=ippaEkvXO~&9xuPP+c-TQeJroH?O;urv_b&>#(bC?z}lpmb%l z9&BW9JXYcPq|e2)^`2m6%H0?7M7PkAQ1GmwY5{O!E0lJ zAUK^_TwG)jcf0_+Ed-U6lmK(k0fH1Tp&%A*x2)oY(C}zpyX(3TIbWUjT7$$|B1Ic(H=Jd08zjtp0nOov+26 zp4W1#znC4bfZIDee_ZHI${b#4HIz@4aJdf5+4}nWlb0_M8$?op=2~vH|6QE7X4=?+ zE`;y$> zbasQo2^19-FVNCvW@JDhqxNNfuB+S9khdFri*u-@W(|)P7Hoh-^CI(&wJgOXPq+HB z3JOU5S}dfSH?&Z`ORwy-&CKEyPtb|`{gx;AEf$H4V)ydFT`bm22tUF-+RMw!d<-!< ziuc_&UDw?F_{&C<=_w35J#trH|M8FILDUBd#gDsd2=sc@AYWvV<5+fXGQXj9XACXK z^~7J=y5`o`<1CL?4Z(fm@+OdVFeQNUC2`Mi{5e?R|6z2LHa-#PH90jk_bXnn z)tCrQPEJBlkwM9-hkuCy8OXT6L1zGBLT>n*CRSC6d2dV*L6p~FfVTG6EKds^#^AIb|Z& zMBQhV;#g%3j42@CoIU_8{@_}7y4QAk9;y#MRfvg+nO$CvtbljVzkf_dITJ9C7{<)h zyanzbcwPR)s>;e$OwL_PM0P})tPdwYKN+B+HFV`nULcFl=H!Z}#7tjbA(F-*Q2MV+ z#*E8@KA@(?S5;LlHmNzAkdTmHT&%3DOc;{T@+pdnYx_N!FbqB4xxb9%*caZUc4HvLzX0Qx8;07K0Bqb#Zpao*J^8{^z9hCxbN9QRXlLEkp#mAq2 zmXzeNI`Rj!dMy9;1;VkdLFpZEpMaUS_x4n6Y;r)tM{tRY(*ob>dvdTmH$RV`feQZ! z8YJ0NSzTQnmoRYw0ho|91!j=26q%TrMct<5fUylM^8=vRE(<;;6Bieciivr@J@+AA zSIf<;Er?atdtLhl_|~UjgTPS(yO1#q2S1>F4o9WfMtt_Stw=a1X=#ZpEiIwd6Zy9h zV0)wzRDnLn^YRi@@@)SqLmDHsF39JD`LVIF6&@%R8yg$Bxk4EQp(DV|5yi#DJm$CC zx?rgpsP05Kn3eQt@PRo}@b*%woAv3*u~z*R-ny7pP#LWwnS+yJOS6Y66oz2-CEU7? z4~$iLMa4C3ZOYs`ufC#CGY^+p$0sH@FJI18H@$WZFM(Z=97u`W-sFS6Ly+xpJ~%g* z80UI{SGs?&F1yu?8zeNNyO^Pn4P+gTulNm12_c*kZfr)8j4dj-jm#o8N;!cFBO%q6HC@ za&B(U8aNL85Tl0swsnc4jy3PUe$@qY2@PZ1jp8ZoA0D0spaj~-0Y$kWYe_l6d;0rn zgoK1}3+=Bm;VH#2iQgVUAb{L~BU528n7$uGgoGqeR&A}p$jAr@^uDw6W_?2gsj#qc zMIhE2pp{QRP_VOVP=UWIft4S`6y>{jlPI%L3O2xjP*GE7jg{T;J6B5xMiM;Wri2vs zX9>_4q#GFszH_s)8I#XXU8JR@@k63wWABd1lhmqYQvr&?RR#PlA%X5XiKy4A9-dN8 zP7Vo2xbH>{f)E18;SK*zQk#^Nv=cBzgajyhBmF>ygahC*w!E&6J}4+?9%P_-@KoF@ zt##IFBwy!!S641l^h-8czLwA;0Dbcg@NmEmUJD9R2uWCb))t7JApjEt2xe!8cqb?) z$5L8a+PAx5QbGqk_wQpj>t|sCLtS1zKHb`5j5+X#F6M7dvxj(*#>U20KrKKTXn+34 z-Pz5}1iii6Q&TfX9X)``Pd0iL^*=b>qTd5E z2MQ38fT`=|FKd1Tl#NBk^Oi$dVd0~fFAejMu$3lMZ&lFefq`?N=KJ%p!rPM%2Co&3 z^7#;W*@5ZV_Rh|ASJzFSP5ANQu2k@e9G!p>j#3wqV(f2NVnNq}X{#0?5z#dgJSV3$ z)lG-=hf9ng0l)wB>AYd7Stwu;pxO{r=Qg8q^CnRcI@U5^nW;dG*c2a3AG=xuv0o-8 zVtRURfsq_8S4c=mn6o*#x+VY%00Xno{ner}k$VFSaUjWoIZa2s2MU5LEG&$w?#17~ zr2upqXyLA}K>(nv6e$nR*RNlTJXpGu^X^?H=rCaKfK+^XEx!Hp=enM%iVE@0j~_Ub zbTgKYgOl_6LE&_w!XXJ%?zy5n8e~_Aa!I`mMq1~$TIa1OhrG!X}ND4!D3@xC9z|h?@ zNGLNP_5O2?cip${xp%#{?t)>~8ov2r@8AB#j?~eDQJrT!4?z&s-8(9J;2jHIIC4_( z_l8!16L=%FREMcRXZWA2ro7h>#1wp2MN!{7ZEFUuqrY}Sx)XkMsm@BIgz$-bLfDJ< zI(qsSMcy%gEi0?Kul$lBIKE?S+25D2xOD!l{uhs72|_T!yT0z^-IFBX?~g^w1g_ZF?{7Uf#|4Y zNK@}9QQnRZVRqy`mr_(VR9=2_d3iajtc*@kQ86MaDmXIo9HfxvBgE&P-Ls2|jqUD?V$!{TKkUsL=JkDFF}2G# z?XTJg%y{f?8uX`0(kBa=dnnX#{VwLK?d8XBapYP`w1pEB%Yg-$V@VpKWe?&!`%Ve=vdmV}8pIWwL6^eM1J zO5~N5m01-P^j6(5ovWWy6RSmSzFZa&(e+_xVTtVN>A8U}HEU_^ZX+AsN278#mMmms zWfzu28|VC7*|i^V%IaPj?@Ja6FDl{>qhxt53&)x-w1oN~*2&Y;^I*R;;G=4d$`3(PJ+rgGA59)Mm()xe#iC^=#v;qhDEJ349qM9#mS zg*I68-(Tkan1BKo+QXN27TWEfs;kWDt%zdZh*+6hS`tFut0^{vlarIVO#tY=O{UQ$ zk>q@tGH48@W3tL&ceALJug~7WLBwb85hdGg@aw2k0q4%i-PGne!Pc~ds^%c4>)Z(- zYHDgc{!>y|Ha9ngou?%$?A@)*8cW`KrHS@P zElthNmA>Tol#~MYq|~>k+Ys{eXDTi(u3G<-`U@Cd$=#E7$`6raoMB7rlVrTjXBor8 z!wB~^Eq1A=&7U&Yj>)yLE-W|&s zURNji`14zm`O}mgzay+7nBpr}NW{d%nB|^H$Q@xskLStcb#jQgb3UjcYMiFVmiBg+ zy7|rEbn(94cd!3N3jgoc{sTe(vG;#FppY0o*X##Krad;`*s5{2i_O;FUT^ZnixPe*Dh%lQ z(%;_^a*iH?tgWq0J}~U>?{|Jq6(7A3)U%#1wd?2Xe51U)+;wy0I)tO?6ci9h@Kje< z=XgP1pipJb#K6FH{rWkxXS*cqmo5=ZXCjW^@hXw`@oY&7!=(HJwpx;UobK^Y#*x6;7-IkMx>E2$lApI(lG2)P`hM=dXADWze!N7kXf*Kne5mw#Q-abAS zpI%)dr=kkY&AswLJ2Pe|2Uhe8FsZkll+@Lu_QrdA)eeugYUa9zbJep^=!NCw_o_G* zRqaG`GGbzx${8e5G1@tD-MI06!hgX4e?!4P)aPG;7RT4ZKRZ4ivD6*A)SJj35gYr! z-{yF>34U-icUB@Z(B4i&!E{6aPx$t7NQ;Xz+1c6MQCC-Xb1N%vtg2$zZaI@nOHW_G zV2U-yU@AoDGVHk5w`t_&Xpydt4rF6v)1N8N8O12Lxqs-s+K)_=bl)j5J1I0yef^r= z6uwo}{6Iq`_D7F-O-+r}-two~Co3E4$cK<%3nwpyHat|Gz zV35yA4vxPM#3v_*)A6WgWo1DRKQhW6e$xJVlY`qg!ZdhmW8-kJ0@d8y+*EynYdPx# zqL-+QNfmb?gp`z(bqx$c-@aw-=<2fkzWNzaUH#2rOJyVqd=HI|0yBoQ%gIrVZmah| z*9&@id99ILS0QaxSNo?Z{r@TDKY{6QXDDFA#KcfvWMaz6&dxSAc6S$LWn&xNeA}}Q zvgpmYDuP2pN$}G*J^ja@>_aN+bKk^- zN?Tidr7SOx7qAAU5nyre3)n|L3czgQ#f~%^;0OrC+iykPKqO5S=W?Vfz z@BezF_O>=xEM|gZswz4kZ z3#!B<43p7g%luTY`7eMieyo`#gvQ6mnahD}SPYsI1%jtoLv!n;AmyzBes1JNL`Qc@ zZ#M?7u0B@w(tdQ2k`=SQZi|_&qc12ZxF#gjz1SH=H6a^6B)p#Ot)mmSha=;B78uV1 z^RycPrTg@nx8Wl$KXPysbSxU}xpgv2-7O;g7wcLNng@LUERLwEB7xFmd@c;geAh_E z_VnCQQC0Ocs`fweJvcbXe~8L4eFl1ca6q~3#mU~igxeJkwqw`cth#B7SR2TU1s>e+ z;lsr*>C)qM?s;4dyf;}%sXSFxNqhVHh9)M?2?+_k0hZ&>C)_D*2%}UODiV3;VS;Nu)xTO`2BopXlOX!gqu~iw=ev4!&v## zT^a%7YD)Da0c3_Od}kKEtyqd;D+hkVe9+vi(VGs89t4Sti;quCWEU3p#(`8p5=`2V zolO9YRj(Bc2AghzqyGGuo-0IH--iCGMk_FAfCLGk9UKm3YMOCV*G!v!&e+f}tEuVi zbsGJro|&0TrHy-PI8qCRyLay{2GhvVDv|3N8}kDdRDr>|l~G1D&gq*TWi(hWV@}d^ zRh)RsA=TqAY3J_Uy9Yccx1?l>`y={-)~w7jF#plT#R5+~JuN$5Fc_9uhW_<*nFn&0 zFGGN$!@ec;+{?=vvNgA{ zL6!PK^W$Y!_zyugqGe_#cmMt^)0?zDquJKc5%h$bnq2~4&f2;<0tkpoTxx1mf4@dT zQW91wEYFV}($Uoo(v~|U&eP5e1JUCT6B7f@?yozhmo9pF$zoW)9~^l90ono#P()

d3)eQ!IC2LiK#?CK&74Gonw z4HO;R|6u?e6ZmgjQc~FBqNVjAQ0_A8K1MvUfhB(<<8xC=TAFM|ViS#~2osrT z2LRpC#>_N4@F_;26I-OErGcrZ%gxQ58G}!D1F7SEmy?s&Eq``6&`>Ea9Jl2CaJDGe zGInN4Y<13r8nUpksC8W+gyt&-OZ=)Pu~l$X)KMm1jswjHAjO( z2%%T6Ujx%Z-FUc~S{S`#=Tl1kLe|sORrpJWECrNbR1~b0*FKo7EaHhVw3dW`JtM`J z2L8v{+}Wu(G!FoE?fUhg%uLR%m`hPWz!aYyMVq;x<(*}bNF<`NQa{7S!eVIYZeCCc zjB2XJ1qKiaH0vwcx<&g)qOho_A?+9>S>OxJ#yu7>+PWujiKI(q2EH0)Dr@r(&IhhH>!_k!n zWD^|suAtx?e!CMM4r|%8b8u*HIo%f;85`riaf4b;PL8x7PpHJCAGfdNV5g864%ruA zwZt!8aJ(jehMaO~i3T?=x6qq4&G&P!Pe^_jy-Zf2=(fTl`-hPcOY`xby1sz{5|j(z z;ms{Oz0!dI+>DonlT$QU2st}-c6Lhm{By@^Rk7FvUdYTehU zi;IhCFJ24*o~w0a)7w z0+l&VlyhVjjoOFS)ztx#EHB5*BZCP8cd%GSEEd}a_#C1Io}La!nxWyfw6wGka3FAk zgn{Iglovt%RU+pCR}TR_DsKu5ga{Ns(uf4lM4%ucDS3{GiD_YBfeSndUt4=S{vzJr z>ef2I=!T}Gq}Vz;Gb&BD&`b;u>xG1d7VN*e8;eY81&ci%P<%eQ;~nK)RLiNs_~hhy zK$$Baj<OhyQ@QTUDN9cN1zq~zriVM`rBf@*Xrw&msUxrjvR6Ox(xL-s9 ztz_(xp>BqUhZ8{{)g*Ydz?qD}z}7f9++wwsrJ$fFHm;$Lj*bQpxd2#A#A))@O2#7y z+)F3GmqgP&PLc88G+IKC!hu?M;YSn?*cxmkhcnU6-X3A#4KCk#q|NH~>GSi@!Qml6 z;2u9G&FS{`HqHF0<{4-O;J{iBG^6uO{ixH_*;)9}IU#-=c<(vJiHe9Q0`0&OOq \ No newline at end of file +00:0003:0006:0009:0012:0015:0018:0021:0000:00a (hours)051015202530b \ No newline at end of file diff --git a/examples/compiled/bar_custom_time_domain.vg.json b/examples/compiled/bar_custom_time_domain.vg.json index 6bf7b6bbbce..e73904b2346 100644 --- a/examples/compiled/bar_custom_time_domain.vg.json +++ b/examples/compiled/bar_custom_time_domain.vg.json @@ -26,6 +26,16 @@ "units": ["hours"], "as": ["hours_a", "hours_a_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('hours', datum['hours_a'], -1) + 0.5 * datum['hours_a']", + "as": "hours_a_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['hours_a'] + 0.5 * datum['hours_a_end']", + "as": "hours_a_offsetted_rect_end" + }, { "type": "stack", "groupby": ["hours_a"], @@ -56,14 +66,14 @@ }, "x2": { "scale": "x", - "field": "hours_a", + "field": "hours_a_offsetted_rect_start", "offset": { "signal": "0.5 + (abs(scale(\"x\", datum[\"hours_a_end\"]) - scale(\"x\", datum[\"hours_a\"])) < 0.25 ? -0.5 * (0.25 - (abs(scale(\"x\", datum[\"hours_a_end\"]) - scale(\"x\", datum[\"hours_a\"])))) : 0.5)" } }, "x": { "scale": "x", - "field": "hours_a_end", + "field": "hours_a_offsetted_rect_end", "offset": { "signal": "0.5 + (abs(scale(\"x\", datum[\"hours_a_end\"]) - scale(\"x\", datum[\"hours_a\"])) < 0.25 ? 0.5 * (0.25 - (abs(scale(\"x\", datum[\"hours_a_end\"]) - scale(\"x\", datum[\"hours_a\"])))) : -0.5)" } diff --git a/examples/compiled/bar_group_timeunit.png b/examples/compiled/bar_group_timeunit.png index 370381b1e304c0ba05ac67da81cd68b9d2faac9c..f1dbf414175fbc31ece022938cb58b28ed92afa7 100644 GIT binary patch literal 19738 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 \ No newline at end of file +1969197019711972197319741975197619771978197919801981Year (year)05101520253035Number of CarsEuropeJapanUSAOrigin \ No newline at end of file diff --git a/examples/compiled/bar_group_timeunit.vg.json b/examples/compiled/bar_group_timeunit.vg.json index 41207af3b08..714914399b0 100644 --- a/examples/compiled/bar_group_timeunit.vg.json +++ b/examples/compiled/bar_group_timeunit.vg.json @@ -17,9 +17,25 @@ "units": ["year"], "as": ["year_Year", "year_Year_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('year', datum['year_Year'], -1) + 0.5 * datum['year_Year']", + "as": "year_Year_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['year_Year'] + 0.5 * datum['year_Year_end']", + "as": "year_Year_offsetted_rect_end" + }, { "type": "aggregate", - "groupby": ["year_Year", "year_Year_end", "Origin"], + "groupby": [ + "year_Year", + "year_Year_end", + "year_Year_offsetted_rect_start", + "year_Year_offsetted_rect_end", + "Origin" + ], "ops": ["count"], "fields": [null], "as": ["__count"] @@ -60,7 +76,13 @@ { "name": "x", "type": "time", - "domain": {"data": "source_0", "fields": ["year_Year", "year_Year_end"]}, + "domain": { + "data": "source_0", + "fields": [ + "year_Year_offsetted_rect_start", + "year_Year_offsetted_rect_end" + ] + }, "range": [0, {"signal": "width"}] }, { @@ -77,10 +99,10 @@ "domain": {"data": "source_0", "field": "Origin", "sort": true}, "range": [ { - "signal": "0.1 * (scale('x', datetime(2002, 0, 1, 0, 0, 0, 0)) - scale('x', datetime(2001, 0, 1, 0, 0, 0, 0)))" + "signal": "-0.4 * (scale('x', datetime(2002, 0, 1, 0, 0, 0, 0)) - scale('x', datetime(2001, 0, 1, 0, 0, 0, 0)))" }, { - "signal": "0.9 * (scale('x', datetime(2002, 0, 1, 0, 0, 0, 0)) - scale('x', datetime(2001, 0, 1, 0, 0, 0, 0)))" + "signal": "0.4 * (scale('x', datetime(2002, 0, 1, 0, 0, 0, 0)) - scale('x', datetime(2001, 0, 1, 0, 0, 0, 0)))" } ] }, diff --git a/examples/compiled/bar_grouped_timeunit_yearweek.png b/examples/compiled/bar_grouped_timeunit_yearweek.png index f99a136a90bd98ce5527c033dc9f34c7ec131346..e55fdf914a45b7e8dd896c40e0ffefcada960d87 100644 GIT binary patch literal 18778 zcmb`v2{e{#zXyDqC1c8zF_ltCB$@UuHTK;zf4y_lkAtvCut&5aDMuCBFBO|S0jU3=>J!^tr|Cueh4SC>n7CEMh; zCXR}Vim%)K@#&BB?u74NY@n~7n6$^tUQpF@>8ZYVnuiasw6V1v8+#?v-H@`I@)Og( zXf@vRhELJO>evH~ty{M?-j9y=&(xx*t5>gD9X-033JwX;ju2M8?@?1z^TMU`ypoA1 zp2f-J?G68pDJdy8)P2>ahFcd?+js5^x^(H1e0xK~(l>A3eBJTqCK8|9h)PH>XER;MRG0ru8P1hD4d;*S zT~{+ucaMSM5*D^t?zr!knJ1(7xpS`5!-odGeJgKo7fDV|=2P{Qza1B6?d%+yvim{V zr%!xmhFdg?edZdj&|(p!@^3l0QcFv#HtmqI_ta;5jB@$Z&==Q%TCv;8XV|N6ZI;O~ z+O>uceI1bYHHZ0rlztB7w=4prU^Kdf4ZW?pYD#SB>r>#_EE~Q zt?1lrZR)|zSUem*Y2?-)tEEFYWmgT2)r{p}t;@Sd_Q}Rv?%=7c}*+mgfgZwk2<=Ff$Z7XEC}e#pIN0fsxw#;fs2d^tG&A#Rv!(BxJ3SLq_vGLQ$+st3UT}R#Hr&n6 zz3<4!CkH-dALX^c&nHLPMHcg{f4G-DM*7fseC%qY+revhCtLlV8QUN)?;T!fQt_6H zn~Q7Dg@=819?>$E?3R|6p(5%=gBTZVvZ7+aU6Op{4IrhHYKZIj^4H-cF2s zh@mG?yT zW%a}2u^K7iFtWRA!wbq-zcv^4AF08UY?btx= z9Z6fZjT<+13=Ur6P@ADRgjGtue|~0dWkt!z$WR(qR-&|YbVm%>pT`@B|D=sU`#U>!H(O(mn;WOu%b)wzkW5J)Xa@>AP;h4)<*S6dbYl3VU zQFXp<;i1EF`yu$>RlM%c^!V8xzKur@W=DUSu6}s(*tTukYCn9?ej6>7^gP4%mD-P3 zhS*9{AGcRe{`hg_#*LXB-*|X=wGST5kCrp3C?^-#IQS_;y#B)n8fss-_)Es9uROzpl4g;_(` zJ*A&N^UD-YE~yM#9#l|Jpg&=3@LuD{k=5bCs+VVG&Yt!1x_9i$^ZJ78*Oz{8$>m0I z<&$^d#HLIQUrL@f^!IP?ET=~O*m&hL(rq67aSzh&VJCk7B#VKxs=u%2a_UrhTcH=( z*9CJ^Ulh*_3sN2UG|VXt^&&stwxh&PV|V3ho@P_XIbXSZFut~Bi3zn_^}vv#d!d(pX!(?iWpy?5$l=`i5iY;0Ea zy}Nng=R|)u8r?v9aq;TiSZj~uz7Gw#{`k6wB26gi?T_Ks5o- zPudc6&tEw|`)~OB(=m0u67hYBT8KKZ7}Y(?q3&+|4_+y=fHQ3#OhQU-em8IOD;#fG zQ|PuFC=BD@eSt$Qa@g<1=^?XFK3Q4@28PjrBmX1zVRZ;2a z?7Wj1o{*4Gb?tz$d8qt#_DYATGx;VdPqHO`d%TX)J@m;p_f({^&!IQk!!zz{IsX3U z!`KH_R%5E9vXb$QK*+DI-3GFew{M5m)*7!|xe}8?yJgFk8yl=?QL+4FihnN&;gz{q zRHQ~rOY8D`#?}2krpolF{9H(J9@^hgJ7p(+jT^UaElx67v~%Z9dFM}@dU|@4K9l}! zwQ~YTjvN7M(RFi^e@`xb^(LC8ppZ}oIxS28=g*%zukAehBmuZ6t)p-efiI(H^*%UB z*(=T(csbi%aI zI%78-y}0Y1j@YJ6%kUhZo?6pAdGh4x@m3|&T*kn_z^6Gmx*8hPjvYHToa)i=ec$H06g4)rqA_Phl#oT3)!G{XHWqtnR}qAtB-Db?(&F{c`rG)?kOSfJFpYJ}`>o zT(aamwzdA-!NEa2-=mI>Ddw-!SD(E>>aI3=MeUju7l?Lwha^qP7iKhjwq^y!&B z2W5q>d=?vnh5{tKn%4EgYx;P0PsN{^*d)1r{q?-zbKc$?Y+f>l3abjNUcFlK(ERh~ z&lNo<*Yv$l;8?eAo%82R25JN95^3guGEbjA)v&OzNbP_9r|O3p#jC7s&8U6%jw)9x~@RS-=Eg{{{2onB{jAAo2L%TViDe7-R?6hwKv@&EWvmF zz_4lj3Yi|L2GO4(H}o5IMjbr%acY3#S3cl6A256*5wypzkcm!lCssrpS@>Rg#?Ck8!?Cgxx{rmStRa69r zhleRYvJuX#S3ze6e6n(Kx?EDCvED3;8DwVrjvX)Yuwr{`@I9v~ylcB6s}Z;#rw9>?dEz zh@TP0*WJA1k;+WD-7!~`ISebCs^4DV(Jyuxn~t0RdLA>=S9ffE8flT`F z@Nmkn&}-TTSQv=@B3jh*1N`RA2;F@{`^tui-tD!GBw#`|N*|7;aA^y^b@*cK$ z9RLEdOAH7KVp362G5t6;F>&p9D>KDVQL&vaF+Dxvh;PoiDE%nAo)!Cq-K`gT2_14@ z#gW_Hl=K%j!Z(JmcFJwgpdpjqFhA07-*iWtNl^LplQIvxGZMcaT$bMX8@JrxWMS7} z!n#sILR?;c>7qrXjBB7@uikOP4;Y{nQ;G5c8b|jr?NA8T$G?f~Qo7vSTw}?o(aA}A zW6vK+8xQ6juc(Prz7idMQCv5?;ZoJj;NSsA?B|Z+OJ_SiT>t%3hPF^A+1ZS^%*@P;=$bXm z07g=q(;q%$p6IJC$Hb?F*8&BZYAeOE&$OOtx5k^mZyMYj$i@A1m^j-2+?dz}OT0!3 zAG~>r*G?`K7~(}k1$qGx_@JlQXXukK=hVFdo%iQ2>7tpzF$G~4y`Xaoi2 zd8W5LsI%$#(Pa55YTZ7`xRK6I8ep*~1<*uAm9YSxrM%*7egFxvbFFEnl6#`BgqV9Y z1kS~f<=zyf(i3hO^VizPH}XR2)g=@I$JJHlLcComQyh znM|HZa&QCbbTnD|Zo|qUj2s}9kDvdJWwB4}>j+$@;YpQE$9wgKm)IW}XUA+5w``%I ze0~i|WJ~B^A;j+LwLTBg$Og{?fcSB%8vgRWHHPEk$B%rQoR;zc>w;K{iHpGAl6Qb-j~k9|>~G+bPsHVpUm?d?pufVDbMVPYq11t}xO!ZXF(3st@G zD*79j7kPM!L*t0rZPdq2}VIyw@B*3#NaW}XaoWo0GE?u)-~E|c$t`!}8dPSR%u zySwd$??TbvFB#vU`T5wzV^~bUg3uF|>4poIqOUc?3*uf=ETby?;^Kss zvM^*mduDBKA9SYu951!O{i|uVgf4FV>pnaq%0Hm?U5|-A^eTzHsb+yF^tQt-xlw7? zZr;3vtF2H|69)6H-?ZrR<;xfZ!qQ8dn+4R=)BteP3k$^{j|q4=$wtP;UPgy<8){xg zSvfjh67iX#!DH^6Tf(t;F%f&XL_|24n3z)d0M?jJfB!@S)Qmb!1SF^;fzf-Tw0X(G zF_fI+;n6B-Y+Qz0+w1uL^=pm%(?d^DQuQ}~1yf5*6io?UBj?nx=6iGY;-aFWPcK}> zkGBwGZ3dtM9Xdp5py`>=ioTxwIiXeceQg+dD{e zbkrXptmu;1fNk%J^#Ivr{^kYLK0fTj8=FtW>w5uX2cFR~m5i!yzua?pfadl4_xl`u z$4_i|^AATs$pKTjnHL$?Q7|0`4St3TSk^62`nAtNdF+z>{(vzsi+Avw78yyi+d2c-s(>TuGx zRsUTB1SkE|*0J`(fL7Tkv}?AbN57dh3t@sDr99vv^thrTgtv2KB!WOZ9UUFM4OWy+ zC?5^cjXeKpkvVv33B5Ww z1Zi0--J;MbON!JO8H=GHw4eC@>}eR(yZ7$hNlgtS>mRH$so$A2)ncP0I%an_H)9i% z^B{(6qVxr~oTLw1zB#(@*3FxD?BB-==v^gc=|R0sNn4w+l9E#W9@ z?=!f-h+(_@^5xclSBUo-pR*YhoIm*i5u3kop+S}HJ{E+rpI?RYjz(6SbHWnXWT|1S zyk=9{At+eE(6#<9?@q0^L`6j@lo6e0N2)t|dIB~b{YXaQYfTt#Qa;hlo?G6rp5EWz zzp>5XKZK~q=7|uU|BE&7QROIEJ)4|zk6Q2F&qtUhXaIQnqjwWiQ#w#skGH(=hgg2+ z#f$wyYq4Q>ZAwYv8yy?dG&bhUJ3aKMUU>QPkni7}y%*-DNo{?Sn##q)ll+G*Jd6cI zFO>44DE?3s9djx!i8_gK?Pot?ZSDW9Dc#@$iUO!#WU{!p___kAOp}!B^LtlHXme=z z_!Q~SUh{pc_dkmD*T&o@#uFJtSFK`jajD(k!g~nS9ZZ^$LpW5XXoeOlYLw4s;MJxX zg~~YPGnG&S?hk(Yw0}pu%7NIaziL61l8=v%%h|3)Qfs7j1So7N`PuwKDW;Fsi}U`2 z+0)l~pb$y-iV*;hZyc0-V*P1Yj6K6{9}e4gZfws1)|V9(Vk=kDQ!bGCQd-Hfw;ZGX zTPfwgwFI0T_hGCC4wxQbC927}*(s@}HmLpjO>e5J15Hu_9z2lntDjwd{d3L<5pXhN zQ`3OpU}lsxb%Qp{g{cA7o|4;u-{|P5z_Et9Ixh62RF`;+N1M;=kifA&xZ#1>10JX_ zL?6W`Y&&^!W6?}k$Vpyqtf0HRyR)TrRlwT?mE4$NUp&po&~$KEgBCXm0GguwFLdI? zc)YzROgo6(y6XB`iUI>sJNK&t;-%Bha6CdoIK{sm z_=DkU>FP2q%(gE87X;hAjka#hbKg`{2|ViIx`gcel52vjozj zpZ&eT&FGkm7v{a(M%sj4MTi6?C9NV9Tv18sk@9BpDSp6@cn4S=3JXyUV>h2j8!o_& zZP$LZhm{B}!~=siL_uPs0XjQhSXgLwjojjo$0y%uI5|lksg4aK@QFw+VA#NjV~zVP z9sem001vxR3$do|f^Je2&^5@wBh@Xqh)J=e7g4pwpv-RHyu1q1RBQejS?e6l*LbNM05{FDo@FaS^NS>kIwjIuvTF;eNLqs`Zb6eu4$(CjX< z@|$!YBjsc0QD*uAQ1471$PxX`L#Vc)IQs6NWf7A=>c=9)18>?{avg3#3&RZvn zG>;rfHWj?_SDV?y(%02>9-KB2s&j;hy3XFcAD`J7;%(VFVgZ~x4{9*`W7R=2-;snZ z$OgrA6N>`yjW=$UXx^7YLh2yK5_=6$nDT>^z>@Q`XNLYi+{XJlW0!&l+717!Ageii z-GX_~6e|%NK2P2JrI2?hmxcLr&TR$!fVTfsB+)Hf_+i~iHWgWw(ryl2i2FMWki8NEwl#K7_wL1p z0F>y;0__=*WG^M#7Y*P!xaO2i%~*+Yw>x=9idzM{kdjqzRg{z7WpZCYJfd=Ppo?5l zX)`lpwtrvFQMNY2Ru@R#;DZ)3v5nC1bWwCr7&cuM#miInB~=ig;n&m<{B=+zDAJt# z{FlOol)C_ByN3P(6j|{K6A+uxtV`d@6o=m0e8Q$Wb`v~!+Qm@5@A_WR_hPJxR}B$X z^~Bl-SFy%qV^x=c*f1qduD<{*+@whAfx?M4Y(Z8iZl$fQbDy6{;O+f;9c3e9Vwl9} z{pyu@eE_&5Ct6!toXlBa26X}1YJ=F-!mt-qIU7mz)GO~$cIG`Y?)YYAXQ#S8weI6>6)_%gm_%k~^sO)^h3ISlNDM?#gRYjc*yHuzHvj7GZ+*R*i#7E1SvoorGhWCjh4Ii~ zfj}Q;prFIUse3rddiLyDxVGAMLjQjV8EW_hZV988iJBJ@A3O+BU--?fprGK;nwR~@ z?7Hh)J8*++n1Fx)iZVAhcNy)_bZ~T(CtU3pQy52YPEO7%sQ*s}iMC_9Xns9r?EfHF zJ)X#6eYdWzGCJ76p`n)9Le;D)4y3M8jLA0YY~&BVbbbpzyD_1}7aFK)+ue)!Udz;N z>$sy{*H-gKI!{q_k>qMR{@~uJ5SJTA1nDoodL384_)^d!vN!%GhxcEc;*AOGeZax@ z?>XQAoeUt$P2#l)E5!2U>-MD)WuS+7C!TC)?O9ouuMKOF=qP{lM(@KNQi^B=q!@ua zHrQ6OLj2r%jf4dT*21%##jO)4~uA<|4Ohc#G#k)&yX`B>bX-i=4?4Ur^b9Z}-IZWzoLp}8U>J8ls ztL9-=wMD@a3iHgdloopAYlgp6RrNReNts3}ohN&D@lII|3qtwY2j$D>P?h$-zA--I zeQs_m6_NPhF}ADnUCJ*kjO}V8&yRLp+X}zvXr3cAx7QkqfNsIjy816&EAx<>L(l6g zFt1|PsgMd~crR#C{3KE-Rm)<@n3ViUKs28Ezlxgw@cbSr{l$#yyNEi7cUgSux;Uk?=SSsUR_S4H3s=+Igk`eDz*OCJ#?BIa`xV!f_sXjlPNGvmyN#g;N$sg7ITf)%p7)$2&H{dsO{ zmE6DH-zf9fWH0P5r{GLSE=(^lP^{44I8ZgDe*AA@r?EY}m*V2(EQ|FQWY)~7|6v!# z2U~oXV?)C-B$i2KxX@w|k%W^Ia9*q8tT%X#>60Xgnlbah;Gh`qU)tx~R%q&q4gL~` z{$VlS^dbGH8~jz6@Xgoo^z;Pg4z5YJAJlap-K7-4+?maH=Vu+<-jxs&5~%}(kkBke zpocg9Gqm7smw{3B59vflN5`^~owTghLAK-rGq%cCVT*9^>Ho^_|F6^gzboWM-4!Ju z$r(tophXz}vw7!#eUo7okY|QPJ%i*>hWF2th8IZrACuKIT zse7&TU3K-9xHu_8dwcux`g)Vt@X*k$rl!}clnf2otdp|_|H+-AL!6A~CR zSFgC6_h^ydYBvA5&qFjrQySV->l1&Zr{HZUDk{E?>k83ysKqo$?oBga8^F0jO3Lul zr%%C9(fiwm5oSy9TAr=>&-DH`iL&7tQ&q_FB>W`nHeiejZ;ceg4TWO@S=rf}ZXyT9 zHFrVh6|37oEe+5y6yZ|1jI!r`x&3>*>?x}G`LPh7BPXTxc>Nx&S)k{6v*DFa+Q2kD zMl^oj|JK+4o95Rtmg2-B77(et2(9I6M6(woI0d1pFteGon4?%^*R5NO_F9IJ8Hp-D zYNnxx!QW9rvvu1xF-b|5{`Uz%&z{M#EM80!DhM`+Bae`3mMzIU^0o1?;_2^v5Lq~= z7iY&-z-_nyiFgs^f-D?CK2T>EC?FwX2!VT&q}Our;-0jaKYjj8oP9AdF=7e8gopEL zE^Pr-1GympbQ+bG|1nVO4SQ@&*yJc1VlaF#-NyZIM%F6|yRTIM#KK_sL++?>v3V*?w+1uFCfLk!k_3)fF-_9JoW``mSHU zzV_iRaY_Sg8m8FeCG9U?(nC7(=zEojw}IvAy0~lr3Y2rP01Z&J(<5zRC>(=7=I;Z5i7G1cVN5B%`}bEOks#yZ?#@7wq6z21 z<@9MCd@iiS%MTx}*}s4P!`tHrL2co95+3lnrbY+jn($M0&BQ>R_~0qcefxM}=GPaX z-jg5zL83_Q)FDVjmHhhg4RJ_mRrY;p=A{NQg#iF(L@6vSEnTyIeL!L1x!kh=lv>Wt zPbMwYpv;w(mnXgVC!iLeHPDhPM>1DfFP%Mau5FN$yJo>{UvpbiL&I+=n2zPD5qno) zdy+)_1QEn6%Rx+aL}T#iD4gyKFoa=A5bY9`#CvuqM>0K#^dwyE^}Ba3Q76b4?Kd-f z158*fjNYeMMu_;0-kkP@fP$XyN3uVgc-RFM{g6m00en_I{k;SPkA^ZcGpjGU zb?cTbVGd_TgefaT?MP}0DrxZb>(^PjD=I5(Fbb4@@luGne-ae2#qgD|ND^PX;6pY8 zMpzlqrH6*3QswY)FDomxcJAbW3GxCyiQI_qP5dFYdNt#^y-$oC6J%`}k+Zahfax81-%8?iDZlwHSr^c)~%EmS}J5sFPWNX}q@;&pj zKOy5(zYzif`a=jdkq`pX3|HVDVFie*tBYt1ZmX&i4w193*`6Rl0!O3=Mn*>JpYV%L zNQjW|oqlpKhaErO3erefA#4lM%SZ)Wyh!vjBqouXQ%B5*hJwbS=-L%f^=;gP0d*Np zGK@t;?Cv)B^j0k^`1SQM!jQUfYSz8k+9sm_wR3&Khb86z>Wd4*h?(_3MLV6(E!e_5Sb#* zcJGNWPOV_b)^+#wxUa;-Oh3t&4&WrVMHf0r{p7=4_g+Fu3*gjR%ENOR9pDmP8|98l zE`bo(*5k+1^z$D-evELFbD%3Krc~S6ZZ?n!6fZ7JD-W{nxHT3QmH>FZ*qs@QE**X( zte6##%|yl==K3Shi>QX8lfC+~aIO14O)SWWiD|lhZO}`qhJJ}qzXr3|RyVgS=q!>s zZRp`IBgM2$n=>;rx59l`7q-b`{4mL?EEdzBwnhrS3#Exiiy0GhXS|tPD;V~6a7jrC zOO88Ma~*n@4wg)UnTYR^_}u= zHEu*=f#5esr8R4|+xf!0Rn36ba`GFD#GT*U3J)e7`#IiAaw(YB_3M{ni7Z8}T%yHH znjbM}g0YU7#RB+{7Mb+%uE*x8xVp+9fHNum9+pj$3&&%7L}0s6jv|wbe~%kPHEG}i zFA**<{fO|_67c3O%)aE%iQ>7_fe|-3wIIhF0AkX_y<;8`u;oTjAaj!c1Av?B&v84k zt%LTC2-*h}7Z)R~8(DRlxZ`8(3-kNX-S>Mg)Q1>$=WLMP{qfwvWHedGuDcJcR#sk4 zvR7CKVNNIZ-7zM1tE{XnEJ|IV15^}FZf-gX8}VX(zB2anE>qK$?g`W1KXU^gF(rC( z1ZJjnqEM+c&Cg#0ET4P~zmlFqL~W~<*7>T9q#$GRohBE*tgbd}Zu%?#R9aQV0z^o5 zC^-lq?@+5@Cqh$#P%?DU$nhn<9IH|WJW>o1_3;!k+Vhe8zvEw)jB{it&=U-fO&i?OHugOF=bn zK5{4nB`M?F>}goP1D{W4#sZf<{%yV;Op6o^fIy4|Y7W{=IidkTP;7K`bd%UdWv^%{ zEa;0U*EZ-V=u8O>!oW&c9C``MzK-|w(@{&8F1;S&0Wk=N5i-llS425Br3vA^L6D+I zBoxxPE}ov4#c+oIq}=cVzxwix@$vD!j0;K0$t&>038)&UzKb<($`l&#fJ{Xy=}xtu z^nHDO$b0PD63t4%4%fnrn-1F>3qk!yxY{2OV{`t_CP79~G;@HmuV%@<#&0tCKyzlzX>7f6OZ%9TBP2s^ow1kM5b0|EoZAQNga zLu;av-dA8IGSDyujx}K=cz#cV!wBI|3*ZVdRU&U*U%UHJwvZS-0cPOTu|xaWvW_;f z<9J00aSQ&XluEt|r|AG$fvV&lrfZj&=yir1Daz$Ux`!@2nVI01-|kYqZgda$h}9Or&r-*P4eA=I*Z%Lc=8@(C!CD z6;QK&dn=n?!qXGm`~uESpyPm~u?|k8ynD7Z1zj1zSCm$IsM93259mxl1-4KC7PS27 zK>)E*1W{e#wnrV?k)S370@S7G@5}!=-Vpct^5x48bkZPP8C=kHcIsG^9ZohR3|3>M zT*P`V!)`-*p6J&QnO(bHE>cuhHh9&$;E@oJsd;AMc1%=M(#FI`3Z!u=o*fl6x~=F> z4$2^YRo}6Ndg0p5cwK*$#kn7i0w?mnH+7)r;fO&1o&oe!bnV(j$be83jx>>|{Wp9m zg%^+K!XcRofKc?QAkZuu4CVXc@~Hh!t!O|dT_*Yri8Dp=k}O~?h@CL93$6*{eVB%+ zT7gV5j-o_QJq9=DQjtJ(wHAQR0pU2 zH;n#eQ%lk2S+J4HKom(<>B;^KTB7V?+0sz9m7)GIF)_`5;(WJNJeH6!bW9Adu$uS7 z@t=^UgAjRqBsh|umTB>f9ECxrsjaUs!}>=dl2T;{+|)oH&9JFpF)#GoBVYwvY9F94 zYn+n1){Y&lg#4k8*dV~WjNKubH^@0?5d}$>5xF8oVie=#9g+b06IFS%Osssy-9u9Y zb#%m$f)$W-N?ObZ` zy?f#~gu;QfhbHB2( zjKGYt79e1f6DDom6Nac8DJn8wJBEkDf$Bw9uTC}}n|NY*USqI(6m`qM@;CO&{$d|h zME>5+jiEe{5ec%wz6A?=)-a4iGq^`bGi*Vn+jpc%4olXCo}2*yv`bOpA-Py1BOSofqXmah z0m#&0_k&pmYTfaJumOi!Qq_57KqRArx*p0JPR(qpxwD!Wd#I0hQ4QdET#r|$a9mFv zK4y}fkkj2Kd@p?Fl+2zxFM=+%4=&maoufbMI@w+T22v9;p5|n>z<+wgT`tj015A!4G@={V(azEUe3oy z7$T{BM(rnET}$CNgp(6e8iVN>NDKV<_!j)BB>vmPGSAUTAukOKf%U4!z4=|#U-kVGb;3l4um zU{Y84P^9iixB|{=dU`66qi$cnUPegJcJ9{?>|z?g&Zq9*_D0ox1pp^W?atobq|8+0 zqs((pGJp|{PEYIN3|lP%K)9QhmQgSn+pd?FC<;pfV1f}r>>_=#Ye1H@0SoY+v;A>r zaQY^_E&FJU{KrHEa$F2WTR&+D&i;|~B{7^ykQ2c&q8FgsJsNKb3J55vs7Px0rh+g` zMn*<<{qE5CjbEjz8eI1gRHDSNkMq@3&EhZ0mgRt@|>igYBTK&qG)9SFHoLL z_`4wyMpoE?algl z`Eo;M(>RpWJFtqdx((8MC4K-`0)0xVXJJQNLUG?dat|jv@1AHcqV(UFNWNW65py6l z2TzX^34w*Q3$#wfH5%~x$YETZvmnPWQM6sooC!i2mmGzmv=&zKqp8R!caFjF`` z%#E>fsK0-yYRjx0mMlGBE?M#LbI5sDXbPkvgOCbR`Ls|Bu3Wj|PsC89TFA*K$O(C8M#7T}Vjc-zi-?HOh3xhAT;0f*91bmJ zq6#9AD+HD_+Hw*jPl(;Gz+-lH43Iui{9*uU~>2t-o;-FhCQlO<&&0~@4JAINL`JUcO>Ey8d1rI58P-goLU_i7Lq6g9Zov=X#lC6ULOkl*aj_O z!{*Jpz_^iDuF&xE#;|Zm-Mn?HytVa^r{MuJvoeU1q+36Ku7Kz*B_}6GRx--Z=)?qZ ziSN5(U9ySMljFE3#_H4EEL6LUOjpT*i7Z_EZBxT=uD zzh3J*+`heos&{$0(>1okDSH1#=?G3S1^4{xko|v#9RFp4IH_kxK1^GaAC#H3iK3XN z$?pYVIOgqLP?eNEH#Z0VO=D}@-JiG3)g8mrRlG1Kvr$g2(Q{9EUJu0gGVswc1Qk!_ z2=QuJRa{<1PC*6cSg&4DZS|gNT#jVV3=Y_jL8~-~nPp>PDI;g~G3qSodyK!JFk?PL z`-_CeLsr7;u=E~dfRMQRcs$NI0UmBZ64R77;|K>{&evviH5B&jMt!DTAusSE$)3P8c#4x{-`k5t(Ec4hXC}FA zdIzv+i!%^2;5sA;XlrXbIGzQ#`3hxQET9C9jSE$dM8;bxtjXyt>}Nu&v1eZ5@FdaW zkscC{H!(Asf*74{ZxNOt&?wC>e3c2FxkWa;@4>nb} zw;p1cuIaDtV2+1my;;3xi*mdA{S4ftrSAP`(aLP z5$U4Yuw~25l{XU-WEyR9zVHhPRfDz4u38m{&?GAhOV`^N8NI7vVPV(b97asX3YlD* zr^(3|S9&1SL2I>b8^cIzzAmJD>4VQhksmh^GE0rdnZAWDAX7IB@yc2;OxBB*H``I$&(~~h+nXPOVFd; zGEpSoTG_6*j?5qo=A2r4;S0JN;L&8&026nllaAc{+sI4hJpD~Q8UfiUl)6u044 zb*)o2&WLT@y_-8;-8UQn;x0&-hldB`=5mmTP8Y@dUbAPueW6o9A{?^lXVP2Jb(aR1o z#tODE+2u`42B}RWy__Wp2PSY@pbDA^p|)~^o4!7 zjmmAp?K1bv9nm0t-&2Z$CUV3=De(NkvTWHh2L}fY1B1nwh)^AIC}sD}oE2^zlv0Xg zM;C=l$>qZMaN0wCkbzCt| zIg_?CN}nOlD5xpj@*cJ)j*^Kky7ndjjlSXIN1M~9c|g2$4jkZrexjW{q++8)&GZ-5 z$%Q_aFaaT6!@iQUs>J#Pl>Y!+5oGm#eDuaVTN?`$g2=$IDm(yF|8) zvz#C0{@r(sMRP_9QnfAxnK)6tPf0G(B;^IHbf;`H+K$(+gR@3bKMcY;dJDKs+kwdD zb{|!_QQV41jbpai+L*U!(BBl)wrtVMHZ!CE(XLk>vS*|Kc&~UC#&5hC3JLyh^^tqn z?ItOQVOw-}bus&aGK>EF@vbE2{j@mn#4767%*-grh>F_)Ck-dX#K^eaLg|9XNBo#*U!Bx>F5x3R}xyr!hnRl{#EbkVWBAfRcwsq zmLDaV%Zjz1urdoff>K7l?cKn~TEE}ILipFOUpO}JpOGQ!ATPkj$_OX<9t8{+84iB?(cS^_C{7#Zomod!Zj%1z_o!CP6|D9S9A z2O(b41utH_h_ozzXNey|^%{4K6CXcbjO;nlSpXg`_Vpcc{2>OFrm?Z{IG(?^w--hj zB(WPy52$R~#2_Lf0vU&zS#rTSW53nLo9MhG;EW8*-~tqN5qLR-Mgb>t3J6GUTa8+K zFE393E(T;se8Yt56oew={OKtT5fLUQ<*TZy=4;k1rSFtj!c}>Gbn$`pJWmi}LKT3Y zKq0pm03dqr*)#HsB|zo6Mx@7LR$RiVV{ksO0j86=zt6<1WER$wr#n9yVz^_6hI9-O z)MP9QN+3SnY5Ha@FR(EAu5>~CDpob}`$b=VGHP=ANY$}2pBH65AH+TV_y1J;;d{}u fihuuPmO~+AW8^@sbUl7q5~a7zXlt65)%pJicJz^2 literal 19338 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 A_5c6? diff --git a/examples/compiled/bar_grouped_timeunit_yearweek.svg b/examples/compiled/bar_grouped_timeunit_yearweek.svg index 0ad1710782a..49aefa0c4a2 100644 --- a/examples/compiled/bar_grouped_timeunit_yearweek.svg +++ b/examples/compiled/bar_grouped_timeunit_yearweek.svg @@ -1 +1 @@ -1971 W001971 W051971 W091971 W131971 W171971 W221971 W261971 W311971 W351971 W391971 W441971 W481972 W00Year (year-week)02468101214161820Number of CarsEuropeJapanUSAOrigin \ No newline at end of file +1971 W001971 W051971 W091971 W131971 W171971 W221971 W261971 W311971 W351971 W391971 W441971 W48Year (year-week)02468101214161820Number of CarsEuropeJapanUSAOrigin \ No newline at end of file diff --git a/examples/compiled/bar_grouped_timeunit_yearweek.vg.json b/examples/compiled/bar_grouped_timeunit_yearweek.vg.json index af91bf87f1a..c0ec7915208 100644 --- a/examples/compiled/bar_grouped_timeunit_yearweek.vg.json +++ b/examples/compiled/bar_grouped_timeunit_yearweek.vg.json @@ -21,9 +21,25 @@ "units": ["year", "week"], "as": ["yearweek_Year", "yearweek_Year_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('date', datum['yearweek_Year'], -7) + 0.5 * datum['yearweek_Year']", + "as": "yearweek_Year_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['yearweek_Year'] + 0.5 * datum['yearweek_Year_end']", + "as": "yearweek_Year_offsetted_rect_end" + }, { "type": "aggregate", - "groupby": ["yearweek_Year", "yearweek_Year_end", "Origin"], + "groupby": [ + "yearweek_Year", + "yearweek_Year_end", + "yearweek_Year_offsetted_rect_start", + "yearweek_Year_offsetted_rect_end", + "Origin" + ], "ops": ["count"], "fields": [null], "as": ["__count"] @@ -66,7 +82,10 @@ "type": "time", "domain": { "data": "source_0", - "fields": ["yearweek_Year", "yearweek_Year_end"] + "fields": [ + "yearweek_Year_offsetted_rect_start", + "yearweek_Year_offsetted_rect_end" + ] }, "range": [0, {"signal": "width"}] }, @@ -84,10 +103,10 @@ "domain": {"data": "source_0", "field": "Origin", "sort": true}, "range": [ { - "signal": "0.1 * (scale('x', datetime(2001, 0, 8, 0, 0, 0, 0)) - scale('x', datetime(2001, 0, 1, 0, 0, 0, 0)))" + "signal": "-0.4 * (scale('x', datetime(2001, 0, 8, 0, 0, 0, 0)) - scale('x', datetime(2001, 0, 1, 0, 0, 0, 0)))" }, { - "signal": "0.9 * (scale('x', datetime(2001, 0, 8, 0, 0, 0, 0)) - scale('x', datetime(2001, 0, 1, 0, 0, 0, 0)))" + "signal": "0.4 * (scale('x', datetime(2001, 0, 8, 0, 0, 0, 0)) - scale('x', datetime(2001, 0, 1, 0, 0, 0, 0)))" } ] }, diff --git a/examples/compiled/bar_month.vg.json b/examples/compiled/bar_month.vg.json index d59b3b4477e..9cf325f9b70 100644 --- a/examples/compiled/bar_month.vg.json +++ b/examples/compiled/bar_month.vg.json @@ -16,6 +16,16 @@ "units": ["month"], "as": ["month_date", "month_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['month_date'], -1) + 0.5 * datum['month_date']", + "as": "month_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['month_date'] + 0.5 * datum['month_date_end']", + "as": "month_date_offsetted_rect_end" + }, { "type": "aggregate", "groupby": ["month_date"], diff --git a/examples/compiled/bar_month_band.png b/examples/compiled/bar_month_band.png index c1210128889655746d8e02e6ca0625d0139f8532..b0ef9ccfd1a8663ea278d6a47817f99eb68f0459 100644 GIT binary patch literal 10265 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 \ No newline at end of file +JanFebMarAprMayJunJulAugSepOctNovDecdate (month)012345Mean of precipitation \ No newline at end of file diff --git a/examples/compiled/bar_month_band.vg.json b/examples/compiled/bar_month_band.vg.json index 9165a52a807..fb9b6fb9288 100644 --- a/examples/compiled/bar_month_band.vg.json +++ b/examples/compiled/bar_month_band.vg.json @@ -17,9 +17,24 @@ "units": ["month"], "as": ["month_date", "month_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['month_date'], -1) + 0.5 * datum['month_date']", + "as": "month_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['month_date'] + 0.5 * datum['month_date_end']", + "as": "month_date_offsetted_rect_end" + }, { "type": "aggregate", - "groupby": ["month_date", "month_date_end"], + "groupby": [ + "month_date", + "month_date_end", + "month_date_offsetted_rect_start", + "month_date_offsetted_rect_end" + ], "ops": ["mean"], "fields": ["precipitation"], "as": ["mean_precipitation"] @@ -45,13 +60,13 @@ "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\"], \"\"))" }, "x2": { - "signal": "scale(\"x\", 0.85 * datum[\"month_date\"] + 0.15000000000000002 * datum[\"month_date_end\"])", + "signal": "scale(\"x\", 0.85 * datum[\"month_date_offsetted_rect_start\"] + 0.15000000000000002 * datum[\"month_date_offsetted_rect_end\"])", "offset": { "signal": "0.5 + (abs(scale(\"x\", datum[\"month_date_end\"]) - scale(\"x\", datum[\"month_date\"])) < 0.25 ? -0.5 * (0.25 - (abs(scale(\"x\", datum[\"month_date_end\"]) - scale(\"x\", datum[\"month_date\"])))) : 0.5)" } }, "x": { - "signal": "scale(\"x\", 0.15000000000000002 * datum[\"month_date\"] + 0.85 * datum[\"month_date_end\"])", + "signal": "scale(\"x\", 0.15000000000000002 * datum[\"month_date_offsetted_rect_start\"] + 0.85 * datum[\"month_date_offsetted_rect_end\"])", "offset": { "signal": "0.5 + (abs(scale(\"x\", datum[\"month_date_end\"]) - scale(\"x\", datum[\"month_date\"])) < 0.25 ? 0.5 * (0.25 - (abs(scale(\"x\", datum[\"month_date_end\"]) - scale(\"x\", datum[\"month_date\"])))) : -0.5)" } @@ -68,7 +83,10 @@ "type": "time", "domain": { "data": "source_0", - "fields": ["month_date", "month_date_end"] + "fields": [ + "month_date_offsetted_rect_start", + "month_date_offsetted_rect_end" + ] }, "range": [0, {"signal": "width"}] }, diff --git a/examples/compiled/bar_month_band_config.png b/examples/compiled/bar_month_band_config.png index c1210128889655746d8e02e6ca0625d0139f8532..b0ef9ccfd1a8663ea278d6a47817f99eb68f0459 100644 GIT binary patch literal 10265 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 \ No newline at end of file +JanFebMarAprMayJunJulAugSepOctNovDecdate (month)012345Mean of precipitation \ No newline at end of file diff --git a/examples/compiled/bar_month_band_config.vg.json b/examples/compiled/bar_month_band_config.vg.json index 9165a52a807..fb9b6fb9288 100644 --- a/examples/compiled/bar_month_band_config.vg.json +++ b/examples/compiled/bar_month_band_config.vg.json @@ -17,9 +17,24 @@ "units": ["month"], "as": ["month_date", "month_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['month_date'], -1) + 0.5 * datum['month_date']", + "as": "month_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['month_date'] + 0.5 * datum['month_date_end']", + "as": "month_date_offsetted_rect_end" + }, { "type": "aggregate", - "groupby": ["month_date", "month_date_end"], + "groupby": [ + "month_date", + "month_date_end", + "month_date_offsetted_rect_start", + "month_date_offsetted_rect_end" + ], "ops": ["mean"], "fields": ["precipitation"], "as": ["mean_precipitation"] @@ -45,13 +60,13 @@ "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\"], \"\"))" }, "x2": { - "signal": "scale(\"x\", 0.85 * datum[\"month_date\"] + 0.15000000000000002 * datum[\"month_date_end\"])", + "signal": "scale(\"x\", 0.85 * datum[\"month_date_offsetted_rect_start\"] + 0.15000000000000002 * datum[\"month_date_offsetted_rect_end\"])", "offset": { "signal": "0.5 + (abs(scale(\"x\", datum[\"month_date_end\"]) - scale(\"x\", datum[\"month_date\"])) < 0.25 ? -0.5 * (0.25 - (abs(scale(\"x\", datum[\"month_date_end\"]) - scale(\"x\", datum[\"month_date\"])))) : 0.5)" } }, "x": { - "signal": "scale(\"x\", 0.15000000000000002 * datum[\"month_date\"] + 0.85 * datum[\"month_date_end\"])", + "signal": "scale(\"x\", 0.15000000000000002 * datum[\"month_date_offsetted_rect_start\"] + 0.85 * datum[\"month_date_offsetted_rect_end\"])", "offset": { "signal": "0.5 + (abs(scale(\"x\", datum[\"month_date_end\"]) - scale(\"x\", datum[\"month_date\"])) < 0.25 ? 0.5 * (0.25 - (abs(scale(\"x\", datum[\"month_date_end\"]) - scale(\"x\", datum[\"month_date\"])))) : -0.5)" } @@ -68,7 +83,10 @@ "type": "time", "domain": { "data": "source_0", - "fields": ["month_date", "month_date_end"] + "fields": [ + "month_date_offsetted_rect_start", + "month_date_offsetted_rect_end" + ] }, "range": [0, {"signal": "width"}] }, diff --git a/examples/compiled/bar_month_temporal.png b/examples/compiled/bar_month_temporal.png index 61c1c04fab5dd834c0755d3dcae602bb5c22488b..62203cbc3b991e1de3b78ea5fcc390337c8e59eb 100644 GIT binary patch literal 9999 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

(pNEdYsd+6*{{ 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 QOBHhE(lxabj77-*05_I3n*aa+ diff --git a/examples/compiled/bar_month_temporal.svg b/examples/compiled/bar_month_temporal.svg index cf84822e487..4c5776ae762 100644 --- a/examples/compiled/bar_month_temporal.svg +++ b/examples/compiled/bar_month_temporal.svg @@ -1 +1 @@ -JanFebMarAprMayJunJulAugSepOctNovDecJandate (month)012345Mean of precipitation \ No newline at end of file +JanFebMarAprMayJunJulAugSepOctNovDecdate (month)012345Mean of precipitation \ No newline at end of file diff --git a/examples/compiled/bar_month_temporal.vg.json b/examples/compiled/bar_month_temporal.vg.json index 25cac61d2bf..597691718b3 100644 --- a/examples/compiled/bar_month_temporal.vg.json +++ b/examples/compiled/bar_month_temporal.vg.json @@ -17,9 +17,24 @@ "units": ["month"], "as": ["month_date", "month_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['month_date'], -1) + 0.5 * datum['month_date']", + "as": "month_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['month_date'] + 0.5 * datum['month_date_end']", + "as": "month_date_offsetted_rect_end" + }, { "type": "aggregate", - "groupby": ["month_date", "month_date_end"], + "groupby": [ + "month_date", + "month_date_end", + "month_date_offsetted_rect_start", + "month_date_offsetted_rect_end" + ], "ops": ["mean"], "fields": ["precipitation"], "as": ["mean_precipitation"] @@ -46,14 +61,14 @@ }, "x2": { "scale": "x", - "field": "month_date", + "field": "month_date_offsetted_rect_start", "offset": { "signal": "0.5 + (abs(scale(\"x\", datum[\"month_date_end\"]) - scale(\"x\", datum[\"month_date\"])) < 0.25 ? -0.5 * (0.25 - (abs(scale(\"x\", datum[\"month_date_end\"]) - scale(\"x\", datum[\"month_date\"])))) : 0.5)" } }, "x": { "scale": "x", - "field": "month_date_end", + "field": "month_date_offsetted_rect_end", "offset": { "signal": "0.5 + (abs(scale(\"x\", datum[\"month_date_end\"]) - scale(\"x\", datum[\"month_date\"])) < 0.25 ? 0.5 * (0.25 - (abs(scale(\"x\", datum[\"month_date_end\"]) - scale(\"x\", datum[\"month_date\"])))) : -0.5)" } @@ -70,7 +85,10 @@ "type": "time", "domain": { "data": "source_0", - "fields": ["month_date", "month_date_end"] + "fields": [ + "month_date_offsetted_rect_start", + "month_date_offsetted_rect_end" + ] }, "range": [0, {"signal": "width"}] }, diff --git a/examples/compiled/bar_month_temporal_initial.png b/examples/compiled/bar_month_temporal_initial.png index 9cf91fe5d37c9fd295a67583a56a5b526aa72f6c..a156da5ddec4c3dd56d77f16ff4843ccaff48dc4 100644 GIT binary patch literal 9465 zcma)i2RPOL`}a}eARIFx9IKESl4Kl0WoBmYkv+0!D9T7knW2m_vvcfFh{%>bj*=a+ z|M&U+e!u7WKhJgjpXuYC)K5!r@p0ca(&N>&L zG0A%QH<-YItEHu7pvulU-ptMe2V)4lSJ^n&`=sWYp=KZFeF=vuC+J$!cy;Tf8>-isZu>yeD4J z`CPxNVeKCj#B+OLSG(#?+E`0_zxJ9he5ybE{k=0I%z*__mCo-R_twb;u|LYgf)Y+$ z5T~&y^%>o=v9X!$OycVtuJ_-4^!PC`YbyJEZQGp^>C?OpMxGlZSC;HMB2m`FE%SlFc}V5+LDNfGtLtqBi7elef<2` z(df{)uc%EU8lm>JBGZI~1Y!Rj#~(Fr^0k+Rg{f}cxUzcXcgL}6 z=*Tv1DO!59N)orxd)0@-a;}t%#@)G%3?R8>MjcU@~{}bB}XPpvjZn<&wrn2?;bRs;Xs9 z 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 literal 9068 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 PXAmkk)f9>_=E45~riW3a diff --git a/examples/compiled/bar_month_temporal_initial.svg b/examples/compiled/bar_month_temporal_initial.svg index a7b19c189ba..045c2bfdaba 100644 --- a/examples/compiled/bar_month_temporal_initial.svg +++ b/examples/compiled/bar_month_temporal_initial.svg @@ -1 +1 @@ -JFMAMJJASONDJdate (month)012345Mean of precipitation \ No newline at end of file +JFMAMJJASONDdate (month)012345Mean of precipitation \ No newline at end of file diff --git a/examples/compiled/bar_month_temporal_initial.vg.json b/examples/compiled/bar_month_temporal_initial.vg.json index 73328c7f46a..a877f6dcf01 100644 --- a/examples/compiled/bar_month_temporal_initial.vg.json +++ b/examples/compiled/bar_month_temporal_initial.vg.json @@ -18,9 +18,24 @@ "units": ["month"], "as": ["month_date", "month_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['month_date'], -1) + 0.5 * datum['month_date']", + "as": "month_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['month_date'] + 0.5 * datum['month_date_end']", + "as": "month_date_offsetted_rect_end" + }, { "type": "aggregate", - "groupby": ["month_date", "month_date_end"], + "groupby": [ + "month_date", + "month_date_end", + "month_date_offsetted_rect_start", + "month_date_offsetted_rect_end" + ], "ops": ["mean"], "fields": ["precipitation"], "as": ["mean_precipitation"] @@ -47,14 +62,14 @@ }, "x2": { "scale": "x", - "field": "month_date", + "field": "month_date_offsetted_rect_start", "offset": { "signal": "0.5 + (abs(scale(\"x\", datum[\"month_date_end\"]) - scale(\"x\", datum[\"month_date\"])) < 0.25 ? -0.5 * (0.25 - (abs(scale(\"x\", datum[\"month_date_end\"]) - scale(\"x\", datum[\"month_date\"])))) : 0.5)" } }, "x": { "scale": "x", - "field": "month_date_end", + "field": "month_date_offsetted_rect_end", "offset": { "signal": "0.5 + (abs(scale(\"x\", datum[\"month_date_end\"]) - scale(\"x\", datum[\"month_date\"])) < 0.25 ? 0.5 * (0.25 - (abs(scale(\"x\", datum[\"month_date_end\"]) - scale(\"x\", datum[\"month_date\"])))) : -0.5)" } @@ -71,7 +86,10 @@ "type": "time", "domain": { "data": "source_0", - "fields": ["month_date", "month_date_end"] + "fields": [ + "month_date_offsetted_rect_start", + "month_date_offsetted_rect_end" + ] }, "range": [0, {"signal": "width"}] }, diff --git a/examples/compiled/bar_simple_binned_timeunit_special_chars.png b/examples/compiled/bar_simple_binned_timeunit_special_chars.png index 3af3f68f654d1e55bb809559ce821cbc24793ac1..9eb694864c1afbe86aae4a00e4052841d7793973 100644 GIT binary patch literal 13753 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 literal 14838 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 \ No newline at end of file +020406080100bJan 02, 2022Jan 04, 2022Jan 06, 2022Jan 08, 2022a.bA Simple Bar Chart with Lines at Extents \ No newline at end of file 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 2fb873170ff..a708222cbe7 100644 --- a/examples/compiled/bar_simple_binned_timeunit_special_chars.vg.json +++ b/examples/compiled/bar_simple_binned_timeunit_special_chars.vg.json @@ -34,6 +34,16 @@ "expr": "utcOffset('date', datum['a.b'], 1)", "as": "a.b_end" }, + { + "type": "formula", + "expr": "0.5 * utcOffset('date', datum['a.b'], -1) + 0.5 * datum['a.b']", + "as": "a.b_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['a.b'] + 0.5 * datum['a.b_end']", + "as": "a.b_offsetted_rect_end" + }, { "type": "stack", "groupby": ["a\\.b"], @@ -66,14 +76,14 @@ "x2": {"scale": "x", "field": "b_start"}, "y2": { "scale": "y", - "field": "a\\.b", + "field": "a\\.b_offsetted_rect_start", "offset": { "signal": "0.5 + (abs(scale(\"y\", datum[\"a.b_end\"]) - scale(\"y\", datum[\"a.b\"])) < 0.25 ? 0.5 * (0.25 - (abs(scale(\"y\", datum[\"a.b_end\"]) - scale(\"y\", datum[\"a.b\"])))) : -0.5)" } }, "y": { "scale": "y", - "field": "a\\.b_end", + "field": "a\\.b_offsetted_rect_end", "offset": { "signal": "0.5 + (abs(scale(\"y\", datum[\"a.b_end\"]) - scale(\"y\", datum[\"a.b\"])) < 0.25 ? -0.5 * (0.25 - (abs(scale(\"y\", datum[\"a.b_end\"]) - scale(\"y\", datum[\"a.b\"])))) : 0.5)" } @@ -94,7 +104,10 @@ { "name": "y", "type": "utc", - "domain": {"data": "data_0", "fields": ["a\\.b", "a\\.b_end"]}, + "domain": { + "data": "data_0", + "fields": ["a\\.b_offsetted_rect_start", "a\\.b_offsetted_rect_end"] + }, "range": [{"signal": "height"}, 0] } ], diff --git a/examples/compiled/bar_yearmonth.png b/examples/compiled/bar_yearmonth.png index 88354b541e7b3c305eee0aa23fa47d66cf76afa7..4ac977a0c831eeebcdf1112f5588ccf1b148647b 100644 GIT binary patch literal 14127 zcmcJ$by$>L+b=u{3IYmZpdcaL(%mWzgGdPo64H%yDT;^^(j_Gz3`jE|t$-jU-6hgp z()FF!^S=A|-o5wV`@WA+kEv^2Yn}0nbAr@VDQIx_P9D@V2Kyz_g_zl>?>OCLWMYyYLV`OLkQq(4lc^Ld zuc%l*GLm3ld+_$*hnp=0AyncC-@i-I($U=(dBIE&AVYB%zn)MDJsMUjbN{}_!EEfM zD_7=PquJUM1;g56@8N9pDBa_BTho^fzLnO2eDP`U$OG|5Od0=25BQw*I7gySS z%3@abwp5mC(n25RT8UZ5XU$x##-BeQ)%p6=H#E%dnVOlY!@oTa$10pZN%|SsieDz@ zd-nb1xe_kM~BO#iOAMQiv;%p|0C%x;s5h^<*lTxd;)Oro=a9=7PWp9Sy=3d0#iG7pLlyQue49qPr0V39qQf1Oeb}-V8~3{mUupfS z#P8iod*>W%b;2+ct5(9a(s~cn>uCNycK$|k9Y@O5_YsHO_6yF7KQ{*Z@lm=}L)?y1 z2T6Lh3$W78kfA6W&hb!96$=-g=J`bT33SLwsJaPTLcadak?_nE}!j5y7<`?yzFv6FZ1`@hJ&?QTQ@$x0-M6gZ_)Ka zw{-*kr%!`IL+3gr&oZ3nf6vU!bQKs%R##V}`o9}Y`s^hM$Yg8%{7Jy$O!#Vk-jk0{ zBm{?S?Y!DowVu*66%ILi)UofDz|rqqs@@&j_0~__Pjh@IbQPAKl$aH{uIm2#_iw1o zmZB|&V|rt%0rlnGu~5N5N+YDQDsH3`|VZtE(ZAk=Jsy3kK%q;5`}r za=PnvXA=4O`O5J;7f@_$Y!ML=TwGi<3=9FBPb;~s`j`*Qo_M_ejq@fTAiC=G{hW4r zMux`0dVPJp)p&kc>&N6|&a{RKMfXk_e{{>div8xhO{~GRTEdJ^$MnBqU_vhguyWxgO5G7tmi_ zWXmB(r$H}X_41>IrU``-ugM7i4e@FzhR{B!q{eGw6{R-A5fp-U8<0#63te{^(aHMP zHv8Xuaa-;uU;eRYgC9%%Z|XSvSEI6-Z*59^%KCiL<ty!a;n~S^7$1fg? zedEaF#=tUQJ@fSegr)YA$yn<_rm>zo#aiWw2Aui^76H-SAUQhdQ0o*#Eo4J4-CXJ^gF>0;9SQ|v*KgK zs$)zW-(AJU!^`dPD-FbxCRw@?GT3+ZD)Ll`X$$GnU_n?)3U!jGn_2hghx}JlXz(>* zw;w;&3?pg^qeee^bQK5his|o9!uyAZa6VH%o%U0_ybq2fk;j%4u1vqB*a>G%o2{*_ z3bbAc35l^I?L8kA=JMss6)zS^QB|(1fB!A^3JD2yRXCgH;W6RM^lRpX@novE zM6+qX3ks6PXhb9>smRJ+e0}k9kL!O&ffn<1B1(~{NG5bn$KKW!DHMN~k4+g@E?t_M zX^AYg8z;Ya?_O|lFv?=0x?Q21_n16u>}S9^vdlRph{7Rdv3Har988>z5KmD zSNlnk@dbF=d*cV*--Ubl{mLfllNHW^A3u^D?yf39C+6nU;P^YIwRz9W+gps__@_zLa`;kGiEuay~R=*!Ab!fDZpv zr^p|Qg0@v=n5&|Y^#FTC@;8Wq)zR`S?E(W75rsgo&(SWo^IUsY&{F^w<@J%m?o*s7 z6^dal%a6^x1&>YCnHU(l;aI+?Cbcefr_ZM6Bqmb82fDw#s`1+6dG;NJ0!-EacFks@ zS{R}YO;JT7wim(cB<#mV{&K9|I43>%OH)Q@NXXAlbpP{CNZMIscgQ0T_cy2Sh`e}5 zNXCiEIX9|A9dzy%1x4=VP)_{LMA87#O!{-rOw|ONn!4ip;O_60&#TGFH8XL#?JQ|d z_#WAYQi-!p(mTI+p+SL5bN8;aE%PY!ImgrEgXRIviSHxmgtM=TdSA{#=ld8HMUN)C zd6Sfaf(^}f{k{47^vc$c(a{WNNy*8fwaLjN)+}!swqE%9N^EWt>q!Hm8Vurr5B~DY z`tl_rUXLAZZfdHgv9Yn75F0CJZ2Vd5sg8~g+jE_gJ%L9pIX^fjZjGqtrM#M%F)c2k zj$z^82>DE!DVBF=Cq9NgI5_CvdSaz)B_}60;l15KU|8pKB!IMF-FwV%)+Vh{EGr|} z4_{OgTeksJ{lcU6M!;=TQxmd305Dq$_7;2Ri|it_@^mv@TMby**}sk*^iP@TbEk?h z6qlBIcUk8wH3)EX|7dBsgn$0~_wRo&)9x`m#}4}!1=n(G`>x@YdTcac4mXRiSf7u5 zIn>nF*48VlwkS)2kmR63hvlhv}&FenRYkgY^w3rym$KDB9>uOEihMu7< z8qJzlc)k!i0>oILOqzR|7yS*Ig4DPb0DkYOg*k2{hiD-nc>wJ_-rA~2k$4059CuV6 z&B7;hRVyVWr4TtYX%Z{dOx3#Wt*xO#Bb?LIQv@R~_GY!Yl#Q0#cM?k;r}ooakj}1F z+&hAF_iNiOvl*^W7WcZvYZk2aI+tbM{-HC2&Q4sKbK6^39E})7NY>h8_4)JX@h@G%1PQ_N=tJa| z;6tjPgnk5FW74T|%@gy3CipVPNX}yi3vZx|7CG77-ObxQG0A9v zJWon3uHFy4lIQsbkiZDG>XP@rhTEtFzEYzTe;7hY&fcf$K*qMv@dabGJrCv3}ZEyP-wd|VR~idSwkER(C17boJvy12L~Br2L4lFNV} zU9?@GXS1m3y<-%gTC?Kj#$17d7j_%yKtW{s2o7} ztxwjWU0nqXeGf9l3V;e&y>5zjIo@|H0|>giI$Ghe{Y9(}61$-GkU&pQ4=Cg8tLzT<>!gn(cAV$k#^qGh$z4G{ZIk zO7FW^%eEY?Z7>B7qr-oTVKrtZCfkkY_LAj(5-_|n%ApqaImyxfPWEOApv+T!{f&SB zOrZfVM=Rc;q-<$x%iZYHi-hljEcJi=8i!6cSdF4U7hq}D=082a$$+4u0aze zHq{%FYi?$eu`&IFb+~A8F;$bkHeS*_R@R8K(6BHj$upyN1qFpp zv4!LGqs)wq2W&@E-LKVbY}f+=hy$;x%FDaYNzYS{-+TD*AsTDQXEqNQV{yDnFg!f` zTV>_>!e>9uAD^70RFFLaFn;}g;HAtw>G_h=(7S)7)f1l#8$Z{qPse#RfAjid5fXPm z-i0OHS*)*r=SsvbZ|$;D43-eN+8JFX&Th&oD=%l#4p(?e{bFKB=(-w%6VL=M!WNW9 zSQ*65J4NjccKFQ6Fcu$ir7atMy5>@ywE{QV&1;X7N%a#A6H{P3uesCAudAv_A_0Iu0Hf3L z@$h_0!NP5>Dqu zL`Ao|<)}5k=|f8CR5;C=Y*X-A(6A$GYT9 zIrmg4=F>54sD35!%gp#9`K9@|CW_~IdgW%oKl!hIpuz7?Rlh6(JkIw&BH3djbtXo} zE$Bv(@$oHC?wOgh6Qc(&NULcZsZZAVr3{ytJ8#dayd}E5)u{CZsxIY?3Fea0(gzXr zH#u~1zk|laEhrdkXg^-bpW?k0v`Yt!LXlP3%FWF!fzPrYFgQx+#lpvtWq@sbnDA?NAC`(D9L|s?@td>vC4I29SsG&78OOrr7nW@ja<)5zM zQX#i%^Qf)6S}1w{Q>E|8p>m1@C0qj1`Zb6HfUx;*B(98gSRAZV*?!{U={rf>bz~VP zCQo?z;kDgA61u)%#U1azD=Y1gk8lPAF)=ZSR)>~2ml~!uC`$soa);$@jEksy`LL@#BQDb|1Fo-P@M=QL#SgW7Gw|T8-Wu>#Z z+5BpxbgFX{mYaEx`knaDa?@!7A|i-zI8b1SHZY)qLhxdt>(y&KVuX#VrAP2O2cbLe zO7I672dHnKM+nI8_IBJ<=w&aLM5-X{OrHn&CSFM6>~TLFul8_OR#AzEh7rlALJRQ- zuZz1NtT=Q zha_*TQjf4gxKkIlUr@Rek~3t8udEMu56I|;5%7a}c9S`Z)c&jQ5NdAlxk+JJ_Q4Xi z{sTr`fkS~5O5PT)wVEdN>OfxN!1-&qQ;V>vAX9+?B<%S2%?LEp0&}Xg`y{0b5g(6M z26}rN8h@q6(B<4Fj})P&e*-e%pT)(Xs-p(!G9|o-0(k|6OKxjpKZb{I>*?*Nc9oQr zJYv2+G&Cgke8@lbiMlN3*>*sVNJ&xJxhlzcwYIDML?H^c=H`f+1jIfQbl+&*#r&sL zapGPApdvw*@EFxM5IgTI_1lb=U8bX>L(+Xd#qacAH=+MVoMJySg_t`Ro7UH717DwP zx%WU2-Jr?~B)TmFJj=d%^XaB)suN=8_9Dv_6cv8X8F12h z@)fK)&9X%>KKt}?z4I+L^t?BsU1^wN-X|2mw-()?~|2(r=5Z2neJVDi( zT=%+#js4=^g^4dtv9T^mO&Plz8{a!S3v>m{fP)BZxEmRzjbz8(xGZv({p*)}PlskK zDw^`+(dMh~SkVPuD z@cQve{my(5@k{z|(x*>x0=Bx*0&`1CtsvFUEFSHx=Z2u4cBgKKIXOEw478Ri;y~?g zM&+2VfSN7Ee_9P4(tf0r#o-~x+!kw!7>3BqtlOy_dO%Yj-)%J?Y3Sia@7PjB@RHmd z9nWc`8!Rm^_hu+u`;(v>Pjs28K=U|*CobXbBN3Xak`msgChoqO)a{%TQv7TxOU$m) z%R7dUW?h4Im&A@$6XWP(f`kdwPJ}8dD~&DO!{$A^4%7>(w+L!$Ypu3H7iCpm`uo=y zBr|4KR$3^CfRR9syTxOQ5145hvP|d66UToGk81b-erSE8#&EYAV>*}ZE3H@6SFpQ7 z$jTD$kzqz=9G?6kFPf$4?Y$=FKM5Hcio~468j{L4zsQoufsK5n`16pi_#}ui;rtL zw%0H(-(godm~H6(&uTIUS(IYfr$8V4s$W5>t*yN_QKL77pxNfh$-1#YfTpyEf^2fC zzE^Jx=k!+pjhHX7XHT;OMxH5H49BAYC>nC@j-+q3DpusZQVV09ybDfxQIaO;Yxr0t z6ZKp>#)Zh37}@24yeHM}+$eA=`aK<@vA&%*>;jl@HtGuY3T7>E(_A%kWS>}Bv6`8g ztxVRX0O6ko(0Y8ZZA~iy9X=bdHZ&PvI8%o^%igC4^T5u*eOY@!AoElMvlc91H}(!B zF^~!wLD&U3dIK7fm8gI;NwPoG`UvN*V}jG^Cutk7cb1^Q*b0F%aNn&c0g7yGQoRV`Qn_$jd{R1hmBUBp=T#6iuYLc zez}YwA4y5-$B%nOG!vCca9wUNx&REUJKj9uYq2^ ztFiR2%COG&-%`JlZ8DH}t@EU~Q^Oi@eXAo_lb`Qzc<+t79Rq*>JiEC&YR_xgL$9pd zNWuehq^A4cDA;IWlBaP{U;yQZLh0o-YyaNg9}SFHyHqFSo%}C)M*grP$3^1GK+MsV zGiTz-k{_UwGKv<+Z=d(yh~i83r64Ca2Hg<)Rab8>ous5;-Zplm(0h3ikCFg)bC{yD zIc~Uae>^I(!Z}w~C!S)^>4E0nsG&47{iT;hJ}F`{AJn`cK>;Dxp6u$uVax02+~UwH zLs(1uC*f<>*2@XOkFx1}MQ^{6!6+^njk69ermJnkXAl*4!fX9pSDl~V+shQPfD3`m zoo}S$kj~C!b=f;=kLUd)>?~`W?4Ge>6VcSI>n|6DowQbGW^*ZolO2TVv_&yq%hqX z6Ig39X!Ox%;+P-rXzguEofyDFUZj%=@aQrX%tJPTXVWj#01`0HFlHy8d zHWgr?HMT%&eNtuHw45Om z*EcjXV?2Bx*apex6!uM>R!{JGDVh?v;VxSgAu`}z%W8%%UuoV=Y~zHWP1 z%w0}S)x6;6lPM7qGFk%-ds$golDA$MFtD+GxZV&L;;^;79TXN8oAu$t2e71KvOo|A zsW2>B!Lut4hX&e7o)LPuv&N?Vd7J+32{0W*dh5ktpupa2>-`@dO?X@!Gdgzs9%!dl zM-L-1ns=1|-7C&ET$KgUhy`RZuDRmpoJXfyb=JgfQBZff>F5%2YW0Zs9uJ?WYiK-B zRt^@+Q)8Yn@JY##4eJZLxeql4;nFn|S!n7Q_9vfr3)qqKzUxQMZ$%&0{zT+t;qo^K z9Al^vXhDlE6kBc}oeAJUY6=Ppk4l3YPk>)7y?`V@!T!|?K-LPoNJK>B;NqhBp$G^# zI(QfWj>&XjUMbSi3JcXf9CY*W*^TKSduDHMUoh~iX<$HWwKf2Y;}u!Eyxc-9WsO-Da$M@lielP|yqyG1UcTwI*uH5}I#Q?YVHdFM`HX=zl}>dH#C zc0sb3t%=Efu!?3aot>TGlCz7&M?br|)NJb(78k|K3>ESG*k@;EG6uAz{`(7Z51+Cf zjk8u628V?7JAvSos-6_tw-A2VuWiUMAJ@H&LfsrfW&wD3NMWOmjg9v~d9rre_TP}n z?#?)cfD8%=d5F>I`Q~WC{VSQqLOMjUhxD>Eu5{IZY~TOk@cx&p|9{xN|1X|=JdLPJ zt%8%@4S-0jJbV9Zu~)8KF$2N;*6rIxW*y`M`A_vC6Up9?$%HWO03(Z+^pgO2+X%Fw zuTM&3ZTaM(gFFpkbono<|AGb`zpjqX$B!S?B9Wnm-0lojG+LWtq!+4WUteDWku=GR zEn1)AgO9x>+VOkSj5<>C-CFd`85Y!V+SL88{ zRJpB>T$zdw;_16wsrFW`e_`An=^?VJb?ajl4JSu?P&Pc~T*hm>VyBzK9;>U@{|cwG z94^j0)`i9cf>y(iAFlw2rxg^4T&-|jB}Wv?zP>2nfKPq>z{ryey>s{8Jz|J+F>!IW zF*``u*n5U^AnAC_@jQ@~MR+|Fh}!_PpdUpVDygcPbta1g+TwQn`v5U;@CgVImJ<~f z#brMsc5nikc|&Js80b19Aj%dRHL#A^ft2;*$B$qt@x%BwhqF_kP)bo*u(aspLNj2v zV#^xtVr9IFOjJ}9%&vQrL^ZxABFIXIhT=fR5-biNJZ5fB_)#Y~uspibboW~{q;r#8kJ-QTsIh{6NO`b-NB^CU7Wr8VMADD#A`?>9%sg8NwxgwY8;#3_e!rLa27a ze3?q@7I1OsRIL#VN;A(T_W$4@co;&ye*kOVN%c8B9gK>fP!vzO^Dp!Jrn7_G1MTwK zwQC^%Qr?0Qo>Y;9=AS>)G*~NKmTv;Y;@FG*JvnJ8aUSgJ66--uz^?V6NW!@r!AJ|l z&Y!utCJ=rLOG>8y{CEvAG!HBd>yjkqp>7bHnaLpPwr2Y4<6ZK$kBNzG;dFBNgoF*_ z<4KU7m&C=zX=!P{!G!?qHcU>YT&0u!v$l3Rw1wn!xwW0$Z&?0qV3v?gUjX8=KPkoq zyazrtJA1HMM?#VFylPKR54fP&Bb5eTtNaJ+0Pl+|x@kcO$}b{%^5n@KVW&3$u^^)F zQ6I?2$h>?1UIr9OkRD{isPbHK*<2QT7%GS&=r_T;>`j*=c3m0z0V6sd^GR-M%-12n z-T+Fw1s>Dx`XpLMXJ|T_;pL?7Q3zb`X)j(1yYqzXfwsq5Y&9p4)_{h$BO$)$?G0LCh`BBo_2I}G=ec8o1wyUYChj#(1{i@3PdL^;6Lx* zzo#PBIWzhNNC5gT&eBdR7{Zo=`IG>AJdD|&4{GX`s6_U(U4m|Wx<5^P3ZYA;M%gjx zy{!VCzrtvlEi$&%(%$~{pDQ&7A|e6GV&LLZGZBN#Mvx&gZ2+ZTD~CwXZj6SJ@gh(h z#IOMq2-V;14HCeE2M@Y(G}&Ot3-tF_O*~QM)X=&Yy3%l9sKVEn9k|3-!@6V`DAQuy zRR=}zE(5~_b8~ZO8*ShQp|XAVK|^*?fBe|8C*u-CXjVqX45sy&v9Sz{##DIiCA~qthF{wpnXusWPp=<3<_k5#Xzc987g{xuniL@j|YpNgXxj0p$xNWz=Av>_c42WtD~_H%)dZS=6SI^5CXN3 z8>VSS%50U?)YJl&E8I6}o5QH*VdxDv*-nyOuPm5BDdw4(nHFY9=`z^wPy=I*p2Bbe zH5{}FT#e7FZy_jXZhpQQH0W9DnJkw3&`ZIkrsd;{lJGfn03(VuI#Z;7e{l~`)jrU) zI6g~KSy@?nCZ@Imew!h+)6t%uh_7G2It^aEbEh3z;_q6YBQ8NfyzdA~I)O6*#AO-G z1i=J)=N9CHiM_ochUXZ_3pDMwAlLvz`CQgO!EdF3;c0AaM5++PBt!F)I$xjSl9K*b zHTXx!CQzae0N}ViwoGAGuM=u1A7_cjwi$Q=O;Ie5xp;VJSy&W&^NNqAK&q~W;tTBE z*wXS+_U`>*9x+QvnA+O}c?ppv0dK?pPFJnhngG=#-)n|GA>_V6bB$5ieQCW1jxS!+ zjWdv#x~Z}80q1?qIwdecqtDhxuxvn%8$c8aYO_!Zp~md33^zckwdvW{JWP@B=`&!f zY1pTS${tK17@FdHcnSKuhc9&A*>qzN&>(P2EqmvJmKBwh8k(B}@6{a__s9vM3=Iuy zffmknrrb+$(RjG%T6eg_=J{{oZs*>=e~puq)M`(&F5=>L!QLtsXk#?A_GdY)q47et zzAB&a`~WQpQ==7sLIR_Jaoi?D#m_&CJbn!&we2|sF7CyPIjdR4?d|P-c2-(HVRwcr zUD!Y=Nr!mUQS=?wpQ`>tkP^hJgJ< zFgPv0>vZ2)bMi_yG|ItjZmA;hEz3NnI)f-!>V zFaQTS;RJtYrT8j>4F>~}QTFQaXE4y)$klVi^M-_!R0iyVTYMHIkH09VnRh0CHK<7dqng*a z5g$PLIi!OkAVXX{31Xu+SNk5|qy9C{v;FC?_GIxYb#s;E zK;C82)R4rfAg}~bU^`mov*Pg_ARdegWMpMUCMT=Hdn`uFIBwp&i3Dq5As3X|CP)dk zGu;#sm-is8K!ZbrxuTN5_v7c!fQ1E%mDSZ*m-vK)9`N3r+WxGsBhz01HJjVoK7a-X z1F=AI1?J}F{;iIZWvT~7M@JuzRebvv2NEn8o2g~_TVNhh+kV~_ z(;|6mzB7f1mewDlAOaQ#Ru#+w3ESD(LE7F`ApMWtYf@PJJ4F%=%okoZ2IH==xfx(a z188$x{QQ{!TEI<2e9Wp{aMzGbD{6ZQ%f_Cl>DmF1XH<@p0xbfve-0#+SbO;-37-VW zaFG`aQgEL@*1lC#VDicVr~FSA zI8Y3eK!sNQtel3m`X-|Q{7qs0&nY*ZY#e}S%D%_SXn7doD`%=dX$ZFrl(*s#_1K~Z zw1o^;4D3(D#odCb)a0T3Djv{##I?TaYz}R2lKp_$vhLnq1oUlH19~ii36Xq*8r?M> z4-XH-^M#U%`BLAPLtgM`mv$d&0rFTFtJpRv7>A)O&`=^15?HmX7YFhv0s;b@D8?a- z0p~u1sxsS3&xB5<=i(xH{P^+PE0hot@@g)8g@9pCcMANbK*I#O1@;*Uh^pq`z@UJI z#DW0`^HlFav<4Xl0e(=+z=sM53k%aXngPiN(5bqP&O5NIVa$#XG>4Z!#GqYJB9nSx zv;mTv9kAHm*FNwHQfIM&h;$y=Q1cnWDFX3sW`d0#e&mE z$8Xgqe?9|7AQhpDN95+_;>v@|q7Kk7qdQ$rNikEMT+r@Q1`N)*EObd*4Hc%D0?Rx& zJdCM2;kO=;fB6rBQ9goR0gSkaii(PvwKYzbXhlqRw!BqW>Z_SQe`ui7C?c>N00ceI zJq&DH1OTBvkpGak!Dovh7m;Ck7zI+{0i_?-$rKP6s01&;G+_)1qY%j$k(Za(hcGx3 zWI?#{FmoRXGr0^>TmSw=A-9J{CyPCSPqenTM?v9cka7Z{27;Cz2CEi9Q-YUzz!zeW zvg*qY@5_HGssIfcMzx|KAv2&lDS%)^N`t^1tAVfa;4=wZ!dxaP4c2a4mj~Dm3fap_ z=lRe()7AwwjOP#lkvpZQR`oz#n->tkrH`t~Vl2^7QSwlzHI$Iq@kO8mJy6jzZ?I{} zznp;)9{6d+LpeF6m&o-!e1M6EqoB&F_Q3BPGJyrc3ovx%R4xf~jh8<9`}@xzgIUq2 z#m1m(J%A(WrF4r;gFuhy%Tyxs@SJUpRu7{Rr(pMpZig72mpq7>8IspcR_^~*}NKZgS>W+>@rclJr^}w{QA&a>9Qy%Ez$SFaL z!1%KM`3$hCkwbtPxQ{3djAusBiz_b?OYBR*lL_1=Z*k>;q-n670qC4rjb+>cshlA| z=B^(VL~rEe_D?cHSc1=yYlmn>=(ViLes(djJHXwL&iLxpIVfjya3U{rZuEnNd)<9~aVQiocoxU6dn`YPIU?*PgrYscaLgfq(zE-24uln8U-v>dht!t7Rx< z5}ux(03iM@Exiv9zlux>z;cm6{nb?!V`JJ>tF)bLz^0!I3c^64fnxp_cI132lpn~s zr@oU=jJWyu8bL*e7FS(U1L*EYQ`1|h15t{ZV>YFw{hEts&%GY7tez|VS1aw2^e75a zhxy;mj^#+{qDfnnuK`3q`QYQhpp1MonCzYfU5Xogf_$&K0babAd&rpgR7*Z zp9h4cEk8>f{$#b?8cdbO0q*z;#=oJA=znua8(Rf>bn7KFt%J7F;^#_0I6F>Hj<^K` z%r^e~;Ip5&qZVR*lZ50u$mBCQ)qW>CWWY6!HyVf`0*bv4oFtAn?w@X_oH;;*G?!U| zjdLb$(M1Ct`P@#~Z0b_@T=$t$8=JT~rl|C46Zjv{yx!{nmJ=1goq5X{wril?ZLYJ6 zEk3|`{*;o*3Y zZ$5zt5A$I_!pxzzeG>PI0p^X&u0jU41BPiEKYe))2Q?FlQmQ#xs{%>jBj7ubDP|9> z2fqGjZG8_+s0)6{^C>B5b9a{!Mp9rn3|h+mT%vuPkRvT1!a*HhP=K`Z^;;l?*v2E< z(-Cl#mBo}OXy4S*5`_E`31<6{7qQ-!Y*nCwCBZwiJ+o(^Q5l(<(i2bYi(QjjvJ!aS zdObnFwiR{*bb@A3%mDKszat`ov1njjbtk(NK#HmX0D42?-3nI)HGtRrcOiJLq@<+C zFNYuoS0-u_;Yo*+Lzn9W7a$Ju3SR|>g%O8_h9acUN}(T=0t8{L#;~rk%z|`BPf!00 zt{yMsXq@SpfZ4V>`fQL5s@S?8gVZ6kU!*2LS2sZV1`0HE73`g- zpXcp!Ph#4?2Yi sT_%D~-v9his4;}+fBU`B_SrdM9hVY0?$8JD3pkX*L)8cQGSB?~KlaO0l>h($ literal 13388 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 \ No newline at end of file +Jan 2012Jan 2013Jan 2014Jan 2015date (year-month)051015202530Mean of temp_max \ No newline at end of file diff --git a/examples/compiled/bar_yearmonth.vg.json b/examples/compiled/bar_yearmonth.vg.json index 3427f5e5de3..4886b6c607b 100644 --- a/examples/compiled/bar_yearmonth.vg.json +++ b/examples/compiled/bar_yearmonth.vg.json @@ -18,9 +18,24 @@ "units": ["year", "month"], "as": ["yearmonth_date", "yearmonth_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['yearmonth_date'], -1) + 0.5 * datum['yearmonth_date']", + "as": "yearmonth_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['yearmonth_date'] + 0.5 * datum['yearmonth_date_end']", + "as": "yearmonth_date_offsetted_rect_end" + }, { "type": "aggregate", - "groupby": ["yearmonth_date", "yearmonth_date_end"], + "groupby": [ + "yearmonth_date", + "yearmonth_date_end", + "yearmonth_date_offsetted_rect_start", + "yearmonth_date_offsetted_rect_end" + ], "ops": ["mean"], "fields": ["temp_max"], "as": ["mean_temp_max"] @@ -47,14 +62,14 @@ }, "x2": { "scale": "x", - "field": "yearmonth_date", + "field": "yearmonth_date_offsetted_rect_start", "offset": { "signal": "0.5 + (abs(scale(\"x\", datum[\"yearmonth_date_end\"]) - scale(\"x\", datum[\"yearmonth_date\"])) < 0.25 ? -0.5 * (0.25 - (abs(scale(\"x\", datum[\"yearmonth_date_end\"]) - scale(\"x\", datum[\"yearmonth_date\"])))) : 0.5)" } }, "x": { "scale": "x", - "field": "yearmonth_date_end", + "field": "yearmonth_date_offsetted_rect_end", "offset": { "signal": "0.5 + (abs(scale(\"x\", datum[\"yearmonth_date_end\"]) - scale(\"x\", datum[\"yearmonth_date\"])) < 0.25 ? 0.5 * (0.25 - (abs(scale(\"x\", datum[\"yearmonth_date_end\"]) - scale(\"x\", datum[\"yearmonth_date\"])))) : -0.5)" } @@ -71,7 +86,10 @@ "type": "time", "domain": { "data": "source_0", - "fields": ["yearmonth_date", "yearmonth_date_end"] + "fields": [ + "yearmonth_date_offsetted_rect_start", + "yearmonth_date_offsetted_rect_end" + ] }, "range": [0, {"signal": "width"}] }, diff --git a/examples/compiled/bar_yearmonth_custom_format.png b/examples/compiled/bar_yearmonth_custom_format.png index e68fb7c90b51d7a60fbc04817b8fc2fb3595f9dd..e1b56a7d9d07b032ed260150afdcfbf235ede252 100644 GIT binary patch literal 13859 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 ONQlb5$Pszx`M&_kHUc^T diff --git a/examples/compiled/bar_yearmonth_custom_format.svg b/examples/compiled/bar_yearmonth_custom_format.svg index 3f0c17011f7..1916da65ed4 100644 --- a/examples/compiled/bar_yearmonth_custom_format.svg +++ b/examples/compiled/bar_yearmonth_custom_format.svg @@ -1 +1 @@ -January of 2012January of 2013January of 2014January of 2015January of 2016date (year-month)051015202530Mean of temp_max \ No newline at end of file +January of 2012January of 2013January of 2014January of 2015date (year-month)051015202530Mean of temp_max \ No newline at end of file diff --git a/examples/compiled/bar_yearmonth_custom_format.vg.json b/examples/compiled/bar_yearmonth_custom_format.vg.json index 5463902d4fc..a6409f322c8 100644 --- a/examples/compiled/bar_yearmonth_custom_format.vg.json +++ b/examples/compiled/bar_yearmonth_custom_format.vg.json @@ -18,9 +18,24 @@ "units": ["year", "month"], "as": ["yearmonth_date", "yearmonth_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['yearmonth_date'], -1) + 0.5 * datum['yearmonth_date']", + "as": "yearmonth_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['yearmonth_date'] + 0.5 * datum['yearmonth_date_end']", + "as": "yearmonth_date_offsetted_rect_end" + }, { "type": "aggregate", - "groupby": ["yearmonth_date", "yearmonth_date_end"], + "groupby": [ + "yearmonth_date", + "yearmonth_date_end", + "yearmonth_date_offsetted_rect_start", + "yearmonth_date_offsetted_rect_end" + ], "ops": ["mean"], "fields": ["temp_max"], "as": ["mean_temp_max"] @@ -47,14 +62,14 @@ }, "x2": { "scale": "x", - "field": "yearmonth_date", + "field": "yearmonth_date_offsetted_rect_start", "offset": { "signal": "0.5 + (abs(scale(\"x\", datum[\"yearmonth_date_end\"]) - scale(\"x\", datum[\"yearmonth_date\"])) < 0.25 ? -0.5 * (0.25 - (abs(scale(\"x\", datum[\"yearmonth_date_end\"]) - scale(\"x\", datum[\"yearmonth_date\"])))) : 0.5)" } }, "x": { "scale": "x", - "field": "yearmonth_date_end", + "field": "yearmonth_date_offsetted_rect_end", "offset": { "signal": "0.5 + (abs(scale(\"x\", datum[\"yearmonth_date_end\"]) - scale(\"x\", datum[\"yearmonth_date\"])) < 0.25 ? 0.5 * (0.25 - (abs(scale(\"x\", datum[\"yearmonth_date_end\"]) - scale(\"x\", datum[\"yearmonth_date\"])))) : -0.5)" } @@ -71,7 +86,10 @@ "type": "time", "domain": { "data": "source_0", - "fields": ["yearmonth_date", "yearmonth_date_end"] + "fields": [ + "yearmonth_date_offsetted_rect_start", + "yearmonth_date_offsetted_rect_end" + ] }, "range": [0, {"signal": "width"}] }, diff --git a/examples/compiled/bar_yearmonthdate_minBandSize.png b/examples/compiled/bar_yearmonthdate_minBandSize.png index d4ded550f76fd2c852391f17b66fef72f2381ae9..598226774522f4bf6ea6834a325aa81782a61e18 100644 GIT binary patch literal 38018 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

B8{`Vo8L**oo;|X%F=I8)3Df&*&#-LxBb7* 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 TnFnx4kb%L|)z4*}Q$iB}3~am? literal 38038 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�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 diff --git a/examples/compiled/bar_yearmonthdate_minBandSize.svg b/examples/compiled/bar_yearmonthdate_minBandSize.svg index 7a68bb07271..4a24820c6b0 100644 --- a/examples/compiled/bar_yearmonthdate_minBandSize.svg +++ b/examples/compiled/bar_yearmonthdate_minBandSize.svg @@ -1 +1 @@ -Jan 01, 2012Apr 01, 2012Jul 01, 2012Oct 01, 2012Jan 01, 2013Apr 01, 2013Jul 01, 2013Oct 01, 2013Jan 01, 2014Apr 01, 2014Jul 01, 2014Oct 01, 2014Jan 01, 2015Apr 01, 2015Jul 01, 2015Oct 01, 2015date (year-month-date)010203040Mean of temp_max \ No newline at end of file +Jan 01, 2012Apr 01, 2012Jul 01, 2012Oct 01, 2012Jan 01, 2013Apr 01, 2013Jul 01, 2013Oct 01, 2013Jan 01, 2014Apr 01, 2014Jul 01, 2014Oct 01, 2014Jan 01, 2015Apr 01, 2015Jul 01, 2015Oct 01, 2015date (year-month-date)010203040Mean of temp_max \ No newline at end of file diff --git a/examples/compiled/bar_yearmonthdate_minBandSize.vg.json b/examples/compiled/bar_yearmonthdate_minBandSize.vg.json index bcf02a37417..1d8ad70f6a6 100644 --- a/examples/compiled/bar_yearmonthdate_minBandSize.vg.json +++ b/examples/compiled/bar_yearmonthdate_minBandSize.vg.json @@ -17,9 +17,24 @@ "units": ["year", "month", "date"], "as": ["yearmonthdate_date", "yearmonthdate_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('date', datum['yearmonthdate_date'], -1) + 0.5 * datum['yearmonthdate_date']", + "as": "yearmonthdate_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['yearmonthdate_date'] + 0.5 * datum['yearmonthdate_date_end']", + "as": "yearmonthdate_date_offsetted_rect_end" + }, { "type": "aggregate", - "groupby": ["yearmonthdate_date", "yearmonthdate_date_end"], + "groupby": [ + "yearmonthdate_date", + "yearmonthdate_date_end", + "yearmonthdate_date_offsetted_rect_start", + "yearmonthdate_date_offsetted_rect_end" + ], "ops": ["mean"], "fields": ["temp_max"], "as": ["mean_temp_max"] @@ -46,14 +61,14 @@ }, "x2": { "scale": "x", - "field": "yearmonthdate_date", + "field": "yearmonthdate_date_offsetted_rect_start", "offset": { "signal": "0.5 + (abs(scale(\"x\", datum[\"yearmonthdate_date_end\"]) - scale(\"x\", datum[\"yearmonthdate_date\"])) < 2 ? -0.5 * (2 - (abs(scale(\"x\", datum[\"yearmonthdate_date_end\"]) - scale(\"x\", datum[\"yearmonthdate_date\"])))) : 0.5)" } }, "x": { "scale": "x", - "field": "yearmonthdate_date_end", + "field": "yearmonthdate_date_offsetted_rect_end", "offset": { "signal": "0.5 + (abs(scale(\"x\", datum[\"yearmonthdate_date_end\"]) - scale(\"x\", datum[\"yearmonthdate_date\"])) < 2 ? 0.5 * (2 - (abs(scale(\"x\", datum[\"yearmonthdate_date_end\"]) - scale(\"x\", datum[\"yearmonthdate_date\"])))) : -0.5)" } @@ -70,7 +85,10 @@ "type": "time", "domain": { "data": "source_0", - "fields": ["yearmonthdate_date", "yearmonthdate_date_end"] + "fields": [ + "yearmonthdate_date_offsetted_rect_start", + "yearmonthdate_date_offsetted_rect_end" + ] }, "range": [0, {"signal": "width"}] }, diff --git a/examples/compiled/concat_weather.vg.json b/examples/compiled/concat_weather.vg.json index 7db19ec2151..b78537c0782 100644 --- a/examples/compiled/concat_weather.vg.json +++ b/examples/compiled/concat_weather.vg.json @@ -20,6 +20,16 @@ "units": ["month"], "as": ["month_date", "month_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['month_date'], -1) + 0.5 * datum['month_date']", + "as": "month_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['month_date'] + 0.5 * datum['month_date_end']", + "as": "month_date_offsetted_rect_end" + }, { "type": "aggregate", "groupby": ["month_date"], diff --git a/examples/compiled/hconcat_weather.vg.json b/examples/compiled/hconcat_weather.vg.json index 240bcd9e94b..7f15cbe1e76 100644 --- a/examples/compiled/hconcat_weather.vg.json +++ b/examples/compiled/hconcat_weather.vg.json @@ -21,6 +21,16 @@ "units": ["month"], "as": ["month_date", "month_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['month_date'], -1) + 0.5 * datum['month_date']", + "as": "month_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['month_date'] + 0.5 * datum['month_date_end']", + "as": "month_date_offsetted_rect_end" + }, { "type": "aggregate", "groupby": ["month_date"], diff --git a/examples/compiled/layer_bar_month.vg.json b/examples/compiled/layer_bar_month.vg.json index 98c23e75f6c..4f1ab24d140 100644 --- a/examples/compiled/layer_bar_month.vg.json +++ b/examples/compiled/layer_bar_month.vg.json @@ -20,6 +20,16 @@ "units": ["month"], "as": ["month_date", "month_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['month_date'], -1) + 0.5 * datum['month_date']", + "as": "month_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['month_date'] + 0.5 * datum['month_date_end']", + "as": "month_date_offsetted_rect_end" + }, { "type": "aggregate", "groupby": ["month_date"], diff --git a/examples/compiled/layer_falkensee.vg.json b/examples/compiled/layer_falkensee.vg.json index 1a44900ffb3..6579b8be76f 100644 --- a/examples/compiled/layer_falkensee.vg.json +++ b/examples/compiled/layer_falkensee.vg.json @@ -104,6 +104,16 @@ "units": ["year"], "as": ["year_start", "year_start_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('year', datum['year_start'], -1) + 0.5 * datum['year_start']", + "as": "year_start_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['year_start'] + 0.5 * datum['year_start_end']", + "as": "year_start_offsetted_rect_end" + }, { "field": "end", "type": "timeunit", diff --git a/examples/compiled/layer_precipitation_mean.vg.json b/examples/compiled/layer_precipitation_mean.vg.json index 6d2e5e4be26..b46eab3c3d2 100644 --- a/examples/compiled/layer_precipitation_mean.vg.json +++ b/examples/compiled/layer_precipitation_mean.vg.json @@ -20,6 +20,16 @@ "units": ["month"], "as": ["month_date", "month_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['month_date'], -1) + 0.5 * datum['month_date']", + "as": "month_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['month_date'] + 0.5 * datum['month_date_end']", + "as": "month_date_offsetted_rect_end" + }, { "type": "aggregate", "groupby": ["month_date"], diff --git a/examples/compiled/layer_timeunit_rect.png b/examples/compiled/layer_timeunit_rect.png index fc3fbb3d3e04c0a16216e014841f4030d4737004..55443848514171d2a4c7ba5558c083b9f23fffe5 100644 GIT binary patch literal 8809 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 S2Kej<;`YtE3dI=XXa5J5p67P} literal 8330 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 KbiTZK;C})02oX>K diff --git a/examples/compiled/layer_timeunit_rect.svg b/examples/compiled/layer_timeunit_rect.svg index 4e1253bee34..6026d40227e 100644 --- a/examples/compiled/layer_timeunit_rect.svg +++ b/examples/compiled/layer_timeunit_rect.svg @@ -1 +1 @@ -JFMAMJJASONDJmonth012345Mean of precipitation \ No newline at end of file +JFMAMJJASONDmonth012345Mean of precipitation \ No newline at end of file diff --git a/examples/compiled/layer_timeunit_rect.vg.json b/examples/compiled/layer_timeunit_rect.vg.json index 48330e61127..7fcdbedebed 100644 --- a/examples/compiled/layer_timeunit_rect.vg.json +++ b/examples/compiled/layer_timeunit_rect.vg.json @@ -22,9 +22,24 @@ "units": ["month"], "as": ["month_date", "month_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['month_date'], -1) + 0.5 * datum['month_date']", + "as": "month_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['month_date'] + 0.5 * datum['month_date_end']", + "as": "month_date_offsetted_rect_end" + }, { "type": "aggregate", - "groupby": ["month_date", "month_date_end"], + "groupby": [ + "month_date", + "month_date_end", + "month_date_offsetted_rect_start", + "month_date_offsetted_rect_end" + ], "ops": ["mean"], "fields": ["precipitation"], "as": ["mean_precipitation"] @@ -51,6 +66,16 @@ "units": ["month"], "as": ["month_date", "month_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['month_date'], -1) + 0.5 * datum['month_date']", + "as": "month_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['month_date'] + 0.5 * datum['month_date_end']", + "as": "month_date_offsetted_rect_end" + }, { "field": "date_end", "type": "timeunit", @@ -79,14 +104,14 @@ }, "x2": { "scale": "x", - "field": "month_date", + "field": "month_date_offsetted_rect_start", "offset": { "signal": "0.5 + (abs(scale(\"x\", datum[\"month_date_end\"]) - scale(\"x\", datum[\"month_date\"])) < 0.25 ? -0.5 * (0.25 - (abs(scale(\"x\", datum[\"month_date_end\"]) - scale(\"x\", datum[\"month_date\"])))) : 0.5)" } }, "x": { "scale": "x", - "field": "month_date_end", + "field": "month_date_offsetted_rect_end", "offset": { "signal": "0.5 + (abs(scale(\"x\", datum[\"month_date_end\"]) - scale(\"x\", datum[\"month_date\"])) < 0.25 ? 0.5 * (0.25 - (abs(scale(\"x\", datum[\"month_date_end\"]) - scale(\"x\", datum[\"month_date\"])))) : -0.5)" } @@ -122,8 +147,8 @@ "type": "time", "domain": { "fields": [ - {"data": "source_0", "field": "month_date"}, - {"data": "source_0", "field": "month_date_end"}, + {"data": "source_0", "field": "month_date_offsetted_rect_start"}, + {"data": "source_0", "field": "month_date_offsetted_rect_end"}, {"data": "data_0", "field": "month_date"}, {"data": "data_0", "field": "month_date_end"} ] diff --git a/examples/compiled/line_month_center_band_offset.png b/examples/compiled/line_month_center_band_offset.png index cdb769d34d32d05c826fe2ebd10e675df19c0a80..14599f8a9a87d43c2dcea8ee7996645c0a3bc6d7 100644 GIT binary patch literal 10210 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 WFSOsu?}S5p2u0buGDRrUC;tom8qtOT literal 10059 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

!y zTaX&h>%4xPq!`eTQUrAyxcob|wvoT)J2EmeiPvg>Q^%6;~N@HPD9O`ME?3zh+ktxM2U**VL4h zSorGLWjh%R=4AAUKxsw>cY6$ThUdqMHw$&HiXp$*xALcx)?xJa&d7H($dl*KLS_<1O+Jv1_tcA87aet zJp_`~lkq~V&Fa8YAK^cHR#)g)EKfTR4SP8FqqFnvpKT+Lo40Ny+6c~e5o!CT8aw{= z=n+PoE@vF{G+dRc#=HeBt?;j_E{&dHvAGt>EW}Qbx9<{;H^u1~}DC`LO8PdAH=a zzPhVHihc&D7VT40g22(aSKmQ99A-Aw_jB^hT^#ZB@@ON3qE`pj}XHPv^x%OQ$ zEd*x!AE?FvD06lM(3nh5ciaCaG5$_+|3ilNcOLt1CG!8ejQ;Lrg$EuC49TyGDr0uG zZ);{IsM}Wf7%YiuN{)Gn5Hz%|r&Bro8hx?;^Q*AA^1>B&O3nXCj>xA^I9=z<1cI^& zh#6-ek}&e(G=<;(wj&kuIbw@qbW>9k)GF<3W~`|%gqz?Xi(F>0e(OzSqcvWlA)%pV z0s80Rc0+hv02->j)~J!9^78N}Pngf0JBPDpSl!6c#!a@<(T3p z4i!L!w$vC&-rLA$}n854tp-bGITQ_+G}Kx?3oJ=iHRg~Y6^tN_(Y z{v`B`ApS-nKVr6wv9hs|00njX#*J6S8s_Hab>juj>57YsSRAK9T*DCdsnO-eM>O8r==y-03w^=uhC%O+o27<1A@QxSVA==+tF8q>t_0cF`ultyaBLpI; zp`k=Vf`S$?;-@$``XDE~q&P-raqOg{I>VF&`3@xec$iBT(yLqqaBMDf7;ymub8oy{ zbJ4cFBLSo2veb`38bJaQczJm_nOIrz;?u&J8FN2~WcURH2#}4TZ0iBIZEkB1qQFsLoC`JcLi|J(G5}fOK!P+CvDSjR3K;vor2Nw2h5p3hVcB z`@{!%U`N3=%$ugm`?GkhO$|M`s0$D(1|f*BNj1ZJ>)z&gg`>#rpW{Rb+7bv<74}}l ztiC7t&#w;7```N5VfH`-+R$8fmt<*iG0W5XHm|%q2dlJG>ugKJD;+_|;OvqG$iOhu9CpIR#pN=9etR7IiJ1q4qOi^y&!1QbjDez;59+~2Y2UmV0^-8B z+MS}#XDcLe;Mj?jO(B3y^QmMoe0De$Gydh#(NXiZhm8CpBBTgjGeRI-=tgzE%6CVE znnSL$4xcjhK9lyC(qep~5f1tMJoq^8z0I7iYA^~jK;N*EMhKv*MC;fudg4RHrQrfr z3rovi1FD=u7vmU(Zkxlx?X%Y!4!2qPG*S^EAt5$-KeXG|9)k6Q=;PgA^GFbIxUgw0 z8op^HSJUL@bgWeH8I9B+eCQ04XX(rP>@Hf{!M8WiQuol-y-&lSKOBZgK7;9oh`KWH zSRS0~?DBGVfx}p-z$p=9@*JIq5Sn7(7$B&a@PV)wyUPLo9EAl;>1;+~F3N7o-AIElq5ZPU=SrhZ$+w^JcN5^m~a6~hSwu3I5otX*3 z%ax)c6i_MDFBTk+wzhT!K(@QP(JlJx^L2&$s_oUTuCC26Mv8@L zn4;Amz$eV(ZgIykN#F~zhNC?p@YZ4=ePLak2#T3G3c?A8y6a2!$4;dba$c*(#AIX{ zfCYfNU%q^qkOjlOdaS9T0emA-@Pp%`r!d@eBqaQ~Y==%$wNdz-FgsSX+`+-&M3nN) z^oq<+0k*dMuQM`!6$Tzg8<`py;IEkh<^T5WTWz~Qka)YGCKLbqE2O7K18l^tGsU*A zqd(u$1gkCPyL}I4T(eNjoxQzn0QCt^pHfOlNI2D`oHeq5VbH{KuKX4(4qPXMqF3uI z|A31^F)(DFTiI#~C9{PXdnD!2BYF;bKfFzWu?Hu=uyFqNwNx7XVQ&uzf?iS6)C_y| z3R8c4xE_dclqFcD{aaSC_iq-uLVYEn&Lvt2KR7QyfqL zFekc^BYplnBZRi2mG^-pL`32orXffpAtBkFix$QAa$4I47sNoxX;+poFV(aD@;wF- zw)8ohrlh1~229z+gt5jmse&=l-Wsp9=Aj`*ILj8ug8TCg-urZXdS`MGoGkeIB!~A_ z-6?7s8o0bXA?V&j*bA7cK@By5@WW@4px=tDx=$61e;zuTd`p)qP6`7sB%4ihlfbucvedn+KjjXJKL*0mir6M6xd|l)%uNCbQ>O+LZlI~vU2Y^41Zu8 zB;&iCukKt9U1vU3`#|m5HF_RC8X6k>jO2{g^G3+-*I|ld(Ul|+Qc5CseAN|zX>)0S z=+B=&cv}tmAtiJ$0THSBLTBRo&W@_Ry`YAsW|c@4praBDWbl{=C7I@5bu@i^$XV_A zvy1%((^*4YmD{&D$R%I_!c+b`Civ+gg0I%vohjd?@d{D+lm|nit#GeC7LZDkL(cc& z#S8D9NiSL^rii&Yi=MQLOt9JO>+6?cR0>|UO4``a@S$m)kD~CY5yL>3@m0HjC%ks; zTG^t!yu9t_Hz(QH*jyI77^&E08JwJ));BkCQBimwP&u3Ep$oG_=-SoNmA36ma&qPl z4$+FCq_cBv(M4rtZLLxCvr9|lkh&p_z_E~1WV^~5nC+}hcNAN8fIi`bq!_Q!#l^*K zr|U1_hg*Q{8CRlDfg)}*a;|GzUh8=bfqhJDY~qtA6kx=ONl9J3NWxFDk^*=^Y?@j& z91af$Y~r56hBlK4$Q^0SqfDDyqgqS86*z2uYR_ zV8+bqDm4@WAP!lD^R&v^R9*4CFX!GB3>O&TQ!JqJ2q4iyJc)bw+{%p;6cRE3)_Gr6 zW(8@~Np`J_&E>*|5*Yp!gDL%<-v{7y4#LQC_wP5;h6GAsYl{~a7Q(5Ogs`jAv0oXg zOG_D`OfCafvB)N=e1~8|zs~182!rhRvcG@-7Qa8I3?OG}<3Z`TvGBp(Mtkq_+rwvj z_~!;#eme4i#sBw%2kJ8_TreGUtzrv=R=(yS0j&rBfmlnlKvNR}aEdBp(|P0}7`!{( zDQ81=P@m5vHO96=d|7NiBxqdgT|Df_Dd&wqU${fKW9lekR8HkEoUa&t>g*5Q>n1U5 z7wAYyNq2u%OjlaLFjv3KUN_c^|G|R?_)V2A3YIK+p5V(!rtLy zI;dm~K*nJs=hLp(EG^asl(`L$2dR z5CQn!h3csymUo#!!1&<92t0iPh@?u|(Sb>F*<8Ajnwo0fjH58l4k;-)ho6%0@{&kN zNukf(CC@J?Aduq}_ker^B6;xFry$732cPg2>u_GKs$W3KV&M0HE4QQ8fch%^_oYZr zvf$tm4g!Qv>v<&b;nF@-)21K~B?0DQgIyk^sCI1{@*{f)$Ckqo2w9 z%R+HlLax>`HT8nP99*ZcfZJd{oFjMBTk;OW`wTBC4vZ z&msAsbbC5GBVim~3>il|+7hND<_KQ*xp{fnz{&MM#J#w%P{eyJMGT07H0aCtxWp5U zcKlN!Q-R0+q(SgOu0OA4-As;SJvus~LLffF`b+wR(NzY!uZ$)Vn1B12Zo|mPm=6;` zL5hRT@3-I>#mga1Ew}DvAr10?i^SW(?XnOxPE1Z#?P)!iX+nzN3rZk@Er;*~t^w~n zwtYtPX)96$GSIaAHz7p!VQLNLAuK!` zUQhFyx)XCK8VpLa8*O9P1Wb~FK7gTSR22Q0+v5ScWCx%P$~<%}GxJ`& zxiQ4yJNv^KxPw5h!RKhMLHE|2PEPK8I(K-kFU_&B-XwoUE+(#;E$z)m{$N(M%a;)d znBh(a^7KTL^FDfddfJYcpQWRx7q@67FT?ml57~mJfc*maj-*jIK;hFMl~|TA7>R&9 zdj+lsuQf-^0!j=mNf%85S( z$Qsz>yitH^ASd_tGvH1p1|EQ50yO$+-Qj&-#susIOoh$nb(a#kRq?XptWh~Jvbi?R zX>Dyi!MF%oqv^v33V6ao5uglAFQ5hf23Pr4;W-WPP;-EC#Onvbi=f3*<^8L>V%Q5M zSbEl3#)0*}eoT*l`<8#T!roE}WTYQ(a;3-eDWG6h+2<<3bi3yP91_#hY3S)6`Sh0l xDUtKvV}Sk@q=^sw=W(+ou2cW#V`BTq3Y03srth7#;psT!>J=^JcUbd~{{_F6{Z#+} diff --git a/examples/compiled/line_month_center_band_offset.svg b/examples/compiled/line_month_center_band_offset.svg index 0465e434def..58bc35e6a2b 100644 --- a/examples/compiled/line_month_center_band_offset.svg +++ b/examples/compiled/line_month_center_band_offset.svg @@ -1 +1 @@ -JanFebMarAprMayJunJulAugSepOctNovDecJandate (month)012345Mean of precipitation \ No newline at end of file +JanFebMarAprMayJunJulAugSepOctNovDecdate (month)012345Mean of precipitation \ No newline at end of file diff --git a/examples/compiled/line_month_center_band_offset.vg.json b/examples/compiled/line_month_center_band_offset.vg.json index c89e0175633..27be1d52f69 100644 --- a/examples/compiled/line_month_center_band_offset.vg.json +++ b/examples/compiled/line_month_center_band_offset.vg.json @@ -17,9 +17,24 @@ "units": ["month"], "as": ["month_date", "month_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['month_date'], -1) + 0.5 * datum['month_date']", + "as": "month_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['month_date'] + 0.5 * datum['month_date_end']", + "as": "month_date_offsetted_rect_end" + }, { "type": "aggregate", - "groupby": ["month_date", "month_date_end"], + "groupby": [ + "month_date", + "month_date_end", + "month_date_offsetted_rect_start", + "month_date_offsetted_rect_end" + ], "ops": ["mean"], "fields": ["precipitation"], "as": ["mean_precipitation"] @@ -46,14 +61,14 @@ }, "x2": { "scale": "x", - "field": "month_date", + "field": "month_date_offsetted_rect_start", "offset": { "signal": "0.5 + (2 + (abs(scale(\"x\", datum[\"month_date_end\"]) - scale(\"x\", datum[\"month_date\"])) < 0.25 ? -0.5 * (0.25 - (abs(scale(\"x\", datum[\"month_date_end\"]) - scale(\"x\", datum[\"month_date\"])))) : 0.5))" } }, "x": { "scale": "x", - "field": "month_date_end", + "field": "month_date_offsetted_rect_end", "offset": { "signal": "0.5 + (-2 + (abs(scale(\"x\", datum[\"month_date_end\"]) - scale(\"x\", datum[\"month_date\"])) < 0.25 ? 0.5 * (0.25 - (abs(scale(\"x\", datum[\"month_date_end\"]) - scale(\"x\", datum[\"month_date\"])))) : -0.5))" } @@ -70,7 +85,10 @@ "type": "time", "domain": { "data": "source_0", - "fields": ["month_date", "month_date_end"] + "fields": [ + "month_date_offsetted_rect_start", + "month_date_offsetted_rect_end" + ] }, "range": [0, {"signal": "width"}] }, diff --git a/examples/compiled/rect_heatmap_weather.vg.json b/examples/compiled/rect_heatmap_weather.vg.json index 6c00cfca801..0e0baa8e3e6 100644 --- a/examples/compiled/rect_heatmap_weather.vg.json +++ b/examples/compiled/rect_heatmap_weather.vg.json @@ -22,12 +22,32 @@ "units": ["date"], "as": ["date_date", "date_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('date', datum['date_date'], -1) + 0.5 * datum['date_date']", + "as": "date_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['date_date'] + 0.5 * datum['date_date_end']", + "as": "date_date_offsetted_rect_end" + }, { "field": "date", "type": "timeunit", "units": ["month"], "as": ["month_date", "month_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['month_date'], -1) + 0.5 * datum['month_date']", + "as": "month_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['month_date'] + 0.5 * datum['month_date_end']", + "as": "month_date_offsetted_rect_end" + }, { "type": "aggregate", "groupby": ["date_date", "month_date"], diff --git a/examples/compiled/rect_lasagna.vg.json b/examples/compiled/rect_lasagna.vg.json index 95f0ff9d877..efc7976664a 100644 --- a/examples/compiled/rect_lasagna.vg.json +++ b/examples/compiled/rect_lasagna.vg.json @@ -18,6 +18,16 @@ "units": ["year", "month", "date"], "as": ["yearmonthdate_date", "yearmonthdate_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('date', datum['yearmonthdate_date'], -1) + 0.5 * datum['yearmonthdate_date']", + "as": "yearmonthdate_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['yearmonthdate_date'] + 0.5 * datum['yearmonthdate_date_end']", + "as": "yearmonthdate_date_offsetted_rect_end" + }, { "type": "aggregate", "groupby": ["yearmonthdate_date", "symbol"], diff --git a/examples/compiled/selection_layer_bar_month.vg.json b/examples/compiled/selection_layer_bar_month.vg.json index bf4b4c590d3..aecb7eacad1 100644 --- a/examples/compiled/selection_layer_bar_month.vg.json +++ b/examples/compiled/selection_layer_bar_month.vg.json @@ -16,6 +16,22 @@ "type": "timeunit", "units": ["month"], "as": ["month_date", "month_date_end"] + }, + { + "field": "date", + "type": "timeunit", + "units": ["month"], + "as": ["month_date", "month_date_end"] + }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['month_date'], -1) + 0.5 * datum['month_date']", + "as": "month_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['month_date'] + 0.5 * datum['month_date_end']", + "as": "month_date_offsetted_rect_end" } ] }, diff --git a/examples/compiled/stacked_bar_count.vg.json b/examples/compiled/stacked_bar_count.vg.json index 122e0b7c50e..163b53c4f71 100644 --- a/examples/compiled/stacked_bar_count.vg.json +++ b/examples/compiled/stacked_bar_count.vg.json @@ -16,6 +16,16 @@ "units": ["month"], "as": ["month_date", "month_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['month_date'], -1) + 0.5 * datum['month_date']", + "as": "month_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['month_date'] + 0.5 * datum['month_date_end']", + "as": "month_date_offsetted_rect_end" + }, { "type": "aggregate", "groupby": ["month_date", "weather"], 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 71509e63d75..08a449aee0c 100644 --- a/examples/compiled/stacked_bar_count_corner_radius_config.vg.json +++ b/examples/compiled/stacked_bar_count_corner_radius_config.vg.json @@ -16,6 +16,16 @@ "units": ["month"], "as": ["month_date", "month_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['month_date'], -1) + 0.5 * datum['month_date']", + "as": "month_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['month_date'] + 0.5 * datum['month_date_end']", + "as": "month_date_offsetted_rect_end" + }, { "type": "aggregate", "groupby": ["month_date", "weather"], 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 0c06b8c8ecc..cb147c3d49b 100644 --- a/examples/compiled/stacked_bar_count_corner_radius_mark.vg.json +++ b/examples/compiled/stacked_bar_count_corner_radius_mark.vg.json @@ -16,6 +16,16 @@ "units": ["month"], "as": ["month_date", "month_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['month_date'], -1) + 0.5 * datum['month_date']", + "as": "month_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['month_date'] + 0.5 * datum['month_date_end']", + "as": "month_date_offsetted_rect_end" + }, { "type": "aggregate", "groupby": ["month_date", "weather"], 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 984baf0d179..acdbb8fa491 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 @@ -16,6 +16,16 @@ "units": ["month"], "as": ["month_date", "month_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['month_date'], -1) + 0.5 * datum['month_date']", + "as": "month_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['month_date'] + 0.5 * datum['month_date_end']", + "as": "month_date_offsetted_rect_end" + }, { "type": "aggregate", "groupby": ["month_date", "weather"], 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 15bd6cdf6cf..67da150fd27 100644 --- a/examples/compiled/stacked_bar_count_corner_radius_stroke.vg.json +++ b/examples/compiled/stacked_bar_count_corner_radius_stroke.vg.json @@ -16,6 +16,16 @@ "units": ["month"], "as": ["month_date", "month_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['month_date'], -1) + 0.5 * datum['month_date']", + "as": "month_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['month_date'] + 0.5 * datum['month_date_end']", + "as": "month_date_offsetted_rect_end" + }, { "type": "aggregate", "groupby": ["month_date", "weather"], diff --git a/examples/compiled/stacked_bar_size.vg.json b/examples/compiled/stacked_bar_size.vg.json index 7008e2f7901..cb96993aac4 100644 --- a/examples/compiled/stacked_bar_size.vg.json +++ b/examples/compiled/stacked_bar_size.vg.json @@ -16,6 +16,16 @@ "units": ["month"], "as": ["month_date", "month_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['month_date'], -1) + 0.5 * datum['month_date']", + "as": "month_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['month_date'] + 0.5 * datum['month_date_end']", + "as": "month_date_offsetted_rect_end" + }, { "type": "aggregate", "groupby": ["month_date", "weather"], diff --git a/examples/compiled/stacked_bar_weather.vg.json b/examples/compiled/stacked_bar_weather.vg.json index 14721fff3bd..8341b9f0eac 100644 --- a/examples/compiled/stacked_bar_weather.vg.json +++ b/examples/compiled/stacked_bar_weather.vg.json @@ -16,6 +16,16 @@ "units": ["month"], "as": ["month_date", "month_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['month_date'], -1) + 0.5 * datum['month_date']", + "as": "month_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['month_date'] + 0.5 * datum['month_date_end']", + "as": "month_date_offsetted_rect_end" + }, { "type": "aggregate", "groupby": ["month_date", "weather"], diff --git a/examples/compiled/time_custom_step.png b/examples/compiled/time_custom_step.png index 09ac809ba00ecaf67596cfe72e6a9d3f1bade059..472cfe970859697f6f215e582549e3c05aa0467e 100644 GIT binary patch literal 7693 zcmc(EbyQUSyYD6hBoq`uT1rq-TBL-bBm`7ILPAlxq+45>P@KBqSt8KwgxP z?o#QLq2oNG?{D3E&%bw_brvzqUYqZH<9R-{!?iS(DM;x_5d@)7RYB>%D;9pXNr>Qg zv*#Imcp)-ZQ$``jxUV;L+3^U%)TD~Ke%m8?dCXV;w#5HH`yLby1*ov0f@bvt+%-iEyMq6paXBYgHgEy$}HequyqD|#_i%K1j z_`0H5>IBPCV$=gh;;Y0GqiKG&9j}Btx2Ie>A3yB4+Nn>%N*Jbcg?FR|VY4_w4cw9a0Nd_gVXb#&l)u!cFElb`?DcY7@K&6^9D>gsAq4i1htB_&j`v9XShj?Xd( zGx*iwV!g&|J-@WIUEf|ATOX)DI+y0N5pHITLJ>MUJ8KyjJnibz5)l)-p^dLSz{$}y zIB2=En&x+Omyn2vlr`wf*RRxQG&;m}YHG@Se`{Iixm>S>s*sMM!O^OP+Kn5N3k#$O zj2=)_RAiQ-o2TgJRzb~4>3TQLC(GV>Yw2$7;nv7tg&hO(=KXt8H#fHs?AF#6HxEyI zDa=l}RBNEW-+bdon|_J;iI7uFq==)73(Co!DitGHNeL+nQb z+J)D7GxMDo2VJg-*F5L#+qd6%Z?EiZ_S`gcaEO`j$yUhglP}P{e{`^`mDk5DAfRk% zne%rEL3^p*D*=Il1W%tnMG#F*%@Eh{@Ng9s6*&b30-am8(sgp*atGwJ$8q#_%IxQN zyGna+ea^pI_SP~Xtf3thP92(lQRjTfYZbHe)@;FMIpNew-`i2SAKQwKl|yt--Pl_Q zUsY7w+jH5M&^ddFTtVZl;QxKn|C<+db!z8=$!Lqcx9xw-&a$(y;orM=5AomI^YYp3 zRt}jRb82Ps*l6Q=_hzqTZUew!EWbV-9&tw{U|w%v1*oePHFgdZf9r zeA=q5J0@XVL_NfSB;d;zmABd1nDKGu!#ylUp#A{g(9ke5ou7wCK}Y8dDJki**RP)r z4;x6We?Ggj-pW#9Gr&)NUJxNZ#pth@tzc?8xx5`2My`&|lJVT&_}}& zWt2sa&WXJgFj3Ohrg{<>I5j!x9~XB9@h>V82qC9?0)qwx2b&!q9Tu0ASOwZsYM+f~ zFW1Z_K%j}uzr7Yk3ez0=7qLo}bRw3Ny7~G}80SZi9^JE*=ePnl*3?|9c3+J?Ewh8@ z72Ru|ZjLBHA9{Isd$((|P`zqPtUCmu^Bt$+-dUF}f4q?ObQOG~ypJ3AMoq!{H%7$sduF25k< z=jYcMP)0oz^4vMxU#-Wqwh|8w4Iu~_8CmVdKRo&$EMtE(Q^oG8hwSy{-lCLm=;`Sx zwq2WSC|GPzh(Pvm&GP}+}C$*d)!-K+-s3f zLPBCvz;BoAhML+H&y5FH7ueZ^Uy+vw2cLj)MOau^=3FFmZeQlrFGhqPetniH!zR?j z=esZc;0q;grlO*vbKRN5`S}m(K1PInbyS<@<>A2$nD|A#e}5TMibp^+`EfQiKL788 zKDo@FS*cl-dH&*ss39{YWrNmPSGkJ{zSEyi!lg0CW0Cs9iwlV`!?7_YX|K(OI8L>$ zdOyFb)@&Igrb4~0uC62`ByxbwSvS*8MJW+X?x`?QQL%akpdK*Cr}OjjqO7eiBa@XA zXklIlQb{UT-ir#-rVaiyTvC(91}LWZHm#cKYV)b4VCP(%Q5Zv0hSZ4FnR-KUB(ozT`KK%jagZmX04lzf4G&{u0Z+ zGcs{Rq^zvW!Nr9;p`uTF?-{XFv9I7%4t9Sd{<*iZrx*J2&dZ{uQvHrReYVHk<7kyp zzl1$^mM13>WUeodc41*b(BdEJA3uN6p&!2vlca%?OG;vpl9txi)(#+M@u5^zRpq{P zsquqV&ySp#u&)oC-&T~C%A?UTh+JNu`9PtuBk)FATH4=&i0*y$>J`w$XTWYV8=DB+ z2yi8NJ1Hkn=&Fvmh{zk@!lBNk2M->+sjAZd-V~POYEQoab7kY?Jb?)M>^SNh7-RrZ z!s#YwM&<-oTjki;*f_0EDdbU=uKVxmcbB)zZ3ay5-w)JC5;NP~_?akVLD~{Y zhkM)hZ&SgCXq%YCT)E#e8Onn8*Uf7#Hp5V|um~voq8?m~PX{nOfxw6ao}QkG!jDd| zv9Z0@pjAgPg|=yJFOSgD(9n>Oktx{O@r9gbIhCUMC^0WGOftcc6#Mm+aO|sB;m@8? z?(FTE&vvAozhWNr=h*D6e#HYYodF4O($>}%K|)WnBz(Xf`5&CZ=$ZJQ@bmLqny5bx z!4?)4hJ}a6{;8C1Ehq@{?hHlfOYMlVa3VrN&?8LGy0yeLD3(@N9TK^xVk8s=wOb#E z^!g>!?;P!~iZ3b(7*+X?)wr|E%Cb;VQGI);nwyuWATN(k&%i)MM>jOhKtxrZ+O0J^ zJ3I4Dd_tr;{pCyA1b*Y;>1w8HZl=F~ef!ec8Cp~0U8bdsLYaOJqXLE|p`cJyQX;y2 zxzEleAnfRiWeyJykAqjAzMPzYx0bS^BJ1VLq%pEb9%Vm?Pcx%5G$^L0r(vb1n3|%Q zu0gS%{*dLyW*yM|yVrffS6oL&=UH6blbjrG9E2|R7wl}b3tVxWl&f89B6}#F5Fg*O zH0xMyz*kyUW~g_Ss{G5G%2=MBKqQMSGcCW7oWB0~($Z3L+T>&zU;4JTHV>f3Z`S$$ zik(&vJK_h4(o|#2@w92rU%t$Qs%w8K&>A7|DU6Jke=@J=)03K-nxUwxl9FOcM5@_6 zjosbdYZ5?YptfqvYBDm|%0`4*n4b1R5XrJN7+*O~Cc8xw-iousFk5R(?J?u1&eQrBW1o zTkJ3O{-PJLeAX=KOFp7R(dn_4V$0RBO4InH&ldU$wDLWw)~ zE20V>Yzmj(c=zO9QEQ=bjn?hkK_-5O=YIbD8G^Mge=Yk+tru@>vtRASjo=exGzij! z!6X%&CLyt0m#1R0Hc?Voo}PZ+O|F2GaTPMh| zUT3Lll9tn^antHssx-s>mdM5=hfm?qV<-1DYj@mUL)axyYvgt`&*STk)SWzXop;+a~Vl|{tjyGeC$cv$lA z8-4BWuOv%L%LV`k?!S=0?&{=pg`S?i7}%MdPKXe3-1wnNO--$GkCEzC=MR;!&7b-{ zK2m_UaN_=l``f?OgfmVpB%s~6E?hwTj`t_hb@Qg?=fe*UeAJV~H2#qHMFl%EvjD&) zR$ynCF*7r>{zqp{Hg@)(I4pKin?P@`POyOP)foUr@preP`hS(`W3}`n=yobb#>mD% zVhjdD07FQR@Ys^yA~Or%#*u^7NAU+?||a|ME+E;rsWvYb9P-Ym~Aw=AVVV ziyFsgv|F9k>bs^^S7RQ}b~JW$6b_+IqI%ayzn`->dr`gN+G;HUNGg4O{f4F{{D6P} z=U$wExT=FAt1+{YTVnt*tdwyDq-w^WK}!W(|7wpB*bGP(-6Y zO|AcIf9bR|cm?3b;19FG2XJv^H!s$j_+syYL302>?NU+>&Gfpl4l z0KhbWT8YL93+#YNC@9>2+S|X`^GZuI(b3Vt9q^q@AFhJ0q-@Q_#f3Cf*o~N4c}nlY z_ymrJM&)^VHhJ`$Sgf5}Fg;Z{UuHV9gyV&kkF(5R%!nGWw+un&UT~3Q+Su3-G;0dd z6-`V^is+O*X2dB*A0HnBJy9w;i_NtWs4-Yu;x%`EK*49vpA$wY1&)py1%-yr#40mi zsVM>R*8n=s!ongfI=Tg9kVBpaTXk%(Wp+f>&18vylKZXGpj|^Oz{2u%WW~9ey-9wj zYTjon`*mM^*t7D-o4080<}|J=R+V=N3knLl2L}gj?`mmLK6&!wHD5$j)Qd9SHlt&V z`;j1b9?SR3moLZFrhs>1NNA&9;8aU!=;$~F?Ai)vvwrZqvwcWP`{f0j9Cmj0l1H7) zb6Br~8J6P)kgq>&Q*+dwiT1K9M}G!U_tQ2mr+sSm*8iX7{4nC8gj%-SSUiqRKWCMV zwzeu1js7>I_@8yIUzitWT4QErVq}$^ol8eG&bpo~4cUWwg8Dj>Ur<0rOB?!vNAI71 z_XG4}#LIhLCp)FL8O7{J!>XzzAn*9+E`IDZ>|=5=Bd8>N#A|yc3djexSH9y+81>D5 zEj>LwOh-q@+8{W(7cXA?F`P8=B&>S(fy?wi`CP@v$48LV)YQRp8(Je{V?5+PQH7n? z=3Ic$|^o?vIo0$~ecP`@#LB z-IK#P{oy>8(jyscS*J|IrCV7I-@l(Rth8@#7pNzHaf9>GNz_xW#Yea%=HTSKUNmsO z@yQAOV$*=+Z@68E?nNel{yZTdAn-AXb3w@C6}NvwL&Fw-x<)YzlbSbHq2HlCT*a%D z1>HWivp%ykpPdHx2Zx{KqE8s;>tkhQ#fyrH3X6;k3Jg?;7{OTw0RFj=N&#lCIaUB( z1Oc862?`?Y?d_eM3T0_wav$x!w2#~IkPsq7t}|77eL6zGZ4liHxemPh(%z1#a+(nY zgMq2;_#kWFA5$^T^7Pulry=Z5(1f^P%F5~zWH^SksPfucMrh+epmUtVg8YHLUwZdP zyo!c~BIvl5Xr_qa;bG087{EY<%x<~N?l)jqC_abO0#bTh1wb5X%?6O-6cA#0yiupK%rZ@09!@&5gL zh6KGkckrr?hJJ5P_|?yE@$oqfe-g$LRH3UpAlQIUIsu7YPF~((@uA?X>$Q!es#mx@ z-_KBo4a>@ES*rrj2bcbD)MoZkGdnOdlN~XI2u!JRVBW>i*%`;q;D?%NDp%DH5r4qP z(PAkfAzV2m%J_PPF13EUSBcwWtHs0gs#vd`wW*z-FHI0+wlhuH*q8~3P0)5w5aWzU zc&uGeiag&vy><8Q-9HHuNETBt^5?~D&!Z2qdSS=11eUh@(c>|)Wu>KYo2gqP%b{0N z?EFUGR}8W|Wyp;(HYx102JLdi@5l$j2$0e2A|ljCvF(r$h(Xi6&3TXMa4tcwP0P)d zF$PHY6xG$qmzI}t0iSlJ(o}AC>XYnjuJ7N!uR+baRinY+uq27u;VzzHk%@%!FdwUS zWvXDgbLS2&-g9#k(@c|zvLCCSf);7<$0LyJI}+@Vfg3A!kFj6 z$*HGEVk@jI&zwEWj)Z;w{CNaj0E~zy2T@QF#pOjKYInuEkIMXxaT{Der14uLnpyfO zz+8H1>6wa(iu0n@)CUI#T3~xYIpZT8Dc3?_GF4Sorl9!||CDR)Y+$iLXn`II2HzK9 zM@vh4AG#CgswimfZO3crnwy((bUR+>jq~d;iOKKp)NpKup#6i;dqm_O3s)x94|T84c&rE1ZnJwt^$uE0$ds z$eARmfh2a8$~xEj4ISuGRODla_l@82j8r*g7Jv9a-QVAjGY;m^2H%txxYB%dMqLMt z*|@n?Mm=X!@clu8zw4TJ$?!Wq!uOx+FGzB9cc%rolrI{HfSl0`CJ8;o3SEY(v>*En zMs~n_-^s}d-#;uSMw~ZE!YKo}0I8*746`&L;slA^Q&1};pq}yMqz*TG=;Zbul`y@6%mv|PX*HwBI{ty!$5A3lpEL$j*pEQzkT;E z9KtqeNX6Chy5N|Y7_HpfAo@^7HEtRZfsz4HK~J*d6A(0~xQ|~-_54MrV4_=SbO{NI zVi2!5>{x8rc~#9+x4%-;wTOj2Qc_er0V-y|_VE3kJW3#wxj9R)c*G6ZYhKXD6!j0L z!L~Ft$=i-qp97OUSZYBA>kokAHr-kps`A2KrV+R|YQA58w8!JWcuV|v2-KdIu`vZK z>w$&ER6*sqyqOs*a^cdY`K-h0)ld75prLDjcU*%B41V(UF2ibMF0t@I5PVvClM`tmNV%0t&JC@vNrp#3!bYA3s{!+J3$tBOT(p*q;u^3j3To zC7QH{1qdJeaPOU2&WJX6HeOy{9606Ne*duS<^t9W7h%U=)Mx_yjsZ=EARWn9?{8wG zS!7QkRX)2yU<`571CK@_BO}8nQ$If&X=`Wapf7GeD&ex&|7}f47=7S@D-{TQ12nU1 ztmw;IymonOhXc3U3SFv-rn3DO>C*>!bkMn^{l?S@4l>Xh2}!k#E-hOb+6 zFDhLjGy^E~n|+Ao!prA9jIO8y^|5HU*YU>}Dn@B9YD@?PraM!aViBeon4ix}PA@`o z>Cz?0Wt4q z9XKAa+&l3iYb%H{guy7%YWP=Yr%knXdPW95$RG*GT*|O~*tVXYvycSibT=es1c-{N zYUA1zhBfG~(zgn)t(8(w6vP8mz%V$}n$6K77>9D#bBwto-4LgmT3LlV&9pR5Ot5%w zEnUff?Bvw==6awbM6gnuT?&a;A3rR!OG!!TE;5m&rlrL|R9sZMK?*2NNkQZ3a%){Fxz?5WueFXjt@&Wi!vuw#-bm7O~exy z7l+oFDXdv}5*0<^wls)WpbH$p10m)lL=6G3(OK%Rp4`dPZER@)AJh4+#(lK~I0Qc3 zEU{=2CmL49YS!U39Wo|+dwY_TC#^~j*VY_2=X;3P*Vhxp9hi{|5RPq+K8`V?PLuW) z!vQdeUVMaxSKst}!2b4X42UlCxvq4?ABfWoa^$t&zX=c=o( R8uzdlQB~AL70R1F`7f|2!!`f_ literal 7877 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 diff --git a/examples/compiled/time_custom_step.svg b/examples/compiled/time_custom_step.svg index ff9d209909f..68157409c9d 100644 --- a/examples/compiled/time_custom_step.svg +++ b/examples/compiled/time_custom_step.svg @@ -1 +1 @@ -00:0000:0500:1000:1500:20date (minutes)05101520Sum of distance \ No newline at end of file +00:0000:0500:1000:15date (minutes)05101520Sum of distance \ No newline at end of file diff --git a/examples/compiled/time_custom_step.vg.json b/examples/compiled/time_custom_step.vg.json index f6ed2a1bf36..f355eb92358 100644 --- a/examples/compiled/time_custom_step.vg.json +++ b/examples/compiled/time_custom_step.vg.json @@ -40,9 +40,24 @@ "step": 5, "as": ["minutes_step_5_date", "minutes_step_5_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('minutes', datum['minutes_step_5_date'], -5) + 0.5 * datum['minutes_step_5_date']", + "as": "minutes_step_5_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['minutes_step_5_date'] + 0.5 * datum['minutes_step_5_date_end']", + "as": "minutes_step_5_date_offsetted_rect_end" + }, { "type": "aggregate", - "groupby": ["minutes_step_5_date", "minutes_step_5_date_end"], + "groupby": [ + "minutes_step_5_date", + "minutes_step_5_date_end", + "minutes_step_5_date_offsetted_rect_start", + "minutes_step_5_date_offsetted_rect_end" + ], "ops": ["sum"], "fields": ["distance"], "as": ["sum_distance"] @@ -69,14 +84,14 @@ }, "x2": { "scale": "x", - "field": "minutes_step_5_date", + "field": "minutes_step_5_date_offsetted_rect_start", "offset": { "signal": "0.5 + (abs(scale(\"x\", datum[\"minutes_step_5_date_end\"]) - scale(\"x\", datum[\"minutes_step_5_date\"])) < 0.25 ? -0.5 * (0.25 - (abs(scale(\"x\", datum[\"minutes_step_5_date_end\"]) - scale(\"x\", datum[\"minutes_step_5_date\"])))) : 0.5)" } }, "x": { "scale": "x", - "field": "minutes_step_5_date_end", + "field": "minutes_step_5_date_offsetted_rect_end", "offset": { "signal": "0.5 + (abs(scale(\"x\", datum[\"minutes_step_5_date_end\"]) - scale(\"x\", datum[\"minutes_step_5_date\"])) < 0.25 ? 0.5 * (0.25 - (abs(scale(\"x\", datum[\"minutes_step_5_date_end\"]) - scale(\"x\", datum[\"minutes_step_5_date\"])))) : -0.5)" } @@ -93,7 +108,10 @@ "type": "time", "domain": { "data": "data_0", - "fields": ["minutes_step_5_date", "minutes_step_5_date_end"] + "fields": [ + "minutes_step_5_date_offsetted_rect_start", + "minutes_step_5_date_offsetted_rect_end" + ] }, "range": [0, {"signal": "width"}] }, diff --git a/examples/compiled/time_parse_binnedutc.vg.json b/examples/compiled/time_parse_binnedutc.vg.json index 55dc8f7d78d..96fb9eecd63 100644 --- a/examples/compiled/time_parse_binnedutc.vg.json +++ b/examples/compiled/time_parse_binnedutc.vg.json @@ -18,6 +18,16 @@ "type": "formula", "expr": "utcOffset('hours', datum['date'], 1)", "as": "date_end" + }, + { + "type": "formula", + "expr": "0.5 * utcOffset('hours', datum['date'], -1) + 0.5 * datum['date']", + "as": "date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['date'] + 0.5 * datum['date_end']", + "as": "date_offsetted_rect_end" } ] } diff --git a/examples/compiled/vconcat_weather.vg.json b/examples/compiled/vconcat_weather.vg.json index 3db6ba2d6b6..c9e2c3b9e1b 100644 --- a/examples/compiled/vconcat_weather.vg.json +++ b/examples/compiled/vconcat_weather.vg.json @@ -20,6 +20,16 @@ "units": ["month"], "as": ["month_date", "month_date_end"] }, + { + "type": "formula", + "expr": "0.5 * timeOffset('month', datum['month_date'], -1) + 0.5 * datum['month_date']", + "as": "month_date_offsetted_rect_start" + }, + { + "type": "formula", + "expr": "0.5 * datum['month_date'] + 0.5 * datum['month_date_end']", + "as": "month_date_offsetted_rect_end" + }, { "type": "aggregate", "groupby": ["month_date"],