2012-02-14 2 views
0

Я пытаюсь сделать диаграмму рассеяния из двух данных временных рядов - данные хранятся в кадре данных. Фон изображения довольно зернистый и метки оси не видны, когда я делаю:Ошибки оси Scatterplot ошибочны при построении дат

ggplot(data=dat,aes(x,y))+geom_point() 

С ниже, я получаю только темные вертикальные линии:

plot(dat$x,dat$y) 

plot() и ggplot() сделали работу после применения as.numeric() к данным (как показано ниже) , но метки оси - это индексы [1,2, ...], а не диапазон действительных значений.

plot(as.numeric(dat$x),as.numeric(dat$y)) 
ggplot(data=dat,aes(as.numeric(x),as.numeric(y)))+geom_point() 

Я не могу отправлять изображения здесь, как я новичок в этом форуме.

+4

Не воспроизводимый: нам нужны результаты 'summary (dat)' или 'str (dat)' как минимум. (Я предполагаю, что 'x' превратился в фактор, попробуйте' as.numeric (as.character (dat $ x)) '...) http://stackoverflow.com/questions/5963269/how-to -make-a-great-r-воспроизводимый пример –

+0

Я собираюсь угадать, что вы забыли превратить переменную в дату ... – hadley

ответ

1

По умолчанию данные преобразуются в коэффициент при преобразовании из матрицы в data.frame. Ниже код исправил это.

data.frame(mydata,stringsAsFactors = FALSE) 
Смежные вопросы