Ggplot এ কিংবদন্তি (পাঠ্য) লেবেল সম্পাদনা করা হচ্ছে


120

আমি ডকুমেন্টেশন এবং স্ট্যাকওভারফ্লোতে বেশ কয়েক ঘন্টা ব্যয় করেছি, তবে আমার সমস্যার সমাধান করার কোনও সমাধান মনে হচ্ছে না। ব্যবহার করার সময় ggplotআমি কিংবদন্তিতে সঠিক পাঠ্যটি পেতে পারি না, যদিও এটি আমার ডেটাফ্রেমে রয়েছে। আমি চেষ্টা করেছি scale_colour_manual, scale_fill_manualজন্য বিভিন্ন মান labels=যেমন c("T999", "T888")", "cols"

আমার কোডটি এখানে:

T999 <- runif(10, 100, 200)
T888 <- runif(10, 200, 300)
TY <- runif(10, 20, 30)
df <- data.frame(T999, T888, TY)


ggplot(data = df, aes(x=T999, y=TY, pointtype="T999")) + 
       geom_point(size = 15, colour = "darkblue") + 
       geom_point(data = df, aes(x=T888, y=TY), colour = 'red', size = 10 ) + 
       theme(axis.text.x = element_text(size = 20), axis.title.x =element_text(size = 20),   axis.text.y = element_text(size = 20)) +
       xlab("Txxx") + ylab("TY [°C]") + labs(title="temperatures", size = 15) + 
       scale_colour_manual(labels = c("T999", "T888"), values = c("darkblue", "red")) +    theme(legend.position="topright")

সাহায্য খুব প্রশংসা হবে!


8
কোন ডেটা ফর্ম্যাটটি সবচেয়ে দীর্ঘ (দীর্ঘ, প্রশস্ত নয়) এর সাথে সন্ধান করার জন্য এবং কলটিতে কোনও থেরেটিককে ম্যাপিংয়ের মধ্যে পার্থক্যের জন্য অনুভূতি পেতে , বনাম এটি বাইরে সেট করার জন্য এই টিউটোরিয়ালটি দেখুন । আপনাকে করার প্রয়োজন একটি দীর্ঘ ফর্ম্যাটে আপনার ডেটা, এবং মানচিত্র (অথবা মধ্যে) প্রাসঙ্গিক পরিবর্তনশীল করতে। ggplotaesaesaesmeltcolourfillaes
হেনরিক

উত্তর:


145

@ হেনরিকের উল্লিখিত টিউটোরিয়ালটি প্যাকেজটির মাধ্যমে প্লট কীভাবে তৈরি করা যায় তা শেখার জন্য একটি দুর্দান্ত উত্স ggplot2

আপনার ডেটা সহ একটি উদাহরণ:

# transforming the data from wide to long
library(reshape2)
dfm <- melt(df, id = "TY")

# creating a scatterplot
ggplot(data = dfm, aes(x = TY, y = value, color = variable)) + 
  geom_point(size=5) +
  labs(title = "Temperatures\n", x = "TY [°C]", y = "Txxx", color = "Legend Title\n") +
  scale_color_manual(labels = c("T999", "T888"), values = c("blue", "red")) +
  theme_bw() +
  theme(axis.text.x = element_text(size = 14), axis.title.x = element_text(size = 16),
        axis.text.y = element_text(size = 14), axis.title.y = element_text(size = 16),
        plot.title = element_text(size = 20, face = "bold", color = "darkgreen"))

এর ফলে:

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

মন্তব্যগুলিতে @ ব্যবহারকারী2739472 দ্বারা উল্লিখিত হিসাবে: আপনি যদি কেবলমাত্র কিংবদন্তির পাঠ্য লেবেলগুলি পরিবর্তন করতে চান এবং জিজিপ্লাটের ডিফল্ট প্যালেট থেকে রঙগুলি পরিবর্তন করতে চান না, আপনি scale_color_hue(labels = c("T999", "T888"))পরিবর্তে ব্যবহার করতে পারেন scale_color_manual()


@ সতীশ যেমন আপনি দেখতে পাচ্ছেন, y- অক্ষের শিরোনামটি X- অক্ষের শিরোনামের চেয়ে ছোট। বিভিন্ন আকার এবং সম্ভাব্যতা এবং এর পরিণতি চিত্রিত করতে ব্যবহৃত হয়। সুতরাং উত্তরে ব্যবহৃত কোডটি সঠিক ইমো।
জাপ

@ সতীশ আমার আগের মন্তব্যে যুক্ত: এটি অবশ্যই এটি করার একটি বিকল্প! এটি সমস্ত কিছুর উপর নির্ভর করে ;-)
জাপ

9
আপনি যদি কেবলমাত্র কিংবদন্তির পাঠ্য লেবেলগুলি পরিবর্তন করতে চান এবং জিপিপ্লাটের ডিফল্ট প্যালেট থেকে রঙগুলি পরিবর্তন করতে চান না, আপনি scale_color_hue(labels = c("T999", "T888"))পরিবর্তে ব্যবহার করতে পারেনscale_color_manual()
user2739472

1
@ user2739472 থেক্স এবং সত্য। এটি আমার উত্তরে যুক্ত করবে।
জাপ

@ সতীশ আমি কিছুটা দেরি করেছিলাম, তবে টাইপ এখনই ঠিক করেছি :-)
জাপ

41

কিংবদন্তির শিরোনামগুলি নির্দিষ্ট নান্দনিক দ্বারা লেবেলযুক্ত হতে পারে ।

(আরও এখানে এবং এখানে ) থেকে guides()বা labs()ফাংশনগুলি ব্যবহার করে এটি অর্জন করা যেতে পারে । এটি আপনাকে নান্দনিক ম্যাপিং ব্যবহার করে গাইড / কিংবদন্তী বৈশিষ্ট্য যুক্ত করতে দেয়।ggplot2

mtcarsডেটা সেট ব্যবহার করে এখানে একটি উদাহরণ দেওয়া হয়েছে এবং labs():

ggplot(mtcars, aes(x=mpg, y=disp, size=hp, col=as.factor(cyl), shape=as.factor(gear))) +
  geom_point() +
  labs(x="miles per gallon", y="displacement", size="horsepower", 
       col="# of cylinders", shape="# of gears")

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

ওপির প্রশ্নের উত্তর দিয়ে guides():

# transforming the data from wide to long
require(reshape2)
dfm <- melt(df, id="TY")

# creating a scatterplot
ggplot(data = dfm, aes(x=TY, y=value, color=variable)) + 
  geom_point(size=5) +
  labs(title="Temperatures\n", x="TY [°C]", y="Txxx") +
  scale_color_manual(labels = c("T999", "T888"), values = c("blue", "red")) +
  theme_bw() +
  guides(color=guide_legend("my title"))  # add guide properties by aesthetic

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


আমি তাতে একমত নই। যখন কেবল শিরোনাম নির্দিষ্ট করে দেওয়া হয়, তত্ক্ষণাত যুক্তি scale_ ..বা labsআর্গুমেন্টে এটি নির্দিষ্ট করা সহজ ।
জাপ

আমি 15 মিনিট আগে আপনার সমাধান সম্পর্কে মন্তব্য করছি যা এতে শিরোনাম যুক্ত করেছে scale_color_manual(title="...", ...)। আমি দেখতে পেয়েছি আপনি রঙিন নান্দনিকতার রেফারেন্সে এটি পরিবর্তন করেছেন labs()। আমি বিকল্প হিসাবে আমার সমাধান প্রস্তাব।
মেগাট্রন

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