অক্ষ, কিংবদন্তি, ইত্যাদি ছাড়া ggplot2 প্লট


139

কোনও অক্ষ, কোনও লেবেল, কোনও পটভূমি, কোনও নথিন নয় - পুরো (পিএনজি) প্রদর্শন অঞ্চল পূরণ করে এমন একটি প্লট তৈরি করতে আমি বায়োকন্ডাক্টরের হেক্সবিন (যা আমি করতে পারি) ব্যবহার করতে চাই।


1
একটি হেক্সবিন প্লট তৈরি করা এবং চিত্র সম্পাদকে এটি ক্রপ করা কি সহজ হবে না?
— 23

3
চেষ্টা করুনtheme_void()
— ব্রায়ান ডি

উত্তর:


182

চেসের উত্তরে আমার মন্তব্য অনুসারে আপনি এই জিনিসগুলি ব্যবহার করে অনেকগুলি সরিয়ে ফেলতে পারেন element_blank:

dat <- data.frame(x=runif(10),y=runif(10))

p <- ggplot(dat, aes(x=x, y=y)) + 
        geom_point() +
        scale_x_continuous(expand=c(0,0)) + 
        scale_y_continuous(expand=c(0,0))   

p + theme(axis.line=element_blank(),axis.text.x=element_blank(),
          axis.text.y=element_blank(),axis.ticks=element_blank(),
          axis.title.x=element_blank(),
          axis.title.y=element_blank(),legend.position="none",
          panel.background=element_blank(),panel.border=element_blank(),panel.grid.major=element_blank(),
          panel.grid.minor=element_blank(),plot.background=element_blank())

দেখে মনে হচ্ছে ফলাফলের প্রান্তের চারপাশে এখনও একটি সামান্য মার্জিন রয়েছে margin সম্ভবত অন্য কেউ কীভাবে এমনকি সেই উপাদানটিকে অপসারণ করতে জানেন।

(ঐতিহাসিক নোট: যেহেতু ggplot2 সংস্করণ 0.9.2, optsঅবচিত হয়েছে পরিবর্তে ব্যবহার করুন। theme()এবং প্রতিস্থাপন theme_blank()সঙ্গে element_blank()।)


1
অনেক ধন্যবাদ! আমি একইরকম একটি
— গোষ্ঠীগুলি

পাসিংয়ে মন্তব্য: কিছু ক্ষেত্রে, theme(axis.ticks=element_blank())পাশাপাশি কাজ করে না theme(axis.ticks.x=element_blank()), সম্ভবত কোথাও একটি অস্থায়ী বাগ (আমার নিজস্ব থিম সেট রয়েছে, তারপরে আমি ওভাররাইড করার চেষ্টা করব: কেবল axis.ticks.xএবং axis.ticks.yকাজটি করব))
— প্যাট্রিক্ট

106

পুনরায়: থিম ইত্যাদিতে অপ্টসকে পরিবর্তন করা (অলস লোকের জন্য):

theme(axis.line=element_blank(),
      axis.text.x=element_blank(),
      axis.text.y=element_blank(),
      axis.ticks=element_blank(),
      axis.title.x=element_blank(),
      axis.title.y=element_blank(),
      legend.position="none",
      panel.background=element_blank(),
      panel.border=element_blank(),
      panel.grid.major=element_blank(),
      panel.grid.minor=element_blank(),
      plot.background=element_blank())

59

