2014-03-25 3 views
2

(R 산점도) Y 축 라벨 색상을 지정하고 굵게 표시하고 다른 부분은 기울임 꼴로 표시하고 싶습니다. 나는 textA이 대담하고 색 (적색) 할 수있는 방법과 :Scatterplot : 축 레이블에 색을 붙이고 이탤릭체로 표시

png("test.png", height=800, width=600, pointsize=15) 
par(mar=c(5,12,.25,1)) 
textA=seq(0,100,25) 
textB=c("start","intermediate1","intermediate2","intermediate3","stop") 
plot(c(0,runif(8),1),c(0,runif(8),1),axes=F,ylab=NA) 
axis(1) 
axis(2, at=seq(0,1,.25), labels=paste(textA,"-",textB,sep=""),las=2,cex.axis=1.5) 
dev.off() 

질문 : 나는 글꼴, 굵은 기울임 꼴 만들고 그것을 색상을 제공 제외하고, 모든 것이 이루어집니다 매우 간단한 플로팅 스크립트에서 시작 동시에 textB를 굵은 체의 표준 색상 (검은 색)이 아닌 기울임 체로 만듭니다.

고마워요.

답변

1

난 후, textAtextB 모두 axis를 사용하면 때까지 line 함께 놀러 것을 허용되는 간격.

편집 : 레이블 안에 다른 색상과 글꼴을 갖는 방법을 모르겠습니다. 이 문제를 해결하기 위해 변수 x 위치와 함께 text을 사용하여 두 텍스트를 밀접하게 배치 할 수 있습니다. 창 크기를 조정하면 오프셋을 조정해야 할 수도 있습니다. 이것으로 찾고에 대한

par(mar=c(5,13,.25,1)) 
textA=seq(0,100,25) 
textB=c("start","intermediate1","intermediate2","intermediate3","stop") 
plot(c(0,runif(8),1),c(0,runif(8),1),axes=F,ylab=NA) 
axis(1) 

# add textA and textB 
axis(2, at=seq(0,1,.25), labels=textB, font=3, col.axis=1,las=2,cex.axis=1.5, line=1) 
text(x=c(-0.3,-0.55,-0.55,-0.55,-0.3), y=seq(0,1,.25), textA, xpd=NA, col=2, font=2, cex=1.5) 

# check which offset we need for textA: 
# abline(v=seq(-1,0,.1), xpd=NA, col=2) 
# text(,x=seq(-1,0,.1),y=rep(0,11),labels=seq(-1,0,.1),xpd=NA) 

updated result

+0

내 문제를 조사해 주셔서 대단히 감사합니다. 이것은 이미 아주 좋아 보인다. 그러나 f. '0'으로 시작하면 모양이 상당히 '불안'합니다. 축으로 처리하기 전에 텍스트를 작성하는 방법이있을 수 있습니까? – user3219379

+0

당신은 최고입니다! 정말 고마워! 불행히도 나는 당신에게 투표하기에 충분한 평판을 얻지 못한다 : ( – user3219379

+0

좋아, 곧 그 특권을 누릴 것이다! 당신이 원한다면 대답을 받아 들여라. '대답을 받아 들일 수있는 것으로 표기하려면 대답 옆의 체크 표시를 클릭한다. 회색으로 바뀌면서 채워졌다 .' – koekenbakker

0

나는 ggplot2와 함께 다음과 같은 것을 할 것 :

# create a dataframe 
x <- c(0,runif(8),1) 
y <- c(0,runif(8),1) 
df <- as.data.frame(cbind(x, y)) 

# loading ggplot2 package 
require(ggplot2) 

# creating the plot 
ggplot(df, aes(x=x, y=y)) + 
    geom_point(shape = 21, size = 4) + 
    scale_x_continuous("x-axis-label") + 
    scale_y_continuous("", breaks=c(0,0.25,0.50,0.75,1.00), 
        labels=c("start","intermediate1","intermediate2","intermediate3","stop")) + 
    theme_classic() + 
    theme(axis.text.x = element_text(size=14, face="italic"), 
     axis.text.y = element_text(size=14, colour = "red", face="bold"), 
     axis.title.x = element_text(vjust=-1)) 

결과 :

enter image description here

+0

감사 야프을; 사실 내 요점은 다소 다르다. 단지 Y 축에 관한 것이고 붙여 넣기로 연결된 두 부분 (textA와 textB)으로 구성되어있다. 첫 번째 부분은 굵게 표시되고 (빨간색) 두 번째 부분 (textB)은 기울임 꼴이어야합니다. 결국에는 붙여 넣기가없는 해결책이있을 수 있습니다. idont는 이러한 개별 설정을 '축'에주는 방법을 알고 있습니다. 너 이해를위한 Thx. – user3219379