Ошибка при попытке создать диаграммы Венна в R с использованием пакета VennDiagram

Я загрузил и могу успешно загрузить пакет VennDiagram в R. В настоящее время я просто пытаюсь создать несколько примеров диаграмм с использованием этого пакета с примерным кодом, предоставленным авторами этого пакета. Однако для любого примера кода, который я пытаюсь использовать, графика не создается, и единственный вывод на экран:

[1] 1

Я нашел следующую информативную ветку: Проблемы с VennDiagram?

... но первый предлагаемый шаг устранения неполадок, чтобы подтвердить, что мы можем рисовать график на экране, назначив вызов venn.diagram() временной переменной, а затем вызвав grid.draw(temp) [полный код показан ниже], результаты в сообщении об ошибке

Error in UseMethod("grid.draw") : 
  no applicable method for 'grid.draw' applied to an object of class "c('double', 'numeric')"

Мой тестовый код:

library(VennDiagram);
library(grid);

temp <- venn.diagram(
    x = list(
        A = 1:100,
        B = 1:10
        ),
    filename = "2-2_special_case_pairwise-inclusion.tiff",
    cex = 2.5,
    cat.cex = 2.5,
    cat.pos = 0
    );

grid.draw(temp)

Другие потоки, которые обращаются к этому сообщению об ошибке, предполагают, что аргументы для grid.draw() должны быть изменены, но я не уверен, почему приведенный выше пример был бы предложен и принят, если бы он не работал, и документация grid.draw (https://www.rdocumentation.org/packages/grid/versions/3.4.1/topics/grid.draw) не предполагает, что требуется модификация.

Вышеупомянутые проблемы относятся ко всем примерам, предоставленным авторами этого пакета, так что это не проблема с одним конкретным вызовом venn.diagram().

Заранее спасибо за любой совет, который у вас может быть.


person Bob Loblaw    schedule 02.09.2017    source источник


Ответы (1)


temp в вашем примере является числовым, потому что вы просто создаете файл в своей файловой системе и возвращаете 1, чтобы вы знали, что это сработало.

Вместо того, чтобы давать grid.draw цифру 1, давайте дадим ему что-нибудь нарисовать :)

temp <- venn.diagram(
  x = list(
    A = 1:100,
    B = 1:10
  ),
  filename =NULL,
  cex = 2.5,
  cat.cex = 2.5,
  cat.pos = 0
);


grid.draw(temp)

введите здесь описание изображения

person Hack-R    schedule 02.09.2017