Skip to content

Examples page version is out of date #9556

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
dstansby opened this issue Oct 24, 2017 · 17 comments
Closed

Examples page version is out of date #9556

dstansby opened this issue Oct 24, 2017 · 17 comments
Assignees
Milestone

Comments

@dstansby
Copy link
Member

On the current live docs, the examples page claims to be from release 2.0.2, but it should be 2.1: http://matplotlib.org/examples/index.html

@tacaswell tacaswell added this to the v2.1.0-doc milestone Oct 24, 2017
@tacaswell
Copy link
Member

This came up on gitter yesterday https://gitter.im/matplotlib/matplotlib?at=59ee111df7299e8f53218190

There are a couple of pages that were rename as part of the documentation overhaul that need to either have symlinks or forwards put in their place. We don't have direct access to the server so I don't think we can get it return 301s .

The current state is likely better than people getting 404s.

@malgamves
Copy link

What do i do?

@tacaswell
Copy link
Member

Fun fact: github has a maximum comment length!

I am not sure of the best course of action here is. I think the first step is to sort out what files moved, see #8688 and to simply compare the contents of https://github.com/matplotlib/matplotlib.github.com/tree/master/2.0.2 and https://github.com/matplotlib/matplotlib.github.com/tree/master/2.1.0

Once we know what files are the problem and the scope of it what do we want to do about it? Do we just want to add symlinks to the moved pages (forever?)? Is there a way to do forwards via html (forever)? Do we want to re-generate all of the old-docs with a header warning it is outdated? Is there a way we can do that without regenerating all of the html (sed? js tricks?)? We are limited in that we host on githubpages so we can only post static files (no server side tuning).

We probably should cross-reference the file list against the google-analytics on each page's usage to make sure we do not break everything.

matplotlib/matplotlib.github.com#23 is a ham-fisted attempt to remove old files.

Below is logs of various outputs. I have done some of the leg work, but there is still a bunch of analysis to do.

@tacaswell
Copy link
Member

Analytics

# ----------------------------------------
# All Web Site Data
# Pages
# 20171022-20171028
# ----------------------------------------

Page,Pageviews,Unique Pageviews,Avg. Time on Page,Entrances,Bounce Rate,% Exit,Page Value
/users/pyplot_tutorial.html,"46,594","40,710",00:05:20,"28,973",62.60%,56.75%,$0.00
/index.html,"42,286","34,001",00:01:04,"28,048",30.24%,26.57%,$0.00
/api/pyplot_api.html,"32,166","26,728",00:03:55,"14,808",54.21%,46.53%,$0.00
/gallery/index.html,"22,206","11,234",00:00:54,"1,228",30.21%,10.02%,$0.00
/users/installing.html,"17,271","12,348",00:04:03,"5,873",65.99%,52.01%,$0.00
/users/legend_guide.html,"15,949","13,777",00:04:58,"8,868",54.94%,49.10%,$0.00
/tutorials/index.html,"14,282","8,767",00:00:29,691,27.64%,6.33%,$0.00
/api/pyplot_summary.html,"12,711","8,787",00:01:02,"1,413",31.49%,12.66%,$0.00
/examples/color/colormaps_reference.html,"10,796","9,162",00:04:08,"5,445",57.80%,48.69%,$0.00
/examples/pylab_examples/subplots_demo.html,"10,614","9,241",00:04:30,"5,592",45.89%,41.16%,$0.00
/gallery.html,"10,502","6,081",00:01:14,"3,649",36.01%,21.81%,$0.00
/api/colors_api.html,"10,487","8,821",00:02:36,"4,991",42.78%,35.03%,$0.00
/tutorials/introductory/sample_plots.html,"10,452","6,463",00:00:52,468,31.77%,11.02%,$0.00
/devdocs/api/_as_gen/matplotlib.pyplot.scatter.html,"10,277","7,933",00:03:00,"5,796",43.75%,37.26%,$0.00
/mpl_toolkits/mplot3d/tutorial.html,"9,815","7,660",00:05:16,"5,659",53.17%,47.20%,$0.00
/devdocs/api/_as_gen/matplotlib.pyplot.hist.html,"9,084","7,430",00:04:36,"5,970",54.12%,49.94%,$0.00
/api/figure_api.html,"8,513","6,754",00:01:45,"3,526",29.33%,22.12%,$0.00
/api/axes_api.html,"8,051","5,543",00:02:10,"2,040",30.98%,20.11%,$0.00
/users/image_tutorial.html,"7,799","6,830",00:04:36,"4,852",61.89%,54.10%,$0.00
/examples/index.html,"7,514","4,318",00:00:40,"1,684",24.94%,11.54%,$0.00
/contents.html,"7,165","5,072",00:00:43,"1,095",31.60%,12.60%,$0.00
/users/text_intro.html,"6,657","5,670",00:03:03,"2,758",42.02%,34.69%,$0.00
/api/markers_api.html,"6,559","5,632",00:03:36,"3,340",50.96%,43.73%,$0.00
/devdocs/api/_as_gen/matplotlib.pyplot.subplots.html,"5,969","4,940",00:03:32,"1,819",37.77%,30.41%,$0.00
/users/colormaps.html,"5,669","4,916",00:03:41,"2,331",56.97%,45.26%,$0.00
/examples/color/named_colors.html,"5,163","4,700",00:04:18,"2,429",67.86%,56.42%,$0.00
/api/lines_api.html,"5,087","4,297",00:01:10,"1,922",19.88%,17.63%,$0.00
/api/_as_gen/matplotlib.pyplot.plot.html,"4,734","3,550",00:03:20,591,51.95%,31.16%,$0.00
/users/index.html,"4,511","3,442",00:00:25,358,34.92%,7.56%,$0.00
/devdocs/api/_as_gen/matplotlib.pyplot.imshow.html,"4,165","3,387",00:03:27,"1,869",46.87%,39.14%,$0.00
/examples/api/barchart_demo.html,"3,824","3,404",00:04:35,"2,076",46.53%,42.02%,$0.00
/faq/howto_faq.html,"3,766","3,383",00:03:14,"1,330",56.17%,42.38%,$0.00
/users/colors.html,"3,761","3,382",00:04:16,983,50.15%,43.10%,$0.00
/faq/installing_faq.html,"3,689","3,222",00:04:12,"1,971",61.90%,53.94%,$0.00
/users/tight_layout_guide.html,"3,603","3,302",00:05:24,"1,622",58.57%,48.90%,$0.00
/devdocs/api/_as_gen/matplotlib.pyplot.savefig.html,"3,467","3,058",00:04:25,"1,983",58.60%,52.78%,$0.00
/users/customizing.html,"3,250","2,713",00:04:34,"1,382",55.64%,46.37%,$0.00
/api/legend_api.html,"3,230","2,931",00:05:03,"1,087",62.19%,51.76%,$0.00
/api/_as_gen/matplotlib.figure.Figure.html,"3,158","2,622",00:03:41,120,56.67%,33.85%,$0.00
/examples/pylab_examples/contour_demo.html,"3,114","2,627",00:04:42,"1,747",45.33%,40.59%,$0.00
/api/colorbar_api.html,"2,939","2,437",00:02:54,"1,200",33.67%,27.83%,$0.00
/faq/usage_faq.html,"2,925","2,527",00:04:39,"1,524",61.55%,51.69%,$0.00
/api/axis_api.html,"2,867","2,208",00:02:30,733,33.56%,22.92%,$0.00
/api/animation_api.html,"2,827","1,861",00:02:11,"1,038",35.55%,24.94%,$0.00
/users/annotations_intro.html,"2,794","2,400",00:03:40,"1,245",42.89%,35.36%,$0.00
/devdocs/api/_as_gen/matplotlib.pyplot.bar.html,"2,749","2,184",00:03:21,"1,032",41.38%,32.88%,$0.00
/examples/pylab_examples/log_demo.html,"2,625","2,435",00:05:29,"1,749",63.18%,57.10%,$0.00
/examples/ticks_and_spines/ticklabels_demo_rotation.html,"2,586","2,367",00:04:08,"1,016",50.10%,40.68%,$0.00
/2.1.0/index.html,"2,580","1,704",00:00:39,100,56.00%,10.54%,$0.00
/tutorials/introductory/pyplot.html,"2,529","2,103",00:04:05,274,66.79%,38.71%,$0.00
/devdocs/api/_as_gen/matplotlib.pyplot.xticks.html,"2,518","2,046",00:02:49,986,38.44%,29.79%,$0.00
/api/cm_api.html,"2,359","1,973",00:02:50,630,35.87%,27.38%,$0.00
/users/usetex.html,"2,285","1,989",00:06:43,"1,332",65.69%,58.47%,$0.00
/examples/pylab_examples/boxplot_demo.html,"2,282","1,972",00:04:22,"1,497",49.50%,44.70%,$0.00
/api/_as_gen/matplotlib.axes.Axes.plot.html,"2,276","1,983",00:04:05,626,50.96%,39.24%,$0.00
/users/text_props.html,"2,271","2,001",00:03:44,788,50.63%,40.73%,$0.00
/examples/api/two_scales.html,"2,239","2,014",00:06:02,"1,284",56.31%,49.08%,$0.00
/api/_as_gen/matplotlib.axes.Axes.scatter.html,"2,209","1,915",00:03:37,965,43.73%,36.17%,$0.00
/api/index.html,"2,176","1,506",00:00:31,212,17.92%,6.43%,$0.00
/users/gridspec.html,"2,173","1,825",00:05:14,877,51.54%,39.44%,$0.00
/api/_as_gen/matplotlib.lines.Line2D.html,"1,989","1,594",00:02:51,81,41.98%,27.35%,$0.00
/examples/pylab_examples/multiple_figs_demo.html,"1,984","1,863",00:05:02,853,49.71%,45.26%,$0.00
/api/patches_api.html,"1,944","1,464",00:01:29,579,24.01%,18.16%,$0.00
/tutorials/introductory/usage.html,"1,885","1,616",00:04:00,153,57.52%,35.07%,$0.00
/api/text_api.html,"1,843","1,495",00:03:26,366,37.70%,31.85%,$0.00
/devdocs/api/_as_gen/matplotlib.pyplot.subplot.html,"1,823","1,549",00:03:39,395,46.84%,33.85%,$0.00
/examples/pylab_examples/colorbar_tick_labelling_demo.html,"1,819","1,628",00:04:36,490,46.33%,35.07%,$0.00
/examples/pylab_examples/simple_plot.html,"1,807","1,670",00:04:07,893,57.33%,50.80%,$0.00
/examples/pylab_examples/fill_between_demo.html,"1,798","1,571",00:04:17,"1,010",48.71%,42.49%,$0.00
/users/style_sheets.html,"1,693","1,497",00:03:18,930,47.42%,39.87%,$0.00
/gallery/lines_bars_and_markers/simple_plot.html,"1,679","1,374",00:04:04,91,64.84%,30.14%,$0.00
/api/ticker_api.html,"1,671","1,280",00:03:53,489,51.74%,35.07%,$0.00
/examples/mplot3d/surface3d_demo.html,"1,613","1,416",00:05:11,462,51.52%,41.54%,$0.00
/users/dflt_style_changes.html,"1,591","1,415",00:04:18,548,55.47%,44.44%,$0.00
/users/mathtext.html,"1,590","1,415",00:06:54,830,71.69%,61.57%,$0.00
/examples/pylab_examples/contourf_demo.html,"1,579","1,344",00:04:27,563,46.00%,39.71%,$0.00
/users/colormapnorms.html,"1,579","1,395",00:04:39,592,50.17%,39.52%,$0.00
/devdocs/api/_as_gen/matplotlib.pyplot.xlabel.html,"1,526","1,323",00:01:52,558,29.39%,25.95%,$0.00
/api/_as_gen/matplotlib.axes.Axes.set_xlim.html,"1,514","1,386",00:04:03,602,52.66%,40.42%,$0.00
/api/_as_gen/matplotlib.axes.Axes.errorbar.html,"1,507","1,277",00:05:11,876,55.02%,47.58%,$0.00
/users/recipes.html,"1,507","1,422",00:04:43,522,52.30%,42.20%,$0.00
/users/event_handling.html,"1,493","1,182",00:04:42,632,51.58%,41.26%,$0.00
/examples/pylab_examples/barchart_demo.html,"1,492","1,366",00:04:20,477,49.48%,41.96%,$0.00
/examples/mplot3d/scatter3d_demo.html,"1,438","1,290",00:04:47,398,52.76%,43.88%,$0.00
/devdocs/gallery/pyplots/pyplot_text.html,"1,431","1,216",00:03:37,71,63.38%,38.78%,$0.00
/devdocs/api/_as_gen/matplotlib.pyplot.title.html,"1,357","1,189",00:02:24,617,40.52%,33.60%,$0.00
/examples/shapes_and_collections/scatter_demo.html,"1,350","1,226",00:04:30,354,55.37%,45.78%,$0.00
/mpl_toolkits/mplot3d/api.html,"1,347","1,075",00:04:32,377,43.24%,33.48%,$0.00
/users/shell.html,"1,329","1,200",00:03:33,648,68.98%,51.02%,$0.00
/api/dates_api.html,"1,321","1,012",00:05:05,537,52.89%,41.71%,$0.00
/api/_as_gen/matplotlib.colors.Colormap.html,"1,313","1,059",00:01:40,62,53.23%,15.00%,$0.00
/examples/pylab_examples/subplot_demo.html,"1,296","1,206",00:03:21,543,40.52%,37.65%,$0.00
/devdocs/api/_as_gen/matplotlib.axes.Axes.tick_params.html,"1,292","1,142",00:05:14,462,48.70%,39.47%,$0.00
/users/annotations_guide.html,"1,281","1,087",00:03:39,344,45.64%,31.77%,$0.00
/devdocs/api/_as_gen/matplotlib.pyplot.plot.html,"1,275","1,086",00:03:48,334,51.20%,40.63%,$0.00
/users/artists.html,"1,268","1,125",00:04:54,382,48.17%,36.36%,$0.00
/devdocs/api/_as_gen/matplotlib.pyplot.grid.html,"1,267","1,062",00:03:16,600,38.83%,34.73%,$0.00
/users/annotations.html,"1,249","1,077",00:04:45,332,53.61%,38.19%,$0.00
/api/_as_gen/matplotlib.axes.Axes.contour.html,"1,201","1,049",00:04:22,354,41.53%,37.72%,$0.00
/api/_as_gen/matplotlib.axes.Axes.grid.html,"1,182","1,070",00:04:14,537,48.04%,39.34%,$0.00
,"818,984","668,668",00:02:49,"273,307",49.13%,33.37%,$0.00

Day Index,Pageviews
10/22/17,"82,053"
10/23/17,"139,782"
10/24/17,"140,207"
10/25/17,"137,033"
10/26/17,"138,211"
10/27/17,"117,341"
10/28/17,"64,357"
,"818,984"

@tacaswell
Copy link
Member

Renames according to git

16:05 $ git diff --name-status -C -C v2.0.0 v2.1.0-doc | grep ^[RC] 
R100    .travis/matplotlibDeployKey.enc ci/travis/matplotlibDeployKey.enc
R100    .travis/setup.cfg       ci/travis/setup.cfg
R100    doc/faq/anatomy.png     doc/_static/anatomy.png
C057    doc/api/offsetbox_api.rst       doc/api/container_api.rst
C058    doc/api/rcsetup_api.rst doc/api/contour_api.rst
R074    doc/users/whats_new/README.rst  doc/users/next_whats_new/README
R096    CHANGELOG       doc/users/prev_whats_new/changelog.rst
C094    doc/users/whats_new.rst doc/users/prev_whats_new/whats_new_2.0.0.rst
R092    examples/pylab_examples/animation_demo.py       examples/animation/animation_demo.py
R094    examples/animation/basic_example_writer.py      examples/animation/basic_example_writer_sgskip.py
R096    examples/animation/bayes_update.py      examples/animation/bayes_update_sgskip.py
R094    examples/animation/double_pendulum_animated.py  examples/animation/double_pendulum_animated_sgskip.py
R075    examples/pylab_examples/image_slices_viewer.py  examples/animation/image_slices_viewer.py
R086    examples/animation/moviewriter.py       examples/animation/moviewriter_sgskip.py
R100    examples/api/demo_affine_image.py       examples/api/affine_image.py
R057    examples/api/agg_oo.py  examples/api/agg_oo_sgskip.py
R100    examples/api/barchart_demo.py   examples/api/barchart.py
R094    examples/api/collections_demo.py        examples/api/collections.py
R061    examples/api/date_demo.py       examples/api/date.py
R100    examples/api/donut_demo.py      examples/api/donut.py
R098    examples/api/font_family_rc.py  examples/api/font_family_rc_sgskip.py
R098    examples/api/font_file.py       examples/api/font_file_sgskip.py
R095    examples/api/histogram_path_demo.py     examples/api/histogram_path.py
R100    examples/api/legend_demo.py     examples/api/legend.py
R084    examples/api/logo2.py   examples/api/logos2.py
R100    examples/api/power_norm_demo.py examples/api/power_norm.py
R056    examples/api/sankey_demo_basics.py      examples/api/sankey_basics.py
R100    examples/api/sankey_demo_links.py       examples/api/sankey_links.py
R100    examples/api/sankey_demo_rankine.py     examples/api/sankey_rankine.py
R091    examples/axes_grid/demo_axes_divider.py examples/axes_grid1/demo_axes_divider.py
R064    examples/axes_grid/demo_axes_grid.py    examples/axes_grid1/demo_axes_grid.py
R097    examples/axes_grid/demo_axes_grid2.py   examples/axes_grid1/demo_axes_grid2.py
R093    examples/axes_grid/demo_axes_hbox_divider.py    examples/axes_grid1/demo_axes_hbox_divider.py
R095    examples/axes_grid/demo_axes_rgb.py     examples/axes_grid1/demo_axes_rgb.py
R060    doc/mpl_toolkits/axes_grid/figures/demo_colorbar_of_inset_axes.py       examples/axes_grid1/demo_colorbar_of_inset_axes.py
R064    doc/mpl_toolkits/axes_grid/figures/demo_colorbar_with_axes_divider.py   examples/axes_grid1/demo_colorbar_with_axes_divider.py
R090    examples/axes_grid/demo_colorbar_with_inset_locator.py  examples/axes_grid1/demo_colorbar_with_inset_locator.py
R097    examples/axes_grid/demo_edge_colorbar.py        examples/axes_grid1/demo_edge_colorbar.py
R074    doc/mpl_toolkits/axes_grid/figures/demo_fixed_size_axes.py      examples/axes_grid1/demo_fixed_size_axes.py
R084    examples/axes_grid/demo_imagegrid_aspect.py     examples/axes_grid1/demo_imagegrid_aspect.py
R086    examples/axes_grid/inset_locator_demo.py        examples/axes_grid1/inset_locator_demo.py
R095    examples/axes_grid/inset_locator_demo2.py       examples/axes_grid1/inset_locator_demo2.py
R093    examples/axes_grid/make_room_for_ylabel_using_axesgrid.py       examples/axes_grid1/make_room_for_ylabel_using_axesgrid.py
R090    doc/mpl_toolkits/axes_grid/figures/parasite_simple.py   examples/axes_grid1/parasite_simple.py
R095    examples/axes_grid/parasite_simple2.py  examples/axes_grid1/parasite_simple2.py
R075    examples/axes_grid/scatter_hist.py      examples/axes_grid1/scatter_hist.py
R095    examples/axes_grid/simple_anchored_artists.py   examples/axes_grid1/simple_anchored_artists.py
R084    doc/mpl_toolkits/axes_grid/figures/simple_axes_divider1.py      examples/axes_grid1/simple_axes_divider1.py
R071    doc/mpl_toolkits/axes_grid/figures/simple_axes_divider2.py      examples/axes_grid1/simple_axes_divider2.py
R073    doc/mpl_toolkits/axes_grid/figures/simple_axes_divider3.py      examples/axes_grid1/simple_axes_divider3.py
R081    examples/axes_grid/simple_axesgrid.py   examples/axes_grid1/simple_axesgrid.py
R093    examples/axes_grid/simple_axesgrid2.py  examples/axes_grid1/simple_axesgrid2.py
R087    examples/axes_grid/simple_axisline4.py  examples/axes_grid1/simple_axisline4.py
R078    doc/mpl_toolkits/axes_grid/figures/simple_colorbar.py   examples/axes_grid1/simple_colorbar.py
R078    doc/mpl_toolkits/axes_grid/figures/simple_rgb.py        examples/axes_grid1/simple_rgb.py
R061    examples/axes_grid/demo_axisline_style.py       examples/axisartist/demo_axisline_style.py
R098    examples/axes_grid/demo_curvelinear_grid.py     examples/axisartist/demo_curvelinear_grid.py
R088    examples/axes_grid/demo_curvelinear_grid2.py    examples/axisartist/demo_curvelinear_grid2.py
R096    examples/axes_grid/demo_floating_axes.py        examples/axisartist/demo_floating_axes.py
R097    examples/axes_grid/demo_floating_axis.py        examples/axisartist/demo_floating_axis.py
R096    examples/axes_grid/demo_parasite_axes2.py       examples/axisartist/demo_parasite_axes2.py
R055    examples/pylab_examples/color_by_yvalue.py      examples/color/color_by_yvalue.py
R071    examples/color/color_cycle_demo.py      examples/color/color_cycle.py
R065    examples/pylab_examples/color_demo.py   examples/color/color_demo.py
R098    examples/pylab_examples/colours.py      examples/color/colors_sgskip.py
R093    examples/pylab_examples/coords_demo.py  examples/event_handling/coords_demo.py
R063    examples/pylab_examples/ginput_demo.py  examples/event_handling/ginput_demo_sgskip.py
R093    examples/pylab_examples/ginput_manual_clabel.py examples/event_handling/ginput_manual_clabel_sgskip.py
R100    examples/frontpage/plot_3D.py   examples/frontpage/3D.py
R100    examples/frontpage/plot_contour.py      examples/frontpage/contour.py
R100    examples/frontpage/plot_histogram.py    examples/frontpage/histogram.py
R081    examples/frontpage/plot_membrane.py     examples/frontpage/membrane.py
R082    examples/pylab_examples/barb_demo.py    examples/images_contours_and_fields/barb_demo.py
R068    examples/pylab_examples/barcode_demo.py examples/images_contours_and_fields/barcode_demo.py
R082    examples/pylab_examples/contour_corner_mask.py  examples/images_contours_and_fields/contour_corner_mask.py
R086    examples/pylab_examples/contour_demo.py examples/images_contours_and_fields/contour_demo.py
R090    examples/pylab_examples/contour_image.py        examples/images_contours_and_fields/contour_image.py
R081    examples/pylab_examples/contour_label_demo.py   examples/images_contours_and_fields/contour_label_demo.py
R088    examples/pylab_examples/contourf_demo.py        examples/images_contours_and_fields/contourf_demo.py
R072    examples/pylab_examples/contourf_hatching.py    examples/images_contours_and_fields/contourf_hatching.py
R083    examples/pylab_examples/custom_cmap.py  examples/images_contours_and_fields/custom_cmap.py
R079    examples/pylab_examples/demo_bboximage.py       examples/images_contours_and_fields/demo_bboximage.py
R079    examples/pylab_examples/griddata_demo.py        examples/images_contours_and_fields/griddata_demo.py
R064    examples/images_contours_and_fields/image_demo_clip_path.py     examples/images_contours_and_fields/image_clip_path.py
R098    examples/pylab_examples/image_masked.py examples/images_contours_and_fields/image_masked.py
R096    examples/pylab_examples/image_nonuniform.py     examples/images_contours_and_fields/image_nonuniform.py
R080    examples/pylab_examples/layer_images.py examples/images_contours_and_fields/layer_images.py
R086    examples/pylab_examples/multi_image.py  examples/images_contours_and_fields/multi_image.py
R085    examples/pylab_examples/quadmesh_demo.py        examples/images_contours_and_fields/quadmesh_demo.py
R096    examples/pylab_examples/shading_example.py      examples/images_contours_and_fields/shading_example.py
R068    examples/pylab_examples/specgram_demo.py        examples/images_contours_and_fields/specgram_demo.py
R083    examples/pylab_examples/tricontour_demo.py      examples/images_contours_and_fields/tricontour_demo.py
R080    examples/pylab_examples/tricontour_smooth_delaunay.py   examples/images_contours_and_fields/tricontour_smooth_delaunay.py
R078    examples/pylab_examples/tricontour_smooth_user.py       examples/images_contours_and_fields/tricontour_smooth_user.py
R077    examples/pylab_examples/tricontour_vs_griddata.py       examples/images_contours_and_fields/tricontour_vs_griddata.py
R087    examples/pylab_examples/trigradient_demo.py     examples/images_contours_and_fields/trigradient_demo.py
R095    examples/pylab_examples/triinterp_demo.py       examples/images_contours_and_fields/triinterp_demo.py
R082    examples/pylab_examples/tripcolor_demo.py       examples/images_contours_and_fields/tripcolor_demo.py
R085    examples/pylab_examples/triplot_demo.py examples/images_contours_and_fields/triplot_demo.py
R070    examples/pylab_examples/arctest.py      examples/lines_bars_and_markers/arctest.py
R064    examples/pylab_examples/bar_stacked.py  examples/lines_bars_and_markers/bar_stacked.py
R075    examples/lines_bars_and_markers/barh_demo.py    examples/lines_bars_and_markers/barh.py
R095    examples/pylab_examples/broken_barh.py  examples/lines_bars_and_markers/broken_barh.py
R060    examples/pylab_examples/csd_demo.py     examples/lines_bars_and_markers/csd_demo.py
R058    examples/pylab_examples/errorbar_limits.py      examples/lines_bars_and_markers/errorbar_limits.py
R086    examples/pylab_examples/errorbar_subsample.py   examples/lines_bars_and_markers/errorbar_subsample.py
R090    examples/pylab_examples/eventcollection_demo.py examples/lines_bars_and_markers/eventcollection_demo.py
R093    examples/pylab_examples/eventplot_demo.py       examples/lines_bars_and_markers/eventplot_demo.py
R052    examples/pylab_examples/fill_between_demo.py    examples/lines_bars_and_markers/fill_between_demo.py
R070    examples/pylab_examples/gradient_bar.py examples/lines_bars_and_markers/gradient_bar.py
R086    examples/pylab_examples/interp_demo.py  examples/lines_bars_and_markers/interp_demo.py
R074    examples/pylab_examples/markevery_demo.py       examples/lines_bars_and_markers/markevery_demo.py
R094    examples/pylab_examples/masked_demo.py  examples/lines_bars_and_markers/masked_demo.py
R087    examples/pylab_examples/nan_test.py     examples/lines_bars_and_markers/nan_test.py
R052    examples/pylab_examples/scatter_demo2.py        examples/lines_bars_and_markers/scatter_demo2.py
R087    examples/pylab_examples/scatter_hist.py examples/lines_bars_and_markers/scatter_hist.py
R075    examples/pylab_examples/scatter_star_poly.py    examples/lines_bars_and_markers/scatter_star_poly.py
R074    examples/pylab_examples/scatter_symbol.py       examples/lines_bars_and_markers/scatter_symbol.py
R065    examples/pylab_examples/stem_plot.py    examples/lines_bars_and_markers/stem_plot.py
R087    examples/pylab_examples/step_demo.py    examples/lines_bars_and_markers/step_demo.py
R051    examples/pylab_examples/xcorr_demo.py   examples/lines_bars_and_markers/xcorr_acorr_demo.py
R090    examples/pylab_examples/agg_buffer.py   examples/misc/agg_buffer.py
R074    examples/pylab_examples/agg_buffer_to_array.py  examples/misc/agg_buffer_to_array.py
R091    examples/pylab_examples/anchored_artists.py     examples/misc/anchored_artists.py
R059    examples/pylab_examples/coords_report.py        examples/misc/coords_report.py
R093    examples/pylab_examples/cursor_demo.py  examples/misc/cursor_demo_sgskip.py
R057    examples/pylab_examples/customize_rc.py examples/misc/customize_rc.py
R096    examples/pylab_examples/demo_agg_filter.py      examples/misc/demo_agg_filter.py
R095    examples/pylab_examples/demo_ribbon_box.py      examples/misc/demo_ribbon_box.py
R091    examples/pylab_examples/fill_spiral.py  examples/misc/fill_spiral.py
R095    examples/pylab_examples/findobj_demo.py examples/misc/findobj_demo.py
R075    examples/pylab_examples/hyperlinks.py   examples/misc/hyperlinks_sgskip.py
R094    examples/misc/image_thumbnail.py        examples/misc/image_thumbnail_sgskip.py
R091    examples/pylab_examples/load_converter.py       examples/misc/load_converter.py
R091    examples/pylab_examples/logo.py examples/misc/logo.py
R091    examples/pylab_examples/multipage_pdf.py        examples/misc/multipage_pdf.py
R084    examples/misc/multiprocess.py   examples/misc/multiprocess_sgskip.py
R079    examples/pylab_examples/patheffect_demo.py      examples/misc/patheffect_demo.py
R091    examples/pylab_examples/plotfile_demo.py        examples/misc/plotfile_demo.py
R062    examples/pylab_examples/print_stdout.py examples/misc/print_stdout_sgskip.py
R078    examples/pylab_examples/pythonic_matplotlib.py  examples/misc/pythonic_matplotlib.py
R094    examples/misc/rc_traits.py      examples/misc/rc_traits_sgskip.py
R077    examples/pylab_examples/table_demo.py   examples/misc/table_demo.py
R082    examples/pylab_examples/transoffset.py  examples/misc/transoffset.py
R094    examples/pylab_examples/webapp_demo.py  examples/misc/webapp_demo_sgskip.py
R066    examples/pylab_examples/zorder_demo.py  examples/misc/zorder_demo.py
R075    examples/mplot3d/2dcollections3d_demo.py        examples/mplot3d/2dcollections3d.py
R054    examples/mplot3d/contour3d_demo3.py     examples/mplot3d/contour3d_3.py
R054    examples/mplot3d/contourf3d_demo2.py    examples/mplot3d/contourf3d_2.py
R084    examples/mplot3d/hist3d_demo.py examples/mplot3d/hist3d.py
R073    examples/mplot3d/lines3d_demo.py        examples/mplot3d/lines3d.py
R056    examples/mplot3d/mixed_subplots_demo.py examples/mplot3d/mixed_subplots.py
R061    examples/mplot3d/pathpatch3d_demo.py    examples/mplot3d/pathpatch3d.py
R100    examples/mplot3d/quiver3d_demo.py       examples/mplot3d/quiver3d.py
R100    examples/mplot3d/rotate_axes3d_demo.py  examples/mplot3d/rotate_axes3d.py
R093    examples/mplot3d/scatter3d_demo.py      examples/mplot3d/scatter3d.py
R100    examples/mplot3d/subplot3d_demo.py      examples/mplot3d/subplot3d.py
R100    examples/mplot3d/surface3d_demo.py      examples/mplot3d/surface3d.py
R100    examples/mplot3d/surface3d_demo2.py     examples/mplot3d/surface3d_2.py
R100    examples/mplot3d/surface3d_demo3.py     examples/mplot3d/surface3d_3.py
R100    examples/mplot3d/surface3d_radial_demo.py       examples/mplot3d/surface3d_radial.py
R076    examples/mplot3d/text3d_demo.py examples/mplot3d/text3d.py
R082    examples/mplot3d/tricontour3d_demo.py   examples/mplot3d/tricontour3d.py
R083    examples/mplot3d/tricontourf3d_demo.py  examples/mplot3d/tricontourf3d.py
R100    examples/mplot3d/trisurf3d_demo.py      examples/mplot3d/trisurf3d.py
R097    examples/mplot3d/trisurf3d_demo2.py     examples/mplot3d/trisurf3d_2.py
R100    examples/mplot3d/wire3d_demo.py examples/mplot3d/wire3d.py
R100    examples/mplot3d/wire3d_animation_demo.py       examples/mplot3d/wire3d_animation.py
R092    examples/pylab_examples/pie_demo2.py    examples/pie_and_polar_charts/pie_demo2.py
R095    examples/pie_and_polar_charts/pie_demo_features.py      examples/pie_and_polar_charts/pie_features.py
R074    examples/pie_and_polar_charts/polar_bar_demo.py examples/pie_and_polar_charts/polar_bar.py
R065    examples/pylab_examples/polar_demo.py   examples/pie_and_polar_charts/polar_demo.py
R073    examples/pylab_examples/polar_legend.py examples/pie_and_polar_charts/polar_legend.py
R089    examples/pylab_examples/aspect_loglog.py        examples/scales/aspect_loglog.py
R081    examples/pylab_examples/symlog_demo.py  examples/scales/symlog_demo.py
R091    examples/pylab_examples/dolphin.py      examples/shapes_and_collections/dolphin.py
R083    examples/pylab_examples/ellipse_collection.py   examples/shapes_and_collections/ellipse_collection.py
R086    examples/pylab_examples/ellipse_rotated.py      examples/shapes_and_collections/ellipse_rotated.py
R074    examples/pylab_examples/fancybox_demo.py        examples/shapes_and_collections/fancybox_demo.py
R080    examples/pylab_examples/hatch_demo.py   examples/shapes_and_collections/hatch_demo.py
R090    examples/pylab_examples/marker_path.py  examples/shapes_and_collections/marker_path.py
R083    examples/shapes_and_collections/path_patch_demo.py      examples/shapes_and_collections/path_patch.py
R063    examples/shapes_and_collections/scatter_demo.py examples/shapes_and_collections/scatter.py
R092    examples/showcase/integral_demo.py      examples/showcase/integral.py
R084    examples/pylab_examples/anscombe.py     examples/specialty_plots/anscombe.py
R084    examples/pylab_examples/leftventricle_bulleye.py        examples/specialty_plots/leftventricle_bulleye.py
R081    examples/pylab_examples/mri_with_eeg.py examples/specialty_plots/mri_with_eeg.py
R096    examples/pylab_examples/system_monitor.py       examples/specialty_plots/system_monitor.py
R077    examples/pylab_examples/barchart_demo2.py       examples/statistics/barchart_demo.py
C088    examples/statistics/boxplot_demo.py     examples/statistics/boxplot.py
R061    examples/statistics/boxplot_color_demo.py       examples/statistics/boxplot_color.py
R079    examples/statistics/boxplot_vs_violin_demo.py   examples/statistics/boxplot_vs_violin.py
R086    examples/statistics/bxp_demo.py examples/statistics/bxp.py
R095    examples/statistics/customized_violin_demo.py   examples/statistics/customized_violin.py
R079    examples/statistics/errorbar_demo.py    examples/statistics/errorbar.py
R088    examples/statistics/errorbar_demo_features.py   examples/statistics/errorbar_features.py
R092    examples/statistics/histogram_demo_cumulative.py        examples/statistics/histogram_cumulative.py
R098    examples/statistics/histogram_demo_features.py  examples/statistics/histogram_features.py
R097    examples/statistics/histogram_demo_histtypes.py examples/statistics/histogram_histtypes.py
R098    examples/statistics/histogram_demo_multihist.py examples/statistics/histogram_multihist.py
R094    examples/statistics/violinplot_demo.py  examples/statistics/violinplot.py
R084    examples/style_sheets/plot_ggplot.py    examples/style_sheets/ggplot.py
R082    examples/style_sheets/plot_grayscale.py examples/style_sheets/grayscale.py
R058    examples/pylab_examples/axes_demo.py    examples/subplots_axes_and_figures/axes_demo.py
R096    examples/pylab_examples/axes_zoom_effect.py     examples/subplots_axes_and_figures/axes_zoom_effect.py
R098    examples/pylab_examples/broken_axis.py  examples/subplots_axes_and_figures/broken_axis.py
R078    examples/pylab_examples/custom_figure_class.py  examples/subplots_axes_and_figures/custom_figure_class.py
R078    examples/pylab_examples/demo_tight_layout.py    examples/subplots_axes_and_figures/demo_tight_layout.py
R084    examples/pylab_examples/figure_title.py examples/subplots_axes_and_figures/figure_title.py
R090    examples/pylab_examples/invert_axes.py  examples/subplots_axes_and_figures/invert_axes.py
R087    examples/pylab_examples/shared_axis_demo.py     examples/subplots_axes_and_figures/shared_axis_demo.py
R079    examples/pylab_examples/subplot_demo.py examples/subplots_axes_and_figures/subplot.py
R060    examples/pylab_examples/subplots_adjust.py      examples/subplots_axes_and_figures/subplots_adjust.py
R058    examples/pylab_examples/subplots_demo.py        examples/subplots_axes_and_figures/subplots_demo.py
R093    examples/tests/backend_driver.py        examples/tests/backend_driver_sgskip.py
R074    examples/pylab_examples/arrow_demo.py   examples/text_labels_and_annotations/arrow_demo.py
R068    examples/pylab_examples/arrow_simple_demo.py    examples/text_labels_and_annotations/arrow_simple_demo.py
R072    examples/text_labels_and_annotations/autowrap_demo.py   examples/text_labels_and_annotations/autowrap.py
R086    examples/pylab_examples/dashpointlabel.py       examples/text_labels_and_annotations/dashpointlabel.py
R097    examples/pylab_examples/demo_annotation_box.py  examples/text_labels_and_annotations/demo_annotation_box.py
R090    examples/pylab_examples/demo_text_path.py       examples/text_labels_and_annotations/demo_text_path.py
R091    examples/pylab_examples/demo_text_rotation_mode.py      examples/text_labels_and_annotations/demo_text_rotation_mode.py
R087    examples/pylab_examples/fancyarrow_demo.py      examples/text_labels_and_annotations/fancyarrow_demo.py
R089    examples/pylab_examples/fancytextbox_demo.py    examples/text_labels_and_annotations/fancytextbox_demo.py
R086    examples/pylab_examples/font_table_ttf.py       examples/text_labels_and_annotations/font_table_ttf_sgskip.py
R098    examples/pylab_examples/fonts_demo.py   examples/text_labels_and_annotations/fonts_demo.py
R098    examples/pylab_examples/fonts_demo_kw.py        examples/text_labels_and_annotations/fonts_demo_kw.py
R086    examples/pylab_examples/mathtext_demo.py        examples/text_labels_and_annotations/mathtext_demo.py
R086    examples/pylab_examples/mathtext_examples.py    examples/text_labels_and_annotations/mathtext_examples.py
R096    examples/pylab_examples/multiline.py    examples/text_labels_and_annotations/multiline.py
R091    examples/pylab_examples/stix_fonts_demo.py      examples/text_labels_and_annotations/stix_fonts_demo.py
R082    examples/pylab_examples/alignment_test.py       examples/text_labels_and_annotations/text_alignment.py
R063    examples/text_labels_and_annotations/text_demo_fontdict.py      examples/text_labels_and_annotations/text_fontdict.py
R093    examples/pylab_examples/text_rotation_relative_to_line.py       examples/text_labels_and_annotations/text_rotation_relative_to_line.py
R089    examples/pylab_examples/titles_demo.py  examples/text_labels_and_annotations/titles_demo.py
R094    examples/pylab_examples/usetex_baseline_test.py examples/text_labels_and_annotations/usetex_baseline_test.py
R058    examples/pylab_examples/usetex_demo.py  examples/text_labels_and_annotations/usetex_demo.py
R068    examples/pylab_examples/usetex_fonteffects.py   examples/text_labels_and_annotations/usetex_fonteffects.py
R076    examples/pylab_examples/colorbar_tick_labelling_demo.py examples/ticks_and_spines/colorbar_tick_labelling_demo.py
R081    examples/pylab_examples/custom_ticker1.py       examples/ticks_and_spines/custom_ticker1.py
R080    examples/pylab_examples/date_demo_convert.py    examples/ticks_and_spines/date_demo_convert.py
R065    examples/pylab_examples/date_demo_rrule.py      examples/ticks_and_spines/date_demo_rrule.py
R095    examples/pylab_examples/date_index_formatter.py examples/ticks_and_spines/date_index_formatter.py
R058    examples/pylab_examples/major_minor_demo1.py    examples/ticks_and_spines/major_minor_demo.py
R094    examples/pylab_examples/multiple_yaxis_with_spines.py   examples/ticks_and_spines/multiple_yaxis_with_spines.py
R075    examples/pylab_examples/newscalarformatter_demo.py      examples/ticks_and_spines/scalarformatter.py
R082    examples/pylab_examples/spine_placement_demo.py examples/ticks_and_spines/spine_placement_demo.py
R086    examples/ticks_and_spines/spines_demo_bounds.py examples/ticks_and_spines/spines_bounds.py
R085    examples/ticks_and_spines/spines_demo_dropped.py        examples/ticks_and_spines/spines_dropped.py
R085    examples/ticks_and_spines/ticklabels_demo_rotation.py   examples/ticks_and_spines/ticklabels_rotation.py
R096    examples/user_interfaces/embedding_in_gtk2.py   examples/user_interfaces/embedding_in_gtk2_sgskip.py
R091    examples/user_interfaces/embedding_in_gtk3_panzoom.py   examples/user_interfaces/embedding_in_gtk3_panzoom_sgskip.py
R093    examples/user_interfaces/embedding_in_gtk3.py   examples/user_interfaces/embedding_in_gtk3_sgskip.py
R086    examples/user_interfaces/embedding_in_gtk.py    examples/user_interfaces/embedding_in_gtk_sgskip.py
R084    examples/user_interfaces/embedding_in_qt4.py    examples/user_interfaces/embedding_in_qt4_sgskip.py
R073    examples/user_interfaces/embedding_in_qt4_wtoolbar.py   examples/user_interfaces/embedding_in_qt4_wtoolbar_sgskip.py
R088    examples/user_interfaces/embedding_in_qt5.py    examples/user_interfaces/embedding_in_qt5_sgskip.py
R093    examples/user_interfaces/embedding_in_tk2.py    examples/user_interfaces/embedding_in_tk2_sgskip.py
R093    examples/user_interfaces/embedding_in_tk_canvas.py      examples/user_interfaces/embedding_in_tk_canvas_sgskip.py
R096    examples/user_interfaces/embedding_in_tk.py     examples/user_interfaces/embedding_in_tk_sgskip.py
R096    examples/user_interfaces/embedding_in_wx2.py    examples/user_interfaces/embedding_in_wx2_sgskip.py
R096    examples/user_interfaces/embedding_in_wx3.py    examples/user_interfaces/embedding_in_wx3_sgskip.py
R098    examples/user_interfaces/embedding_in_wx4.py    examples/user_interfaces/embedding_in_wx4_sgskip.py
R086    examples/user_interfaces/embedding_in_wx5.py    examples/user_interfaces/embedding_in_wx5_sgskip.py
R098    examples/user_interfaces/embedding_webagg.py    examples/user_interfaces/embedding_webagg_sgskip.py
R099    examples/user_interfaces/fourier_demo_wx.py     examples/user_interfaces/fourier_demo_wx_sgskip.py
R098    examples/user_interfaces/gtk_spreadsheet.py     examples/user_interfaces/gtk_spreadsheet_sgskip.py
R080    examples/user_interfaces/histogram_demo_canvasagg.py    examples/user_interfaces/histogram_demo_canvasagg_sgskip.py
R087    examples/user_interfaces/lineprops_dialog_gtk.py        examples/user_interfaces/lineprops_dialog_gtk_sgskip.py
R099    examples/user_interfaces/mathtext_wx.py examples/user_interfaces/mathtext_wx_sgskip.py
R092    examples/user_interfaces/mpl_with_glade_316.py  examples/user_interfaces/mpl_with_glade_316_sgskip.py
R097    examples/user_interfaces/mpl_with_glade.py      examples/user_interfaces/mpl_with_glade_sgskip.py
R096    examples/user_interfaces/pylab_with_gtk.py      examples/user_interfaces/pylab_with_gtk_sgskip.py
R095    examples/user_interfaces/svg_histogram.py       examples/user_interfaces/svg_histogram_sgskip.py
R055    examples/user_interfaces/svg_tooltip.py examples/user_interfaces/svg_tooltip_sgskip.py
R076    examples/user_interfaces/toolmanager.py examples/user_interfaces/toolmanager_sgskip.py
R098    examples/user_interfaces/wxcursor_demo.py       examples/user_interfaces/wxcursor_demo_sgskip.py
R066    doc/users/plotting/examples/anchored_box02.py   examples/userdemo/anchored_box02.py
R070    doc/users/plotting/examples/anchored_box04.py   examples/userdemo/anchored_box04.py
R084    doc/users/plotting/examples/annotate_explain.py examples/userdemo/annotate_explain.py
R058    doc/users/plotting/examples/annotate_simple01.py        examples/userdemo/annotate_simple01.py
R062    doc/users/plotting/examples/annotate_simple02.py        examples/userdemo/annotate_simple02.py
R074    doc/users/plotting/examples/annotate_simple03.py        examples/userdemo/annotate_simple03.py
R082    doc/users/plotting/examples/annotate_simple04.py        examples/userdemo/annotate_simple04.py
R069    doc/users/plotting/examples/annotate_simple_coord01.py  examples/userdemo/annotate_simple_coord01.py
R064    doc/users/plotting/examples/annotate_simple_coord02.py  examples/userdemo/annotate_simple_coord02.py
R083    doc/users/plotting/examples/annotate_simple_coord03.py  examples/userdemo/annotate_simple_coord03.py
R064    doc/users/plotting/examples/annotate_text_arrow.py      examples/userdemo/annotate_text_arrow.py
R079    doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step01.py        examples/userdemo/axis_direction_demo_step01.py
R088    doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step02.py        examples/userdemo/axis_direction_demo_step02.py
R089    doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step03.py        examples/userdemo/axis_direction_demo_step03.py
R091    doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step04.py        examples/userdemo/axis_direction_demo_step04.py
R072    doc/users/plotting/examples/colormap_normalizations.py  examples/userdemo/colormap_normalizations.py
R092    doc/users/plotting/examples/colormap_normalizations_bounds.py   examples/userdemo/colormap_normalizations_bounds.py
R093    doc/users/plotting/examples/colormap_normalizations_custom.py   examples/userdemo/colormap_normalizations_custom.py
R089    doc/users/plotting/examples/colormap_normalizations_lognorm.py  examples/userdemo/colormap_normalizations_lognorm.py
R088    doc/users/plotting/examples/colormap_normalizations_power.py    examples/userdemo/colormap_normalizations_power.py
R079    doc/users/plotting/examples/colormap_normalizations_symlognorm.py       examples/userdemo/colormap_normalizations_symlognorm.py
R071    doc/users/plotting/examples/connect_simple01.py examples/userdemo/connect_simple01.py
R088    doc/users/plotting/examples/connectionstyle_demo.py     examples/userdemo/connectionstyle_demo.py
R081    doc/users/plotting/examples/custom_boxstyle01.py        examples/userdemo/custom_boxstyle01.py
R094    doc/users/plotting/examples/custom_boxstyle02.py        examples/userdemo/custom_boxstyle02.py
R080    doc/mpl_toolkits/axes_grid/figures/demo_axis_direction.py       examples/userdemo/demo_axis_direction.py
R073    doc/users/plotting/examples/demo_gridspec03.py  examples/userdemo/demo_gridspec03.py
R080    doc/users/plotting/examples/demo_gridspec04.py  examples/userdemo/demo_gridspec04.py
R066    doc/users/plotting/examples/demo_gridspec05.py  examples/userdemo/demo_gridspec05.py
R071    doc/users/plotting/examples/demo_gridspec06.py  examples/userdemo/demo_gridspec06.py
R091    doc/mpl_toolkits/axes_grid/figures/demo_parasite_axes.py        examples/userdemo/demo_parasite_axes_sgskip.py
R090    doc/mpl_toolkits/axes_grid/figures/demo_ticklabel_alignment.py  examples/userdemo/demo_ticklabel_alignment.py
R069    doc/mpl_toolkits/axes_grid/figures/demo_ticklabel_direction.py  examples/userdemo/demo_ticklabel_direction.py
R070    doc/users/plotting/examples/pgf_fonts.py        examples/userdemo/pgf_fonts_sgskip.py
R058    doc/users/plotting/examples/pgf_preamble.py     examples/userdemo/pgf_preamble_sgskip.py
R088    doc/users/plotting/examples/pgf_texsystem.py    examples/userdemo/pgf_texsystem_sgskip.py
R061    doc/users/plotting/examples/simple_annotate01.py        examples/userdemo/simple_annotate01.py
R078    doc/mpl_toolkits/axes_grid/figures/simple_axis_direction01.py   examples/userdemo/simple_axis_direction01.py
R087    doc/mpl_toolkits/axes_grid/figures/simple_axis_direction03.py   examples/userdemo/simple_axis_direction03.py
R080    doc/mpl_toolkits/axes_grid/figures/simple_axis_pad.py   examples/userdemo/simple_axis_pad.py
R089    doc/mpl_toolkits/axes_grid/figures/simple_axisartist1.py        examples/userdemo/simple_axisartist1.py
R087    doc/mpl_toolkits/axes_grid/figures/simple_axisline.py   examples/userdemo/simple_axisline.py
R079    doc/mpl_toolkits/axes_grid/figures/simple_axisline2.py  examples/userdemo/simple_axisline2.py
R053    doc/mpl_toolkits/axes_grid/figures/simple_axisline3.py  examples/userdemo/simple_axisline3.py
R066    doc/users/plotting/examples/simple_legend01.py  examples/userdemo/simple_legend01.py
C076    examples/widgets/lasso_selector_demo.py examples/widgets/lasso_selector_demo_sgskip.py
R057    examples/widgets/lasso_selector_demo.py examples/widgets/polygon_selector_demo.py
R086    extern/qhull/COPYING.txt        extern/libqhull/COPYING.txt
R098    extern/qhull/geom.c     extern/libqhull/geom.c
R096    extern/qhull/geom.h     extern/libqhull/geom.h
R096    extern/qhull/geom2.c    extern/libqhull/geom2.c
R091    extern/qhull/global.c   extern/libqhull/global.c
R097    extern/qhull/io.c       extern/libqhull/io.c
R091    extern/qhull/io.h       extern/libqhull/io.h
R097    extern/qhull/libqhull.c extern/libqhull/libqhull.c
R090    extern/qhull/libqhull.h extern/libqhull/libqhull.h
R080    extern/qhull/mem.c      extern/libqhull/mem.c
R094    extern/qhull/mem.h      extern/libqhull/mem.h
R098    extern/qhull/merge.c    extern/libqhull/merge.c
R096    extern/qhull/merge.h    extern/libqhull/merge.h
R095    extern/qhull/poly.c     extern/libqhull/poly.c
R093    extern/qhull/poly.h     extern/libqhull/poly.h
R093    extern/qhull/poly2.c    extern/libqhull/poly2.c
R083    extern/qhull/qhull_a.h  extern/libqhull/qhull_a.h
R097    extern/qhull/qset.c     extern/libqhull/qset.c
R098    extern/qhull/qset.h     extern/libqhull/qset.h
R091    extern/qhull/random.c   extern/libqhull/random.c
R077    extern/qhull/random.h   extern/libqhull/random.h
R075    extern/qhull/rboxlib.c  extern/libqhull/rboxlib.c
R097    extern/qhull/stat.c     extern/libqhull/stat.c
R097    extern/qhull/stat.h     extern/libqhull/stat.h
R094    extern/qhull/user.c     extern/libqhull/user.c
R091    extern/qhull/user.h     extern/libqhull/user.h
R055    extern/qhull/usermem.c  extern/libqhull/usermem.c
R086    extern/qhull/userprintf.c       extern/libqhull/userprintf.c
R092    extern/qhull/userprintf_rbox.c  extern/libqhull/userprintf_rbox.c
R079    lib/matplotlib/cbook.py lib/matplotlib/cbook/__init__.py
C098    lib/matplotlib/mpl-data/stylelib/classic.mplstyle       lib/matplotlib/mpl-data/stylelib/_classic_test.mplstyle
C064    lib/matplotlib/testing/exceptions.py    lib/matplotlib/testing/_nose/exceptions.py
C100    doc/sphinxext/__init__.py       lib/matplotlib/testing/_nose/plugins/__init__.py
C090    lib/matplotlib/testing/noseclasses.py   lib/matplotlib/testing/_nose/plugins/knownfailure.py
C053    lib/matplotlib/tests/baseline_images/test_figure/figure_suptitle.pdf    lib/matplotlib/tests/baseline_images/test_figure/figure_legend.pdf
C051    lib/matplotlib/tests/baseline_images/test_axes/formatter_ticker_005.svg lib/matplotlib/tests/baseline_images/test_figure/figure_legend.svg
C056    lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_64.pdf   lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_81.pdf
C064    lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_64.svg   lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_81.svg
C072    lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_03.pdf   lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_82.pdf
C087    lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_03.svg   lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_82.svg
C056    lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_64.pdf   lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_81.pdf
C069    lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_64.svg   lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_81.svg
C063    lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_03.pdf   lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_82.pdf
C077    lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_03.svg   lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_82.svg
C055    lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_64.pdf  lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_81.pdf
C068    lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_64.svg  lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_81.svg
C063    lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_03.pdf  lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_82.pdf
C079    lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_03.svg  lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_82.svg
C056    lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_64.pdf lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_81.pdf
C067    lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_64.svg lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_81.svg
C067    lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_03.pdf lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_82.pdf
C081    lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_03.svg lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_82.svg
C053    lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_64.pdf     lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_81.pdf
C065    lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_64.svg     lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_81.svg
C058    lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_03.pdf     lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_82.pdf
C077    lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_03.svg     lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_82.svg
R100    lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_linewidth_test_image.pdf        lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_linewidth.pdf
R100    lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_linewidth_test_image.png        lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_linewidth.png
R100    lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_linewidth_test_image.svg        lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_linewidth.svg
R100    lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_masks_and_nans_test_image.pdf   lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_masks_and_nans.pdf
R100    lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_masks_and_nans_test_image.png   lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_masks_and_nans.png
R100    lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_masks_and_nans_test_image.svg   lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_masks_and_nans.svg
R056    lib/matplotlib/tests/baseline_images/test_axes/units_strings.pdf        lib/matplotlib/tests/baseline_images/test_tightlayout/tight_layout9.pdf
C096    lib/mpl_toolkits/axes_grid/axes_divider.py      lib/mpl_toolkits/axisartist/axes_divider.py
C098    lib/mpl_toolkits/axes_grid/axes_grid.py lib/mpl_toolkits/axisartist/axes_grid.py
C096    lib/mpl_toolkits/axes_grid/axes_rgb.py  lib/mpl_toolkits/axisartist/axes_rgb.py
C097    lib/mpl_toolkits/axes_grid/parasite_axes.py     lib/mpl_toolkits/axisartist/parasite_axes.py
C053    lib/matplotlib/tests/baseline_images/test_figure/figure_suptitle.pdf    lib/mpl_toolkits/tests/baseline_images/test_mplot3d/axes3d_ortho.pdf
C089    lib/mpl_toolkits/tests/baseline_images/test_mplot3d/quiver3d_empty.svg  lib/mpl_toolkits/tests/baseline_images/test_mplot3d/poly3dcollection_closed.svg
R100    test_only.py    setup_tests_only.py
R099    boilerplate.py  tools/boilerplate.py
R094    tools/test_triage.py    tools/triage_tests.py
R077    doc/users/annotations.rst       tutorials/text/annotations.py
R095    doc/users/pgf.rst       tutorials/text/pgf.py
R065    doc/users/text_intro.rst        tutorials/text/text_intro.py
R087    doc/users/usetex.rst    tutorials/text/usetex.py
R060    doc/mpl_toolkits/axes_grid/users/overview.rst   tutorials/toolkits/axes_grid.py
R068    doc/mpl_toolkits/axes_grid/users/axisartist.rst tutorials/toolkits/axisartist.py

