ListPlot give special labels position with Callout
ListPlot[Callout[#, #, # /. {2 | 3 | 8 -> Below, _ -> Above}] & /@ Range[10],
Joined -> True, Mesh -> All]
ListPlot[Callout[#, #, # /. {2 | 3 | 8 -> Below, _ -> Above}] & /@ Range[10],
Joined -> True, Mesh -> All]