Time Series with month names

조회 수: 10 (최근 30일)
emily bristow
emily bristow 2020년 12월 3일
답변: Mathieu NOE 2020년 12월 3일
How do I create a time series for average bottom water dissolved oxygen concentrations, with the month names across the x axis?
The attached excel file is the cocentrations
  댓글 수: 1
BN
BN 2020년 12월 3일
Hello,
Here is a simple way, But I'm sure it isn't the best way to do this.
% cd 'location of your excel file'
table = readtable('Bottom Water Average DO Time Series.xlsx'); % read excel file
plot(table.AverageDO)
set(gca,'xtick',1:7,...
'xticklabel',{'Mar','Apr','May','Jun','Jul','Aug','Nov'});
xlabel('Months') ;
ylabel('AverageDO') ;
Cris LaPierre's answer is the best and perfect solution for doing this.

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

답변 (3개)

Cris LaPierre
Cris LaPierre 2020년 12월 3일
Import your months as categoricals.
Categories are organized alphabetically by default. Use reordercats to place them in order.
Then, plot with the months on the X axis, and the values on the Y.

Rishik Ramena
Rishik Ramena 2020년 12월 3일
You can just convert the month names to datetime.
T = readtable('Bottom Water Average DO Time Series.xlsx');
plot(datetime(T.Month,"InputFormat","MMMM"),T.AverageDO);

Mathieu NOE
Mathieu NOE 2020년 12월 3일
hello Emily
this is my suggestion , with two plot options
filename = "Bottom Water Average DO Time Series.xlsx";
C = readcell(filename);
[m,n] = size(C);
my_xtick_label = string(C(2:m,1)); % start at row index 2 to ignore header line
data = cell2mat(C(2:m,2)); % start at row index 2 to ignore header line
%% plot
figure(1), plot(data,'*-');grid
set(gca,'xtick',1:m-1,'xticklabel',my_xtick_label)
xlabel('Month');
ylabel('Bottom Water Average DO Time');
figure(2), bar(data);
set(gca,'xtick',1:m-1,'xticklabel',my_xtick_label)
xlabel('Month');
ylabel('Bottom Water Average DO Time');

카테고리

Help CenterFile Exchange에서 Tables에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by