Let’s plot the potential surfaces of two charges, q1,q2,  in a plane at locations
x1,y1 and x2,y2 respectively.

point1={x1,y1};
point2={x2,y2};
xpoint={x,y};

V[x_,y_]=q1/Sqrt[(xpoint-point1).(xpoint-point1)]+q2/Sqrt[(xpoint-point2).(xpoint-point2)]

x1=2;
y1=3;
x2=-3;
y2=-2;
q1=2;
q2=-1;

ContourPlot[V[x,y],{x,-10,10},{y,-10,10},ContourShading->Off,Contours->20]

Let’s make a picture of the charges, through the definitions of Graphics (see Graphics in Mathematica writeup) objects

g2=Graphics[{Red,PointSize[0.1],Point[{x1,y1}]}];
g3=Graphics[{Red,PointSize[0.1],Point[{x2,y2}]}];

ContourPlot[V[x,y],{x,-10,10},{y,-10,10},ContourShading->Off,Contours->20,Prolog->Inset[g2,{x1,y1}],Epilog->Inset[g3,{x2,y2}]]

One can also introduce some interactivety into your plots through the Mathematica Manipulate and Dynmaic commands  (see tutorial).

The Dynamic command allows variables to be reset

V[x,y]

Slider2D[Dynamic[{x1,y1}],{-10,10}]
Print[" charge 1 coord "];Dynamic[{x1,y1}]

Slider2D[Dynamic[{x2,y2}],{-10,10}]
Print[" charge 2 coord "];Dynamic[{x2,y2}]

Slider2D[Dynamic[{q1,q2}],{-1,1}]
Print[" charge 1 and charge 2  "];Dynamic[{q1,q2}]

g1=Dynamic[ContourPlot[V[x,y],{x,-10,10},{y,-10,10},ContourShading->Off,Contours->20,Prolog->Inset[g2,{x1,y1}],Epilog->Inset[g3,{x2,y2}]]]