Last active
December 21, 2015 05:19
-
-
Save naxxateux/6256237 to your computer and use it in GitHub Desktop.
Movie scenarios over the years (static)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<meta charset="utf-8"> | |
<html lang="en"> | |
<head> | |
<style> | |
div.tooltip { | |
background: #fff; | |
position: absolute; | |
left: 0; | |
top: 0; | |
z-index: 9; | |
border: 1px solid #ddd; | |
padding: 5px 5px; | |
font-family: arial, sans-serif; | |
-webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3); | |
-moz-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3); | |
box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3); | |
} | |
p.name { | |
font-size: 14px; | |
font-weight: 200; | |
} | |
p.gross { | |
font-size: 12px; | |
font-weight: 200; | |
} | |
</style> | |
<script type="text/javascript" src="http://d3js.org/d3.v3.min.js"></script> | |
<script type="text/javascript" src="http://d3js.org/queue.v1.min.js"></script> | |
<script type="text/javascript" src="http://d3js.org/topojson.v0.min.js"></script> | |
<title></title> | |
</head> | |
<body> | |
<div id="chart" align="center"></div> | |
<script type="text/javascript"> | |
// Global variables | |
var MoviesMatrix; | |
var pathsArray = []; | |
var arcsArray = []; | |
var nOfYears; | |
var scenarioColors = ["#f43a0b", "#4b8da0", "#4ab577", "#f2b10d"]; | |
var yearsPerRow = 5; | |
var yearSectWidth = 100; | |
var yearSectHeight = 300; | |
var scenarioGroupVerticalPadding = 5; | |
var yearSectVerticalPadding = 10; | |
var connectionPathWidth = 50; | |
var margin = {top: 40, right: 40, bottom: 40, left: 250}; | |
var width = 1200 - margin.left - margin.right; | |
var height = 2500 - margin.top - margin.bottom; | |
// Utilities | |
function formatMoney(value, c, d, t) { | |
var n = value, | |
c = isNaN(c = Math.abs(c)) ? 0 : c, | |
d = d == undefined ? "." : d, | |
t = t == undefined ? "," : t, | |
s = n < 0 ? "-" : "", | |
i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", | |
j = (j = i.length) > 3 ? j % 3 : 0; | |
return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : ""); | |
}; | |
// Main unit | |
d3.text("movies.csv", function(error, MoviesData) { | |
if (error) { | |
console.log(error); | |
} else { | |
// Read data | |
MoviesMatrix = d3.csv.parseRows(MoviesData).map(function(row) { | |
return row.map(function(value) { | |
return value; | |
}); | |
}); | |
nOfYears = MoviesMatrix.length; | |
// Create scales | |
var xScale = d3.scale.linear() | |
.domain([0, (yearsPerRow - 1)]) | |
.range([0, ((yearsPerRow - 1) * (yearSectWidth + connectionPathWidth))]); | |
var yScale = d3.scale.linear() | |
.domain([0, (Math.round(MoviesMatrix.length / yearsPerRow) - 1)]) | |
.range([0, ((Math.round(MoviesMatrix.length / yearsPerRow) - 1) * (yearSectHeight + yearSectVerticalPadding))]); | |
var movieHeightScale = d3.scale.linear() | |
.domain([0, 9241692401]) // Got from MoviesData using Excel | |
.range([0, yearSectHeight]); | |
// Create initial SVG | |
var svg = d3.select("#chart") | |
.append("svg") | |
.attr("width", width + margin.left + margin.right) | |
.attr("height", height + margin.top + margin.bottom) | |
.append("g") | |
.attr("transform", "translate(" + margin.left + "," + margin.top + ")"); | |
var tooltip = d3.select("body") | |
.append("div") | |
.attr("class", "tooltip") | |
.style("visibility", "hidden"); | |
var table = tooltip.append("table"); | |
var cells = table.append("tr"); | |
var cell1 = cells.append("td") | |
.attr("align", "left") | |
.attr("valign", "top"); | |
cell1.append("p").append("img") | |
.attr("border", "1") | |
.attr("class", "poster"); | |
var cell2 = cells.append("td") | |
.attr("align", "left") | |
.attr("valign", "top"); | |
cell2.append("p") | |
.attr("class", "name"); | |
cell2.append("p") | |
.attr("class", "gross"); | |
// Draw paths | |
for (i = 0; i < nOfYears - 1; i++) { | |
// Current group variables | |
var currentX = (Math.floor(i / yearsPerRow) % 2) === 0 ? xScale((i % yearsPerRow)) : xScale(((yearsPerRow - 1) - (i % yearsPerRow))); | |
var currentY0 = 0; | |
var currentY1 = 0; | |
var currentYearSectActualHeight = 0; | |
// Get y0 value of current group | |
for (j = 1; j < MoviesMatrix[0].length; j+=3) { | |
currentYearSectActualHeight += (j === 1 ? movieHeightScale(+MoviesMatrix[i][j + 1]) : (MoviesMatrix[i][j + 2] === MoviesMatrix[i][j - 1] ? movieHeightScale(+MoviesMatrix[i][j + 1]) : (movieHeightScale(+MoviesMatrix[i][j + 1]) + scenarioGroupVerticalPadding))); | |
} | |
currentY0 = yScale(Math.floor(i / yearsPerRow)) + ((yearSectHeight - currentYearSectActualHeight) / 2); | |
for (j = 1; j < MoviesMatrix[0].length; j+=3) { | |
// Get y1 value of current group | |
var currentGroupIndex = MoviesMatrix[i][j + 2]; | |
while (MoviesMatrix[i][j + 2] === currentGroupIndex) { | |
currentY1 += movieHeightScale(+MoviesMatrix[i][j + 1]); | |
j+=3; | |
} | |
// If there is next group in the same row (path) | |
if (((i + 1) % yearsPerRow) != 0 && MoviesMatrix[i + 1].indexOf(currentGroupIndex) != -1) { | |
// Next group variables | |
var nextX; | |
var nextY0 = 0; | |
var nextY1 = 0; | |
var nextYearSectActualHeight = 0; | |
// Get y0 value of next group | |
for (p = 1; p < MoviesMatrix[0].length; p+=3) { | |
nextYearSectActualHeight += (p === 1 ? movieHeightScale(+MoviesMatrix[i + 1][p + 1]) : (MoviesMatrix[i + 1][p + 2] === MoviesMatrix[i + 1][p - 1] ? movieHeightScale(+MoviesMatrix[i + 1][p + 1]) : (movieHeightScale(+MoviesMatrix[i + 1][p + 1]) + scenarioGroupVerticalPadding))); | |
} | |
nextY0 = yScale(Math.floor(i / yearsPerRow)) + ((yearSectHeight - nextYearSectActualHeight) / 2); | |
for (p = 1; p < MoviesMatrix[0].length; p+=3) { | |
if (MoviesMatrix[i + 1][p + 2] != currentGroupIndex) { | |
nextY0 += (MoviesMatrix[i + 1][p + 2] === MoviesMatrix[i + 1][p - 1] ? movieHeightScale(+MoviesMatrix[i + 1][p + 1]) : (movieHeightScale(+MoviesMatrix[i + 1][p + 1]) + scenarioGroupVerticalPadding)); | |
} else { | |
break; | |
} | |
} | |
// Get y1 value of next group | |
while(MoviesMatrix[i + 1][p + 2] === currentGroupIndex) { | |
nextY1 += movieHeightScale(+MoviesMatrix[i + 1][p + 1]); | |
p+=3; | |
} | |
// Push current & next group values to pathsArray | |
if ((Math.floor(i / yearsPerRow) % 2) === 0) { | |
nextX = currentX + yearSectWidth + connectionPathWidth; | |
pathsArray.push([ | |
{x: currentX, y0: currentY0, y1: currentY0 + currentY1}, | |
{x: (currentX + yearSectWidth) , y0: currentY0, y1: currentY0 + currentY1}, | |
{x: nextX, y0: nextY0, y1: nextY0 + nextY1}, | |
{x: (nextX + yearSectWidth), y0: nextY0, y1: nextY0 + nextY1} | |
]); | |
pathsArray.push({color: scenarioColors[+currentGroupIndex]}); | |
} else { | |
nextX = currentX - yearSectWidth - connectionPathWidth; | |
pathsArray.push([ | |
{x: nextX, y0: nextY0, y1: nextY0 + nextY1}, | |
{x: (nextX + yearSectWidth), y0: nextY0, y1: nextY0 + nextY1}, | |
{x: currentX, y0: currentY0, y1: currentY0 + currentY1}, | |
{x: (currentX + yearSectWidth) , y0: currentY0, y1: currentY0 + currentY1} | |
]); | |
pathsArray.push({color: scenarioColors[+currentGroupIndex]}); | |
} | |
} | |
// If there is next group in the next row (arc) | |
if (((i + 1) % yearsPerRow) === 0 && MoviesMatrix[i + 1].indexOf(currentGroupIndex) != -1) { | |
// Next group variables | |
var nextY0 = 0; | |
var nextY1 = 0; | |
var nextYearSectActualHeight = 0; | |
// Get y0 value of next group | |
for (p = 1; p < MoviesMatrix[0].length; p+=3) { | |
nextYearSectActualHeight += (p === 1 ? movieHeightScale(+MoviesMatrix[i + 1][p + 1]) : (MoviesMatrix[i + 1][p + 2] === MoviesMatrix[i + 1][p - 1] ? movieHeightScale(+MoviesMatrix[i + 1][p + 1]) : (movieHeightScale(+MoviesMatrix[i + 1][p + 1]) + scenarioGroupVerticalPadding))); | |
} | |
nextY0 = yScale(Math.floor((i + 1) / yearsPerRow)) + ((yearSectHeight - nextYearSectActualHeight) / 2); | |
for (p = 1; p < MoviesMatrix[0].length; p+=3) { | |
if (MoviesMatrix[i + 1][p + 2] != currentGroupIndex) { | |
nextY0 += (MoviesMatrix[i + 1][p + 2] === MoviesMatrix[i + 1][p - 1] ? movieHeightScale(+MoviesMatrix[i + 1][p + 1]) : (movieHeightScale(+MoviesMatrix[i + 1][p + 1]) + scenarioGroupVerticalPadding)); | |
} else { | |
break; | |
} | |
} | |
// Get y1 value of next group | |
while(MoviesMatrix[i + 1][p + 2] === currentGroupIndex) { | |
nextY1 += movieHeightScale(+MoviesMatrix[i + 1][p + 1]); | |
p+=3; | |
} | |
// Push path to arcsArray | |
if ((Math.floor(i / yearsPerRow) % 2) === 0) { | |
arcsArray.push({path: "M " + (currentX + yearSectWidth) + " " + currentY0 + " A " + (((nextY0 + nextY1) - currentY0) / 2) + " " + (((nextY0 + nextY1) - currentY0) / 2) + " 0 0 1 " + (currentX + yearSectWidth) + " " + (nextY0 + nextY1) + " V " + nextY0 + " A " + ((nextY0 - (currentY0 + currentY1)) / 2) + " " + ((nextY0 - (currentY0 + currentY1)) / 2) + " 0 0 0 " + (currentX + yearSectWidth) + " " + (currentY0 + currentY1) + " Z"}); | |
arcsArray.push({color: scenarioColors[+currentGroupIndex]}); | |
} else { | |
arcsArray.push({path: "M " + currentX + " " + currentY0 + " A " + (((nextY0 + nextY1) - currentY0) / 2) + " " + (((nextY0 + nextY1) - currentY0) / 2) + " 0 0 0 " + currentX + " " + (nextY0 + nextY1) + " V " + nextY0 + " A " + ((nextY0 - (currentY0 + currentY1)) / 2) + " " + ((nextY0 - (currentY0 + currentY1)) / 2) + " 0 0 1 " + currentX + " " + (currentY0 + currentY1) + " Z"}); | |
arcsArray.push({color: scenarioColors[+currentGroupIndex]}); | |
} | |
} | |
// Update indicies | |
currentY0 += (currentY1 + scenarioGroupVerticalPadding); | |
currentY1 = 0; | |
j-=3; | |
} | |
} | |
// Area builder | |
var area = d3.svg.area() | |
.interpolate("monotone") | |
.x(function(d) { return d.x; }) | |
.y0(function(d) { return d.y0; }) | |
.y1(function(d) { return d.y1; }); | |
// Get paths data & draw it | |
for (i = 0; i < pathsArray.length; i+=2) { | |
svg.append("path") | |
.attr("d", area(pathsArray[i])) | |
.attr("opacity", 0.5) | |
.style("fill", pathsArray[i + 1].color); | |
} | |
// Get arcs data & draw it | |
for (i = 0; i < arcsArray.length; i+=2) { | |
svg.append("path") | |
.attr("d", arcsArray[i].path) | |
.attr("opacity", 0.5) | |
.style("fill", arcsArray[i + 1].color); | |
} | |
// Draw movie rectangles | |
for (i = 0; i < nOfYears; i++) { | |
var x0 = (Math.floor(i / yearsPerRow) % 2) === 0 ? xScale((i % yearsPerRow)) : xScale(((yearsPerRow - 1) - (i % yearsPerRow))); | |
var y1 = 0; | |
var y0 = 0; | |
var currentYearSectActualHeight = 0; | |
for (j = 1; j < MoviesMatrix[0].length; j+=3) { | |
currentYearSectActualHeight += (j === 1 ? movieHeightScale(+MoviesMatrix[i][j + 1]) : (MoviesMatrix[i][j + 2] === MoviesMatrix[i][j - 1] ? movieHeightScale(+MoviesMatrix[i][j + 1]) : (movieHeightScale(+MoviesMatrix[i][j + 1]) + scenarioGroupVerticalPadding))); | |
} | |
y0 = yScale(Math.floor(i / yearsPerRow)) + ((yearSectHeight - currentYearSectActualHeight) / 2); | |
var year = svg.append("g") | |
.attr("class", "year") | |
.attr("id", MoviesMatrix[i][0]); | |
for (j = 1; j < MoviesMatrix[0].length; j+=3) { | |
year.append("rect") | |
.attr("class", "movie-" + i + "+" + j) | |
.attr("x", x0) | |
.attr("y", function() { return j === 1 ? (y0 + y1) : (MoviesMatrix[i][j + 2] === MoviesMatrix[i][j - 1] ? (y0 + y1) : (y0 + y1 + scenarioGroupVerticalPadding));}) | |
.attr("width", yearSectWidth) | |
.attr("height", movieHeightScale(+MoviesMatrix[i][j + 1])) | |
.style("stroke", "#ffffff") | |
.style("stroke-width", 0.5) | |
.style("fill", scenarioColors[+MoviesMatrix[i][j + 2]]) | |
.attr("opacity", 0.7) | |
.on("mouseover", function() { | |
var currentMovieClass = d3.select(this).attr("class"); | |
var movieName = MoviesMatrix[+currentMovieClass.substring(currentMovieClass.indexOf("-") + 1, currentMovieClass.indexOf("+"))][+currentMovieClass.substring(currentMovieClass.indexOf("+") + 1)]; | |
var movieGross = MoviesMatrix[+currentMovieClass.substring(currentMovieClass.indexOf("-") + 1, currentMovieClass.indexOf("+"))][+currentMovieClass.substring(currentMovieClass.indexOf("+") + 1) + 1]; | |
d3.select(this) | |
.transition() | |
.duration(100) | |
.attr("opacity", 1); | |
d3.select(".tooltip") | |
.select(".name") | |
.text(movieName); | |
d3.select(".tooltip") | |
.select(".gross") | |
.text("$" + formatMoney(movieGross)); | |
d3.select(".tooltip") | |
.select(".poster") | |
.attr("src", "http://www.movieposterdb.com/posters/12_12/2013/1408101/l_1408101_ce007376.jpg"); | |
d3.select(".tooltip") | |
.style("visibility", "visible"); | |
}) | |
.on("mousemove", function() { | |
d3.select(".tooltip") | |
.style("top", (d3.event.pageY + 20) + "px") | |
.style("left", (d3.event.pageX + 20) + "px"); | |
}) | |
.on("mouseout", function() { | |
d3.select(this) | |
.transition() | |
.duration(100) | |
.attr("opacity", 0.7); | |
d3.select(".tooltip") | |
.style("visibility", "hidden"); | |
}); | |
y1 += (j === 1 ? movieHeightScale(+MoviesMatrix[i][j + 1]) : (MoviesMatrix[i][j + 2] === MoviesMatrix[i][j - 1] ? movieHeightScale(+MoviesMatrix[i][j + 1]) : (movieHeightScale(+MoviesMatrix[i][j + 1]) + scenarioGroupVerticalPadding))); | |
} | |
} | |
} | |
}); | |
</script> | |
</body> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1980 | Звездные войны: Эпизод 5 – Империя наносит ответный удар | 1502066436 | 3 | Как только сможешь | 197217689 | 3 | Смоки и Бандит 2 | 184510026 | 3 | Братья Блюз | 321491393 | 1 | Дочь шахтера | 187439975 | 1 | Голубая лагуна | 164200165 | 1 | Аэроплан | 232835373 | 0 | С девяти до пяти | 288180495 | 0 | Буйнопомешанные | 282627000 | 0 | Рядовой Бенджамин | 194874100 | 0 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1981 | Супермен 2 | 273709836 | 3 | Только для твоих глаз | 138676389 | 3 | На Золотом пруду | 301792142 | 1 | Лис и пёс | 160546179 | 1 | Добровольцы поневоле | 215801410 | 0 | Гонки «Пушечное ядро» | 182614334 | 0 | Индиана Джонс: В поисках утраченного ковчега | 986512706 | 0 | Огненные колесницы | 149201447 | 0 | Артур | 241518055 | 0 | Времена года | 127581944 | 0 | |
1982 | Рокки 3 | 297616917 | 3 | Звездный путь 2: Гнев Хана | 187812851 | 3 | Самый приятный бордель в Техасе | 165889896 | 1 | Рэмбо: Первая кровь | 298006711 | 1 | Тутси | 421736000 | 0 | Инопланетянин | 1887127118 | 0 | Офицер и джентльмен | 308913418 | 0 | Полтергейст | 290850946 | 0 | Порки | 264869421 | 0 | 48 часов | 187707049 | 0 | |
1983 | Звездные войны: Эпизод 6 – Возвращение Джедая | 1097495268 | 3 | Челюсти 3 | 203250097 | 3 | Внезапный удар | 156254620 | 3 | Остаться в живых | 149902067 | 3 | Осьминожка | 156834259 | 3 | Лицо со шрамом | 152193663 | 2 | Язык нежности | 379356259 | 1 | Танец-вспышка | 214647978 | 0 | Поменяться местами | 208835088 | 0 | Военные игры | 183801310 | 0 | |
1984 | Индиана Джонс и Храм судьбы | 736167068 | 3 | Звездный путь 3: В поисках Спока | 169001011 | 3 | Охотники за привидениями | 644506994 | 0 | Гремлины | 338313655 | 0 | Роман с камнем | 257624645 | 0 | Парень-каратист | 200702383 | 0 | Полицейская академия | 179449555 | 0 | Свободные | 176878238 | 0 | Терминатор | 173200352 | 0 | Полицейский из Беверли-Хиллз | 699156656 | 0 | |
1985 | Рокки 4 | 640009015 | 3 | Рэмбо: Первая кровь 2 | 639852920 | 3 | Жемчужина Нила | 206126916 | 3 | Цветы лиловые полей | 311976548 | 1 | Из Африки | 273703306 | 1 | Кокон | 181716954 | 0 | Назад в будущее | 811763793 | 0 | Свидетель | 146345895 | 0 | Балбесы | 130760018 | 0 | Шпионы как мы | 127989527 | 0 | |
1986 | Чужие | 273915918 | 3 | Парень-каратист 2 | 240567316 | 3 | Звездный путь 4: Дорога домой | 229300445 | 3 | Американская история | 176692784 | 0 | Крокодил Данди | 685945327 | 0 | Взвод | 289528880 | 0 | Орлы юриспруденции | 194686825 | 0 | Снова в школу | 190729220 | 0 | Лучший стрелок | 745775956 | 0 | Золотой ребенок | 166819488 | 0 | |
1987 | Полицейский из Беверли-Хиллз 2 | 605929372 | 3 | Неприкасаемые | 154066317 | 2 | Трое мужчин и младенец | 338917539 | 2 | Роковое влечение | 646694299 | 1 | Доброе утро, Вьетнам | 250323187 | 0 | Смертельное оружие | 242818396 | 0 | Секрет моего успеха | 224213695 | 0 | Хищник | 198435806 | 0 | Во власти Луны | 162893866 | 0 | Грязные танцы | 432187633 | 0 | |
1988 | Крокодил Данди 2 | 464836047 | 3 | Рэмбо 3 | 366690285 | 3 | Поездка в Америку | 560179463 | 1 | Коктейль | 332719275 | 1 | Кто подставил кролика Роджера | 639819678 | 0 | Крепкий орешек | 269095172 | 0 | Рыбка по имени Ванда | 367811801 | 0 | Близнецы | 420231912 | 0 | Человек дождя | 688361343 | 0 | Большой | 294237421 | 0 | |
1989 | Индиана Джонс и последний крестовый поход | 877217841 | 3 | Назад в будущее 2 | 614107503 | 3 | Охотники за привидениями 2 | 398480265 | 3 | Смертельное оружие 2 | 421529874 | 3 | Бэтмен | 760995509 | 1 | Русалочка | 390985436 | 1 | Рожденный четвертого июля | 390985436 | 1 | Уж кто бы говорил | 549449654 | 0 | Общество мертвых поэтов | 436341214 | 0 | Дорогая, я уменьшил детей | 412039718 | 0 | |
1990 | Назад в будущее 3 | 430368546 | 3 | Крепкий орешек 2 | 421592066 | 3 | Танцующий с волками | 746607572 | 1 | Черепашки-ниндзя | 355460010 | 1 | Презумпция невиновности | 389493610 | 1 | Вспомнить всё | 459887718 | 1 | Детсадовский полицейский | 355445530 | 0 | Красотка | 815595031 | 0 | Привидение | 890036554 | 0 | Один дома | 838965028 | 0 | |
1991 | Терминатор 2: Судный день | 878535253 | 3 | Мыс страха | 308073427 | 2 | Красавица и чудовище | 718195277 | 1 | Робин Гуд: Принц воров | 659934704 | 1 | Капитан Крюк | 508444650 | 1 | Молчание ягнят | 460935538 | 1 | Джон Ф. Кеннеди: Выстрелы в Далласе | 347135291 | 1 | Семейка Аддамс | 323639099 | 1 | Горячие головы | 306052517 | 0 | Городские пижоны | 302567106 | 0 | |
1992 | Один дома 2: Затерянный в Нью-Йорке | 588746356 | 3 | Смертельное оружие 3 | 527639704 | 3 | Бэтмен возвращается | 437603984 | 3 | Несколько хороших парней | 398913891 | 1 | Аладдин | 826642359 | 1 | Дракула | 354014814 | 1 | Мир Уэйна | 300279609 | 1 | Телохранитель | 673950980 | 0 | Основной инстинкт | 578800647 | 0 | Сестричка, действуй | 379832446 | 0 | |
1993 | Парк Юрского периода | 1542064492 | 1 | Список Шиндлера | 510812571 | 1 | Миссис Даутфайр | 701500436 | 1 | Беглец | 586512458 | 1 | Непристойное предложение | 423916353 | 1 | Фирма | 429694903 | 1 | Дело о пеликанах | 310476209 | 1 | Неспящие в Сиэтле | 362201815 | 1 | Скалолаз | 405450335 | 0 | Филадельфия | 328618719 | 0 | |
1994 | Правдивая ложь | 587267737 | 2 | Форрест Гамп | 1049949363 | 1 | Маска | 544954280 | 1 | Флинтстоуны | 529528372 | 1 | Интервью с вампиром | 346680142 | 1 | Прямая и явная угроза | 334625961 | 1 | Король Лев | 1474954854 | 0 | Скорость | 543194624 | 0 | Четыре свадьбы и одни похороны | 380836289 | 0 | Тупой и еще тупее | 383276829 | 0 | |
1995 | Крепкий орешек 3: Возмездие | 545430873 | 3 | Золотой глаз | 526832387 | 3 | Бэтмен навсегда | 508161979 | 3 | Покахонтас | 522580457 | 1 | Каспер | 434771572 | 1 | Аполлон 13 | 536409278 | 1 | Джуманджи | 396823845 | 1 | Семь | 494240907 | 0 | Водный мир | 398969512 | 0 | История игрушек | 546557691 | 0 | |
1996 | Чокнутый профессор | 399983087 | 2 | Миссия: невыполнима | 666482412 | 1 | Горбун из Нотр Дама | 474994722 | 1 | 101 далматинец | 468206369 | 1 | Выкуп | 451859314 | 1 | День независимости | 1192775131 | 0 | Смерч | 721928425 | 0 | Скала | 489191426 | 0 | Джерри Магуайер | 399386784 | 0 | Стиратель | 353751520 | 0 | |
1997 | Парк Юрского периода 2: Затерянный мир | 884653768 | 3 | Завтра не умрет никогда | 485256345 | 3 | Люди в черном | 842828470 | 1 | Титаник | 3125082391 | 0 | Мужской стриптиз | 368593157 | 0 | Самолет президента | 450673664 | 0 | Пятый элемент | 377405857 | 0 | Свадьба лучшего друга | 427982705 | 0 | Лучше не бывает | 449274555 | 0 | Лжец, лжец | 432876179 | 0 | |
1998 | Годзилла | 534410154 | 2 | Доктор Дулиттл | 415183813 | 2 | Мулан | 429091558 | 1 | Смертельное оружие 4 | 402476890 | 1 | Армагеддон | 780730801 | 0 | Спасти рядового Райана | 679395681 | 0 | Столкновение с бездной | 492745176 | 0 | Приключения Флика | 512391976 | 0 | Все без ума от Мэри | 521537357 | 0 | Влюбленный Шекспир | 407938089 | 0 | |
1999 | Звездные войны: Эпизод 1 – Скрытая угроза | 1415965823 | 3 | История игрушек 2 | 669320947 | 3 | И целого мира мало | 499328712 | 3 | Остин Пауэрс: Шпион, который меня соблазнил | 429097318 | 3 | Мумия | 573921973 | 2 | Тарзан | 618504710 | 1 | Шестое чувство | 928472682 | 0 | Матрица | 639653988 | 0 | Ноттинг Хилл | 502167755 | 0 | Красота по-американски | 491689309 | 0 | |
2000 | Миссия: невыполнима 2 | 726050407 | 3 | Знакомство с родителями | 439490579 | 2 | Гринч – похититель Рождества | 459038065 | 1 | Идеальный шторм | 437195517 | 1 | Люди Икс | 394012570 | 1 | Гладиатор | 608661767 | 0 | Динозавр | 471149923 | 0 | Изгой | 571410748 | 0 | Чего хотят женщины | 497568570 | 0 | Что скрывает ложь | 387589066 | 0 | |
2001 | Парк Юрского периода 3 | 479415051 | 3 | Ганнибал | 457199948 | 3 | Мумия возвращается | 562925720 | 3 | Одиннадцать друзей Оушена | 585932295 | 2 | Гарри Поттер и философский камень | 1267181982 | 1 | Властелин колец: Братство кольца | 1132989421 | 1 | Шрек | 629731983 | 1 | Планета обезьян | 470875262 | 1 | Корпорация монстров | 731661132 | 0 | Перл Харбор | 583987228 | 0 | |
2002 | Гарри Поттер и Тайная комната | 1125093931 | 3 | Властелин колец: Две крепости | 1185647872 | 3 | Звездные войны: Эпизод 2 – Атака клонов | 831229859 | 3 | Умри, но не сейчас | 552923028 | 3 | Люди в черном 2 | 565528067 | 3 | Человек-паук | 1051786945 | 1 | Особое мнение | 458717345 | 1 | Знаки | 522557333 | 0 | Ледниковый период | 490571792 | 0 | Моя большая греческая свадьба | 471992376 | 0 | |
2003 | Властелин колец: Возвращение Короля | 1398888676 | 3 | Матрица: Перезагрузка | 927660576 | 3 | Пираты Карибского моря: Проклятие Черной жемчужины | 817830018 | 3 | Матрица: Революция | 534179122 | 3 | Терминатор 3: Восстание машин | 541713890 | 3 | Люди Икс 2 | 509447016 | 3 | Плохие парни 2 | 341674445 | 3 | Последний самурай | 570948726 | 1 | В поисках Немо | 1152179076 | 0 | Брюс Всемогущий | 605716043 | 0 | |
2004 | Гарри Поттер и узник Азкабана | 971960029 | 3 | Шрек 2 | 1123212102 | 3 | Человек-паук 2 | 956194936 | 3 | Знакомство с Факерами | 630170312 | 3 | Двенадцать друзей Оушена | 442548021 | 3 | Троя | 606840019 | 1 | Страсти Христовы | 746517292 | 1 | Суперсемейка | 770352032 | 0 | Послезавтра | 662181561 | 0 | Подводная братва | 448075523 | 0 | |
2005 | Гарри Поттер и Кубок огня | 1058355072 | 3 | Звездные войны: Эпизод 3 – Месть Ситхов | 1002997173 | 3 | Кинг Конг | 649610481 | 2 | Бэтмен: Начало | 441578034 | 2 | Чарли и шоколадная фабрика | 560463140 | 1 | Хроники Нарнии: Лев, колдунья и волшебный шкаф | 879115475 | 1 | Война миров | 698259723 | 1 | Мадагаскар | 649610481 | 0 | Мистер и миссис Смит | 564284873 | 0 | Правила съема: Метод Хитча | 434358495 | 0 | |
2006 | Пираты Карибского моря: Сундук мертвеца | 1215444886 | 3 | Возвращение Супермена | 445832558 | 3 | Ледниковый период 2: Глобальное потепление | 747142500 | 3 | Казино Рояль | 677432535 | 3 | Люди Икс: Последняя битва | 523551849 | 3 | Миссия: невыполнима 3 | 453549013 | 3 | Код Да Винчи | 864393430 | 1 | Ночь в музее | 654908158 | 1 | Делай ноги | 438136746 | 0 | Тачки | 526659028 | 0 | |
2007 | Пираты Карибского моря: На краю Света | 1069396671 | 3 | Гарри Поттер и Орден Феникса | 1043273381 | 3 | Человек-паук 3: Враг в отражении | 988867504 | 3 | Шрэк Третий | 886843563 | 3 | Сокровище нации: Книга Тайн | 507674706 | 3 | Трансформеры | 787777855 | 1 | Симпсоны в кино | 585046424 | 1 | Я – легенда | 649737401 | 1 | 300 спартанцев | 506235680 | 1 | Рататуй | 692332327 | 0 | |
2008 | Темный рыцарь | 1074877535 | 3 | Индиана Джонс и Королевство хрустального черепа | 841700555 | 3 | Хроники Нарнии: Принц Каспиан | 449042157 | 3 | Мадагаскар 2 | 646173368 | 3 | Квант милосердия | 627117077 | 3 | Железный человек | 622410255 | 1 | Мамма MIA! | 652530551 | 1 | ВАЛЛ·И | 557757013 | 0 | Хэнкок | 668093818 | 0 | Кунг-фу Панда | 675966679 | 0 | |
2009 | Ледниковый период 3: Эра динозавров | 948752437 | 3 | Гарри Поттер и Принц-полукровка | 999825641 | 3 | Трансформеры: Месть падших | 894838033 | 3 | Сумерки. Сага. Новолуние | 759520199 | 3 | Ангелы и Демоны | 519945973 | 1 | Шерлок Холмс | 560710686 | 1 | Аватар | 2977034434 | 0 | Вверх | 782535785 | 0 | 2012 | 843815018 | 0 | Мальчишник в Вегасе | 500207785 | 0 | |
2010 | Железный человек 2 | 653159939 | 3 | Гарри Поттер и Дары Смерти: Часть I | 1008297470 | 3 | История игрушек: Большой побег | 1116320040 | 3 | Шрэк навсегда | 790230910 | 3 | Сумерки. Сага. Затмение | 733415914 | 3 | Алиса в стране чудес | 1075505665 | 1 | Рапунцель: Запутанная история | 620258032 | 1 | Как приручить дракона | 519622696 | 1 | Начало | 866807581 | 0 | Гадкий я | 570269684 | 0 | |
2011 | Гарри Поттер и Дары Смерти: Часть II | 1368341443 | 3 | Пираты Карибского моря: На странных берегах | 1064749238 | 3 | Трансформеры 3: Тёмная сторона Луны | 1146221935 | 3 | Кунг-фу Панда 2 | 679006126 | 3 | Миссия невыполнима: Протокол Фантом | 708607647 | 3 | Сумерки. Сага. Рассвет: Часть 1 | 726415293 | 3 | Форсаж 5 | 638660428 | 3 | Мальчишник 2: Из Вегаса в Бангкок | 598499591 | 3 | Тачки 2 | 571049443 | 3 | Смурфики | 575025329 | 1 | |
2012 | Мстители | 1512157910 | 3 | 007: Координаты «Скайфолл» | 1108561013 | 3 | Ледниковый период 4 | 877244782 | 3 | Темный рыцарь: Возрождение легенды | 1084439099 | 3 | Сумерки. Сага. Рассвет: Часть 2 | 829685377 | 3 | Мадагаскар 3 | 745110251 | 3 | Люди в черном 3 | 624026776 | 3 | Новый Человек-Паук | 752215857 | 2 | Хоббит: Нежданное путешествие | 1017003568 | 1 | Голодные игры | 691247768 | 1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment