Scatterplot в R с помощью ggplot2: - PullRequest
       10

Scatterplot в R с помощью ggplot2:

0 голосов
/ 12 сентября 2018

У меня есть следующий набор данных.

> y
                  DF           GE
2006-12-21 -0.0004659447 -0.009960682
2006-12-22 -0.0009323238 -0.005295208
2006-12-26 -0.0032661785  0.003726377
2006-12-27  0.0042131332  0.002121453
2006-12-28 -0.0009323238 -0.008203228
2006-12-29 -0.0135313109 -0.007203842

Когда я укрепляю его, он становится таким.

> fortify(y, melt=TRUE)
    Index     Series         Value
1  2006-12-21     DF -0.0004659447
2  2006-12-22     DF -0.0009323238
3  2006-12-26     DF -0.0032661785
4  2006-12-27     DF  0.0042131332
5  2006-12-28     DF -0.0009323238
6  2006-12-29     DF -0.0135313109
7  2006-12-21     GE -0.0099606815
8  2006-12-22     GE -0.0052952078
9  2006-12-26     GE  0.0037263774
10 2006-12-27     GE  0.0021214532
11 2006-12-28     GE -0.0082032284
12 2006-12-29     GE -0.0072038420

Теперь я хотел бы запустить диаграмму рассеяния в ggplot2.На данный момент я использую следующую функцию:

x <- fortify(x, melt=TRUE)
ggplot(data=x) +
geom_point(size=10, aes(x=Series, y=Value, colour=Index))

Но что мне действительно нужно, так это точечный график со значениями DF и GE, которые будут координатами по осям X и Y и для даты.быть выделенным цветом.

Я просто не могу понять, как изменить структуру данных для достижения этой цели.

Ответы [ 2 ]

0 голосов
/ 12 сентября 2018

Я бы не стал использовать fortify(). Я бы сохранил ваши данные такими, какие они есть, и сделал бы что-то вроде:

library(tidyverse)

y %>%
rownames_to_column() %>%   
ggplot(aes(x = DF, y = GE, color = index) + 
geom_point()
0 голосов
/ 12 сентября 2018

Вы имеете в виду что-то подобное?

library(tidyverse)
df %>%
    rownames_to_column("date") %>%
    mutate(date = as.Date(date)) %>%
    ggplot(aes(x = DF, y = GE)) +
    geom_point(aes(colour = date))

enter image description here


Пример данных

df <- read.table(text =
    "                 DF           GE
2006-12-21 -0.0004659447 -0.009960682
2006-12-22 -0.0009323238 -0.005295208
2006-12-26 -0.0032661785  0.003726377
2006-12-27  0.0042131332  0.002121453
2006-12-28 -0.0009323238 -0.008203228
2006-12-29 -0.0135313109 -0.007203842", header = T)
...