Skip to content

Commit b70fd43

Browse files
committed
Enable set_{x|y|}label(loc={'left','right','center','top','bottom'})
1 parent e5283e0 commit b70fd43

File tree

393 files changed

+6122
-10271
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

393 files changed

+6122
-10271
lines changed

.appveyor.yml

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ environment:
2626
- PYTHON_VERSION: "3.6"
2727
CONDA_INSTALL_LOCN: "C:\\Miniconda36-x64"
2828
TEST_ALL: "no"
29+
EXTRAREQS: "-r requirements/testing/travis36.txt"
2930
- PYTHON_VERSION: "3.7"
3031
CONDA_INSTALL_LOCN: "C:\\Miniconda37-x64"
3132
TEST_ALL: "no"
@@ -47,24 +48,19 @@ init:
4748

4849
install:
4950
- set PATH=%CONDA_INSTALL_LOCN%;%CONDA_INSTALL_LOCN%\scripts;%PATH%;
50-
- set PYTHONUNBUFFERED=1
5151
- conda config --set always_yes true
52-
- conda update --all
5352
- conda config --set show_channel_urls yes
5453
- conda config --prepend channels conda-forge
55-
# this is now the downloaded conda...
56-
- activate
57-
- conda info -a
58-
59-
# For building, use a new environment which only includes the requirements for mpl
60-
# if conda-forge gets a new pyqt, it might be nice to install it as well to have more backends
61-
# https://github.com/conda-forge/conda-forge.github.io/issues/157#issuecomment-223536381
62-
- conda create -q -n test-environment python=%PYTHON_VERSION%
63-
freetype=2.6 tk=8.5
64-
pip setuptools numpy sphinx tornado
54+
55+
# For building, use a new environment
56+
- conda create -q -n test-environment python=%PYTHON_VERSION% tk
6557
- activate test-environment
6658
- echo %PYTHON_VERSION% %TARGET_ARCH%
67-
- pip install -r requirements/testing/travis_all.txt -r requirements/testing/travis36.txt
59+
# Install dependencies from PyPI.
60+
- python -mpip install --upgrade -r requirements/testing/travis_all.txt %EXTRAREQS% %PINNEDVERS%
61+
# Install optional dependencies from PyPI.
62+
# Sphinx is needed to run sphinxext tests
63+
- python -mpip install --upgrade sphinx
6864

6965
# Apply patch to `subprocess` on Python versions > 2 and < 3.6.3
7066
# https://github.com/matplotlib/matplotlib/issues/9176
@@ -84,7 +80,7 @@ test_script:
8480
- '"%DUMPBIN%" /DEPENDENTS lib\matplotlib\ft2font*.pyd | findstr freetype.*.dll && exit /b 1 || exit /b 0'
8581

8682
# this are optional dependencies so that we don't skip so many tests...
87-
- if x%TEST_ALL% == xyes conda install -q ffmpeg inkscape miktex pillow
83+
- if x%TEST_ALL% == xyes conda install -q ffmpeg inkscape miktex
8884
# missing packages on conda-forge for avconv imagemagick
8985
# This install sometimes failed randomly :-(
9086
#- choco install imagemagick

.flake8

Lines changed: 20 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ ignore =
1414
# pydocstyle
1515
D100, D101, D102, D103, D104, D105, D106, D107,
1616
D200, D202, D203, D204, D205, D207, D209, D212, D213,
17-
D300, D301
17+
D301
1818
D400, D401, D402, D403, D413,
1919

2020
exclude =
@@ -45,7 +45,6 @@ per-file-ignores =
4545
lib/matplotlib/backends/backend_*.py: F401
4646
lib/matplotlib/backends/qt_editor/formlayout.py: F401, F403
4747
lib/matplotlib/cbook/__init__.py: F401
48-
lib/matplotlib/figure.py: F401
4948
lib/matplotlib/font_manager.py: E221, E251, E501
5049
lib/matplotlib/image.py: F401, F403
5150
lib/matplotlib/lines.py: F401
@@ -77,24 +76,23 @@ per-file-ignores =
7776
lib/pylab.py: F401, F403
7877

