Meshgrid - RGB triplet plots
Mostrar comentarios más antiguos
I'm trying to plot data in polar coordinates mapped to RGB data.
Using a standard xy axis this is trivial, but I can't seem to plot a mesh grid with RGB triplets in the same way. Below is a working example. Figure 1 displays the data in a Cartesian grid (theta vs. rho), with the color axis represented by RGB triplets.
Figure 2 displays the meshgrid following the polar to Cartesian grid transformation - but I have only plotted the intensity of the red (R) value.
Please could somebody advise on the line of script that will allow me to plot the semi-circle shown (Figure 2) with RGB values, not intensity as in the example.
Thanks in advance.
%
clear all; close all;
theta = linspace(0,pi,18);
rho = linspace(0,pi/2,9);
C(:,:,1) = rand(numel(theta),numel(rho));C(:,1,1) = 0.5;
C(:,:,2) = rand(numel(theta),numel(rho));C(:,1,2) = 0.5;
C(:,:,3) = rand(numel(theta),numel(rho));C(:,1,3) = 0.5;
figure(1)
imagesc(theta,rho,C)
xlabel('theta');ylabel('rho');
[TH,R] = meshgrid(theta,rho);
[X,Y] = pol2cart(TH,R);
figure(2)
surf(X,Y,C(:,:,1)') % this is only the values of the R triplet
xlim([-pi/2 pi/2]);ylim([-pi/2 pi/2]);
axis square
view(0, 90)
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Polar Plots en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!