使用ggplot2在R中制作多线图 [英] Making multi-line plots in R using ggplot2

查看:732
本文介绍了使用ggplot2在R中制作多线图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想将一些数据编译成不同颜色的ggplot()线图.

I would like to compile some data into a ggplot() line plot of different colors.

超过100天的各地降雨情况,不同地区的数据差异很大,这很符合我的情况.

It's rainfall in various places over 100 days, and the data is quite different between locations which is giving me fits.

我尝试使用来自此论坛的其他建议,但对于这些数据,它们似乎效果不佳.样本数据:

I've tried using different suggestions from this forum and they don't seem to be working well for this data. Sample data:

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

到目前为止,我的代码是

My code thus far is

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中将其绘制为红色.

So far it gives me everything that I want but for some reason the colors are wrong when I plot it, i.e. it plots location 1 in green while I told it red in my first geom_line.

推荐答案

library(tidyr)
library(ggplot2)

df_long <- gather(data = df1, Place, Rain, -Time)

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

数据:

Data:

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)

这篇关于使用ggplot2在R中制作多线图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