এখানে উল্লিখিত হিসাবে: https://gist.github.com/tomhopper/9076152#gistcomment-2624958 দুটি বিকল্পের মধ্যে পার্থক্য রয়েছে:
ggplot_build(obj)$layout$panel_scales_x[[1]]$range$range
ggplot_build(obj)$layout$panel_scales_y[[1]]$range$range
ggplot_build(obj)$layout$panel_params[[1]]$x.range
ggplot_build(obj)$layout$panel_params[[1]]$y.range
প্লটের একটি তালিকা নিতে, সাধারণ y- অক্ষের পরিসরটি বের করে প্রতিস্থাপনের জন্য এখানে সুবিধার ফাংশনগুলির একটি সেট রয়েছে। আমার এটির প্রয়োজন ছিল কারণ আমি এর মাধ্যমে সাজানো একটি গ্রাফের মধ্যে বিভিন্ন ডেটা সেট ব্যবহার করেছি ggarange
:
require(ggplot2)
get_plot_view_ylimits <- function(plot) {
gb = ggplot_build(plot)
ymin = gb$layout$panel_params[[1]]$y.range[1]
ymax = gb$layout$panel_params[[1]]$y.range[2]
message(paste("limits are:",ymin,ymax))
list(ymin = ymin, ymax = ymax)
}
change_plot_ylimits <- function(plot, nlimits){
p <- plot + ggplot2:::limits(unlist(nlimits, use.names =FALSE),"y")
}
adjust_plots_shared_ylimits <- function(plotList) {
first <- TRUE
for (plot in plotList) {
if (first) {
nlimits <- get_plot_view_ylimits(plot)
first <- FALSE
} else {
altLimits <- get_plot_view_ylimits(plot)
nlimits$ymin <- min(nlimits$ymin,altLimits$ymin)
nlimits$ymax <- max(nlimits$ymax,altLimits$ymax)
}
}
message(paste("new limits are:",nlimits$ymin,nlimits$ymax))
lapply(plotList,change_plot_ylimits,nlimits)
}
আমি ভেবেছিলাম এটি অন্যের জন্যও কার্যকর হতে পারে।
expand
। এখানে দেখুন ।