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-bounces at r-project.org> On Behalf Of Kimmo Elo
Sent: Monday, February 26, 2024 8:10 AM
To: r-help at 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.stoeckli at 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 at 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 at 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 at 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.