fariadantes
fariadantes

Reputation: 372

Matplotlib pie chart wedge transparency?

I saw that matplotlib's pyplot.scatter() has an 'alpha' parameter that can be used to set the transparency of points. The pyplot.pie() doesn't have a similar parameter however. How can I set the transparency of certain wedges?

Upvotes: 14

Views: 7334

Answers (2)

johnDanger
johnDanger

Reputation: 2333

alpha can be passed to plt.pie directly using the wedgeprop arg (credit @Seth):

import matplotlib.pyplot as plt

plt.pie(x, wedgeprops={"alpha": 0.5})

Upvotes: 4

fariadantes
fariadantes

Reputation: 372

I found the answer while writing up this question and figured I'd post the solution for anyone who wants to know.

To set a wedge to be transparent:

import matplotlib.pyplot as plt

x  = [1,2,3,0.4,5]
alpha = 0.5
which_wedge = 4
n = plt.pie(x)
n[0][which_wedge].set_alpha(alpha)

If you want to only display a single wedge, use a loop:

for i in range(len(n[0])):
    n[0][i].set_alpha(0.0)
n[0][which_wedge].set_alpha(1.0)

Hope this helps someone! It can probably be used for pyplot.bar() too to hide certain bars.

Upvotes: 4

Related Questions