Mathematica has a very convenient method for graphing implicit functions. the function ContourPlot can plot implicit functions as well as contours of surfaces. The following code defines a function that for every input value P, outputs a printable graph of the unit ball with respect to the Lp norm:
dim = 1.5; size = 200;
UnitBall[p_] :=
ContourPlot[(Abs[x]^p + Abs[y]^p)^(1/p) == 1, {x, - dim,
dim}, {y, -dim, dim}, GridLines -> Automatic,
ContourStyle -> Thick, ImageSize -> size];
The following are some examples of unit balls graphed for different values of P. Notice that for P=2 the unit ball is just a circle. Also, This function will not directly handle P=infinity. For that you’d have to define a function specifically to graph the points for which Max[Abs[x], Abs[y]] == 1. However, in practice a large value for P will generate a result that is indistinguishable from that of the actual L_infinity norm.

An “accurate” code for the P=infinity norm would be :
dim = 1.5; size = 200;
UnitBallInf :=
ContourPlot[
Max[Abs[x], Abs[y]] == 1, {x, -dim, dim}, {y, -dim, dim},
GridLines -> Automatic, ContourStyle -> Thick, ImageSize -> size];
Generating the output:

