2013-03-02 15 views
11

Aşağıdakilerden birini denediğimde eksen ölçeği 1e + 03, 1e + 06, 1e + 09 - 10 + 3, 10^6, 10 gibi üst sıralara sahip olmak mümkün mü?^9 yerine manuel etiketleme başvurmadan? Geçmişte bunu otomatik olarak hatırladım.Ggplot'ta günlük ölçek için oldukça eksenli etiketler

qplot(1:10, 10^(1:10))+scale_y_log10() 
qplot(1:10, 10^(1:10), log='y') 

cevap

27

Sen eksen değerlerinin istenen biçimlendirmeyi almak için kütüphaneye scales den trans_breaks() ve trans_format() kullanabilirsiniz.

library(scales) 
qplot(1:10, 10^(1:10)) + 
    scale_y_log10(breaks = trans_breaks("log10", function(x) 10^x), 
       labels = trans_format("log10", math_format(10^.x))) 

enter image description here

+0

nasıl y ekseninde (örneğin 200, 500 ve 700 için), 10 ile 1000 arasında tire ekleyebilir? –

+0

Aradığınızı düşünüyorum: "p + annotation_logticks()" http://ggplot2.tidyverse.org/reference/annotation_logticks.html adresindeki referansa bakın – dabsingh