7978
doc/conf.py: E402, E501
80-
tutorials/advanced/path_tutorial.py: E402, E501
81-
tutorials/advanced/patheffects_guide.py: E402, E501
79+
tutorials/advanced/path_tutorial.py: E402
80+
tutorials/advanced/patheffects_guide.py: E402
8281
tutorials/advanced/transforms_tutorial.py: E402, E501
8382
tutorials/colors/colormaps.py: E501
8483
tutorials/colors/colors.py: E402
8584
tutorials/colors/colormap-manipulation.py: E402
86-
tutorials/intermediate/artists.py: E402, E501
85+
tutorials/intermediate/artists.py: E402
8786
tutorials/intermediate/constrainedlayout_guide.py: E402
88-
tutorials/intermediate/gridspec.py: E402, E501
89-
tutorials/intermediate/legend_guide.py: E402, E501
90-
tutorials/intermediate/tight_layout_guide.py: E402, E501
87+
tutorials/intermediate/gridspec.py: E402
88+
tutorials/intermediate/legend_guide.py: E402
89+
tutorials/intermediate/tight_layout_guide.py: E402
9190
tutorials/introductory/customizing.py: E501
9291
tutorials/introductory/images.py: E402, E501
9392
tutorials/introductory/pyplot.py: E402, E501
9493
tutorials/introductory/sample_plots.py: E501
9594
tutorials/introductory/usage.py: E501
9695
tutorials/text/annotations.py: E501
97-
tutorials/text/pgf.py: E501
9896
tutorials/text/text_intro.py: E402
9997
tutorials/text/text_props.py: E501
10098
tutorials/text/usetex.py: E501
@@ -113,18 +111,13 @@ per-file-ignores =
113111
examples/color/colormap_reference.py: E402
114112
examples/color/custom_cmap.py: E402
115113
examples/color/named_colors.py: E402
116-
examples/event_handling/data_browser.py: E501
117-
examples/event_handling/path_editor.py: E501
118-
examples/event_handling/pick_event_demo.py: E501
119-
examples/event_handling/poly_editor.py: E501
120-
examples/event_handling/viewlims.py: E501
121114
examples/images_contours_and_fields/affine_image.py: E402
122115
examples/images_contours_and_fields/barb_demo.py: E402
123116
examples/images_contours_and_fields/barcode_demo.py: E402
124117
examples/images_contours_and_fields/contour_corner_mask.py: E402
125-
examples/images_contours_and_fields/contour_demo.py: E402, E501
118+
examples/images_contours_and_fields/contour_demo.py: E402
126119
examples/images_contours_and_fields/contour_image.py: E402
127-
examples/images_contours_and_fields/contourf_demo.py: E402, E501
120+
examples/images_contours_and_fields/contourf_demo.py: E402
128121
examples/images_contours_and_fields/contourf_hatching.py: E402
129122
examples/images_contours_and_fields/contourf_log.py: E402
130123
examples/images_contours_and_fields/demo_bboximage.py: E402
@@ -144,8 +137,8 @@ per-file-ignores =
144137
examples/images_contours_and_fields/quadmesh_demo.py: E402
145138
examples/images_contours_and_fields/quiver_demo.py: E402
146139
examples/images_contours_and_fields/quiver_simple_demo.py: E402
147-
examples/images_contours_and_fields/shading_example.py: E402, E501
148-
examples/images_contours_and_fields/specgram_demo.py: E402, E501
140+
examples/images_contours_and_fields/shading_example.py: E402
141+
examples/images_contours_and_fields/specgram_demo.py: E402
149142
examples/images_contours_and_fields/spy_demos.py: E402
150143
examples/images_contours_and_fields/tricontour_demo.py: E201, E402
151144
examples/images_contours_and_fields/tricontour_smooth_delaunay.py: E402
@@ -170,17 +163,11 @@ per-file-ignores =
170163
examples/lines_bars_and_markers/timeline.py: E402
171164
examples/lines_bars_and_markers/xcorr_acorr_demo.py: E402
172165
examples/misc/agg_buffer.py: E402
173-
examples/misc/anchored_artists.py: E501
174-
examples/misc/contour_manual.py: E501
175-
examples/misc/font_indexing.py: E501
176-
examples/misc/ftface_props.py: E501
177166
examples/misc/histogram_path.py: E402
178167
examples/misc/print_stdout_sgskip.py: E402
179-
examples/misc/svg_filter_line.py: E402, E501
180-
examples/misc/svg_filter_pie.py: E402, E501
168+
examples/misc/svg_filter_line.py: E402
169+
examples/misc/svg_filter_pie.py: E402
181170
examples/misc/table_demo.py: E201
182-
examples/mplot3d/voxels.py: E501
183-
examples/mplot3d/wire3d_zero_stride.py: E501
184171
examples/pie_and_polar_charts/bar_of_pie.py: E402
185172
examples/pie_and_polar_charts/nested_pie.py: E402
186173
examples/pie_and_polar_charts/pie_and_donut_labels.py: E402
@@ -191,7 +178,7 @@ per-file-ignores =
191178
examples/pie_and_polar_charts/polar_legend.py: E402
192179
examples/pie_and_polar_charts/polar_scatter.py: E402
193180
examples/pyplots/align_ylabels.py: E402
194-
examples/pyplots/annotate_transform.py: E228, E251, E402, E501
181+
examples/pyplots/annotate_transform.py: E228, E251, E402
195182
examples/pyplots/annotation_basic.py: E402
196183
examples/pyplots/annotation_polar.py: E231, E402
197184
examples/pyplots/auto_subplots_adjust.py: E231, E302, E402
@@ -217,13 +204,12 @@ per-file-ignores =
217204
examples/pyplots/whats_new_99_axes_grid.py: E402
218205
examples/pyplots/whats_new_99_mplot3d.py: E402
219206
examples/pyplots/whats_new_99_spines.py: E231, E402
220-
examples/recipes/placing_text_boxes.py: E501
221207
examples/scales/power_norm.py: E402
222208
examples/scales/scales.py: E402
223209
examples/shapes_and_collections/artist_reference.py: E402
224210
examples/shapes_and_collections/collections.py: E402
225211
examples/shapes_and_collections/compound_path.py: E402
226-
examples/shapes_and_collections/dolphin.py: E402, E501
212+
examples/shapes_and_collections/dolphin.py: E402
227213
examples/shapes_and_collections/donut.py: E402
228214
examples/shapes_and_collections/ellipse_collection.py: E402
229215
examples/shapes_and_collections/ellipse_demo.py: E402
@@ -232,17 +218,16 @@ per-file-ignores =
232218
examples/shapes_and_collections/line_collection.py: E402
233219
examples/shapes_and_collections/marker_path.py: E402
234220
examples/shapes_and_collections/patch_collection.py: E402
235-
examples/shapes_and_collections/path_patch.py: E402, E501
221+
examples/shapes_and_collections/path_patch.py: E402
236222
examples/shapes_and_collections/quad_bezier.py: E402
237223
examples/shapes_and_collections/scatter.py: E402
238224
examples/showcase/firefox.py: E501
239-
examples/specialty_plots/anscombe.py: E402, E501
225+
examples/specialty_plots/anscombe.py: E402
240226
examples/specialty_plots/radar_chart.py: E402
241-
examples/specialty_plots/sankey_basics.py: E402, E501
227+
examples/specialty_plots/sankey_basics.py: E402
242228
examples/specialty_plots/sankey_links.py: E402
243229
examples/specialty_plots/sankey_rankine.py: E402
244230
examples/specialty_plots/skewt.py: E402
245-
examples/statistics/boxplot_demo.py: E501
246231
examples/style_sheets/bmh.py: E501
247232
examples/style_sheets/ggplot.py: E501
248233
examples/style_sheets/plot_solarizedlight2.py: E501
@@ -254,8 +239,7 @@ per-file-ignores =
254239
examples/subplots_axes_and_figures/secondary_axis.py: E402
255240
examples/subplots_axes_and_figures/two_scales.py: E402
256241
examples/subplots_axes_and_figures/zoom_inset_axes.py: E402
257-
examples/tests/backend_driver_sgskip.py: E402, E501
258-
examples/text_labels_and_annotations/annotation_demo.py: E501
242+
examples/tests/backend_driver_sgskip.py: E402
259243
examples/text_labels_and_annotations/demo_text_rotation_mode.py: E402
260244
examples/text_labels_and_annotations/custom_legends.py: E402
261245
examples/text_labels_and_annotations/fancyarrow_demo.py: E402
@@ -266,24 +250,16 @@ per-file-ignores =
266250
examples/text_labels_and_annotations/mathtext_asarray.py: E402
267251
examples/text_labels_and_annotations/tex_demo.py: E402
268252
examples/text_labels_and_annotations/watermark_text.py: E402
269-
examples/ticks_and_spines/auto_ticks.py: E501
270253
examples/ticks_and_spines/date_concise_formatter.py: E402
271254
examples/user_interfaces/canvasagg.py: E402
272255
examples/user_interfaces/embedding_in_gtk3_panzoom_sgskip.py: E402
273256
examples/user_interfaces/embedding_in_gtk3_sgskip.py: E402
274257
examples/user_interfaces/embedding_in_qt_sgskip.py: E402
275-
examples/user_interfaces/embedding_in_wx2_sgskip.py: E501
276-
examples/user_interfaces/embedding_in_wx3_sgskip.py: E501
277-
examples/user_interfaces/embedding_in_wx4_sgskip.py: E501
278-
examples/user_interfaces/embedding_in_wx5_sgskip.py: E501
279-
examples/user_interfaces/embedding_webagg_sgskip.py: E501
280258
examples/user_interfaces/gtk_spreadsheet_sgskip.py: E402
281-
examples/user_interfaces/mathtext_wx_sgskip.py: E402, E501
259+
examples/user_interfaces/mathtext_wx_sgskip.py: E402
282260
examples/user_interfaces/mpl_with_glade3_sgskip.py: E402
283261
examples/user_interfaces/pylab_with_gtk_sgskip.py: E302, E402
284262
examples/user_interfaces/toolmanager_sgskip.py: E402
285263
examples/userdemo/connectionstyle_demo.py: E402
286264
examples/userdemo/custom_boxstyle01.py: E402
287265
examples/userdemo/pgf_preamble_sgskip.py: E402
288-
examples/userdemo/simple_annotate01.py: E501
289-
examples/widgets/rectangle_selector.py: E501

