Shade a wedge/portion of a compass or polar plot?

1 vue (au cours des 30 derniers jours)
Jared Saletin
Jared Saletin le 23 Jan 2017
Commenté : Adam Danz le 30 Juil 2020
Hi there!
I'm stumped on a question. I need to plot polar vectors from the origin on a polar axis. I can do this using either polarplot or compass without difficulty.
However I also need to shade a portion of the plot. So for instance, a complete wedge of the plot from 0 -> pi/2 shaded grey instead of background.
I tried to draw an arc, and use patch, but it didn't complete e full wedge.
Any ideas?
Jared

Réponses (1)

John Chilleri
John Chilleri le 23 Jan 2017
Modifié(e) : John Chilleri le 23 Jan 2017
Hello,
I've found fill to be useful in this scenario, although it's slow, and I wouldn't recommend it if you plan to shade many many areas.
If you have the coordinates of the edges as vectors x and y (you'll start and finish at the origin I assume), then you can:
fill(x,y,C)
where C is your desired color.
I put this together real fast for the unit circle from 0 to pi/2:
x = [0 0:.01:1 0];
y = [0 sqrt(1-x(2:end-1).^2) 0];
fill(x,y,[.7 .7 .7])
axis([-1 1 -1 1])
It's colored gray and you can make it more or less detailed by changing the .01 value in the x vector.
Hope this helps!
  1 commentaire
Adam Danz
Adam Danz le 30 Juil 2020
fill() uses patch() which is not currently supported in polar axes.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Polar Plots dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by