How to set the plot start to zero ? I have some measurements. On the x label, they start from 0 to 6, but from 1 I can see something change on
129 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Shimelis Abebe
am 8 Jul. 2021
Beantwortet: Paul Hoffrichter
am 12 Jul. 2021
8 Kommentare
Paul Hoffrichter
am 10 Jul. 2021
Dear Shimelis, I am assuming that you wish to discuss this problem further and need additional assistance. Since my time is extremely limited due to work and study obligations, I hope you will ask another question. As a community, we will all take a look and try to help you further.
Best Regards, Paul
Akzeptierte Antwort
Paul Hoffrichter
am 9 Jul. 2021
Bearbeitet: Paul Hoffrichter
am 9 Jul. 2021
Here is some made up data to illustrate one approach:
x = [ 0 1.1 2 3.3 5.12];
y = [146 145.9 145.8 139 128;
133 132.8 132 114 133;
119 118 116 102 133 ];
plot(x, y, '-bo')
0 Kommentare
Weitere Antworten (4)
Sean Brennan
am 9 Jul. 2021
Like the previous answer said: be sure to plot x values AND y values. MATLAB allows you to plot data in the form:
data = rand(10,1); % Create 10 random points
plot(data); % Plot ONLY the y values - the x-values default to the indices of y
But this plots the data versus its index, in this case from 1 to 10. Yes, this is confusing because the plotting works, but the x-values are missing!
The plot command is normally used with x AND y values. For example, let's say the x-axis values associated with the data are from 0.1 to 1, incrementing by 0.1. Then we can plot the results as:
% Create a column of x data starting at 0.1 up to 1,
% incrementing by 0.1 (the ' symbol converts the row data to column)
xdata = (0.1:0.1:1)';
% Create the random y data column using the rand command
ydata = rand(10,1)
% Plot x versus y
plot(xdata,ydata);
You can modify the plot command, specify a figure, etc. Type "help plot" to learn more about this powerful and probably most often used MATLAB command.
0 Kommentare
dpb
am 9 Jul. 2021
x=[0:size(Throughput,2)-1].'; % generate temporary x vector for convenience from 0
hL=plot(x,1E-6*Throughput(1:4,;).'); % plot first four rows of array as columns
salt to suit.
If there are only 4 rows in Throughput, then can dispense with the indexing expression entirely.
plot() will treat each column in the Y argument if an array as a separate variable; hence the transpose. Saves the explicit reference to have to plot each individually.
See the documentation for plot for all the syntax options; saving the line handles in hL lets you adjust line properties as desired.
0 Kommentare
Paul Hoffrichter
am 12 Jul. 2021
First of all, you should be aware that the following two expressions are equivalent:
>> 1:5.12
ans =
1 2 3 4 5
>> 1:5
ans =
1 2 3 4 5
Are you just wanting to label the axis from 0:4 instead of 1:5? If so, then this works:
figure(2)
x = 0:4;
plot(x, Throughput./1e6);
legend('0.5 m/s','1 m/s','1.5 m/s','2 m/s');
xlabel('TTT_{W-L} index (0 sec to 5.12 sec)');
ylabel('Throughput)');
axis([0 5 -inf inf]);
hold off
grid on
box on
The left figure is from your original program. The right figure, is figure(2) from the code in this post.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Get Started with MATLAB 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!