Plotting surf tiles at the center rather than bottom left

7 次查看(过去 30 天)
As per the title, is there a way to do this?
if true
surf(double(B));
view(2);
hold on
plot3(x_P,y_P,2*ones(1,particles),'ws')
drawnow
hold off
axis tight
axis square
end
I want the red squares in the center of the coordinates, not at the bottom-left, as I'm trying to implement a particle filter and want to display the results best visually.

回答(1 个)

Kevin Claytor
Kevin Claytor 2012-9-4
It looks like you're using essentially a binary map for the image. I would use imagesc instead, it draws the patch centered at the (x,y) coordinates. Surf draws the patch between the (x,y) coordinates. Example;
[X,Y,Z] = peaks(30);
figure; hold on;
imagesc(X(1,:),Y(:,1),Z);
plot(X,Y,'ws');

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by