ggplot2 কিংবদন্তি থেকে নীচে এবং অনুভূমিক


109

আমি কীভাবে কোনও জিপিপ্লট 2 কিংবদন্তিকে প্লটের নীচে নিয়ে যেতে পারি এবং এটি আনুভূমিকভাবে ঘুরিয়ে দিতে পারি?

কোডের উদাহরণ:

library(reshape2) # for melt
df <- melt(outer(1:4, 1:4), varnames = c("X1", "X2"))
p1 <- ggplot(df, aes(X1, X2)) + geom_tile(aes(fill = value))
p1 + scale_fill_continuous(guide = guide_legend())

পছন্দসই (আনুমানিক) ফলাফল: এখানে চিত্র বর্ণনা লিখুন


2
7 বছর 8 মাস পরে, আমি অবশেষে এই প্রশ্নের কীভাবে পছন্দসই ফলাফল পেতে পারি তা বুঝতে পেরেছিলাম: দ্বিতীয় উত্তরে স্ক্রোল করুন।
আর্থার ইপ

উত্তর:


146

আপনি যদি কিংবদন্তির অবস্থানটি সরাতে চান তবে নীচের কোডটি ব্যবহার করুন:

library(reshape2) # for melt
df <- melt(outer(1:4, 1:4), varnames = c("X1", "X2"))
p1 <- ggplot(df, aes(X1, X2)) + geom_tile(aes(fill = value))
p1 + scale_fill_continuous(guide = guide_legend()) +
    theme(legend.position="bottom")

এটি আপনাকে পছন্দসই ফলাফল দেয়। নীচে কিংবদন্তি


2
আপনি কি জানেন যে নীচে একটি অবিচ্ছিন্ন কিংবদন্তি বার আঁকা সম্ভব? (সুতরাং মাঝের সংখ্যার সাথে নয় তবে শীর্ষে)। ধন্যবাদ।
জানভাব

3
বর্তমানের সাথে ggplot, এটি আমাকে সতর্কতা দেয় 'opts' is deprecated. Use 'theme' instead. (Deprecated; last used in version 0.9.1)। কাজ optsদ্বারা প্রতিস্থাপন theme
krlmlr

হ্যাঁ আমি প্রত্যাশা করছিggplot
শ্রেয়াস করণিক

10
অবহেলিত আইটেমগুলি ব্যবহার করা খারাপ অভ্যাস। : আপনি থিম সঠিক একই পথ ব্যবহার করে এটা করতে পারেন+ theme(legend.position='bottom')
by0

দুর্ভাগ্যক্রমে কিছু অস্পষ্টতা থাকে যখন সংখ্যা এবং বর্ণগুলি পাশাপাশি থাকে; এটির উন্নতি করার কয়েকটি প্রচেষ্টাতে আমার উত্তরটি নীচে দেখুন।
আর্থার ইপ

37

পছন্দসই ফলাফলটি কীভাবে তৈরি করবেন তা এখানে:

library(reshape2); library(tidyverse)
melt(outer(1:4, 1:4), varnames = c("X1", "X2")) %>%
ggplot() + 
  geom_tile(aes(X1, X2, fill = value)) + 
  scale_fill_continuous(guide = guide_legend()) +
  theme(legend.position="bottom",
        legend.spacing.x = unit(0, 'cm'))+
  guides(fill = guide_legend(label.position = "bottom"))

2019-12-07 এ ডিপেক্স প্যাকেজ (v0.3.0) দ্বারা নির্মিত


সম্পাদনা করুন: এই অসম্পূর্ণ বিকল্পগুলির আর দরকার নেই, তবে আমি তাদের এখানে রেফারেন্সের জন্য রেখে দিচ্ছি।

দুটি অসম্পূর্ণ বিকল্প যা আপনি যা চেয়েছিলেন ঠিক তা দেয় না তবে বেশ কাছাকাছি (কমপক্ষে রঙগুলি একসাথে রাখবে)।

library(reshape2); library(tidyverse)
df <- melt(outer(1:4, 1:4), varnames = c("X1", "X2"))
p1 <- ggplot(df, aes(X1, X2)) + geom_tile(aes(fill = value))
p1 + scale_fill_continuous(guide = guide_legend()) +
 theme(legend.position="bottom", legend.direction="vertical")

p1 + scale_fill_continuous(guide = "colorbar") + theme(legend.position="bottom")

2019-02-28 এ ডিপেক্স প্যাকেজ (v0.2.1) দ্বারা তৈরি


যতক্ষণ এই তাত্ত্বিক প্রশ্নের উত্তর হতে পারে, এটা বাঞ্ছনীয় হবে উত্তর অপরিহার্য অংশের এখানে অন্তর্ভুক্ত করা, এবং রেফারেন্স এর জন্য লিঙ্ক প্রদান।
রোহিত গুপ্ত

আমি এখন দুটি অপূর্ণ সমাধান প্রদানের জন্য আমার উত্তরকে বাড়িয়েছি
আর্থার ইপ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.