@tacaswell
Copy link
Member

The output of diff -rq 2.0.2 2.1.0 in a checkout of matplotlib.github.com is too long to post (the limit is 65536 characters). This + a bit of sed filtering will give the files that should be indexed against the GA data, ex diff -rq 2.0.2 2.1.0 | grep 'Only in 2.0.2' | sed 's|Only in 2.0.2||' | sed 's|: |/|'

@tacaswell
Copy link
Member

GA landing page data

# ----------------------------------------
# All Web Site Data
# Landing Pages
# 20171022-20171028
# ----------------------------------------

Landing Page,Sessions,% New Sessions,New Users,Bounce Rate,Pages / Session,Avg. Session Duration,Goal Conversion Rate,Goal Completions,Goal Value
/users/pyplot_tutorial.html,"28,973",39.84%,"11,542",62.60%,2.25,00:04:43,0.00%,0,$0.00
/index.html,"28,048",58.63%,"16,444",30.24%,4.72,00:05:49,0.00%,0,$0.00
/api/pyplot_api.html,"14,808",36.48%,"5,402",54.21%,2.63,00:04:47,0.00%,0,$0.00
/users/legend_guide.html,"8,868",21.58%,"1,914",54.94%,2.30,00:05:10,0.00%,0,$0.00
/devdocs/api/_as_gen/matplotlib.pyplot.hist.html,"5,970",26.60%,"1,588",54.12%,2.39,00:05:16,0.00%,0,$0.00
/users/installing.html,"5,873",61.62%,"3,619",66.00%,1.91,00:03:00,0.00%,0,$0.00
/devdocs/api/_as_gen/matplotlib.pyplot.scatter.html,"5,796",31.19%,"1,808",43.75%,2.86,00:05:52,0.00%,0,$0.00
/mpl_toolkits/mplot3d/tutorial.html,"5,659",26.28%,"1,487",53.17%,2.63,00:06:27,0.00%,0,$0.00
/examples/pylab_examples/subplots_demo.html,"5,592",21.83%,"1,221",45.89%,2.78,00:06:35,0.00%,0,$0.00
/examples/color/colormaps_reference.html,"5,445",20.39%,"1,110",57.80%,2.41,00:04:46,0.00%,0,$0.00
/api/colors_api.html,"4,991",22.88%,"1,142",42.78%,2.80,00:04:57,0.00%,0,$0.00
/users/image_tutorial.html,"4,852",34.07%,"1,653",61.89%,2.17,00:04:10,0.00%,0,$0.00
/gallery.html,"3,649",39.05%,"1,425",36.01%,4.13,00:05:35,0.00%,0,$0.00
/api/figure_api.html,"3,526",25.18%,888,29.33%,3.64,00:06:53,0.00%,0,$0.00
/api/markers_api.html,"3,340",22.40%,748,50.96%,2.46,00:05:02,0.00%,0,$0.00
/users/text_intro.html,"2,758",18.46%,509,42.02%,3.01,00:06:00,0.00%,0,$0.00
/examples/color/named_colors.html,"2,429",30.38%,738,67.89%,1.91,00:03:07,0.00%,0,$0.00
/users/colormaps.html,"2,331",21.92%,511,56.97%,2.41,00:04:46,0.00%,0,$0.00
/examples/api/barchart_demo.html,"2,076",22.54%,468,46.53%,2.87,00:06:40,0.00%,0,$0.00
/api/axes_api.html,"2,040",20.64%,421,30.98%,3.97,00:07:30,0.00%,0,$0.00
/devdocs/api/_as_gen/matplotlib.pyplot.savefig.html,"1,983",22.74%,451,58.60%,2.22,00:04:15,0.00%,0,$0.00
/faq/installing_faq.html,"1,971",61.24%,"1,207",61.90%,2.01,00:03:37,0.00%,0,$0.00
/api/lines_api.html,"1,922",18.26%,351,19.88%,3.41,00:05:46,0.00%,0,$0.00
/devdocs/api/_as_gen/matplotlib.pyplot.imshow.html,"1,869",24.72%,462,46.87%,3.02,00:06:22,0.00%,0,$0.00
/devdocs/api/_as_gen/matplotlib.pyplot.subplots.html,"1,819",19.96%,363,37.77%,3.32,00:07:51,0.00%,0,$0.00
/examples/pylab_examples/log_demo.html,"1,749",20.98%,367,63.18%,2.00,00:04:13,0.00%,0,$0.00
/examples/pylab_examples/contour_demo.html,"1,747",21.01%,367,45.33%,2.83,00:07:17,0.00%,0,$0.00
/examples/index.html,"1,684",37.53%,632,24.94%,5.66,00:06:06,0.00%,0,$0.00
/users/tight_layout_guide.html,"1,622",15.10%,245,58.57%,2.39,00:05:43,0.00%,0,$0.00
/faq/usage_faq.html,"1,524",36.81%,561,61.55%,2.24,00:04:00,0.00%,0,$0.00
/examples/pylab_examples/boxplot_demo.html,"1,497",29.79%,446,49.50%,2.49,00:05:28,0.00%,0,$0.00
/api/pyplot_summary.html,"1,413",19.67%,278,31.49%,4.99,00:07:34,0.00%,0,$0.00
/users/customizing.html,"1,382",25.18%,348,55.64%,2.48,00:05:11,0.00%,0,$0.00
/users/usetex.html,"1,332",27.40%,365,65.69%,2.25,00:05:23,0.00%,0,$0.00
/faq/howto_faq.html,"1,330",24.06%,320,56.17%,2.75,00:05:24,0.00%,0,$0.00
/examples/api/two_scales.html,"1,284",14.25%,183,56.31%,2.46,00:06:18,0.00%,0,$0.00
/users/annotations_intro.html,"1,245",17.27%,215,42.89%,2.98,00:06:53,0.00%,0,$0.00
/gallery/index.html,"1,228",13.93%,171,30.21%,5.88,00:08:53,0.00%,0,$0.00
/api/colorbar_api.html,"1,200",14.92%,179,33.67%,3.48,00:07:24,0.00%,0,$0.00
/contents.html,"1,095",42.10%,461,31.60%,4.87,00:05:57,0.00%,0,$0.00
/api/legend_api.html,"1,087",16.84%,183,62.19%,2.00,00:04:14,0.00%,0,$0.00
/api/animation_api.html,"1,038",20.91%,217,35.55%,4.08,00:08:23,0.00%,0,$0.00
/devdocs/api/_as_gen/matplotlib.pyplot.bar.html,"1,032",18.12%,187,41.38%,3.16,00:07:10,0.00%,0,$0.00
/examples/ticks_and_spines/ticklabels_demo_rotation.html,"1,016",15.65%,159,50.10%,2.69,00:05:51,0.00%,0,$0.00
/examples/pylab_examples/fill_between_demo.html,"1,010",16.44%,166,48.71%,2.82,00:06:36,0.00%,0,$0.00
/devdocs/api/_as_gen/matplotlib.pyplot.xticks.html,986,19.37%,191,38.44%,3.46,00:06:50,0.00%,0,$0.00
/users/colors.html,983,22.58%,222,50.15%,2.71,00:06:10,0.00%,0,$0.00
/api/_as_gen/matplotlib.axes.Axes.scatter.html,965,21.24%,205,43.73%,2.98,00:06:54,0.00%,0,$0.00
/users/style_sheets.html,930,31.18%,290,47.42%,2.79,00:05:07,0.00%,0,$0.00
/examples/pylab_examples/simple_plot.html,893,46.25%,413,57.33%,2.59,00:04:12,0.00%,0,$0.00
/users/gridspec.html,877,13.23%,116,51.54%,2.89,00:08:07,0.00%,0,$0.00
/api/_as_gen/matplotlib.axes.Axes.errorbar.html,876,17.92%,157,55.02%,2.25,00:05:43,0.00%,0,$0.00
/examples/pylab_examples/multiple_figs_demo.html,853,23.68%,202,49.71%,2.92,00:06:37,0.00%,0,$0.00
/users/mathtext.html,830,31.45%,261,71.69%,1.84,00:04:22,0.00%,0,$0.00
/users/text_props.html,788,17.39%,137,50.63%,2.54,00:05:07,0.00%,0,$0.00
/api/axis_api.html,733,16.37%,120,33.56%,3.93,00:07:58,0.00%,0,$0.00
/tutorials/index.html,691,10.13%,70,27.64%,5.99,00:08:33,0.00%,0,$0.00
/users/shell.html,648,43.21%,280,68.98%,1.94,00:03:28,0.00%,0,$0.00
/users/event_handling.html,632,21.52%,136,51.58%,3.10,00:07:40,0.00%,0,$0.00
/api/cm_api.html,630,22.86%,144,35.87%,3.26,00:06:42,0.00%,0,$0.00
/api/_as_gen/matplotlib.axes.Axes.plot.html,626,22.04%,138,50.96%,2.94,00:06:53,0.00%,0,$0.00
/devdocs/api/_as_gen/matplotlib.pyplot.title.html,617,18.31%,113,40.52%,2.75,00:05:09,0.00%,0,$0.00
/examples/pylab_examples/quiver_demo.html,608,22.53%,137,52.63%,2.52,00:05:46,0.00%,0,$0.00
/devdocs/api/_as_gen/matplotlib.pyplot.xlim.html,607,18.29%,111,50.74%,2.33,00:04:26,0.00%,0,$0.00
/api/_as_gen/matplotlib.axes.Axes.set_xlim.html,602,15.78%,95,52.66%,2.50,00:05:10,0.00%,0,$0.00
/devdocs/api/_as_gen/matplotlib.pyplot.grid.html,600,17.67%,106,38.83%,2.98,00:06:38,0.00%,0,$0.00
/users/colormapnorms.html,592,16.89%,100,50.17%,2.73,00:06:39,0.00%,0,$0.00
/api/_as_gen/matplotlib.pyplot.plot.html,591,21.49%,127,51.95%,3.07,00:05:48,0.00%,0,$0.00
/api/patches_api.html,579,21.24%,123,24.01%,4.32,00:07:47,0.00%,0,$0.00
/examples/pylab_examples/contourf_demo.html,563,17.41%,98,46.00%,2.81,00:06:54,0.00%,0,$0.00
/devdocs/api/_as_gen/matplotlib.pyplot.xlabel.html,558,24.37%,136,29.39%,2.96,00:06:09,0.00%,0,$0.00
/users/dflt_style_changes.html,548,16.42%,90,55.47%,2.46,00:05:07,0.00%,0,$0.00
/examples/pylab_examples/subplot_demo.html,543,17.86%,97,40.52%,3.37,00:07:33,0.00%,0,$0.00
/api/_as_gen/matplotlib.axes.Axes.grid.html,537,19.18%,103,48.04%,2.68,00:05:20,0.00%,0,$0.00
/api/dates_api.html,537,17.69%,95,52.89%,2.42,00:05:53,0.00%,0,$0.00
/devdocs/api/_as_gen/matplotlib.pyplot.ylim.html,537,21.04%,113,57.73%,2.07,00:03:25,0.00%,0,$0.00
/examples/pylab_examples/bar_stacked.html,529,27.03%,143,53.88%,2.53,00:06:21,0.00%,0,$0.00
/api/_as_gen/matplotlib.axes.Axes.axvline.html,528,15.53%,82,54.17%,2.48,00:04:33,0.00%,0,$0.00
/examples/pylab_examples/matshow.html,527,30.36%,160,55.03%,2.75,00:05:16,0.00%,0,$0.00
/users/recipes.html,522,16.86%,88,52.30%,2.62,00:05:41,0.00%,0,$0.00
/examples/pylab_examples/pcolor_demo.html,503,16.70%,84,46.92%,3.09,00:06:35,0.00%,0,$0.00
/examples/pylab_examples/colorbar_tick_labelling_demo.html,490,13.67%,67,46.33%,2.89,00:07:37,0.00%,0,$0.00
/api/ticker_api.html,489,14.52%,71,51.74%,2.82,00:06:40,0.00%,0,$0.00
/examples/pylab_examples/axis_equal_demo.html,481,17.05%,82,63.41%,2.10,00:04:42,0.00%,0,$0.00
/examples/animation/simple_anim.html,478,33.26%,159,51.67%,3.06,00:06:21,0.00%,0,$0.00
/examples/pylab_examples/barchart_demo.html,477,20.34%,97,49.48%,3.04,00:06:55,0.00%,0,$0.00
/tutorials/introductory/sample_plots.html,468,9.83%,46,31.84%,5.31,00:09:02,0.00%,0,$0.00
/devdocs/api/_as_gen/matplotlib.axes.Axes.tick_params.html,462,13.85%,64,48.70%,2.89,00:07:23,0.00%,0,$0.00
/examples/mplot3d/surface3d_demo.html,462,22.51%,104,51.52%,3.21,00:07:31,0.00%,0,$0.00
/users/beginner.html,458,44.54%,204,32.97%,3.54,00:06:01,0.00%,0,$0.00
/api/mlab_api.html,450,25.56%,115,67.33%,1.95,00:04:04,0.00%,0,$0.00
/examples/pylab_examples/shared_axis_demo.html,440,12.50%,55,49.32%,2.63,00:05:55,0.00%,0,$0.00
/examples/statistics/histogram_demo_multihist.html,437,24.26%,106,56.06%,2.54,00:06:08,0.00%,0,$0.00
/examples/pie_and_polar_charts/pie_demo_features.html,402,27.11%,109,52.49%,2.83,00:06:43,0.00%,0,$0.00
/examples/mplot3d/scatter3d_demo.html,398,19.85%,79,52.76%,2.55,00:05:18,0.00%,0,$0.00
/devdocs/api/_as_gen/matplotlib.pyplot.subplot.html,395,16.96%,67,46.84%,2.94,00:06:42,0.00%,0,$0.00
/examples/pylab_examples/polar_demo.html,388,25.52%,99,48.45%,3.02,00:07:09,0.00%,0,$0.00
/users/artists.html,382,19.37%,74,48.17%,3.52,00:07:12,0.00%,0,$0.00
/examples/api/date_demo.html,377,18.04%,68,49.60%,2.98,00:07:55,0.00%,0,$0.00
/mpl_toolkits/mplot3d/api.html,377,15.38%,58,43.24%,3.97,00:08:26,0.00%,0,$0.00
,"273,309",30.45%,"83,222",49.13%,3.00,00:05:37,0.00%,0,$0.00

