Dear Kimmo First of all many thanks for the valuable advice to publish code and csv. Noted. Yes, "edge.width= E(.)$weight" makes definitively sense.
In the following code, which loads the tiff file, I get the following error tiff("figures/AES_network_bymembership.tiff", width=1000, height=700, res=120) Warning message: In doTryCatch(return(expr), name, parentenv, handler) : Character set family not found in the Windows character set database --> I am unsure if mySQL is the right solution. I have no experience how to change mySQL. Kind regards Sibylle tiff("figures/AES_network_bymembership.tiff", width=1000, height=700, res=120) network %>% ggraph(., layout = "auto")+ geom_edge_arc(curvature=0.3, aes(width=(E(network)$weight/10), color=from, alpha=0.5)) + geom_node_point(aes(size = V(network)$hub_score*200, color= as.factor(V(network)$community))) + geom_node_text(aes(label = V(network)$name), size=5, color="white", repel=T)+ scale_color_scico_d(palette = "batlow")+ scale_edge_width(range = c(0.2,4))+ scale_size(range = c(0.5,20)) + #scale_edge_color_manual(values = c(scico(21, palette="batlow")))+ theme(plot.background = element_rect(fill = "black"), legend.position = "right", panel.background = element_rect(fill = "black")) dev.off() -----Original Message----- From: R-help <r-help-boun...@r-project.org> On Behalf Of Kimmo Elo Sent: Monday, February 26, 2024 8:10 AM To: r-help@r-project.org Subject: Re: [R] igraph_vertex Hi, a quick additional note: try "edge.width= E(.)$weight" instead of the current "edge.width= network". Seems to work and makes a visible difference... HTH, Kimmo su, 2024-02-25 kello 19:11 +0000, Kimmo Elo kirjoitti: > > Hi again, > > your code is still not reproducible without modifications, but I > succeed in getting the data straight. All read.csv-command are missing > 'sep="\t"', it is need to read you tsv-data. > > And it could be more reproducible if you used e.g. > > --- snip --- > aes<-read.csv(text=" A.A B.B C.C D.D E.E F.F > A.A 0 0 5 5 5 5 B.B 4 0 > 1 1 1 1 C.C 5 5 0 5 4 > 2 D.D 5 0 5 0 5 3 E.E 5 1 > 5 5 0 4 F.F 1 2 3 4 5 > 5", sep="\t", row.names = 1) > --- snip --- > > This would save us from unnecessary copy-pasting :-) > > However, the error is still the same I mentioned in my first reply, > i.e.: > > network %>% plot( > vertex.color=clrs[V(.)$community], > vertex.size=V(.)$hub_score*5, > vertex.frame.color=V(.)$color, > vertex.label.color="white", > vertex.label.cex=0.5, > vertex.label.family="Helvetica", > vertex.label.font=1, > edge.curved=0.5, > HERE --> edge.width= network, <-- HERE > layout=layout_with_mds(.)) > > Try to comment out his line and see what happens. What network data > variable should be mapped to edge width? > > Best, > Kimmo > > su, 2024-02-25 kello 09:59 +0100, sibylle.stoec...@gmx.ch kirjoitti: > > Dear coummunity > > > > Thanks a lot to David and Kimmo. Yes I see now that I need to > > provide the two raw tables. Find here the reproducible example. > > > > Kind regards > > Sibylle > > > > # R-labraries > > library(circlize) > > library(ggplot2) > > library(igraph) > > library(tidyverse) > > library(RColorBrewer) > > library(stringi) > > library(scico) > > library(plotly) > > library(ggraph) > > > > > > # Tables > > aes<-read.csv("Test_adjac.csv", row.names = 1) > > details<-read.csv("Test_cat.csv") > > > > # Edge table, reorganisation > > aes_collapsed<-aes %>% > > rownames_to_column(var='Names') %>% > > tidyr::gather(target, weight, 1:ncol(aes)+1) %>% > > dplyr::filter(weight != 0) %>% > > mutate(weight = ifelse(weight == "-1", 0, weight)) # here 0 = > > negative values > > > > write.csv(aes_collapsed, "edges_table_Test.csv", row.names = F) > > edge_list<-read.csv("edges_table_Test.csv") > > > > # Network attributes > > network <- graph_from_data_frame(aes_collapsed, directed= FALSE, > > vertices = details) > > > > > > temp<-cluster_optimal(network) > > temp<-cbind(membership=temp$membership, Names=temp$name) > > aes_collapsed <- aes_collapsed %>% > > merge(temp, by="Names") > > > > > > network <- network %>% > > set_edge_attr(name = "type", value = factor(aes_collapsed$Names, > > ordered = > > is.ordered(V(network)$name))) %>% > > set_edge_attr(name = "membership", value = > > aes_collapsed$membership) %>% > > set_edge_attr(name = "color", > > value = c(viridis::viridis(5)) > > [match(E(.)$type, c(factor(V(.)$name)))]) %>% > > set_vertex_attr(name = "trans_v_net", value = c(transitivity(., > > type = "local"))) %>% > > set_vertex_attr(name = "hub_score", value = > > c(hub_score(.)$vector)) > > %>% > > set_vertex_attr(name = "color", > > value = c(viridis::viridis((5))) > > [match(V(.)$name, c(factor(V(.)$name)))]) %>% > > set_vertex_attr(name= "community", > > value=cluster_optimal(.)$membership) > > > > clrs<-scico(3, palette = "batlow") > > > > par(bg="black") > > network %>% plot( > > vertex.color=clrs[V(.)$community], > > vertex.size=V(.)$hub_score*5, > > vertex.frame.color=V(.)$color, > > vertex.label.color="white", > > vertex.label.cex=0.5, > > vertex.label.family="Helvetica", > > vertex.label.font=1, > > edge.curved=0.5, > > edge.width= network, > > layout=layout_with_mds(.)) > > > > #error > > Error in intI(i, n = x@Dim[1], dn[[1]], give.dn = FALSE) : > > Index größer als maximales 6 > > > > # Test_adjac.csv > > A.A B.B C.C D.D E.E F.F A.A 0 > > 0 5 5 5 5 B.B 4 0 1 1 > > 1 1 C.C 5 5 0 5 4 2 D.D > > 5 0 5 0 5 3 E.E 5 1 5 > > 5 0 4 F.F 1 2 3 4 5 5 > > > > # Test_cat.csv > > Names corresponding- > > NCP Category Subcategory_type sources.cyto s > > ou rce Factor A.A 7 hydrologic attribute "A" > > A 1 B.B 6, 11 hydrologic attribute "B" B > > 1 C.C 1, 14, 15, 16, 17, > > 18 AES intrinsic "C" C 0 D.D 1, 14, 15, > > 16, 17, > > 18 AES intrinsic "D" D 0 E.E 1, 14, 15, > > 16, 17, > > 18 AES intrinsic "E" E 0 F.F 7 AES > > material "F" F 0 > > > > > > # edges_tables_Test.csv > > Names target weight > > B.B A.A 4 > > C.C A.A 5 > > D.D A.A 5 > > E.E A.A 5 > > F.F A.A 1 > > C.C B.B 5 > > E.E B.B 1 > > F.F B.B 2 > > A.A C.C 5 > > B.B C.C 1 > > D.D C.C 5 > > E.E C.C 5 > > F.F C.C 3 > > A.A D.D 5 > > B.B D.D 1 > > C.C D.D 5 > > E.E D.D 5 > > F.F D.D 4 > > A.A E.E 5 > > B.B E.E 1 > > C.C E.E 4 > > D.D E.E 5 > > F.F E.E 5 > > A.A F.F 5 > > B.B F.F 1 > > C.C F.F 2 > > D.D F.F 3 > > E.E F.F 4 > > F.F F.F 5 > > > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.