I suppose that depends on how willing you are to distort your non-zero data.
i.e. a loess smoothing
somevec <- c(0.678381848,
0.698492668,
0.774965327,
0.767932055,
0.802818131,
0.782082661,
0.786376696,
0.772711555,
0.825326482,
0.429966983,
0.369878256,
0.143088442,
0,
0.427885146,
0,
0,
0,
0.222640205,
0.611751119,
0.829285752,
0.914277054,
0.857415164,
0.880801407,
0.961729734,
0.954150056,
0.928363388)
library(tidyverse)
ggplot(data = enframe(somevec),
mapping = aes(x=name,y=value)) +
geom_point() +
geom_smooth(method = "loess",se = FALSE)
