멀티 모니터 Linux 시스템 (Red Hat Enterprise Linux 6.4)에서 MATLAB R2011a를 사용하고 있습니다. 이에 대한 대답은 사용중인 운영 체제 또는 그래픽 하위 시스템에 따라 다를 수 있습니다.그림을 MATLAB의 여러 모니터로 확장하려면 어떻게합니까?
다중 모니터 시스템에서 다음 코드를 실행
mons = get(0,'MonitorPositions') ;
first_monitor_width = mons(1,3) ; % width of first monitor in pixels
fig = figure ; % create a new figure window
x_pos = 0 ;
y_pos = 100 ;
x_dim = first_monitor_width + 300 ; % Set fig to be 300 pxwider than left monitor
y_dim = 500 ;
set(fig,'OuterPosition',[x_pos y_pos x_dim y_dim]) ; % Or use 'Position'; same.
우리는 왼쪽 모니터의 왼쪽에 자사의 왼쪽 모서리를 가지고 그림을 물었다과의 폭과 동일한 폭을 갖도록를 왼쪽 모니터와 300 픽셀. 따라서 그림은 두 모니터에 걸쳐 있어야합니다.
대신 MATLAB은 왼쪽 모니터의 너비와 동일한 너비의 그림을 만듭니다 (내 컴퓨터에서는 1920 픽셀 임). 이제
, 트위스트 (마우스로)
수동으로 그림의 폭이 하나 개의 모니터의 폭보다 크도록 그것은 즉, (두 모니터에 걸쳐 수 있도록, 그림의 오른쪽 하단 모서리를 드래그). 이제 다음 코드 줄을 다시 실행하십시오.
set(fig,'OuterPosition',[x_pos y_pos x_dim y_dim]) ;
이제 작동합니다! 다시 말해, 모니터간에 장벽을 깨뜨린 후에 MATLAB은 전체 연속 디스플레이 공간을 단일 캔버스로 처리합니다.
마우스를 사용하여 한 모니터에서 다시 전체적으로 보이도록 창 크기를 조정 한 다음 set(fig,'OuterPosition', ...)
호출을 다시 실행하면 그림의 크기를 조절할 수있는 원래의 동작으로 돌아갑니다 그 단일 창 내에서.
제 질문은 그림을 여러 대의 모니터에 걸쳐 전체 스크립팅에 적용하려면 어떻게해야합니까? 마찬가지로 SpansMonitors = true
또는 false
과 같은 숫자의 속성이 있는데 set()
호출을 사용하여 설정할 수 있습니까? http://www.mathworks.com/help/matlab/creating_plots/positioning-figures.html에서
음, 처음 코드 블록이 제대로 작동합니다. 나는 아직도 R2012a를 사용하고있다. 어떤 버전을 사용하고 있습니까? – gnovice
그놈 2.28.2와 함께 Red Hat Enterprise Linux 6.4에서 R2011a를 사용하고 있습니다. 너는 어때? 아마도 R2012a에서 수정 된 것이거나 다른 운영 체제에서 동작이 다를 수 있습니다 (더 있음). –
저는 Windows 7을 사용하고 있습니다. – gnovice