Проблемы с позициями меток, формой и перекрытием цветов на диаграммах Венна - PullRequest
0 голосов
/ 07 января 2019

У меня есть данные ниже:

dc <- c("CACNA1C",  "CACNA1D",  "KCNN4",    "CACNA1F",  "CACNA1D",  "CACNA1C",  "GNRHR",    "CD80",     "CD86",     "ITGA2B"  )
tc <- c("CACNA1C",  "CACNA1D",  "CACNA1C",  "CACNA1D",  "CACNA1F",  "KCNN4",    "APP",      "GNRHR",    "CD86",     "CD80"    )

и я хочу создать диаграмму Венна, используя пакет VennDiagram.

library(VennDiagram)
Vt <- venn.diagram(
  x = list(
    DC_Dataset=dc,
    TC_Dataset=tc
  ),
  #filename = "1B-double_Venn.tiff",
  main = "Targets",
  main.cex = 3,
  filename = NULL,
  lwd = 4,
  fill = c("cornflowerblue", "green"),
  alpha = 0.75,
  label.col = "black",
  cex = 2,
  fontfamily = "sansserif",
  fontface = "bold",
  cat.col = c("black", "black"),
  cat.cex = 1.5,
  cat.fontfamily = "sansserif",
  cat.fontface = "bold",
  cat.dist = c(0.03, 0.03),
  cat.pos = c(-20, 14)
)

grid.newpage()
grid.draw(Vt)

enter image description here

У меня 3 вопроса:

  1. Фигуры являются овалами, а не кругами. Может ли это быть изменено или это фигура по умолчанию?

  2. Было бы неплохо расположить эти метки более центрально внутри тел двух фигур. С помощью cat.pos = c(-20, 14) я могу переместить 2 метки влево или вправо, но не вверх ногами.

  3. Мне не нравится, что уникальная часть набора данных TC, имеющая 1 уникальное значение, имеет тот же цвет, что и область перекрытия. В действительности, в обновленном сценарии, например, если фиолетовый и зеленый цвета выбираются в качестве цветов двух областей, затем третий цвет может использоваться в качестве цвета перекрытия.

Ответ на любой из этих вопросов был бы очень полезен.

1 Ответ

0 голосов
/ 07 января 2019
  1. Все зависит от масштаба вашего окна / выходного изображения. При установке соотношения длины и ширины к 1: 1 получается круг.

  2. cat.pos не о левом и правом:

Вектор, указывающий положение ( в градусах ) названия каждой категории вдоль кружок , с 0 в 12 часов

Также для этого полезно cat.dist:

Вектор, дающий расстояние (в единицах NPC) названия каждой категории от край круга (может быть отрицательным)

  1. Цвета не совпадают. Они действительно похожи, хотя из-за высокого значения alpha и синего цвета "близко" к зеленому Кажется, что невозможно указать третий цвет, но в некотором смысле имеет смысл, что результирующий цвет представляет собой смесь двух других.

Тем не менее, вы могли бы сделать что-то вроде этого:

Vt <- venn.diagram(
  x = list(
    DC_Dataset=dc,
    TC_Dataset=tc
  ),
  main = "Targets",
  main.cex = 3,
  filename = NULL,
  lwd = 4,
  fill = c("red", "blue"), # Modified
  alpha = 0.4, # Modified
  label.col = "black",
  cex = 2,
  fontfamily = "sansserif",
  fontface = "bold",
  cat.col = c("black", "black"),
  cat.cex = 1.5,
  cat.fontfamily = "sansserif",
  cat.fontface = "bold",
  cat.dist = c(-0.1, -0.1), # Modified
  cat.pos = c(-90, 90) # Modified
)
grid.newpage()
grid.draw(Vt)

enter image description here

...