Skip to content

Instantly share code, notes, and snippets.

@wmerrow
Created August 26, 2015 18:15
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wmerrow/5e7504a052ac2ce065f9 to your computer and use it in GitHub Desktop.
Save wmerrow/5e7504a052ac2ce065f9 to your computer and use it in GitHub Desktop.
Sparklines2
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Sparklines</title>
<script type="text/javascript" src="http://d3js.org/d3.v3.js"></script>
<style type="text/css">
body {
background-color: white;
font-family: sans-serif;
}
h1 {
font-size: 30px;
margin: 0 0 10px 0;
}
p1 {
font-size: 16px;
margin: 0 0 20px 0;
color: #000000;
}
p2 {
font-size: 12px;
margin: 0 4px 5px 4px;
color: #000000;
}
svg {
background-color: whitesmoke;
display: block;
margin-bottom: 5px;
}
path.line:hover {
stroke-width: 4;
}
circle:hover{
r: 5;
}
.pointHR {
fill: #339933;
}
.pointWAR {
fill: #000000;
}
.pointBA {
fill: #0066CC;
}
</style>
</head>
<body>
<h1>Top Career Hitters</h1>
<p1>Yearly <strong style= "color: #000000">Offensive Wins Above Replacement (WAR)</strong>, <strong style= "color: #0066CC">Batting Average</strong>, and <strong style= "color: #339933">Home Runs</strong> (ranked by lifetime Offensive WAR)</p1>
<br>
<br>
<p2><img src="https://upload.wikimedia.org/wikipedia/commons/0/0f/Black_dot.png" style="width:8px;height:8px;"> = Led League</p2>
<p2><img src="http://www.clipartbest.com/cliparts/dc6/Mzr/dc6Mzr5Mi.png" style="width:12px;height:12px;"> = Won World Series</p2>
<p2><img src="http://cdn.flaticon.com/png/256/54688.png" style="width:10px;height:10px;"> = All Star</p2>
<br>
<br>
<script type="text/javascript">
//SVG width and height
var w = 420;
var h = 95;
//Padding between SVG edges and chart edges
var padding = [ 24, 10, 25, 10 ]; //Top, right, bottom, left
//Scales with range in pixels
var xScale = d3.scale.linear()
.range([ padding[3], w - padding[1] ]);
var xScaleYear = d3.scale.linear()
.range([ padding[3], w - padding[1] ]);
var yScaleWAR = d3.scale.linear()
.range([ padding[0], h - padding[2] ]);
var yScaleBA = d3.scale.linear()
.range([ padding[0], h - padding[2] ]);
var yScaleHR = d3.scale.linear()
.range([ padding[0], h - padding[2] ]);
//Configure lines and area
var lineWAR = d3.svg.line()
.x(function(d) {return xScale(d.Age);})
.y(function(d) {return yScaleWAR(d.WAR);});
var lineBA = d3.svg.line()
.x(function(d) {return xScale(d.Age);})
.y(function(d) {return yScaleBA(d.BA);});
var lineHR = d3.svg.line()
.x(function(d) {return xScale(d.Age);})
.y(function(d) {return yScaleHR(d.HR);});
var areaWAR = d3.svg.area()
.x(function(d) {return xScale(d.Age);})
.y0(h-padding[2])
.y1(function(d) {return yScaleWAR(d.WAR);});
var r = 3 //radius of points
var imagew = 13 //width and height of icons
//Load data
d3.csv("TopTenHittersSmall.csv", function(HitterData) {
//Nest data by player
var players = d3.nest()
.key(function(d){return d.Player;}).entries(HitterData);
//Calculate min and max age and year for each player
players.forEach(function(s){s.minAge = d3.min(s.values, function(d){ return d.Age;}); });
players.forEach(function(s){s.maxAge = d3.max(s.values, function(d){ return d.Age;}); });
players.forEach(function(s){s.minYear = d3.min(s.values, function(d){ return d.Year;}); });
players.forEach(function(s){s.maxYear = d3.max(s.values, function(d){ return d.Year;}); });
//Configure scales
xScale.domain([
d3.min(HitterData, function(d) {
return d.Age;}),
d3.max(HitterData, function(d) {
return d.Age;})
]);
yScaleWAR.domain([
d3.max(HitterData, function(d) {
return +d.WAR;}),
0
]);
yScaleBA.domain([
d3.max(HitterData, function(d) {
return +d.BA;}),
0
]);
yScaleHR.domain([
d3.max(HitterData, function(d) {
return +d.HR;}),
0
]);
//Configure SVG - creates one svg per player
var svg = d3.select("body")
.selectAll("svg")
.data(players)
.enter()
.append("svg")
.attr("width", w)
.attr("height", h);
//LINES
//Draw area under WAR lines for all players
svg.append("path")
.attr("class","area")
.attr("d",function(d){return areaWAR(d.values); })
.attr("fill", "#CFCFCF");
//Draw WAR lines for all players
svg.append("path")
.attr("class","line")
.attr("d",function(d){return lineWAR(d.values); })
.attr("fill", "none")
.attr("stroke", "#000000")
.attr("stroke-width", 2);
//Draw HR lines for all players
svg.append("path")
.attr("class","line")
.attr("d",function(d){return lineHR(d.values); })
.attr("fill", "none")
.attr("stroke", "#339933")
.attr("stroke-width", 2);
//Draw BA lines for all players
svg.append("path")
.attr("class","line")
.attr("d",function(d){return lineBA(d.values); })
.attr("fill", "none")
.attr("stroke", "#0066CC")
.attr("stroke-width", 2);
//Var that creates svg once (not for each player) for axis units in first chart and for drawing points and awards for players individually
var svg1 = d3.select("body").select("svg")
.append("svg")
.attr("width", w)
.attr("height", h);
//POINTS
//Draw Babe Ruth WAR points
svg1.selectAll("pointWAR")
.data(HitterData)
.enter()
.append("circle")
.attr("class", "pointWAR")
.attr("cx", function(d) {
return xScale(d.Age);
})
.attr("cy", function(d) {
return yScaleWAR(d.WARlead);
})
//Hides null values by setting radius equal to WARlead then converting WARlead to variable r using math.ceil function:
.attr("r", function(d) { return Math.ceil((d.WARlead)/10000)*r;});
//Draw Babe Ruth HR points
svg1.selectAll("pointHR")
.data(HitterData)
.enter()
.append("circle")
.attr("class", "pointHR")
.attr("cx", function(d) {
return xScale(d.Age);
})
.attr("cy", function(d) {
return yScaleHR(d.HRlead);
})
.attr("r", function(d) { return Math.ceil((d.HRlead)/10000)*r;});
//Draw Babe Ruth BA points
svg1.selectAll("pointBA")
.data(HitterData)
.enter()
.append("circle")
.attr("class", "pointBA")
.attr("cx", function(d) {
return xScale(d.Age);
})
.attr("cy", function(d) {
return yScaleBA(d.BAlead);
})
.attr("r", function(d) { return Math.ceil((d.BAlead)/10000)*r;});
//AWARDS
//Draws AllStar stars for Babe Ruth
svg1.selectAll("pointAS")
.data(HitterData)
.enter()
.append("image")
.attr("xlink:href", "http://cdn.flaticon.com/png/256/54688.png")
.attr("x", function(d) {
return xScale(d.Age)-(imagew/2);
}) //-(imagew/2) centers the image on the point
.attr("y", function(d) {
return yScaleWAR(d.AllStar)+2;
})
.attr("width", function(d) { return Math.ceil((d.AllStar)/10000)*(imagew*.8);})
.attr("height", function(d) { return Math.ceil((d.AllStar)/10000)*(imagew*.8);});
//Draws WorldSeries rings for Babe Ruth
svg1.selectAll("pointWS")
.data(HitterData)
.enter()
.append("image")
.attr("xlink:href", "http://www.clipartbest.com/cliparts/dc6/Mzr/dc6Mzr5Mi.png")
.attr("x", function(d) {
return xScale(d.Age)-(imagew/2);
}) //-(imagew/2) centers the image on the point
.attr("y", function(d) {
return yScaleWAR(d.WorldSeries)-imagew+2;
})
.attr("width", function(d) { return Math.ceil((d.WorldSeries)/10000)*imagew;})
.attr("height", function(d) { return Math.ceil((d.WorldSeries)/10000)*imagew;});
//Draws MVPs for Babe Ruth
svg1.selectAll("pointMVP")
.data(HitterData)
.enter()
.append("text")
.attr("x", function(d) {
return xScale(d.Age)-(10);
}) //-(imagew/2) centers the image on the point
.attr("y", function(d) {
return yScaleWAR(d.MVP)+12;
})
//Hides null values by setting font size equal to MVP then converting MVP to variable font size using math.ceil function:
.attr("font-size", function(d) { return Math.ceil((d.MVP)/10000)*10;})
.text("MVP")
;
//Points and awards only work because Babe Ruth is the only player with values filled in for WARlead, HRlead, BAlead, and award columns - otherwise it would display all players on his chart
//LABELS
//Write player names (nest key)
svg.append("text")
.attr("x", 5)
.attr("y",15)
.attr("font-size",14)
.attr("font-weight","bold")
.text(function(d){return d.key ;});
//Write player years
svg.append("text")
.attr("x", 5)
.attr("y",27)
.attr("font-size",10)
.text(function(d){return d.minYear+"-"+d.maxYear;});
//Write min and max player age using minAge and maxAge
svg.append("text")
.attr("x", function(d){return xScale(d.minAge)-5;})
.attr("y",h-padding[2]+10)
.attr("font-size",10)
.text(function(d){return d.minAge;}); svg.append("text")
.attr("x", function(d){return xScale(d.maxAge)-5;})
.attr("y",h-padding[2]+10)
.attr("font-size",10)
.text(function(d){return d.maxAge;});
//Write axis units "years old" in first chart only
svg1.append("text")
.attr("x", function(d){return xScale(d.minAge)+9;})
.attr("y",h-padding[2]+10)
.attr("font-size",10)
.text(" years old");
svg1.append("text")
.attr("x", function(d){return xScale(d.maxAge)+9;})
.attr("y",h-padding[2]+10)
.attr("font-size",10)
.text(" years old");
});
</script>
</body>
</html>
Player Year HRleader Age Tm Lg WAR WARlead WARleadCobb WARleadBonds Salary Pos Awards AllStar AllStarCobb AllStarBonds MVP MVPCobb MVPBonds WorldSeries WorldSeriesCobb WorldSeriesBonds AB SO HR HRlead HRleadCobb HRleadBonds BA BAlead BAleadCobb BAleadBonds OBP SLG
Babe Ruth 1914 19 BOS AL 0 2500 /1 10 4 0 0.2 0.2 0.3
Babe Ruth 1915 20 BOS AL 1.8 3500 1 1 92 23 4 0.315 0.376 0.576
Babe Ruth 1916 21 BOS AL 1.7 3500 1 1 136 23 3 0.272 0.322 0.419
Babe Ruth 1917 22 BOS AL 2.1 3500 1 123 18 2 0.325 0.385 0.472
Babe Ruth 1918 1 23 BOS AL 5.1 9000 O7138 1 317 58 11 11 0.3 0.411 0.555
Babe Ruth 1919 1 24 BOS AL 9.4 *O71/38 432 58 29 29 0.322 0.456 0.657
Babe Ruth 1920 1 25 NYY AL 11.9 11.9 20000 *O978/31 458 80 54 54 0.376 0.532 0.847
Babe Ruth 1921 1 26 NYY AL 12.9 12.9 20000 *O78/31 540 81 59 59 0.378 0.512 0.846
Babe Ruth 1922 27 NYY AL 6.3 52000 *O79/3 406 80 35 0.315 0.434 0.672
Babe Ruth 1923 1 28 NYY AL 14.1 14.1 52000 *O97/83 MVP-1 1 1 522 93 41 41 0.393 0.545 0.764
Babe Ruth 1924 1 29 NYY AL 11.7 11.7 52000 *O97/8 529 81 46 46 0.378 0.378 0.513 0.739
Babe Ruth 1925 30 NYY AL 3.5 52000 O97 359 68 25 0.29 0.393 0.543
Babe Ruth 1926 1 31 NYY AL 11.5 11.5 52000 *O79/3 495 76 47 47 0.372 0.516 0.737
Babe Ruth 1927 1 32 NYY AL 12.4 12.4 52000 *O97 1 540 89 60 60 0.356 0.486 0.772
Babe Ruth 1928 1 33 NYY AL 10.1 10.1 52000 *O97 1 536 87 54 54 0.323 0.463 0.709
Babe Ruth 1929 1 34 NYY AL 8 8 52000 *O97 499 60 46 46 0.345 0.43 0.697
Babe Ruth 1930 1 35 NYY AL 10.3 10.3 70000 *O97/1 518 61 49 49 0.359 0.493 0.732
Babe Ruth 1931 1 36 NYY AL 10.3 10.3 70000 *O97/3 MVP-5 534 51 46 46 0.373 0.495 0.7
Babe Ruth 1932 37 NYY AL 8.3 70000 *O97/3 MVP-6 1 457 62 41 0.341 0.489 0.661
Babe Ruth 1933 38 NYY AL 6.4 80000 *O97/31 AS 1 459 90 34 0.301 0.442 0.582
Babe Ruth 1934 39 NYY AL 5.1 80000 *O97 AS 1 365 63 22 0.288 0.448 0.537
Babe Ruth 1935 40 BSN NL 0.2 O7/9 72 24 6 0.181 0.359 0.431
Ty Cobb 1905 18 DET AL 0.2 O 150 23 1 0.24 0.288 0.3
Ty Cobb 1906 19 DET AL 2.5 1500 O 358 40 1 0.316 0.355 0.394
Ty Cobb 1907 20 DET AL 6.8 2400 *O 605 55 5 0.35 0.38 0.468
Ty Cobb 1908 21 DET AL 6.1 4500 *O 581 42 4 0.324 0.367 0.475
Ty Cobb 1909 22 DET AL 9.8 4500 *O 573 45 9 0.377 0.431 0.517
Ty Cobb 1910 23 DET AL 10.5 9000 *O 506 46 8 0.383 0.456 0.551
Ty Cobb 1911 24 DET AL 10.7 9000 *O MVP-1 591 43 8 0.42 0.467 0.621
Ty Cobb 1912 25 DET AL 9.2 9000 *O MVP-7 553 30 7 0.409 0.456 0.584
Ty Cobb 1913 26 DET AL 7.4 11333 *O/4 MVP-20 428 31 4 0.39 0.467 0.535
Ty Cobb 1914 27 DET AL 5.6 15000 8O MVP-14 345 22 2 0.368 0.466 0.513
Ty Cobb 1915 28 DET AL 9.5 20000 *8O 563 43 3 0.369 0.486 0.487
Ty Cobb 1916 29 DET AL 8 20000 *8O/37 542 39 5 0.371 0.452 0.493
Ty Cobb 1917 30 DET AL 11.3 20000 *O89 588 34 6 0.383 0.444 0.57
Ty Cobb 1918 31 DET AL 6.6 20000 *O83/1459 421 21 3 0.382 0.44 0.515
Ty Cobb 1919 32 DET AL 5.5 20000 *8O 497 22 1 0.384 0.429 0.515
Ty Cobb 1920 33 DET AL 3.3 20000 *8O 428 28 2 0.334 0.416 0.451
Ty Cobb 1921 34 DET AL 6.7 25000 *8O 507 19 12 0.389 0.452 0.596
Ty Cobb 1922 35 DET AL 6.7 35000 *8O 526 24 4 0.401 0.462 0.565
Ty Cobb 1923 36 DET AL 5.5 40000 *8O 556 14 6 0.34 0.413 0.469
Ty Cobb 1924 37 DET AL 5.4 40000 *8O 625 18 4 0.338 0.418 0.45
Ty Cobb 1925 38 DET AL 5.8 40000 *O8/91 415 12 12 0.378 0.468 0.598
Ty Cobb 1926 39 DET AL 1.7 40000 O87/9 233 2 4 0.339 0.408 0.511
Ty Cobb 1927 40 PHA AL 4.4 50000 *O98 490 12 5 0.357 0.44 0.482
Ty Cobb 1928 41 PHA AL 1.9 35000 O9 353 16 1 0.323 0.389 0.431
Barry Bonds 1986 21 PIT NL 3.5 60000 *8 RoY-6 413 102 16 0.223 0.33 0.416
Barry Bonds 1987 22 PIT NL 5.8 100000 *78/9 551 88 25 0.261 0.329 0.492
Barry Bonds 1988 23 PIT NL 6.2 220000 *7/8 538 82 24 0.283 0.368 0.491
Barry Bonds 1989 24 PIT NL 8 360000 *7 580 93 19 0.248 0.351 0.426
Barry Bonds 1990 25 PIT NL 9.7 850000 *7/8 ASMVP-1GGSS 519 83 33 0.301 0.406 0.565
Barry Bonds 1991 26 PIT NL 7.9 2300000 *7/8 MVP-2GGSS 510 73 25 0.292 0.41 0.514
Barry Bonds 1992 27 PIT NL 9 4800000 *7 ASMVP-1GGSS 473 69 34 0.311 0.456 0.624
Barry Bonds 1993 28 SFG NL 9.9 4516666 *7 ASMVP-1GGSS 539 79 46 0.336 0.458 0.677
Barry Bonds 1994 29 SFG NL 6.2 5166666 *7 ASMVP-4GGSS 391 43 37 0.312 0.426 0.647
Barry Bonds 1995 30 SFG NL 7.5 8166666 *7 ASMVP-12 506 83 33 0.294 0.431 0.577
Barry Bonds 1996 31 SFG NL 9.6 8416667 *7/8 ASMVP-5GGSS 517 76 42 0.308 0.461 0.615
Barry Bonds 1997 32 SFG NL 8.1 8666667 *7 ASMVP-5GGSS 532 87 40 0.291 0.446 0.585
Barry Bonds 1998 33 SFG NL 8.1 8916667 *7 ASMVP-8GG 552 92 37 0.303 0.438 0.609
Barry Bonds 1999 34 SFG NL 3.8 9381057 7/D MVP-24 355 62 34 0.262 0.389 0.617
Barry Bonds 2000 35 SFG NL 7.7 10658826 *7 ASMVP-2SS 480 77 49 0.306 0.44 0.688
Barry Bonds 2001 36 SFG NL 11.9 10300000 *7/D ASMVP-1SS 476 93 73 0.328 0.515 0.863
Barry Bonds 2002 37 SFG NL 11.8 15000000 *7/D ASMVP-1SS 403 47 46 0.37 0.582 0.799
Barry Bonds 2003 38 SFG NL 9.2 15500000 *7/D ASMVP-1SS 390 58 45 0.341 0.529 0.749
Barry Bonds 2004 39 SFG NL 10.6 18000000 *7/D ASMVP-1SS 373 41 45 0.362 0.609 0.812
Barry Bonds 2005 40 SFG NL 0.6 22000000 7 42 6 5 0.286 0.404 0.667
Barry Bonds 2006 41 SFG NL 4 19331470 *7/D 367 51 26 0.27 0.454 0.545
Barry Bonds 2007 42 SFG NL 3.4 15533970 *7/D AS 340 54 28 0.276 0.48 0.565
Willie Mays 1951 20 NYG NL 3.9 7500 *8O RoY-1 464 60 20 0.274 0.356 0.472
Willie Mays 1952 21 NYG NL 1.2 12500 8O 127 17 4 0.236 0.326 0.409
Willie Mays 1954 23 NYG NL 10.6 12500 *8 ASMVP-1 565 57 41 0.345 0.411 0.667
Willie Mays 1955 24 NYG NL 9 12500 *8 ASMVP-4 580 60 51 0.319 0.4 0.659
Willie Mays 1956 25 NYG NL 7.6 30000 *8 ASMVP-17 578 65 36 0.296 0.369 0.557
Willie Mays 1957 26 NYG NL 8.3 50000 *8 ASMVP-4GG 585 62 35 0.333 0.407 0.626
Willie Mays 1958 27 SFG NL 10.2 50000 *8 ASMVP-2GG 600 56 29 0.347 0.419 0.583
Willie Mays 1959 28 SFG NL 7.8 160000 *8 ASMVP-6GG 575 58 34 0.313 0.381 0.583
Willie Mays 1960 29 SFG NL 9.5 150000 *8 ASMVP-3GG 595 70 29 0.319 0.381 0.555
Willie Mays 1961 30 SFG NL 8.7 75000 *8 ASMVP-6GG 572 77 40 0.308 0.393 0.584
Willie Mays 1962 31 SFG NL 10.5 75000 *8 ASMVP-2GG 621 85 49 0.304 0.384 0.615
Willie Mays 1963 32 SFG NL 10.6 80000 *8/6 ASMVP-5GG 596 83 38 0.314 0.38 0.582
Willie Mays 1964 33 SFG NL 11 85000 *8/356 ASMVP-6GG 578 72 47 0.296 0.383 0.607
Willie Mays 1965 34 SFG NL 11.2 90000 *8/97 ASMVP-1GG 558 71 52 0.317 0.398 0.645
Willie Mays 1966 35 SFG NL 9 105000 *8/97 ASMVP-3GG 552 81 37 0.288 0.368 0.556
Willie Mays 1967 36 SFG NL 4.3 105000 *8 ASGG 486 92 22 0.263 0.334 0.453
Willie Mays 1968 37 SFG NL 6.2 105000 *8/39 ASMVP-13GG 498 81 23 0.289 0.372 0.488
Willie Mays 1969 38 SFG NL 3 125000 Aug-93 AS 403 71 13 0.283 0.362 0.437
Willie Mays 1970 39 SFG NL 5.2 125000 *8/3 AS 478 90 28 0.291 0.39 0.506
Willie Mays 1971 40 SFG NL 6.3 160000 83 ASMVP-19 417 123 18 0.271 0.425 0.482
Willie Mays 1972 41 SFG NL 0.2 165000 8 AS 49 5 0 0.184 0.394 0.224
Willie Mays 1972 41 NYM NL 1.6 83 AS 195 43 8 0.267 0.402 0.446
Willie Mays 1973 42 NYM NL 0 165000 83 AS 209 47 6 0.211 0.303 0.344
Hank Aaron 1954 20 MLN NL 1.3 6000 *79 RoY-4 468 39 13 0.28 0.322 0.447
Hank Aaron 1955 21 MLN NL 6.2 10000 *974 ASMVP-9 602 61 27 0.314 0.366 0.54
Hank Aaron 1956 22 MLN NL 7.1 17500 *9 ASMVP-3 609 54 26 0.328 0.365 0.558
Hank Aaron 1957 23 MLN NL 8 22500 *98 ASMVP-1 615 58 44 0.322 0.378 0.6
Hank Aaron 1958 24 MLN NL 7.3 35000 *98 ASMVP-3GG 601 49 30 0.326 0.386 0.546
Hank Aaron 1959 25 MLN NL 8.6 35000 *98/5 ASMVP-3GG 629 54 39 0.355 0.401 0.636
Hank Aaron 1960 26 MLN NL 8 45000 *9/84 ASMVP-11GG 590 63 40 0.292 0.352 0.566
Hank Aaron 1961 27 MLN NL 9.4 45000 *89/5 ASMVP-8 603 64 34 0.327 0.381 0.594
Hank Aaron 1962 28 MLN NL 8.5 47500 *89/3 ASMVP-6 592 73 45 0.323 0.39 0.618
Hank Aaron 1963 29 MLN NL 9.1 53000 *9 ASMVP-3 631 94 44 0.319 0.391 0.586
Hank Aaron 1964 30 MLN NL 6.8 61000 *94 ASMVP-14 570 46 24 0.328 0.393 0.514
Hank Aaron 1965 31 MLN NL 7.8 63500 *9 ASMVP-7 570 81 32 0.318 0.379 0.56
Hank Aaron 1966 32 ATL NL 7.8 70000 *9/84 ASMVP-8 603 96 44 0.279 0.356 0.539
Hank Aaron 1967 33 ATL NL 8.5 92500 *98/4 ASMVP-5 600 97 39 0.307 0.369 0.573
Hank Aaron 1968 34 ATL NL 6.8 92500 *93 ASMVP-12 606 62 29 0.287 0.354 0.498
Hank Aaron 1969 35 ATL NL 8 92500 *9/3 ASMVP-3 547 47 44 0.3 0.396 0.607
Hank Aaron 1970 36 ATL NL 5 125000 *93 ASMVP-17 516 63 38 0.298 0.385 0.574
Hank Aaron 1971 37 ATL NL 7.2 125000 39 ASMVP-3 495 58 47 0.327 0.41 0.669
Hank Aaron 1972 38 ATL NL 3.9 200000 *39 ASMVP-16 449 55 34 0.265 0.39 0.514
Hank Aaron 1973 39 ATL NL 4.7 200000 79 ASMVP-12 392 51 40 0.301 0.402 0.643
Hank Aaron 1974 40 ATL NL 2.1 200000 7 AS 340 29 20 0.268 0.341 0.491
Hank Aaron 1975 41 MIL AL 0 240000 *D/7 AS 465 51 12 0.234 0.332 0.355
Hank Aaron 1976 42 MIL AL 0.4 240000 D/7 271 38 10 0.229 0.315 0.369
Ted Williams 1939 20 BOS AL 6.7 4500 *O9 MVP-4 565 64 31 0.327 0.436 0.609
Ted Williams 1940 21 BOS AL 6.3 12000 *O79/1 ASMVP-14 561 54 23 0.344 0.442 0.594
Ted Williams 1941 22 BOS AL 10.6 18000 *O7/9 ASMVP-2 456 27 37 0.406 0.553 0.735
Ted Williams 1942 23 BOS AL 10.6 30000 *O7/9 ASMVP-2 522 51 36 0.356 0.499 0.648
Ted Williams 1946 27 BOS AL 10.9 40000 *7O ASMVP-1 514 44 38 0.342 0.497 0.667
Ted Williams 1947 28 BOS AL 9.9 65000 *7O ASMVP-2 528 47 32 0.343 0.499 0.634
Ted Williams 1948 29 BOS AL 8.5 65000 *7O ASMVP-3 509 41 25 0.369 0.497 0.615
Ted Williams 1949 30 BOS AL 9.1 75000 *7O ASMVP-1 566 48 43 0.343 0.49 0.65
Ted Williams 1950 31 BOS AL 3.9 90000 7O ASMVP-21 334 21 28 0.317 0.452 0.647
Ted Williams 1951 32 BOS AL 7.2 90000 *7O ASMVP-13 531 45 30 0.318 0.464 0.556
Ted Williams 1952 33 BOS AL 0.3 85000 /7O 10 2 1 0.4 0.5 0.9
Ted Williams 1953 34 BOS AL 2 85000 7O ASMVP-26 91 10 13 0.407 0.509 0.901
Ted Williams 1954 35 BOS AL 7.8 85000 *7 ASMVP-7 386 32 29 0.345 0.513 0.635
Ted Williams 1955 36 BOS AL 6.9 67500 7 ASMVP-4 320 24 28 0.356 0.496 0.703
Ted Williams 1956 37 BOS AL 6 50000 *7 ASMVP-6 400 39 24 0.345 0.479 0.605
Ted Williams 1957 38 BOS AL 9.7 50000 *7 ASMVP-2 420 43 38 0.388 0.526 0.731
Ted Williams 1958 39 BOS AL 4 60000 *7 ASMVP-7 411 49 26 0.328 0.458 0.584
Ted Williams 1959 40 BOS AL -0.2 60000 7 ASMVP-26 272 27 10 0.254 0.372 0.419
Ted Williams 1960 41 BOS AL 3 60000 7 ASMVP-13 310 41 29 0.316 0.451 0.645
Stan Musial 1941 20 STL NL 0.6 1800 O/97 47 1 1 0.426 0.449 0.574
Stan Musial 1942 21 STL NL 5.3 4500 *O7/89 MVP-12 467 25 10 0.315 0.397 0.49
Stan Musial 1943 22 STL NL 9.4 6250 *O978 ASMVP-1 617 18 13 0.357 0.425 0.562
Stan Musial 1944 23 STL NL 8.8 10000 *O98 ASMVP-4 568 28 12 0.347 0.44 0.549
Stan Musial 1946 25 STL NL 8.6 13500 *37O ASMVP-1 624 31 16 0.365 0.434 0.587
Stan Musial 1947 26 STL NL 4.6 31000 *3 ASMVP-20 587 24 19 0.312 0.398 0.504
Stan Musial 1948 27 STL NL 11.1 36000 *O987/3 ASMVP-1 611 34 39 0.376 0.45 0.702
Stan Musial 1949 28 STL NL 9.3 50000 *O98/73 ASMVP-2 612 38 36 0.338 0.438 0.624
Stan Musial 1950 29 STL NL 7.3 50000 O3789 ASMVP-2 555 36 28 0.346 0.437 0.596
Stan Musial 1951 30 STL NL 9.1 75000 O738/9 ASMVP-2 578 40 32 0.355 0.449 0.614
Stan Musial 1952 31 STL NL 8 75000 *O837/91 ASMVP-5 578 29 21 0.336 0.432 0.538
Stan Musial 1953 32 STL NL 7.7 75000 *O79/8 ASMVP-8 593 32 30 0.337 0.437 0.609
Stan Musial 1954 33 STL NL 6.9 57000 *937 ASMVP-6 591 39 35 0.33 0.428 0.607
Stan Musial 1955 34 STL NL 6.1 50000 *39/7 ASMVP-8 562 39 33 0.319 0.408 0.566
Stan Musial 1956 35 STL NL 5.5 50000 *39/7 ASMVP-9 594 39 27 0.31 0.386 0.522
Stan Musial 1957 36 STL NL 6.1 50000 *3 ASMVP-2 502 34 29 0.351 0.422 0.612
Stan Musial 1958 37 STL NL 4.1 60000 *3 ASMVP-12 472 26 17 0.337 0.423 0.528
Stan Musial 1959 38 STL NL 0.3 60000 7-Mar AS 341 25 14 0.255 0.364 0.428
Stan Musial 1960 39 STL NL 1.9 60000 73/9 ASMVP-16 331 34 17 0.275 0.354 0.486
Stan Musial 1961 40 STL NL 2.6 60000 *7 AS 372 35 15 0.288 0.371 0.489
Stan Musial 1962 41 STL NL 3.6 55000 *79 ASMVP-10 433 46 19 0.33 0.416 0.508
Stan Musial 1963 42 STL NL 1.3 50000 7 AS 337 43 12 0.255 0.325 0.404
Tris Speaker 1907 19 BOS AL -0.2 /O 19 4 0 0.158 0.2 0.158
Tris Speaker 1908 20 BOS AL 0.1 O 116 8 0 0.224 0.262 0.276
Tris Speaker 1909 21 BOS AL 6.3 *O 544 53 7 0.309 0.362 0.443
Tris Speaker 1910 22 BOS AL 7.7 *O 538 38 7 0.34 0.404 0.468
Tris Speaker 1911 23 BOS AL 6.1 *O MVP-6 500 35 8 0.334 0.418 0.502
Tris Speaker 1912 24 BOS AL 10.1 *O MVP-1 580 36 10 0.383 0.464 0.567
Tris Speaker 1913 25 BOS AL 8.3 9000 *O MVP-4 520 22 3 0.363 0.441 0.533
Tris Speaker 1914 26 BOS AL 9.9 17500 *8O/31 MVP-12 571 25 4 0.338 0.423 0.503
Tris Speaker 1915 27 BOS AL 7.1 17500 *8O/9 547 14 0 0.322 0.416 0.411
Tris Speaker 1916 28 CLE AL 8.6 15000 *8O 546 20 2 0.386 0.47 0.502
Tris Speaker 1917 29 CLE AL 7.7 15000 *8O 523 14 2 0.352 0.432 0.486
Tris Speaker 1918 30 CLE AL 5.5 15000 *8O 471 9 0 0.318 0.403 0.435
Tris Speaker 1919 31 CLE AL 5.2 18000 *8O 494 12 2 0.296 0.395 0.433
Tris Speaker 1920 32 CLE AL 8.5 20000 *8O 552 13 8 0.388 0.483 0.562
Tris Speaker 1921 33 CLE AL 6.4 *8O 506 12 3 0.362 0.439 0.538
Tris Speaker 1922 34 CLE AL 6.9 30000 *8O 426 11 11 0.378 0.474 0.606
Tris Speaker 1923 35 CLE AL 9 30000 *8O 574 15 17 0.38 0.469 0.61
Tris Speaker 1924 36 CLE AL 4.6 30000 *O8 486 13 9 0.344 0.432 0.51
Tris Speaker 1925 37 CLE AL 6.5 30000 *8O 429 12 12 0.389 0.479 0.578
Tris Speaker 1926 38 CLE AL 5.4 30000 *8O 539 15 7 0.304 0.408 0.469
Tris Speaker 1927 39 WSH AL 3.6 30000 *O83/9 523 8 2 0.327 0.395 0.444
Tris Speaker 1928 40 PHA AL 0.5 15000 O8/7 191 5 3 0.267 0.31 0.45
Honus Wagner 1897 23 LOU NL 1.4 1500 O/4 242 14 2 0.335 0.376 0.467
Honus Wagner 1898 24 LOU NL 3.4 1650 354 588 20 10 0.299 0.341 0.41
Honus Wagner 1899 25 LOU NL 5.8 1950 5O/43 575 36 7 0.341 0.395 0.501
Honus Wagner 1900 26 PIT NL 6.5 2100 *O/5431 527 17 4 0.381 0.434 0.573
Honus Wagner 1901 27 PIT NL 7.1 2700 6O5/4 549 39 6 0.353 0.417 0.494
Honus Wagner 1902 28 PIT NL 7.3 3600 O63/41 534 51 3 0.33 0.394 0.463
Honus Wagner 1903 29 PIT NL 7.6 5000 *6O/3 512 17 5 0.355 0.414 0.518
Honus Wagner 1904 30 PIT NL 8.3 5000 *6/O34 490 44 4 0.349 0.423 0.52
Honus Wagner 1905 31 PIT NL 10.1 5000 *6/O 548 53 6 0.363 0.427 0.505
Honus Wagner 1906 32 PIT NL 9.3 5000 *6/O5 516 31 2 0.339 0.416 0.459
Honus Wagner 1907 33 PIT NL 8.9 5000 *6/3 515 40 6 0.35 0.408 0.513
Honus Wagner 1908 34 PIT NL 11.5 10000 *6 568 22 10 0.354 0.415 0.542
Honus Wagner 1909 35 PIT NL 9.2 10000 *6/O 495 24 5 0.339 0.42 0.489
Honus Wagner 1910 36 PIT NL 5.2 10000 *63/4 556 47 4 0.32 0.39 0.432
Honus Wagner 1911 37 PIT NL 6.5 10000 63/O MVP-3 473 34 9 0.334 0.423 0.507
Honus Wagner 1912 38 PIT NL 8.1 10000 *6 MVP-2 558 38 7 0.324 0.395 0.496
Honus Wagner 1913 39 PIT NL 3 10000 *6 MVP-8 413 40 3 0.3 0.349 0.385
Honus Wagner 1914 40 PIT NL 3.6 10000 *65/3 552 51 1 0.252 0.317 0.317
Honus Wagner 1915 41 PIT NL 5.6 10000 *643 566 64 6 0.274 0.325 0.422
Honus Wagner 1916 42 PIT NL 2.6 10000 63/4 432 36 1 0.287 0.35 0.37
Honus Wagner 1917 43 PIT NL -0.1 10000 35/46 230 17 0 0.265 0.337 0.304
Rogers Hornsby 1915 19 STL NL -0.4 1200 6 57 6 0 0.246 0.271 0.281
Rogers Hornsby 1916 20 STL NL 4.9 2000 563/4 495 63 6 0.313 0.369 0.444
Rogers Hornsby 1917 21 STL NL 9.9 3000 *6 523 34 8 0.327 0.385 0.484
Rogers Hornsby 1918 22 STL NL 5.4 4000 *6/O98 416 43 5 0.281 0.349 0.416
Rogers Hornsby 1919 23 STL NL 6.7 4000 564/3 512 41 8 0.318 0.384 0.43
Rogers Hornsby 1920 24 STL NL 9.6 5000 *4 589 50 9 0.37 0.431 0.559
Rogers Hornsby 1921 25 STL NL 10.8 11000 *4/7O563 592 48 21 0.397 0.458 0.639
Rogers Hornsby 1922 26 STL NL 10 18500 *4 623 50 42 0.401 0.459 0.722
Rogers Hornsby 1923 27 STL NL 6.7 18500 43 424 29 17 0.384 0.459 0.627
Rogers Hornsby 1924 28 STL NL 12.1 *4 MVP-2 536 32 25 0.424 0.507 0.696
Rogers Hornsby 1925 29 STL NL 10.2 33333 *4 MVP-1 504 39 39 0.403 0.489 0.756
Rogers Hornsby 1926 30 STL NL 4.4 33333 *4 MVP-18 527 39 11 0.317 0.388 0.463
Rogers Hornsby 1927 31 NYG NL 10.1 36500 *4 MVP-3 568 38 26 0.361 0.448 0.586
Rogers Hornsby 1928 32 BSN NL 8.8 40000 *4 MVP-13 486 41 21 0.387 0.498 0.632
Rogers Hornsby 1929 33 CHC NL 10.4 40000 *4 MVP-1 602 65 39 0.38 0.459 0.679
Rogers Hornsby 1930 34 CHC NL 0.3 40000 4 104 12 2 0.308 0.385 0.433
Rogers Hornsby 1931 35 CHC NL 5.2 40000 45 357 23 16 0.331 0.421 0.574
Rogers Hornsby 1932 36 CHC NL 0.1 40000 O9/5 58 4 1 0.224 0.357 0.31
Rogers Hornsby 1933 37 STL NL 1 15000 4 83 6 2 0.325 0.423 0.47
Rogers Hornsby 1933 37 SLB AL 0.2 9 1 1 0.333 0.455 0.778
Rogers Hornsby 1934 38 SLB AL 0.3 15000 /5O9 23 4 1 0.304 0.484 0.522
Rogers Hornsby 1935 39 SLB AL -0.1 15000 /345 24 6 0 0.208 0.296 0.333
Rogers Hornsby 1936 40 SLB AL 0.1 18000 /3 5 0 0 0.4 0.5 0.4
Rogers Hornsby 1937 41 SLB AL 0.2 18333 4 56 5 1 0.321 0.397 0.429
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment