Clear Filters
Clear Filters

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

11 views (last 30 days)
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?

Answers (1)

John Chilleri
John Chilleri on 23 Jan 2017
Edited: John Chilleri on 23 Jan 2017
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:
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 Comment
Adam Danz
Adam Danz on 30 Jul 2020
fill() uses patch() which is not currently supported in polar axes.

Sign in to comment.


Find more on Polar Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!