Day Index,Sessions
10/22/17,"27,097"
10/23/17,"46,337"
10/24/17,"46,984"
10/25/17,"46,191"
10/26/17,"46,074"
10/27/17,"39,082"
10/28/17,"21,544"
,"273,309"

@QuLogic
Copy link
Member

QuLogic commented Oct 29, 2017

Is there a way to do forwards via html (forever)?

With a <meta refresh> in the <head>, but that's not as nice as a 302 Permanent redirect. Also not sure if search engines will notice this and start going to the new page. If we're rewriting pages though, we could add the "canonical link" at the same time which I do know that search engines understand.

@jni
Copy link
Contributor

jni commented Aug 16, 2020

For what it's worth @tacaswell

The current state is likely better than people getting 404s.

I don't think that is true anymore — some of those old pages are downright misleading for modern users.

@dopplershift
Copy link
Contributor

Probably worth doing the <meta refresh> and canonical link stuff now. That page is really out of date.

@timhoffm
Copy link
Member

timhoffm commented Aug 17, 2020

There was the idea to have readthedocs-style versions. I don't remember exactly why it was not followed up on.

Anyway, it seems quite straight forward:

These two bully points could be done immediately with little effort. Later one can

  • Build and install older versions in their subdirectories.
  • Add a Version switch to the website.
  • one could even write a script to check if the pages under / have an equivalent under /latest and then redirect there.

