Programing

빈 플롯을 그리는 방법?

lottogame 2020. 9. 4. 08:00
반응형

빈 플롯을 그리는 방법?


빈 플롯을 만들어야합니다. 이것이 내가 생각할 수있는 최선의 방법입니다.

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

더 간단한 솔루션이 있습니까?

PS : 완전히 비어 있고 축이 없습니다.


다음과 같은 것은 어떻습니까?

plot.new()

나중에 그래픽을 추가하려면 누군가가 빈 플롯을 만들어야한다고 제안합니다. 그래서 사용

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

그래픽의 축 제한을 지정할 수 있습니다.


이것은 원래 솔루션보다 약간 더 간단합니다.

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

다음은 플롯에서 아무것도 플롯하지 않으며 비어있는 상태로 유지됩니다.

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

이것은 for루프 또는 이와 유사한 것 내에서 나중에 선이나 점을 추가하려는 경우에 유용합니다 . 플로팅하려는 데이터를 기반으로 xlimylim을 변경하는 것을 잊지 마십시오.


Adam은 위의 의견 ( "빈 플롯이 다중 플롯 (mfrow) 플롯에서 필러 역할을하고자했습니다.")에 따라 실제로 원하는 것은 mfg 옵션입니다.

    par(mfg=c(row,column))

-다음 플롯을 배치 할 위치를 제어합니다. 예를 들어, 3x3 멀티 플롯의 중간에 플롯을 넣으려면

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

새 플롯 창을해야하고, 또한 좌표계, 당신이 필요 있도록 plot.new()하고 plot.window()다음 그래프 요소를 추가 시작할 수 있습니다 :

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

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

예제 플롯


plot.new()그래도 솔루션에 관심이 있습니다 . 빈 플롯에서 "그리기"를 사용하여 지정된 좌표에 텍스트를 쓸 수 있습니다 text(x = ..., y = ..., your_text).


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

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

위치가 설정된 일부 텍스트가있는 빈 플롯.

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")

누구든지 ggplot2솔루션을 찾고 있다면 cowplot또는 patchwork패키지를 사용할 수 있습니다.

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 = ")"
  )

2019 년 3 월 17 일에 reprex 패키지 (v0.2.1.9000)로 생성됨

참고 URL : https://stackoverflow.com/questions/4785657/how-to-draw-an-empty-plot

반응형