আমি একাধিক প্লট ব্যবহার করে ggplot2তাদের ব্যবহার করে সাজানোর চেষ্টা করছি grid.arrange()। যেহেতু আমি আমার যে সমস্যাটি পেয়েছি তা সঠিকভাবে বর্ণনা করতে কাউকে খুঁজে পেতে পেরেছি, তাই আমি লিঙ্ক থেকে সমস্যার বিবরণ থেকে উদ্ধৃত করেছি :
যখন আমি ব্যবহার ggsave()পর grid.arrange(), অর্থাত্
grid.arrange(sgcir1,sgcir2,sgcir3,ncol=2,nrow=2) ggsave("sgcirNIR.jpg")
আমি গ্রিড প্লটটি সংরক্ষণ করি না তবে শেষ স্বতন্ত্র ggplot। প্রকৃতপক্ষে প্লটটি সংরক্ষণ করার মতো কোনও উপায় grid.arrange()ব্যবহার করে ggsave()বা অনুরূপ কিছু ব্যবহার করে
প্রদর্শিত হয়েছে ? পুরানো উপায় ব্যবহার ছাড়া অন্য
jpeg("sgcirNIR.jpg") grid.arrange(sgcir1,sgcir2,sgcir3,ncol=2,nrow=2) dev.off()
একই লিঙ্কটি নীচে সমাধান দেয়:
require(grid)
require(gridExtra)
p <- arrangeGrob(qplot(1,1), textGrob("test"))
grid.draw(p) # interactive device
ggsave("saving.pdf", p) # need to specify what to save explicitly
তবে, ggsave()নীচের কোডটিতে grid.arrange()কলটির আউটপুট সংরক্ষণ করতে কীভাবে ব্যবহার করবেন তা আমি বুঝতে পারি না , যা লিঙ্ক থেকে নেওয়া হয়েছে :
library(ggplot2)
library(gridExtra)
dsamp <- diamonds[sample(nrow(diamonds), 1000), ]
p1 <- qplot(carat, price, data=dsamp, colour=clarity)
p2 <- qplot(carat, price, data=dsamp, colour=clarity, geom="path")
g_legend<-function(a.gplot){
tmp <- ggplot_gtable(ggplot_build(a.gplot))
leg <- which(sapply(tmp$grobs, function(x) x$name) == "guide-box")
legend <- tmp$grobs[[leg]]
return(legend)}
legend <- g_legend(p1)
lwidth <- sum(legend$width)
## using grid.arrange for convenience
## could also manually push viewports
grid.arrange(arrangeGrob(p1 + theme(legend.position="none"),
p2 + theme(legend.position="none"),
main ="this is a title",
left = "This is my global Y-axis title"), legend,
widths=unit.c(unit(1, "npc") - lwidth, lwidth), nrow=1)
# What code to put here to save output of grid.arrange()?
print(ggplot())?
ggplotব্যবহার করে সংরক্ষণ করি তখন ggsave()চিত্রটির রেজোলিউশন অনেক বেশি is grid.arrange()একটি উচ্চ রেজোলিউশনের সাথে আউটপুট সংরক্ষণ করার কোনও উপায় আছে , যেমন এটি যদি একক প্লট দ্বারা সংরক্ষণ করা হত ggsave()? যদি আমি উদাহরণগুলির জন্য বিকল্পগুলি সরবরাহ করি png(...,height=1600, width=2500)তবে চিত্রটি খুব ঝাপসা দেখাচ্ছে।
png(); grid.arrange(); ggplot(); ggplot(); dev.off()