# changing the axis of a plot in a way that the data series starts at x=0 at a point at one point on the y-axis and ends on the right end of the plot

3 views (last 30 days)

Show older comments

hi,

I have this code:

dates=datenum(VIXdate)

y=VIX

plot(dates,y)

%datevc divides the date in different columns, first colum is the year,

%second the month and thrid the day

d=datevec(dates)

%Takes just the year (first column)

d=d(:,1)

%takes every year just once

[a,idx]=unique(d(:,1),'first')

ylabel('VIX');

set(gca,'xtick',dates(idx),'xticklabel',a)

set(gca,'Box','off')

this works fine, but the problem I faces is that the time series (y=VIX) does not start at the left end of the plot but instead there is a space between the y-axis and the first point of the time series. I know that when there are normal values on the x-axis, I can change it, but I am not able to do it with dates, what do I need to do?

### Accepted Answer

Jonathan Epperl
on 2 May 2013

This is still not a working example, the variable VIXdate is obviously unknown to us...

So the dirty way again:

ytix = get(gca,'YTick');

set(gca,'YTick',ytix(2:end));

##### 3 Comments

Jonathan Epperl
on 2 May 2013

### More Answers (2)

Mel
on 1 May 2013

You could also set just the x axis to be the same as your data:

xlim([0 max(dates)])

##### 0 Comments

Jonathan Epperl
on 29 Apr 2013

axis tight

##### 3 Comments

Jonathan Epperl
on 1 May 2013

Sure. Without knowing what your actual data looks like (it would still be nice if you could post a working minimal example), you could do that:

ylims = get(gca,'YLim');

axis tight

set(gca,'YLim',ylims);

Dirty, but should work.

### See Also

### Categories

### Community Treasure Hunt

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

Start Hunting!