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
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/148635/image.jpeg)
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.
0 个评论
回答(1 个)
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');
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Surface and Mesh Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!