r - 如何使用 ggplot2 在 R 中为图中的标记区域创建图例
问题描述
嘿伙计们,我正在尝试绘制一些我修改过的光谱数据。我正在使用ggplot2
图表。
graphik <- ggplot(data = spektrum2, mapping=aes(x=y0000,y=x0001))+
geom_rect(mapping=aes(xmin=285, xmax=290.3, ymin=min(x0001-.5), ymax=max(x0001+0.5),`fill="orange")) +
#geom_text(aes(x=288+(288.5-290.3)/2, y=min(x0001)+(max(x0001)-min(x0001))/2, label="Carbon-edge",color="brown",vjust=-30), size=4) +
geom_rect(mapping=aes(xmin=524, xmax=539, ymin=min(x0001-.5), ymax=max(x0001+0.5), fill="yellow")) +
#geom_text(aes(x=539+(524-539)/2, y=min(x0001)+(max(x0001)-min(x0001))/2, label="Oxygen-edge",color="brown",vjust=-30), size=4) +
geom_line(mapping=aes(color="blue"))+
labs(title = "Isoprene#8", title.position="center")+
coord_cartesian(xlim = c(270, 570), ylim = c(0, 1.4))+
ylab("Optical Desity [-]")+
xlab("Energy [eV]")+
scale_x_continuous(breaks=c(seq(270,580, 20)))+
scale_y_continuous(breaks=c(seq(0,2, 0.1)))+
theme(plot.title = element_text(hjust = 0.5))+
stat_peaks(aes(color = "red"),shape = 20, span = 14, size = 2)+
stat_label_peaks(geom = "label_repel", span = 10, segment.color = "black", size = 3, vjust = 1, nudge_y = 0.8, direction = "y") +
scale_color_identity()+
scale_fill_identity()
print(graphik)```
我用 标记了特定区域geom_rect
。第一个区域是橙色,第二个是黄色。现在我要创造一个传奇,但我不知道如何。图例应显示我的光谱名称,在这种情况下为蓝色,标记区域为橙色和蓝色。不幸的是,我不能在这里上传图片。
解决方案
推荐阅读
- javascript - 如何保持路由参数甚至页面刷新
- java - 我正在尝试将 BGM 添加到我的 javaFx,但它不断抛出异常
- python - 在熊猫中使用正则表达式仅替换特定列上的列值
- c++ - 如何合并 2 个按 ID 列排序的文件?
- python - 如何使用 indexlist 对 Tensor 进行切片并组成新的 Tensor
- c# - 使用 AJAX 向表中添加行
- aws-lambda - 无服务器框架 - 无法识别的属性“参数”
- arrays - c语言中以特定方式对数组进行排序
- html - 如何让 JAWS 读取与屏幕上显示的内容不同的内容
- corda - 在 Postgres Corda 4.6 OS 中发布状态时出错