# Plotting points using multiple colors with ListPlot

I've got two sets of points, plotted with ListPLot. I would like the second set to have one point of each color specified. I've tried using Directive but cannot seem to find the correct syntax.

A[q_] := Cos[q/20];

Show[ListPlot[Table[{q, A[q]}, {q, Range[100, 150]}]],
ListPlot[Table[{q, A[q]}, {q, Range[110, 125, 5]}],
PlotStyle -> {{PointSize[Large], Red},
{PointSize[Large], Orange},
{PointSize[Large], Blue},
{PointSize[Large], Purple}}],
Frame -> True, Axes -> False] • ListPlot[List /@ Table[{q, A[q]}, {q, Range[110, 125, 5]}], PlotStyle -> {{PointSize[Large], Red}, {PointSize[Large], Orange}, {PointSize[Large], Blue}, {PointSize[Large], Purple}}] – march Jun 26 '19 at 3:33
• Thank you very much! I would like to understand this. List /@ maps List to each ordered pair, essentially making each pair of coordinates a list of a list? Why does this work? – mjw Jun 26 '19 at 3:48
• ListPlot accepts multiple sets of data as an argument, in the format of {list1, list2, list3, ...}. So I just made each point into a list of points (actually a list consisting of a single point) instead. That makes your syntax for PlotStyle work – march Jun 26 '19 at 3:53
• That's great! Thank you for the explanation! That also answers what would be my next question: "Why do we need to repeat PointSize[Large]?" Probably we can use Map again, or a similar construct. – mjw Jun 26 '19 at 3:56
• p[a_] := {PointSize[Large], a}; p /@ {Red, Orange, Blue, Purple} – mjw Jun 26 '19 at 4:06

A[q_] := Cos[q/20]; 