Hello People,我正在尝试使用geom_line函数在R中创建折线图。我想为每一行指定特定颜色,但我无法这样做。 当我尝试手动分配颜色时,我将颜色名称作为变量,而在图例中,它们按字母顺序排列。 如果我不这样做,我根本就没有任何颜色。 我也在网上环顾四周,发现应该有一个分组变量,通过它可以分配颜色。 不幸的是,在我的数据集中,每列对应一个不同的变量。 我不确定转置数据集是否有效,因为我试图在x轴上对这些变量绘制> 2000个值。 我想我在这里错过了一些非常简单的东西。

ggplot(data=data, aes(xvar))+
geom_line(aes(y=var1))+
geom_line(aes(y=var2))+
geom_line(aes(y=var3))+
geom_line(aes(y=var4))

在此输入图像描述

如果之前已经回答过,请随时将其重定向到另一个部分。 任何帮助将不胜感激。

我也可以手动完成而不使用ggplot2函数,其代码如下:

plot(data$Wavelength,data$var1,col="green")
par(new=T)
plot(data$wavelength,data$var2,col="red")
par(new=T)
plot(data$wavelength,data$var3,col="purple")
par(new=T)
plot(data$wavelength,data$var4,col="black")
par(new=F)

在此输入图像描述

===============>>#1 票数:7 已采纳

这里有一些可能有用的快捷方式:

dat <- data.frame(wave = 1:100,
                  var1 = sort(rnorm(100)),
                  var2 = sort(rnorm(100, 1)),
                  var3 = sort(rnorm(100, 2)))

plot(dat$var3, col = 'blue', type = 'l')
lines(dat$var2, col = 'red')
lines(dat$var1, col = 'green')

在此输入图像描述

library(reshape2)
library(ggplot2)

dat.m <- melt(dat, id.vars = 'wave')

ggplot(dat.m, aes(wave, value, colour = variable)) + geom_line()

在此输入图像描述

ggplot(dat.m, aes(wave, value, colour = variable)) + geom_line() + 
  scale_colour_manual(values = c('pink','orange','white'))

在此输入图像描述

  ask by VGu translate from so

未解决问题?本站智能推荐:

2回复

如何将颜色和线型映射到ggplot2线图中的几列

我有一个data.frame其中有四个data.frame群组C1-C4,其测量值是M1-M5的五倍。 我想为每个队列绘制一条线以显示测量值。 我设法通过手动对行进行分组。 但是,我在传说中遇到了麻烦。 我认为我需要将颜色和线型映射到一些分组条件。 但是我该怎么做呢? 我
1回复

在ggplot2中叠加线条图

我使用ggplot2创建了一个多线图,其中每一行代表一个相对于月绘制的年份(点击下面的链接)。 体积在y轴上表示。 这是我用来绘制上图的代码: 问题:如何在图中包含另一条线,表示每个月内的平均体积,并能够修改该线的线宽和颜色? 到目前为止,我生成正确代码的所有尝试都没有成功(
1回复

如何在ggplot2中创建线图框架

根据下面的代码,我成功地在R中绘制了一条线图。但是我想在线形图周围画一个框架。 顺便说一句,您可能会在运行R中的代码之后看到,x和y轴的值偏离了它们的正确位置。 应该怎么解决呢? 任何帮助将不胜感激!
1回复

ggplot2中因子均值之间的连接线

我试图创建一个简单的均值和交互作用的折线图。 我在y轴上有一个DV(读取时间),在x轴上有一个因子(长度),而另一个是分组变量(位置)。 我使用的语法如下。 对于两个“长度”条件中的每一个,数据均以单点形式绘制在一条线上,但没有与“两个长度”条件之间的线相连。 我在语法上缺少什么?
1回复

如何在ggplot2中将.csv文件中的两个变量绘制为两行?

我已经导入了一个.csv文件,并在折线图中绘制了数据点。 但是我试图比较男性和女性的预期寿命,但是我不知道如何绘制男性的直线和女性的直线。 这是我的部分数据示例(ALE代表平均预期寿命)。 这是我到目前为止的代码。 最终,我将把工作放入.rmd文件中。 问题是我想在男性
1回复

日期格式Ggplot2线图R

我想以2018-03-28格式输出日期。 当我尝试这样做时,在折线图中我只会得到点: 当使用as.Date或strptime(无关紧要)时,它仅提供:jan,feb,mar,apr。 但是这些行正在工作: 这是我的代码,可让代码与jan,feb,mar一起使用。 运行
2回复

ggplot2不显示Y轴的值

我尝试获取Y轴显示的值,但似乎无法弄清问题,这是我的代码以及除数据外的绘图结果: 当我运行此代码时,我得到以下折线图,缺少Y轴的值:
2回复

在ggplot2中绘制随时间变化的多行; 希望更好地区分界线

这个问题已经在这里有了答案: 在同一张图上使用ggplot2将两个变量绘制为线 6个答案 我主要是在发帖,因为我真的认为我已经使这一问题复杂化了。 我将随着时间的推移绘制12条不同线的图。 我希望每一天在x轴上都用“标题”表示。 我已经尝试了一些解决方案以
1回复

ggplot2中的x轴和误差线(带两线的线图)出现问题

数据如下: 我在运行x轴时遇到问题,因为x轴失去了顺序。 我希望得到一个从1到14的轴(级别以1 t0 14排序)。 R格式的数据汇总: 看水平 我也无法添加垂直标准偏差栏: 对于前1到14个值(Axenic),各自的sd为:(+&-): 对于第二
1回复

如何将两个图收敛为一个图(ggplot2)?

我有两个具有不同x轴但相同y轴的图。 每个x轴的顺序必须保持这种方式。 我想通过在底部放置一个x轴并在顶部放置一个x轴来将两个图收敛为一个。 我如何获得想要的情节?