MWE부터 시작하겠습니다.
library(ggplot2)
p <- ggplot(mtcars, aes(factor(cyl), mpg, fill = factor(am)))
p + geom_boxplot()
수염의 색상을 수정하고 싶습니다 (예 : 빨간색으로 설정). 이 두 가지를 직접 수행하는 것이 가능하지 않다고 생각 geom_boxplot
하므로 이것이 내 해결 방법입니다.
library(Hmisc)
stat_sum_df <- function(fun, geom = "crossbar", ...) {
stat_summary(fun.data = fun, geom = geom, width = 0.4, ...)
}
p + stat_boxplot(geom = 'linerange', colour = "red", position = "dodge) +
stat_sum_df("median_hilow", conf.int = 0.5, position = "dodge")
라인 범위는 서로 겹쳐집니다. 그래서 다음 시도 :
p + stat_boxplot(geom = 'linerange', colour = "red", position = position_dodge(width = .5)) +
stat_sum_df("median_hilow",conf.int=0.5, position = position_dodge(width = .5))
더 멋져 보이지만 이제 상자 사이에 고정 된 공간이 있습니다 (첫 번째 및 세 번째 플롯에서 cyl = 8 비교). 이 코드를 다른 수준의 수준에 사용할 am
것이므로 (물론 실제 데이터에서는 그렇지 않습니다 am
), 상자 자체의 너비를 미리 알지 못하므로 고정 값을 설정할 수 없습니다. width
에 대한 linerange
A가 고정 지정하지 않고 width
상자를 위해.
a의 수염을 선택적으로 수정 boxplot
하거나 linerange
상자 사이의 간격에 따라 요소 사이의 간격을 조정 하는 방법이 있습니까?
두 개의 상자 그림을 서로 위에 플로팅하는 것은 어떻습니까? 하나는 빨간색 선이 있고 다른 하나는 위스커가 전혀없는 맨 위에 있습니다.
p + geom_boxplot(color="red") + geom_boxplot(aes(ymin=..lower.., ymax=..upper..))
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다