相关疑难解决方法(0)

将图例添加到ggplot2折线图中

我对ggplot2中的传说有疑问.我设法在同一图表中绘制三条线,并想要添加使用三种颜色的图例.这是使用的代码

library(ggplot2)    
require(RCurl)

link<-getURL("https://dl.dropbox.com/s/ds5zp9jonznpuwb/dat.txt")
datos<- read.csv(textConnection(link),header=TRUE,sep=";")
datos$fecha <- as.POSIXct(datos[,1], format="%d/%m/%Y")    

temp = ggplot(data=datos,aes(x=fecha, y=TempMax,colour="1")) + 
           geom_line(colour="red") + opts(title="TITULO") +
           ylab("Temperatura (C)") + xlab(" ") + 
           scale_y_continuous(limits = c(-10,40)) + 
           geom_line(aes(x=fecha, y=TempMedia,colour="2"),colour="green") + 
           geom_line(aes(x=fecha, y=TempMin,colour="2"),colour="blue") +
           scale_colour_manual(values=c("red","green","blue"))

temp
Run Code Online (Sandbox Code Playgroud)

和输出

ggplot三行

我想添加一个带有三种颜色的图例和变量的名称(TempMax,TempMedia和TempMin).我试过了

scale_colour_manual
Run Code Online (Sandbox Code Playgroud)

但找不到确切的方法.

遗憾的是,原始数据已从链接网站中删除,无法恢复.但它们来自具有此格式的meteo数据文件

"date","Tmax","Tmin","Tmed","Precip.diaria","Wmax","Wmed"
2000-07-31 00:00:00,-1.7,-1.7,-1.7,-99.9,20.4,20.4
2000-08-01 00:00:00,22.9,19,21.11,-99.9,6.3,2.83
2000-08-03 00:00:00,24.8,12.3,19.23,-99.9,6.8,3.87
2000-08-04 00:00:00,20.3,9.4,14.4,-99.9,8.3,5.29
2000-08-08 00:00:00,25.7,14.4,19.5,-99.9,7.9,3.22
2000-08-09 00:00:00,29.8,16.2,22.14,-99.9,8.5,3.27
2000-08-10 00:00:00,30,17.8,23.5,-99.9,7.7,3.61
2000-08-11 00:00:00,27.5,17,22.68,-99.9,8.8,3.85
2000-08-12 00:00:00,24,13.3,17.32,-99.9,8.4,3.49
Run Code Online (Sandbox Code Playgroud)

r legend ggplot2 r-faq

136
推荐指数
2
解决办法
23万
查看次数

ggplot和R:随时间变化的两个变量

我想知道如何使它在下面的示例数据集中的x和y在水平轴上的每个框架元素的垂直轴上绘制.我如何使用ggplot2执行此操作?

x,y =变量,frame = YYYYMM

示例数据:

df <- structure(list(x = c(0.000892333625290767, 0.0161153931761482, 
0.0188150880795816, 0.0268699106638318, 0.018657330651898, 0.0101065034206662, 
0.00154410447630379), y = c(1.35172948829027, 0.59654026447333, 
0.685835030118683, 0.741545898152761, 1.09653338596292, 0.119448208345102, 
0.104092642854814), frame = c(200912, 201001, 201002, 201003, 
201004, 201005, 201006)), .Names = c("x", "y", "frame"), row.names = c("1", 
"2", "3", "4", "5", "6", "7"), class = "data.frame")
Run Code Online (Sandbox Code Playgroud)

我已经能够在一行中绘制一个,但似乎它没有将我的框架识别为分类(不是它,我也不知道如何将其更改为此类).

p <- ggplot(df, aes(x=frame, y=x))
p + geom_line()
Run Code Online (Sandbox Code Playgroud)

r ggplot2

10
推荐指数
2
解决办法
2万
查看次数

为什么ggplot2图例没有显示在图中

我使用 ggplot 散点图 2 个数据集,并希望在左上角显示图例。我尝试了一些代码,但没有用。我不确定为什么会这样。

ggplot(mf, aes(log10(mf[,2]),mf[,1])) 
+ ggtitle("Plot") 
+ geom_point(color = "blue") +  theme(plot.margin = unit(c(1,2,1,1), "cm"))
+ xlab("xxx") + ylab("yyy") 
+ theme(plot.title = element_text(size=18,hjust = 0.5, vjust=4)) 
+ geom_point(data=mf2,aes(log10(mf2[,2]),mf2[,1]),color="red") 
+ theme(axis.title.x = element_text(size = rel(1.3))) 
+ theme(axis.title.y = element_text(size = rel(1.3))) 
+ scale_color_discrete(name = "Dataset",labels = c("Dataset 1", "Dataset 2"))
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

r legend ggplot2

6
推荐指数
1
解决办法
2万
查看次数

无法将图例面板添加到具有多个数据集的某个散点图

我根本找不到在这个特定的 ggplot 中用 R 上的 ggplot2 绘制图例面板的方法。只是想让它出现。

就上下文而言,我正在绘制样品的化学丰度与元素的原子序数。

作为背景,我尝试了很多这里描述的事情:

ggplot2图例不出现的原因

包括其中的链接,但是无法为我的特定数据集找到解决方案。

我知道问题可能出在数据集的结构内,因为我已经能够用其他数据来做到这一点,但我无法解决它。我也知道问题应该与下面代码中描述的 theme() 有关,因为当我使用默认的 ggplot 配置图例时,实际上会出现。我使用这个个性化的主题来保持我的工作的一致性。

这是我迄今为止去除化妆品的方法:

ggplot(atomic, aes(x=atomic$Z, y = atomic$avg, group=1), fill = atomic$Z) + 
Run Code Online (Sandbox Code Playgroud)

绘制平均值的点

geom_point(data=atomic, aes(x=atomic$Z, y=atomic$avg, group=1, color="black"), size=0.5, alpha=1, shape=16 ) +
Run Code Online (Sandbox Code Playgroud)

连接点以获得平均值

geom_line(data=atomic, aes(x=atomic$Z, y=atomic$avg, group=1), color="black", linetype= "dashed") +
Run Code Online (Sandbox Code Playgroud)

绘制样本中实际值的点

geom_point(data=atomic, aes(x=atomic$Z, y=atomic$SDSS, group=1, color="#00ba38"), size=5, alpha=1, shape=16, color="#00ba38") +

geom_point(data=atomic, aes(x=atomic$Z, y=atomic$HE22, group=1, color="#619cff"), size=5, alpha=1, shape=16, color="#619cff") +

geom_point(data=atomic, aes(x=atomic$Z, y=atomic$HE12, group=1, color="#F8766D"), size=5, alpha=1, shape=16, color="#F8766D") +
Run Code Online (Sandbox Code Playgroud)

编辑:base_breaks 的定义(下面使用) …

r ggplot2

2
推荐指数
1
解决办法
201
查看次数

标签 统计

ggplot2 ×4

r ×4

legend ×2

r-faq ×1