【问题标题】:Labels on figures fail to display in a deployed Matlab application图上的标签无法在已部署的 Matlab 应用程序中显示
【发布时间】:2012-09-11 16:26:49
【问题描述】:

我有一个使用 Builder JA 部署的 Matlab 应用程序。我将它合并到一个更大的基于 Java 的 Web 应用程序中。它建立在一台 Windows 机器上,上面有实际的 matlab,当我在那里测试时工作正常。我已将应用程序部署到 Linux 服务器上,该服务器上只有 MCR。现在发生的事情是我可以通过网页运行应用程序,但生成的图形只显示图形而不显示文本(标题、轴标签等)。当我使用 WebFigure(gcf) 和使用 figtoImStream(gcf, jpg) 时都会发生这种情况,所以我认为这不是任何一种格式的问题。问题似乎出在 hardcopy.p 函数中,因为服务器日志显示错误

{Warning: Failed to draw text string} 
{> In /usr/local/MATLAB/MATLAB_Compiler_Runtime/v717/toolbox/matlab/graphics/hardcopy.p>hardcopy at 28
  In compiler/private/hardcopyOutput at 58
  In figToImStream at 73
  In Gaussian_WBfigures_jpg at 635} 

我看到一些事情表明这是 Matlab 寻找不存在的字体的问题,还有一些表明这是渲染器的问题。有人对此有解决方案吗?

【问题讨论】:

  • 您是否尝试更改图窗的Renderer 属性?
  • 没试过。我认为 MCR 将无法处理另一个渲染器,但让我尝试一下。
  • 刚刚尝试了所有三种可能的渲染器。这三个问题都一样(实际上,openGL 在服务器上不可用,所以它默认为 ZBuffer)
  • 嗯.. 很遗憾听到这个消息。我认为在这种情况下你最好的选择是 Mathworks
  • 你有没有想过这个问题?

标签: matlab figure


【解决方案1】:

尝试使用不同的字体或解释器绘制标签。在使用不同的解释器打印时,matlab 中存在错误报告。例如http://www.mathworks.com/support/bugreports/398506, http://www.mathworks.com/support/bugreports/309380

figure
text(0.5,0.5,'testa','Fontname','Arial')
text(0.5,0.6,'testa','Fontname','Times')
text(0.5,0.7,'testa','Fontname','Times','Interpreter','Tex')
text(0.5,0.8,'testa','Fontname','Times','Interpreter','Latex')

【讨论】:

    猜你喜欢
    • 2014-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-10
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多