Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 69e1649

Browse filesBrowse files
committed
Merge remote-tracking branch 'upstream/v1.2.x'
Conflicts: lib/matplotlib/axes.py lib/matplotlib/tests/baseline_images/test_axes/axhspan_epoch.png lib/matplotlib/tests/baseline_images/test_axes/axvspan_epoch.png lib/matplotlib/tests/baseline_images/test_axes/boxplot.png lib/matplotlib/tests/baseline_images/test_axes/canonical.png lib/matplotlib/tests/baseline_images/test_axes/const_xy.png lib/matplotlib/tests/baseline_images/test_axes/contour_colorbar.png lib/matplotlib/tests/baseline_images/test_axes/contour_hatching.png lib/matplotlib/tests/baseline_images/test_axes/errorbar_basic.png lib/matplotlib/tests/baseline_images/test_axes/errorbar_mixed.png lib/matplotlib/tests/baseline_images/test_axes/errorbar_zorder.png lib/matplotlib/tests/baseline_images/test_axes/fill_units.png lib/matplotlib/tests/baseline_images/test_axes/formatter_large_small.png lib/matplotlib/tests/baseline_images/test_axes/formatter_ticker_001.png lib/matplotlib/tests/baseline_images/test_axes/formatter_ticker_002.png lib/matplotlib/tests/baseline_images/test_axes/formatter_ticker_003.png lib/matplotlib/tests/baseline_images/test_axes/formatter_ticker_004.png lib/matplotlib/tests/baseline_images/test_axes/formatter_ticker_005.png lib/matplotlib/tests/baseline_images/test_axes/hist2d.png lib/matplotlib/tests/baseline_images/test_axes/hist2d_transpose.png lib/matplotlib/tests/baseline_images/test_axes/hist_log.png lib/matplotlib/tests/baseline_images/test_axes/hist_stacked.png lib/matplotlib/tests/baseline_images/test_axes/hist_stacked_stepfilled.pdf lib/matplotlib/tests/baseline_images/test_axes/hist_stacked_weights.pdf lib/matplotlib/tests/baseline_images/test_axes/hist_stacked_weights.png lib/matplotlib/tests/baseline_images/test_axes/imshow_clip.png lib/matplotlib/tests/baseline_images/test_axes/log_scales.png lib/matplotlib/tests/baseline_images/test_axes/markevery.png lib/matplotlib/tests/baseline_images/test_axes/markevery_line.png lib/matplotlib/tests/baseline_images/test_axes/nonfinite_limits.png lib/matplotlib/tests/baseline_images/test_axes/offset_points.png lib/matplotlib/tests/baseline_images/test_axes/pcolormesh.png lib/matplotlib/tests/baseline_images/test_axes/polar_axes.png lib/matplotlib/tests/baseline_images/test_axes/polar_coords.png lib/matplotlib/tests/baseline_images/test_axes/polar_rmin.png lib/matplotlib/tests/baseline_images/test_axes/polar_theta_position.png lib/matplotlib/tests/baseline_images/test_axes/polar_units.png lib/matplotlib/tests/baseline_images/test_axes/polar_units_2.png lib/matplotlib/tests/baseline_images/test_axes/polar_wrap_180.png lib/matplotlib/tests/baseline_images/test_axes/polar_wrap_360.png lib/matplotlib/tests/baseline_images/test_axes/scatter.png lib/matplotlib/tests/baseline_images/test_axes/shaped_data.png lib/matplotlib/tests/baseline_images/test_axes/single_date.png lib/matplotlib/tests/baseline_images/test_axes/single_point.png lib/matplotlib/tests/baseline_images/test_axes/stackplot_test_image.png lib/matplotlib/tests/baseline_images/test_axes/symlog.png lib/matplotlib/tests/baseline_images/test_axes/twin_axis_locaters_formatters.png lib/matplotlib/tests/baseline_images/test_axes/units_strings.png lib/matplotlib/tests/baseline_images/test_axes/vline_hline_zorder.png lib/matplotlib/tests/baseline_images/test_dates/DateFormatter_fractionalSeconds.png lib/matplotlib/tests/baseline_images/test_dates/RRuleLocator_bounds.png lib/matplotlib/tests/baseline_images/test_dates/date_axhline.png lib/matplotlib/tests/baseline_images/test_dates/date_axhspan.png lib/matplotlib/tests/baseline_images/test_dates/date_axvline.png lib/matplotlib/tests/baseline_images/test_dates/date_axvspan.png lib/matplotlib/tests/baseline_images/test_dates/date_empty.png lib/matplotlib/tests/baseline_images/test_figure/figure_suptitle.png lib/matplotlib/tests/baseline_images/test_figure/figure_today.png lib/matplotlib/tests/baseline_images/test_image/image_clip.png lib/matplotlib/tests/baseline_images/test_image/image_interps.png lib/matplotlib/tests/baseline_images/test_image/imshow.png lib/matplotlib/tests/baseline_images/test_image/no_interpolation_origin.png lib/matplotlib/tests/baseline_images/test_legend/legend_auto1.png lib/matplotlib/tests/baseline_images/test_legend/legend_auto2.png lib/matplotlib/tests/baseline_images/test_legend/legend_various_labels.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_00.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_01.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_02.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_04.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_06.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_08.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_09.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_10.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_11.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_16.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_18.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_19.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_23.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_24.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_25.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_26.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_27.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_28.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_30.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_31.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_32.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_33.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_34.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_36.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_37.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_44.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_45.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_46.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_47.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_48.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_51.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_52.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_54.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_55.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_cm_58.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_00.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_01.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_06.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_07.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_08.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_09.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_10.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_11.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_14.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_16.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_18.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_19.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_21.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_22.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_23.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_24.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_25.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_26.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_27.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_28.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_30.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_31.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_32.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_33.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_34.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_36.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_37.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_44.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_45.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_46.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_47.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_48.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_51.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_52.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_53.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_54.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_56.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_57.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_58.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stix_59.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_00.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_01.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_02.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_03.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_06.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_08.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_10.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_12.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_16.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_19.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_21.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_22.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_23.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_24.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_25.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_26.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_27.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_28.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_30.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_31.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_32.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_33.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_34.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_35.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_36.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_37.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_44.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_45.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_46.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_47.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_48.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_49.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_51.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_52.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_53.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_54.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_56.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_57.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_58.png lib/matplotlib/tests/baseline_images/test_mathtext/mathfont_stixsans_59.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_00.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_01.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_04.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_05.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_06.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_07.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_09.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_10.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_13.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_18.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_20.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_23.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_26.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_27.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_28.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_29.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_31.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_32.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_33.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_34.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_35.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_36.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_40.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_41.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_42.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_43.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_45.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_49.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_51.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_53.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_55.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_56.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_57.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_59.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_60.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_61.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_62.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_63.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_64.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_66.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_67.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_00.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_01.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_02.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_03.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_04.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_05.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_06.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_07.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_08.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_09.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_10.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_11.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_13.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_14.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_15.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_16.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_17.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_18.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_19.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_20.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_21.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_22.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_24.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_27.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_30.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_31.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_32.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_33.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_34.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_36.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_39.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_40.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_41.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_42.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_44.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_45.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_46.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_47.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_48.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_49.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_50.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_51.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_53.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_55.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_56.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_58.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_59.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_60.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_61.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_62.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_63.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_66.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_00.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_01.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_03.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_04.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_05.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_07.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_08.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_09.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_10.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_12.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_13.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_14.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_15.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_18.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_21.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_22.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_23.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_24.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_25.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_27.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_28.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_30.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_31.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_33.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_34.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_35.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_36.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_37.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_38.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_39.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_41.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_43.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_45.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_47.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_48.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_49.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_50.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_52.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_53.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_54.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_55.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_56.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_57.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_58.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_59.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_60.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_62.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_63.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_66.png lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_67.png lib/matplotlib/tests/baseline_images/test_pickle/multi_pickle.png lib/matplotlib/tests/baseline_images/test_simplification/clipping_with_nans.png lib/matplotlib/tests/baseline_images/test_simplification/overflow.png lib/matplotlib/tests/baseline_images/test_simplification/simplify_curve.png lib/matplotlib/tests/baseline_images/test_spines/spines_axes_positions.png lib/matplotlib/tests/baseline_images/test_subplots/subplots_offset_text.png lib/matplotlib/tests/baseline_images/test_text/font_styles.png lib/matplotlib/tests/baseline_images/test_text/multiline.png lib/matplotlib/tests/baseline_images/test_text/text_contains.png lib/matplotlib/tests/baseline_images/test_tightlayout/tight_layout1.png lib/matplotlib/tests/baseline_images/test_tightlayout/tight_layout2.png lib/matplotlib/tests/baseline_images/test_tightlayout/tight_layout3.png lib/matplotlib/tests/baseline_images/test_tightlayout/tight_layout4.png lib/matplotlib/tests/baseline_images/test_tightlayout/tight_layout5.png lib/matplotlib/tests/baseline_images/test_tightlayout/tight_layout6.png lib/matplotlib/tests/baseline_images/test_transforms/pre_transform_data.png lib/matplotlib/tests/baseline_images/test_triangulation/tripcolor1.png lib/matplotlib/tests/test_axes.py
2 parents 709eb31 + bba6eea commit 69e1649
Copy full SHA for 69e1649

