2012-02-28 3 views
8

내 현재 MATLAB GUI 프로젝트 내에서 두 축 개체가 있습니다. 첫 번째는 LaTeX 공식을 표시하기 위해 해결 방법 "uibutton" (GUIDE를 사용하지 않음)에서 사용됩니다 (알고있는 한, 축 레이블은 LaTeX을 사용할 수 있지만 일반 정적 텍스트 필드는 그렇지 않습니다 ...).). 다른 축 객체는 실제로 3D 함수를 그리는 데 사용됩니다.MATLAB GUI에서 LATEX- 라벨이 흐리게 보이지 않게하는 방법은 무엇입니까?

프로그램은 다음 단계

  1. 제 축은 라텍스 화학식지지합니다 (예를 F (X) =).
  2. 사용자가 LaTeX- 수식 뒤에 편집 필드에 함수를 입력합니다 (예 : f (x) = a + b).
  3. 사용자가 "플롯"버튼을 누릅니다.
  4. 두 번째 축 개체에 3D 함수가 그려져 있습니다.

는 문제점 :

자마자 차원 함수가 플롯 같이 근사 렌더링 라텍스 포뮬러 선명해진다. 어떤 일이 일어나지 않도록 방지 할 방법이 있습니까?

Problem Demonstration

http://i42.tinypic.com/348pq2u.png

+0

dieterw, 흥미로운 질문에 대한 렌더러를 설정하여 강제로 시도 할 수 있습니다! 내가 원할 경우 사진을 직접 업로드 할 수 있다는 것입니다. – macduff

+0

안녕하세요 macduff, 빠른 응답에 감사드립니다. 그래, 나도 그렇게 생각했는데, 문제는 사용자가 창 크기를 조정하면 그림이 픽셀 화되게된다는 것이다. 이러한 LaTeX 글꼴이 크기 조정시 다시 렌더링되는 경우에는 이런 일이 발생하지 않습니다. – dieterw

+0

와우! 굉장한 추론! 나는 네가 지금까지 할 것 같아! – macduff

답변

2

이 전에 그림의 속성을 확인하고

get(gcf, 'renderer') 

내 생각은 3D 기능을하려하는 것은 변화하고있는 3D 플롯을 그릴 후 (문제 데모에 대한 그림을 참조하십시오) 렌더러를 기본값 ("화가")에서 다른 (가능성있는 OpenGL)으로 변경합니다. Matlab의 Latex 렌더링은 zbuffer 또는 OpenGL (라인 아트가 아닌 비트 맵 생성)에서 잘 작동하지 않는 것 같습니다. 화가 제대로 3D 그래픽을 렌더링 할 수없는 경우

당신은 붙어있을 수 있지만, 당신은 수동으로 다시 화가

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

답해 주셔서 감사합니다. 실제로 시도해 보았습니다. 화가 렌더러를 강요하여 LaTeX 글꼴을 매끄럽게 유지했지만 이미 추측했듯이 3D 그림은 제대로 렌더링 될 수 없습니다. 하나의 축/그림에 대해 다른 렌더러를 설정할 수 없으므로 하나의 창에서 서로 다른 두 개의 그림 (LaTeX 레이블과 3D 그림이있는 그림)을 정의하고 각 그림마다 다른 렌더러를 설정하는 것이 좋습니다. 나는 그것을 시도해야한다. 그러나 아마 내일. 아니면 가능한가? – dieterw

+1

@dieterw MATLAB의 출판 품질 수치가 필요하고 라인 아트와 패치를 결합하려는 경우 일반적으로 각 구성 요소를 개별적으로 작성한 다음 Adobe Illustrator와 같은 그래픽 프로그램에서 결합해야합니다. 여기에서 나중에 Illustrator에서 직접 텍스트를 추가 할 수도 있습니다. – Marc

+0

매우 유익합니다. 나는 라인 아트가 2D 플롯과 같고 패치가 3D 플롯과 같다고 생각하십니까? 것은 내가 작성한이 프로그램은 교수가 한 쪽 (따라서 LaTeX- 레이블)의 매개 변수를 변경하고 다른 쪽의 3D 플롯을 볼 수 있어야하는 일부 미시 경제 기능의 실시간 데모에 사용된다는 것입니다. 두 가지를 모두 하나의 문서에 게시하는 것이 가장 좋은 방법 일 것입니다. – dieterw

관련 문제