Ggplot2 এ অতিরিক্ত কিংবদন্তি সরান


91

আমার একটি সাধারণ ডেটা ফ্রেম রয়েছে যা আমি ব্যবহার করে সম্মিলিত লাইন এবং পয়েন্ট প্লট করার চেষ্টা করছি ggplot2। ধরুন আমার ডেটা এরকম দেখাচ্ছে:

df <- data.frame(x=rep(1:10,2), y=c(1:10,11:20), 
                 group=c(rep("a",10),rep("b",10)))

এবং আমি একটি চক্রান্ত করার চেষ্টা করছি:

g <- ggplot(df, aes(x=x, y=y, group=group))
g <- g + geom_line(aes(colour=group))
g <- g + geom_point(aes(colour=group, alpha = .8))
g

এক ব্যতিক্রমের সাথে ফলাফলটি দুর্দান্ত দেখাচ্ছে। এটিতে alphaআমার geom_pointলেয়ারটি দেখানো একটি অতিরিক্ত কিংবদন্তি রয়েছে ।

<কোড> জিওম_পয়েন্ট </ কোড> স্বচ্ছতার জন্য অতিরিক্ত কিংবদন্তি

আমি কীভাবে কিংবদন্তিগুলিকে গোষ্ঠী রঙ দেখাচ্ছে, কিন্তু আমার আলফা সেটিংস দেখায় এমনটি রাখতে পারি না?

উত্তর:


172

কলটির মধ্যে নান্দনিকতা সেট বা ম্যাপ করা যায় ggplot

  • এর মধ্যে সংজ্ঞায়িত একটি নান্দনিক তথ্য থেকে ম্যাপ করা aes(...)হয় এবং একটি কিংবদন্তি তৈরি করা হয়।
  • কোনও নান্দনিকতার বাইরে এটি নির্ধারণ করে একটি মানকেও সেট করা যেতে পারে aes()

এই ক্ষেত্রে, এটি প্রদর্শিত এবং মানচিত্র স্থাপন করতে ইচ্ছুক ।alpha = 0.8 colour = group

এটা করতে,

সংজ্ঞাটির alpha = 0.8বাইরে রাখুন aes()

g <- ggplot(df, aes(x = x, y = y, group = group))
g <- g + geom_line(aes(colour = group))
g <- g + geom_point(aes(colour = group), alpha = 0.8)
g

এখানে চিত্র বর্ণনা লিখুন

যে কোনও ম্যাপযুক্ত ভেরিয়েবলের জন্য আপনি guide = 'none'উপযুক্ত scale_...কল ব্যবহার করে কিংবদন্তির উপস্থিতি দমন করতে পারেন । যেমন

g2 <- ggplot(df, aes(x = x, y = y, group = group)) + 
        geom_line(aes(colour = group)) +
        geom_point(aes(colour = group, alpha = 0.8))
g2 + scale_alpha(guide = 'none')

যা একটি অভিন্ন প্লট ফিরিয়ে দেবে

সম্পাদনা @ জোড়ানের মন্তব্য স্পট-অন, আমি আমার উত্তরটি আরও বিস্তৃত করেছি


18
এটি সঠিক পদ্ধতি, যেহেতু ওপি কোনও নান্দনিকতার ম্যাপিংয়ের পরিবর্তে সেট করছে তবে সাধারণভাবে আপনি এরকম কিছু ব্যবহার করে কোনও কিংবদন্তির উপস্থিতিকে দমন করতে পারেন g + scale_alpha(guide = "none")
joran

প্রকৃতপক্ষে. উত্তরটি বিশদভাবে ব্যাখ্যা করা হয়েছে। এটি কেবল ওপি ইস্যুতে সুনির্দিষ্ট নয়, একটি বিস্তৃত উত্তর পাওয়া আরও বেশি অর্থবোধ করে।
মলিন

4
সংযুক্ত ব্যাখ্যার জন্য অনেক ধন্যবাদ। এটি ggplot এর দর্শন বুঝতে আমাকে সহায়তা করার দিকে অনেক এগিয়ে যায়।
ওয়াইল্ডক

4
আমি এক বছর ধরে জিজিপ্লট ব্যবহার করছি এবং আমি কোনও ম্যাপযুক্ত বা সেট ভেরিয়েবলের মধ্যে পার্থক্যটি কখনই বুঝতে পারি নি। এটি এখন পর্যন্ত সেরা এসও উত্তর যা আমি দেখেছি, সম্মিলিত।
অমিত কোহলি

4
@ থ্রি ফরেস্টেকোলজিস্ট এর কারণ groupনান্দনিক নিজেরাই কোনও স্কেল বা গাইড তৈরি করে না। এটি সর্বদা অন্যরকম কিছু পরিবর্তন করার পদ্ধতি। আপনি "গ্রুপ" নান্দনিকতার জন্য কোনও কিংবদন্তি পাবেন না।
জোরান

41

show.legend = Fআপনি যে অংশটি চান না সেই অংশের পরে কেবল কোডটি যুক্ত করুন ।

g <- ggplot(df, aes(x=x, y=y, group=group))
g <- g + geom_line(aes(colour=group))
g <- g + geom_point(aes(colour=group, alpha = .8), show.legend = F)

4
ম্যাপিং বনাম সেটিং নন্দনতত্ত্বের তুলনায় এটি অনেক বেশি স্বজ্ঞাত (যদিও এটি প্রচুর ভুল বোঝাবুঝির বিষয়টি পরিষ্কার
করেও

1

Ggplot2 এর পুরানো সংস্করণগুলির জন্য (২০১২ সালের শেষের দিকে প্রকাশিত 0.9.2 এর আগের সংস্করণ), এই উত্তরটির কাজ করা উচিত:

আমি colour_scaleএটি দিয়ে চেষ্টা করেছি এবং এটি কার্যকর হয়নি। এটি প্রদর্শিত হয় যে colour_scale_hueআইটেমটি একটি ডিফল্ট প্যারামিটার সহ কোনও ফাংশনের মতো কাজ করে TRUE। আমি যুক্ত scale_colour_hue(legend=FALSE)এবং এটি কাজ করে।

আমি নিশ্চিত না যে জিপিপ্লট-এর সমস্ত রঙ স্কেল আইটেমগুলির ক্ষেত্রে এটি কিনা


4
legendএকটি scale_*কল ব্যবহার করে অবচয় করা হয়, আরও ভাল scale_colour_hue(guide = "none")
গ্রেগর থমাস

4
legend=FALSE@ শুজা মন্তব্যের দ্বারা উল্লেখ করা হয়েছে যে বিষয়টি অবহেলা করা হয়েছে তা বিবেচনায় রেখে, এটি কার্যকরভাবে একটি সদৃশ জবাব, অর্থাত্ guide = "none"কোনও scale_fill/color*ফাংশনে যুক্ত করা।
ডেভিড লেবাউর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.