From 0865176f8377e0bb45fa37136f381ab3b707726a Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest Date: Thu, 14 Jun 2018 19:47:50 +0200 Subject: [PATCH 1/2] Doc: Markers update --- doc/_static/markers/m00.png | Bin 0 -> 376 bytes doc/_static/markers/m01.png | Bin 0 -> 226 bytes doc/_static/markers/m02.png | Bin 0 -> 504 bytes doc/_static/markers/m03.png | Bin 0 -> 411 bytes doc/_static/markers/m04.png | Bin 0 -> 399 bytes doc/_static/markers/m05.png | Bin 0 -> 422 bytes doc/_static/markers/m06.png | Bin 0 -> 400 bytes doc/_static/markers/m07.png | Bin 0 -> 394 bytes doc/_static/markers/m08.png | Bin 0 -> 400 bytes doc/_static/markers/m09.png | Bin 0 -> 395 bytes doc/_static/markers/m10.png | Bin 0 -> 407 bytes doc/_static/markers/m11.png | Bin 0 -> 356 bytes doc/_static/markers/m12.png | Bin 0 -> 314 bytes doc/_static/markers/m13.png | Bin 0 -> 492 bytes doc/_static/markers/m14.png | Bin 0 -> 500 bytes doc/_static/markers/m15.png | Bin 0 -> 448 bytes doc/_static/markers/m16.png | Bin 0 -> 475 bytes doc/_static/markers/m17.png | Bin 0 -> 349 bytes doc/_static/markers/m18.png | Bin 0 -> 361 bytes doc/_static/markers/m19.png | Bin 0 -> 366 bytes doc/_static/markers/m20.png | Bin 0 -> 585 bytes doc/_static/markers/m21.png | Bin 0 -> 264 bytes doc/_static/markers/m22.png | Bin 0 -> 271 bytes doc/_static/markers/m23.png | Bin 0 -> 415 bytes doc/_static/markers/m24.png | Bin 0 -> 431 bytes doc/_static/markers/m25.png | Bin 0 -> 270 bytes doc/_static/markers/m26.png | Bin 0 -> 252 bytes doc/_static/markers/m27.png | Bin 0 -> 254 bytes doc/_static/markers/m28.png | Bin 0 -> 248 bytes doc/_static/markers/m29.png | Bin 0 -> 417 bytes doc/_static/markers/m30.png | Bin 0 -> 413 bytes doc/_static/markers/m31.png | Bin 0 -> 416 bytes doc/_static/markers/m32.png | Bin 0 -> 425 bytes doc/_static/markers/m33.png | Bin 0 -> 420 bytes doc/_static/markers/m34.png | Bin 0 -> 411 bytes doc/_static/markers/m35.png | Bin 0 -> 418 bytes doc/_static/markers/m36.png | Bin 0 -> 423 bytes doc/_static/markers/m37.png | Bin 0 -> 483 bytes lib/matplotlib/markers.py | 217 +++++++++++++++++++++++------------- 39 files changed, 142 insertions(+), 75 deletions(-) create mode 100644 doc/_static/markers/m00.png create mode 100644 doc/_static/markers/m01.png create mode 100644 doc/_static/markers/m02.png create mode 100644 doc/_static/markers/m03.png create mode 100644 doc/_static/markers/m04.png create mode 100644 doc/_static/markers/m05.png create mode 100644 doc/_static/markers/m06.png create mode 100644 doc/_static/markers/m07.png create mode 100644 doc/_static/markers/m08.png create mode 100644 doc/_static/markers/m09.png create mode 100644 doc/_static/markers/m10.png create mode 100644 doc/_static/markers/m11.png create mode 100644 doc/_static/markers/m12.png create mode 100644 doc/_static/markers/m13.png create mode 100644 doc/_static/markers/m14.png create mode 100644 doc/_static/markers/m15.png create mode 100644 doc/_static/markers/m16.png create mode 100644 doc/_static/markers/m17.png create mode 100644 doc/_static/markers/m18.png create mode 100644 doc/_static/markers/m19.png create mode 100644 doc/_static/markers/m20.png create mode 100644 doc/_static/markers/m21.png create mode 100644 doc/_static/markers/m22.png create mode 100644 doc/_static/markers/m23.png create mode 100644 doc/_static/markers/m24.png create mode 100644 doc/_static/markers/m25.png create mode 100644 doc/_static/markers/m26.png create mode 100644 doc/_static/markers/m27.png create mode 100644 doc/_static/markers/m28.png create mode 100644 doc/_static/markers/m29.png create mode 100644 doc/_static/markers/m30.png create mode 100644 doc/_static/markers/m31.png create mode 100644 doc/_static/markers/m32.png create mode 100644 doc/_static/markers/m33.png create mode 100644 doc/_static/markers/m34.png create mode 100644 doc/_static/markers/m35.png create mode 100644 doc/_static/markers/m36.png create mode 100644 doc/_static/markers/m37.png diff --git a/doc/_static/markers/m00.png b/doc/_static/markers/m00.png new file mode 100644 index 0000000000000000000000000000000000000000..59b3ad7fddb05faccc1d266ff37a9ddb1d196514 GIT binary patch literal 376 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI)F^WY?Y63tY>v$J>6ov{UMvt0iA@Dgc&=&o5j_-NY?#78_rhp{_p?u z2MXSQ4L`*jF7hxf!9_SZB_$z1=;^XMADF~LD*_Ji{QEz@QSp8x?|QpMN>dscg;olG zzn8Y-`!DV0NgC$P`!-88xA(D>@~E@(+?BD)vIt{fc*vF$=s3(zwRp00i_>zopr E0AdD(a{vGU literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m01.png b/doc/_static/markers/m01.png new file mode 100644 index 0000000000000000000000000000000000000000..e40b5db05243538f8eda8cba46d0edc2e2d68726 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI(WGfjV|nOJ`oRcv|S7q&zE$Gd`1HH{wOH0kM2uN}5`nIYQicX!eK6+wEU#`iU^ zSM9r1*|RMB+rf!VOzH=>o0m-exWIFF+SB&+Wpe)c?-d>dO(?QcJ1o{OE|l`krbpQA za;cicx$jK#mS-QbnAm>aOz-!D8Jz!SK2WwWDvzoBQS>@6VBLh^4kqs7liPo{cT9d# zHJ9awqYA&dcGS94zOj?r%U^}9JGHy4FY~4ODv4dEwmuSl;28e$W@u%_&X5$Fj3%eF zrjm2_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI}klYi{4+V1Bc&{)K{x rb}uhy9yz048_KIt|9k#(sr`&HL3US6s|8zu{$=oV^>bP0l+XkK(kGwu literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m04.png b/doc/_static/markers/m04.png new file mode 100644 index 0000000000000000000000000000000000000000..8e2cc09b85b5d5df26aee8429339a0c50b75ddea GIT binary patch literal 399 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kIrk<{PeL-j=C9-zEvFL5B8{=Y9aSjbkZV51{K$4j|JjKJ2?)jHZN~e zW@VY)bG7@C+uHVNYBT5c`d@v#(Bb^Cro?l5muyFe^ z%dIoL?WN7Lj;=U6#noQ=eO2$KJjL3c&W7s0j@Mt`@4t2L^QOFyHRYSE8V=_*Kd#g6 f*54R<|Fiz0C2Ne`w8PE={m9_y>gTe~DWM4f(`ujr literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m05.png b/doc/_static/markers/m05.png new file mode 100644 index 0000000000000000000000000000000000000000..7993403904225c0ae06e09f619daef23ecc1bb9e GIT binary patch literal 422 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI4CI{u@cDfFE2)1#;kM@OamGLVZBHfK-Pr%|X8U`MPdZPes$P7PZo3z2 zE~#hx^TdG@Ck}l0Z_j*q_xk-3OIR#U8q3@bP;;AMQTEkEvhVbTdX`I)afeTuPFe8K zJ#T;Fi(8e=I?kL@_cr|0Iy^T#{)CYTTY=h9w)k8&Tgkc(B{wbUyv16FHW=QXm6$k5 zvboQsa@vF505>-`wrbNrHtSHqo(@&D6&+q(PokWH)DER`>a+)?SlD^btN(FO;mqN- yRee%Ve*%3WS@-wv@dM`$`P3dRWSkWy#-N@w`75jIM=7A!89ZJ6T-G@yGywn-Tc-8^ literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m06.png b/doc/_static/markers/m06.png new file mode 100644 index 0000000000000000000000000000000000000000..51df3f4b6e2e8f35f24feaa599fbd1dbf9befe5f GIT binary patch literal 400 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI7sn8b-sC_3|NpON zlVVhhlI*$uVSfETqkvbMYufC8f0%o4SF(Kb|0|1m*z@(8 z)|NF(I?hf~-hMyectMG`p6$;Q7dHIVYO~>1Z8J7>(gB-Pe0@RRLj&j1B_GuTC-JCX z3jh*V0~YbLKMe@tJ(|74fM2>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI_T_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI7sn8b-sC_3|NpON zlVVhhlC;^uQ~&iPyYv5d(LC$z{w`>IIKSS==T7zPhgYA^zhXWo#30KewXOd5*Y<_k z&wbf|pl#h;bIE;we>n&6D;rvV`F8p|Po(#GLz~L~a}P$uO?dd`@OK`gra3&97xhYn z9IY(O{^QTE#`5!z{cdN!{ny*e{_lR($Cp3{{QnPP?Du}(_+QHO_W$*kpCy*ZH68r) z;jTHGysc+jujRFZ@Ks%(jdIRxO#5(ga!SRQchWx(egZk&&CPAolTNPUqJs}Sx|B~B aFkH@>nSSignHr!c89ZJ6T-G@yGywp-!Ksh{ literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m09.png b/doc/_static/markers/m09.png new file mode 100644 index 0000000000000000000000000000000000000000..40c754dcd833581cf7295f5e982517135e41abc5 GIT binary patch literal 395 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI-aBACg`F+L)Mn;c9j(cPU{rUEq zzxn@^#XLPdJUr5yb0sWp&L~`!dQkP_tIPat;q&X0I?CVfIr-tq-|{wJ%WD<9$FhH1 zn%pm;_HJ))=s7pn7RS&z;_DCc@KiLh&OhyczyA0J&EvBcu%@(IGBYzDJ|>gRre`*1 zp1SSUf{hyue7en&Dn9+QcK&;8b;Z?5Q$<3LR!T-Ol}IdMvG};Gcv5q#h=IlC{~yd` Z7~-yn9o^n{%MIv122WQ%mvv4FO#r|bm!$vz literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m10.png b/doc/_static/markers/m10.png new file mode 100644 index 0000000000000000000000000000000000000000..101743620ede3a16c2ed63dc1caa8a16cf67c5b4 GIT binary patch literal 407 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kIJ&R>}SUAJv(`uu?V1#WI`ZRzs+jIZSEI8^ZaY5F9dbQLwty5C>h z57wUwWCMb>UdwAdF*!O{jOR2qHa`4z`aDlvaG%i(O)kSJyH+Qk=>E9LxZ`8tgmepL zW@hIvbA)-^-|so9HU0gXQvoklwJEvH`7a?Mk+=8HnSyT*tJ$he1Lx?uv#YdPDl0P| zK9(cR=4Y0+NXBK#>DOj)sTH68Ssz{|lf8&HEkVI(t~Ymq(H52$1}nNg3*{OxGj|Gl iX-OPQJ-xtGhT(!u!2HL|pBDlB%HZkh=d#Wzp$Pz(ESE|E literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m11.png b/doc/_static/markers/m11.png new file mode 100644 index 0000000000000000000000000000000000000000..a6a5cbd6935d0d0dbc7bda3593210af8c6422d44 GIT binary patch literal 356 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kIguw*Egn{q2E0@8aLPY5OG4|Koma5)(6!AF*vQ&phU0o=F9-Z8-Ny zM?C-eq588$*H!!SbCU~hcFcF!_)DecMU=$ah=j$VB?~ug^hx%YdLq_&#wOh%cg2Hw kcP8CF)HeOa&fFVdQ&MBb@0Bv=KZU6uP literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m12.png b/doc/_static/markers/m12.png new file mode 100644 index 0000000000000000000000000000000000000000..68c5ce111d2c98caaebd8356544424c29a425c2b GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kIn+a literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m13.png b/doc/_static/markers/m13.png new file mode 100644 index 0000000000000000000000000000000000000000..232c8eb686f3238cf4d65061659862abd0e4f593 GIT binary patch literal 492 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI5_GSf4T?oD;p;Mdv%$=ZOhSg zNjLJ!LJJNHB&xaZd3b$( zebR?H6%zB82ORiT6V2x9X%}+3P%}*Yd8)v(H04tXf^ueTrG;@kg>%}B4GoQcyz(|Q zFgAQ-Is<6gL3jVIM$T@lJ)Re%{e@J8Ha716|Ihfx3(ur-1-ss3MNKTtZY}M+=~)M} zEfy{~D6Yc7o1Sn$-sDG9OJie)&zJZ2>)W!=+drIgebSS|FN+p!vfr6dAiA^pSOLS7 X9hv91uZk}P#teg}tDnm{r-UW|_wvX= literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m14.png b/doc/_static/markers/m14.png new file mode 100644 index 0000000000000000000000000000000000000000..e49e35635e9b75fa37640f9d53f9551bb748e6a8 GIT binary patch literal 500 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kImB(RpcKoW@4Xv%5mYrwW=$owKwP1HZGHyykg_dz2`58b7W<7NJ&YpS}5SPaD}3e zvZ|rSq3?dpdkwa(ZfpAgwBY>T`}Zy9RPXe1X<N`!fGQXXHIr_&re$=ix_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kIZ%VkZd*1gwbBZhaR;=2jHnWs9Kdj=geBd`LlfM(E#^>bOaj3<_e9y3DlW6pK zxZ^=lUD=7o-J7F+yf%6A>0RgQ_H>t){*1J{Mop`NG~Wg5KE3H{{q5nZQ-Ob{eKb+= zx^b2xzd#6^nk;IuTDO|&}Q&-^>bP0l+XkK`Y literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m16.png b/doc/_static/markers/m16.png new file mode 100644 index 0000000000000000000000000000000000000000..d3f594b11f4a57d4780286ef2ddc38b85728e52e GIT binary patch literal 475 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI%a@5>vZc~Et3ZxC~BtJtkeq4JBY%1hrYSe%^xe^2u|Rjp^DU0bJEn0HT0YP%5A z&ei0bC#2Y%zV~~L#h(WTX_DvJ6Ej|1@eaFXbyBB{h zxpwfzwdCsHWXZl|I!(S334$#=?w60msoH&>9<?pmz>G9rWQ)hgA-=*?J zs`}=~zSyOu89`o>`7tdGdT58I%7)due(u6>rWIFaqrg6Y*_X0z3qRdyx?fH{V5@`z=&Y*boFyt I=akR{0JcrX<^TWy literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m17.png b/doc/_static/markers/m17.png new file mode 100644 index 0000000000000000000000000000000000000000..2c6c57243b5262a3f295dbd7f36e1ecaa0c4ca22 GIT binary patch literal 349 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kIIIKSS==T7zPhgYA^zhXWo#Gr&X{h;c{SC{#F zHthZMMVYIY=Sam($s<230**)&rY`z-ce{kzyS=_!v_H=cmE?-O+F>j+{j~PA*t8cM zmr^fGe5U@QXwE^UW5*j8O0bnI`Dw^=oUJV{OVXyT`{O3#C)TTtIzDa^UMiQKwUAB1 e=Ae@n1H;-Zd+WcQL34pFX7F_Nb6Mw<&;$U!aDt=& literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m18.png b/doc/_static/markers/m18.png new file mode 100644 index 0000000000000000000000000000000000000000..a52d05098b5da970fbcd941e0b6ada0a3abad1de GIT binary patch literal 361 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kIa+gwqS^PHl+$1O?c}&~gk_ob-5Zatw9GhH_CU~1UxQ(S)5WC+o*(>u zvAeXfDMEaSye+?Zl&8B)LhOXRFG*W&O*@e?!)D!i@wSuluQq>>N#OT6Xx}Jdz@X9a zxn^c=>XtKxCm+{M-nMdcb%yBeWpM|mUflg){)20+qBh5mWJVP|dww(MO!2o@J4>hM s=L-sJ+?{5(Z0*G@&)q-m|Nm1uBY%Q%@39|8fUaloboFyt=akR{00?1@_5c6? literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m19.png b/doc/_static/markers/m19.png new file mode 100644 index 0000000000000000000000000000000000000000..0c40250bd81572972e3b25b237407a7ee86987b2 GIT binary patch literal 366 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI9@-{gL zv_0fcR;+4p<9IvagzM@94!TuLQjuMf{!%6B&(nE}A8z`*N5Dy=qhrHm8JqUwsYic) zJF;WVvd`}Pcl;R{?5=OqJ1Tp5ZvMmXUxEYXI~=vVAtg}Axs7Gg4%TZ-I`0~nIcQKW1*Ro%~Hrx=OCH$jx@(%L@2bJ=8mn4W@XA;Ue w6wJuW#xNnd&GN#_UkeiXmVG`tuYQsE-rC*X$DEcc0KLHA>FVdQ&MBb@0HwZ(e*gdg literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m20.png b/doc/_static/markers/m20.png new file mode 100644 index 0000000000000000000000000000000000000000..1f75d0297a62c2fde2af3207086337117d8061cb GIT binary patch literal 585 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kIJ7bpwW4W^DU`7(;Hb2;{G>BIGcvDxc+y3>)NO3GP^o*!9#_J1lH6W z{F?KhM=g2?BsYG!w)^~RzJ1^K3I}<4PH($(?$P6Jt;^BsDSE5t9(~=*A9ks7l|OG- z-={0m@^cTDZw|NFw}<(|hfnA7zO6F;5xMkO-MXHCp|Y`u>eii!T>8y^&&roNvU3)5 zI0qc~^w84R_rLYN>Ds}2)-INOH$`n>z}n5zwg2<(ud7K_4>q}5qaOTZ*|%$QdP`Gu zYaN5l^P89HMfyJfxi&WH(bC=Ne%;?Q#C9z6_T&CO<=wouk01YwOLJ;oam-7qZ52nF zbKSAOd%qPbvPge4;N!ltkmK6p$s8Yx=Vm&(*T@AGI|kdBil-cT{7t65?oz3jt S(`13s&fw|l=d#Wzp$Py7VfuXl literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m21.png b/doc/_static/markers/m21.png new file mode 100644 index 0000000000000000000000000000000000000000..d3b4dee68ba88a68289da064a3c8fa3a38572c6f GIT binary patch literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kIiBdUooE(VvzM?#lyvImoFC> r#+9|zq=&Kr=|xwJ`=&j=!N9P0xx~xOGc5ywhBJ7&`njxgN@xNAcB@)W literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m22.png b/doc/_static/markers/m22.png new file mode 100644 index 0000000000000000000000000000000000000000..44e856008fa2be1c6cec4e5763b50b99b734ab96 GIT binary patch literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kId_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kIs~p2{3hDxNspTs)FUQ>YldN;~PFm#T}|(;ZN{RW^Qe9IFaOjBh_J3+ShVp>z_LB z`8TY4Z51K3J(Y(c>19G#$cfX-)+^t46so#EJKeSQ?#s4aQ)|zQ%3Ob3_KmT7!;{p- z63h;Fy`K8^ob@&BOg-`AW6eb4!*){{7l%zuIwPsTKDo*_)gfu2g!fx6AS+?&&-Z7Q z?>A~+Q9fr7y}L>Ilk8G=Hm;uSPYZVTr=9!Fd&%O3{*wIDPqfq)e*gH{?=i#c6w}Io t{~cEHXdK(6HuJU7Pi;Lj^NFF)@~7?3>a)AA3iL7qgQu&X%Q~loCICRMp;Q0> literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m24.png b/doc/_static/markers/m24.png new file mode 100644 index 0000000000000000000000000000000000000000..c666d7a8ee1e3e9e592f9349376822d9550aaeb7 GIT binary patch literal 431 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kIwS>#w44vW^jITKQYW?+AyeP4M=}GRt zx3;X8m{Z)RfAROUAKyP&=qKt6zxh1r%;PA%OV>NiGZ`5o?2lh4zyImF#Lsmm_XA>A zXb4DJs-3&)dn%oAvRJ^Wx2a8frbY}gVUM@_R6e`hP#R!g7U!bMr&NlbktigB|o|=K0x~A9kKHpqw4Rk z)cxG>&_L45@@oSFL(E}4?H>t+PYS~({9HG!TOL1`M9A KelF{r5}E+fwxs0% literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m25.png b/doc/_static/markers/m25.png new file mode 100644 index 0000000000000000000000000000000000000000..d48d2c4659fa579519659617529adb15efd82da4 GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI^p00i_>zopr0N77k7XSbN literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m26.png b/doc/_static/markers/m26.png new file mode 100644 index 0000000000000000000000000000000000000000..e0b2bbddbd8d9c3fef8b4a0e073ed336d076a1de GIT binary patch literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kIx<76*eqz1asN>@%;idCF{s)4SMPh;pA6QPW gc(}OjG9LrOg12!KwpVW34K$L$)78&qol`;+01cN`zyJUM literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m28.png b/doc/_static/markers/m28.png new file mode 100644 index 0000000000000000000000000000000000000000..58ef370d58330afb4cedf722b424257672e2078e GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kIWA?8bp~JF?>qY8)n$GuiGM%U4gTe~DWM4f+qqC~ literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m29.png b/doc/_static/markers/m29.png new file mode 100644 index 0000000000000000000000000000000000000000..48b326482ace7f6d30634a93dfd0a1f20f322674 GIT binary patch literal 417 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kIamC$&*2K3vms?z&kZMt6@PJuGx=)TL z#B@*Q=g_wK_5TEyPJ6N>;{EEg2hJTja^TDnkJ`h{y{Qu0p4>7x!C7c1U^IV?&l0V3 zr#G0MZ&N(s(e|s&*ucP`VB22WQ%mvv4FO#pJ_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kIJf32Sz=cO)8dQ829->T^A2j4Tw&`xnitaD)#4elq}g?`^W}TV3TyD^b5S&*DA%zowsjmK9<0z|KP+ap=EES zw3aq)P`~zM-Sfpur8wk@f6TcM!n5v> zf0$t7_uc#g%fHqSYu_#~Hfo(-?xy`F=ecdgjp7iOf65ON&j$+roE~o~AoxjAvUDlS w(io9Lj0wfN6sG$%b{vqXzLxy|vwsouLBGlsH~(*X4fHgFr>mdKI;Vst006k7A^-pY literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m32.png b/doc/_static/markers/m32.png new file mode 100644 index 0000000000000000000000000000000000000000..e4c8d06605e113995d3214e4a9912978926d970c GIT binary patch literal 425 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kIPBcWAU+YKWEbI-4Y?ayXg4_xDv+%da~pz4JuP&O`Yjl1Hz1bjXSeUYi}i z?-}R(%_`#NOwDl{n3-p+Y5nLsy=-$|vPw1!!*P!3YpovdsIJJob}91c)2E7u&K`_a zwz=HX2IiXo3GB=b}!pYYV^0JA7y;EsNwcK*5CXFo8G!QKFibNYyWw>$WH41 z`TNs8`@IzWY89LD_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI5~8c{67ETy*+dDG8Or!ZS}vuwl6F@EZVm9`8=UqiNH2xc4k$E!v$Xw z7OZ;cJA1v+pFf}bje-|4C~IE(on^dXvw@+3v0>2t4++VVZMr+nc#522c&5ziHx*vl z_1P%r?B+xcqe%<*J>&s`m>eA*+l9YCIE7vK;2ZfSF`w)6>le)f%C0!5a_+d}mWMq{ uracFGC_N!XMX$p{uc*^>hR$J6Muuq&L9@R}WxD}A&fw|l=d#Wzp$PzX3ZxML literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m34.png b/doc/_static/markers/m34.png new file mode 100644 index 0000000000000000000000000000000000000000..fd66b50b7dc3031dc79724ed7c613db3ff28f4d9 GIT binary patch literal 411 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kIEUT=TJ{LjvzP%BCCCSHJ|Nn3LkDt%woj<1Ew`xT7jydTbo;g!OGGc~=3Rxr7Bb3JUG`<{WI`lkn6%5A??Q q11C;+Oo^Iw*>WS>fT%i!ti=d#Wzp$P!$a-zfl literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m35.png b/doc/_static/markers/m35.png new file mode 100644 index 0000000000000000000000000000000000000000..365d652499c603f45a9d9ee72691f70afa013576 GIT binary patch literal 418 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kIJcH$pYY-lXOG+YgHJeHD%jRv2$WV4+a0Le(c&raGU4Kj3tPTRbS%6$dzysG z-{Z53_f>zITP-OlSSOXiDpZ$eix2t_%`M3Oob<&B-6|SO;n}FVC@O1TaS?83{1OO>hpNRkf literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m36.png b/doc/_static/markers/m36.png new file mode 100644 index 0000000000000000000000000000000000000000..5b6ff5e953e70411d6f8ebcecbaf727e695aaf32 GIT binary patch literal 423 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kIXU-ltbELzYlNkhz zg_WC|ILw_l@8?^#bcadd#*GGNx=hm&6ca4Cg_RGVkw|9qGfR8Ko1T!65Fq+IHG}uc z(d>%o1$xb^EcC-Hn^vkGiD*;2;W3NxF0)ThfMv4eoT^T*t``sc_2+n+$=Lq+*lNu6 w!=EXl_Swh!yT4@rU!POyGo{Kc>Y59~<4G-R#551G0R7J3>FVdQ&MBb@0Ejx9%>V!Z literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m37.png b/doc/_static/markers/m37.png new file mode 100644 index 0000000000000000000000000000000000000000..7afebed4557d9f91c0658f4baa8e5113e95ff9d4 GIT binary patch literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI(amUzblsbC(rqg&)dP=Q zQK?v&Tyg!}?1F6*=P)p{Ya2T+SZLz+)kU)I|Jm@id2`Jr^=$qzh)))Nl=R`s)D(kI zfkkIN^oq|j%Gvuz#x>_~YdX*WfB(}9u1{NVrXW|dj!iMotgSr0-p~LDR&;za_^@HK z0m}nUAvPdzOEM1pxQd%6`@C&x0uWe4K0Tvw?zm$B|HYRwV)y>cS;LdG=Z(ut#Zw>T z_y0G#Q~!BtBM>`qtj?c#^Loge>u{#y#sH4Sbbig z?e&BNi$Kqd5q=XMemkwtv&kt2i08OS`;`Q#u=CvgB*W17IP~2A=F_Kv5yIf<>gTe~ HDWM4fQZ>K} literal 0 HcmV?d00001 diff --git a/lib/matplotlib/markers.py b/lib/matplotlib/markers.py index 8c6e34cfb3a3..d79a41615a2d 100644 --- a/lib/matplotlib/markers.py +++ b/lib/matplotlib/markers.py @@ -5,82 +5,149 @@ All possible markers are defined here: -============================== =============================================== -marker description -============================== =============================================== -`"."` point -`","` pixel -`"o"` circle -`"v"` triangle_down -`"^"` triangle_up -`"<"` triangle_left -`">"` triangle_right -`"1"` tri_down -`"2"` tri_up -`"3"` tri_left -`"4"` tri_right -`"8"` octagon -`"s"` square -`"p"` pentagon -`"P"` plus (filled) -`"*"` star -`"h"` hexagon1 -`"H"` hexagon2 -`"+"` plus -`"x"` x -`"X"` x (filled) -`"D"` diamond -`"d"` thin_diamond -`"|"` vline -`"_"` hline -TICKLEFT tickleft -TICKRIGHT tickright -TICKUP tickup -TICKDOWN tickdown -CARETLEFT caretleft (centered at tip) -CARETRIGHT caretright (centered at tip) -CARETUP caretup (centered at tip) -CARETDOWN caretdown (centered at tip) -CARETLEFTBASE caretleft (centered at base) -CARETRIGHTBASE caretright (centered at base) -CARETUPBASE caretup (centered at base) -`"None"`, `" "` or `""` nothing -``'$...$'`` render the string using mathtext. -`verts` a list of (x, y) pairs used for Path vertices. - The center of the marker is located at (0,0) and - the size is normalized. -path a `~matplotlib.path.Path` instance. -(`numsides`, `style`, `angle`) The marker can also be a tuple (`numsides`, - `style`, `angle`), which will create a custom, - regular symbol. - - `numsides`: - the number of sides - - `style`: - the style of the regular symbol: - - 0 - a regular polygon - 1 - a star-like symbol - 2 - an asterisk - 3 - a circle (`numsides` and `angle` is - ignored); deprecated. - - `angle`: - the angle of rotation of the symbol -============================== =============================================== - -For backward compatibility, the form (`verts`, 0) is also accepted, but it is -deprecated and equivalent to just `verts` for giving a raw set of vertices that -define the shape. - -`None` is the default which means 'nothing', however this table is +============================== ====== ========================================= +marker symbol description +============================== ====== ========================================= +``"."`` |m00| point +``","`` |m01| pixel +``"o"`` |m02| circle +``"v"`` |m03| triangle_down +``"^"`` |m04| triangle_up +``"<"`` |m05| triangle_left +``">"`` |m06| triangle_right +``"1"`` |m07| tri_down +``"2"`` |m08| tri_up +``"3"`` |m09| tri_left +``"4"`` |m10| tri_right +``"8"`` |m11| octagon +``"s"`` |m12| square +``"p"`` |m13| pentagon +``"P"`` |m23| plus (filled) +``"*"`` |m14| star +``"h"`` |m15| hexagon1 +``"H"`` |m16| hexagon2 +``"+"`` |m17| plus +``"x"`` |m18| x +``"X"`` |m21| x (filled) +``"D"`` |m19| diamond +``"d"`` |m20| thin_diamond +``"|"`` |m21| vline +``"_"`` |m22| hline +``0`` (``TICKLEFT``) |m25| tickleft +``1`` (``TICKRIGHT``) |m26| tickright +``2`` (``TICKUP``) |m27| tickup +``3`` (``TICKDOWN``) |m28| tickdown +``4`` (``CARETLEFT``) |m29| caretleft +``5`` (``CARETRIGHT``) |m30| caretright +``6`` (``CARETUP``) |m31| caretup +``7`` (``CARETDOWN``) |m32| caretdown +``8`` (``CARETLEFTBASE``) |m33| caretleft (centered at base) +``9`` (``CARETRIGHTBASE``) |m34| caretright (centered at base) +``10`` (``CARETUPBASE``) |m35| caretup (centered at base) +``11`` (``CARETDOWNBASE``) |m36| caretdown (centered at base) +``"None"``, ``" "`` or ``""`` nothing +``'$...$'`` |m37| Render the string using mathtext. + E.g ``"$f$"`` for marker showing the + letter ``f``. +``verts`` A list of (x, y) pairs used for Path + vertices. The center of the marker is + located at (0,0) and the size is + normalized, such that the created path + is encapsulated inside the unit cell. +path A `~matplotlib.path.Path` instance. +``(numsides, style, angle)`` The marker can also be a tuple + ``(numsides, style, angle)``, which + will create a custom, regular symbol. + + ``numsides``: + the number of sides + + ``style``: + the style of the regular symbol: + + +---+-----------------------------+ + | 0 | a regular polygon | + +---+-----------------------------+ + | 1 | a star-like symbol | + +---+-----------------------------+ + | 2 | an asterisk | + +---+-----------------------------+ + | 3 | a circle (``numsides`` and | + | | ``angle`` is ignored); | + | | deprecated. | + +---+-----------------------------+ + + ``angle``: + the angle of rotation of the symbol +============================== ====== ========================================= + +For backward compatibility, the form ``(verts, 0)`` is also accepted, but it is +deprecated and equivalent to just ``verts`` for giving a raw set of vertices +that define the shape. + +``None`` is the default which means 'nothing', however this table is referred to from other docs for the valid inputs from marker inputs and in -those cases `None` still means 'default'. +those cases ``None`` still means 'default'. + +Note that special symbols can be defined via the +:doc:`STIX math font `, +e.g. ``"$\u266B$"``. For an overview over the STIX font symbols refer to the +`STIX font table `_. +Also see the :doc:`/gallery/text_labels_and_annotations/stix_fonts_demo`. + +Integer numbers from ``0`` to ``11`` create lines and triangles. Those are +equally accessible via capitalied variables, like ``CARETDOWNBASE``. +Hence the following are equivalent:: + + plt.plot([1,2,3], marker=11) + plt.plot([1,2,3], marker=marker=matplotlib.markers.CARETDOWNBASE) + + +Examples showing the use of markers: + +* :doc:`/gallery/lines_bars_and_markers/marker_reference` +* :doc:`/gallery/lines_bars_and_markers/marker_fillstyle_reference` +* :doc:`/gallery/shapes_and_collections/marker_path` + + +.. |m00| image:: /_static/markers/m00.png +.. |m01| image:: /_static/markers/m01.png +.. |m02| image:: /_static/markers/m02.png +.. |m03| image:: /_static/markers/m03.png +.. |m04| image:: /_static/markers/m04.png +.. |m05| image:: /_static/markers/m05.png +.. |m06| image:: /_static/markers/m06.png +.. |m07| image:: /_static/markers/m07.png +.. |m08| image:: /_static/markers/m08.png +.. |m09| image:: /_static/markers/m09.png +.. |m10| image:: /_static/markers/m10.png +.. |m11| image:: /_static/markers/m11.png +.. |m12| image:: /_static/markers/m12.png +.. |m13| image:: /_static/markers/m13.png +.. |m14| image:: /_static/markers/m14.png +.. |m15| image:: /_static/markers/m15.png +.. |m16| image:: /_static/markers/m16.png +.. |m17| image:: /_static/markers/m17.png +.. |m18| image:: /_static/markers/m18.png +.. |m19| image:: /_static/markers/m19.png +.. |m20| image:: /_static/markers/m20.png +.. |m21| image:: /_static/markers/m21.png +.. |m22| image:: /_static/markers/m22.png +.. |m23| image:: /_static/markers/m23.png +.. |m24| image:: /_static/markers/m24.png +.. |m25| image:: /_static/markers/m25.png +.. |m26| image:: /_static/markers/m26.png +.. |m27| image:: /_static/markers/m27.png +.. |m28| image:: /_static/markers/m28.png +.. |m29| image:: /_static/markers/m29.png +.. |m30| image:: /_static/markers/m30.png +.. |m31| image:: /_static/markers/m31.png +.. |m32| image:: /_static/markers/m32.png +.. |m33| image:: /_static/markers/m33.png +.. |m34| image:: /_static/markers/m34.png +.. |m35| image:: /_static/markers/m35.png +.. |m36| image:: /_static/markers/m36.png +.. |m37| image:: /_static/markers/m37.png """ from collections import Sized From 354fa7de1d2babc7f84a816f568326eb2b021cf6 Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest Date: Thu, 14 Jun 2018 21:01:53 +0200 Subject: [PATCH 2/2] Doc: Markers update --- .../marker_fillstyle_reference.py | 4 ++ .../marker_reference.py | 71 +++++++++++++++---- lib/matplotlib/markers.py | 18 ++--- 3 files changed, 72 insertions(+), 21 deletions(-) diff --git a/examples/lines_bars_and_markers/marker_fillstyle_reference.py b/examples/lines_bars_and_markers/marker_fillstyle_reference.py index 50ac70354d5e..cffe2cbc401f 100644 --- a/examples/lines_bars_and_markers/marker_fillstyle_reference.py +++ b/examples/lines_bars_and_markers/marker_fillstyle_reference.py @@ -4,6 +4,10 @@ ===================== Reference for marker fill-styles included with Matplotlib. + +Also refer to the +:doc:`/gallery/lines_bars_and_markers/marker_fillstyle_reference` +and :doc:`/gallery/shapes_and_collections/marker_path` examples. """ import numpy as np import matplotlib.pyplot as plt diff --git a/examples/lines_bars_and_markers/marker_reference.py b/examples/lines_bars_and_markers/marker_reference.py index fd4371e2aa33..715e8d685a80 100644 --- a/examples/lines_bars_and_markers/marker_reference.py +++ b/examples/lines_bars_and_markers/marker_reference.py @@ -1,9 +1,13 @@ """ -================================ -Filled and unfilled-marker types -================================ +================ +Marker Reference +================ -Reference for filled- and unfilled-marker types included with Matplotlib. +Reference for filled-, unfilled- and custom marker types with Matplotlib. + +For a list of all markers see the `matplotlib.markers` documentation. Also +refer to the :doc:`/gallery/lines_bars_and_markers/marker_fillstyle_reference` +and :doc:`/gallery/shapes_and_collections/marker_path` examples. """ import numpy as np @@ -14,36 +18,52 @@ points = np.ones(3) # Draw 3 points for each line text_style = dict(horizontalalignment='right', verticalalignment='center', fontsize=12, fontdict={'family': 'monospace'}) -marker_style = dict(linestyle=':', color='cornflowerblue', markersize=10) +marker_style = dict(linestyle=':', color='0.8', markersize=10, + mfc="C0", mec="C0") def format_axes(ax): ax.margins(0.2) ax.set_axis_off() + ax.invert_yaxis() + + +def nice_repr(text): + return repr(text).lstrip('u') + + +def math_repr(text): + tx = repr(text).lstrip('u').strip("'").strip("$") + return "'\${}\$'".format(tx) def split_list(a_list): i_half = len(a_list) // 2 return (a_list[:i_half], a_list[i_half:]) + ############################################################################### +# Filled and unfilled-marker types +# ================================ +# +# # Plot all un-filled markers fig, axes = plt.subplots(ncols=2) +fig.suptitle('un-filled markers', fontsize=14) # Filter out filled markers and marker settings that do nothing. unfilled_markers = [m for m, func in Line2D.markers.items() if func != 'nothing' and m not in Line2D.filled_markers] -# Reverse-sort for pretty. We use our own sort key which is essentially -# a python3 compatible reimplementation of python2 sort. -unfilled_markers = sorted(unfilled_markers, - key=lambda x: (str(type(x)), str(x)))[::-1] + for ax, markers in zip(axes, split_list(unfilled_markers)): for y, marker in enumerate(markers): - ax.text(-0.5, y, repr(marker), **text_style) + ax.text(-0.5, y, nice_repr(marker), **text_style) ax.plot(y * points, marker=marker, **marker_style) format_axes(ax) -fig.suptitle('un-filled markers', fontsize=14) + +plt.show() + ############################################################################### @@ -52,9 +72,36 @@ def split_list(a_list): fig, axes = plt.subplots(ncols=2) for ax, markers in zip(axes, split_list(Line2D.filled_markers)): for y, marker in enumerate(markers): - ax.text(-0.5, y, repr(marker), **text_style) + ax.text(-0.5, y, nice_repr(marker), **text_style) ax.plot(y * points, marker=marker, **marker_style) format_axes(ax) fig.suptitle('filled markers', fontsize=14) plt.show() + + +############################################################################### +# Custom Markers with MathText +# ============================ +# +# +# Use :doc:`MathText `, to use custom marker symbols, +# like e.g. ``"$\u266B$"``. For an overview over the STIX font symbols refer to the +# `STIX font table `_. +# Also see the :doc:`/gallery/text_labels_and_annotations/stix_fonts_demo`. + + +fig, ax = plt.subplots() +fig.subplots_adjust(left=0.4) + +marker_style.update(mec="None", markersize=15) +markers = ["$1$", r"$\frac{1}{2}$", "$f$", "$\u266B$", + r"$\mathcircled{m}$"] + + +for y, marker in enumerate(markers): + ax.text(-0.5, y, math_repr(marker), **text_style) + ax.plot(y * points, marker=marker, **marker_style) +format_axes(ax) + +plt.show() diff --git a/lib/matplotlib/markers.py b/lib/matplotlib/markers.py index d79a41615a2d..81e8d086e47f 100644 --- a/lib/matplotlib/markers.py +++ b/lib/matplotlib/markers.py @@ -48,7 +48,7 @@ ``"None"``, ``" "`` or ``""`` nothing ``'$...$'`` |m37| Render the string using mathtext. E.g ``"$f$"`` for marker showing the - letter ``f``. + letter ``f``. ``verts`` A list of (x, y) pairs used for Path vertices. The center of the marker is located at (0,0) and the size is @@ -58,10 +58,10 @@ ``(numsides, style, angle)`` The marker can also be a tuple ``(numsides, style, angle)``, which will create a custom, regular symbol. - + ``numsides``: the number of sides - + ``style``: the style of the regular symbol: @@ -76,7 +76,7 @@ | | ``angle`` is ignored); | | | deprecated. | +---+-----------------------------+ - + ``angle``: the angle of rotation of the symbol ============================== ====== ========================================= @@ -89,26 +89,26 @@ referred to from other docs for the valid inputs from marker inputs and in those cases ``None`` still means 'default'. -Note that special symbols can be defined via the +Note that special symbols can be defined via the :doc:`STIX math font `, e.g. ``"$\u266B$"``. For an overview over the STIX font symbols refer to the `STIX font table `_. Also see the :doc:`/gallery/text_labels_and_annotations/stix_fonts_demo`. Integer numbers from ``0`` to ``11`` create lines and triangles. Those are -equally accessible via capitalied variables, like ``CARETDOWNBASE``. +equally accessible via capitalized variables, like ``CARETDOWNBASE``. Hence the following are equivalent:: plt.plot([1,2,3], marker=11) - plt.plot([1,2,3], marker=marker=matplotlib.markers.CARETDOWNBASE) - + plt.plot([1,2,3], marker=matplotlib.markers.CARETDOWNBASE) + Examples showing the use of markers: * :doc:`/gallery/lines_bars_and_markers/marker_reference` * :doc:`/gallery/lines_bars_and_markers/marker_fillstyle_reference` * :doc:`/gallery/shapes_and_collections/marker_path` - + .. |m00| image:: /_static/markers/m00.png .. |m01| image:: /_static/markers/m01.png