As Henri mentioned it is possible to define your own pattern. In the code below one such definition is shown. You can change the size of the dots with the dots size
key, e.g. \fill [pattern=mydots, dots size=3pt]
, and the spacing with dots spread
, e.g. \fill [pattern=mydots, dots spread=15pt]
.
As Jasper, I used \bar{e}
instead of drawing that bar manually, and I used an arc
to draw the angle mark. I also used a loop to draw the three dashed lines with lambdas.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{patterns}
\tikzset{
dots size/.store in=\dotssize,
dots size=1pt,
dots spread/.store in=\dotsspread,
dots spread=10pt
}
\makeatletter
\pgfdeclarepatternformonly[\dotssize,\dotsspread]{mydots}
{\pgfpointorigin}
{\pgfpoint{\dotsspread}{\dotsspread}}
{\pgfpoint{\dotsspread}{\dotsspread}}
{
\pgfsetcolor{\tikz@pattern@color}
\pgfpathcircle{\pgfpoint{\dotsspread/2}{\dotsspread/2}}{\dotssize}
\pgfusepath{fill}
}
\makeatother
\begin{document}
\begin{tikzpicture}
% Axis
\draw (7,7) -| (0,0) node[below]{0} -| node[below] {1} cycle;
% curve
\draw (0,0) to (7,7);
\fill [pattern=mydots, opacity=0.7] (0,0) to [out=80,in=200] (2,2)
to [out=20, in=250] (4,4)
to [out=70, in=200] (7,6.4)
|- cycle;
\draw [very thick] (0,0) to [out=80,in=200] (2,2)
to [out=20, in=250] (4,4)
to [out=70, in=200] coordinate[pos=0.2] (m) (7,6.4);
\draw (0.5,0) arc[start angle=0,end angle=45,radius=0.5] node[midway,right] {$45^{\circ}$} ;
\foreach \i in {1,2,3}
\draw [dashed,thick] (2*\i,2*\i) -- (2*\i, 0) node[below,font=\large] {$\lambda_{\i}$};
\draw[<-,>=latex] (2,6) node[above] {\LARGE $D(\bar{e}(\lambda)$)} to[out=270,in=200] (m);
\end{tikzpicture}
\end{document}
Calculate intersections
Not sure there is much point for this case, but it's possible to calculate the intersections between the D-curve and the straight line with the intersections
library. It takes a couple of seconds though.
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{patterns, intersections}
\tikzset{
dots size/.store in=\dotssize,
dots size=1pt,
dots spread/.store in=\dotsspread,
dots spread=10pt
}
\makeatletter
\pgfdeclarepatternformonly[\dotssize,\dotsspread]{mydots}
{\pgfpointorigin}
{\pgfpoint{\dotsspread}{\dotsspread}}
{\pgfpoint{\dotsspread}{\dotsspread}}
{
\pgfsetcolor{\tikz@pattern@color}
\pgfpathcircle{\pgfpoint{\dotsspread/2}{\dotsspread/2}}{\dotssize}
\pgfusepath{fill}
}
\makeatother
\begin{document}
\begin{tikzpicture}
% Axis
\draw (7,7) -| (0,0) node[below]{0} -| node[below] {1} cycle;
% curve
% add name path=x
\draw [name path=x] (0,0) to (7,7);
\fill [pattern=mydots, opacity=0.7] (0,0) to [out=80,in=200] (2,2)
to [out=20, in=250] (4,4)
to [out=70, in=200] (7,6.4)
|- cycle;
% add name path=D
\draw [very thick, name path=D] (0,0) to [out=80,in=200] (2,2)
to [out=20, in=250] (4,4)
to [out=70, in=200] coordinate[pos=0.2] (m) (7,6.4);
\draw (0.5,0) arc[start angle=0,end angle=45,radius=0.5] node[midway,right] {$45^{\circ}$} ;
% find intersections
\path [name intersections={of=x and D, name=lambda}];
%first intersection is at x=0, so use intersections 2-4
\foreach [count=\i] \j in {2,3,4}
\draw [dashed,thick] (lambda-\j) -- (lambda-\j |- 0,0) node[below,font=\large] {$\lambda_{\i}$};
\draw[<-,>=latex] (2,6) node[above] {\LARGE $D(\bar{e}(\lambda)$)} to[out=270,in=200] (m);
\end{tikzpicture}
\end{document}