File tree

Expand file treeCollapse file tree

516 files changed

+3623
-100
lines changed
Filter options

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Dismiss banner
Expand file treeCollapse file tree

516 files changed

+3623
-100
lines changed

‎lib/matplotlib/artist.py

Copy file name to clipboardExpand all lines: lib/matplotlib/artist.py
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ def get_transform(self):
240240
instance used by this artist.
241241
"""
242242
if self._transform is None:
243-
self.set_transform(IdentityTransform())
243+
self._transform = IdentityTransform()
244244
elif (not isinstance(self._transform, Transform)
245245
and hasattr(self._transform, '_as_mpl_transform')):
246246
self._transform = self._transform._as_mpl_transform(self.axes)

‎lib/matplotlib/axes.py

Copy file name to clipboardExpand all lines: lib/matplotlib/axes.py
+77-55Lines changed: 77 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -4921,11 +4921,10 @@ def make_iterable(x):
49214921
if orientation == 'vertical':
49224922
self._process_unit_info(xdata=left, ydata=height, kwargs=kwargs)
49234923
if log:
4924-
self.set_yscale('log')
4924+
self.set_yscale('log', nonposy='clip')
49254925
# size width and bottom according to length of left
49264926
if _bottom is None:
49274927
if self.get_yscale() == 'log':
4928-
bottom = [1e-100]
49294928
adjust_ylim = True
49304929
else:
49314930
bottom = [0]
@@ -4937,11 +4936,10 @@ def make_iterable(x):
49374936
elif orientation == 'horizontal':
49384937
self._process_unit_info(xdata=width, ydata=bottom, kwargs=kwargs)
49394938
if log:
4940-
self.set_xscale('log')
4939+
self.set_xscale('log', nonposx='clip')
49414940
# size left and height according to length of bottom
49424941
if _left is None:
49434942
if self.get_xscale() == 'log':
4944-
left = [1e-100]
49454943
adjust_xlim = True
49464944
else:
49474945
left = [0]
@@ -8218,6 +8216,11 @@ def hist(self, x, bins=10, range=None, normed=False, weights=None,
82188216
raise ValueError(
82198217
"orientation kwarg %s is not recognized" % orientation)
82208218

8219+
if kwargs.get('width') is not None:
8220+
raise mplDeprecation(
8221+
'hist now uses the rwidth to give relative width '
8222+
'and not absolute width')
8223+
82218224
if histtype == 'barstacked' and not stacked:
82228225
stacked = True
82238226

@@ -8233,9 +8236,9 @@ def hist(self, x, bins=10, range=None, normed=False, weights=None,
82338236
else:
82348237
raise ValueError("x must be 1D or 2D")
82358238
if x.shape[1] < x.shape[0]:
8236-
warnings.warn('2D hist input should be nsamples x '
8237-
'nvariables;\n this looks transposed '
8238-
'(shape is %d x %d)' % x.shape[::-1])
8239+
warnings.warn(
8240+
'2D hist input should be nsamples x nvariables;\n '
8241+
'this looks transposed (shape is %d x %d)' % x.shape[::-1])
82398242
else:
82408243
# multiple hist with data of different length
82418244
x = [np.asarray(xi) for xi in x]
@@ -8270,7 +8273,7 @@ def hist(self, x, bins=10, range=None, normed=False, weights=None,
82708273
raise ValueError(
82718274
'weights should have the same shape as x')
82728275
else:
8273-
w = [None] * nx
8276+
w = [None]*nx
82748277

82758278
# Save autoscale state for later restoration; turn autoscaling
82768279
# off so we can do it all a single time at the end, instead
@@ -8285,7 +8288,7 @@ def hist(self, x, bins=10, range=None, normed=False, weights=None,
82858288

82868289
# Check whether bins or range are given explicitly. In that
82878290
# case use those values for autoscaling.
8288-
binsgiven = (cbook.iterable(bins) or bin_range != None)
8291+
binsgiven = (cbook.iterable(bins) or bin_range is not None)
82898292

82908293
# If bins are not specified either explicitly or via range,
82918294
# we need to figure out the range required for all datasets,
@@ -8304,16 +8307,13 @@ def hist(self, x, bins=10, range=None, normed=False, weights=None,
83048307
hist_kwargs = dict(range=bin_range)
83058308

83068309
n = []
8307-
mlast = None
8308-
# reversed order is necessary so when stacking histogram, first
8309-
# dataset is on top if histogram isn't stacked, this doesn't make any
8310-
# difference
8311-
for i in reversed(xrange(nx)):
8310+
mlast = bottom
8311+
for i in xrange(nx):
83128312
# this will automatically overwrite bins,
83138313
# so that each histogram uses the same bins
83148314
m, bins = np.histogram(x[i], bins, weights=w[i], **hist_kwargs)
83158315
if mlast is None:
8316-
mlast = np.zeros(len(bins) - 1, m.dtype)
8316+
mlast = np.zeros(len(bins)-1, m.dtype)
83178317
if normed:
83188318
db = np.diff(bins)
83198319
m = (m.astype(float) / db) / m.sum()
@@ -8322,8 +8322,6 @@ def hist(self, x, bins=10, range=None, normed=False, weights=None,
83228322
mlast[:] = m
83238323
n.append(m)
83248324

8325-
8326-
83278325
if cumulative:
83288326
slc = slice(None)
83298327
if cbook.is_numlike(cumulative) and cumulative < 0:
@@ -8334,8 +8332,6 @@ def hist(self, x, bins=10, range=None, normed=False, weights=None,
83348332
else:
83358333
n = [m[slc].cumsum()[slc] for m in n]
83368334

8337-
n.reverse() # put them back in the right order
8338-
83398335
patches = []
83408336

83418337
if histtype.startswith('bar'):
@@ -8349,21 +8345,20 @@ def hist(self, x, bins=10, range=None, normed=False, weights=None,
83498345
dr = 1.0
83508346

83518347
if histtype == 'bar' and not stacked:
8352-
width = dr * totwidth / nx
8348+
width = dr*totwidth/nx
83538349
dw = width
83548350

83558351
if nx > 1:
8356-
boffset = -0.5 * dr * totwidth * (1.0 - 1.0 / nx)
8352+
boffset = -0.5*dr*totwidth*(1.0-1.0/nx)
83578353
else:
83588354
boffset = 0.0
83598355
stacked = False
83608356
elif histtype == 'barstacked' or stacked:
8361-
width = dr * totwidth
8357+
width = dr*totwidth
83628358
boffset, dw = 0.0, 0.0
83638359

83648360
if align == 'mid' or align == 'edge':
8365-
boffset += 0.5 * totwidth
8366-
8361+
boffset += 0.5*totwidth
83678362
elif align == 'right':
83688363
boffset += totwidth
83698364

@@ -8373,31 +8368,34 @@ def hist(self, x, bins=10, range=None, normed=False, weights=None,
83738368
_barfunc = self.bar
83748369

83758370
for m, c in zip(n, color):
8376-
patch = _barfunc(bins[:-1] + boffset, m, width,
8371+
if bottom is None:
8372+
bottom = np.zeros(len(m), np.float)
8373+
if stacked:
8374+
height = m - bottom
8375+
else:
8376+
height = m
8377+
patch = _barfunc(bins[:-1]+boffset, height, width,
83778378
align='center', log=log,
83788379
color=c, bottom=bottom)
83798380
patches.append(patch)
8381+
if stacked:
8382+
bottom[:] = m
83808383
boffset += dw
83818384

83828385
elif histtype.startswith('step'):
8383-
x = np.zeros(2 * len(bins), np.float)
8384-
y = np.zeros(2 * len(bins), np.float)
8385-
8386-
x[0::2], x[1::2] = bins, bins
8387-
8388-
minimum = np.min(n)
8386+
# these define the perimeter of the polygon
8387+
x = np.zeros(4 * len(bins) - 3, np.float)
8388+
y = np.zeros(4 * len(bins) - 3, np.float)
83898389

8390-
if align == 'left' or align == 'center':
8391-
x -= 0.5 * (bins[1] - bins[0])
8392-
elif align == 'right':
8393-
x += 0.5 * (bins[1] - bins[0])
8390+
x[0:2*len(bins)-1:2], x[1:2*len(bins)-1:2] = bins, bins[:-1]
8391+
x[2*len(bins)-1:] = x[1:2*len(bins)-1][::-1]
83948392

83958393
if log:
83968394
if orientation == 'horizontal':
8397-
self.set_xscale('log')
8395+
self.set_xscale('log', nonposx='clip')
83988396
logbase = self.xaxis._scale.base
83998397
else: # orientation == 'vertical'
8400-
self.set_yscale('log')
8398+
self.set_yscale('log', nonposy='clip')
84018399
logbase = self.yaxis._scale.base
84028400

84038401
# Setting a minimum of 0 results in problems for log plots
@@ -8407,47 +8405,71 @@ def hist(self, x, bins=10, range=None, normed=False, weights=None,
84078405
ndata = np.array(n)
84088406
minimum = (np.min(ndata[ndata>0])) / logbase
84098407
else:
8410-
# For non-normed data, set the min to log base, again so
8411-
# that there is 1 full tick-label unit for the lowest bin
8408+
# For non-normed data, set the min to log base,
8409+
# again so that there is 1 full tick-label unit
8410+
# for the lowest bin
84128411
minimum = 1.0 / logbase
84138412

84148413
y[0], y[-1] = minimum, minimum
84158414
else:
84168415
minimum = np.min(bins)
84178416

8417+
if align == 'left' or align == 'center':
8418+
x -= 0.5*(bins[1]-bins[0])
8419+
elif align == 'right':
8420+
x += 0.5*(bins[1]-bins[0])
8421+
84188422
# If fill kwarg is set, it will be passed to the patch collection,
84198423
# overriding this
84208424
fill = (histtype == 'stepfilled')
84218425

8422-
for m, c in zip(n, color):
8423-
y[1:-1:2], y[2::2] = m, m
8426+
xvals, yvals = [], []
8427+
for m in n:
8428+
# starting point for drawing polygon
8429+
y[0] = y[-1]
8430+
# top of the previous polygon becomes the bottom
8431+
y[2*len(bins)-1:] = y[1:2*len(bins)-1][::-1]
8432+
# set the top of this polygon
8433+
y[1:2*len(bins)-1:2], y[2:2*len(bins):2] = m, m
84248434
if log:
84258435
y[y < minimum] = minimum
84268436
if orientation == 'horizontal':
84278437
x, y = y, x
84288438

8439+
xvals.append(x.copy())
8440+
yvals.append(y.copy())
8441+
8442+
# add patches in reverse order so that when stacking,
8443+
# items lower in the stack are plottted on top of
8444+
# items higher in the stack
8445+
for x, y, c in reversed(zip(xvals, yvals, color)):
84298446
if fill:
84308447
patches.append(self.fill(x, y,
8431-
closed=False, facecolor=c))
8448+
closed=False,
8449+
facecolor=c))
84328450
else:
84338451
patches.append(self.fill(x, y,
8434-
closed=False, edgecolor=c, fill=False))
8452+
closed=False, edgecolor=c,
8453+
fill=False))
8454+
8455+
# we return patches, so put it back in the expected order
8456+
patches.reverse()
84358457

84368458
# adopted from adjust_x/ylim part of the bar method
84378459
if orientation == 'horizontal':
8438-
xmin0 = max(_saved_bounds[0] * 0.9, minimum)
8460+
xmin0 = max(_saved_bounds[0]*0.9, minimum)
84398461
xmax = self.dataLim.intervalx[1]
84408462
for m in n:
8441-
xmin = np.amin(m[m != 0]) # filter out the 0 height bins
8442-
xmin = max(xmin * 0.9, minimum)
8463+
xmin = np.amin(m[m != 0]) # filter out the 0 height bins
8464+
xmin = max(xmin*0.9, minimum)
84438465
xmin = min(xmin0, xmin)
84448466
self.dataLim.intervalx = (xmin, xmax)
84458467
elif orientation == 'vertical':
8446-
ymin0 = max(_saved_bounds[1] * 0.9, minimum)
8468+
ymin0 = max(_saved_bounds[1]*0.9, minimum)
84478469
ymax = self.dataLim.intervaly[1]
84488470
for m in n:
8449-
ymin = np.amin(m[m != 0]) # filter out the 0 height bins
8450-
ymin = max(ymin * 0.9, minimum)
8471+
ymin = np.amin(m[m != 0]) # filter out the 0 height bins
8472+
ymin = max(ymin*0.9, minimum)
84518473
ymin = min(ymin0, ymin)
84528474
self.dataLim.intervaly = (ymin, ymax)
84538475

@@ -8458,8 +8480,8 @@ def hist(self, x, bins=10, range=None, normed=False, weights=None,
84588480
elif is_sequence_of_strings(label):
84598481
labels = list(label)
84608482
else:
8461-
raise ValueError('invalid label: must be string or sequence of '
8462-
'strings')
8483+
raise ValueError(
8484+
'invalid label: must be string or sequence of strings')
84638485

84648486
if len(labels) < nx:
84658487
labels += [None] * (nx - len(labels))
@@ -8479,11 +8501,11 @@ def hist(self, x, bins=10, range=None, normed=False, weights=None,
84798501

84808502
if binsgiven:
84818503
if orientation == 'vertical':
8482-
self.update_datalim([(bins[0], 0), (bins[-1], 0)],
8483-
updatey=False)
8504+
self.update_datalim(
8505+
[(bins[0], 0), (bins[-1], 0)], updatey=False)
84848506
else:
8485-
self.update_datalim([(0, bins[0]), (0, bins[-1])],
8486-
updatex=False)
8507+
self.update_datalim(
8508+
[(0, bins[0]), (0, bins[-1])], updatex=False)
84878509

84888510
self.set_autoscalex_on(_saved_autoscalex)
84898511
self.set_autoscaley_on(_saved_autoscaley)

‎lib/matplotlib/backends/backend_agg.py

Copy file name to clipboardExpand all lines: lib/matplotlib/backends/backend_agg.py
+4-3Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -154,8 +154,8 @@ def draw_mathtext(self, gc, x, y, s, prop, angle):
154154
ox, oy, width, height, descent, font_image, used_characters = \
155155
self.mathtext_parser.parse(s, self.dpi, prop)
156156

157-
x = int(x) + ox
158-
y = int(y) - oy
157+
x = np.round(x + ox)
158+
y = np.round(y - oy)
159159
self._renderer.draw_text_image(font_image, x, y + 1, angle, gc)
160160

161161
def draw_text(self, gc, x, y, s, prop, angle, ismath=False, mtext=None):
@@ -179,7 +179,8 @@ def draw_text(self, gc, x, y, s, prop, angle, ismath=False, mtext=None):
179179
font.draw_glyphs_to_bitmap(antialiased=rcParams['text.antialiased'])
180180

181181
#print x, y, int(x), int(y), s
182-
self._renderer.draw_text_image(font.get_image(), int(x), int(y) + 1, angle, gc)
182+
self._renderer.draw_text_image(
183+
font.get_image(), np.round(x), np.round(y) + 1, angle, gc)
183184

184185
def get_text_width_height_descent(self, s, prop, ismath):
185186
"""
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Binary file not shown.
Loading

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.