# 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

188 ビュー (過去 30 日間)
Shimelis Abebe 2021 年 7 月 8 日

##### 8 件のコメント表示 7 件の古いコメント非表示 7 件の古いコメント
Paul Hoffrichter 2021 年 7 月 10 日
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

サインインしてコメントする。

### 採用された回答

Paul Hoffrichter 2021 年 7 月 9 日

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')

サインインしてコメントする。

### その他の回答 (4 件)

Sean Brennan 2021 年 7 月 9 日
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 件のコメント表示 -1 件の古いコメント非表示 -1 件の古いコメント

サインインしてコメントする。

dpb 2021 年 7 月 9 日
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 件のコメント表示 -1 件の古いコメント非表示 -1 件の古いコメント

サインインしてコメントする。

Shimelis Abebe 2021 年 7 月 9 日
Thank you very much for your great help me dear all
Dear Mr Paul Hoffrichter based on your lightful answer I try it semmes what I want but still I dis't geat the heart of my problem.
I wrote the code as given bellow image what is my fualt?
##### 0 件のコメント表示 -1 件の古いコメント非表示 -1 件の古いコメント

サインインしてコメントする。

Paul Hoffrichter 2021 年 7 月 12 日
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.

サインインしてコメントする。

### カテゴリ

Help Center および File ExchangeAnnotations についてさらに検索

R2021a

### Community Treasure Hunt

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

Start Hunting!

Translated by