From 44e735665b7c25ae38e967f1dd392483dd140da0 Mon Sep 17 00:00:00 2001 From: Jens Hedegaard Nielsen Date: Sun, 3 Apr 2016 19:51:47 +0100 Subject: [PATCH 01/14] Merge pull request #6263 from tacaswell/tst_skip_float_rounding_issue_test TST: skip broken test --- lib/matplotlib/tests/test_axes.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 110a0b9db43..bbc0fc7823f 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -20,6 +20,7 @@ import matplotlib from matplotlib.testing.decorators import image_comparison, cleanup +from matplotlib.testing.noseclasses import KnownFailureTest import matplotlib.pyplot as plt import matplotlib.markers as mmarkers from numpy.testing import assert_array_equal @@ -83,6 +84,8 @@ def test_formatter_ticker(): @image_comparison(baseline_images=["formatter_large_small"]) def test_formatter_large_small(): + if tuple(map(int, np.__version__.split('.'))) >= (1, 11, 0): + raise KnownFailureTest("Fall out from a fixed numpy bug") # github issue #617, pull #619 fig, ax = plt.subplots(1) x = [0.500000001, 0.500000002] From b67deca900577f21708c834945c05a0b8cbcb710 Mon Sep 17 00:00:00 2001 From: Benjamin Root Date: Wed, 6 Apr 2016 13:46:50 -0400 Subject: [PATCH 02/14] A feeble attempt to plug a theoretical security hole --- lib/matplotlib/rcsetup.py | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index c9e5c3275ac..0bb2d9164de 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -746,17 +746,16 @@ def validate_cycler(s): # might come from the internet (future plans), this # could be downright dangerous. # I locked it down by only having the 'cycler()' function - # available. Imports and defs should not - # be possible. However, it is entirely possible that - # a security hole could open up via attributes to the - # function (this is why I decided against allowing the - # Cycler class object just to reduce the number of - # degrees of freedom (but maybe it is safer to use?). - # One possible hole I can think of (in theory) is if - # someone managed to hack the cycler module. But, if - # someone does that, this wouldn't make anything - # worse because we have to import the module anyway. - s = eval(s, {'cycler': cycler}) + # available. + # UPDATE: Partly plugging a security hole. + # I really should have read this: + # http://nedbatchelder.com/blog/201206/eval_really_is_dangerous.html + # We should replace this eval with a combo of PyParsing and + # ast.literal_eval() + if '.__' in s.replace(' ', ''): + raise ValueError("'%s' seems to have dunder methods. Raising" + " an exception for your safety") + s = eval(s, {'cycler': cycler, '__builtins__': {}}) except BaseException as e: raise ValueError("'%s' is not a valid cycler construction: %s" % (s, e)) From 97953f39f2742dade289ad11f034db86f599a001 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Fri, 8 Apr 2016 01:41:09 -0400 Subject: [PATCH 03/14] FIX: use b'' when escaping array as strings in ps The function quote_ps_string is used to sanitize the result of np.tostring (which really returns bytes) to make sure no 'special' ps characters make it through. We were trying to use unicode to replace in a byte string We also need to decode bytes to unicode to put the string into the ps file. closes #6226 --- lib/matplotlib/backends/backend_ps.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/matplotlib/backends/backend_ps.py b/lib/matplotlib/backends/backend_ps.py index 90f61662a20..cf4e0f24e11 100644 --- a/lib/matplotlib/backends/backend_ps.py +++ b/lib/matplotlib/backends/backend_ps.py @@ -165,15 +165,16 @@ def _num_to_str(val): def _nums_to_str(*args): return ' '.join(map(_num_to_str,args)) + def quote_ps_string(s): "Quote dangerous characters of S for use in a PostScript string constant." - s=s.replace("\\", "\\\\") - s=s.replace("(", "\\(") - s=s.replace(")", "\\)") - s=s.replace("'", "\\251") - s=s.replace("`", "\\301") - s=re.sub(r"[^ -~\n]", lambda x: r"\%03o"%ord(x.group()), s) - return s + s = s.replace(b"\\", b"\\\\") + s = s.replace(b"(", b"\\(") + s = s.replace(b")", b"\\)") + s = s.replace(b"'", b"\\251") + s = s.replace(b"`", b"\\301") + s = re.sub(br"[^ -~\n]", lambda x: br"\%03o" % ord(x.group()), s) + return s.decode('ascii') def seq_allequal(seq1, seq2): From 1f1b8b8eff169c2b3185c3758384984ff398cd90 Mon Sep 17 00:00:00 2001 From: Benjamin Root Date: Fri, 8 Apr 2016 14:08:49 -0400 Subject: [PATCH 04/14] Merge pull request #6267 from efiring/scatter-color MNT: trap inappropriate use of color kwarg in scatter; closes #6266 --- lib/matplotlib/axes/_axes.py | 17 +++++++++-------- lib/matplotlib/tests/test_axes.py | 7 +++++++ 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 5ee0db23b0e..ab054599008 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -3812,19 +3812,20 @@ def scatter(self, x, y, s=20, c=None, marker='o', cmap=None, norm=None, # Process **kwargs to handle aliases, conflicts with explicit kwargs: facecolors = None - ec = kwargs.pop('edgecolor', None) - if ec is not None: - edgecolors = ec - fc = kwargs.pop('facecolor', None) - if fc is not None: - facecolors = fc + edgecolors = kwargs.pop('edgecolor', edgecolors) fc = kwargs.pop('facecolors', None) + fc = kwargs.pop('facecolor', fc) if fc is not None: facecolors = fc - # 'color' should be deprecated in scatter, or clearly defined; - # since it isn't, I am giving it low priority. co = kwargs.pop('color', None) if co is not None: + try: + mcolors.colorConverter.to_rgba_array(co) + except ValueError: + raise ValueError("'color' kwarg must be an mpl color" + " spec or sequence of color specs.\n" + "For a sequence of values to be" + " color-mapped, use the 'c' kwarg instead.") if edgecolors is None: edgecolors = co if facecolors is None: diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index bbc0fc7823f..a6b5de6bdf3 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -1280,6 +1280,13 @@ def test_scatter_2D(): fig, ax = plt.subplots() ax.scatter(x, y, c=z, s=200, edgecolors='face') +@cleanup +def test_scatter_color(): + # Try to catch cases where 'c' kwarg should have been used. + assert_raises(ValueError, plt.scatter, [1, 2], [1, 2], + color=[0.1, 0.2]) + assert_raises(ValueError, plt.scatter, [1, 2, 3], [1, 2, 3], + color=[1, 2, 3]) @cleanup def test_as_mpl_axes_api(): From b6e0b9bd5e11b31ffc50e1270da61a127e353ff9 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Thu, 14 Apr 2016 14:21:14 -0400 Subject: [PATCH 05/14] Merge pull request #6300 from mdboom/linewidth Remake of #6286 --- lib/matplotlib/rcsetup.py | 2 +- .../test_backend_pgf/pgf_bbox_inches.pdf | Bin 3581 -> 3585 bytes .../test_backend_pgf/pgf_mixedmode.pdf | Bin 11229 -> 11235 bytes .../test_backend_pgf/pgf_pdflatex.pdf | Bin 70163 -> 70163 bytes .../test_backend_pgf/pgf_rcupdate1.pdf | Bin 8515 -> 8521 bytes .../test_backend_pgf/pgf_rcupdate2.pdf | Bin 108811 -> 108744 bytes .../test_backend_pgf/pgf_xelatex.pdf | Bin 12549 -> 12565 bytes lib/matplotlib/tests/test_backend_pgf.py | 3 +++ matplotlibrc.template | 2 +- 9 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index 23229b4ba0f..5b8a4db50ce 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -850,7 +850,7 @@ def validate_hist_bins(s): 'verbose.fileo': ['sys.stdout', six.text_type], # line props - 'lines.linewidth': [2.5, validate_float], # line width in points + 'lines.linewidth': [1.5, validate_float], # line width in points 'lines.linestyle': ['-', six.text_type], # solid line 'lines.color': ['b', validate_color], # blue 'lines.marker': ['None', six.text_type], # black diff --git a/lib/matplotlib/tests/baseline_images/test_backend_pgf/pgf_bbox_inches.pdf b/lib/matplotlib/tests/baseline_images/test_backend_pgf/pgf_bbox_inches.pdf index 9517636f7fadf487124406b01da0afa73c3b4194..a4083768d992811bc22ca93192becb4bcdb56383 100644 GIT binary patch delta 1857 zcmV-H2fq0I8-X0KA_0GDJA_t(Adug-Sd^E%Dyg7E_RKklX+NpO6Mj2{H;itqblSON5 zDWVdyNrfsz?I`}Fxb+$}y=(=wuL{czdd0@|Wj4c+BpdoFTe1yR*wlPnhrNUF-;`L^ z78?mhkQC+PW0lyl#tVw0Sh)PF|wzR&HG?ZQj6_&}p+&Fm;)B z%Wh>#ZDzNKR-5Uayj0uq`+{oi<+iKySN{M>k=ss_(E~bvH9kHHb98cLVQmU{+Fg;! zYQr!PhVOogIi^t6OPZ8|F{B9rAG%N{4ojzVT-1za$&y){2d;X&3$}N|(Fi%h=6dX+rCYR~aP~5w$eJdm zE7RMU;%GHxXs8@9tG$Mzf%@!6lcD7Q?sqAwAJ`W@HNkuP?7jW**aX^DiONX(L!xb> zmqb;hr!}sKRn~l=Ug+{)li6a7R~^41_9I9a690ZnD;=WZ`UN6ElysBP0~3>01#SVF zlf?y12gqLjLe)-dvl#}30|Yn1rW2FV0~3?A38;TfPvbBUz3;D>8?9EY?R+&sDB854 zPyq{SyMR=B2+0s4rE!!vsQvdlb_y)guCzYXnep?RnK$DGz`=#U0|$f^fDOX+K?tx! z02Wxj1p@3~LT+#@9|-5UAZ+mL04Cu34xF8_^S!!QsYD^Ma9FaLEM>E*lN5swg`eTDQSOmdmJ3E&l*gWYzFX%YkUORsk&2Oap8@* zGZxONu-#y&)yTROo54PNE9&fJw}+4`D>4f-tvEkB2%y6+7m-H)lD5amIWgUNZ|u|Ai|n#*@DC@ z(x}Qy1kUDVlDFUy@1aDaekEHx}RsWf2*ev^P)t0jmHN?aw5&1_m`qS zTJ)d28NEwBx@6~7Dl=*W`@`4El_ivd)UUzoCw(n{RRy7u{wI!E{071AKZTRg0~3?$ z3@<`4HeoU|V=yo>HZnC~Gd3_VWo9!uI5;;qHa28rGcYwiJTW$5GBaZ^FfukWHDNP0 zFfe6iGdVaoH#asmWMnfiHIrNoK0L7vfG`jQ!95!Tej!17bn1S{X~A&%WVFEoa~6Wt vG*eA6GP?UG2`=)W^RZFMI;r1?ZF34IT+GFbX9lMNdWwWd@Nn delta 1853 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 SG(|!*MK(4;H8Gbq5dqzp|M@)t delta 1620 zcmV-a2CMm#qy&?s1h9Mpe=e8~z-JfWyLJ&yGT=V6z?g#;?Lu<`bOxLwiZj85wULOk zKv+SPWdf)BNYtJgX)v*ZjgngxsSX=*Y^*IY9(M#L=G{gBXGSY+2!1V;NNh z7Y1B1<6=T>gaKx7b0#qR6?2NqM8?R2;~06sM0En<9#Z1MFb=Z;e=P1SMcM~Q=@@ut z91&bIp)5~iBbntk#8P57JhUR5XDAJ~tLP!~+L)y+;;U7Xj$v-cw1c>p&A3JK0J+<# zeMhk<)n1t@L8>*h{UmdF$OKv_AIP(?6q}y(nhiVvD{=j;D81yBL`ZPOIJ>I!oS?!x z%rA$Dwx;xw>6o}oe_2`jrgg-ZB_lA2t+jsD$k(+e@REV6%dQ%nx`>4W=5YzGE51|% zAvm)};>B%E@wKYpbBpV`CesF0fAWm18zt)*c2d~y0fq^Ke`Isv47?PW^4^5*ES&gS zEK!AotHnC>9|=;0h7q-*y)F>a;GE>IXlBlnX%<(d@yMS)7)i)9U5kjsOQ|hEC0UdzSBL)_e-Bx z9=p4Ho+GWFe?E&pN_sK#JFM@VT~Dn$)z4|~ zO5#|pWY{#iC?r@>q;$tge%+U~6KS3K>}>P&IbQG4B(Jp~XIBI1XBXtn3CcQsclL7g z%h|jQ&7z*Qf(QbODRva@VKD5dKNds~z_hXlpqOVaf5SMC-{L5SIF8L|mQ}44%8A=I z_laaj{n1Ez+;mzv1j%;h9Z2@&w@9iHk|Q&kWmT(%(gJf<R$ArRJ? z^ANT?bKUC5hGtRE>JZk4l^zDedHwr=2nyBXf3@cT6gyMrVa!Z(z3SMEW?9whNY?)U zVUV2HzbBI3uykO*KazFo0+KD$T(3Gdqght9K9U;OyRzz`>gv4y{g4zIn2A@|y^-up zokub=&33CJGn!>p_joXNPfgCO{(ZX~!#uZ#wK-+#QlFEU=DO9f8O^e)PAKz}2lcs% zf8I$4;|8yS0t-RB2f4|9(XMkH2aA|2xqBiJh0%_*kq2!PRuQpAx7dxu1y;+uUf6SV;llg0`)4TBa4zfvRj2^0#zN!qygI?Ad zPCx=lps_mX{JV_@CpJ790)f#mbdgBB@U(`B#MBSD3pc4S<*}$GF2vg`($ZQb;9(#Q3r0@&n^J7Rt=? z!<51>gkt(%iAD0BvT%RRVy0;cEWJ$Z+Z5^wt`F5WXb^Obb98v{r4y<_K^$gSvy??C zMQ`HY;eY7-0~Q7d^RpcY4*vl)mn;VXDF-qzIWRUeGM8Kj0UQT1FgY+bGcuQd2LV_p zH6SQdWmq6gX?A5GGB7bTDIjZbVRUG7Wnmz8WpZ0iGdVXtAUs7hML|I{Mnp9>GciRoG&MspLP9q} SMMO6-F+wskIX9O!5dq!*+z^Za diff --git a/lib/matplotlib/tests/baseline_images/test_backend_pgf/pgf_rcupdate1.pdf b/lib/matplotlib/tests/baseline_images/test_backend_pgf/pgf_rcupdate1.pdf index a264798cf5d01a1315180abf18f7fc7f8ee6cdcb..21b3a1b32a5bd32daccd31b20849eb3aca2613bd 100644 GIT binary patch delta 5876 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μ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 delta 56771 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 C!VVz- diff --git a/lib/matplotlib/tests/baseline_images/test_backend_pgf/pgf_xelatex.pdf b/lib/matplotlib/tests/baseline_images/test_backend_pgf/pgf_xelatex.pdf index bd4e116bde10556fe577ebb4982b5bd37ef69c64..88f2184e320ee2c678f1838375098fb6c79fa2c1 100644 GIT binary patch delta 9169 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 delta 9151 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 b$Spv@shHu(7o6nCT!I3~bac|n0ObDxhgh+7 diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py index 09f7c395f47..d3cbb64143c 100644 --- a/lib/matplotlib/tests/test_backend_pgf.py +++ b/lib/matplotlib/tests/test_backend_pgf.py @@ -134,7 +134,10 @@ def test_rcupdate(): '\\usepackage[T1]{fontenc}', '\\usepackage{sfmath}']}) tol = (6, 0) + original_params = mpl.rcParams.copy() for i, rc_set in enumerate(rc_sets): + mpl.rcParams.clear() + mpl.rcParams.update(original_params) mpl.rcParams.update(rc_set) create_figure() compare_figure('pgf_rcupdate%d.pdf' % (i + 1), tol=tol[i]) diff --git a/matplotlibrc.template b/matplotlibrc.template index 24884096ed7..f7aa486f091 100644 --- a/matplotlibrc.template +++ b/matplotlibrc.template @@ -78,7 +78,7 @@ backend : $TEMPLATE_BACKEND ### LINES # See http://matplotlib.org/api/artist_api.html#module-matplotlib.lines for more # information on line properties. -#lines.linewidth : 2.0 # line width in points +#lines.linewidth : 1.5 # line width in points #lines.linestyle : - # solid line #lines.color : blue # has no affect on plot(); see axes.prop_cycle #lines.marker : None # the default marker From d16c25826dd1d19f8f0feb4c0819313de5e854b5 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Sun, 17 Apr 2016 19:02:23 -0700 Subject: [PATCH 06/14] Merge pull request #6311 from egpbos/seaborn_sheets FIX: Seaborn sheets --- lib/matplotlib/mpl-data/stylelib/seaborn-bright.mplstyle | 1 + lib/matplotlib/mpl-data/stylelib/seaborn-colorblind.mplstyle | 1 + lib/matplotlib/mpl-data/stylelib/seaborn-dark-palette.mplstyle | 1 + lib/matplotlib/mpl-data/stylelib/seaborn-deep.mplstyle | 1 + lib/matplotlib/mpl-data/stylelib/seaborn-muted.mplstyle | 1 + lib/matplotlib/mpl-data/stylelib/seaborn-pastel.mplstyle | 1 + 6 files changed, 6 insertions(+) diff --git a/lib/matplotlib/mpl-data/stylelib/seaborn-bright.mplstyle b/lib/matplotlib/mpl-data/stylelib/seaborn-bright.mplstyle index cbc80dc76b1..5e9e9493781 100644 --- a/lib/matplotlib/mpl-data/stylelib/seaborn-bright.mplstyle +++ b/lib/matplotlib/mpl-data/stylelib/seaborn-bright.mplstyle @@ -1,2 +1,3 @@ # Seaborn bright palette axes.prop_cycle: cycler('color', ['003FFF', '03ED3A', 'E8000B', '8A2BE2', 'FFC400', '00D7FF']) +patch.facecolor: 003FFF diff --git a/lib/matplotlib/mpl-data/stylelib/seaborn-colorblind.mplstyle b/lib/matplotlib/mpl-data/stylelib/seaborn-colorblind.mplstyle index adb5f34d893..e13b7aade32 100644 --- a/lib/matplotlib/mpl-data/stylelib/seaborn-colorblind.mplstyle +++ b/lib/matplotlib/mpl-data/stylelib/seaborn-colorblind.mplstyle @@ -1,2 +1,3 @@ # Seaborn colorblind palette axes.prop_cycle: cycler('color', ['0072B2', '009E73', 'D55E00', 'CC79A7', 'F0E442', '56B4E9']) +patch.facecolor: 0072B2 diff --git a/lib/matplotlib/mpl-data/stylelib/seaborn-dark-palette.mplstyle b/lib/matplotlib/mpl-data/stylelib/seaborn-dark-palette.mplstyle index 6f437fdf739..30160ae2506 100644 --- a/lib/matplotlib/mpl-data/stylelib/seaborn-dark-palette.mplstyle +++ b/lib/matplotlib/mpl-data/stylelib/seaborn-dark-palette.mplstyle @@ -1,2 +1,3 @@ # Seaborn dark palette axes.prop_cycle: cycler('color', ['001C7F', '017517', '8C0900', '7600A1', 'B8860B', '006374']) +patch.facecolor: 001C7F diff --git a/lib/matplotlib/mpl-data/stylelib/seaborn-deep.mplstyle b/lib/matplotlib/mpl-data/stylelib/seaborn-deep.mplstyle index f07e06a13e8..5d6b7c56009 100644 --- a/lib/matplotlib/mpl-data/stylelib/seaborn-deep.mplstyle +++ b/lib/matplotlib/mpl-data/stylelib/seaborn-deep.mplstyle @@ -1,2 +1,3 @@ # Seaborn deep palette axes.prop_cycle: cycler('color', ['4C72B0', '55A868', 'C44E52', '8172B2', 'CCB974', '64B5CD']) +patch.facecolor: 4C72B0 diff --git a/lib/matplotlib/mpl-data/stylelib/seaborn-muted.mplstyle b/lib/matplotlib/mpl-data/stylelib/seaborn-muted.mplstyle index 4d7a0ae7c27..4a71646ce90 100644 --- a/lib/matplotlib/mpl-data/stylelib/seaborn-muted.mplstyle +++ b/lib/matplotlib/mpl-data/stylelib/seaborn-muted.mplstyle @@ -1,2 +1,3 @@ # Seaborn muted palette axes.prop_cycle: cycler('color', ['4878CF', '6ACC65', 'D65F5F', 'B47CC7', 'C4AD66', '77BEDB']) +patch.facecolor: 4878CF diff --git a/lib/matplotlib/mpl-data/stylelib/seaborn-pastel.mplstyle b/lib/matplotlib/mpl-data/stylelib/seaborn-pastel.mplstyle index e5787abba29..dff67482c08 100644 --- a/lib/matplotlib/mpl-data/stylelib/seaborn-pastel.mplstyle +++ b/lib/matplotlib/mpl-data/stylelib/seaborn-pastel.mplstyle @@ -1,2 +1,3 @@ # Seaborn pastel palette axes.prop_cycle: cycler('color', ['92C6FF', '97F0AA', 'FF9F9A', 'D0BBFF', 'FFFEA3', 'B0E0E6']) +patch.facecolor: 92C6FF From c1cd4f20b20c01eac6a258f73ae76a117c7b5db9 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Tue, 29 Mar 2016 23:43:15 -0400 Subject: [PATCH 07/14] Merge pull request #6241 from anntzer/qt5-validator-locale Force Qt validator to use C locale. --- lib/matplotlib/backends/qt_editor/formlayout.py | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/matplotlib/backends/qt_editor/formlayout.py b/lib/matplotlib/backends/qt_editor/formlayout.py index 3b700323d2f..4e9a2737f6e 100644 --- a/lib/matplotlib/backends/qt_editor/formlayout.py +++ b/lib/matplotlib/backends/qt_editor/formlayout.py @@ -298,6 +298,7 @@ def setup(self): field = QtWidgets.QLineEdit(repr(value), self) field.setCursorPosition(0) field.setValidator(QtGui.QDoubleValidator(field)) + field.validator().setLocale(QtCore.QLocale("C")) dialog = self.get_dialog() dialog.register_float_field(field) field.textChanged.connect(lambda text: dialog.update_buttons()) From 38d9638de5de686c8b7dbec8d4fdd1421ebd414d Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Tue, 19 Apr 2016 21:24:14 -0700 Subject: [PATCH 08/14] Merge pull request #6314 from henningpohl/patch-1 Only render markers on a line when markersize > 0 --- lib/matplotlib/lines.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index bea124a69ac..b9675ea010b 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -759,7 +759,7 @@ def draw(self, renderer): drawFunc(renderer, gc, tpath, affine.frozen()) gc.restore() - if self._marker: + if self._marker and self._markersize > 0: gc = renderer.new_gc() self._set_gc_clip(gc) rgbaFace = self._get_rgba_face() From 65507a02b2b13f6ece3f1ff2d109a12c1a294505 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Mon, 25 Apr 2016 23:36:10 -0400 Subject: [PATCH 09/14] MNT: be explicitly strict in FunctionAnimation If the user functions return None, raise RuntimeError. Suggested in #6332 --- lib/matplotlib/animation.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index 423a714d021..93eed7b84b9 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -1113,8 +1113,8 @@ class FuncAnimation(TimedAnimation): results of drawing from the first item in the frames sequence will be used. This function will be called once before the first frame. - If blit=True, *func* and *init_func* should return an iterable of - drawables to clear. + If blit=True, *func* and *init_func* must return an iterable of + artists to be re-drawn. *kwargs* include *repeat*, *repeat_delay*, and *interval*: *interval* draws a new frame every *interval* milliseconds. @@ -1195,6 +1195,9 @@ def _init_draw(self): else: self._drawn_artists = self._init_func() if self._blit: + if self._drawn_artists is None: + raise RuntimeError('The init_func must return a ' + 'sequence of Artist objects.') for a in self._drawn_artists: a.set_animated(self._blit) self._save_seq = [] @@ -1211,5 +1214,8 @@ def _draw_frame(self, framedata): # func needs to return a sequence of any artists that were modified. self._drawn_artists = self._func(framedata, *self._args) if self._blit: + if self._drawn_artists is None: + raise RuntimeError('The animation function must return a ' + 'sequence of Artist objects.') for a in self._drawn_artists: a.set_animated(self._blit) From 9f83d5318085a74e1519c88289756362de894667 Mon Sep 17 00:00:00 2001 From: Benjamin Root Date: Wed, 27 Apr 2016 11:43:24 -0400 Subject: [PATCH 10/14] Merge pull request #6340 from tacaswell/bld_update_cycler_dep BLD: make minimum cycler version 0.10.0 --- INSTALL | 8 ++++++-- setupext.py | 3 +-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/INSTALL b/INSTALL index 5f9b7b6cc82..b5c71e2e603 100644 --- a/INSTALL +++ b/INSTALL @@ -212,9 +212,13 @@ Required Dependencies Used to manipulate time-zone aware datetimes. http://pypi.python.org/pypi/pytz :term:`FreeType` 2.3 or later - library for reading true type font files. + Library for reading true type font files. If using pip, easy_install or + installing from source, the installer will attempt to locate FreeType in + expected locations. If it cannot, try installing `pkg-config + `__, + a tool used to find required non-python libraries. -`cycler `__ 0.9 or later +`cycler `__ 0.10.0 or later Composable cycle class used for constructing style-cycles `functools32` diff --git a/setupext.py b/setupext.py index 0e827a5c3a0..83c264869c4 100755 --- a/setupext.py +++ b/setupext.py @@ -1319,11 +1319,10 @@ def check(self): "cycler was not found. " "pip will attempt to install it " "after matplotlib.") - return "using cycler version %s" % cycler.__version__ def get_install_requires(self): - return ['cycler>=0.9'] + return ['cycler>=0.10'] class Dateutil(SetupPackage): From e52435406d0a7a8a8a44a485a753d9ed3a069adc Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Thu, 28 Apr 2016 07:22:21 -0700 Subject: [PATCH 11/14] API/ENH: Color cycle handling API/ENH: Color cycle handling --- examples/pylab_examples/color_demo.py | 9 ++-- lib/matplotlib/axes/_axes.py | 51 ++++++++++++++------- lib/matplotlib/axes/_base.py | 20 +++++++- lib/matplotlib/colors.py | 50 ++++++++++++++++++++ lib/matplotlib/rcsetup.py | 17 ++++--- lib/matplotlib/sankey.py | 15 ++++-- lib/matplotlib/stackplot.py | 10 +--- lib/matplotlib/streamplot.py | 4 +- .../test_cycles/lineprop_cycle_basic.png | Bin 35049 -> 41852 bytes lib/mpl_toolkits/mplot3d/axes3d.py | 16 +++++-- matplotlibrc.template | 12 ++--- 11 files changed, 152 insertions(+), 52 deletions(-) diff --git a/examples/pylab_examples/color_demo.py b/examples/pylab_examples/color_demo.py index 1d471b0086a..f67569ac9f2 100755 --- a/examples/pylab_examples/color_demo.py +++ b/examples/pylab_examples/color_demo.py @@ -1,6 +1,6 @@ #!/usr/bin/env python """ -matplotlib gives you 4 ways to specify colors, +matplotlib gives you 5 ways to specify colors, 1) as a single letter string, ala MATLAB @@ -11,6 +11,9 @@ 4) as a string representing a floating point number from 0 to 1, corresponding to shades of gray. + 5) as a special color "Cn", where n is a number 0-9 specifying the + nth color in the currently active color cycle. + See help(colors) for more info. """ import matplotlib.pyplot as plt @@ -20,8 +23,8 @@ #subplot(111, facecolor='#ababab') t = np.arange(0.0, 2.0, 0.01) s = np.sin(2*np.pi*t) -plt.plot(t, s, 'y') -plt.xlabel('time (s)', color='r') +plt.plot(t, s, 'C1') +plt.xlabel('time (s)', color='C1') plt.ylabel('voltage (mV)', color='0.5') # grayscale color plt.title('About as silly as it gets, folks', color='#afeeee') plt.show() diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index a0f6e7fc1c1..90c8c3b4b14 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -4,6 +4,7 @@ from matplotlib.externals import six from matplotlib.externals.six.moves import reduce, xrange, zip, zip_longest +import itertools import math import warnings @@ -2457,7 +2458,7 @@ def pie(self, x, explode=None, labels=None, colors=None, Call signature:: pie(x, explode=None, labels=None, - colors=('b', 'g', 'r', 'c', 'm', 'y', 'k', 'w'), + colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None, counterclock=True, wedgeprops=None, textprops=None, @@ -2477,7 +2478,8 @@ def pie(self, x, explode=None, labels=None, colors=None, *colors*: [ *None* | color sequence ] A sequence of matplotlib color args through which the pie chart - will cycle. + will cycle. If `None`, will use the colors in the currently + active cycle. *labels*: [ *None* | len(x) sequence of strings ] A sequence of strings providing the labels for each wedge @@ -2566,7 +2568,12 @@ def pie(self, x, explode=None, labels=None, colors=None, if len(x) != len(explode): raise ValueError("'explode' must be of length 'x'") if colors is None: - colors = ('b', 'g', 'r', 'c', 'm', 'y', 'k', 'w') + get_next_color = self._get_patches_for_fill.get_next_color + else: + color_cycle = itertools.cycle(colors) + + def get_next_color(): + return six.next(color_cycle) if radius is None: radius = 1 @@ -2602,7 +2609,7 @@ def pie(self, x, explode=None, labels=None, colors=None, w = mpatches.Wedge((x, y), radius, 360. * min(theta1, theta2), 360. * max(theta1, theta2), - facecolor=colors[i % len(colors)], + facecolor=get_next_color(), **wedgeprops) slices.append(w) self.add_patch(w) @@ -3022,8 +3029,8 @@ def xywhere(xs, ys, mask): l0, = self.plot(x, y, fmt, label='_nolegend_', **kwargs) if ecolor is None: - if l0 is None and 'color' in self._get_lines._prop_keys: - ecolor = next(self._get_lines.prop_cycler)['color'] + if l0 is None: + ecolor = self._get_lines.get_next_color() else: ecolor = l0.get_color() @@ -3844,7 +3851,10 @@ def scatter(self, x, y, s=None, c=None, marker='o', cmap=None, norm=None, if facecolors is not None: c = facecolors else: - c = 'b' # The original default + if rcParams['_internal.classic_mode']: + c = 'b' # The original default + else: + c = self._get_patches_for_fill.get_next_color() if edgecolors is None and not rcParams['_internal.classic_mode']: edgecolors = 'face' @@ -6015,9 +6025,8 @@ def _normalize_input(inp, ename='input'): raise ValueError( 'weights should have the same shape as x') - if color is None and 'color' in self._get_lines._prop_keys: - color = [next(self._get_lines.prop_cycler)['color'] - for i in xrange(nx)] + if color is None: + color = [self._get_lines.get_next_color() for i in xrange(nx)] else: color = mcolors.colorConverter.to_rgba_array(color) if len(color) != nx: @@ -7503,6 +7512,12 @@ def violin(self, vpstats, positions=None, vert=True, widths=0.5, perp_lines = self.vlines par_lines = self.hlines + if rcParams['_internal.classic_mode']: + fillcolor = 'y' + edgecolor = 'r' + else: + fillcolor = edgecolor = self._get_lines.get_next_color() + # Render violins bodies = [] for stats, pos, width in zip(vpstats, positions, widths): @@ -7513,7 +7528,7 @@ def violin(self, vpstats, positions=None, vert=True, widths=0.5, bodies += [fill(stats['coords'], -vals + pos, vals + pos, - facecolor='y', + facecolor=fillcolor, alpha=0.3)] means.append(stats['mean']) mins.append(stats['min']) @@ -7523,20 +7538,24 @@ def violin(self, vpstats, positions=None, vert=True, widths=0.5, # Render means if showmeans: - artists['cmeans'] = perp_lines(means, pmins, pmaxes, colors='r') + artists['cmeans'] = perp_lines(means, pmins, pmaxes, + colors=edgecolor) # Render extrema if showextrema: - artists['cmaxes'] = perp_lines(maxes, pmins, pmaxes, colors='r') - artists['cmins'] = perp_lines(mins, pmins, pmaxes, colors='r') - artists['cbars'] = par_lines(positions, mins, maxes, colors='r') + artists['cmaxes'] = perp_lines(maxes, pmins, pmaxes, + colors=edgecolor) + artists['cmins'] = perp_lines(mins, pmins, pmaxes, + colors=edgecolor) + artists['cbars'] = par_lines(positions, mins, maxes, + colors=edgecolor) # Render medians if showmedians: artists['cmedians'] = perp_lines(medians, pmins, pmaxes, - colors='r') + colors=edgecolor) return artists diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 623ceb4ad84..0f72c6642c1 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -52,6 +52,7 @@ def _process_plot_format(fmt): * 'ko': black circles * '.b': blue dots * 'r--': red dashed lines + * 'C2--': the third color in the color cycle, dashed lines .. seealso:: @@ -97,7 +98,9 @@ def _process_plot_format(fmt): chars = [c for c in fmt] - for c in chars: + i = 0 + while i < len(chars): + c = chars[i] if c in mlines.lineStyles: if linestyle is not None: raise ValueError( @@ -113,9 +116,14 @@ def _process_plot_format(fmt): raise ValueError( 'Illegal format string "%s"; two color symbols' % fmt) color = c + elif c == 'C' and i < len(chars) - 1: + color_cycle_number = int(chars[i + 1]) + color = mcolors.colorConverter._get_nth_color(color_cycle_number) + i += 1 else: raise ValueError( 'Unrecognized character %c in format string' % c) + i += 1 if linestyle is None and marker is None: linestyle = rcParams['lines.linestyle'] @@ -161,6 +169,10 @@ def set_prop_cycle(self, *args, **kwargs): else: prop_cycler = cycler(*args, **kwargs) + # Make sure the cycler always has at least one color + if 'color' not in prop_cycler.keys: + prop_cycler = prop_cycler * cycler('color', ['k']) + self.prop_cycler = itertools.cycle(prop_cycler) # This should make a copy self._prop_keys = prop_cycler.keys @@ -186,6 +198,12 @@ def __call__(self, *args, **kwargs): ret = self._grab_next_args(*args, **kwargs) return ret + def get_next_color(self): + """ + Return the next color in the cycle. + """ + return six.next(self.prop_cycler)['color'] + def set_lineprops(self, line, **kwargs): assert self.command == 'plot', 'set_lineprops only works with "plot"' line.set(**kwargs) diff --git a/lib/matplotlib/colors.py b/lib/matplotlib/colors.py index 9f9ddc3e6bd..2cc84c0475a 100644 --- a/lib/matplotlib/colors.py +++ b/lib/matplotlib/colors.py @@ -31,6 +31,12 @@ - k: black - w: white +To use the colors that are part of the active color cycle in the current style, +use `C` followed by a digit. For example: + + - `C0`: The first color in the cycle + - `C1`: The second color in the cycle + Gray shades can be given as a string encoding a float in the 0-1 range, e.g.:: color = '0.75' @@ -67,6 +73,19 @@ def is_color_like(c): 'Return *True* if *c* can be converted to *RGB*' + + # Special-case the N-th color cycle syntax, because its parsing + # needs to be deferred. We may be reading a value from rcParams + # here before the color_cycle rcParam has been parsed. + if isinstance(c, bytes): + match = re.match(b'^C[0-9]$', c) + if match is not None: + return True + elif isinstance(c, six.text_type): + match = re.match('^C[0-9]$', c) + if match is not None: + return True + try: colorConverter.to_rgb(c) return True @@ -114,9 +133,36 @@ class ColorConverter(object): 'k': (0, 0, 0), 'w': (1, 1, 1)} + _prop_cycler = None + cache = {} CN_LOOKUPS = [COLOR_NAMES[k] for k in ['css4', 'xkcd']] + @classmethod + def _get_nth_color(cls, val): + """ + Get the Nth color in the current color cycle. If N is greater + than the number of colors in the cycle, it is wrapped around. + """ + from matplotlib.rcsetup import cycler + from matplotlib import rcParams + + prop_cycler = rcParams['axes.prop_cycle'] + if prop_cycler is None and 'axes.color_cycle' in rcParams: + clist = rcParams['axes.color_cycle'] + prop_cycler = cycler('color', clist) + + colors = prop_cycler._transpose()['color'] + return colors[val % len(colors)] + + @classmethod + def _parse_nth_color(cls, val): + match = re.match('^C[0-9]$', val) + if match is not None: + return cls._get_nth_color(int(val[1])) + + raise ValueError("Not a color cycle color") + def to_rgb(self, arg): """ Returns an *RGB* tuple of three floats from 0-1. @@ -154,6 +200,10 @@ def to_rgb(self, arg): argl = arg.lower() color = self.colors.get(argl, None) if color is None: + try: + argl = self._parse_nth_color(arg) + except ValueError: + pass for cmapping in self.CN_LOOKUPS: str1 = cmapping.get(argl, argl) if str1 != argl: diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index 5b8a4db50ce..1e387aa3e31 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -852,7 +852,7 @@ def validate_hist_bins(s): # line props 'lines.linewidth': [1.5, validate_float], # line width in points 'lines.linestyle': ['-', six.text_type], # solid line - 'lines.color': ['b', validate_color], # blue + 'lines.color': ['C0', validate_color], # first color in color cycle 'lines.marker': ['None', six.text_type], # black 'lines.markeredgewidth': [1.0, validate_float], 'lines.markersize': [6, validate_float], # markersize, in points @@ -871,7 +871,7 @@ def validate_hist_bins(s): ## patch props 'patch.linewidth': [None, validate_float_or_None], # line width in points 'patch.edgecolor': ['k', validate_color], # black - 'patch.facecolor': ['#1f77b4', validate_color], # blue (first color in color cycle) + 'patch.facecolor': ['C0', validate_color], # first color in color cycle 'patch.antialiased': [True, validate_bool], # antialiased (no jaggies) ## hatch props @@ -892,7 +892,7 @@ def validate_hist_bins(s): 'boxplot.showfliers': [True, validate_bool], 'boxplot.meanline': [False, validate_bool], - 'boxplot.flierprops.color': ['b', validate_color], + 'boxplot.flierprops.color': ['C0', validate_color], 'boxplot.flierprops.marker': ['+', six.text_type], 'boxplot.flierprops.markerfacecolor': ['auto', validate_color_or_auto], 'boxplot.flierprops.markeredgecolor': ['k', validate_color], @@ -900,11 +900,11 @@ def validate_hist_bins(s): 'boxplot.flierprops.linestyle': ['none', six.text_type], 'boxplot.flierprops.linewidth': [1.0, validate_float], - 'boxplot.boxprops.color': ['b', validate_color], + 'boxplot.boxprops.color': ['C0', validate_color], 'boxplot.boxprops.linewidth': [1.0, validate_float], 'boxplot.boxprops.linestyle': ['-', six.text_type], - 'boxplot.whiskerprops.color': ['b', validate_color], + 'boxplot.whiskerprops.color': ['C0', validate_color], 'boxplot.whiskerprops.linewidth': [1.0, validate_float], 'boxplot.whiskerprops.linestyle': ['--', six.text_type], @@ -912,7 +912,7 @@ def validate_hist_bins(s): 'boxplot.capprops.linewidth': [1.0, validate_float], 'boxplot.capprops.linestyle': ['-', six.text_type], - 'boxplot.medianprops.color': ['r', validate_color], + 'boxplot.medianprops.color': ['C1', validate_color], 'boxplot.medianprops.linewidth': [1.0, validate_float], 'boxplot.medianprops.linestyle': ['-', six.text_type], @@ -1023,7 +1023,10 @@ def validate_hist_bins(s): 'axes.formatter.use_mathtext': [False, validate_bool], 'axes.formatter.useoffset': [True, validate_bool], 'axes.unicode_minus': [True, validate_bool], - 'axes.color_cycle': [['b', 'g', 'r', 'c', 'm', 'y', 'k'], + 'axes.color_cycle': [ + ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', + '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', + '#bcbd22', '#17becf'], deprecate_axes_colorcycle], # cycle of plot # line colors # This entry can be either a cycler object or a diff --git a/lib/matplotlib/sankey.py b/lib/matplotlib/sankey.py index 42388472346..41d3e04a308 100755 --- a/lib/matplotlib/sankey.py +++ b/lib/matplotlib/sankey.py @@ -45,6 +45,7 @@ from matplotlib.transforms import Affine2D from matplotlib import verbose from matplotlib import docstring +from matplotlib import rcParams __author__ = "Kevin L. Davies" __credits__ = ["Yannick Copin"] @@ -770,11 +771,15 @@ def _get_angle(a, r): print("lrpath\n", self._revert(lrpath)) xs, ys = list(zip(*vertices)) self.ax.plot(xs, ys, 'go-') - patch = PathPatch(Path(vertices, codes), - fc=kwargs.pop('fc', kwargs.pop('facecolor', - '#bfd1d4')), # Custom defaults - lw=kwargs.pop('lw', kwargs.pop('linewidth', 0.5)), - **kwargs) + if rcParams['_internal.classic_mode']: + fc = kwargs.pop('fc', kwargs.pop('facecolor', '#bfd1d4')) + lw = kwargs.pop('lw', kwargs.pop('linewidth', 0.5)) + else: + fc = kwargs.pop('fc', kwargs.pop('facecolor', None)) + lw = kwargs.pop('lw', kwargs.pop('linewidth', None)) + if fc is None: + fc = six.next(self.ax._get_patches_for_fill.prop_cycler)['color'] + patch = PathPatch(Path(vertices, codes), fc=fc, lw=lw, **kwargs) self.ax.add_patch(patch) # Add the path labels. diff --git a/lib/matplotlib/stackplot.py b/lib/matplotlib/stackplot.py index 8a34f97c389..e4488595337 100644 --- a/lib/matplotlib/stackplot.py +++ b/lib/matplotlib/stackplot.py @@ -108,10 +108,7 @@ def stackplot(axes, x, *args, **kwargs): raise ValueError(errstr) # Color between x = 0 and the first array. - if 'color' in axes._get_lines._prop_keys: - color = six.next(axes._get_lines.prop_cycler)['color'] - else: - color = None + color = axes._get_lines.get_next_color() r.append(axes.fill_between(x, first_line, stack[0, :], facecolor=color, label= six.next(labels, None), @@ -120,10 +117,7 @@ def stackplot(axes, x, *args, **kwargs): # Color between array i-1 and array i for i in xrange(len(y) - 1): - if 'color' in axes._get_lines._prop_keys: - color = six.next(axes._get_lines.prop_cycler)['color'] - else: - color = None + color = axes._get_lines.get_next_color() r.append(axes.fill_between(x, stack[i, :], stack[i + 1, :], facecolor=color, label= six.next(labels, None), diff --git a/lib/matplotlib/streamplot.py b/lib/matplotlib/streamplot.py index 7d564c76eb7..470065d9c52 100644 --- a/lib/matplotlib/streamplot.py +++ b/lib/matplotlib/streamplot.py @@ -82,8 +82,8 @@ def streamplot(axes, x, y, u, v, density=1, linewidth=None, color=None, if transform is None: transform = axes.transData - if color is None and 'color' in axes._get_lines._prop_keys: - color = six.next(axes._get_lines.prop_cycler)['color'] + if color is None: + color = axes._get_lines.get_next_color() if linewidth is None: linewidth = matplotlib.rcParams['lines.linewidth'] diff --git a/lib/matplotlib/tests/baseline_images/test_cycles/lineprop_cycle_basic.png b/lib/matplotlib/tests/baseline_images/test_cycles/lineprop_cycle_basic.png index e3706c3216f27cc2bb483b53d0ac894a01b2bbb0..2d20423df44d54c53dcbb0593a83772e92d9d611 100644 GIT binary patch literal 41852 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 z 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 Hy@3A%qY+CK diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index 59c997944f8..c88f755e6dd 100755 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -1592,7 +1592,10 @@ def plot_surface(self, X, Y, Z, *args, **kwargs): if 'facecolors' in kwargs: fcolors = kwargs.pop('facecolors') else: - color = np.array(colorConverter.to_rgba(kwargs.pop('color', 'b'))) + color = kwargs.pop('color', None) + if color is None: + color = self._get_lines.get_next_color() + color = np.array(colorConverter.to_rgba(color)) fcolors = None cmap = kwargs.get('cmap', None) @@ -1860,7 +1863,10 @@ def plot_trisurf(self, *args, **kwargs): had_data = self.has_data() # TODO: Support custom face colours - color = np.array(colorConverter.to_rgba(kwargs.pop('color', 'b'))) + color = kwargs.pop('color', None) + if color is None: + color = self._get_lines.get_next_color() + color = np.array(colorConverter.to_rgba(color)) cmap = kwargs.get('cmap', None) norm = kwargs.pop('norm', None) @@ -2209,7 +2215,7 @@ def add_collection3d(self, col, zs=0, zdir='z'): Axes.add_collection(self, col) - def scatter(self, xs, ys, zs=0, zdir='z', s=20, c='b', depthshade=True, + def scatter(self, xs, ys, zs=0, zdir='z', s=20, c=None, depthshade=True, *args, **kwargs): ''' Create a scatter plot. @@ -2262,6 +2268,8 @@ def scatter(self, xs, ys, zs=0, zdir='z', s=20, c='b', depthshade=True, s = np.ma.ravel(s) # This doesn't have to match x, y in size. + if c is None: + c = self._get_lines.get_next_color() cstr = cbook.is_string_like(c) or cbook.is_sequence_of_strings(c) if not cstr: c = np.asanyarray(c) @@ -2340,7 +2348,7 @@ def bar(self, left, height, zs=0, zdir='z', *args, **kwargs): return patches - def bar3d(self, x, y, z, dx, dy, dz, color='b', + def bar3d(self, x, y, z, dx, dy, dz, color=None, zsort='average', *args, **kwargs): ''' Generate a 3D bar, or multiple bars. diff --git a/matplotlibrc.template b/matplotlibrc.template index f7aa486f091..83ed82e1b93 100644 --- a/matplotlibrc.template +++ b/matplotlibrc.template @@ -80,7 +80,7 @@ backend : $TEMPLATE_BACKEND # information on line properties. #lines.linewidth : 1.5 # line width in points #lines.linestyle : - # solid line -#lines.color : blue # has no affect on plot(); see axes.prop_cycle +#lines.color : C0 # has no affect on plot(); see axes.prop_cycle #lines.marker : None # the default marker #lines.markeredgewidth : 1.0 # the line width around the marker symbol #lines.markersize : 6 # markersize, in points @@ -105,7 +105,7 @@ backend : $TEMPLATE_BACKEND #patch.linewidth : None # edge width in points. # If None, use axes.linewidth when patch # is not filled. -#patch.facecolor : 1f77b4 +#patch.facecolor : C0 #patch.edgecolor : black #patch.antialiased : True # render patches in antialiased (no jaggies) @@ -144,14 +144,14 @@ backend : $TEMPLATE_BACKEND #boxplot.capprops.linewidth : 1.0 #boxplot.capprops.linestyle : '-' -#boxplot.medianprops.color : 'b' +#boxplot.medianprops.color : 'C0' #boxplot.medianprops.linewidth : 1.0 #boxplot.medianprops.linestyle : '-' -#boxplot.meanprops.color : 'b' +#boxplot.meanprops.color : 'C1' #boxplot.meanprops.marker : '^' -#boxplot.meanprops.markerfacecolor : 'b' -#boxplot.meanprops.markeredgecolor : 'b' +#boxplot.meanprops.markerfacecolor : 'C1' +#boxplot.meanprops.markeredgecolor : 'C1' #boxplot.meanprops.markersize : 6 #boxplot.meanprops.linestyle : 'none' #boxplot.meanprops.linewidth : 1.0 From 668f292b3c131f2eafbd89e351200937ac5bc87c Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Thu, 28 Apr 2016 07:36:57 -0700 Subject: [PATCH 12/14] Merge pull request #6253 from madphysicist/ticker-formatter-maint MAINT: Updates to formatters in `matplotlib.ticker` Conflicts: .mailmap - just added the 1 new line, did not change any others lib/matplotlib/tests/test_ticker.py - whitespace vs new tests --- .mailmap | 1 + lib/matplotlib/ticker.py | 279 ++++++++++++++++++++++++++++++++--------------- 2 files changed, 190 insertions(+), 90 deletions(-) diff --git a/.mailmap b/.mailmap index 5b42aff0f28..44f6fec5ba1 100644 --- a/.mailmap +++ b/.mailmap @@ -20,6 +20,7 @@ Jens Hedegaard Nielsen Jens H. Nielsen Jens H. Nielsen John Hunter jdh2358 Joseph Fox-Rabinovitz Mad Physicist +Joseph Fox-Rabinovitz Joseph Fox-Rabinovitz Jouni K. Seppänen Jouni K. Seppänen Julien Schueller jschueller Julien Schueller Julien Schueller diff --git a/lib/matplotlib/ticker.py b/lib/matplotlib/ticker.py index 231a5f3193a..872997dc8af 100644 --- a/lib/matplotlib/ticker.py +++ b/lib/matplotlib/ticker.py @@ -2,11 +2,11 @@ Tick locating and formatting ============================ -This module contains classes to support completely configurable tick locating -and formatting. Although the locators know nothing about major or minor -ticks, they are used by the Axis class to support major and minor tick -locating and formatting. Generic tick locators and formatters are provided, -as well as domain specific custom ones.. +This module contains classes to support completely configurable tick +locating and formatting. Although the locators know nothing about major +or minor ticks, they are used by the Axis class to support major and +minor tick locating and formatting. Generic tick locators and +formatters are provided, as well as domain specific custom ones.. Default Formatter @@ -35,8 +35,8 @@ The Locator class is the base class for all tick locators. The locators handle autoscaling of the view limits based on the data limits, and the choosing of tick locations. A useful semi-automatic tick locator is -MultipleLocator. You initialize this with a base, e.g., 10, and it picks axis -limits and ticks that are multiples of your base. +MultipleLocator. You initialize this with a base, e.g., 10, and it +picks axis limits and ticks that are multiples of your base. The Locator subclasses defined here are @@ -56,8 +56,9 @@ logarithmically ticks from min to max :class:`SymmetricalLogLocator` - locator for use with with the symlog norm, works like the `LogLocator` for - the part outside of the threshold and add 0 if inside the limits + locator for use with with the symlog norm, works like the + `LogLocator` for the part outside of the threshold and add 0 if + inside the limits :class:`MultipleLocator` ticks and range are a multiple of base; @@ -108,33 +109,36 @@ axis. :class:`NullFormatter` - no labels on the ticks + No labels on the ticks :class:`IndexFormatter` - set the strings from a list of labels + Set the strings from a list of labels :class:`FixedFormatter` - set the strings manually for the labels + Set the strings manually for the labels :class:`FuncFormatter` - user defined function sets the labels + User defined function sets the labels :class:`StrMethodFormatter` Use string `format` method :class:`FormatStrFormatter` - use a sprintf format string + Use an old-style sprintf format string :class:`ScalarFormatter` - default formatter for scalars; autopick the fmt string + Default formatter for scalars: autopick the format string :class:`LogFormatter` - formatter for log axes + Formatter for log axes + +:class:`EngFormatter` + Format labels in engineering notation You can derive your own formatter from the Formatter base class by -simply overriding the ``__call__`` method. The formatter class has access -to the axis view and data limits. +simply overriding the ``__call__`` method. The formatter class has +access to the axis view and data limits. To control the major and minor tick label formats, use one of the following methods:: @@ -240,22 +244,32 @@ def set_bounds(self, vmin, vmax): class Formatter(TickHelper): """ - Convert the tick location to a string + Create a string based on a tick value and location. """ # some classes want to see all the locs to help format # individual ones locs = [] def __call__(self, x, pos=None): - """Return the format for tick val x at position pos; pos=None - indicated unspecified""" + """ + Return the format for tick value `x` at position pos. + ``pos=None`` indicates an unspecified location. + """ raise NotImplementedError('Derived must override') def format_data(self, value): + """ + Returns the full string representation of the value with the + position unspecified. + """ return self.__call__(value) def format_data_short(self, value): - """return a short string version""" + """ + Return a short string version of the tick value. + + Defaults to the position-independent long value. + """ return self.format_data(value) def get_offset(self): @@ -283,44 +297,58 @@ def fix_minus(self, s): class IndexFormatter(Formatter): """ - format the position x to the nearest i-th label where i=int(x+0.5) + Format the position x to the nearest i-th label where i=int(x+0.5) """ def __init__(self, labels): self.labels = labels self.n = len(labels) def __call__(self, x, pos=None): - """Return the format for tick val x at position pos; pos=None - indicated unspecified""" + """ + Return the format for tick value `x` at position pos. + + The position is ignored and the value is rounded to the nearest + integer, which is used to look up the label. + """ i = int(x + 0.5) - if i < 0: - return '' - elif i >= self.n: + if i < 0 or i >= self.n: return '' else: return self.labels[i] class NullFormatter(Formatter): - 'Always return the empty string' - + """ + Always return the empty string. + """ def __call__(self, x, pos=None): - 'Return the format for tick val *x* at position *pos*' + """ + Returns an empty string for all inputs. + """ return '' class FixedFormatter(Formatter): - 'Return fixed strings for tick labels' + """ + Return fixed strings for tick labels based only on position, not + value. + """ def __init__(self, seq): """ - *seq* is a sequence of strings. For positions ``i < len(seq)`` return - *seq[i]* regardless of *x*. Otherwise return '' + Set the sequence of strings that will be used for labels. """ self.seq = seq self.offset_string = '' def __call__(self, x, pos=None): - 'Return the format for tick val *x* at position *pos*' + """ + Returns the label that matches the position regardless of the + value. + + For positions ``pos < len(seq)``, return `seq[i]` regardless of + `x`. Otherwise return empty string. `seq` is the sequence of + strings that this object was initialized with. + """ if pos is None or pos >= len(self.seq): return '' else: @@ -335,42 +363,62 @@ def set_offset_string(self, ofs): class FuncFormatter(Formatter): """ - User defined function for formatting + Use a user-defined function for formatting. - The function should take in two inputs (tick value *x* and position *pos*) - and return a string + The function should take in two inputs (a tick value ``x`` and a + position ``pos``), and return a string containing the corresponding + tick label. """ def __init__(self, func): self.func = func def __call__(self, x, pos=None): - 'Return the format for tick val *x* at position *pos*' + """ + Return the value of the user defined function. + + `x` and `pos` are passed through as-is. + """ return self.func(x, pos) class FormatStrFormatter(Formatter): """ - Use an old-style ('%' operator) format string to format the tick + Use an old-style ('%' operator) format string to format the tick. + + The format string should have a single variable format (%) in it. + It will be applied to the value (not the position) of the tick. """ def __init__(self, fmt): self.fmt = fmt def __call__(self, x, pos=None): - 'Return the format for tick val *x* at position *pos*' + """ + Return the formatted label string. + + Only the value `x` is formatted. The position is ignored. + """ return self.fmt % x class StrMethodFormatter(Formatter): """ Use a new-style format string (as used by `str.format()`) - to format the tick. The field formatting must be labeled `x`. + to format the tick. + + The field used for the value must be labeled `x` and the field used + for the position must be labeled `pos`. """ def __init__(self, fmt): self.fmt = fmt def __call__(self, x, pos=None): - 'Return the format for tick val *x* at position *pos*' - return self.fmt.format(x=x) + """ + Return the formatted label string. + + `x` and `pos` are passed to `str.format` as keyword arguments + with those exact names. + """ + return self.fmt.format(x=x, pos=pos) class OldScalarFormatter(Formatter): @@ -379,13 +427,21 @@ class OldScalarFormatter(Formatter): """ def __call__(self, x, pos=None): - 'Return the format for tick val *x* at position *pos*' + """ + Return the format for tick val `x` based on the width of the + axis. + + The position `pos` is ignored. + """ xmin, xmax = self.axis.get_view_interval() d = abs(xmax - xmin) return self.pprint_val(x, d) def pprint_val(self, x, d): + """ + Formats the value `x` based on the size of the axis range `d`. + """ #if the number is not too big and it's an int, format it as an #int if abs(x) < 1e4 and x == int(x): @@ -418,15 +474,16 @@ def pprint_val(self, x, d): class ScalarFormatter(Formatter): """ - Tick location is a plain old number. If useOffset==True and the data range - is much smaller than the data average, then an offset will be determined - such that the tick labels are meaningful. Scientific notation is used for - data < 10^-n or data >= 10^m, where n and m are the power limits set using - set_powerlimits((n,m)). The defaults for these are controlled by the - axes.formatter.limits rc parameter. - + Format tick values as a number. + + Tick value is interpreted as a plain old number. If + ``useOffset==True`` and the data range is much smaller than the data + average, then an offset will be determined such that the tick labels + are meaningful. Scientific notation is used for ``data < 10^-n`` or + ``data >= 10^m``, where ``n`` and ``m`` are the power limits set + using ``set_powerlimits((n,m))``. The defaults for these are + controlled by the ``axes.formatter.limits`` rc parameter. """ - def __init__(self, useOffset=None, useMathText=None, useLocale=None): # useOffset allows plotting small data ranges with large offsets: for # example: [1+1e-9,1+2e-9,1+3e-9] useMathText will render the offset @@ -472,14 +529,18 @@ def set_useLocale(self, val): useLocale = property(fget=get_useLocale, fset=set_useLocale) def fix_minus(self, s): - """use a unicode minus rather than hyphen""" + """ + Replace hyphens with a unicode minus. + """ if rcParams['text.usetex'] or not rcParams['axes.unicode_minus']: return s else: return s.replace('-', '\u2212') def __call__(self, x, pos=None): - 'Return the format for tick val *x* at position *pos*' + """ + Return the format for tick value `x` at position `pos`. + """ if len(self.locs) == 0: return '' else: @@ -487,33 +548,45 @@ def __call__(self, x, pos=None): return self.fix_minus(s) def set_scientific(self, b): - '''True or False to turn scientific notation on or off - see also :meth:`set_powerlimits` - ''' + """ + Turn scientific notation on or off. + + .. seealso:: Method :meth:`set_powerlimits` + """ self._scientific = bool(b) def set_powerlimits(self, lims): - ''' + """ Sets size thresholds for scientific notation. - e.g., ``formatter.set_powerlimits((-3, 4))`` sets the pre-2007 default - in which scientific notation is used for numbers less than 1e-3 or - greater than 1e4. - See also :meth:`set_scientific`. - ''' + ``lims`` is a two-element sequence containing the powers of 10 + that determine the switchover threshold. Numbers below + ``10**lims[0]`` and above ``10**lims[1]`` will be displayed in + scientific notation. + + For example, ``formatter.set_powerlimits((-3, 4))`` sets the + pre-2007 default in which scientific notation is used for + numbers less than 1e-3 or greater than 1e4. + + .. seealso:: Method :meth:`set_scientific` + """ if len(lims) != 2: raise ValueError("'lims' must be a sequence of length 2") self._powerlimits = lims def format_data_short(self, value): - """return a short formatted string representation of a number""" + """ + Return a short formatted string representation of a number. + """ if self._useLocale: return locale.format_string('%-12g', (value,)) else: return '%-12g' % value def format_data(self, value): - 'return a formatted string representation of a number' + """ + Return a formatted string representation of a number. + """ if self._useLocale: s = locale.format_string('%1.10e', (value,)) else: @@ -522,7 +595,9 @@ def format_data(self, value): return self.fix_minus(s) def get_offset(self): - """Return scientific notation, plus offset""" + """ + Return scientific notation, plus offset. + """ if len(self.locs) == 0: return '' s = '' @@ -552,7 +627,9 @@ def get_offset(self): return self.fix_minus(s) def set_locs(self, locs): - 'set the locations of the ticks' + """ + Set the locations of the ticks. + """ self.locs = locs if len(self.locs) > 0: vmin, vmax = self.axis.get_view_interval() @@ -688,29 +765,38 @@ def _formatSciNotation(self, s): class LogFormatter(Formatter): """ - Format values for log axis; - + Format values for log axis. """ def __init__(self, base=10.0, labelOnlyBase=True): """ - *base* is used to locate the decade tick, - which will be the only one to be labeled if *labelOnlyBase* - is ``False`` + `base` is used to locate the decade tick, which will be the only + one to be labeled if `labelOnlyBase` is ``True``. """ self._base = base + 0.0 self.labelOnlyBase = labelOnlyBase def base(self, base): - """change the *base* for labeling - warning: should always match the - base used for :class:`LogLocator`""" + """ + change the `base` for labeling. + + .. warning:: + Should always match the base used for :class:`LogLocator` + + """ self._base = base def label_minor(self, labelOnlyBase): - 'switch on/off minor ticks labeling' + """ + Switch minor tick labeling on or off. + + ``labelOnlyBase=True`` to turn off minor ticks. + """ self.labelOnlyBase = labelOnlyBase def __call__(self, x, pos=None): - """Return the format for tick val *x* at position *pos*""" + """ + Return the format for tick val `x` at position `pos`. + """ vmin, vmax = self.axis.get_view_interval() d = abs(vmax - vmin) b = self._base @@ -741,7 +827,9 @@ def format_data(self, value): return value def format_data_short(self, value): - 'return a short formatted string representation of a number' + """ + Return a short formatted string representation of a number. + """ return '%-12g' % value def pprint_val(self, x, d): @@ -779,12 +867,14 @@ def pprint_val(self, x, d): class LogFormatterExponent(LogFormatter): """ - Format values for log axis; using ``exponent = log_base(value)`` + Format values for log axis using ``exponent = log_base(value)``. """ - def __call__(self, x, pos=None): - """Return the format for tick val *x* at position *pos*""" + """ + Return the format for tick value `x`. + The position `pos` is ignored. + """ vmin, vmax = self.axis.get_view_interval() vmin, vmax = mtransforms.nonsingular(vmin, vmax, expander=0.05) d = abs(vmax - vmin) @@ -812,11 +902,15 @@ def __call__(self, x, pos=None): class LogFormatterMathtext(LogFormatter): """ - Format values for log axis; using ``exponent = log_base(value)`` + Format values for log axis using ``exponent = log_base(value)``. """ def __call__(self, x, pos=None): - 'Return the format for tick val *x* at position *pos*' + """ + Return the format for tick value `x`. + + The position `pos` is ignored. + """ b = self._base usetex = rcParams['text.usetex'] @@ -860,7 +954,9 @@ def __call__(self, x, pos=None): class LogitFormatter(Formatter): - '''Probability formatter (using Math text)''' + """ + Probability formatter (using Math text). + """ def __call__(self, x, pos=None): s = '' if 0.01 <= x <= 0.99: @@ -884,14 +980,17 @@ def format_data_short(self, value): class EngFormatter(Formatter): """ - Formats axis values using engineering prefixes to represent powers of 1000, - plus a specified unit, e.g., 10 MHz instead of 1e7. - """ + Formats axis values using engineering prefixes to represent powers + of 1000, plus a specified unit, e.g., 10 MHz instead of 1e7. - # the unicode for -6 is the greek letter mu - # commeted here due to bug in pep8 - # (https://github.com/jcrocholl/pep8/issues/271) + `unit` is a string containing the abbreviated name of the unit, + suitable for use with single-letter representations of powers of + 1000. For example, 'Hz' or 'm'. + `places` is the percision with which to display the number, + specified in digits after the decimal point (there will be between + one and three digits before the decimal point). + """ # The SI engineering prefixes ENG_PREFIXES = { -24: "y", From ad81e3f37a49e25503aea7fcc61d5316ae4bb395 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Thu, 28 Apr 2016 19:13:37 -0700 Subject: [PATCH 13/14] Merge pull request #6328 from benjamincongdon/ft-scatter-marker-rc Add default scatter marker option to rcParams --- doc/users/whats_new/rcparams.rst | 2 ++ lib/matplotlib/axes/_axes.py | 6 +++++- lib/matplotlib/mpl-data/stylelib/classic.mplstyle | 3 +++ lib/matplotlib/pyplot.py | 2 +- lib/matplotlib/rcsetup.py | 4 ++++ matplotlibrc.template | 3 +++ 6 files changed, 18 insertions(+), 2 deletions(-) diff --git a/doc/users/whats_new/rcparams.rst b/doc/users/whats_new/rcparams.rst index fc58c7b3801..a19cb4c3a54 100644 --- a/doc/users/whats_new/rcparams.rst +++ b/doc/users/whats_new/rcparams.rst @@ -16,6 +16,8 @@ Configuration (rcParams) +----------------------------+--------------------------------------------------+ |`date.autoformatter.second` | format string for 'second' scale times | +----------------------------+--------------------------------------------------+ +|`scatter.marker` | default marker for scatter plot | ++----------------------------+--------------------------------------------------+ |`svg.hashsalt` | see note | +----------------------------+--------------------------------------------------+ diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 90c8c3b4b14..e528b53b6be 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -3732,7 +3732,7 @@ def dopatch(xs, ys, **kwargs): 'facecolors', 'color'], label_namer="y") @docstring.dedent_interpd - def scatter(self, x, y, s=None, c=None, marker='o', cmap=None, norm=None, + def scatter(self, x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, **kwargs): @@ -3903,6 +3903,10 @@ def scatter(self, x, y, s=None, c=None, marker='o', cmap=None, norm=None, scales = s # Renamed for readability below. + # load default marker from rcParams + if marker is None: + marker = rcParams['scatter.marker'] + # to be API compatible if marker is None and not (verts is None): marker = (verts, 0) diff --git a/lib/matplotlib/mpl-data/stylelib/classic.mplstyle b/lib/matplotlib/mpl-data/stylelib/classic.mplstyle index 2ba86163b8c..800cda75f5d 100644 --- a/lib/matplotlib/mpl-data/stylelib/classic.mplstyle +++ b/lib/matplotlib/mpl-data/stylelib/classic.mplstyle @@ -325,6 +325,9 @@ contour.corner_mask : True # errorbar props errorbar.capsize: 3 +# scatter props +scatter.marker: o + ### Boxplots boxplot.bootstrap: None boxplot.boxprops.color: b diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 9b1d8a700ab..be928242ce1 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -3231,7 +3231,7 @@ def quiverkey(*args, **kw): # This function was autogenerated by boilerplate.py. Do not edit as # changes will be lost @_autogen_docstring(Axes.scatter) -def scatter(x, y, s=None, c=None, marker='o', cmap=None, norm=None, vmin=None, +def scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, hold=None, data=None, **kwargs): ax = gca() diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index 1e387aa3e31..19746529144 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -1053,6 +1053,10 @@ def validate_hist_bins(s): 'polaraxes.grid': [True, validate_bool], # display polar grid or # not 'axes3d.grid': [True, validate_bool], # display 3d grid + + # scatter props + 'scatter.marker': ['o', six.text_type], + # TODO validate that these are valid datetime format strings 'date.autoformatter.year': ['%Y', six.text_type], 'date.autoformatter.month': ['%Y-%m', six.text_type], diff --git a/matplotlibrc.template b/matplotlibrc.template index 83ed82e1b93..fcd2eb1f2fd 100644 --- a/matplotlibrc.template +++ b/matplotlibrc.template @@ -461,6 +461,9 @@ backend : $TEMPLATE_BACKEND # If Numpy 1.11 or later is # installed, may also be `auto` +### SCATTER PLOTS +#scatter.marker : o # The default marker type for scatter plots. + ### Agg rendering ### Warning: experimental, 2008/10/10 #agg.path.chunksize : 0 # 0 to disable; values in the range From 482ddad99ec1a01d3bd31f7cd472f5b372e4b303 Mon Sep 17 00:00:00 2001 From: Jens Hedegaard Nielsen Date: Sat, 30 Apr 2016 08:58:40 +0100 Subject: [PATCH 14/14] Linkchecker uses requests but is broken with requests 2.10.0 so force an earlier version --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 5216c2cdf8a..38e3b01156c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -97,7 +97,8 @@ install: - | if [[ $BUILD_DOCS == true ]]; then pip install $PRE numpydoc ipython jsonschema mistune colorspacious - pip install -q $PRE linkchecker + # linkchecker is currently broken with requests 2.10.0 so force an earlier version + pip install $PRE requests==2.9.2 linkchecker wget https://github.com/google/fonts/blob/master/ofl/felipa/Felipa-Regular.ttf?raw=true -O Felipa-Regular.ttf wget http://mirrors.kernel.org/ubuntu/pool/universe/f/fonts-humor-sans/fonts-humor-sans_1.0-1_all.deb mkdir -p tmp