질문 : this으로 확장됩니다. 기본적으로 bty = "n"
을 길 ggplot2 그래프에 추가하고 싶습니다. 여기에 적절한 강조점이 있기 때문에 다른 질문에 대한 해결책은 내가 원하는 것,이 세부 사항을 제외하고 : 축선이 진드기의 끝까지, 중간까지는 계속 될 것이라고 나는 그것을 원합니다. 첫째, 그래프 코드 :bty = "n"인 ggplot 또는 좌표 그리기에 그리드 좌표를 추가하는 방법
library(ggplot2)
library(grid)
graph = ggplot(faithful, aes(x=eruptions, y=waiting)) +
geom_point(shape=21) +
theme(
# tick width, a bit exaggerated as example
axis.ticks = element_line(size = 5, color = "gray")
)
graph # graph with no axis lines
# get axis limits
gb = ggplot_build(graph)
xLim = range(gb$layout$panel_ranges[[1]]$x.major_source)
yLim = range(gb$layout$panel_ranges[[1]]$y.major_source)
# add lines
graph +
geom_segment(y = -Inf, yend = -Inf, x = xLim[1], xend = xLim[2]) +
geom_segment(x = -Inf, xend = -Inf, y = yLim[1], yend = yLim[2])
그래서 문제는 : 나는 90까지 50에서 x 축에 그려 단, 표시 점은 50와 90을 중심으로하는, 그러므로 그들이에 size = 5
의 절반으로 확장 양쪽. ?element_line
은 라인/테두리 크기가 기본적으로 mm임을 알려줍니다.
xLim = range(gb$layout$panel_ranges[[1]]$x.major_source)
yLim = range(gb$layout$panel_ranges[[1]]$y.major_source)
uType = "npc"
uType2 = "mm"
# attempt conversion of units
xLim[1] = xLim[1] - convertWidth(unit(2.5, units = uType2),
unitTo = uType, valueOnly = TRUE)
xLim[2] = xLim[2] + convertWidth(unit(2.5, units = uType2),
unitTo = uType, valueOnly = TRUE)
yLim[1] = yLim[1] - convertHeight(unit(2.5, units = uType2),
unitTo = uType, valueOnly = TRUE)
yLim[2] = yLim[2] - convertHeight(unit(2.5, units = uType2),
unitTo = uType, valueOnly = TRUE)
# redraw graph
cairo_pdf("Rplot.pdf")
graph +
geom_segment(y = -Inf, yend = -Inf, x = xLim[1], xend = xLim[2]) +
geom_segment(x = -Inf, xend = -Inf, y = yLim[1], yend = yLim[2])
dev.off()
하지만 아무런 행운 : 나는 다음 (많은 변화) 시도 90 + 5mm/2까지 5mm/2 - 따라서 나는 50 선을 그어야 할. 어떤 아이디어?