Problem with quiver resolution
3 views (last 30 days)
Show older comments
I try to plot a 100x100 matrix and want to plot direction arrows into a contour plot. My code thus far
[C,h]=contour(flipud(X),'Color','black'); [u,v]=pol2cart(flipud(rdir),1); quiver(u,v,0.5,'black');
There are so many arrows that its not possible to see the contour-plot behind it. It would be useful if there is a command that makes only each 2. arrow appear. I tried this: quiver(u(1:2:end,1:2:end),v(1:2:end,1:2:end),0.5,'black')
The result is that the matrix of the quiver plot is much smaller than the matrix of the contour plot and so the size of the plot changed as well. Do somebody have a suggestion? Thank you in advance.
0 Comments
Accepted Answer
Kelly Kearney
on 20 Jun 2013
When you don't provide any x or y matrices, both contour and quiver assume 1:#columns and 1:#rows as the x and y-coordinates, respectively. So just make sure you define x and y explicitly
[xq,yq] = meshgrid(1:size(u,2), 1:size(u,1));
[xc,yc] = meshgrid(1:size(X,2), 1:size(X,1));
contour(xc,yc,flipud(X), 'color', 'k');
hold on;
quiver(xq(1:2:end,1:2:end),yq(1:2:end,1:2:end), ...
u(1:2:end,1:2:end),v(1:2:end,1:2:end), 0.5, 'k');
0 Comments
More Answers (0)
See Also
Categories
Find more on Vector Fields in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!