R语言 在线图中的特定点创建另一个符号

bnl4lu3b  于 2023-03-05  发布在  其他
关注(0)|答案(1)|浏览(159)

我希望在x轴值为1的线图的特定点中使用另一个符号。在我的图中,线中的所有点都使用圆作为符号,但我希望使用x轴值为1的三角形。
到目前为止,我发现this post在创建X符号时使用,但是当我在代码中使用它时,它在圆圈顶部创建了一个X标记,而我需要一个全新的符号。
下面是代码:

library(ggplot2)

wd = "path/"

block.data = read.csv(paste0(wd, "block.data.csv"))

ggplot(data = block.data, aes(x = PSF, y = CC, group = 1)) +
  geom_line() +
  geom_point(size = 2) + 
  theme_bw() + 
  theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
        panel.background = element_blank(), axis.line = element_line(colour = "black")) + 
  scale_x_continuous(breaks = seq(0, 2, .2)) + 
  scale_y_continuous(breaks = seq(0.08, 23, .01))

数据集:structure(list(PSF = c(0, 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.4, 1.6, 1.8, 2), CC = c(0.08278661, 0.1866827, 0.2051862, 0.218509, 0.2247673, 0.2268575, 0.2265966, 0.22522, 0.223409, 0.2213272, 0.2192285 )), class = "data.frame", row.names = c(NA, -11L))

dgsult0t

dgsult0t1#

一种选择是Map一个条件,例如shape aes上的PSF != 1,并使用scale_shape_manual设置您想要的形状:

library(ggplot2)

ggplot(data = block.data, aes(x = PSF, y = CC, group = 1)) +
  geom_line() +
  geom_point(aes(shape = PSF != 1), size = 3) +
  scale_shape_manual(values = c(17, 16)) +
  theme_bw() +
  theme(
    panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
    panel.background = element_blank(), axis.line = element_line(colour = "black")
  ) +
  scale_x_continuous(breaks = seq(0, 2, .2)) +
  scale_y_continuous(breaks = seq(0.08, 23, .01)) +
  guides(shape = "none")

相关问题