使用日期时间变量刷新轴以获得正确的刻度距离

时间:2016-04-21 08:34:34

标签: matlab datetime

我从同事那里打开一个.fig文件,然后想要添加一些我自己的数据。不幸的是,原始数字在我的屏幕上太大了,所以我使用

set(f2, 'Position', [100, 100, 800, 600]);

保持小。 这会挤压x轴,但由于某种原因,刻度的数量不会减少,导致刻度过高的刻痕。只要我选择“平移”工具并稍微移动图表,刻度线就会更新为常规自动距离。

我可以使用哪些代码自动执行此操作?我知道我可以手动调整刻度线,但这必须适用于不同长度的多个数据集。间隔。

其他相关代码:(日期属于DateTime格式)

f2=open('originaldata.fig')
h2=plot(date,newdata,'LineWidth',3);
xlim(datenum([date(1)-minutes(8) date(end)+minutes(8)]))
set(f2, 'Position', [100, 100, 800, 600])

1 个答案:

答案 0 :(得分:0)

答案简直令人尴尬。 一个有效的“技巧”是在重新调整图形之后添加标题。添加标题会使图形变小,因此重新绘制。

然而,最简单的方法是在调整大小后定义xlim。所以,而不是:

f2=open('originaldata.fig')
h2=plot(date,newdata,'LineWidth',3);
xlim(datenum([date(1)-minutes(8) date(end)+minutes(8)]))
set(f2, 'Position', [100, 100, 800, 600])

你这样做:

f2=open('originaldata.fig')
h2=plot(date,newdata,'LineWidth',3);
set(f2, 'Position', [100, 100, 800, 600])
xlim(datenum([date(1)-minutes(8) date(end)+minutes(8)]))

这样,你基本上“平移”(这只不过是改变轴的跨度),问题就解决了。

丹(在评论中),感谢你的推动!