Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 69e1649

Browse 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

File tree

516 files changed

+3623
-100
lines changed

Some content is hidden

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

516 files changed

+3623
-100
lines changed

lib/matplotlib/artist.py

Lines 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

Lines 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

Lines 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
Binary file not shown.

0 commit comments

Comments
 (0)