IT

ggplot2로 만든 전체의 배경색을 어떻게 변경합니까?

lottoking 2020. 9. 16. 07:58
반응형

ggplot2로 만든 전체의 배경색을 어떻게 변경합니까?


기본적으로 ggplot2는 회색 배경을 생성합니다. 어디의 배경색을 어떻게 변경합니까?

예를 들어, 다음 코드로 생성 된 것 :

library(ggplot2)
myplot<-ggplot(data=data.frame(a=c(1,2,3), b=c(2,3,4)), aes(x=a, y=b)) + geom_line()
myplot

패널의 배경색을 변경하려는 다음 코드를 사용하십시오.

myplot + theme(panel.background = element_rect(fill = 'green', colour = 'red'))

색상을 변경할 수 있습니다. (일정의 색상은 아님) 다음을 수행 할 수 있습니다.

myplot + theme(plot.background = element_rect(fill = 'green', colour = 'red'))

자세한 테마 세부 정보는 여기를 참조하십시오 . 범례, 축 및 테마에 대한 빠른 참조 시트 .


더 이상 사용하지 opts않고 theme_rect사용하지 않고 다음을 수행하십시오.

myplot + theme(panel.background = element_rect(fill='green', colour='red'))

theme_gray를 기반으로하지만 일부 변경 사항과 격자 선 색상 / 크기 제어가 포함 된 몇 가지 추가 사항을 기반으로 사용자 정의 테마를 정의합니다 (ggplot2.org에서 더 많은 옵션을 사용할 수 있음 ).

theme_jack <- function (base_size = 12, base_family = "") {
    theme_gray(base_size = base_size, base_family = base_family) %+replace% 
        theme(
            axis.text = element_text(colour = "white"),
            axis.title.x = element_text(colour = "pink", size=rel(3)),
            axis.title.y = element_text(colour = "blue", angle=45),
            panel.background = element_rect(fill="green"),
            panel.grid.minor.y = element_line(size=3),
            panel.grid.major = element_line(colour = "orange"),
            plot.background = element_rect(fill="red")
    )   
}

마스킹없이 ggplot이 나중에 호출 될 때 사용자 정의 테마를 설정으로 설정 다음을 수행하십시오.

theme_set(theme_jack())

현재 하나의 테마의 요소를 변경하려는 경우 :

theme_update(plot.background = element_rect(fill="pink"), axis.title.x = element_text(colour = "red"))

현재 기본 테마를 개체로 저장 비용 :

theme_pink <- theme_get()

참고 theme_pink리스트 반면 인 theme_jack함수이다. 따라서 테마를 theme_jack use theme_set(theme_jack())로 되돌리려면 theme_pink use로 돌아가십시오 theme_set(theme_pink).

은 대체 할 당신 수 있습니다 theme_graytheme_bw의 정의에 theme_jack원하는 경우. 사용자 정의 테마가 유사 theme_bw하지만 모든 격자 선 (x, y, 주 및 부)이 꺼져있는 경우 :

theme_nogrid <- function (base_size = 12, base_family = "") {
    theme_bw(base_size = base_size, base_family = base_family) %+replace% 
        theme(
            panel.grid = element_blank()
    )   
}

마지막으로 ggplot에서 등치 또는 다른 맵을 플로팅 할 때 유용한 것보다 급진적 인 테마는 여기 에서 논의를 기반으로 하지만 지원 중단을 피하기 위해 업데이트되었습니다. 여기서 목표는 회색 배경과지도에서 산만 할 수있는 기타 기능을 제거하는 것입니다.

theme_map <- function (base_size = 12, base_family = "") {
    theme_gray(base_size = base_size, base_family = base_family) %+replace% 
        theme(
            axis.line=element_blank(),
            axis.text.x=element_blank(),
            axis.text.y=element_blank(),
            axis.ticks=element_blank(),
            axis.ticks.length=unit(0.3, "lines"),
            axis.ticks.margin=unit(0.5, "lines"),
            axis.title.x=element_blank(),
            axis.title.y=element_blank(),
            legend.background=element_rect(fill="white", colour=NA),
            legend.key=element_rect(colour="white"),
            legend.key.size=unit(1.2, "lines"),
            legend.position="right",
            legend.text=element_text(size=rel(0.8)),
            legend.title=element_text(size=rel(0.8), face="bold", hjust=0),
            panel.background=element_blank(),
            panel.border=element_blank(),
            panel.grid.major=element_blank(),
            panel.grid.minor=element_blank(),
            panel.margin=unit(0, "lines"),
            plot.background=element_blank(),
            plot.margin=unit(c(1, 1, 0.5, 0.5), "lines"),
            plot.title=element_text(size=rel(1.2)),
            strip.background=element_rect(fill="grey90", colour="grey50"),
            strip.text.x=element_text(size=rel(0.8)),
            strip.text.y=element_text(size=rel(0.8), angle=-90) 
        )   
}

참고 URL : https://stackoverflow.com/questions/6736378/how-do-i-change-the-background-color-of-a-plot-made-with-ggplot2

반응형