আমি বুঝতে পারি যে এটি পুরানো, তবে আমি তৈরি করা এই ফাংশনটি সেখানকার কারও পক্ষে উপকারী:
order_axis<-function(data, axis, column)
{
# for interactivity with ggplot2
arguments <- as.list(match.call())
col <- eval(arguments$column, data)
ax <- eval(arguments$axis, data)
# evaluated factors
a<-reorder(with(data, ax),
with(data, col))
#new_data
df<-cbind.data.frame(data)
# define new var
within(df,
do.call("<-",list(paste0(as.character(arguments$axis),"_o"), a)))
}
এখন, এই ফাংশনটি দিয়ে আপনি ggplot2 এর সাথে ইন্টারেক্টিভ প্লট করতে পারেন, এর মতো:
ggplot(order_axis(df, AXIS_X, COLUMN_Y),
aes(x = AXIS_X_o, y = COLUMN_Y)) +
geom_bar(stat = "identity")
যেমন দেখা যায়, order_axis
ফাংশনটি একই নামে নতুন একটি কলাম সহ _o
শেষে কিন্তু শেষে একটি ডেটা ফ্রেম তৈরি করে । এই নতুন কলামটিতে আরোহী ক্রমের স্তর রয়েছে, সুতরাং ggplot2 স্বয়ংক্রিয়ভাবে সেই ক্রমে প্লট হয়।
এটি কিছুটা সীমাবদ্ধ (কেবলমাত্র অক্ষর বা গুণক এবং কলামগুলির সংখ্যার সংমিশ্রণের জন্য এবং আরোহী ক্রমে কাজ করে) তবে আমি যেতে যেতে প্লট করার জন্য এটি খুব দরকারী বলে মনে করি।