Open sailseem opened 3 years ago
Hi sailseem,
The parameter omi decide the margin between figure region and plot region width. So can you show the output gridBase::gridOMI()
in your device?
Sincerely Shelly
Dear Shelly, Sure, here is the output
gridBase::gridOMI() [1] 0.0000 0.0000 -1.5339 -2.4583
Sorry to reply now. Have no idea if it will be helpful to you. The return value of gridBase::gridOMI()
seems invalid. And you can close the plot device, and re-run funtion ViewInterCircos()
. gridOMI value may be invalid when your plot device is dragged by mouse.
In the R package circlize, omi may be a static value for global layout. Considering this defect, we tend to replace it with ggplot2 object in next version. And if thers is any idea to fix it, much appreciation.
Shelly
Hi.
~~I had this issue and solved it by resizing the right and bottom borders of Rstudio window until all numbers returned by gridBase::gridOMI()
were positive numbers. Resizing the viewport panel did not work, I had to resize Rstudio itself.
OS: MacOS monterey 12.0 on 2021 M1 macbook pro~~
Hmm the above seemed to only work once.
I ended up doing
trace(ViewInterCircos, edit=TRUE)
then changing the line:
par(omi = gridOMI(), new = TRUE)
to
par(omi = c(0, 0, 0, 0), new = TRUE)
and running ViewInterCircos with parameter gap.degree = 0
The legend overlaps the plot but it looks like that can be edited by exporting the image as .pdf and editing in inkscape (or maybe illustrator). Hope this helps anyone
Hi. ~I had this issue and solved it by resizing the right and bottom borders of Rstudio window until all numbers returned by
gridBase::gridOMI()
were positive numbers. Resizing the viewport panel did not work, I had to resize Rstudio itself. OS: MacOS monterey 12.0 on 2021 M1 macbook pro~Hmm the above seemed to only work once.
I ended up doing
trace(ViewInterCircos, edit=TRUE)
then changing the line:par(omi = gridOMI(), new = TRUE)
topar(omi = c(0, 0, 0, 0), new = TRUE)
and running ViewInterCircos with parametergap.degree = 0
The legend overlaps the plot but it looks like that can be edited by exporting the image as .pdf and editing in inkscape (or maybe illustrator). Hope this helps anyone
Thanks for your wonderful comments. I also had this issue today, since I have my first Macbook :-). I have a alternative but no that cool solutions. Set the weight:height in function Options()
and save figure to file by pdf()
& dev.off()
:
options(repr.plot.width = 12, repr.plot.height = 5)
pdf("./debug/control.pdf", width = 12, height = 5)
ViewInterCircos(object = CellCall_obj, ,,, )
dev.off()
I have done tests on Windows and Linux and there seems to be no such error. Here I really did the above solution for MacBook. Very sorry, in subsequent updates I will try using ggplot objects.
PS: My device in this test: MacBook Pro, M1, macOS Monterey
ViewInterCircos(object = mt, font = 2, cellColor = cell_color,
- lrColor = NULL,
- arr.type = "big.arrow",arr.length = 0.04,
- trackhight1 = 0.05, slot="expr_l_r_log2_scale",
- linkcolor.from.sender = TRUE,
- linkcolor = NULL, gap.degree = 0.1,
- order.vector=c('ST', "SSC", "SPGing", "SPGed"),
- trackhight2 = 0.032, track.margin2 = c(0.01,0.12), DIY = TRUE) Error in par(omi = gridOMI(), new = TRUE) : The value set for the graphical parameter 'omi' is incorrect.
Followed:
options(repr.plot.width = 12, repr.plot.height = 5) pdf("E:/USTC/2023/2nd Quarter/20230308/control.pdf", width = 12, height = 5) ViewInterCircos(object = mt, font = 2, cellColor = cell_color,
- lrColor = NULL,
- arr.type = "big.arrow",arr.length = 0.04,
- trackhight1 = 0.05, slot="expr_l_r_log2_scale",
- linkcolor.from.sender = TRUE,
- linkcolor = NULL, gap.degree = 0.1,
- order.vector=c('ST', "SSC", "SPGing", "SPGed"),
- trackhight2 = 0.032, track.margin2 = c(0.01,0.12), DIY = TRUE) Error in colSums(object) : "'x' must be an array of at least two dimensions".
How to solve this problem?
Dear, I would like to ask one question,when I perform the circos plot, I got error like that
Thanks in advance for helping me out.