From 3bbdabceb5880c9eb6b448fc4d3aa9fdd8fa83c1 Mon Sep 17 00:00:00 2001 From: David Stansby Date: Mon, 23 Apr 2018 12:26:56 +0100 Subject: [PATCH] Revert "Backport PR #11083 on branch v2.2.2-doc" --- examples/pie_and_polar_charts/pie_demo2.py | 78 +++++++++++++--------- 1 file changed, 47 insertions(+), 31 deletions(-) diff --git a/examples/pie_and_polar_charts/pie_demo2.py b/examples/pie_and_polar_charts/pie_demo2.py index 6487e20b3d6d..f5c4dae4cf74 100644 --- a/examples/pie_and_polar_charts/pie_demo2.py +++ b/examples/pie_and_polar_charts/pie_demo2.py @@ -3,44 +3,60 @@ Pie Demo2 ========= -Make a pie charts using :meth:`.Axes.pie`. +Make a pie charts of varying size - see +https://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.pie for the +docstring. -This example demonstrates some pie chart features like labels, varying size, -autolabeling the percentage, offsetting a slice and adding a shadow. -""" +This example shows a basic pie charts with labels optional features, +like autolabeling the percentage, offsetting a slice with "explode" +and adding a shadow, in different sizes. +""" import matplotlib.pyplot as plt +from matplotlib.gridspec import GridSpec # Some data + labels = 'Frogs', 'Hogs', 'Dogs', 'Logs' fracs = [15, 30, 45, 10] -# Make figure and axes -fig, axs = plt.subplots(2, 2) - -# A standard pie plot -axs[0, 0].pie(fracs, labels=labels, autopct='%1.1f%%', shadow=True) - -# Shift the second slice using explode -axs[0, 1].pie(fracs, labels=labels, autopct='%.0f%%', shadow=True, - explode=(0, 0.1, 0, 0)) - -# Adapt radius and text size for a smaller pie -patches, texts, autotexts = axs[1, 0].pie(fracs, labels=labels, - autopct='%.0f%%', - textprops={'size': 'smaller'}, - shadow=True, radius=0.5) -# Make percent texts even smaller -plt.setp(autotexts, size='x-small') -autotexts[0].set_color('white') - -# Use a smaller explode and turn of the shadow for better visibility -patches, texts, autotexts = axs[1, 1].pie(fracs, labels=labels, - autopct='%.0f%%', - textprops={'size': 'smaller'}, - shadow=False, radius=0.5, - explode=(0, 0.05, 0, 0)) -plt.setp(autotexts, size='x-small') -autotexts[0].set_color('white') +explode = (0, 0.05, 0, 0) + +# Make square figures and axes + +the_grid = GridSpec(2, 2) + +plt.subplot(the_grid[0, 0], aspect=1) + +plt.pie(fracs, labels=labels, autopct='%1.1f%%', shadow=True) + +plt.subplot(the_grid[0, 1], aspect=1) + +plt.pie(fracs, explode=explode, labels=labels, autopct='%.0f%%', shadow=True) + +plt.subplot(the_grid[1, 0], aspect=1) + +patches, texts, autotexts = plt.pie(fracs, labels=labels, + autopct='%.0f%%', + shadow=True, radius=0.5) + +# Make the labels on the small plot easier to read. +for t in texts: + t.set_size('smaller') +for t in autotexts: + t.set_size('x-small') +autotexts[0].set_color('y') + +plt.subplot(the_grid[1, 1], aspect=1) + +# Turn off shadow for tiny plot with exploded slice. +patches, texts, autotexts = plt.pie(fracs, explode=explode, + labels=labels, autopct='%.0f%%', + shadow=False, radius=0.5) +for t in texts: + t.set_size('smaller') +for t in autotexts: + t.set_size('x-small') +autotexts[0].set_color('y') plt.show()