【发布时间】:2014-09-24 14:38:22
【问题描述】:
对于一个情节,就像所附的一样,有没有办法引入双类别轴?还可以看到一个(画得很差的)示例。
理想情况下,报告应该是自动生成的,因此设置静态日期名称并不理想..
编辑:我还应该提到,每天重新开始工作时间会很棒,0-24,0-24,0-24 等
【问题讨论】:
标签: matlab matlab-figure axis-labels
对于一个情节,就像所附的一样,有没有办法引入双类别轴?还可以看到一个(画得很差的)示例。
理想情况下,报告应该是自动生成的,因此设置静态日期名称并不理想..
编辑:我还应该提到,每天重新开始工作时间会很棒,0-24,0-24,0-24 等
【问题讨论】:
标签: matlab matlab-figure axis-labels
不确定日期,但我有一个关于小时数的建议。想象一下:
hours = 0:70;
data=rand(size(hours));
plot(hours,data,'*')
xlabel('Hours of day')
这给出了以下情节:
现在您需要编辑 x 轴使用的标签。这是一种方法(不一定是最优雅的,因为您正在处理元胞数组并且必须在字符串和数字数据类型之间来回转换,但它似乎工作,至少在 Octave 中):
temp = get(gca,'xticklabel');
for k=1:length(temp)
temp{k} = num2str(mod(str2num(temp{k}),24));
end
set(gca,'xticklabel',temp)
这给出了以下图表:
祝你好运,添加下面的日子! (或许可以巧妙地使用text 命令)
【讨论】:
这是一种使用文本注释的非常自定义的方式。您可能需要添加一些小的更改以适应您的数据。
clc
clear
x = 1:80;
HourValues = repmat([0 10 20],1,3);
DaysString = {'Mon' 'Tue' 'Wed'};
NumDays = numel(DaysString);
plot(x,rand(1,80))
set(gca,'XTickLabel',HourValues) % Set xtick labels
xlimit = get(gca,'XLim'); % Get x and y- limits
ylimit = get(gca,'YLim');
% May need some adaptation to fit your data
for k = 1:NumDays
text((NumDays*k-2)*10,ylimit(1)-.06,DaysString{k},'FontSize',14,'HorizontalAlignment','Center')
end
text(xlimit(2)/2,ylimit(1)-0.1,'Hour of day','FontSize',16,'HorizontalAlignment','Center')
给这样的东西:
【讨论】: