改变matlab背景颜色

时间:2013-08-07 20:02:24

标签: matlab

此代码

  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”... enter image description here

它工作正常,但我想把它放在一个不同的环境中,我需要它有一个黑色的背景...

我尝试过设置

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?上接受的答案在这里不起作用......?

1 个答案:

答案 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,他让我走上了正确的轨道......