이 질문을 팔로우합니다.
- 팔로우하는 게시물 피드에서 업데이트를 확인할 수 있습니다.
- 정보 수신 기본 설정에 따라 이메일을 받을 수 있습니다.
How to make contour to have the same axes
조회 수: 6 (최근 30일)
이전 댓글 표시
I have a two different plots with 2 different axes. The second plot (fig2) is extracted from the first plot (fig1).
Please how can I make the extract plot to have the same axis as the first one. I tried aspect ratio function but couldn't work.
openfig('fig1.fig');
openfig('fig2.fig');
댓글 수: 11
Cris LaPierre
2024년 2월 9일
Please share the code you used to create both plots.
Are you saying fig2 should keep the axes as labeled, with the plot filling the figure window, or should the figure essentially be zoomed to the exact borders of the contour plot so that it fills the figure window?
University
2024년 2월 9일
Thank you Cris. Not really zooming it. I think I was able to zoom it with your assitance last week but that wasn't what I wanted. I want the fig2 to plot fill the figure window.
University
2024년 2월 9일
See code:
fig2 = figure(2);
[C,h] = contourf(L, xi, intul, [min(min(intul)):0.05e-11:max(max(intul))],'ShowText','off','edgecolor','none');
c = colorbar;
c.TickLabelInterpreter='latex';
c.Label.String = '$\int u_L \mathrm{dz} $';
c.Label.Interpreter = 'latex';
colormap jet
clabel(C,h)
hold on
for i=1:length(L)
for j=1:length(xi)
plot(L(i), xi(j), 'w.', 'LineWidth', 2, 'MarkerSize', 5)
end
end
set(gca,'clim',[min(min(intul)) max(max(intul))]);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fig2 = figure(2);
[C,h] = contourf(L, xi, intul, [min(min(intul)):0.05e-11:max(max(intul))],'ShowText','off','edgecolor','none');
c = colorbar;
c.TickLabelInterpreter='latex';
c.Label.String = '$\int u_L \mathrm{dz} $';
c.Label.Interpreter = 'latex';
colormap jet
clabel(C,h)
hold on
for i=1:length(L)
for j=1:length(xi)
plot(L(i), xi(j), 'w.', 'LineWidth', 2, 'MarkerSize', 5)
end
end
set(gca,'clim',[min(min(intul)) max(max(intul))]);
% axis label
xlabel('HAN region length, $l$ [m]','Interpreter','latex');
ylabel('activity, $\xi$','Interpreter','latex');
xlim([pars.W/1000, pars.W/3])
ylim([0, 125])
I set the limit of fig2 using the axix of fig1.
Cris LaPierre
2024년 2월 9일
편집: Cris LaPierre
2024년 2월 9일
The reason it is not filling the axes is because you have set the limits of fig2 to be the same as fig1. If fig2 is indeed a subset of fig1, then you need to use the limits of the data in fig2 to set the axes limits. Otherwise, you are plotting it the same size it was in the original figure. Where there is no data remains white.
University
2024년 2월 9일
편집: Torsten
2024년 2월 9일
Yeah I understand what you mean. This is the actual figure without setting the limit.
openfig('fig2_actual.fig');
Cris LaPierre
2024년 2월 9일
Also, I think you copied the same code twice rather than code that creates the 2 figures you attached.
University
2024년 2월 9일
The figures are coded differently. I added more points around the isolated maxumum to extract more information.
University
2024년 2월 9일
% axis for first figure
xivals = linspace(0, 125, 20);
Lvals = linspace(2e-8, 6.6667e-6, 20);
% axis for second figure
xivals = linspace(47.8947, 123.158, 20);
Lvals = linspace(7.19649e-07, 3.51825e-06, 20);
I have attached data for each of the figures
Cris LaPierre
2024년 2월 9일
편집: Cris LaPierre
2024년 2월 9일
Can you update your post to use the tools in the ribbon to create formatted code, and then run that code so that it creates each figure here? Smiilar to what I did here.
University
2024년 2월 9일
편집: Torsten
2024년 2월 9일
load data_0_125.mat
figure;
xi = linspace(0, 125,20);
L=linspace(2e-08, 6.66666666666667e-06, 20);
[C,h] = contourf(L, xi, intul, [min(min(intul)):0.05e-11:max(max(intul))],'ShowText','off','edgecolor','none');
c = colorbar;
c.TickLabelInterpreter='latex';
c.Label.String = '$\int u_L \mathrm{dz} $';
c.Label.Interpreter = 'latex';
colormap jet
clabel(C,h)
hold on
for i=1:length(L)
for j=1:length(xi)
plot(L(i), xi(j), 'w.', 'LineWidth', 2, 'MarkerSize', 5)
end
end
set(gca,'clim',[min(min(intul)) max(max(intul))]);
Warning: Error updating Text.
String scalar or character vector must have valid interpreter syntax:
$\int u_L \mathrm{dz} $
String scalar or character vector must have valid interpreter syntax:
$\int u_L \mathrm{dz} $
%%%%%
load data_xi_48_123.mat
figure;
xivals = linspace(47.8947, 123.158, 20);
Lvals = linspace(7.19649e-07, 3.51825e-06, 20);
[C,h] = contourf(L, xi, intul, [min(min(intul)):0.05e-11:max(max(intul))],'ShowText','off','edgecolor','none');
c = colorbar;
c.TickLabelInterpreter='latex';
c.Label.String = '$\int u_L \mathrm{dz} $';
c.Label.Interpreter = 'latex';
colormap jet
clabel(C,h)
set(gca,'clim',[min(min(intul)) max(max(intul))]);
Warning: Error updating Text.
String scalar or character vector must have valid interpreter syntax:
$\int u_L \mathrm{dz} $
String scalar or character vector must have valid interpreter syntax:
$\int u_L \mathrm{dz} $
답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Line Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!오류 발생
페이지가 변경되었기 때문에 동작을 완료할 수 없습니다. 업데이트된 상태를 보려면 페이지를 다시 불러오십시오.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom(English)
아시아 태평양
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)