반응형
dev.hold, dev.flush 및 창 크기 조정
R에서는 장치를 잡고 그림을 그린 다음 장치를 플러시하여 그래픽을 렌더링 할 수 있습니다. 이것은 유지하지 않으면 각 플로팅 작업 후에 장치가 새로 고쳐지기 때문에 수천 개의 데이터 포인트, 색상 그라데이션 등이있는 매우 복잡한 플롯에 유용합니다. 아주 잘 작동합니다.
그러나 플롯이 제자리에 있으면 크기 조정과 같은 모든 창 작업으로 인해 플롯이 새로 고쳐 지지만 이번에는 장치를 잡고 플러시하지 않고 플롯 요소를 하나씩 플로팅하고 매번 디스플레이를 새로 고칩니다. . 이것은 매우 성가신 일입니다.
분명히 dev.hold
창 크기를 조정하기 전에 수동으로 전화를 걸 수 있지만 이것은 실제 해결책이 아닙니다.
크기 조정과 같은 작업을 위해 장치를 보류해야한다고 R에게 알리는 방법이 있습니까?
Dan Slone 및 gdkrmr 실행 가능한 옵션은 중간 래스터 파일을 사용하여 복잡한 그래픽을 그리는 것입니다.
흐름은 다음과 같습니다.
png
파일에 플롯을 저장 합니다.- 화면 장치에 이미지를 플로팅합니다.
그 후에는 새로 고침 및 크기 조정에 문제가 없습니다.
아래 코드를 참조하십시오.
# plotting through png
plot.png <- function(x, y) {
require(png)
tmp <- tempfile()
png(tmp, width = 1920, height = 1080)
plot(x, y, type = "l")
dev.off()
ima <- readPNG(tmp)
op <- par(mar = rep(0, 4))
plot(NULL, xlim = c(0, 100), ylim = c(0, 100), xaxs = "i", yaxs = "i")
rasterImage(ima, 0, 0, 100, 100, interpolate = TRUE)
par(op)
unlink(tmp)
}
t <- 1:1e3
x <- t * sin(t)
y <- t * cos(t)
# without buffering
# plot(x, y, type = "l")
# with buffering in high-res PNG-file
plot.png(x, y)
참조 URL : https://stackoverflow.com/questions/42387436/dev-hold-dev-flush-and-resizing-windows
반응형
'your programing' 카테고리의 다른 글
WCF ExceptionShielding 오류 ID가 처리기에 전달 된 handlingInstanceId와 일치하지 않습니다. (0) | 2020.12.31 |
---|---|
원격 큐에 대한 클라이언트 JBoss 연결을 재활용 한 후에도 SpyJMSExceptions가 계속 발생하는 이유는 무엇입니까? (0) | 2020.12.31 |
R에서 표준 소프트웨어 디자인 패턴 구현 (MVC에 중점) (0) | 2020.12.31 |
웹 애플리케이션없이 Amazon Elastic Beanstalk로 .NET Windows 서비스 배포 (0) | 2020.12.31 |
왜`std :: initializer_list`가 리터럴 유형으로 정의되지 않습니까? (0) | 2020.12.31 |