将 matlab 时间序列图保存为 png 时出现问题。内部 matlab 窗口显示的 xticks 数量是保存图像的一半。这会导致保存的绘图中出现重叠的刻度标签。
这是一个示例最小代码:
data = (1:12);
time(1,:) = '10-Sep-2012 13:42:10';
time(2,:) = '10-Sep-2012 13:43:10';
time(3,:) = '10-Sep-2012 13:44:10';
time(4,:) = '10-Sep-2012 13:45:10';
time(5,:) = '10-Sep-2012 13:46:10';
time(6,:) = '10-Sep-2012 13:47:10';
time(7,:) = '10-Sep-2012 13:48:10';
time(8,:) = '10-Sep-2012 13:49:10';
time(9,:) = '10-Sep-2012 13:50:10';
time(10,:) = '10-Sep-2012 13:51:10';
time(11,:) = '10-Sep-2012 13:52:10';
time(12,:) = '10-Sep-2012 13:53:10';
ts = timeseries(data,time);
ts.TimeInfo.Format = 'dd, HH:MM:SS';
figure(1)
plot(ts);
%saveas(gca, 'tickmovetest', 'png')
print(gcf, '-dpng', 'tickmovetest')
我使用 plot 或 saveas 命令都没有关系。data 只是随机数, time 是一个等长的向量,包含像 '10-Sep-2012 13:42:10' 这样的字符串。
有没有人遇到过这个问题并找到了答案?如果 matlab 在保存绘图之前只保留它的刻度数,那就太好了。