How to get rid of extra contour lines?

5 visualizzazioni (ultimi 30 giorni)
Carly Svenvold
Carly Svenvold il 24 Ago 2016
Modificato: Carly Svenvold il 2 Set 2016
I am plotting interpolated temperatures for a solar wall, and am encountering issues with contour lines. I end up with two sets, neither following where they should. I am also running into issues getting my second set of axes to line up, as well as general placement of everything on my figure. I've been scouring this forum for weeks and trying a bunch of different things, but nothing seems to work. Help is appreciated! I just want this graph to look nice. Partial code below.
[EDIT]- added the file necessary to reproduce graph, fixed notation
load('JHCalc20160304.mat')
%%Average Cavity Temperature - Fine Mesh
% Location of Sensors
% 126" 418" 662"
% |--------------------|
% 120" | C3 | C5 | C2 |
% |--------------------|
% 27" | C1 | C6 | C4 |
% |--------------------|
% Create interpolated temp profile and average for each point in time
% Matrices Defining Sensor Locations
x = [126 418 662; 126 418 662];
y = [27 27 27; 120 120 120];
i=145; %this will change to a loop variable when I start running more graphs
c = [CalcData(i,9) CalcData(i,11) CalcData(i,8);...
CalcData(i,7) CalcData(i,12) CalcData(i,10)];
xq=[0:1:793];
yo=[0:1:156];
yz=zeros(1,637);
yq=horzcat(yo,yz);
% Interpolation Grid, Entire Wall
[X,Y]=ndgrid(xq,yq);
% Interpolated Cavity Temperature Profile
Cq=scatteredInterpolant(x(:),y(:),c(:));
C=Cq(X,Y);
%% THIS IS WHERE I NEED HELP
scrsz = get(groot,'ScreenSize');
figure1 = figure('Color',[1 1 1],'Position',[30 30 scrsz(3)*2/3 scrsz(4)*2/3])
axes1 = axes('Parent',figure1,'Position',[.1 .6 .6 .3]);
axis(axes1,'tight');
xlabel('Collector Width (in)','FontSize',12,'FontName','Times New Roman');
ylabel('Collector Height (in)','FontSize',12,'FontName','Times New Roman');
set(axes1,'BoxStyle','full','Layer','top','XTick',...
[0 100 200 300 400 500 600 700]);
axes2 = axes('Parent',figure1,'Position',[0.183666312433581 0.62531328320802 0.7 0.3]);
set(axes2,'Color','none','FontName','Times','FontSize',11,'XAxisLocation',...
'top','XTick',[0 0.25 0.5 0.75 1],'XTickLabel',{'0','5','10','15','20'},...
'YAxisLocation','right','YTick',[0 0.25 0.5 0.75 1],'YTickLabel',...
{'0','1','2','3','4'});
xlabel('Collector Width (m)');
ylabel('Collector Height (m)');
subplot(2,1,1,axes1)
hold(axes1,'on');
contourf(X,Y,C,'Parent',axes1)
tootle=sprintf('Cavity Temperature Profile in %cF - March 4th %d:%d',char(176),CalcData(i,4),CalcData(i,5));
title(tootle,'FontSize',14,'FontName','Times New Roman');
colormap('jet');
degF=sprintf('%cF',char(176));
degC=sprintf('%cC',char(176));
cb=colorbar('peer',axes1,'FontName','Times New Roman','Position',[0.88 0.62 0.02 0.28],'FontSize',12);
colortitlehandle=get(cb,'Title');
titlestring=sprintf('Temperature (%s)',degF);
set(colortitlehandle,'string',titlestring);

Risposte (1)

Shruti Shivaramakrishnan
Shruti Shivaramakrishnan il 1 Set 2016
Modificato: Shruti Shivaramakrishnan il 1 Set 2016
I tried executing your code to reproduce the issue, but noticed the following issues:
  • The for loop for i ranging from 1 to 145 needs to be terminated
  • The function CalcData(i,n) is missing.
Could you post the required function for others to be able to execute the code? Also, information on exactly what is the desired output and explanation of how you are trying to achieve it would be helpful for the community in answering your question.
  1 Commento
Carly Svenvold
Carly Svenvold il 2 Set 2016
I've gone through and fixed the loop, and added the file necessary to recreate the graph shown. Thank you for your help!

Accedi per commentare.

Categorie

Scopri di più su Contour Plots in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by