그래프 > 그래프를 파일로 저장하기 > PDF/Postscript/EPS로…
Graphs > Save graph to file > As PDF/Postscript/EPS...
'Graphs > Save graph to file' 카테고리의 다른 글
3. 3D RGL graph... (0) | 2022.03.07 |
---|---|
1. As bitmap... (0) | 2022.02.27 |
그래프 > 그래프를 파일로 저장하기 > PDF/Postscript/EPS로…
Graphs > Save graph to file > As PDF/Postscript/EPS...
3. 3D RGL graph... (0) | 2022.03.07 |
---|---|
1. As bitmap... (0) | 2022.02.27 |
그래프 > 그래프를 파일로 저장하기 > bitmap으로…
Graphs > Save graph to file > As bitmap...
3. 3D RGL graph... (0) | 2022.03.07 |
---|---|
2. As PDF/Postscript/EPS... (0) | 2022.02.27 |
그래프 > 색인 그림...
Graphs > Index plot...
데이터셋이 활성화되어 있는 경우, 색인 그림(index plot)을 사용할 수 있다. 예를 들어, carData 패키지의 Prestige 데이터셋이 활성화되어있다고 하자.
Prestige 데이터셋에 있는 education 변수의 색인 그림을 만들자. 메뉴창에 있는 variable (pick one or more) 에서 education을 선택한다. 그 아래에 있는 <집단별 표시...>에서 요인형 변수를 선택하여 요인 수준별로 색인 그림을 출력할지 결정할 수 있다(이 설명에서는 이 기능을 사용하지 않는다). 그리고 <선택기능> 디렉토리로 이동하여 세부사항을 점검한다.
<선택기능>의 메뉴창에 다양한 기능이 있다. <그림 이름표>에서 <y-축 이름표> <그래프 제목>는 자동적으로 변수이름이 사용되고 제목은 미설정되는데, '교육연수'와 'education index plot'이라고 입력하자. 그리고 예(OK) 버튼을 누른다.
새로운 그래픽 장치창이 등장한다. 그리고 그 장치창에 안의 아래 화면 왼쪽에 '교육연수'가, 상단 중앙에 'education index plot'이 출력된다. 한편 그래프 안에 두개의 사례 이름이 겹쳐서 인쇄된 현상을 보게된다.
아래 출력창을 살펴보자. indexplot() 함수의 코드 사용법을 먼저 살펴본다. 앞서 입력한 '교육연수', 'education index plot'이 인자 안에 들어있는 알 수 있다.
indexplot(Prestige[,'education', drop=FALSE], type='h', id.method='y', id.n=2,
ylab="교육연수", main="education index plot")
education 변수의 사례 값 중에서 university.teachers는 15.97, physicians는 15.96라는 두개의 최고 값을 갖는다. 출력창에는 university.teachers, physicians 라는 순서와 함께 사례번호인 21, 24가 출력된다.
한편 그 밑에 있는 명령문은 출력된 그래픽창의 그림을 저장하는 내용을 담고 있다.
dev.print(png, filename="/home/jhshin/사진/Rcmdr/Graphs/indexplot/RGraph_indexplot1.png",
width=13, height=8, pointsize=12, units="in", res=300)
Graphs > Save graph to file 메뉴에서 <bitmap(으)로...> 기능을 선택하면 아래와 같은 선택창이 등장한다. 해상도를 300으로 최대한으로 올려보자. 예(OK) 버튼을 누른다.
그래픽 파일을 저장할 위치를 결정하고, 결정한 파일 이름을 입력하고 저장하기(save)를 누른다. 실용적으로 RGraph_indexplot1.png라고 저장해보자.
?indexplot # RcmdrMisc 패키지의 indexplot 도움말 보기
if (require("car")){
with(Prestige, indexplot(income, id.n=2, labels=rownames(Prestige)))
indexplot(Prestige[, c("income", "education", "prestige")],
groups = Prestige$type, id.n=2)
}
활성화된 데이터셋이 없는 경우, 그래프 메뉴창의 대부분 기능은 비활성화되어 있다.
어느 데이터셋이 활성화되면, 포함된 변수군의 특징에 따라 그래프 메뉴창에서 사용할 수 있는 기능들이 활성화된다. 어느 그래프 기능을 사용할 것인가라는 문제의식은 변수들의 특징에 대한 이해에서 출발해야 한다.
요인형 변수만 있는 데이터셋은 그래프 메뉴에서 제한된 기능만을 사용할 수 있다. 막대그래프, 원그래프 기능이 활성화된다.
수치형 변수(integer, numeric)만 있는 데이데셋은 아래의 그래프 기능을 사용할 수 있다.
활성데이터셋에 제한된 범위의 정수(integer, int)형 변수가 포함되어 있다면 <이산형 수치 변수 그리기...>가 활성화된다.
아래 화면에서 <산점도> <산점도 행렬...> 메뉴 기능을 찾아 보라. 활성 데이터셋에 수치형 변수가 3개 미만 포함되어 있다면 <산점도 행렬>이 비활성화되어 있을 것이다.
그래프 > 색 팔레트...
Graphs > Color palette...
<색 팔레트...> 기능을 선택하면 8개의 주요 색깔이 등장하고 그 색의 16진수(hexadecimal)값과 이름이 표시된다.
다섯째 색인 cyan, 일곱째 색인 yellow를 각각 gold, orange로 바꿔보자.
gold의 16진수 값인 #fad800, orange의 16진수 값인 #ffa500을 기억하자. cyan의 16진수 값인 #00ffff, yellow의 16진수 값인 #ffff00을 기억하자. gold를 cyan으로, orange를 yellow로 다시 바꿔보자. Selection: #fad800을 cyan의 #00ffff로 바꾸고 실행(엔터키)을 한다.
yellow로 바꾸려면, 16진수 값 #ffff00을 입력하고 실행(엔터키)을 한다. 다음과 같이 바뀔 것이다:
?palette # grDevices 패키지의 palette 도움말 보기
require(graphics)
palette() # obtain the current palette
palette("R3");palette() # old default palette
palette("ggplot2") # ggplot2-style palette
palette()
palette(hcl.colors(8, "viridis"))
(palette(gray(seq(0,.9,len = 25)))) # gray scales; print old palette
matplot(outer(1:100, 1:30), type = "l", lty = 1,lwd = 2, col = 1:30,
main = "Gray Scales Palette",
sub = "palette(gray(seq(0, .9, len=25)))")
palette("default") # reset back to the default
## on a device where alpha transparency is supported,
## use 'alpha = 0.3' transparency with the default palette :
mycols <- adjustcolor(palette(), alpha.f = 0.3)
opal <- palette(mycols)
x <- rnorm(1000); xy <- cbind(x, 3*x + rnorm(1000))
plot (xy, lwd = 2,
main = "Alpha-Transparency Palette\n alpha = 0.3")
xy[,1] <- -xy[,1]
points(xy, col = 8, pch = 16, cex = 1.5)
palette("default")
## List available built-in palettes
palette.pals()
## Demonstrate the colors 1:8 in different palettes using a custom matplot()
sinplot <- function(main=NULL) {
x <- outer(
seq(-pi, pi, length.out = 50),
seq(0, pi, length.out = 8),
function(x, y) sin(x - y)
)
matplot(x, type = "l", lwd = 4, lty = 1, col = 1:8, ylab = "", main=main)
}
sinplot("default palette")
palette("R3"); sinplot("R3")
palette("Okabe-Ito"); sinplot("Okabe-Ito")
palette("Tableau") ; sinplot("Tableau")
palette("default") # reset
## color swatches for palette.colors()
palette.swatch <- function(palette = palette.pals(), n = 8, nrow = 8,
border = "black", cex = 1, ...)
{
cols <- sapply(palette, palette.colors, n = n, recycle = TRUE)
ncol <- ncol(cols)
nswatch <- min(ncol, nrow)
op <- par(mar = rep(0.1, 4),
mfrow = c(1, min(5, ceiling(ncol/nrow))),
cex = cex, ...)
on.exit(par(op))
while (length(palette)) {
subset <- seq_len(min(nrow, ncol(cols)))
plot.new()
plot.window(c(0, n), c(0.25, nrow + 0.25))
y <- rev(subset)
text(0, y + 0.1, palette[subset], adj = c(0, 0))
y <- rep(y, each = n)
rect(rep(0:(n-1), n), y, rep(1:n, n), y - 0.5,
col = cols[, subset], border = border)
palette <- palette[-subset]
cols <- cols [, -subset, drop = FALSE]
}
}
palette.swatch()
palette.swatch(n = 26) # show full "Alphabet"; recycle most others