Borrar filtros
Borrar filtros

How to plot monthly values of precipitation over multiple years and have years plotted on x-axis

1 visualización (últimos 30 días)
I have a table with headings of year, month, and value where the value is the total precipitation of the month. I would like to make a bar chart that has the year plotted on the x-axis, but I'd also like to color-code each year's worth of data (12 bars, one for each month) to make it clear where one year starts and another ends. How do I do this?

Respuesta aceptada

Thomas Burbey
Thomas Burbey el 1 de Nov. de 2017
How do I reshape my array that is in the form (year, month, data value): 1991, 1, 45.2 1991, 2, 84.3 1991, 3, 23.3 1991, 4, 97.1 ... 2016, 12, 17.4 Into the form jan feb mar apr may .... dec 1991 45.2 84.3 23.3 97.4 .... ... 2016 .... 17.4

Más respuestas (1)

KL
KL el 1 de Nov. de 2017
reshape your data by keeping year on the rows, months on columns (hence, 12 columns and as many rows as many years you have), then you can simply call bar and add legend as your table variable names.
h = bar([yourtable.year; yourtable.year2]);
legend(h,yourTable.Properties.VariableNames);
  2 comentarios
Thomas Burbey
Thomas Burbey el 1 de Nov. de 2017
Okay, but I'm uncertain how to reshape the array to get my values in the table with years for rows and months as columns.
KL
KL el 1 de Nov. de 2017
if you have an array in the form,
array = [year, month, value];
then,
val = reshape(array(:,3),12,[])';

Iniciar sesión para comentar.

Categorías

Más información sobre Bar Plots en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by