Ggplot2 এ অক্ষরের পাঠ্যের দিকনির্দেশ এবং ফন্টের আকার পরিবর্তন করা


188

আমি এক্স অক্ষের উপর একটি পৃথক ভেরিয়েবল এবং y অক্ষের উপর একটি সংখ্যাসূচক ভেরিয়েবলের সাথে একটি গ্রাফ প্লট করছি।

এক্স অক্ষের জন্য, সেখানে অনেকগুলি ডাটা পয়েন্ট রয়েছে, ডিফল্ট পাঠ্য বিন্যাসের ফলে প্রতিটি টিক চিহ্নের জন্য লেবেল অন্যান্য লেবেলগুলির সাথে ওভারল্যাপ হয়ে যায়। আমি (ক) আমার অক্ষ পাঠ্যের জন্য ফন্টের আকারটি কীভাবে পরিবর্তন করব এবং (খ) পাঠ্যের অরিয়েন্টেশনটি কীভাবে পরিবর্তন করব যাতে পাঠটি অক্ষরের সাথে লম্ব হয়?



স্ট্যাকওভারফ্লো.com / q / 1330989 / 946850 নিয়ে ওভারল্যাপ রয়েছে , তবে এই প্রশ্নটি পাঠ্যের আকার পরিবর্তন করে না।
krlmlr

উত্তর:


291

ব্যবহার theme():

d <- data.frame(x=gl(10, 1, 10, labels=paste("long text label ", letters[1:10])), y=rnorm(10))
ggplot(d, aes(x=x, y=y)) + geom_point() +
    theme(text = element_text(size=20),
        axis.text.x = element_text(angle=90, hjust=1)) 
#vjust adjust the vertical justification of the labels, which is often useful

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

আপনার জিজিপ্লটগুলি এখানে কীভাবে বিন্যাস করতে হবে সে সম্পর্কে প্রচুর ভাল তথ্য রয়েছে । আপনি যে প্যারামিটারগুলি ব্যবহার করে সংশোধন করতে পারেন তার পুরো তালিকা দেখতে পাবেন (মূলত, সেগুলি সমস্ত) ব্যবহার করে ?theme


2
আমার মনে হয় এটি হওয়া উচিত hjust=1
আর্টেম সোকলভ

সত্য! আর্টেমের মন্তব্য অনুযায়ী সংশোধন করা হয়েছে, তবে আমি চিত্রটি আপডেট করি নি।
ড্র স্টেইন

67

Ditto @ ড্রু স্টেন এর ব্যবহার সম্পর্কে theme()। অক্ষ পাঠ্য এবং শিরোনামগুলির জন্য এখানে সাধারণ থিম বৈশিষ্ট্য রয়েছে।

ggplot(mtcars, aes(x = factor(cyl), y = mpg))+
  geom_point()+
  theme(axis.text.x = element_text(color = "grey20", size = 20, angle = 90, hjust = .5, vjust = .5, face = "plain"),
        axis.text.y = element_text(color = "grey20", size = 12, angle = 0, hjust = 1, vjust = 0, face = "plain"),  
        axis.title.x = element_text(color = "grey20", size = 12, angle = 0, hjust = .5, vjust = 0, face = "plain"),
        axis.title.y = element_text(color = "grey20", size = 12, angle = 90, hjust = .5, vjust = .5, face = "plain"))

19

থিম ব্যবহার করুন ():

d <- data.frame(x=gl(10, 1, 10, labels=paste("long text label ", letters[1:10])), y=rnorm(10))
ggplot(d, aes(x=x, y=y)) + geom_point() +
theme(text = element_text(size=20))

19

পূর্ববর্তী সমাধান যোগ করা হচ্ছে, এছাড়াও আপনি ফন্ট সাইজ উল্লেখ করতে পারেন আপেক্ষিক থেকে base_sizeযেমন থিম অন্তর্ভুক্ত theme_bw()(যেখানে base_size11) ব্যবহার করেrel() ফাংশন।

উদাহরণ স্বরূপ:

ggplot(mtcars, aes(disp, mpg)) +
  geom_point() +
  theme_bw() +
  theme(axis.text.x=element_text(size=rel(0.5), angle=90))

4

"ফিল" বৈশিষ্ট্যটি ব্যবহার করা এরকম ক্ষেত্রে সহায়তা করে। আপনি অক্ষ ব্যবহার করে পাঠ্যটি সরিয়ে ফেলতে পারেন element_blank()এবং কিংবদন্তির সাথে একাধিক রঙের বার চার্ট প্রদর্শন করতে পারেন । আমি নীচের মত মেরামতের দোকানে একটি অংশ অপসারণের ফ্রিকোয়েন্সি প্লট করছি

ggplot(data=df_subset,aes(x=Part,y=Removal_Frequency,fill=Part))+geom_bar(stat="identity")+theme(axis.text.x  = element_blank())

আমি আমার ক্ষেত্রে এই সমাধানের জন্য গিয়েছিলাম কারণ আমার বারের চার্টে অনেকগুলি বার ছিল এবং আমি উপযুক্ত ফন্টের আকার খুঁজে পাইনি যা উভয়ই পাঠযোগ্য এবং একে অপরের সাথে ওভার্যাপল্যাপ না করার জন্য যথেষ্ট ছোট।


4

অনেকগুলি প্লট তৈরি করার সময়, এটি বিশ্বব্যাপী সেট করার জন্য এটি অর্থবোধ করে (প্রাসঙ্গিক অংশটি দ্বিতীয় লাইন, তিনটি লাইন একসাথে একটি কার্যকারী উদাহরণ):

   library('ggplot2')
   theme_update(text = element_text(size=20))
   ggplot(mpg, aes(displ, hwy, colour = class)) + geom_point()

0

ওভারল্যাপিং লেবেলগুলির সাথে কাজ করার জন্য আরেকটি উপায় ব্যবহার করা হচ্ছে guide = guide_axis(n.dodge = 2)

library(dplyr)
library(tibble)
library(ggplot2)

dt <- mtcars %>% rownames_to_column("name") %>% 
  dplyr::filter(cyl == 4)

# Overlapping labels
ggplot(dt, aes(x = name, y = mpg)) + geom_point()

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

ggplot(dt, aes(x = name, y = mpg)) + geom_point() +
  scale_x_discrete(guide = guide_axis(n.dodge = 2))

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

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