Surface plot missing a final array element for discrete values
12 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi,
I have a string of temperature sensors and I am trying to plot an array of their values over time. To do this I am organizing the values into a 2D m by n array "tempValues" where column 1 corresponds to the first sensor, column 2 the second, so on and so forth. I then have 2 separate 1D arrays "sensorNum" of length n and "sampleNum" of length m. When I try to make a surface plot of the values though it is dropping the last sensor. Here you can see a plot of a 7-sensor string plotted this way. I think this is happening because MatLab is not treating the values of "sensorNum" as discrete, but I'm not sure. How can I fix this to get a surface plot of all of my sensors?
Code used to generate plot:
%% plot surface plot of all temperature sensor array (proof of concept)
%calculate sample number and sensor number and create an array of
%temperatures from a table of temperature sensor values
%assign variables
tempValues = table2array(string6Table);
string = "String 6";
[m, n] = size(tempValues);
sampleNum = 1:m;
sensorNum = 1:n;
figure()
clf
s=surf(sampleNum, sensorNum, tempValues', 'CDataMapping', 'scaled');
s.EdgeColor = 'none';
view(0,270) % 2D x=1:sampleNum, y=sensor number 1 at top. Baseline "normal" view
xlabel('Sample Number')
ylabel('Sensor Number')
title(sprintf('Surface Plot of Temperature vs. Time for %s', string));

1 Kommentar
Cris LaPierre
am 21 Jan. 2021
Share your variable tempValues. Save it to a mat file and attach it to your post using the paperclip icon.
Antworten (0)
Siehe auch
Kategorien
Mehr zu Map Display finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!