Time Series with month names

5 次查看(过去 30 天)
emily bristow
emily bristow 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 中查找有关 Data Distribution Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by