From 845de27f87cf4a19f6fd6b3df91d5321d120a52d Mon Sep 17 00:00:00 2001 From: David Stansby Date: Fri, 16 Jun 2023 14:27:50 +0100 Subject: [PATCH] Only tick slice xticks at integer values --- docs/changelog.rst | 1 + src/napari_matplotlib/slice.py | 5 +++++ .../tests/baseline/test_slice_2D.png | Bin 22553 -> 21290 bytes 3 files changed, 6 insertions(+) diff --git a/docs/changelog.rst b/docs/changelog.rst index 9dd4dcf2..db3bc343 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -28,6 +28,7 @@ Changes - ``NapariMPLWidget.update_layers()`` has been removed as it is intended to be private API. Use ``NapariMPLWidget.on_update_layers`` instead to implement funcitonality when layer selection is changed. +- The slice widget now only plots x-ticks at integer locations. Bug fixes ~~~~~~~~~ diff --git a/src/napari_matplotlib/slice.py b/src/napari_matplotlib/slice.py index 8cbef453..e3aa80b2 100644 --- a/src/napari_matplotlib/slice.py +++ b/src/napari_matplotlib/slice.py @@ -1,5 +1,6 @@ from typing import Any, Dict, Optional, Tuple +import matplotlib.ticker as mticker import napari import numpy as np import numpy.typing as npt @@ -116,3 +117,7 @@ def draw(self) -> None: self.axes.plot(x, y) self.axes.set_xlabel(self.current_dim) self.axes.set_title(self._layer.name) + # Make sure all ticks lie on integer values + self.axes.xaxis.set_major_locator( + mticker.MaxNLocator(steps=[1, 2, 5, 10], integer=True) + ) diff --git a/src/napari_matplotlib/tests/baseline/test_slice_2D.png b/src/napari_matplotlib/tests/baseline/test_slice_2D.png index c9e4d6f6a3724a3852a7373bdde3da4c74f3ceca..5b73091c4ef1c117a1ae5b45bad918bb734bbaa5 100644 GIT binary patch literal 21290 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%0D1~d zHW?uRctGmV9|R=*MOa)J0W`cif7}--@3m|8Kly==b=1c`9$M7u`~?y8q5m-de~oVy zPjnF#Yu`l*sF+$I_|7;MS>mor@7R0KaCvW8CW>P@NW>SC7Fi9N)eh0~he9sKQ^u-AMzin~H7y4v46oPsWXp5f#(iil@_RpEP z;{Q#-AFBvXX7|G40rirEU5)u63sUyck%J8)eggkLUkJ6>(n<>!hFBsa@+=x8IGsje zmwGgk5$lp+uoSX;>l$i*=%~~_=*Z>R+rZh^5FV1A?x+uXm3RTm#$%0b*z`db3ghoO z>q6D8K%QI9@SYq1o(;e?l-~LRB>)hwL3{~YtP7~#D9$5P=l28pAJhxL-K&yI{d$O< zRC{FjT>$*B{67NxtW>dfDF6e6r7IHwDfrnr>>eSPfB=$C`B>m%lz-%LfvO?RpWxpH zfZiZ-{VvFF9BAZL)RzpveM=CV&j8MZj>~^@5qc)zcXYH1CFD`^4A9B3X~E7M!e^qi z)c;oeplvztj4ej_sbHy!aq|*&c8|}XpWtQ<$w5Rb&}Ubhu8N%o)jEQce5b(RPjzbUk$~dtZ*8qd z2V=1UE*c2EpYO&VOIXZyV~tgVJjQ{9jn1ikw>_vv-vIZ{XYk#vvwgG+#Uu+ACsKX+ z5f921Z4P5oLT}X9G1dYXV|Ap!k%&zeOOeb|t10oslLD=E=OnZMKr-^T1uzfgD29d` z*8)(qz_Ye}@Ino=WB@ENG;aa}U@jDPDgJE%U;<#_>HYHfb3`|zYCO6&lp5Q0nI{Lt z%^%w)O@aVFk+Ac(LsCA$%A0eCseW{~fvw{;NwO!)-ex7%3VyJwBKs?}J5mD}pqlQ| z>&?SbbL3dC;M*OgkqH#>fx*;?Nk$39vbYw?H{ zs4>CfzGn-ZDNReTy%i|5vb&(BB;mM^WB<3Ou|OV1f)e68`ahJ_@wbt8nhlkRdI^Ji z;@<$vUkVm!zRw*MoUJ?`w14 zQvx%STg!t=!=XP-uSTKKe6#V`)@oYl2cHpdY>P1dimI8?^&FEX-5(j(UMYw9Z$1+? zs^PsUa%y#RqSZ^Bi0&e=)p%Lvxe8u`cVsz&){dvhcnSZJLdU5o6SOAc zr^u>Q20{^cwa^ivMEPYSJdRi&?6rGOr+6{>HGT2lJnuZ%2*5}yO(DRog{10ez%J^Q zvg)w!?1%KnCpAj-%Vi+l>L?-<3N9tUGu{VV+u5xaRqj7|s-qAFI`GNT!~a6FCOTSL z80fDH8kJzO($zcJ3mu7mWY%65slFnKtSZc>*NtS2gT?Mf%d@!@9AZ`pn-b!k_*wC2 z^r9Is(c+yyBKaeD=Hsyf#X(;IxkD_`!+#>enzFIK@K(~!40p2Mun%lDxtY+8fa#dT zxVS|#5GVlVjL3jeoQQn1Y!!)xb9sn2=#|hnkv4McW`H5|K^BWM zQwXn9LVP9Q$>TK&l;h9-`Ty{?{|#C5I4%IF`Do>e@(rf~egldOo>LD}G=W@RuRoEy zI(5Qjs`wcc1Et*`>^sYB?k(1iUn7|pko1Y&~mkg;0n-(M?|19zDB zmeV8M7H{``3ZvcKc%#NBiB;u>$Z(&1(hgax3Zs1=xy z%%%AZ%Sdu_lCXIkE83qF+0IcEw;=<4`!DpJar@pSJbr^5t?(!|pZUTbWK&hvR^vfkB0@)N&l z#2ROfyhGn7-k{P=1(>Mf!-HLKF(ItGEsvkRDDi-Yeg=5AMs8578CGE1hVjDC(m)NG z5T4|t5HJAA?$uJyyz?04Fl7Ge1`te|1t(2K=s?+( zp)~Lr(tLIHZ$ROTkmMZ{^|J8XrkOA0o=}9AA|)_PbVaYA|gt( z9;s<5^ejYu#I>H&A#P%o774?T5&psn^Rrxs%#WWF^2P{L#E!?m>^e(LC0fWgZjK;v z8`BFA6>~Bsk+fZ&1bV%)H*XJOp{^CQKG6~CAfJ0id^v&G?miAyAyP@6Y*IGgGjiM3 zqAYH^^GKk_U42N&N(vbr@=MU6AM%ADpFF0)Pb@i13aaNAuBD#_*qc3(M=juEnt2mzk3fFCy#<$^*IH3_2e^U5h_@-ZQTds)^1NAU)<-vY#+ex#RU0 zfI=_#!&;pRkOd!4(EhEfa>UdR7Avr7gzv~ZW8wrz04Rd;7L49|4EdG_WKha_`KORN zYO@k_71dNm;95w*L}oPbd1>tjkg8gV$B>zhK>X86$&r81jeO9R5c38brGEighhe%i zUs#PF22DTnK&)gs0?1di)kRRUEFU?0o8|Gt_hwkGG9neZt`1y2-TRTi&>uSCA8uer z{~dr8>ajyVU1|{faNvo9y=i2adIc~QbfG0);eLx@mHU*yWFxLmp90#77@qllRYs)C z4CCU1VRIbO4bgGNK8;#TI!{!0z1g$MuM6MdAUf^~Ht&;0V#0Uo_*P@h|C2@p*da6EAZ6 zJoe$R74kj^EDm=oM_($#vWC(Mt@#KlSCC5vUP-|gGoIg6XV7{PkCFPdHjI(@#=7S` z)~8pH9hRC&yNlt%rWPQrSZ+WDABQ-MW)cQtA+L_2`IkM%K=F>&Bm0>R%8>QRgnu_c z@FB|)^@lnr7>Iv}jeZMQaDxw67RBdT&kRclGz|r}Amkz8Rj(TsMt0l@MfQp<0&PV$ zg##ww;(;j7#tf7(KNAV(2<$!R8Ii1&wp-XXMXc&}^eC|MP+-F}sBv8Q`PMQM%~SVw z&S`7Cr)<({dL%P*Iv~?bUTP<+e0K*4C4_JFLkkLC-cP=JeQDR*0ACZ8MEj_!zpzw< zp(TOj#ut~NlKqtCc-Xl&Y7kCUO%*8}G?H~3q+2|vYp1T{IsHzRK<4?eeIE_DZ&H=6E8VC&nL7E_TlrI^GtcmG_+xVt8@_bh|V(>AOg((yKQK zltvUFX&jFu3S2l~5ztgUp!8|^+BW&CfrCrJeRq|f-${gazMn|Zy8q5v`ZaFQxs|o& z%OXR+2?Cw(YGbpxKryaPU6}6&V_`aP&tBi!o({>p^uZ{9fBTD+eTRkLE2t#*bYG)T z5uT2ENYR*0@%Ad06kqvGH6WLVy$R9i8f{(;UR@pn*qQo9wLIoo zk_QULyRwKWImN^ZqV?V*pMD9E^Vwe5To82zm6R)ZFW>peWS?stZPx&Q1S#-2?A9!V zQd1qszt9zQ(^QM+9}7s$L;Qh4_Rkrp`F4eMhYXMO?a2fu-x2|y98TMk-flI3yseqn>QaG=XQY2e5rN`LO1Gx z2yI|Y3(^J&=uCg1z)fNH%Row!olrp+q(KXah}@!;$^Hj1uDPM-(Vg?nT+nlGH>JHS zOYbO^oahYtnXR_J<(Uly&YZT+AumU_q26uzyrL-TdhpzAz!(bnb$lEw&($1Y7IYo05e{M zQ5F;)Pr#roS{P=APE_oP1CR2fJ(`E_6xM=WS$AhYE2hQZQJ$FM_}II=`SV>uYuM07 z3#2=}M%wt>F1hK6^(%PJl+;pl$TxObY#0lrJqrnb8Qmui0mXlc*`}6Z1iPG%( z+h05edCT@z6xFZD7v^2#(b(k^JDwV(AT_oDJp7Q?P50SL8a8S?G+F`u`X3v&cVUa1 z-;}Cm^M>-r@sh}7w`-MwYwcxM1H*(lVMDEY#VxRCy2g(T!QF%1!CQyE(`>K}RL^-E zZ>IMnH~el2Bqm6vXmtD;0$pFpXP{*K{bQf+CFWQDcoJhNOEuuU#U#eb78eoP+XKY6 zL_FE6mqQ41@>vL$PZ*(xdodpLw`Nw(&$$UXCnp% zCo_eC^{V$|JOpb!8Zg|)((G%cGOOu<`|~!xmTFfQS@hpMQ>5b)ig*(YyD4uW^ga25 zXgp4CdA8uVxH$jz3{005$Vs3r5<78f4NX^49XeJrJNoBc=+nD8GJFtutu%OO;=)5R zF72=B4oir<)gLfB6(vUltm-1N9^@jk1o>77R`xerzDzHaI`rg#jCO;Fb2Vt(?$M*| z!-RNU8IX4iL5AdZu3!dk?*YZVXoV0{3X9A9Zvqd?N3*XXJM>#4zkYqGe%A2_Xac|< zsVw@1j^1f%A2Zd-p|4GB0AV7Y-@tZn>nP8jOT5m?;RgS}CtiUOStBDOpVU~MFcG9L z#=oUuS$Z}7W%f1MG@omkZ5!fuYL0HVs1B8+`n(FzwI;HLZGdynx{QAwM3n$N=13M8?kun5bmi7CebNZ2( zU?}|DCev~)phg??8wn_mY+B_VQW{guf_CrKW9?N^6( z+oOckOVIvu>$;|v@4PQ#<~RRSZgY1{8bA2ebaE|hW3TItY!HQ>9I|=h_m8w!usb$+ zhCu*L2YQ>(?bT51ZawZOWQ?Dj1`U@Sh9J2`R=V??hDG$@hDw@(PbNfUI;}LcX8IR( z>jvTS#rns^54Y0-J`e0JR%`|?EW&>E!(Xro_kwRKD%Ep^C~P zwUW!|h@QpDT2T9nR92PwRM+TgR3|Z3?xB{tvVOiRQcQE7s%ztBkWKX)OJd}IgcM@X zwgWA5ET(t)hfc>UmAs!*iiga5ao733dCIL?c}@PBPUDjG+m+RSH>G&drC~(UX$Jl@ z1^(32j#v}DVO;wFw9BkstdE%qbu+efjpLmv583A^3SliP?j6%gYmQB1nxpvnMGPS7 zUXbNY^KMUb972)e0Er}&UcfWRc#~QYGBD&4T|2*| znIYLj(g${C>R|vGdFJz1+rxoZKwo}&<%I$$;X z^vb(Zs3bt=Jo5>q3n3yE!4M^$>b%r=nn#;`7WM+~LQoT6zSZL#q@bXXcrsD)cUg{9L^<2b4sbGq>t>ZgVJ(CjfbFe|2oWhT3|C|f_VOc$cxi$)z4qDwS<8Q z5fTus#{(rUbY0))kJeJZx;>Cb>tF{NbI#eZtIf_VPM~PNHS*Mz(Zri8968fTjOYyn ztLpJ!b=*=bjZlU+aFCFP)3d=J(G@I!JhN=EE2q3%Yp!hJBnv1Di`(^iJSp`@8!vBMeFZ_kD2p3%KP%y6W~rq0fqZpViZ3Xo{%-fV~j5SVn6SN%Z&g8aR;8 zD;8(qJIkv*(Y(>mF2rGx2lXzuZG!*hm&pxu_lC~cE| zvjK}X#;vmYFgrl|bIQQ?~Y~6y_$hP2!Pg&8yT8W~mc6MzTIMm2Q z+?n<0^0G-#?7e?a{-=;z z8gL%W!tH_2l)i{aa+}P8Gd#}TM7EUnQ_~B~ZzsX)p%UyYSED|q^Ssdowqz~^KS0iw*;{E5 zF}Zv9fbTlojMhv*bij|MI1-bRnqEiC)j&a54~Oj_$Mn>yJ$~svE&Tm47fc1;k!vE@ zbI6*74enykoOqs8aBL~hhqlT45JnnG5QTV4ABr(i60ysABJ;?^Vu zV`_k%)x{RQ+d%$}ENqk~nh<`1W410uF|~1suskg_b+NTQHBBM^0-RCQVI?kx7GRay z_3I3?J-MfOdBbumcOu4WMO+c~CrhMaD+CS*icL&R^t%mcJK3-8Dx79j5Bn7hS~jiR zj!dK!jhup$WV*V#25-TMM9Kaue1axlklhjY6SdI=m2mbLoGx`#_5m=ytZt25KFuUb zuP;5Z?=0YJsW=QQTCB6iH~M6K6biv+cVii(0L6pDjvSaiB3@3N!u<_YS6l>^kiC{5|}dPXag9$9V$wl%4Yj+0OC`bGj<*(-$ABCM0q1h(IZi&l08h*d4N!XF2xF)k+ zN7)YT+%4Paf9JEX`P;olcqFpvX$Kcmo6lOTnm6o11%^u=_O{;KdU)JpVUTyu9_k+hduK&I*Jl0(6_t~en!We1676UkQztO5hYl$io)jXZY%&$ zpc4+j#ie5V!SPy=mj;W&{`nq!l^;x73LJE<0k?(3p!6zWkWpR8R`-EZk27IaKQ6Uq z?J@CVyLCNx>R@+~T=qE+pC%St`K&xT4U3S^z&wDGUO@lXXejkm*=qarWYAtH^>C2l zoHv}Xgp?}jR?ENYv|eoR5Ry<$P^+=V`t8GMU7aO&Z@~$Mp53rT*-9C{?+Y;wAxXh^ lg75!Nj(Yrmne79Pz^a^ABAA^4IJXi{Lsk1?j literal 22553 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