function hFigure = plotEvaluationFigures(hFigure, result, pbeDefinition, ...
    color, lineStyle)

if isempty(hFigure)
    clear hFigure
    hFigure.round = figure;
    hold on,title('mean additive roundness')
    hFigure.round100 = figure;
    hold on,title('roundness (mean from size over 100 micro)')
    hFigure.width = figure;
    hold on,title('mean width (mean)')
    hFigure.width100 = figure;
    hold on,title('mean width (mean from size over 100 micro)')
    hFigure.distWidth = figure;
    hold on,title('volume density distribution')
    hFigure.distRound = figure;
    hold on,title('roundness distribution')
    hFigure.phase = figure;
    hold on,title('phase plot')
    xlabel('roundness'),ylabel('width')
end

% width over time
figure(hFigure.width)
[X, Y] = extractDataFromPbeResult('bulkProperty', 4, result, pbeDefinition);
plot(X/60, Y, lineStyle{:}, 'color', color)

% width over time (100)
figure(hFigure.width100)
for iTime = 1:length(result)
    info.P = result(iTime).pivotPropertyMatrix;
    info.N = result(iTime).numberVector;
    Y(iTime) = sum(info.P(9,:) .* info.N .* (info.P(9,:) > 100*1e-6)) / ...
               sum(info.N .* (info.P(9,:) > 100*1e-6));
end
plot(X/60, Y, lineStyle{:}, 'color', color)

% roundness over time
figure(hFigure.round)
[X, Y] = extractDataFromPbeResult('bulkProperty', 5, result, pbeDefinition);
plot(X/60, Y,lineStyle{:}, 'color', color)

% roundness over time (100)
figure(hFigure.round100)
for iTime = 1:length(result)
    info.P = result(iTime).pivotPropertyMatrix;
    info.N = result(iTime).numberVector;
    Y(iTime) = sum(info.P(10,:) .* info.N .* (info.P(9,:) > 100*1e-6)) / ...
               sum(info.N .* (info.P(9,:) > 100*1e-6));
end
plot(X/60, Y, lineStyle{:}, 'color', color)

% width distributions over time
sizeDiff = 50*1e-6;
sizeMax = 350*1e-6;
lowerBound = 0:sizeDiff:(sizeMax-sizeDiff);
binMatrix = [lowerBound; lowerBound+sizeDiff; lowerBound+sizeDiff/2];
[Xdist, Ydist] = extractDataFromPbeResult('propertydistribution', ...
    {12, 9, binMatrix}, result, pbeDefinition);
[X, Y] = extractDataFromPbeResult('bulkProperty', 2, result, pbeDefinition);

figure(hFigure.distWidth)
for iTime = [1:30:length(result) length(result)]
    if iTime == 1
        thisColor = [0 0 0];
    else
        thisColor = color*(1-iTime/length(result)) + ...
                    [1 1 1]*0.5*iTime/length(result);
    end
    plot(binMatrix(3,:)*1e6, Ydist(1:size(binMatrix, 2), iTime)/Y(iTime)*sizeDiff, ...
        lineStyle{:}, 'color', thisColor)
end

% roundness distributions over time
sizeDiff = 0.1;
sizeMax = 1;
lowerBound = 0:sizeDiff:(sizeMax-sizeDiff);
binMatrix = [lowerBound; lowerBound+sizeDiff; lowerBound+sizeDiff/2];
[Xdist, Ydist] = extractDataFromPbeResult('propertydistribution', ...
    {'number', 10, binMatrix}, result, pbeDefinition);
[X, Y] = extractDataFromPbeResult('bulkProperty', 8, result, pbeDefinition);

figure(hFigure.distRound)
for iTime = [1:30:length(result) length(result)]
    if iTime == 1
        thisColor = [0 0 0];
    else
        thisColor = color*(1-iTime/length(result)) + ...
                    [1 1 1]*0.5*iTime/length(result);
    end
    plot(binMatrix(3,:), Ydist(1:size(binMatrix, 2), iTime)/Y(iTime)*sizeDiff, ...
        lineStyle{:}, 'color', thisColor)
end

% phase plot
figure(hFigure.phase)
for iTime = [1:30:length(result) length(result)]
    if iTime == 1
        thisColor = [0 0 0];
    else
        thisColor = color*(1-iTime/length(result)) + ...
                    [1 1 1]*0.5*iTime/length(result);
    end
    plot(result(iTime).pivotPropertyMatrix(10 ,:), ...
         result(iTime).pivotPropertyMatrix(9 ,:), ...
         lineStyle{:}, 'color', thisColor, 'lineStyle', 'none', ...
         'marker', 'x')
end
