Ggplot2 এ কেন্দ্রের প্লটের শিরোনাম


254

হাই এই সাধারণ কোডটি (এবং এই সকাল থেকে আমার সমস্ত স্ক্রিপ্ট) আমাকে জিপিপ্লট 2 এ একটি অফ সেন্টার খেতাব দেওয়া শুরু করেছে

Ubuntu version: 16.04

R studio version: Version 0.99.896

R version: 3.3.2

GGPLOT2 version: 2.2.0

এটি চেষ্টা এবং ঠিক করার জন্য আমি আজ সকালে উপরের দিকে তাজা ইনস্টল করেছি ....

dat <- data.frame(
time = factor(c("Lunch","Dinner"), levels=c("Lunch","Dinner")),
total_bill = c(14.89, 17.23)
)

# Add title, narrower bars, fill color, and change axis labels
ggplot(data=dat, aes(x=time, y=total_bill, fill=time)) + 
  geom_bar(colour="black", fill="#DD8888", width=.8, stat="identity") + 
  guides(fill=FALSE) +
  xlab("Time of day") + ylab("Total bill") +
  ggtitle("Average bill for 2 people")

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


53
ব্যবহার... + theme(plot.title = element_text(hjust = 0.5))
J_F

উত্তর:


333

প্রকাশের সংবাদ থেকে ggplot 2.2.0: "মূল চক্রান্ত শিরোনাম এখন একটি সাবটাইটেল দিয়ে আরও ভাল কাজ করার জন্য বাম-প্রান্তিককরণ করা হয়েছে" । এতে plot.titleযুক্তিটিও দেখুন ?theme: "ডিফল্টরূপে বাম-প্রান্তিককরণ"।

@ জেএফএফ দ্বারা নির্দেশিত হিসাবে, আপনি theme(plot.title = element_text(hjust = 0.5))শিরোনামটি কেন্দ্রে যুক্ত করতে পারেন ।

ggplot() +
  ggtitle("Default in 2.2.0 is left-aligned")

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

ggplot() +
  ggtitle("Use theme(plot.title = element_text(hjust = 0.5)) to center") +
  theme(plot.title = element_text(hjust = 0.5))

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


আমি পরিবর্তে ব্যবহার ... theme(plot.title = element_text(hjust = 'center'))করার সময় ত্রুটি সতর্কতা বার্তা: 1: In unit(rep(xp, n), "npc") : NAs introduced by coercionv2: In validDetails.text(x) : NAs introduced by coercion এবং কোনও শিরোনাম পাই । এটি কি বাগ?
জেমস হির্সকর্ন 1

2
পছন্দ করুন এর জন্য ব্যবহৃত মানটি hjustঅবশ্যই সংখ্যাসূচক হতে হবে।
স্টিবু

ggplot2 সংস্করণ 3.3.0 হিসাবে, শিরোনামটি ডিফল্টরূপে কেন্দ্রিক।
অ্যাক্রোনিক্স

: আপনি অন্যান্য উপায় কাছাকাছি আগ্রহী: থেকে সরানোর জন্য বাম-প্রান্তিক কেন্দ্র-alinged, তাহলে আপনি এত এই উত্তরটি ব্যবহার করতে পারেন stackoverflow.com/a/57792897/2904315
Akronix

আমি এই কোডটি যুক্ত করেছি theme(plot.title = element_text(hjust = 0.5)), তবে এটি কার্যকর হয়নি, এটি অদ্ভুত।
আহ্বোন

134

হেনরিকের উত্তরে যেমন বলা হয়েছে , শিরোনামগুলি ggplot 2.2.0 দিয়ে শুরু করে ডিফল্টরূপে বাম-সংলগ্ন হয়। প্লটটিতে এটি যুক্ত করে শিরোনামগুলি কেন্দ্র করে নেওয়া যেতে পারে:

theme(plot.title = element_text(hjust = 0.5))

তবে আপনি যদি অনেক প্লট তৈরি করেন তবে সর্বত্র এই লাইনটি যুক্ত করা ক্লান্তিকর হতে পারে। এরপরে কেউ ggplot এর সাথে ডিফল্ট আচরণও পরিবর্তন করতে পারে

theme_update(plot.title = element_text(hjust = 0.5))

আপনি এই লাইনটি চালানোর পরে, পরে তৈরি সমস্ত প্লটগুলি থিম সেটিংটি plot.title = element_text(hjust = 0.5)তাদের ডিফল্ট হিসাবে ব্যবহার করবে :

theme_update(plot.title = element_text(hjust = 0.5))
ggplot() + ggtitle("Default is now set to centered")

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

মূল ggplot2 ডিফল্ট সেটিংসে ফিরে যেতে আপনি আর সেশনটি পুনরায় চালু করতে পারেন বা এর সাথে ডিফল্ট থিমটি চয়ন করতে পারেন

theme_set(theme_gray())

2

ggeasyপ্যাকেজ একটি ফাংশন বলা easy_center_title()ঠিক যে না। আমি এটির চেয়ে অনেক বেশি আবেদনময়ী মনে করি theme(plot.title = element_text(hjust = 0.5))এবং এটি মনে রাখা খুব সহজ।

ggplot(data = dat, aes(time, total_bill, fill = time)) + 
  geom_bar(colour = "black", fill = "#DD8888", width = .8, stat = "identity") + 
  guides(fill = FALSE) +
  xlab("Time of day") +
  ylab("Total bill") +
  ggtitle("Average bill for 2 people") +
  ggeasy::easy_center_title()

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

মনে রাখবেন যে এই উত্তরটি লিখতে গেলে ggeasyআপনাকে ব্যবহার করতে গিটহাব থেকে বিকাশের সংস্করণ ইনস্টল করতে হবে easy_center_title()। আপনি দৌড় দিয়ে এটি করতে পারেন remotes::install_github("jonocarroll/ggeasy")

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