如何防止MATLAB GUI中的LATEX标签变得模糊?

问题描述:

在我目前的MATLAB GUI项目中,我有两个轴对象。第一个是变通解决方案"uibutton"(我不使用GUIDE)使用,以显示LaTeX公式(据我所知,只有轴标签能够使用LaTeX,而普通的静态文本字段不是......) )。其他轴对象用于实际绘制3D功能。如何防止MATLAB GUI中的LATEX标签变得模糊?

该程序具有以下步骤:

  1. 所述第一轴线。外币胶乳配方(例如F(X)=)。
  2. 用户在LaTeX公式之后(例如f(x)= a + b)在编辑字段中输入函数。
  3. 用户按下“绘图”按钮。
  4. 3D函数绘制在第二个轴对象中。

问题:

一旦3D-函数被绘制时,很好地呈现的胶乳表现公式变为脆。有什么办法可以防止这种情况发生?

Problem Demonstration

http://i42.tinypic.com/348pq2u.png(参见问题显示画面)

+0

dieterw,有趣的问题给力了!我所能提供的是,如果你愿意,你可以直接上传你的照片。 – macduff 2012-02-28 20:44:58

+0

嘿macduff,感谢您的快速回复。是的,我也想过,但问题是,如果用户调整窗口大小,图片就会变成像素。如果这些LaTeX字体在调整大小时被重新渲染,这是不会发生的。 – dieterw 2012-02-28 20:54:32

+0

哇!真棒推理!我想你会走得太远! – macduff 2012-02-28 20:59:41

之前,请检查你的身材性能和后绘制的3D图

get(gcf, 'renderer') 

我的猜测是,绘制3D功能改变渲染器从默认(“画家”)到另一个(可能是OpenGL)。 Matlab的Latex渲染在zbuffer或OpenGL中看起来不太合适(这些产生位图而不是线条艺术)。

你可能被卡住,如果画家无法正确渲染3D图形,但你可以尝试通过设置渲染器手动回画家

set(gcf, 'renderer', 'painters') 
+0

感谢您的回答。我尝试过,实际上,通过强制绘制渲染器,LaTeX字体保持平滑,但正如您已经猜到的那样,3D图形无法正确渲染。 由于一个是不能为一个轴/数字设定不同的渲染器,我的思想是定义一个窗口内的两个不同的图(一个与胶乳的标签和一个与所述3D图)和各图中设置不同的渲染器。我必须尝试,但也许明天。 或者甚至可能吗? – dieterw 2012-02-29 22:31:22

+1

@dieterw我发现如果你需要MATLAB的出版物质量数据,并且你将线条艺术和补丁结合在一起,你通常必须分别创建每个组件,然后将它们结合到图形程序中,例如Adobe Illustrator。在这里,你也可以直接在Illustrator中添加文本。 – Marc 2012-03-01 15:33:08

+0

非常丰富。我想线条艺术等于二维地块和补丁等于三维地块?事情是,我编写的这个程序用于一些微观经济功能的现场演示,我的教授应该能够改变一方的参数(因此LaTeX标签)并在另一方查看3D图。 如果我要在文档中发布这两个文件,你的方式将是我猜的最好的。 – dieterw 2012-03-01 18:18:05