How can I generate more colors on pie chart matplotlib

user3001937 picture user3001937 · Jan 10, 2014 · Viewed 29k times · Source

I am having more then 40 items to show in my chart. I have only 10 colours that repeatedly are shown on the chart. How can I generate more colors.

plt.pie(f,labels=labels,autopct='%1.1f%%', startangle=90,shadow=True)

I should add "color=colors" where colors is generated infinitely ?

Answer

CT Zhu picture CT Zhu · Jan 10, 2014

You need colors argument, beside that you can use some color maps from cm.

>>> import matplotlib.pyplot as plt
>>> from matplotlib import cm
>>> import numpy as np
>>> a=np.random.random(40)
>>> cs=cm.Set1(np.arange(40)/40.)
>>> f=plt.figure()
>>> ax=f.add_subplot(111, aspect='equal')
>>> p=plt.pie(a, colors=cs)
>>> plt.show()

enter image description here

Beside using colormaps, also consider using .set_color_cycle() method. See this post: plotting different colors in matplotlib