Borrar filtros
Borrar filtros

Why is my plot not showing years on the x axis but random numbers and what code do i use to make it years?

3 visualizaciones (últimos 30 días)
In the screen shot my plot has got random numbers on the x axis instead of years, what code do i use to change this?
  4 comentarios
LM
LM el 27 de Oct. de 2017
Editada: LM el 27 de Oct. de 2017
This is my code.
%plot cumulative return of four trading stratergies
plot(cum_ret_oos)
% Create xlabel
xlabel('Years out sample')
% Create ylabel
ylabel('Cumulative Returns (logs)')
% Create title
title('Cumulative Returns of 4 Trading Stratergies')
% set the y-axis scale to log
set(gca,'Yscale','log')
KSSV
KSSV el 27 de Oct. de 2017
plot(cum_ret_oos)
YOu have not provided x values..so the plot is w.r.t to indices....

Iniciar sesión para comentar.

Respuesta aceptada

KSSV
KSSV el 27 de Oct. de 2017
It should have got plotted w.r.t to indices....you need to change the x-axis ticks to the years you want. Read about datetick, datenum.
  1 comentario
LM
LM el 27 de Oct. de 2017
Editada: LM el 27 de Oct. de 2017
I have tried both date tick and datenum but both have not given me dates, why not?
%plot cumulative return of four trading stratergies
plot(cum_ret_oos)
startDate = datenum('01-01-2013');
endDate = datenum('30-06-2015');
xData = linspace(startDate,endDate,30);
% Create xlabel
xlabel('Years out sample')
% Create ylabel
ylabel('Cumulative Returns (logs)')
% Create title
title('Cumulative Returns of 4 Trading Stratergies')
% set the x-axis scale to log
set(gca,'Yscale','log')
or using date tick in the second screen shot

Iniciar sesión para comentar.

Más respuestas (1)

Steven Lord
Steven Lord el 27 de Oct. de 2017
Here's a small example you can use as a model for your own code.
% Read in some sample data.
% This contains two variables: cdate (year numbers) and pop (population)
load census
% Turn the year numbers into a datetime array
x = datetime(cdate, 1, 1);
% Plot it. Note that the X axis contains year numbers
h = plot(x, pop);
% If you want finer-grained control of the formatting on the axes
% and you're using release R2016a or later, get the axes ruler
ax = ancestor(h, 'axes');
xrule = ax.XAxis;
% The xrule ruler has a number of properties. Let's customize the format.
%
% After running the line below the axes should show the ticks as
% Jan1xxx (1840, 1880, 1920, etc.) because the x vector I created
% contains January 1st for years that are multiples of 10
xrule.TickLabelFormat = 'MMMyyyy';

Categorías

Más información sobre 2-D and 3-D Plots en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by