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

16 Ansichten (letzte 30 Tage)
Jared Saletin
Jared Saletin am 23 Jan. 2017
Kommentiert: Adam Danz am 30 Jul. 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

Antworten (1)

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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Polar Plots finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by