Что такое нулевое графическое устройство?

Я читаю R справочную страницу для ?devAskNewPage (на нее ссылается ?par...ask). Я не могу понять, что делает par(ask=F) / par(ask=T).

О чем мне нужно прочитать, чтобы понять это:

 If the current device is the null device, this will open a
 graphics device.

 ...

 The precise circumstances when the user will be asked to confirm a
 new page depend on the graphics subsystem.  Obviously this needs
 to be an interactive session.  In addition ‘recording’ needs to be
 in operation, so only when the display list is enabled (see
 ‘dev.control’) which it usually is only on a screen device.

Что такое устройства, что такое нулевое устройство и что такое графическая подсистема? Что такое «запись»? Мы говорим о разнице между записью в png файл и записью на экран?

Это похоже на изучение того, что такое стандартный вывод и стандартный ввод. Все используют слова, но было трудно найти определение (его также было трудно понять). Я погуглил «нулевое графическое устройство», и лучшие результаты не объясняют мне, как новичку, что мне нужно знать, чтобы знать, где искать.

Достаточно нескольких ссылок на надлежащее вводное чтение. Спасибо.


person isomorphismes    schedule 30.11.2011    source источник
comment
@joran Спасибо, но я не могу позволить себе книгу.   -  person isomorphismes    schedule 30.11.2011


Ответы (1)


В R device — это механизм создания графических графиков. Это может быть экран (например, windows) или различные типы файлов (например, png, pdf, tiff и т. д.).

Точку входа в файл справки на устройствах см. в разделе ?Devices. Устройства по умолчанию для трех основных операционных систем:

  • MS Windows: windows
  • Юникс: X11
  • OS X: quartz

Нулевое устройство означает, что ни одно из устройств не активно. Вот короткая последовательность кода, которую я использовал, чтобы узнать, есть ли у меня открытое устройство (dev.cur) и закрыть его (dev.off). Когда я закрыл его, оставшееся устройство было нулевым.

> dev.cur()
windows 
      2 

> dev.off(2)
null device 
          1 

> dev.cur()
null device 
          1 

Значение графической подсистемы немного более неясно. Кажется, это единственная страница во всей справке, на которой используется этот термин. Таким образом, я предполагаю, что следующие графические подсистемы:

  • базовая графика
  • grid графика (и все, что построено поверх нее, включая lattice и ggplot2)
  • rgl в упаковке rgl
person Andrie    schedule 30.11.2011
comment
Графическая подсистема, по-видимому, связана с типом устройства, а не с различными графическими пакетами, которые позволяют пользователю рисовать на устройстве. ?dev.control различает экранные устройства и другие устройства, и примечание относительно интерактивной и пакетной операций, возможно, также говорит о предполагаемом значении. - person Gavin Simpson; 30.11.2011