Rozważ następujący wykres:
x <- 1:100
y1 <- rnorm(100)
y2 <- rnorm(100)+100
par(mar=c(5,5,5,5))
plot(x,y1,pch=0,type="b",col="red",yaxt="n",ylim=c(-8,2),ylab="")
axis(side=2, at=c(-2,0,2))
mtext("red line", side = 2, line=2.5, at=0)
par(new=T)
plot(x,y2,pch=1,type="b",col="blue",yaxt="n",ylim=c(98,108), ylab="")
axis(side=4, at=c(98,100,102), labels=c("98%","100%","102%"))
mtext("blue line", side=4, line=2.5, at=100)
Jak mogę usunąć automatycznie generowane ramki i zachować tylko linie osi, aby uzyskać styl Tufte?
r
data-visualization
Hugo Sereno Ferreira
źródło
źródło
bty
argument?par
, na przykładbty="n"
. Możesz przekazać ten argument w swoim wezwaniu doplot
.Odpowiedzi:
Dodaj
bty="n"
oba polecenia wydruku.W przypadku szeregów czasowych dodaj
frame.plot=FALSE
ten sam efekt.Bardziej wymyślne topory Tufte można znaleźć na stronie http://www.cl.cam.ac.uk/~sjm217/projects/graphics/
źródło
Jest to proste do zrobienia, wystarczy dołączyć argument
axes=FALSE
. Rozważać:Pamiętaj, że działa to równie dobrze w przypadku histogramów:
źródło
Jeśli użyjesz
Przed wywołaniem działki, która naprawi go w zoo. Może to również naprawić w różnych sytuacjach, w których nie można go przekazać do polecenia drukowania.
(Sprawdź opcję bty w pomocy par () dla innych rodzajów ramek dla wykresu)
źródło
Odpowiadam na bardziej ogólne pytanie dotyczące usuwania granic na wykresach, bez odniesienia do Tufte.
W przypadku histogramu nie znalazłem, że btn = 'n' pozbyło się granicy.
Rozwiązaniem, które działa dla histogramów i powinno działać dla wszystkich typów wykresów, jest ustawienie typu linii dla granicy na niewidoczny: lty = "blank"
źródło