Ben heightDetails() ile bir ggplot efsanesi yüksekliğini öğrenmek için çalışıyorum toplamı ile çalışmaz, ama "absolute.units" (UseMethod içinde hatayıheightDetails birimlerinin
Hatası olsun): için geçerli yöntemin absolute.units 'sınıf "birim"
Örnek bir nesneye uygulanır:
g_legend<-function(a.gplot){
tmp <- ggplot_gtable(ggplot_build(a.gplot))
leg <- which(sapply(tmp$grobs, function(x) x$name) == "guide-box")
legend <- tmp$grobs[[leg]]
return(legend)
}
: ekstraksiyon için, fonksiyon g_legend
here önerilen kullanılan 0
yüzden efsane almak için
testlegend <- g_legend(testplot)
kullanmak, basit bir barplot
testplot <- ggplot(mtcars, aes(x=as.factor(gear), fill=as.factor(gear))) + geom_bar()
var varsayalım. is.grob (testlegend) bunun gerçekten bir grob olduğunu ve grid.draw (testlegend) 'in iyi çalıştığını öne sürer. Ama heightDetails (testlegend) bana yukarıda belirtilen istisnayı veriyor.
Tahminimce, testlegend $ heights birim ve yükseklik toplamını içerir.Detaylar bununla başa çıkamaz. Sebebi bu mu? Eğer değilse, neden çalışmıyor? Ve efsanenin yüksekliğini almak için alternatif bir yol nedir?
RStudio, tüm paketlerin güncellendiğini söylese de, çalışmadı. Ama gtable yüksekliklerin toplanması benim amacım için mükemmel çalışıyor. Teşekkürler! –