Matlab 使用画师和HG2进行渲染,打印后打印出黑色背景

Matlab 使用画师和HG2进行渲染,打印后打印出黑色背景,matlab,matlab-hg2,Matlab,Matlab Hg2,如果我在MATLAB中打印一个图形,绘图的背景将呈现为黑色而不是白色,如下所示: (但在MATLAB的图形窗口中,它是白色的,正如它应该的那样) 这是与用于打印图形的代码类似的代码(但将运行复制粘贴): 但是,如果我添加以下行,它会起作用(当然,在绘图周围的区域会有轻微的灰色背景) 我的MATLAB版本是R2013a(8.1.0.604) 编辑: 设置(gcf,“硬拷贝”、“关闭”)无法解决此问题 edit2: 问题可能是由HG2更新引起的。复制粘贴代码实际上在我的版本(R2013a)上运行良

如果我在MATLAB中打印一个图形,绘图的背景将呈现为黑色而不是白色,如下所示:

(但在MATLAB的图形窗口中,它是白色的,正如它应该的那样)
这是与用于打印图形的代码类似的代码(但将运行复制粘贴):

但是,如果我添加以下行,它会起作用(当然,在绘图周围的区域会有轻微的灰色背景)

我的MATLAB版本是R2013a(8.1.0.604)

编辑:
设置(gcf,“硬拷贝”、“关闭”)无法解决此问题

edit2:

问题可能是由HG2更新引起的。

复制粘贴代码实际上在我的版本(R2013a)上运行良好,但为了确保打印后背景颜色保持原样,请使用以下方法:

set(gcf, 'InvertHardCopy', 'off');
您可以在matlab文档中的“设置背景色”下查看该示例

因此,要为绘图获得不同的背景色,请使用:

set(gcf, 'color', 'blue');
set(gcf, 'InvertHardCopy', 'off');
print(gcf,'test1.pdf','-dpdf')

为了美观,我也在使用HG2更新。我没有选择返回HG1。好吧,我没有任何问题,除了一个:直接打印到.pdf。这也是你想要做的。这个功能仍然是完全搞砸了

解决方案:使用
-dsvg
将绘图保存为矢量图形,在Inkscape中打开文件,然后使用导出区域为绘图复选标记集再次保存为pdf


我实际上希望找到一种方法来编写这个过程,但没有成功。因此,您必须手动执行此操作,或者等待HG2的最终版本。

尝试
反转硬拷贝
(尚未测试)我忘了提到,我已经尝试了
反转硬拷贝
。奇怪的是,它对您有效,所以这可能是OSX问题(您使用的是什么操作系统?)或与我的安装相关的其他问题。奇怪——我使用的是Windows 7。@rob可能尝试MATLAB FEX中的
export_fig
函数,看看是否有效
export\u fig
不起作用,但出现了一个有趣的错误:
使用hg2.Group/get时出错。我发现HG2已启用(尚未得到官方支持)。回到HG1解决了meSounds的问题,就像一个可接受的解决方法。顺便说一下,
export\u fig
旨在支持HG2。不幸的是,在这个人物身上有传奇正在打破它。我在这里发布了一个问题:修复此问题将使解决方案变得不必要。@rob因为我将是该功能的开发人员,所以我会等到HG2的最终版本。在那之前,没有人知道他们会改变什么。自己编写一个类似的函数很容易,但是可以完全控制一切。如前所述,矢量图形导出问题需要解决。如果您能够找到一个脚本程序,将图形保存为HG2的pdf格式,请让我知道:)@rob查看我的!
set(gcf, 'InvertHardCopy', 'off');
set(gcf, 'color', 'blue');
set(gcf, 'InvertHardCopy', 'off');
print(gcf,'test1.pdf','-dpdf')