List of 'big' movies you might not have seen yet

4

If you've been stuck at home a lot lately, and think you have run out of movies to watch -- think again! Here is a list of big-budget movies you might not have seen, because they flopped (lost lots of money). Follow along as I show you how I created my interactive graphical list, or jump down to the bottom to see the finished list...

The Data

I saw this online list of 45 Of The Most Expensive Box Office Flops Ever Made. It was an interesting article, with details about why each of these movies failed and lost lots of money. But I had to do a lot of scrolling to see what all the movies were, and how many millions of $ they had lost. And I had no clue when many of the movies had been released. Therefore I decided to create my own graphical/interactive list, with just the pertinent information, and add the release dates (which I had to lookup on the web), and allows me to click each movie to find out more details.

Here's a sample of what my nice/summarized data looked like:

First Attempt

In my first attempt, I used a needle plot, where the length of the needle was the amount of $ each movie lost, and I plotted it along a time axis by the release date. I overlaid a text plot, so the name of each movie was shown at the end of the needle. And one little trick - I used the reverse option on the yaxis, so the needles were pointing down (I thought that seemed appropriate, since the values represented the amount of money lost).

It was an interesting graph, but since many of the movies were released around the same dates, many of the titles were overlapping (and therefore impossible to read).

proc sgplot data=my_data noautolegend noborder;
needle x=date y=loss_millions / lineattrs=(color=red) markers markerattrs=(color=red);
text x=date y=text_y text=title / position=right rotate=90 contributeoffsets=(ymin)
    textattrs=(color=blue size=8pt);
yaxis display=(nolabel noticks noline) reverse grid gridattrs=(pattern=dot color=gray88);
xaxis display=(nolabel);
run;

 

Refined Attempt

To avoid the overlapping text, I applied the discrete option so that each of the date values would be plotted as evenly-space discrete values along the xaxis. The movies are still arranged in the order they were released - just not proportionally spaced. But there's still a problem - can you see it in the graph below?...

proc sgplot data=my_data noautolegend noborder;
needle x=date y=loss_millions / lineattrs=(color=red) markers markerattrs=(color=red);
text x=date y=text_y text=title / position=right rotate=90 contributeoffsets=(ymin)
     textattrs=(color=blue size=8pt);
yaxis display=(nolabel noticks noline) reverse grid gridattrs=(pattern=dot color=gray88);
xaxis display=(nolabel noticks noline novalues) type=discrete;
run;

Final Version

If you've got a sharp eye, you noticed two of the movie titles overlapping(near the right-side of the graph). Although the discrete option causes each unique date value along the xaxis to be plotted separately, there happened to be two movies released on the exact same date ... therefore they were plotted on the exact same discrete xaxis value.

To get around that problem, I added a variable (called order) to the dataset, containing a unique value for each movie. Then I plotted the list by that unique value, instead of the date. I also enhanced the graph by adding mouse-over text and drilldown, using the tip= and url= options. (Click here to try out these interactive capabilities.)

data my_data; set my_data;
order=_n_;
run;

proc sgplot data=my_data noautolegend noborder;
needle x=order y=loss_millions / lineattrs=(color=red) markers markerattrs=(color=red)
     url=drill tip=(title loss_millions date);
text x=order y=text_y text=title / position=right rotate=90 contributeoffsets=(ymin)
     textattrs=(color=blue size=8pt)
     url=drill tip=(title loss_millions date);
yaxis display=(nolabel noticks noline) reverse grid gridattrs=(pattern=dot color=gray88);
xaxis display=(nolabel noticks noline novalues) type=discrete;
run;

Click the image below, to see the interactive version, with mouse-over text, and drilldown links to find out more info about each movie. (Click here to see the full SAS code used to create this graph.)

Since these movies were flops (lost lots of money), you might not have seen them ... but also since these were big-budget movies, perhaps some of them are actually pretty good (if you happen to be into their topic/genre/etc). So, if you've run out of ideas for movies to watch, perhaps you will find something in this list. 🙂

If you find a movie in this list that you like(d), and think that other people reading a graph blog might also like, please leave a note/recommendation in the comments!

 

Tags fun SGPLOT
Share

About Author

Robert Allison

The Graph Guy!

Robert has worked at SAS for over a quarter century, and his specialty is customizing graphs and maps - adding those little extra touches that help them answer your questions at a glance. His educational background is in Computer Science, and he holds a BS, MS, and PhD from NC State University.

