此代码
1 function makegraph(A,B)
2 results=load(A);
3 time = results(:,3) - 1238370000;
4 firstTimeIndex = find(time >= (max(time) - 86400*7), 1);
5 results = results(max(1,firstTimeIndex-1):end, :);%Results now only containe s data from the last week
6 temp = results(:,3)-1238370000;
7 h=plot(temp,smooth(results(:,1)),':b','linewidth',2)
8 ylim([0 80])
9 xlim([max(temp)-(86400*7),max(temp)-1])
10 set(gca,'color','black')
11 set(gcf,'color','black') %get's rid of he axis alltogether
12 hold on
13 plot(temp, smooth(results(:,4)), 'r', 'linewidth', 2);
14 plot(temp, smooth(results(:,5)), 'g', 'linewidth', 2);
15 plot(temp, smooth(results(:,6)), 'm', 'linewidth', 2);
16 xlim([max(temp)-(86400*7),max(temp)-1])
17 set(gca,'XTick',[1:86400:(max(temp))+1])
18 set(gca,'XTickLabel',['Mon';'Tue';'Wed';'Thu';'Fri';'Sat';'Sun'])
19 print('-djpeg',B)
20 hold off
将此图表保存在文件名“B”...
中它工作正常,但我想把它放在一个不同的环境中,我需要它有一个黑色的背景...
我尝试过设置
set(gca,'color',[1 1 0])
set(gcf,'color',[1 1 0])
由Setting the background color of a plot in MATLAB using the command line?
描述我试过
whitebg(1,'k')
......我无处可去 - 因为有时当我尝试和一些
玩耍时集(GCA, '颜色', '黑色') 设置(gcf,'color','black')设置,我的一些情节消失了。
我很困惑..有人可以告诉我为什么Setting the background color of a plot in MATLAB using the command line?上接受的答案在这里不起作用......?
答案 0 :(得分:2)
事实证明这些命令在MATLAB中工作,他们只是没有处理打印文件,因为http://www.mathworks.co.uk/help/matlab/ref/print.html ....
默认情况下,MATLAB会更改打印的图形背景颜色 输出为白色,但不会改变uicontrols的颜色。如果你 已设置背景颜色,例如,匹配灰色 在GUI设备中,必须将InvertHardcopy设置为off以保留颜色 方案。要在当前图上设置InvertHardcopy,请使用以下命令: 集(GCF, 'InvertHardcopy', 'off')中
所以一旦我设置了set(gcf,'InvertHardcopy','off'),一切都很好......特别感谢Molly,他让我走上了正确的轨道......