You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jan 24, 2024. It is now read-only.
Dear,
when I use cellchat ,I am wondering how to save multiple plots which produced from following code:
par(mfrow = c(1,2), xpd=TRUE)
netVisual_diffInteraction(cellchat, weight.scale = T)
netVisual_diffInteraction(cellchat, weight.scale = T, measure = "weight")
I have tried following commands but only one figure in the png file.
png("interaction_count_and_strength_circle2.png,width = 6007, height = 6003, res=300)
par(mfrow = c(1,2))
netVisual_circle(cellchat@net$count, vertex.weight = groupSize, weight.scale = T,margin=0, label.edge= F, title.name = "Number of interactions")
netVisual_circle(cellchat@net$weight, vertex.weight = groupSize, weight.scale = T,margin=0, label.edge= F, title.name = "Interaction weights/strength")
dev.off()
can you offer some help?
Thanks!
Wei
The text was updated successfully, but these errors were encountered:
Hello, I have been struggling with such issue all afternoon, but after some research online and on the 'issues' forum of sqjin/CellChat, I have found a simple solution. So I share it here for other people that might have the same problem in the future.
library(extrafont)
List_of_pathways = sort(cellchat@netP$pathways) #or any other list of pathways you are interested in (could be only 2 pathways for example).
#All pathways on the same graph
png(filename = "All_pathways.png", bg = "transparent", width = 2000, height = 1250)
par(mfrow = c(5, 7), xpd = TRUE)
for (i in List_of_pathways) {
netVisual_aggregate(object = cellchat, layout = "circle", signaling = as.character(i))
}
dev.off()
#Individual pathways (put in one folder named outs)
for (i in List_of_pathways) {
png(filename = paste("outs/", as.character(i), ".png", sep = ""), bg = "transparent", width = 750, height = 750)
par(mfrow = c(1, 1), xpd = TRUE)
netVisual_aggregate(object = cellchat, layout = "circle", signaling = as.character(i))
dev.off()
}
Here in the code above, I export my images in the png format, but it also works for pdf of course.
Here in the code above, I use the netVisual_aggregate() function, but it works with the other similar functions of the CellChat package (I have not tried all of them to be honest though).
Note that I had to load the extrafont library to get the titles appeared correctly according to #24 (and also in #18 ).
I am not an expert of the par() function usage, but I have noticed that png() or pdf() or cairo_pdf() must always be BEFORE par(mfrow = c(X, Y), xpd = TRUE), otherwise it will cause problems. For example, when using pdf(), it creates one pdf with each pathway on a different page of the pdf...
Dear,
when I use cellchat ,I am wondering how to save multiple plots which produced from following code:
par(mfrow = c(1,2), xpd=TRUE)
netVisual_diffInteraction(cellchat, weight.scale = T)
netVisual_diffInteraction(cellchat, weight.scale = T, measure = "weight")
I have tried following commands but only one figure in the png file.
png("interaction_count_and_strength_circle2.png,width = 6007, height = 6003, res=300)
par(mfrow = c(1,2))
netVisual_circle(cellchat@net$count, vertex.weight = groupSize, weight.scale = T,margin=0, label.edge= F, title.name = "Number of interactions")
netVisual_circle(cellchat@net$weight, vertex.weight = groupSize, weight.scale = T,margin=0, label.edge= F, title.name = "Interaction weights/strength")
dev.off()
can you offer some help?
Thanks!
Wei
The text was updated successfully, but these errors were encountered: