Generuję wykresy dla niektórych danych, ale liczba tyknięć jest zbyt mała, potrzebuję więcej precyzji odczytu.
Czy jest jakiś sposób na zwiększenie liczby znaczników osi w ggplot2?
Wiem, że mogę powiedzieć ggplot, aby używał wektora jako znaczników osi, ale chcę zwiększyć liczbę znaczników dla wszystkich danych. Innymi słowy, chcę, aby liczba taktów była obliczana na podstawie danych.
Być może ggplot robi to wewnętrznie za pomocą jakiegoś algorytmu, ale nie mogłem znaleźć, jak to robi, aby zmienić zgodnie z tym, czego chcę.
by
argumentu na różne skale liczb, tj. 0,5 jest dobrą wartością dla tych danych, których zakres wynosi c (-3,3), ale nie jest to dobry zakres dla danych, których zakres wynosi c (0,5000). Czy jest jakaś funkcja, która to oblicza?max-min/30
jest dość powszechnym „wiadrem” rozmiar ... ale może to być dobry punkt wyjścia.scale_x_date(date_breaks = "5 months", date_minor_breaks = "1 months")
coord_cartesian
należy użyć zamiastxlim
. stackoverflow.com/questions/25685185/…Na podstawie komentarza Daniela Kriziana możesz także użyć
pretty_breaks
funkcji zscales
biblioteki, która jest importowana automatycznie:Wszystko, co musisz zrobić, to wstawić żądaną liczbę kleszczy
n
.Nieco mniej przydatne rozwiązanie (ponieważ musisz ponownie określić zmienną danych), możesz użyć wbudowanej
pretty
funkcji:źródło
scales
ale nie dodaje funkcji do przestrzeni nazw. Możesz więc zadzwonić do nich bez importu jakoscales::pretty_breaks(n = 10)
.Możesz podać argument funkcji
scale
, a ggplot użyje tej funkcji do obliczenia lokalizacji zaznaczenia.źródło
number_ticks
. Zostało to już zaimplementowane wpretty_breaks {scales}
. Stąd:ggplot(dat, aes(x,y)) + geom_point() + scale_x_continuous(breaks=pretty_breaks(n=10)) + scale_y_continuous(breaks=pretty_breaks(n=10))
require(scales)
2) wydaje się, że zapobiega to pojawianiu się moich przerw w notacji naukowej, stąd 1e6 zmienia się na 1000000 ??pretty
bezscales
pakietu, po prostu podaj wartości jako argument. Na przykład:(breaks=pretty(dat$x, n=10))
Nadchodząca wersja v3.3.0 z
ggplot2
będzie dostępna opcjan.breaks
automatycznego generowania przerw dlascale_x_continuous
iscale_y_continuous
źródło
Do tego,
Działa dla binowanych lub dyskretnych skalowanych danych osi X (tj. Zaokrąglanie nie jest konieczne).
źródło