Or you could use forest
...

\documentclass[12pt,tikz,border=10pt]{standalone}
\usepackage{forest}
\begin{document}
\begin{forest}
for tree={child anchor=north, parent anchor=south}
[S [DP [E] [NP [PRO] [NP [$\lambda_1$] [NP [S] [S [DP [D [the]] [N [pictures]]] [VP [V [display]] [DP [D [the]] [N [man] [S]]]]]]]]] [VP [V] [DP]]]
\end{forest}
\end{document}
I originally adapted your code but Gonzalo Medina beat me to it. I did, however, beat him to the forest
solution ;).
As Alan Munn explains, it can be helpful to layout the tree in a way which better reflects its structure. For example, I would probably write something more like this:
\begin{forest}
for tree={
child anchor=north,
parent anchor=south,
}
[S
[DP
[E]
[NP
[PRO]
[NP
[$\lambda_1$]
[NP
[S]
[S
[DP
[D
[the]
]
[N
[pictures]
]
]
[VP
[V
[display]
]
[DP
[D
[the]
]
[N
[man]
[S]
]
]
]
]
]
]
]
]
[VP
[V]
[DP]
]
]
\end{forest}
This makes it easier to see if you have the correct number of closing square brackets. Your editor may also help with this. For example, Kile shows me this:

which makes it easier to figure out where a particular sub-tree begins and ends, and whether any opening square brackets have not been closed.
One of the nice things about forest
is that it is very easy to adapt your tree by modifying the preamble. For example, to neaten up the points at which the edges meet the nodes, we can set a standard height to be applied to all nodes. This allows us to keep the child anchor=north
which centres the point at which the edge meets the node, while ensuring that the meeting points of different nodes on the same level are horizontally aligned:

\newlength\myheight
\settoheight\myheight{X}
\begin{forest}
for tree={
child anchor=north,
parent anchor=south,
text height=\myheight
}
[S
[DP
[E]
[NP
[PRO]
[NP
[$\lambda_1$]
[NP
[S]
[S
[DP
[D
[the]
]
[N
[pictures]
]
]
[VP
[V
[display]
]
[DP
[D
[the]
]
[N
[man]
[S]
]
]
]
]
]
]
]
]
[VP
[V]
[DP]
]
]
\end{forest}
If you want to keep the sense of separation between the subtrees shown in the target tree, you can add fit=rectangle
to the first DP
node:

Or fit=band
which gives a similar result in this case:

Complete code for rectangular fit with aesthetic adjustments:
\documentclass[12pt,tikz,border=10pt]{standalone}
\usepackage{forest}
\begin{document}
\newlength\myheight
\settoheight\myheight{X}
\begin{forest}
for tree={
child anchor=north,
parent anchor=south,
text height=\myheight,
}
[S
[DP, fit=rectangle
[E]
[NP
[PRO]
[NP
[$\lambda_1$]
[NP
[S]
[S
[DP
[D
[the]
]
[N
[pictures]
]
]
[VP
[V
[display]
]
[DP
[D
[the]
]
[N
[man]
[S]
]
]
]
]
]
]
]
]
[VP
[V]
[DP]
]
]
\end{forest}
\end{document}