ggplot2
및 을 사용하여 플롯을 만들고 싶습니다 geom_tile()
. 타일의 높이와 너비가 같으면 x와 y 축이 모두 분리되어 있으면 제대로 작동하는 것 같습니다 (여기에서 논의한대로 ggplot2 geom tile height 및 width 조정 ).
그러나 연속으로 해석되는 x 축에 값이있는 경우 x 축 (MWE1)에 대해 이산 배율을 사용할 때 플롯에 많은 회색 공간이 생기고 종횡비가 1이되지 않거나 연속 스케일로 회색 공간이없는 플롯을 얻지 만 여전히 종횡비가 1 (MWE2)이 아닙니다. (이미지를 삽입했지만 평판이 충분히 높지 않아 허용되지 않는 것 같습니다.)
MWE1 :
my <- data.frame(x=c(rep(c(0.1),3),rep(c(0.3),3),rep(c(0.5),3)),y=rep(c("frac(SP1)=0.5", "frac(SP1)=0.7", "frac(SP2)=0,3"),3),z=sample(seq(1:50),9))
p <- ggplot(my, aes(x, y)) + geom_tile(aes(fill = z)) +
scale_fill_gradient(low = "white",high = "steelblue") +
theme_grey() +
labs(x = "", y= "") +
scale_x_discrete(expand = c(0,0)) +
scale_y_discrete(expand = c(0,0)) +
coord_fixed(ratio=1) +
theme(axis.ticks = element_blank())
MWE2 :
my <- data.frame(x=c(rep(c(0.1),3),rep(c(0.3),3),rep(c(0.5),3)),y=rep(c("frac(SP1)=0.5", "frac(SP1)=0.7", "frac(SP2)=0,3"),3),z=sample(seq(1:50),9))
p <- ggplot(my, aes(x, y)) + geom_tile(aes(fill = z)) +
scale_fill_gradient(low = "white",high = "steelblue") +
theme_grey() +
labs(x = "", y= "") +
scale_x_continuous(breaks=c(0.1,0.3,0.5),expand = c(0,0)) +
scale_y_discrete(expand = c(0,0)) +
coord_fixed(ratio=1) +
theme(axis.ticks = element_blank())
불연속 및 연속 스케일을 처리 할 때 종횡비를 제어 할 수있는 방법이 있습니까? 또는 ggplot2에게 x 값을 이산으로 해석하도록 지시하는 방법은 무엇입니까?
귀하의 질문을 잘 이해하지 못하지만 이것이 귀하가 원하는 것입니다.
p <- ggplot(my, aes(factor(x), y)) + geom_tile(aes(fill = z)) +
scale_fill_gradient(low = "white",high = "steelblue") +
theme_grey() +
labs(x = "", y= "") +
coord_fixed() +
theme(axis.ticks = element_blank())
print(p)
x
어쨌든 실제로 연속적이지 않기 때문에 변수를 요인으로 변환 했습니다. 이제 3x3 히트 맵을 얻습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다