@QuLogic
Copy link
Member

QuLogic commented Aug 17, 2020

We already have versioned directories; we don't have /latest though, that's just the top-level.

@jklymak
Copy link
Member

jklymak commented Aug 17, 2020

The problem is not the current docs per-se, but the fact that the whole examples/ directory is still in the root tree and not being overwritten by the new docs. https://matplotlib.org/examples/ has not been updated for years, but is still in our top-level public hierarchy and has absolutely no indication that it is obsolete. I did try matplotlib/matplotlib.github.com#30 but it wasn't ever merged.

I think we should actually just redirect top-level examples/ to gallery/ and allow anything that was in examples that doesn't have the same entry in gallery to 404.

@jklymak jklymak modified the milestones: v2.2-doc, v3.3-doc Aug 17, 2020
@dopplershift
Copy link
Contributor

At this point 404s are better than pointing to examples that likely do things in old ways that have improved, or worse do things using deprecated/removed APIs. It's the internet, links die. Let's just make sure our current docs don't somehow accidentally link there.

@dopplershift
Copy link
Contributor

I'll also add that we're not doing this willy nilly, but in the name of improving the overall situation for users. Having a top-level link like that be out-of-date is really confusing and a serious UX issue, let alone contributing to the issue of "matplotlib docs are hard to understand".

@timhoffm
Copy link
Member

Still may be worth getting rid of all top-level stuff in favor of a /latest link.

Otherwise we'll have to clean out top-level with every release to prevent future outdated top-level pages. And if /latest/xyz does not exist, it may be easier from that to look for /3.0.0/xyz compared to if /xyz does not exist.

@QuLogic QuLogic removed this from the v3.3-doc milestone Jan 28, 2021
@QuLogic QuLogic added this to the v3.4.0 milestone Jan 28, 2021
@jklymak jklymak modified the milestones: v3.4.0, v3.4-doc Feb 4, 2021
@QuLogic
Copy link
Member

QuLogic commented Feb 12, 2021

Canonical links and redirects were added in matplotlib/matplotlib.github.com#49. There is also a banner noting that the page is outdated at the top of the page.

@QuLogic QuLogic closed this as completed Feb 12, 2021
@QuLogic QuLogic modified the milestones: v3.4-doc, v3.4.0 Feb 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants