@Adam, nie wiem, co masz na myśli, mówiąc „R właściwe”.
Joshua Ulrich
@Joshua, przepraszam plot.new () działa dobrze, nie ma potrzeby używania x11 (). Powiedziałem R właściwe, ponieważ myślałem, że x11 () jest częścią twojego rozwiązania, ale działa bez niego.
Adam SO
1
@Adam x11()to wieloplatformowe polecenie R do otwierania nowego urządzenia. Jeśli masz otwarte urządzenie i zadzwonisz plot.new(), bieżące urządzenie zostanie wyczyszczone.
Joshua Ulrich
1
Czy jest przewaga do x11()pokonania dev.new()? Instynkt podpowiada mi, aby wybrać to drugie, aby dostosować się do dowolnego domyślnego urządzenia lokalnego, ale nie jestem pewien, jak to działa.
Matt Parker
@Matt: używam x11()z przyzwyczajenia. Nie jestem ekspertem od kreślenia w R ale po przejrzeniu dokumentacji dev.new()pewnie byłoby lepiej.
Joshua Ulrich
63
Sugeruję, aby ktoś zrobił pustą fabułę, aby później dodać na niej trochę grafiki. Więc używając
Jest to przydatne, gdy chcesz później dodać linie lub kropki w forpętli lub coś podobnego. Pamiętaj tylko, aby zmienić wartości xlimi ylimna podstawie danych, które chcesz wykreślić.
Na marginesie:
można to również wykorzystać do wykresów pudełkowych, skrzypcowych i rojów. dla tych pamiętaj, aby dodać add = TRUEdo ich funkcji kreślenia, a także określić, at =na którym numerze chcesz je wykreślić (domyślnie jest to oś x, chyba że ustawiłeś horz = TRUEw tych funkcjach.
Adam, podążając za twoim komentarzem powyżej („Chciałem, aby pusta działka służyła jako wypełniacz na wykresie typu multiplot (mfrow)”), tak naprawdę chcesz, aby opcja mfg
par(mfg=c(row,column))
- który kontroluje, gdzie chcesz umieścić następny dział. Na przykład, aby umieścić działkę w środku multiplotu 3x3, zrób
Potrzebujesz nowego okna wykresu, a także układ współrzędnych, więc trzeba plot.new()i plot.window(), po czym można rozpocząć dodawanie elementów wykresu:
Jest zainteresowanie twoim rozwiązaniem, które plot.new()jednak nie ma: na pustym wykresie, który „rysujesz”, możesz wpisać tekst o określonych współrzędnych text(x = ..., y = ..., your_text).
Po co dodawać tekst? Co to ma wspólnego z „Jak stworzyć pustą fabułę?”. Ogólnie rzecz biorąc, wydaje się to bardziej skomplikowane niż metoda OP w pytaniu plot(0,xaxt='n',yaxt='n',bty='n',pch='',ylab='',xlab=''), ponieważ dodajesz main = "", sub = "", że bez nich uzyskasz ten sam wynik.
x11()
to wieloplatformowe polecenie R do otwierania nowego urządzenia. Jeśli masz otwarte urządzenie i zadzwoniszplot.new()
, bieżące urządzenie zostanie wyczyszczone.x11()
pokonaniadev.new()
? Instynkt podpowiada mi, aby wybrać to drugie, aby dostosować się do dowolnego domyślnego urządzenia lokalnego, ale nie jestem pewien, jak to działa.x11()
z przyzwyczajenia. Nie jestem ekspertem od kreślenia w R ale po przejrzeniu dokumentacjidev.new()
pewnie byłoby lepiej.Sugeruję, aby ktoś zrobił pustą fabułę, aby później dodać na niej trochę grafiki. Więc używając
możesz określić granice osi twojej grafiki.
źródło
Jest to nieznacznie prostsze niż oryginalne rozwiązanie:
źródło
ann=FALSE
, i tak będzie pusty obszar. Ale świetne rozwiązanie, dzięki!Poniższy tekst nie wykreśla nic na wykresie i pozostanie pusty.
Jest to przydatne, gdy chcesz później dodać linie lub kropki w
for
pętli lub coś podobnego. Pamiętaj tylko, aby zmienić wartościxlim
iylim
na podstawie danych, które chcesz wykreślić.Na marginesie: można to również wykorzystać do wykresów pudełkowych, skrzypcowych i rojów. dla tych pamiętaj, aby dodać
add = TRUE
do ich funkcji kreślenia, a także określić,at =
na którym numerze chcesz je wykreślić (domyślnie jest to oś x, chyba że ustawiłeśhorz = TRUE
w tych funkcjach.źródło
Adam, podążając za twoim komentarzem powyżej („Chciałem, aby pusta działka służyła jako wypełniacz na wykresie typu multiplot (mfrow)”), tak naprawdę chcesz, aby opcja mfg
- który kontroluje, gdzie chcesz umieścić następny dział. Na przykład, aby umieścić działkę w środku multiplotu 3x3, zrób
źródło
Potrzebujesz nowego okna wykresu, a także układ współrzędnych, więc trzeba
plot.new()
iplot.window()
, po czym można rozpocząć dodawanie elementów wykresu:przykładowa fabuła
źródło
Jest zainteresowanie twoim rozwiązaniem, które
plot.new()
jednak nie ma: na pustym wykresie, który „rysujesz”, możesz wpisać tekst o określonych współrzędnychtext(x = ..., y = ..., your_text)
.źródło
źródło
grid()
jest niezwiązany z pakietem sieci AFAIKJeśli ktoś szuka
ggplot2
rozwiązania, można użyć jednejcowplot
lubpatchwork
pakietówUtworzono 17.03.2019 przez pakiet reprex (v0.2.1.9000)
źródło
Pusta działka z kilkoma tekstami, które mają ustawione pozycje.
źródło
plot(0,xaxt='n',yaxt='n',bty='n',pch='',ylab='',xlab='')
, ponieważ dodajeszmain = "", sub = ""
, że bez nich uzyskasz ten sam wynik.