polar/plot incompatibility
80 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Can any one explain the design choise that causes this:
polarscatter(linspace(0,pi*2/3,100).^2,...
linspace(0,pi*2/3,100),...
32,...
linspace(0,pi*2/3,100),'filled')
hold on
plot([-1 1],[1 -1],'m')
Error using newplot
Adding Cartesian plot to polaraxes is not supported.
Error in matlab.graphics.internal.newplotwrapper (line 11)
axReturn = newplot(varargin{:});
From my perspective picking polar/cartesian representation of my grid is just that - a choise of either cartesian grid-lines of polar grid-lines. Why should it not be possible to add objects with cartesian coordinates to a region with polar grid-lines or the other way around?
2 Commenti
Risposte (1)
Star Strider
il 28 Ott 2025 alle 13:37
The original coordinate system predominates, and the subsequent plot call respects that.. You are plotting two points,
and
.
If you want to plot them as
and
, you need to transform them --
polarscatter(linspace(0,pi*2/3,100).^2,...
linspace(0,pi*2/3,100),...
32,...
linspace(0,pi*2/3,100),'filled')
hold on
% plot([-1 1],[1 -1],'m')
[r,a] = cart2pol([-1 1],[1 -1]) % Transform To Polar Coordinates
plot(r,a)
figure
plot([-1 1],[1 -1])
axis('equal')
grid
.
13 Commenti
Adam Danz
il 3 Nov 2025 alle 15:12
This chat is an interesting read. I want to make sure I understand the idea: @Bjorn Gustavsson is your curiously about why plot(x,y) interprets the arguments as polar values (theta, radius) when plotting to polar axes rather than sticking to a Cartesian interpretation?
I can see that argument.
plot() is like a swiss army knife. It can take datetime, duration, categorical, and various types of numeric data (e.g. geographical, polar, Cartesian). Plot interprets the inputs based on the axis/ruler type. For example, the first line below creates a datetime ruler for the x-axis. The x-values of the 3rd line are therefore interpreted as durations (number of days).
plot(datetime(2000,1,1:5), 1:5, '-bo')
hold on
plot(1:5, 3:7, '-rd')
Or, is the question about why Euclidean lines are used to connect points in polar space? I've also wondered this. We recently showed how to get around this in a recent article in the Graphics and App Building blog.
I, personally, would like to see an option to connect points in polar space using arch interpolation. I also mentioned this in the following thread:
Vedere anche
Categorie
Scopri di più su Polar Plots in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



