2016-06-15 2 views
-1

R 초보자가 여기 있으니 아마도 판사가 될 것입니다.하지만 제 질문은 여기에 있습니다.R에 라벨과 개수가 포함 된 CSV 파일을 플로팅하는 방법은 무엇입니까?

내가 2 열이 매우 간단한 구조 CSV 파일이 : 컬럼 1과 라벨 (ASCII 텍스트 값) 및 각각의 카운트 (숫자) 열 예를 들어 2

을의 CSV는 형식입니다 :

type,count 
cat,23000 
dog,444566, 
wolf,3442 
tiger,306 
... 

"counts"가 y 축이고 x 축이 레이블 인 간단한 선 그래프를 R에 플롯하고자합니다. 실제로 X 축이나 데이터 포인트에 '개' '고양이'와 같은 '라벨'을 볼 수 있기를 바랍니다. R에서 어떻게합니까?

는 여기에 지금까지이 작업은 다음과 같습니다

> heresmydata <- read.csv("data.csv") 
> matplot(heresmydata[, 1], heresmydata[, -1], type="l") 
Warning messages: 
1: In xy.coords(x, y, xlabel, ylabel, log = log) : 
    NAs introduced by coercion 
2: In xy.coords(x, y, xlabel, ylabel, log) : NAs introduced by coercion 
> 

그것은 잘못된 레이블 빈 그래프를 생성합니다.

library("ggplot2") 
ggplot(heresmydata, aes(x = type, y = count)) + 
    geom_bar(stat = "identity") + 
    scale_y_log10() 

답변

1

. 수정하려면 axis, mtextplot을보세요.

읽기에서 : data <- read.csv("data.csv", header=TRUE, stringsAsFactors=FALSE)

플롯 : plot(data$count, type="l", axes=FALSE, ylim=c(min(data$count), max(data$count)), xlab="Creature", ylab="Count")

Y 축 : axis(side=2, at=c(min(data$count), max(data$count)), labels=c(min(data$count), max(data$count)))

X 축 : axis(side=1, at=seq(1,nrow(data),1), labels=data$type)

+0

그 "작품"하지만 결과는 매우 읽을 수있다. 막대 그래프 (선 그래프 대신)와 x 값에 관한 '텍스트 레이블'이 아닌 것 같습니다. 명확성을 위해 일부 y 값은 200과 같이 매우 낮지 만 다른 y 값은 매우 높습니다 (수백만). 또한 CSV에 총 행 수가 1000입니다. – learnerX

+0

정말 선 그래프가 필요한 경우 geom_bar 대신 geom_line을 사용하십시오. 데이터가 수십 배에 이르는 경우 축을 기록해야합니다 (편집 –

+0

신난다 참조). 일부 'x-labels'또는 X 축의 ASCII 텍스트 값이 서로 겹쳐 쓰여지고 있습니다. 그것들을 서로 겹쳐 쓰지 않도록하기 위해 어떤 방법 으로든 '틸트 (tilt)'할 수 있습니다 (나는 이제 20 개의 X- 라벨 만있는 것을 선택했습니다). – learnerX

2

ggplot2는베이스 R 그래픽에서 거칠게하여

+0

X 축 명령에'las = 2 '를 추가하여 텍스트를 세로로 표시하고 읽기 쉽게한다. 그것의 크기는 같은 명령 내에서'cex = .5'로 변경 될 수 있습니다. – nya

+0

선 그래프를 플롯하지 만, x- 레이블은 'cat' 'dog'등과 같은 실제 ASCII 텍스트를 표시하지 않습니다. – learnerX

+0

'plot' 호출에서,'axes = FALSE'는 처음에 숫자 라벨을 숨겨야합니다. 그리고 나서'axis (side = 1 ...')에서'1 ''2 '와 같은 숫자를 나열하고 있습니다. ,'data $ type'의 타입이'chr' 인 경우, 텍스트를 그려야합니다 .R은'plot'이나'axis' 호출에서 경고 나 에러를 반환 했습니까? – joeln

관련 문제