Im trying to plot two piecharts together. I have been reading the Matplotlib documentation https://matplotlib.org/stable/gallery/pie_and_polar_charts/pie_demo2.htmland cannot see what im doing wrong. I'm getting an indexing error in line 13 (patches = axs[1,1].pie...)
The code worked until I started using the axs[1,1] etc and tried to have the subplots.
Code
import matplotlib.pyplot as plt
from matplotlib import rcParams
print('\n'*10)
# Make figure and axes
fig, axs = plt.subplots(1,2)
# Pie chart, where the slices will be ordered and plotted counter-clockwise:
labels = 'Alpha', 'Beta', 'Gamma', 'Phi', 'Theta'
sizes = [3, 6, 2, 3, 10]
explode = (0, 0.1, 0, 0, 0) # only "explode" the 2nd slice (i.e. 'Hogs')
patches = axs[1,1].pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',
shadow=True, startangle=90)[0]
#patches[2].set_hatch('\\\\') # Pie slice #0 hatched.
axs[1,1].axis('equal') # Equal aspect ratio ensures that pie is drawn as a circle.
plt.title("My title", fontsize=14, fontweight='bold', size=16, y=1.02)
# Pie chart 2
labels = 'Alpha', 'Beta', 'Gamma', 'Phi', 'Theta'
sizes = [3, 6, 2, 3, 10]
explode = (0, 0.1, 0, 0, 0) # only "explode" the 2nd slice (i.e. 'Hogs')
patches = axs[1,2].pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',
shadow=True, startangle=90)[0]
patches[2].set_hatch('\\\\') # Pie slice #0 hatched.
axs[1,2].axis('equal') # Equal aspect ratio ensures that pie is drawn as a circle.
plt.title("My title", fontsize=14, fontweight='bold', size=16, y=1.02)
plt.show()
Traceback
Traceback (most recent call last):
File "/Users/.../Desktop/WORK/time_1.py", line 13, in <module>
patches = axs[1,1].pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',
IndexError: too many indices for array: array is 1-dimensional, but 2 were indexed
Array axs
is 1-dimensional, change axs[1,1]
and axs[1,2]
to axs[0]
and axs[1]
, then your code will work.