
How do I set YAxis of Axes from a numeric ruler to a datetime ruler?
조회 수: 6 (최근 30일)
이전 댓글 표시
I would like to dynamically set the Yaxis to a datetime ruler.
Example Code:
figure;
aa=axes;
set(aa,'YAxis', matlab.graphics.axis.decorator.DatetimeRuler);
I get the following error:
Error
Error using matlab.graphics.axis.Axes/set
You cannot set the read-only property 'YAxis' of Axes.
I was able to set the xaxis to a datetime ruler but, the yaxis is set as read-only for some reason.
댓글 수: 3
dpb
2019년 1월 7일
I'm guessing this is a non-supported feature that TMW expects that if you want a datetimeruler axis that you'll create the axis with such. Doc for the axes object implies such.
Seems like there could be a time and place to be able to do this programmatically, I'd agree...submit enhancement request.
nanren888
2019년 1월 7일
Will datetick() do?
I know, just another numeric ruler, but it does some things.
채택된 답변
Cris LaPierre
2019년 1월 7일
This can be handled automatically if your Y variable is a datetime.
td = datetime(datestr(now + [0:10]'),'Format','MMM-dd');
x = 0:10;
plot(x,td)

댓글 수: 6
Eric Delgado
2021년 2월 11일
Unfortunately it is not possible to change the ruler of an axes. It is a read only property. The simplest and natural solution is just put a new data under the old data.
fig = figure;
ax = axes(fig);
data1 = line(ax, 1:10, linspace(datetime([2020 12 01]), datetime([2020 12 10]), 10))
ax.YAxis
% You have a datetime ruler axes.
cla
data1 = line(ax, 1:10, 1:10)
ax.YAxis
% And now you have a numerical ruler axes.
Adam Danz
2021년 2월 11일
> Unfortunately it is not possible to change the ruler of an axes
Yes it is, in at least some contexts. Cris and I both share methods directly above.
To clarify your solution, cla() is the only reason it works. When you clear the axis, it's a blank slate and the axes will respond to the data classes again. If you remove cla from your answer, it no longer works. But it's a good point. Clearing the axis is a solution. But it doesn't really convert the axes. It just resets them.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Axes Appearance에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!