অক্ষ, কিংবদন্তি, ইত্যাদি ছাড়া 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.