source

어떻게 빈 그림을 그릴까요?

factcode 2023. 7. 8. 11:13
반응형

어떻게 빈 그림을 그릴까요?

저는 빈 줄거리를 만들어야 합니다.이것이 제가 생각해 낼 수 있는 최선입니다.

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

더 간단한 해결책이 있습니까?

추신: 완전히 비어 있음, 축 없음 등.

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

plot.new()

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

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

그래픽의 축 한계를 지정할 수 있습니다.

다음은 그림에 아무 것도 표시되지 않으며 빈 상태로 표시됩니다.

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

이는 다음을 생성합니다.

enter image description here

이 기능은 나중에 다음 내에 선 또는 점을 추가할 때 유용합니다.for루프 또는 유사한 것.변경하는 것을 기억하십시오.xlim그리고.ylim그래프로 표시할 데이터를 기반으로 하는 값입니다.

참고로 다음과 같습니다.상자 그림, 바이올린 그림 및 군집 그림에도 사용할 수 있습니다.덧붙이는 것을 잊지 않는 사람들을 위해add = TRUE플롯 기능으로 지정합니다.at =그래프를 표시할 숫자를 지정합니다(설정하지 않은 경우 기본값은 x축).horz = TRUE이 기능들에서.

예를 들어, 사용 중인 경우 새 그림을 트리거하려는 경우layout()당신은 더 잘 지내요.plot.new()예를 들어 다음의 경우 첫 번째 행의 양쪽에 빈 플롯을 추가하여 패딩을 추가합니다.

layout(mat = matrix(c(1,2,2,3,
                      4,4,5,5),
                    nrow = 2,
                    byrow = TRUE))
plot.new()
plot(iris[, 1:2])
plot.new()
plot(iris[, 1:2])
plot(iris[, 1:2])

이 그래프에서 저는 제가 의미하는 바를 명확히 하기 위해 지역에 수동으로 주석을 달았습니다.

enter image description here

그리고 다음은 실제로 얻을 수 있는 것입니다.

enter image description here

이는 기존 솔루션보다 약간 단순합니다.

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

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솔루션, 또는 패키지 중 하나를 사용할 수 있습니다.

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

reprex 패키지(v0.2.1.9000)에 의해 2019-03-17에 생성되었습니다.

또 다른 간단한ggplot2옵션은 다음과 같이 gem_blank를 사용합니다.

library(ggplot2)
ggplot() +
  geom_blank()

reprex v2.0.2를 사용하여 2022-08-21에 생성됨

보시다시피 그림이 비어 있습니다.

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

반응형