Создание многострочных графиков в R с использованием GGPLOT2 - PullRequest
1 голос
/ 04 октября 2019

Я хотел бы скомпилировать некоторые данные в линейный график ggplot() разного цвета.

В разных местах в течение 100 дней выпадают дожди, и данные в разных местах совершенно разные, что дает мне припадки.

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

Time        Location1   Location2           Location3
0           48          99.2966479761526    2
1           51          98.7287820735946    4
2           58          98.4803262236528    4.82842712474619
3           43          97.8941490454599    5.46410161513775
4           47          96.6091435402632    6
5           47          95.207282404881     6.47213595499958
6           41          94.8696538619697    6.89897948556636
7           34          94.6514389757067    7.29150262212918
8           40          93.7297335476615    7.65685424949238
9           57          93.2440731907263    8

Мой код пока что

ggplot(Rain) + 
 geom_line(aes(x=Time,y=Location1,col="red")) +  
 geom_line(aes(x=Time,y=Location2,col="blue")) + 
 geom_line(aes(x=Time,y=Location3,col="green")) + 
 scale_color_manual(labels = c("Location 1","Location 2","Location 3"),
                    values = c("red","blue","green")) +
 xlab("Time (Days)") + ylab("Rainfall (Inches)") + labs(color="Locations") + 
 ggtitle("Rainfall Over 100 Days In Three Locations")  

Пока он дает мне все, что я хочу, но по какой-то причине цвета неправильные, когда я строю его, т.е. отображает местоположение 1 зеленым цветом, а я сказал красным в моем первом geom_line.

1 Ответ

1 голос
/ 04 октября 2019
library(tidyr)
library(ggplot2)
df_long <- gather(data = df1, Place, Rain, -Time)

ggplot(df_long) +
  geom_line(aes(x=Time, y=Rain, color=Place))

Данные:

df1 <- read.table(text="Time        Location1   Location2           Location3
                        0           48          99.2966479761526    2
                        1           51          98.7287820735946    4
                        2           58          98.4803262236528    4.82842712474619
                        3           43          97.8941490454599    5.46410161513775
                        4           47          96.6091435402632    6
                        5           47          95.207282404881     6.47213595499958
                        6           41          94.8696538619697    6.89897948556636
                        7           34          94.6514389757067    7.29150262212918
                        8           40          93.7297335476615    7.65685424949238
                        9           57          93.2440731907263    8", 
                  header=T, stringsAsFactors=F)
...