Plotting a 2-d graph

6 views (last 30 days)
Wafa'a Shanti
Wafa'a Shanti on 27 Dec 2017
Commented: Wafa'a Shanti on 30 Dec 2017
Is it possible to make a plot with three variables, but using only ta 2-D plot? For instance, I want the x-axis to be time, y-axis to be height, and the independent variable to be temperature. I haven't found anything online that would hint at a possibility, but thought it wouldn't hurt to ask. Thanks!

Accepted Answer

ANKUR KUMAR
ANKUR KUMAR on 27 Dec 2017
If you want to use 3 variables on 2D plot, then you can use contour or contourf or surf or surfc.
clc
clear
lat=(1:10)';
lon=(1:20)';
rf=randi(20,10,20);
figure()
contourf(lon,lat,rf,'linecolor','none');
figure()
[x,y]=meshgrid(lon,lat);
a=surf(x,y,rf,'FaceAlpha',0.5,'EdgeColor', 'none')
figure()
surfc(x,y,rf,'FaceAlpha',0.5,'EdgeColor', 'none')
  5 Comments
ANKUR KUMAR
ANKUR KUMAR on 30 Dec 2017
Edited: ANKUR KUMAR on 30 Dec 2017
If your problem is not resolved yet, then please provide your program, so that we can help you.
Wafa'a Shanti
Wafa'a Shanti on 30 Dec 2017
As a forewarning, there are two different sets of data from two different schools. Each one has about 25 tables I had to import and convert to arrays, which was done by simply changing the number located next to the variables.
First set of data:
datapath1='C:\Users\Faye\Documents\MATLAB\xq_directDownWashf12.csv';
formatspec='%f%f%f%f%f%f%{MM-dd-yyyy HH:mm:ss}D%{MM-dd-yyyy HH:mm:ss.SSSSSS}D';
NumericValueTable1=readtable(datapath1,'Delimiter',',','HeaderLines',0,'Format',formatspec);
Pulldataout1=NumericValueTable1(:,1:6);
UASdata1=table2array(Pulldataout1);
timearray1=table2array(NumericValueTable1(:,7));
Temp1=table2array(NumericValueTable1(:,2));
z1=table2array(NumericValueTable1(:,4));
second set of data:
datapath1='C:\Users\Faye\Documents\MATLAB\OSUr1.csv';
NumericValueTable1=readtable(datapath1);
pulloutdata1=NumericValueTable1(:,[2 1]);
OSUdata1=table2array(NumericValueTable1(:,[3 2]));
data1=num2str(OSUdata1);
OSUd1=datetime(data1,'Inputformat','yyyyMMdd HHmmss');
OSUd1=datestr(OSUd1);
NumericValueTable1.class=OSUd1;
writetable(NumericValueTable1,'OSUr1.csv','Delimiter',',','Quotestrings',false);
datapat1='C:\Users\Faye\Documents\MATLAB\OSUr1.csv';
NumericValueTable1=readtable(datapat1);
Newdata1=NumericValueTable1(:,(3:9));
OSUdata1=table2array(pulloutdata1);
timearray1o=table2array(NumericValueTable1(:,1));
Temp1o=table2array(NumericValueTable1(:,8));
Tempp1=Temp1o/100;
z1o=table2array(NumericValueTable1(:,6));
zo1=z1o/100;
The goal is to contour, like stated before, the time, height (z), and temp/tempp

Sign in to comment.

More Answers (0)

Categories

Find more on Line Plots in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!