필터 지우기
필터 지우기

Shaded Contour and Line Contour in one CONTOURF

조회 수: 10 (최근 30일)
Bhowmik.U
Bhowmik.U 2018년 8월 4일
편집: jonas 2018년 8월 20일
I have a matrix A=m x n; X=m x 1; Y=n x 1; contourf(X,Y,A','linestyle','none')
I wish to superpose another matrix B (m*n) "in LINE CONTOUR" onto the previous
Please help...
It would be great if I knew to plot matrix B both in single color line with values written in between, or a contour with different color scheme....
  댓글 수: 2
jonas
jonas 2018년 8월 4일
I don't understand what you mean, what is a line contour? One without faces, like the normal contour?
Bhowmik.U
Bhowmik.U 2018년 8월 5일
Please find the enclosed image as an example image I just downloaded from Internet to make my problem clear
Here the color is my Matrix : A (in shaded form) and by line contour, I mean the black lines within it, with lables in number.. (my Matrix B)
...Hope I am clear now

댓글을 달려면 로그인하십시오.

채택된 답변

jonas
jonas 2018년 8월 5일
편집: jonas 2018년 8월 5일
Yea that's fairly easy. An example:
A=peaks(100);
B=peaks(75);
[~,h1]=contourf(A,'linestyle','none');hold on
[c,h2]=contour(B,'linecolor',[0 0 0])
set(h2,'ContourZLevel',10)
clabel(c,h2)
The second to last row makes sure that h2 is always drawn on top, although this case its not needed.
  댓글 수: 7
Bhowmik.U
Bhowmik.U 2018년 8월 20일
because when I try inserting colorbar after
%colorbar(ax1)
the colorbar enters the plot area producing mess.. :(
jonas
jonas 2018년 8월 20일
편집: jonas 2018년 8월 20일
Happy to help.
The problem is that the colorbar changes the position-property of one axes when you place it outside of the plot area, as it is set to location='eastoutside' by default. There are several ways to solve this:
1) Align the position of the two axes at the end of the script. Add this at the end of the script:
cb=colorbar(ax1)
ax1pos=get(ax1,'position')
set(ax2,'position',ax1pos)
2) add colorbar inside the plot and then move it outside by changing its position. This prevents the axes position from being changed at all. Add this at the end of the script:
cb=colorbar(ax1,'location','west')
cb.Position=cb.Position+[0.6 0 0 0];
3) add colorbar normally, i.e. outside of plot, and change the position of the axes back again afterwards
ax1pos=get(ax1,'position')
cb=colorbar(ax1)
set(ax1,'position',ax1pos)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Contour Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by