function starbucks_box_plot ( )

%*****************************************************************************80
%
%% starbucks_box_plot() creates a box plot of Yanzhi Zhang's Starbucks cups.
%
%  Licensing:
%
%    This code is distributed under the MIT license.
%
%  Modified:
%
%    27 November 2020
%
%  Author:
%
%    John Burkardt
%
  logo = imread ( 'starbucks.jpg' );
%
%  Set up a 8x11 board of gray cells on a white background.
%
  clf ( );
  m = 8;
  n = 11;
  r = 0.45;
  white = 'w';
  gray = [ 0.9, 0.9, 0.9 ];
  white = [ 0.0, 0.0, 0.0 ];
  light_red = [ 1.0, 0.8, 0.8 ];
  light_blue = [ 0.7, 0.7, 1.0 ];
  light_white = [ 0.99, 0.99, 0.99 ];

  hold ( 'on' );

    d = max ( 0.5 - r,  0.0 );
%
%  Fill the rectangle with the background color.
%  If I specify the color [1,1,1], which should be WHITE, I get BLACK.  Morons!
%
    fill ( [ -d, n+d, n+d, -d ], [ -d, -d, m+d, m+d ], ...
      light_white, 'edgecolor', 'none' );

    for i = 1 : m

      for j = 1 : n

        box_fill ( m, i, j, light_white, '', '' );

      end
    
    end
%
%  Place red and blue squares.
%
    box_fill ( m, 1, 1, light_red, 'AK', '' );
    box_fill ( m, 3, 1, light_blue, 'WA', '' );
    box_fill ( m, 4, 1, light_red, 'OR', '' );
    box_fill ( m, 5, 1, light_blue, 'CA', '' );
    box_fill ( m, 8, 1, light_red, 'HI', '' );

    box_fill ( m, 3, 2, light_red, 'ID', '' );
    box_fill ( m, 4, 2, light_red, 'UT', '' );
    box_fill ( m, 5, 2, light_red, 'NV', '' );
    box_fill ( m, 6, 2, light_red, 'AZ', '' );

    box_fill ( m, 3, 3, light_red, 'MT', '' );
    box_fill ( m, 4, 3, light_red, 'WY', '' );
    box_fill ( m, 5, 3, light_blue, 'CO', '' );
    box_fill ( m, 6, 3, light_blue, 'NM', '' );

    box_fill ( m, 3, 4, light_red, 'ND', '' );
    box_fill ( m, 4, 4, light_red, 'SD', '' );
    box_fill ( m, 5, 4, light_blue, 'NE', '' );
    box_fill ( m, 6, 4, light_red, 'KS', '' );
    box_fill ( m, 7, 4, light_blue, 'OK', '' );
    box_fill ( m, 8, 4, light_red, 'TX', '' );

    box_fill ( m, 3, 5, light_red, 'MN', '' );
    box_fill ( m, 4, 5, light_blue, 'IA', '' );
    box_fill ( m, 5, 5, light_blue, 'MO', '' );
    box_fill ( m, 6, 5, light_blue, 'AR', '' );
    box_fill ( m, 7, 5, light_red, 'LA', '' );

    box_fill ( m, 4, 6, light_red, 'WI', '' );
    box_fill ( m, 5, 6, light_blue, 'IL', '' );
    box_fill ( m, 6, 6, light_blue, 'TN', '' );
    box_fill ( m, 7, 6, light_red, 'MS', '' );

    box_fill ( m, 4, 7, light_red, 'MI', '' );
    box_fill ( m, 5, 7, light_blue, 'IN', '' );
    box_fill ( m, 6, 7, light_red, 'KY', '' );
    box_fill ( m, 7, 7, light_red, 'AL', '' );

    box_fill ( m, 3, 8, light_red, 'OH', '' );
    box_fill ( m, 4, 8, light_red, 'WV', '' );
    box_fill ( m, 5, 8, light_red, 'NC', '' );
    box_fill ( m, 6, 8, light_blue, 'SC', '' );
    box_fill ( m, 7, 8, light_red, 'GA', '' );
    box_fill ( m, 8, 8, light_blue, 'FL', '' );

    box_fill ( m, 3, 9, light_red, 'NY', '' );
    box_fill ( m, 4, 9, light_blue, 'PA', '' );
    box_fill ( m, 5, 9, light_red, 'MD', '' );
    box_fill ( m, 6, 9, light_red, 'VA', '' );

    box_fill ( m, 2, 10, light_red, 'VT', '' );
    box_fill ( m, 3, 10, light_red, 'CT', '' );
    box_fill ( m, 4, 10, light_red, 'NJ', '' );
    box_fill ( m, 5, 10, light_red, 'DE', '' );
    box_fill ( m, 6, 10, light_red, 'DC', '' );

    box_fill ( m, 1, 11, light_red, 'ME', '' );
    box_fill ( m, 2, 11, light_red, 'NH', '' );
    box_fill ( m, 3, 11, light_red, 'MA', '' );
    box_fill ( m, 4, 11, light_blue, 'RI', '' );
    box_fill ( m, 8, 11, light_red, 'PR', '' );
%
%  These two commands apply to the axis of the map.
%
    axis ( 'equal' );
    axis ( 'off' );
%
%  Place the Starbucks logo.
%
    ax2 = axes ( 'position', [ 0.45, 0.7, 0.2, 0.2 ] );
    imagesc ( logo );

  hold ( 'off' );

  title ( 'The Starbucks Collection' );
%
%  These two commands apply to the axis of the Starbucks logo!
%
  axis ( 'equal' );
  axis ( 'off' );

  filename = 'starbucks_box_plot.png';
  print ( '-dpng', filename );
  fprintf ( 1, '  Graphics saved as "%s"\n', filename );

  return
end
 
