SORU
5 Temmuz 2012, PERŞEMBE


Nasıl ggplot2 özellikleri için genel bir etiket eklemek musunuz?

Ben sık sık yüzeylerinin için sayısal değerler var. Ek bir başlık bu yüzeylerinin değerleri, eksen başlıkları benzer yorumlamak için yeterli bilgi vermek istiyorum. Etiket makinesi seçenekleri tekrar gereksiz metin çok uzun ve değişken başlıkları için kullanılamaz.

Herhangi bir öneriniz var mı?

Varsayılan:

test<-data.frame(x=1:20, y=21:40, facet.a=rep(c(1,2),10), facet.b=rep(c(1,2), each=20))
qplot(data=test, x=x, y=y, facets=facet.b~facet.a)

enter image description here

Seviyorum ne olurdu:

enter image description here

En iyi ggplot yapabileceğim:

qplot(data=test, x=x, y=y) facet_grid(facet.b~facet.a, labeller=label_both)

enter image description here

@Hendy, benzer:gösterildiği gibi add a secondary y axis to ggplot2 plots - make it perfect

CEVAP
30 EYLÜL 2012, Pazar


5 ** en içten gtable kullanır gibi, oldukça kolay bir şekil değiştirmek için:

test<-data.frame(x=1:20, y=21:40, facet.a=rep(c(1,2),10), facet.b=rep(c(1,2), each=20))
p <- qplot(data=test, x=x, y=y, facets=facet.b~facet.a)

# get gtable object
z <- ggplot_gtable(ggplot_build(p))

# add label for right strip
z <- gtable_add_cols(z, z$widths[[7]])
z <- gtable_add_grob(z, 
  list(rectGrob(gp = gpar(col = NA, fill = gray(0.5))),
  textGrob("Variable 1", rot = -90, gp = gpar(col = gray(1)))),
  4, 8, 6, name = paste(runif(2)))

# add label for top strip
z <- gtable_add_rows(z, z$heights[[3]], 2)
z <- gtable_add_grob(z, 
  list(rectGrob(gp = gpar(col = NA, fill = gray(0.5))),
  textGrob("Variable 2", gp = gpar(col = gray(1)))),
  3, 4, 3, 6, name = paste(runif(2)))

# add margins
z <- gtable_add_cols(z, unit(1/8, "line"), 7)
z <- gtable_add_rows(z, unit(1/8, "line"), 3)

# draw it
grid.newpage()
grid.draw(z)

enter image description here

Tabii ki, otomatik olarak şerit etiketler katan bir işlev yazabilirsiniz. ggplot2 sonraki sürümü bu işlev, ama emin değilim olabilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jose LviS el Bambino ( JLB )   LviSito

    Jose LviS el

    3 ŞUBAT 2008
  • Glyn Dewis

    Glyn Dewis

    25 AĞUSTOS 2007
  • RFS Dan

    RFS Dan

    22 Temmuz 2014