Skip to content

Instantly share code, notes, and snippets.

@sabrinadchan
Last active August 6, 2017 00:49
Show Gist options
  • Save sabrinadchan/7d073f4ab8abb35c0f691631fe5b956c to your computer and use it in GitHub Desktop.
Save sabrinadchan/7d073f4ab8abb35c0f691631fe5b956c to your computer and use it in GitHub Desktop.
CTA Bus Ridership 2001-2016
license: gpl-3.0

Ridership data was accessed from the CTA through the City of Chicago Data Portal. The data was subsequently refined and aggregated using Python pandas. Read the CTA's Ridership reports here.

Find the ridership data for a specific bus by using the dropdown menu on the left or explore the data by hovering your cursor over the lines. Notice that the percentage change in ridership for buses 124 Navy Pier and 130 Museum Campus is off the charts!

<!DOCTYPE html>
<style>
body {
font-family: sans-serif;
}
#dropdown {
padding: 5px;
width: 100%;
font-size: 12px;
}
#select {
width: 15%;
float: left;
}
#chart {
margin-left: 15%;
}
path.pathAll {
opacity: 1;
stroke: darkred;
stroke-width: 2.5px;
}
.axis--x path {
display: none;
}
path.unselected {
stroke: grey;
stroke-width: 1px;
opacity: 0.3;
}
path.selected {
stroke: black;
stroke-width: 2px;
opacity: 1;
}
text.unselected {
opacity: 0;
}
text.selected {
opacity: 1;
}
</style>
<body>
<div id="container">
<div id="select"><select id="dropdown"></select></div>
<div id="chart"></div>
</div>
<script src="https://d3js.org/d3.v4.min.js"></script>
<script type="text/javascript">
var margin = {top: 70, right: 30, bottom: 30, left: 30},
outerWidth = 800,
outerHeight = 500,
width = outerWidth - margin.left - margin.right,
height = outerHeight - margin.top - margin.bottom;
var parseTime = d3.timeParse("%Y-%m-%d");
var formatPctAxis = x => d3.format("+.0%")(x - 1),
formatPctCaption = x => d3.format(".1%")(Math.abs(x - 1));
var buildCaption = (id, routename, initial, final, pct, system) => {
if (!system) {
captionTitle.text("CTA Bus #" + id + " " + routename);
} else {
captionTitle.text("All Bus Routes");
};
caption.text("Ridership " + (initial < final ? "increased " : "decreased ") +
formatPctCaption(pct) + " between 2001 and 2016, going from " + initial.toLocaleString() +
" riders in 2001 to " + final.toLocaleString() + " riders in 2016." );
}
var x = d3.scaleTime()
.range([0, width])
.domain([parseTime("2001-01-01"), parseTime("2016-01-01")]);
var y = d3.scaleLog()
.range([height, 0])
.domain([0.22,3.5]);
var xAxis = d3.axisBottom()
.scale(x);
var yAxis = d3.axisLeft()
.scale(y)
.tickSize(-width, 0)
.tickFormat(formatPctAxis)
.tickSizeOuter(0);
var line = d3.line()
.x(d => x(d.date))
.y(d => y(d.pct));
var svg = d3.select("div#chart").append("svg")
.attr("width", outerWidth)
.attr("height", outerHeight)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
svg.append("g")
.attr("class", "axis axis--x")
.attr("transform", "translate(0," + height + ")")
.call(xAxis);
var gY = svg.append("g")
.attr("class", "axis axis--y")
.style("stroke-dasharray", "1 1")
.call(yAxis);
gY.append("text")
.attr("class", "axis-title")
.attr("transform", "rotate(-90)")
.attr("y", 6)
.attr("dy", ".71em")
.style("fill", "black")
.text("Change in Ridership");
var captionTitle = svg.append("text")
.attr("class", "caption-title")
.attr("x", 0)
.attr("y", 0 - margin.top / 2)
.attr("dy", "-1em")
.attr("text-anchor", "left")
.style("font-size", "16px")
.style("font-weight", "bold");
var caption = svg.append("text")
.attr("class", "caption")
.attr("x", 0)
.attr("y", 0 - margin.top / 2)
.attr("text-anchor", "left")
.style("font-size", "12px");
svg.append("clipPath")
.attr("id", "clip")
.append("rect")
.attr("width", width)
.attr("height", height);
d3.queue()
.defer(d3.csv, "ridership.csv", type)
.defer(d3.csv, "route_list.csv")
.await(ready);
function ready(error, data, route_list) {
if (error) throw error;
baseValues = data[0]
finalValues = data[data.length - 1]
var busRoutes = data.columns.slice(1).map((id, i) => {
return {
id: id,
routename: route_list[i].routename,
initial: baseValues[id],
final: finalValues[id],
values: data.map((d) => {
return {date: d.date, pct: d[id] / baseValues[id]};
})
};
});
values = busRoutes.reduce((a,b) => a.concat(b.values), []);
d3.select("#dropdown")
.selectAll("option")
.data(busRoutes.sort((a, b) => a.id.localeCompare(b.id, undefined, {numeric: true, sensitivity: 'base'})))
.enter().append("option")
.attr("value", (d, i) => i)
.text(d => d.id + " " + d.routename);
var dropDown = d3.select("#dropdown");
dropDown.on("change", () => {
var route = busRoutes[d3.event.target.value]
d3.selectAll(".selected")
.attr("class", "unselected");
d3.select("path#path" + route.id)
.attr("class", "selected");
d3.select("#text" + route.id)
.attr("class", "selected");
if (route.id != "All Buses") {
buildCaption(route.id, route.routename, route.initial, route.final, route.values[route.values.length - 1].pct, false);
} else {
buildCaption(route.id, route.routename, route.initial, route.final, route.values[route.values.length - 1].pct, true);
};
});
d = busRoutes[busRoutes.length - 1];
buildCaption(d.id, d.routename, d.initial, d.final, d.values[d.values.length - 1].pct, true);
var route = svg.append("g")
.attr("class", ".route")
.selectAll("g")
.data(busRoutes)
.enter().append("g")
.attr("class", d => "route" + d.id);
route.append("path")
.attr("id", d => "path" + d.id)
.attr("class", d => d.id == "All Buses" ? "path" + d.id : "unselected")
.attr("clip-path", "url(#clip)")
.attr("d", d => line(d.values))
.attr("fill", "none")
.attr("stroke", "grey")
.attr("opacity", 0.3)
.attr("stroke-width", 1)
.on("mouseover", function(d) {
d3.selectAll(".selected")
.attr("class", "unselected");
if (d3.select(this).attr("class") != "pathAll Buses") {
d3.select(this)
.attr("class", "selected");
d3.select("#text" + d.id)
.attr("class", "selected");
buildCaption(d.id, d.routename, d.initial, d.final, d.values[d.values.length - 1].pct, false);
} else {
buildCaption(d.id, d.routename, d.initial, d.final, d.values[d.values.length - 1].pct, true);
};
});
route.append("text")
.datum(d => { return {id: d.id, value: d.values[d.values.length - 1]}})
.attr("class", d => d.id == "All Buses" ? "textAll" : "unselected")
.attr("id", d => "text" + d.id)
.attr("transform", d => "translate(" + x(d.value.date) + "," + y(d.value.pct) + ")")
.attr("x", 3)
.attr("dy", "0.35em")
.style("font", "10px sans-serif")
.text(d => d.id);
t = d3.select('.textAll').attr("transform");
d3.select(".textAll")
.text("All Routes")
.attr("transform", t + " rotate(-90)")
.attr("dx", "-3em")
.attr("dy", "3em")
.style("fill", "darkred");
}
function type(d, _, columns) {
d.date = parseTime(d.date);
for (var i = 1, n = columns.length, c; i < n; ++i) d[c = columns[i]] = +d[c];
return d;
}
</script>
</body>
date 1 10 100 103 106 108 11 111 112 119 12 120 121 124 125 126 128 130 135 136 146 147 151 152 155 156 157 169 170 171 172 18 19 2 20 201 21 22 24 28 29 3 30 34 35 36 39 4 43 44 47 48 49 49B 50 51 52 52A 53 53A 54 54A 54B 55 55N 56 57 59 6 60 62 62H 63 63W 65 66 67 68 7 70 71 72 73 74 75 76 77 78 79 8 80 81 81W 82 84 85 85A 86 87 88 8A 9 90 91 92 93 94 95E 95W 96 97 All Buses
2001-01-01 1781200.0 130281.0 294377.0 1114025.0 652499.0 756537.0 1057997.0 1799231.0 1084595.0 1754259.0 3342244.0 217084.0 369391.0 25734.0 585988.0 2971856.0 18277.0 16076.0 747629.0 480496.0 2980291.0 2748180.0 7875028.0 3200144.0 2377654.0 2196304.0 832650.0 216484.0 58671.0 240334.0 244083.0 512354.0 62405.0 243029.0 6885826.0 410732.0 2739904.0 6862942.0 1098875.0 4053620.0 5629680.0 6993576.0 1142209.0 2516182.0 1909701.0 5097382.0 574388.0 7620323.0 384227.0 1846493.0 2720300.0 275339.0 7986394.0 1631734.0 2598564.0 1590453.0 3851865.0 1995117.0 6815133.0 2718172.0 4137678.0 338223.0 1676553.0 4292011.0 273142.0 4776361.0 886769.0 1186755.0 5698781.0 4789845.0 4680824.0 395340.0 7067025.0 658482.0 2114959.0 6626565.0 4506163.0 456010.0 1388596.0 3434069.0 2382386.0 5169224.0 1509176.0 4235960.0 2279296.0 4123899.0 6473647.0 2852575.0 10376955.0 6264919.0 3915661.0 4976563.0 442074.0 6160880.0 1258974.0 4050238.0 232544.0 472661.0 4972997.0 522243.0 1067236.0 9886058.0 1235660.0 2407617.0 2309255.0 608507.0 3127972.0 1936791.0 1680727.0 332912.0 1161310.0 300142034.0
2002-01-01 1855118.0 157009.0 298124.0 1101752.0 696940.0 686986.0 1003425.0 1798146.0 1119814.0 1881139.0 3344401.0 327144.0 341845.0 22356.0 578563.0 2817800.0 4599.0 12207.0 718205.0 506575.0 2921896.0 2723043.0 7502128.0 3073917.0 2270201.0 2203767.0 818347.0 138509.0 82307.0 236033.0 255892.0 477211.0 46939.0 326854.0 7485403.0 392414.0 2679066.0 6783389.0 1132728.0 4204372.0 5781558.0 7292155.0 1080361.0 2367920.0 1867525.0 5084630.0 522295.0 7665538.0 382322.0 1814754.0 2650490.0 284365.0 7664479.0 1593313.0 2512741.0 1567349.0 3712477.0 2069700.0 6930017.0 2675007.0 3886935.0 324670.0 1648082.0 4207119.0 250493.0 4775577.0 946776.0 1185816.0 5770568.0 4597740.0 4541103.0 381551.0 7123964.0 639906.0 2074887.0 7154520.0 4432705.0 472218.0 1378919.0 3701960.0 2465074.0 4996144.0 1616458.0 4318065.0 2638399.0 4091054.0 6545440.0 2771787.0 11012538.0 6299360.0 3854719.0 4737856.0 480235.0 5897731.0 1198872.0 4060961.0 220425.0 465642.0 5196399.0 505489.0 1089830.0 10091762.0 1280425.0 2492518.0 2399843.0 650080.0 3074147.0 2006974.0 1682847.0 349739.0 1142750.0 301815744.0
2003-01-01 1515398.0 147641.0 268548.0 1058309.0 609652.0 674551.0 955778.0 1793847.0 1093313.0 1811969.0 3263186.0 456854.0 502575.0 235719.0 656859.0 2723564.0 16322.0 13636.0 609254.0 524028.0 3242626.0 2773729.0 6960657.0 3140862.0 2076370.0 2160267.0 771083.0 122571.0 55255.0 257102.0 212907.0 491771.0 61168.0 399078.0 6737881.0 401387.0 2620749.0 6605501.0 1155787.0 3560702.0 5502117.0 7018961.0 1009860.0 2167525.0 1703700.0 5042067.0 451755.0 7403768.0 357380.0 1837165.0 2973353.0 294486.0 6921277.0 1507598.0 2300713.0 1276527.0 3571203.0 1933592.0 6543353.0 2581877.0 3714664.0 299773.0 1603254.0 4013238.0 250017.0 4513485.0 907167.0 1085300.0 4630319.0 4390516.0 4297007.0 352446.0 6871592.0 633545.0 1936394.0 6477023.0 4423244.0 429873.0 1389511.0 3356795.0 2683363.0 4741443.0 1569989.0 4115610.0 2593036.0 3832185.0 6466975.0 2731201.0 10273701.0 5979298.0 3824379.0 4710734.0 492877.0 5504913.0 1164699.0 3955686.0 251419.0 444831.0 5064971.0 531085.0 1164505.0 9678459.0 1382406.0 2543966.0 2358360.0 783780.0 2974150.0 1821276.0 1521337.0 250983.0 1052560.0 290513630.0
2004-01-01 828967.0 158249.0 265867.0 1110735.0 560509.0 685110.0 942576.0 1823307.0 1049507.0 1833910.0 3324339.0 521942.0 597098.0 415400.0 694608.0 2753378.0 10710.0 16109.0 565139.0 494947.0 3121145.0 3286869.0 6571379.0 3180475.0 2066842.0 2210468.0 749136.0 61519.0 71448.0 256733.0 211599.0 437546.0 30194.0 560612.0 6896844.0 447636.0 2361644.0 6412275.0 1043993.0 3153181.0 5065492.0 7334629.0 1000086.0 1980633.0 1723021.0 5012467.0 436464.0 7747263.0 384482.0 1809250.0 3734941.0 283416.0 7034916.0 1536370.0 2308595.0 822936.0 3369715.0 2007731.0 6592196.0 2560859.0 3739012.0 307222.0 1572586.0 4386502.0 243704.0 4195621.0 884392.0 1045049.0 3182777.0 4366760.0 4350226.0 311571.0 6736528.0 601279.0 1930504.0 6477342.0 4424510.0 430676.0 1426788.0 3394113.0 3574597.0 4745085.0 1636788.0 4010614.0 2470382.0 3698647.0 6644582.0 2705155.0 10514844.0 6059933.0 3935981.0 4698104.0 501618.0 5556935.0 1190153.0 3976826.0 222048.0 452449.0 5167279.0 540873.0 1138555.0 9585968.0 1446761.0 2538100.0 2282711.0 898325.0 3159297.0 1730571.0 1537950.0 247561.0 1030563.0 292596557.0
2005-01-01 792688.0 226516.0 245976.0 1131238.0 567195.0 676753.0 967760.0 1907620.0 1040252.0 1949421.0 3588030.0 485837.0 480796.0 456948.0 770735.0 2844510.0 17198.0 23874.0 650175.0 396215.0 2838773.0 3605213.0 6651181.0 3391259.0 2121330.0 2296988.0 851080.0 66418.0 86129.0 293263.0 212328.0 452371.0 44981.0 619741.0 7324954.0 446497.0 2284373.0 6578009.0 988671.0 2950227.0 5154670.0 7295348.0 1027088.0 1864786.0 1744868.0 5052913.0 463381.0 7772837.0 419560.0 1907101.0 3853034.0 278944.0 6769232.0 1566413.0 2400924.0 828141.0 3534589.0 2046810.0 7268004.0 2677342.0 3863232.0 304042.0 1581849.0 4530692.0 244577.0 4353553.0 907139.0 1028575.0 3641799.0 4271122.0 4436791.0 363870.0 6676797.0 630849.0 2021188.0 6792697.0 4737825.0 461632.0 1471603.0 3397318.0 3722545.0 5072833.0 1819104.0 3955091.0 2490638.0 3796925.0 6985756.0 2813433.0 10817844.0 6185736.0 3932356.0 4670595.0 514364.0 5753550.0 1195561.0 3904500.0 262264.0 465273.0 5329695.0 533276.0 1133477.0 9827620.0 1550004.0 2692051.0 2336703.0 944374.0 3354927.0 1690207.0 1516211.0 269538.0 1114501.0 301956479.0
2006-01-01 756101.0 184421.0 238898.0 1075454.0 554131.0 627649.0 979953.0 1800806.0 1008261.0 1820030.0 3548385.0 450800.0 415045.0 510061.0 732855.0 2795520.0 20538.0 25342.0 749711.0 478994.0 2977758.0 3791493.0 6565403.0 3272145.0 2091410.0 2323463.0 818212.0 65773.0 63791.0 329898.0 232252.0 452703.0 49869.0 595872.0 7415674.0 458760.0 2247764.0 6556011.0 903546.0 2813197.0 5172177.0 7088319.0 993122.0 1854435.0 1796632.0 5173713.0 443140.0 7400352.0 393091.0 1899572.0 3666278.0 262941.0 6627225.0 1549805.0 2460451.0 704570.0 3567741.0 1604244.0 6607005.0 2481578.0 3865734.0 304119.0 1425032.0 4391590.0 231505.0 4118392.0 858540.0 973713.0 3678846.0 4061095.0 4226279.0 344203.0 6633346.0 606285.0 1956551.0 6698121.0 4607825.0 495119.0 1496204.0 3322910.0 3590120.0 4864800.0 1583046.0 3742133.0 2487269.0 3523356.0 6917241.0 2724553.0 10516705.0 6106754.0 4061060.0 4635012.0 559499.0 5612727.0 1254213.0 3983539.0 261468.0 526745.0 5296032.0 518976.0 1151059.0 9079582.0 1682697.0 2620876.0 2435571.0 925558.0 3057793.0 1688663.0 1586329.0 280085.0 1057567.0 296916585.0
2007-01-01 754759.0 186799.0 222211.0 1030383.0 552977.0 609649.0 1554846.0 1815263.0 1049376.0 1873112.0 3744683.0 380993.0 423523.0 481705.0 601791.0 2793252.0 16281.0 54962.0 995058.0 552498.0 3357303.0 4759123.0 6644258.0 3253365.0 2210150.0 2613649.0 630012.0 99415.0 84224.0 532127.0 340532.0 474841.0 65099.0 530642.0 6783959.0 410430.0 2607239.0 7004225.0 888663.0 1790887.0 4945629.0 6643738.0 1033521.0 1774214.0 1954444.0 5218477.0 470393.0 7114622.0 407619.0 1889494.0 3753287.0 280096.0 6844218.0 1518496.0 2553045.0 690684.0 3862330.0 1435634.0 6817303.0 2353559.0 3184844.0 287866.0 1275984.0 3983591.0 166207.0 4339201.0 902265.0 1005896.0 3818608.0 4097237.0 4238691.0 365945.0 7018384.0 581932.0 1972557.0 6970092.0 4573283.0 463214.0 1655301.0 3434153.0 3666853.0 5206549.0 1587610.0 3933780.0 2646499.0 3360026.0 6991662.0 2706866.0 10932888.0 6353412.0 3879486.0 4666731.0 616990.0 5721244.0 1340327.0 4010763.0 284258.0 591134.0 5302863.0 494173.0 1207214.0 7761504.0 1780061.0 2666191.0 2410201.0 841881.0 3073828.0 1594452.0 1596289.0 255825.0 1123267.0 306996060.0
2008-01-01 792562.0 190758.0 226230.0 1125823.0 599608.0 687733.0 1764161.0 2046911.0 1052765.0 1998974.0 4512426.0 369212.0 427683.0 501105.0 591893.0 2935299.0 15301.0 44800.0 1075152.0 586560.0 3475665.0 5495814.0 7482069.0 3382136.0 2487723.0 2660972.0 545296.0 91724.0 92837.0 661218.0 391970.0 512335.0 36724.0 572225.0 6809199.0 435141.0 2993208.0 7822897.0 913923.0 1860891.0 5146495.0 6871079.0 1050272.0 1927945.0 1898324.0 5812049.0 505822.0 7411015.0 511230.0 1916686.0 3753664.0 280771.0 7183697.0 1716710.0 2707417.0 751580.0 4224002.0 1465186.0 6983652.0 2349524.0 3335356.0 277359.0 1286973.0 4004147.0 166047.0 4460718.0 937424.0 1067877.0 4020882.0 4310097.0 4554294.0 403074.0 7386877.0 594366.0 2247404.0 7724179.0 4707651.0 475225.0 1795687.0 3501532.0 3811257.0 5641454.0 1748504.0 4037212.0 2738104.0 3522079.0 7335707.0 2924102.0 11341770.0 7230740.0 3983173.0 5026930.0 607347.0 6025172.0 1443785.0 4261691.0 295571.0 599227.0 5395166.0 495239.0 1318246.0 8026201.0 1836082.0 2819925.0 2562566.0 934202.0 3323724.0 1781095.0 1589545.0 257275.0 1162910.0 326399922.0
2009-01-01 753854.0 251927.0 236084.0 1116432.0 621624.0 640611.0 1644414.0 2155808.0 992608.0 2098030.0 4548986.0 356451.0 369768.0 515835.0 542164.0 2663720.0 15163.0 118124.0 968572.0 573783.0 3652482.0 5129270.0 7267990.0 3091691.0 2544387.0 2416249.0 831244.0 97767.0 87733.0 573608.0 444555.0 731858.0 30966.0 596222.0 6621701.0 517436.0 3121920.0 7729321.0 885823.0 1838884.0 4771588.0 6806429.0 1025600.0 2049410.0 1664016.0 6019494.0 511638.0 7275218.0 536910.0 1733386.0 3671139.0 271296.0 6089537.0 1747996.0 2810889.0 734754.0 4386737.0 1400155.0 6894508.0 2213075.0 3172890.0 250060.0 1286689.0 3323169.0 174374.0 4168087.0 910750.0 1046519.0 3873534.0 4232919.0 4178376.0 390896.0 7112318.0 592049.0 2335384.0 7730676.0 4555481.0 463972.0 1862139.0 3418492.0 3694671.0 5592859.0 1764260.0 3975754.0 2658214.0 3637790.0 6955730.0 2742153.0 10925343.0 7446446.0 3051048.0 4715431.0 572627.0 5864560.0 1404311.0 3998957.0 260237.0 605922.0 5400671.0 450602.0 1318346.0 7497617.0 1703123.0 2612013.0 2446055.0 966807.0 3185744.0 1694669.0 1812741.0 243654.0 1265221.0 317549806.0
2010-01-01 726712.0 234771.0 234303.0 1055156.0 606409.0 565525.0 1563850.0 1969898.0 904439.0 1994347.0 4659010.0 250804.0 306956.0 474096.0 524622.0 2332812.0 15888.0 130872.0 913364.0 546927.0 3348621.0 4837087.0 7112528.0 3010573.0 2543183.0 2198548.0 1374985.0 92173.0 99240.0 393570.0 555120.0 1004021.0 44928.0 647557.0 6732488.0 579612.0 3100151.0 7387288.0 850509.0 1776274.0 4601893.0 7006600.0 1037994.0 1947380.0 1597808.0 5816272.0 527898.0 7488464.0 601378.0 1499434.0 3623830.0 293122.0 8550170.0 1721643.0 2873626.0 695697.0 4237083.0 1400066.0 6892292.0 2404434.0 4091100.0 252433.0 1329976.0 4230876.0 172173.0 3602162.0 932889.0 1058189.0 3785189.0 3916414.0 3825512.0 370860.0 6705499.0 498326.0 2523462.0 7885420.0 4634071.0 400073.0 1745730.0 3225009.0 3441123.0 5335079.0 1782767.0 4065493.0 2666583.0 3619902.0 7081893.0 2647627.0 10443079.0 6972779.0 4571879.0 4597821.0 503256.0 5886252.0 1358934.0 3701010.0 256809.0 637045.0 5188525.0 393313.0 1300712.0 9514361.0 1686674.0 2475292.0 2301249.0 946725.0 3066214.0 1544326.0 1610651.0 237761.0 1261710.0 304990991.0
2011-01-01 734910.0 261400.0 237112.0 1065688.0 631631.0 536041.0 1658939.0 1970043.0 882345.0 1987214.0 4954311.0 195483.0 275088.0 408028.0 481523.0 2187299.0 12536.0 143414.0 976206.0 569030.0 3320202.0 4856090.0 7194052.0 3132255.0 2580425.0 2146276.0 1414407.0 92416.0 75780.0 348523.0 527904.0 1167860.0 26435.0 706346.0 6388553.0 613735.0 3126243.0 7392947.0 886444.0 1724233.0 4796752.0 7052581.0 1077222.0 2020449.0 1640031.0 5838170.0 573545.0 7603945.0 659344.0 1482662.0 3715630.0 314382.0 9169585.0 1791512.0 3111303.0 690503.0 4332366.0 1433222.0 7001213.0 2548273.0 4178292.0 270527.0 1346079.0 4415810.0 165103.0 3418273.0 917853.0 1110359.0 3819163.0 3749638.0 3779859.0 388722.0 6692553.0 506465.0 2596218.0 8239523.0 4732739.0 395103.0 1817591.0 3188048.0 3384021.0 5460583.0 1853125.0 4314557.0 2672342.0 3742280.0 7474921.0 2897109.0 10416651.0 7319868.0 4782377.0 4679131.0 507605.0 6115943.0 1337528.0 3724072.0 265528.0 698847.0 5149272.0 394558.0 1328043.0 10032506.0 1680411.0 2437246.0 2383650.0 948460.0 3113772.0 1588244.0 1573191.0 238211.0 1330315.0 309354934.0
2012-01-01 710390.0 224185.0 242278.0 1068449.0 639949.0 522699.0 1631987.0 2064679.0 902517.0 1933391.0 5168908.0 186393.0 217742.0 414545.0 417617.0 2060931.0 11133.0 118227.0 996197.0 615979.0 3418668.0 5094401.0 7078674.0 3137625.0 2512294.0 1984904.0 1438827.0 95004.0 85267.0 369920.0 519723.0 1251949.0 34327.0 754544.0 6497960.0 592995.0 3309585.0 7393815.0 915201.0 1738169.0 5010017.0 7186117.0 1106136.0 2037272.0 1737889.0 5953182.0 593532.0 7809730.0 613604.0 1447950.0 3779342.0 330934.0 9261071.0 1886467.0 3294045.0 702247.0 4438423.0 1426317.0 7081426.0 2681231.0 4229237.0 284348.0 1368688.0 4324209.0 178418.0 3393805.0 930898.0 1159583.0 4053364.0 3717946.0 3793066.0 372047.0 6685204.0 506036.0 2664458.0 8623682.0 4785165.0 399611.0 1688288.0 3205084.0 3397683.0 5707131.0 1913229.0 4489623.0 2678824.0 3898584.0 7657463.0 2995443.0 10200267.0 7334879.0 4752414.0 4575165.0 502254.0 6294079.0 1316511.0 3771323.0 287205.0 734222.0 5077387.0 404997.0 1328465.0 10266514.0 1733856.0 2475295.0 2284098.0 994091.0 3224708.0 1562701.0 1558790.0 233012.0 1288141.0 313161565.0
2013-01-01 560731.0 159148.0 201316.0 891234.0 566457.0 431376.0 498260.0 1110268.0 766024.0 1606302.0 4712445.0 278301.0 383002.0 419099.0 424807.0 2080553.0 11199.0 98571.0 984120.0 578614.0 5054167.0 4776094.0 6681955.0 3122154.0 2356082.0 2158792.0 1491813.0 60843.0 91261.0 379311.0 557374.0 1250342.0 50240.0 790255.0 6142696.0 555168.0 2984267.0 7055212.0 989350.0 2342395.0 5161263.0 6784859.0 995254.0 1780091.0 1575676.0 5334005.0 511934.0 7412694.0 518863.0 1383304.0 3280824.0 325317.0 8624258.0 1825948.0 3340064.0 557920.0 4119895.0 1418731.0 6693151.0 2528994.0 3850845.0 258086.0 1178327.0 3896621.0 160172.0 3166678.0 1005282.0 1021283.0 3967565.0 3569054.0 3728511.0 324276.0 5817802.0 433700.0 2636913.0 8359271.0 4092943.0 434045.0 1726593.0 3105796.0 2864625.0 5406747.0 1791642.0 4350562.0 2362170.0 3875092.0 7394130.0 2895379.0 8852931.0 7283520.0 4440906.0 4315971.0 532757.0 6140699.0 1261757.0 3553396.0 254176.0 767008.0 4411294.0 407124.0 1456807.0 9842223.0 1676598.0 2282295.0 2205256.0 1018879.0 3098878.0 1382130.0 933757.0 212775.0 1158178.0 297407665.0
2014-01-01 503731.0 141462.0 171838.0 820563.0 516993.0 337072.0 498625.0 1178259.0 688754.0 1545459.0 4446299.0 267546.0 371281.0 382507.0 385027.0 1900710.0 4759.0 93422.0 902184.0 504670.0 4702450.0 4435610.0 6024519.0 2954066.0 2349667.0 2028460.0 1485986.0 57380.0 79968.0 327800.0 507262.0 1232212.0 39563.0 803657.0 5793980.0 527502.0 2918273.0 6370708.0 765917.0 2172003.0 4333951.0 6118482.0 992154.0 1658962.0 1664387.0 4853356.0 498527.0 6681308.0 527016.0 1189665.0 3209674.0 286635.0 7720746.0 1713941.0 3075629.0 507757.0 3782525.0 1303547.0 6253814.0 2294675.0 3745394.0 229077.0 1115539.0 3629638.0 149580.0 3244868.0 1431571.0 1092994.0 3623927.0 3207039.0 3264455.0 253749.0 5700754.0 404375.0 2543816.0 7587908.0 4057758.0 368655.0 1479156.0 2900691.0 2840635.0 5177469.0 1319750.0 4149836.0 2453333.0 3712575.0 6943544.0 2700222.0 8395095.0 6741433.0 4141234.0 4040281.0 512328.0 5801703.0 1190016.0 3300161.0 244146.0 668857.0 4125200.0 381854.0 1052107.0 8698215.0 1598394.0 2180057.0 2127211.0 945087.0 2828217.0 1219301.0 821034.0 203760.0 1011770.0 273021357.0
2015-01-01 503130.0 153630.0 184288.0 837534.0 468563.0 338819.0 517703.0 1210074.0 728055.0 1505143.0 4450807.0 247015.0 354321.0 344249.0 350586.0 1855245.0 6890.0 92392.0 849777.0 486990.0 4655646.0 4403587.0 5836637.0 3022799.0 2409576.0 1922951.0 1388017.0 57651.0 83666.0 356174.0 527979.0 1113764.0 45845.0 852261.0 5527863.0 565380.0 3090039.0 6084557.0 748030.0 2113744.0 4306760.0 6132995.0 1082077.0 1652543.0 1705066.0 4694191.0 565546.0 6747774.0 525135.0 1144441.0 3323421.0 294271.0 7462134.0 1727416.0 3012587.0 464074.0 3831437.0 1303186.0 6293989.0 2403596.0 3721697.0 213443.0 1147971.0 3675061.0 155282.0 2839333.0 1399264.0 1096216.0 3547332.0 3121358.0 3368927.0 263721.0 5379870.0 406802.0 2659718.0 7399953.0 3962573.0 388131.0 1465577.0 3006274.0 2851832.0 5211850.0 1280858.0 4113423.0 2422955.0 3723584.0 7008076.0 2561763.0 8716273.0 6820588.0 4093915.0 4014557.0 495479.0 5898216.0 1211526.0 3278083.0 200571.0 669739.0 4230054.0 378397.0 1052086.0 8856964.0 1577324.0 2154171.0 2148058.0 962604.0 2903477.0 1211142.0 809737.0 223887.0 1017728.0 272122558.0
2016-01-01 433894.0 103532.0 169637.0 765865.0 432287.0 320834.0 542025.0 1131020.0 699697.0 1427918.0 4343842.0 230656.0 303253.0 399412.0 329836.0 1650208.0 6988.0 87598.0 788497.0 462031.0 4496517.0 4063379.0 5356727.0 2845095.0 2402608.0 1769505.0 1453911.0 51701.0 33679.0 328520.0 490121.0 1197277.0 30659.0 821724.0 5354512.0 631917.0 3012997.0 5620134.0 710166.0 1946004.0 3913884.0 5698439.0 991019.0 1577427.0 1676931.0 4280471.0 521164.0 6424587.0 486500.0 1048516.0 3189908.0 244532.0 5562628.0 1738749.0 2946840.0 449828.0 3709798.0 1257327.0 5895532.0 2376585.0 3524886.0 195610.0 1078172.0 3442631.0 160102.0 2667350.0 809409.0 959924.0 3247574.0 3147656.0 3324397.0 289356.0 5162657.0 416508.0 2630921.0 7088030.0 3693175.0 398683.0 1259619.0 2751467.0 2777530.0 4959819.0 1722672.0 3865711.0 2230746.0 3622252.0 6671135.0 2370553.0 8268367.0 6375504.0 3757834.0 3958320.0 515183.0 5775101.0 1148067.0 3062225.0 168648.0 631746.0 3988939.0 407710.0 958869.0 6329587.0 1499521.0 1981453.0 2022942.0 952404.0 2734488.0 754327.0 478787.0 220571.0 993083.0 257917007.0
route routename
1 Bronzeville/Union Station
10 Museum of S & I
100 Jeffery Manor Express
103 West 103rd
106 East 103rd
108 Halsted/95th
11 Lincoln
111 111th/King Drive
112 Vincennes/111th
119 Michigan/119th
12 Roosevelt
120 Ogilvie/Streeterville Express
121 Union/Streeterville Express
124 Navy Pier
125 Water Tower Express
126 Jackson
128 Soldier Field Express
130 Museum Campus
135 Clarendon/LaSalle Express
136 Sheridan/LaSalle Express
146 Inner Drive/Michigan Express
147 Outer Drive Express
151 Sheridan
152 Addison
155 Devon
156 LaSalle
157 Streeterville/Taylor
169 69th-UPS Express
170 U. of Chicago/Midway
171 U. of Chicago/Hyde Park
172 U. of Chicago/Kenwood
18 16th/18th
19 United Center Express
2 Hyde Park Express
20 Madison
201 Central/Ridge
21 Cermak
22 Clark
24 Wentworth
28 Stony Island
29 State
3 King Drive
30 South Chicago
34 South Michigan
35 31st/35th
36 Broadway
39 Pershing
4 Cottage Grove
43 43rd
44 Wallace-Racine
47 47th
48 South Damen
49 Western
49B North Western
50 Damen
51 51st
52 Kedzie/California
52A South Kedzie
53 Pulaski
53A South Pulaski
54 Cicero
54A North Cicero/Skokie Blvd.
54B South Cicero
55 Garfield
55N 55th/Narragansett
56 Milwaukee
57 Laramie
59 59th/61st
6 Jackson Park Express
60 Blue Island/26th
62 Archer
62H Archer/Harlem
63 63rd
63W West 63rd
65 Grand
66 Chicago
67 67th-69th-71st
68 Northwest Highway
7 Harrison
70 Division
71 71st/South Shore
72 North
73 Armitage
74 Fullerton
75 74th-75th
76 Diversey
77 Belmont
78 Montrose
79 79th
8 Halsted
80 Irving Park
81 Lawrence
81W West Lawrence
82 Kimball-Homan
84 Peterson
85 Central
85A North Central
86 Narragansett/Ridgeland
87 87th
88 Higgins
8A South Halsted
9 Ashland
90 Harlem
91 Austin
92 Foster
93 California/Dodge
94 South California
95E 93rd-95th
95W West 95th
96 Lunt
97 Skokie
All Buses All Buses
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment