How to plot years on x axis

조회 수: 10 (최근 30일)
Vivek
Vivek 2019년 1월 21일
댓글: Apostolos Ampountolas 2019년 4월 6일
I have monthly mean temperature data for about 31 years from 1975-2005. Each year I am having 12 values. How to plot this data having years on x-axis.
The format of the data is shown below:
1975 -66.0577
1975 -66.3039
1975 -65.4235
1975 -66.6143
1975 -66.1449
1975 -70.4912
1975 -73.0337
1975 -73.8322
1975 -69.5114
1975 -65.6445
1975 -65.815
1975 -65.5371
1976 -63.9651
1976 -66.7147
1976 -66.5698
1976 -66.4407
1976 -66.4912
1976 -69.1049
1976 -71.5498
1976 -73.0278
1976 -70.1491
1976 -69.9583
1976 -68.8625
1976 -63.2717

채택된 답변

Star Strider
Star Strider 2019년 1월 21일
There are several ways to approach that, including datetime (link) arrays.
A simple solution is:
M = [ 1975 -66.0577
1975 -66.3039
1975 -65.4235
1975 -66.6143
1975 -66.1449
1975 -70.4912
1975 -73.0337
1975 -73.8322
1975 -69.5114
1975 -65.6445
1975 -65.815
1975 -65.5371
1976 -63.9651
1976 -66.7147
1976 -66.5698
1976 -66.4407
1976 -66.4912
1976 -69.1049
1976 -71.5498
1976 -73.0278
1976 -70.1491
1976 -69.9583
1976 -68.8625
1976 -63.2717];
T = datenum([M(:,1) ceil(rem(1:size(M,1),12.1))', zeros(size(M,1),3) ones(size(M,1),1)]);
figure
plot(T, M(:,2))
datetick('x', 'yyyy')
xlim([min(T), max(T)])
Experiment to get the result you want.
  댓글 수: 8
Star Strider
Star Strider 2019년 1월 23일
As always, my pleasure.
I should have done that to begin with, rather than creating my own vector.
Apostolos Ampountolas
Apostolos Ampountolas 2019년 4월 6일
Unfortunately, it doesn't work for me.
I downloaded the file, copy, run the provided code, however I am always getting the same error:
Error using plot
Vectors must be the same length.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Dates and Time에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by