Plotting a graph properly

10 visualizzazioni (ultimi 30 giorni)
AB
AB il 22 Lug 2020
Commentato: AB il 22 Lug 2020
%code for plotting the real values of wetted radius vs time
WR_real = real(WR);
WR_real(valid) = 0;
plot(timeSec(:,:,1),WR_real(:,:,1),'LineWidth',2)
xlabel ('Time (s)')
ylabel ('Wetted Radius (m)')
title ('Wetted Radius vs Evaporation Time')
legend('Theoretical')
Hello everyone,
I want to plot a graph and I used the attached code. However, I want to get rid of the vertical blue line on the y axis and the horizontal blue line on the x axis. I am not quite sure how this happened. Does anyone know how to solve this problem?
Thanks and regards
  1 Commento
KSSV
KSSV il 22 Lug 2020
You skip the first value and then plot.

Accedi per commentare.

Risposta accettata

Arthur Roué
Arthur Roué il 22 Lug 2020
%% Plotting
%code for plotting the real values of volume vs time
V_real = real(V);
valid = V_real<0;
V_real(valid) = 0;
plot(timeSec, V_real,'LineWidth',2)
xlabel ('Time (s)')
ylabel ('Volume (m^3)')
title ('Volume vs Evaporation Time')
legend('Theoretical')
%code for plotting the real values of wetted radius vs time
WR_real = real(WR);
WR_real(valid) = 0;
vb = WR_real ~= 0; % find 0 to remove them
plot(timeSec, WR_real,'LineWidth',2); hold on
plot(timeSec(vb), WR_real(vb),'LineWidth',2)
xlabel ('Time (s)')
ylabel ('Wetted Radius (m)')
title ('Wetted Radius vs Evaporation Time')
legend('Theoretical')
  3 Commenti
Arthur Roué
Arthur Roué il 22 Lug 2020
I superpose the curve without the zero with a second plot.
plot(timeSec, WR_real,'LineWidth',2); hold on % Original curve, hold on for superposition in axe
plot(timeSec(vb), WR_real(vb),'LineWidth',2) % Curve without zero
Red is'nt going to zero because I also removed this zero. You need to process your data to keep this zero.
AB
AB il 22 Lug 2020
ahh okay thank you for your help :)

Accedi per commentare.

Più risposte (1)

Arthur Roué
Arthur Roué il 22 Lug 2020
Modificato: Arthur Roué il 22 Lug 2020
This happens because your data looks like that :
WR_real(:,:,1) = [0 1.1 ... 0.2 0 0]*1e-3
To get rid of those lines, remove the zeros at the beginning and the end of your data (and in time vector too to match size)
  2 Commenti
AB
AB il 22 Lug 2020
Thank you for your answer but how do I remove the zeros?
I am a bit confused
Arthur Roué
Arthur Roué il 22 Lug 2020
Modificato: Arthur Roué il 22 Lug 2020
In your case, it seems the zeros are only at the end and beginning. Then you can remove all 0 this way :
% Get index of 0
vb = WR_real(:,:,1) ~= 0
% Plot without the 0
plot(timeSec(vb,:,1),WR_real(vb,:,1),'LineWidth',2)
EDIT : Why WR_real got 3 dimension ?

Accedi per commentare.

Categorie

Scopri di più su 2-D and 3-D Plots in Help Center e File Exchange

Prodotti


Release

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by