বর্তমান উত্তরগুলি অসম্পূর্ণ বা অদক্ষ। এখানে ফলাফলটি অর্জনের সবচেয়ে সংক্ষিপ্ততম উপায় (সম্ভবত theme_void():

data(diamonds) # Data example
ggplot(data = diamonds, mapping = aes(x = clarity)) + geom_bar(aes(fill = cut)) +
      theme_void() + theme(legend.position="none")

ফলাফলটি হ'ল:

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


আপনি শুধু দূর আগ্রহী লেবেল , labs(x="", y="")কৌতুক আছে:

ggplot(data = diamonds, mapping = aes(x = clarity)) + geom_bar(aes(fill = cut)) + 
      labs(x="", y="")

ggplot(data = diamonds, mapping = aes(x = clarity)) + geom_bar(aes(fill = cut)) + theme_void() + theme(legend.position="none", panel.background = element_rect(fill="grey80"), plot.background = element_rect(fill="red"))এটা% না 100 অকার্যকর প্রস্তাব দেওয়া
— Baptiste

ল্যাবগুলি (x = "", y = "") অক্ষগুলি সরানোর জন্য উপস্থিত হয় না, কেবলমাত্র লেবেল।
— মিরাট্রিক্স

@ আমিরাট্রিক্স দুঃখিত, আমার ভুল। আপডেট করা হয়েছে।
— লুচোনাচো

5
@ লুচোনাচো labs(x="",y="")অক্ষের শিরোনামের পাতাগুলি ব্যবহার করে কারণ আসলে শিরোনাম রয়েছে, এগুলি কেবল চিহ্ন ছাড়াই রয়েছে। অক্ষের শিরোনাম এবং স্থান সরাতে তাদের ব্যবহার করা আরও ভাল+ theme(axis.title = element_blank())
— ডিডজিস এলফার্টস

6
labs(x = NULL)বা xlab(NULL)অন্য উপায় হয়।
— প্যাট্রিকটি

42
'opts' is deprecated.

মধ্যে ggplot2 >= 0.9.2ব্যবহারের

p + theme(legend.position = "none") 

6
আমি বুঝতে পেরেছি যে আপনার কাছে এখনও সম্পাদনার সুযোগ নেই তবে আপনি যদি আমার অন্যান্য ggplot2 উত্তরগুলি আপডেট করেন তবে পুনরায় আপডেট করতে হবে: অপ্টস () সম্পাদনা করার পরামর্শ দিতে নির্দ্বিধায়। আমি একটি বিজ্ঞপ্তি পেয়েছি এবং এটি নিজেই অন্তর্ভুক্ত করতে পারি।
— জোরান

3
xy <- data.frame(x=1:10, y=10:1)
plot <- ggplot(data = xy)+geom_point(aes(x = x, y = y))
plot
panel = grid.get("panel-3-3")

grid.newpage()
pushViewport(viewport(w=1, h=1, name="layout"))
pushViewport(viewport(w=1, h=1, name="panel-3-3"))
upViewport(1)
upViewport(1)
grid.draw(panel)

Error in UseMethod("grid.draw") : no applicable method for 'grid.draw' applied to an object of class "NULL"
— রোমান Luštrik

গ্রিড.এলস () ভিউপোর্ট এবং গ্রোব অবজেক্টের তালিকা প্রদর্শন করুন
— amaurel

এটি জিগপ্ল্লটের অন্যান্য সংস্করণে দেখা যাচ্ছে যে আমি প্যানেলের নামটি ব্যবহার করছি অন্যরকম
— amaurel

xy <- data.frame (x = 1: 10, y = 10: 1) প্লট <- ggplot (ডেটা = এক্সআই) + জিওম_পয়েন্ট (এএস (এক্স = এক্স, ওয়াই = ই)) প্লট প্যানেল = গ্রিড.জেট (" প্যানেল-3-4 ") গ্রিড.নিউপেজ () পুশ ভিউপোর্ট (ভিউপোর্ট 1 (এইচ = 1, এইচ = 1, নাম =" লেআউট ")) পুশ ভিউপোর্ট (ভিউপোর্ট 1 (এইচ = 1, এইচ = 1, নাম =" প্যানেল -3- 4 ")) আপভিউপোর্ট (1) আপভিউপোর্ট (1) গ্রিড.ড্রে (প্যানেল)
— আমোরেল

-1

এটি কি আপনি চান কি না?

 p <- ggplot(myData, aes(foo, bar)) + geom_whateverGeomYouWant(more = options) +
 p + scale_x_continuous(expand=c(0,0)) + 
 scale_y_continuous(expand=c(0,0)) +
 opts(legend.position = "none")

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