it-swarm.com.de

Wie zeichnet man ein leeres Grundstück?

Ich muss ein leeres Grundstück machen. Das ist das Beste, was ich mir vorstellen kann.

plot(0, xaxt = 'n', yaxt = 'n', bty = 'n', pch = '', ylab = '', xlab = '')

Irgendwelche einfacheren Lösungen? 

P .: vollständig leer, keine Achse usw.

83
Adam SO

Wie wäre es mit etwas wie:

plot.new()
89
Joshua Ulrich

Ich schlage vor, dass jemand ein leeres Diagramm erstellen muss, um später Grafiken hinzuzufügen. Also verwenden

plot(1, type="n", xlab="", ylab="", xlim=c(0, 10), ylim=c(0, 10))

sie können die Achsengrenzen Ihrer Grafik festlegen.

48
stukselbax

Dies ist geringfügig einfacher als Ihre ursprüngliche Lösung:

plot(0,type='n',axes=FALSE,ann=FALSE)
20
Ben Bolker

Das Folgende zeichnet nichts in der Zeichnung und bleibt leer.

plot(NULL, xlim=c(0,1), ylim=c(0,1), ylab="y label", xlab="x lablel")

Dies ist nützlich, wenn Sie nachträglich Linien oder Punkte innerhalb einer for-Schleife oder etwas Ähnlichem hinzufügen möchten. Denken Sie daran, die Werte xlim und ylim basierend auf den Daten zu ändern, die Sie zeichnen möchten.

16

Adam, nach dem obigen Kommentar ("Ich wollte, dass das leere Diagramm als Füllmaterial in einem Multiplot (mfrow-Diagramm) dient"), möchten Sie eigentlich die Option mfg

    par(mfg=c(row,column))

- Welches steuert, wo Sie den nächsten Plot platzieren möchten. Um beispielsweise ein Diagramm in die Mitte eines 3x3-Multiplots zu setzen, tun Sie dies

    par(mfrow=c(3,3))
    par(mfg=c(2,2))
    plot(rnorm(10))
15
Dag Hjermann

Sie benötigen ein neues Diagrammfenster und auch ein Koordinatensystem. Sie benötigen also plot.new() und plot.window(). Dann können Sie Diagrammelemente hinzufügen:

plot.new( )
plot.window( xlim=c(-5,5), ylim=c(-5,5) )

points( rnorm(100), rnorm(100) )
axis( side=1 )

Beispiel Plot

11
why.knot

Es gibt ein Interesse an Ihrer Lösung, das plot.new() nicht hat: In der leeren Zeichnung "zeichnen" Sie mit text(x = ..., y = ..., your_text) Text an angegebenen Koordinaten.

4
Dotoma
grid.newpage() ## If you're using ggplot

grid() ## If you just want to activate the device.
2

Ein leeres Diagramm mit einigen Texten, deren Position festgelegt ist.

plot(1:10, 1:10,xaxt="n",yaxt="n",bty="n",pch="",ylab="",xlab="", main="", sub="")
mtext("eee", side = 3, line = -0.3, adj = 0.5)
text(5, 10.4, "ddd")
text(5, 7, "ccc")
0
Nick Dong

Wenn jemand nach einer ggplot2-Lösung sucht, können Sie entweder cowplot oder patchwork -Pakete verwenden

library(ggplot2)

### examples from cowplot vignettes
plot.mpg <- ggplot(mpg, aes(x = cty, y = hwy, colour = factor(cyl))) +
  geom_point(size = 2.5)
plot.diamonds <- ggplot(diamonds, aes(clarity, fill = cut)) + 
  geom_bar() +
  theme(axis.text.x = element_text(angle = 0, vjust = 0.5))

library(cowplot)
### use NULL
plot_grid(plot.mpg, NULL, NULL, plot.diamonds,
  labels = c("A", "B", "C", "D"),
  ncol = 2
)

# Note: if you want to initialize an empty drawing canvas, use ggdraw() 

library(patchwork)
### use plot_spacer()
plot.mpg + plot_spacer() + plot_spacer() + plot.diamonds +
  plot_layout(ncol = 2) +
  plot_annotation(
    title = "Plot title",
    subtitle = "Plot subtitle",
    tag_levels = "A",
    tag_suffix = ")"
  )

Erstellt am 17.03.2019 durch das Paket reprex (v0.2.1.9000)

0
Tung