2012-02-28 136 views
8

在我目前的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

回答

2

之前,請檢查你的身材性能和後繪製的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