R代码线图,表示具有最高y值的点

时间:2017-08-31 18:59:51

标签: r ggplot2

我在R代码中有一个图形编码如下:

Score    Frame
0.2        1
3.6        2
4.56       3
0.3        4
2.8        5
1.7        6
3.5        7

我可以在此代码中添加任何可以创建标记的标记,指示图表上数据的y值最高的点吗?数据如下所示:

df <- data.frame(a = NA, b = 1:100)
df[df$a==1,]

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

以下是一些可能的方法:

require(ggplot2)

df <- data.frame(
  Score=c(0.2,3.6,4.56,0.3,2.8,1.7,3.5),
  Frame=c(1:7)
)
df$Max <- ifelse(df$Score==max(df$Score),"Yes","No")

ggplot(data=df, aes(x=Frame,y=Score)) +
  geom_point(aes(col=Max),size=2) +
  geom_line() 

选项1输出:

enter image description here

或者您可以使用以下内容:

ggplot(data=df, aes(x=Frame,y=Score)) +
  geom_line() +
  geom_hline(yintercept = max(df$Score, na.rm=TRUE),
             color="red")

选项2输出:

enter image description here

答案 1 :(得分:0)

一种可能性是使用尺寸美学如下:

Graph<-ggplot(data=df, aes(x=Frame,y=Score)) +
  geom_point(aes(size=Score)) +
  geom_line()

enter image description here