ggplot2绘图需求:ECHO Fit线条前置改长虚线及X轴优化
R代码修改方案
需求说明
- 将绘图中的“ECHO Fit”线条置于最上层,并设置为长虚线样式,保留其他颜色和线条格式
- 移除图中的“size 0.5”设置
- X轴刻度改为每12单位一个,起始刻度12,终止刻度72
修改后完整代码
library(tidyverse) Graph4_Clock <- read.csv("Graph4_Clock.csv") Graph4_Clock |> pivot_longer(cols = contains("X"), names_to = "HPS", values_to = "Zscore") |> mutate(HPS = parse_number(HPS)) |> ggplot(aes(x = HPS, y = Zscore, color = gene_id)) + geom_point() + # 先绘制Rep2和Rep3的线条 geom_line(data = . |> filter(gene_id != "ECHO Fit"), aes(group = gene_id)) + # 单独绘制ECHO Fit线条,置于上层并设为长虚线 geom_line(data = . |> filter(gene_id == "ECHO Fit"), aes(group = gene_id), linetype = "longdash") + ggtitle("Clock") + scale_color_manual(values = c("black", "orange", "blue")) + scale_x_continuous(breaks = seq(12, 72, 12)) + # 设置X轴刻度 theme_bw() + theme(legend.position = "bottom", axis.text = element_text(size = 20), axis.title = element_text(size = 20), plot.title = element_text(size = 20), legend.text = element_text(size = 20), legend.direction = "horizontal")
修改要点解释
- 图层顺序控制:通过拆分
geom_line,先绘制非ECHO Fit的线条,再单独绘制ECHO Fit的线条,确保其处于最上层;同时通过linetype = "longdash"设置长虚线样式 - 移除固定线条粗细:删除原代码中
geom_line里的size=.5参数,使用默认线条粗细 - X轴刻度调整:添加
scale_x_continuous(breaks = seq(12,72,12)),生成12到72、间隔12的刻度值 - 保留原有样式:维持原有的颜色映射、主题文字大小及布局设置不变
内容的提问来源于stack exchange,提问作者Numbahs84
相关产品推荐
相关产品推荐