.travis.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,13 +104,16 @@ before_install: |
104104
export PATH=/usr/lib/ccache:$PATH
105105
;;
106106
osx)
107+
set -e
107108
ci/silence brew update
108109
brew uninstall numpy gdal postgis
110+
brew unlink python@2
109111
brew upgrade python
110-
brew install ffmpeg imagemagick mplayer ccache font-wenquanyi-zen-hei
112+
brew install ffmpeg imagemagick mplayer ccache
111113
hash -r
112114
which python
113115
python --version
116+
set +e
114117
# We could install ghostscript and inkscape here to test svg and pdf
115118
# but this makes the test time really long.
116119
# brew install ghostscript inkscape
@@ -128,6 +131,10 @@ install:
128131
- |
129132
# Install dependencies from PyPI.
130133
python -mpip install --upgrade $PRE -r requirements/testing/travis_all.txt $EXTRAREQS $PINNEDVERS
134+
- |
135+
# Install optional dependencies from PyPI.
136+
# Sphinx is needed to run sphinxext tests
137+
python -mpip install --upgrade sphinx
131138
# GUI toolkits are pip-installable only for some versions of Python so
132139
# don't fail if we can't install them. Make it easier to check whether the
133140
# install was successful by trying to import the toolkit (sometimes, the

INSTALL.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,9 @@ FreeType and Qhull
159159
Matplotlib depends on `FreeType <https://www.freetype.org/>`_ (>= 2.3), a
160160
font rendering library, and on `Qhull <http://www.qhull.org/>`_ (>= 2015.2),
161161
a library for computing triangulations. By default, Matplotlib downloads and
162-
builds its own copy of FreeType, and uses its own copy of Qhull.
162+
builds its own copy of FreeType (this is necessary to run the test suite,
163+
because different versions of FreeType rasterize characters differently), and
164+
uses its own copy of Qhull.
163165

164166
To force Matplotlib to use a copy of FreeType or Qhull already installed in
165167
your system, create a :file:`setup.cfg` file with the following contents:

LICENSE/LICENSE_CONDA

Lines changed: 0 additions & 51 deletions
This file was deleted.
32.9 KB
Loading

doc/_static/fa/LICENSE

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Font Awsome SVG Icons are covered by CC BY 4.0 License.
2+
3+
https://fontawesome.com/license/free
4+
5+
Icons are based on Font Awesome 5.11.2 and colors have been adapted.

doc/_static/fa/discourse-brands.svg

Lines changed: 1 addition & 0 deletions
Loading

doc/_static/fa/envelope-regular.svg

Lines changed: 1 addition & 0 deletions
Loading

doc/_static/fa/github-brands.svg

Lines changed: 1 addition & 0 deletions
Loading

0 commit comments

Comments
 (0)