как добавить ярлык в сеть ggnet2? - PullRequest
0 голосов
/ 06 августа 2020

Привет, я пытаюсь создать сеть с помощью ggnet2, проблема в том, что я не могу добавить желаемый ярлык:

У меня есть: сетевой объект: net_class; объект графа: нетто; символ, содержащий все имена узлов: имена узлов ("Proteobacteria" "Proteobacteria" "Bacteroidetes" "Caldithrix" .....); символ, который содержит информацию о цвете каждого края, в основном красный для отрицательного и зеленый для положительного; символ для цветов каждого элемента: colors1, например: "Proteobacteria" = "blue", "Bacteroidetes" = "# bf360 c" .... и т. д .; и фрейм данных для меток: keystones (думаю, в этом проблема !!!).

Пример кода:

structure(list(TaxID = c("Otu_13723", "Otu_10357", "Otu_13776"
), deg_sort = c(12L, 8L, 8L), bn_sort = c(1249.7494, 417.3192, 
397.7957), Kingdom = c("Bacteria", "Bacteria", "Bacteria"), Phylum = c("Chloroflexi", 
"Proteobacteria", "Chloroflexi"), Class = c("Anaerolineae", "Deltaproteobacteria", 
"Dehalococcoidia")), class = "data.frame", row.names = c("6", 
"1", "7"))

это раздел (он содержит 20 строк и 10 столбцы) ключевых слов кадра данных [1: 3, 1: 6]:

      TaxID deg_sort   bn_sort  Kingdom         Phylum               Class
6 Otu_13723       12 1249.7494 Bacteria    Chloroflexi        Anaerolineae
1 Otu_10357        8  417.3192 Bacteria Proteobacteria Deltaproteobacteria
7 Otu_13776        8  397.7957 Bacteria    Chloroflexi     Dehalococcoidia

ну, когда я выполняю код, он работает хорошо:

ggnet2(net_class, mode = net$layout, 
       color = nodenames, palette = colors1, 
       node.alpha = 0.7, node.size = 5,
       edge.color = edge_colors, 
       label = keystone$TaxID, label.size = 4)

он генерирует сеть график, и каждый узел, который присутствует во фрейме данных трапецеидального искажения, добавляется как метка в узлах (изображение - это всего лишь часть графика!):

enter image description here

Everything is ok, but if I try to use a different label from the keystone data frame something like, Class column:

ggnet2(net_class, mode = net$layout, 
       color = nodenames, palette = colors1, 
       node.alpha = 0.7, node.size = 5,
       edge.color = edge_colors, 
       label = keystone$Class, label.size = 4)

it just make the plot without the labels:

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

Итак, я подумал, что некоторые изменения могут помочь, например:

keystone <- keystone %>% mutate_if(is.character,as.factor)

или

rownames(keystone) <- keystone$TaxID

, а затем попробуйте снова построить график, но это не работает !!!

любое предложение ???

и еще один вопрос, как я могу добавить для каждого узла, присутствующего в данных трапецеидального искажения. фрейм в виде формы вместо label, что-то вроде треугольника для каждого элемента, который представляет метки (пример: Otu_8340, Otu_11451 и другие) и сохраняет тот же цвет, я имею в виду только для узлов трапецеидального искажения используйте треугольник или любую другую форму !!! ???

Большое спасибо !!!

...