4 Comments

  1. Rober,
    Add a block(or text) to display the year would look like better.

    data my_data;
    label title='Movie';
    label date='Release Date';
    label loss_millions='Millions Lost';
    length title $100;
    format date date9.;
    format loss_millions dollar20.0;
    infile datalines dlm='|';
    input date date9. loss_millions title;
    text_y=-3;
    drill="http://www.google.com/search?q="||trim(left(title))||', '||trim(left(put(date,year4.)));
    year=year(date);
    datalines;
    16jun2000|100|Titan A.E.
    15aug2002|96|The Adventures of Pluto Nash
    06feb2015|90|Jupiter Ascending
    27may2016|70|Alice Through the Looking Glass
    01mar2013|125|Jack the Giant Slayer
    25dec2013|98|47 Ronin
    17dec2010|85|How Do You Know
    22jun2013|100|The Lone Ranger
    23feb2017|120|Monster Trucks
    12dec2008|39|Delgo
    07aug2015|80|Fantastic Four
    19jun2013|100|R.I.P.D.
    29jul2011|63|Cowboys and Aliens
    19aug2016|76|Ben-Hur
    28sep2016|60|Deepwater Horizon
    22may2015|80|Tomorrowland
    11sep2016|94|The Promise
    27nov2018|174.8|Mortal Engines
    22dec1995|89|CutThroat Island
    20sep2015|130|Pan
    08apr2005|78|Sahara
    09mar2012|200|John Carter
    08may2017|150|King Arthur: Legend of the Sword
    02jul2003|125|Sinbad: Legend of the Seven Seas
    03jun2016|75|Teenage Mutant Ninja Turtles: Out of the Shadows
    22mar2017|76|Power Rangers
    11mar2011|100|Mars Needs Moms
    09may2008|73|Speed Racer
    01aug2003|72|Gigli
    29jul2005|96|Stealth
    25nov2015|85|The Good Dinosaur
    22jun2007|88|Evan Almighty
    09jun2017|95|The Mummy
    11dec1998|68|Jack Frost
    24jul2015|75|Pixels
    11jul2016|75|Ghostbusters
    02jul2001|94|Final Fantasy: The Spirits Within
    23nov2011|92|Hugo
    12feb2010|76|The Wolfman
    07aug2001|63|Osmosis Jones
    21nov2012|87|Rise of the Guardians
    27apr2001|85|Town and Country
    27nov2002|85|Treasure Planet
    17dec2014|85|Seventh Son
    25dec2001|63|Ali
    14jan2000|83|Supernova
    09nov2016|75|Allied
    24nov2004|71|Alexander
    15jun2011|98|Green Lantern
    26feb2016|79|Gods of Egypt
    31mar2006|32|Basic Instinct 2
    12apr2019|40|Hellboy
    03oct2019|75|Gemini Man
    10nov2000|93|Red Planet
    19jul2002|94|K-19: The Widowmaker
    24nov2010|95|The Nutcracker in 3D
    02sep2005|96|A Sound of Thunder
    26feb2018|130|A Wrinkle in Time
    23oct2019|110|Terminator: Dark Fate
    12apr2019|100|Missing Link
    20jun2017|100|Transformers: The Last Knight
    20nov2018|83|Robin Hood (2018)
    21jul2017|82|Valerian and the City of a Thousand Planets
    07jun2019|79|Dark Phoenix
    06oct2017|80|Blade Runner 2049
    08feb2019|79|The Lego Movie 2: The Second Part
    10may2018|76|Solo: A Star Wars Story
    05dec2016|75|The Great Wall
    30jun2016|71|The BFG
    20dec2019|71|Cats
    ;
    run;

    proc sort data=my_data out=my_data;
    by date loss_millions;
    run;
    data my_data; set my_data;
    order=_n_;
    run;
    ods graphics /
    imagemap tipmax=2500
    imagefmt=png
    width=900px height=600px noborder;
    proc sgplot data=my_data noautolegend noborder;
    needle x=order y=loss_millions / lineattrs=(color=red) markers markerattrs=(color=red)
    url=drill tip=(title loss_millions date);
    text x=order y=text_y text=title / position=right rotate=90 contributeoffsets=(ymin)
    textattrs=(color=blue size=8pt)
    url=drill tip=(title loss_millions date);
    yaxis display=(nolabel noticks noline) reverse grid gridattrs=(pattern=dot color=gray88);
    xaxis display=(nolabel noticks noline novalues) type=discrete offsetmax=0.1 offsetmin=0.1;

    block x=order block=year/ transparency=0.5 filltype=alternate labelpos=bottom ;
    run;

  2. Chris Hemedinger
    Chris Hemedinger on

    One of my favorite podcasts is The Flop House, in which 3 (nerdy) comedic writers watch a bad movie (usually a box office flop) and then talk about it. They have covered most of the movies in your report.

Back to Top