পুরোপুরি facet_wrap লেবেলগুলি সরান


85

আমি একরকম স্পার্কলাইন এফেক্ট তৈরি করতে পুরোপুরি লেবেলগুলি পুরোপুরি সরিয়ে ফেলতে চাই , শ্রোতাদের জন্য যেমন লেবেল অপ্রাসঙ্গিক, তবে আমি যে সেরাটি নিয়ে আসতে পারি তা হ'ল:

library(MASS)
library(ggplot2)
qplot(week,y,data=bacteria,group=ID, geom=c('point','line'), xlab='', ylab='') + 
     facet_wrap(~ID) + 
     theme(strip.text.x = element_text(size=0))

তাহলে "স্পার্কলাইনস" এর জন্য আরও স্থানের অনুমতি দেওয়ার জন্য আমি কী (এখন ফাঁকা) স্ট্রিপ.ব্যাকগ্রাউন্ড থেকে সম্পূর্ণ মুক্তি পাব?

বা বিকল্পভাবে এরকম একটি বড় সংখ্যক বাইনারি মূল্যবান সময়-সিরিজের জন্য এই " স্পার্কলাইন " প্রভাব পাওয়ার আরও ভাল উপায় আছে কি ?

উত্তর:


134

Ggplot v2.1.0 বা উচ্চতর জন্য, element_blank()অযাচিত উপাদানগুলি সরাতে ব্যবহার করুন :

library(MASS) # To get the data
library(ggplot2)

qplot(
  week,
  y,
  data = bacteria,
  group = ID,
  geom = c('point', 'line'),
  xlab = '',
  ylab = ''
) + 
facet_wrap(~ ID) + 
theme(
  strip.background = element_blank(),
  strip.text.x = element_blank()
)

এই ক্ষেত্রে, আপনি যে উপাদানটি অপসারণের চেষ্টা করছেন তাকে ডাকা হয় strip

প্যানেল শিরোনাম ছাড়াই ggplot2 চিত্র


Ggplot গ্রাব লেআউট ব্যবহার করে বিকল্প

ggplot(V2.1.0 এর আগে) এর পুরানো সংস্করণগুলিতে , স্ট্রিপ পাঠ্যটি gtable বিন্যাসে সারিগুলি দখল করে।

element_blank পাঠ্য এবং পটভূমি সরিয়ে দেয়, তবে এটি সারিটি যে স্থানটি দখল করেছে তা সরিয়ে দেয় না।

এই কোডটি বিন্যাস থেকে এই সারিগুলি সরিয়ে দেয়:

library(ggplot2)
library(grid)

p <- qplot(
  week,
  y,
  data = bacteria,
  group = ID,
  geom = c('point', 'line'),
  xlab = '',
  ylab = ''
) + 
facet_wrap(~ ID)

# Get the ggplot grob
gt <- ggplotGrob(p)

# Locate the tops of the plot panels
panels <- grep("panel", gt$layout$name)
top <- unique(gt$layout$t[panels])

# Remove the rows immediately above the plot panel
gt = gt[-(top-1), ]

# Draw it
grid.newpage()
grid.draw(gt)

অন্য কেউ পাচ্ছেন Error in apply(strip_mat, 1, max_height) : dim(X) must have a positive length?
প্যাট্রিকটি

25

আমি ggplot2 সংস্করণ 1 ব্যবহার করছি এবং প্রয়োজনীয় আদেশগুলি পরিবর্তিত হয়েছে। পরিবর্তে

ggplot() ... + 
opts(strip.background = theme_blank(), strip.text.x = theme_blank())

আপনি এখন ব্যবহার

ggplot() ... + 
theme(strip.background = element_blank(), strip.text = element_blank())

আরও তথ্যের জন্য দেখুন http://docs.ggplot2.org/current/theme.html


8

স্যান্ডির আপডেট হওয়া উত্তরটি ভাল বলে মনে হচ্ছে তবে সম্ভবত জিপিপ্লাটের আপডেটগুলি অচল করে দেওয়া হয়েছে? আমি নিম্নলিখিত কোডটি কী বলতে পারি (স্যান্ডির মূল উত্তরের একটি সরল সংস্করণ) কোনও অতিরিক্ত স্থান ছাড়াই শন এর মূল গ্রাফটি পুনরুত্পাদন করে:

library(ggplot2)
library(grid)
qplot(week,y,data=bacteria,group=ID, geom=c('point','line'), xlab='', ylab='') + 
 facet_wrap(~ID) + 
 theme(strip.text.x = element_blank())

আমি ggplot 2.0.0 ব্যবহার করছি।


4

আমি যতটুকু বলতে পারি, স্যান্ডির উত্তরটি সঠিক তবে আমি মনে করি এটি উল্লেখ করা উচিত যে কোনও প্লট নেই এবং একটি চক্রান্তের প্রস্থ অপসারণের সাথে সামান্য পার্থক্য রয়েছে।

এটি সন্ধান করা না হলে এটি সুস্পষ্ট নয় তবে, উইকহ্যাম তাঁর বইয়ের প্রস্তাবিত ভিউপোর্ট লেআউটগুলি ব্যবহার করে প্লটগুলি স্ট্যাক করে রাখলে, পার্থক্য স্পষ্ট হয়ে যায়।


4
আপনি একটি উদাহরণ দিয়ে এই বিস্তারিত বলতে পারেন?

এখানে আমরা যাচ্ছি - লিঙ্কটি চেষ্টা করুন । আমি জিজিপ্লাটের 'হীরা' ডেটাসেট ব্যবহার করি যাতে এটি কারও পক্ষে কাজ করা উচিত। লক্ষ্য করুন যে মুখযুক্ত গ্রাফের ডান প্রান্তটি অপরিবর্তিত গ্রাফের তুলনায় কিছুটা সঙ্কুচিত।
সিডাব্লু ডিলন

এটি মুখোমুখি_আরক থেকে ওপেনের প্রশ্নের উপরে (উপরে প্যানেল সহ) ফেসট_গ্রিডে (পাশে প্যানেল পরীক্ষা দিয়ে) স্যুইচ করার পরে এটি কোনও ভাল তুলনা নয়। মূল সমস্যাটি হ'ল প্যানেল পাঠ্যটি সংকোচনযোগ্য নয়: আপনি যদি ওপির প্রশ্নের Qplot জন্য উইন্ডোটির আকার পরিবর্তন করেন, আপনি সহজেই প্যানেল পাঠ্যের ফলে যে সমস্যাটি দেখা দিতে পারে তা দেখতে পারেন। যেহেতু এক্স-অক্ষের প্রায়শই পূর্বে মানগুলি জানা থাকে এবং y- অক্ষের প্রায়শই পূর্বে অজানা মান থাকে, এটি বিশেষত দুর্ভাগ্যজনক।
ম্যাটব্যাগ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.