Contour plot
6 次查看(过去 30 天)
显示 更早的评论
Hi,
How can I make contour plots that do not 'interpolate'? For example, suppose I have the matrix a = [0 0 0 0; 0 1 1 0; 0 1 1 0; 0 0 0 0], which I would like to look like a square when I use contour(a,1) (the ,1 is used in order to have only one contour line). However, Matlab outputs an octagon-like shape, i.e. it kind of rounds the corners. I have seen that certain Matlab based software can do such contour plots, but I can't access the code and haven't been able to get it to work myself. Any help would be greatly appreciated!
Thanks,
Falk
0 个评论
采纳的回答
Sean de Wolski
2011-5-24
Multiple calls to line. You'll have to write some type of wrapper function but it should be doable.
更多回答(4 个)
Arnaud Miege
2011-5-24
Try this:
contour(a,[1 1])
HTH,
Arnaud
2 个评论
Arnaud Miege
2011-5-24
It seems that the contour matrix is computed automatically and is read-only, so you can't edit it - at least I haven't found a way to do it. Maybe contour isn't the right way to go about it?
Sean de Wolski
2011-5-24
If instead of a contour plot you could deal with an edge, this might work:
Lrgb = label2rgb(bwperim(kron(a,ones(10)))); %expanding with 10x10 to create an edge imshow(Lrgb) %IPT required
Matt Tearle
2011-5-24
Massive hack that works in this case (not sure how generalizable it will be to whatever your application is):
a(a==0) = NaN;
mesh(a)
set(gca,'View',[0,90],'XGrid','off','YGrid','off')
2 个评论
Matt Tearle
2011-5-25
Oh, no, my bad. I hadn't read the comments on Arnaud's answer, sorry. Looks like you'll have to write your own routine to do multiple line calls, as Sean suggests.
Yusuf Yilmaz
2021-11-10
Hi,
It is possible to put different line style on each line in contourf command or not If so, how ?
Thanks in advance
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Contour Plots 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!