Use only Javascript and SVG to produce a data analysis / visualization report.
This report is prepared by
<g transform="translate(0 0)">
<rect
width="135"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
HIST
</text>
<text transform="translate(80 15)">
540
</text>
</g>
<g transform="translate(0 20)">
<rect
width="16.5"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
HONR
</text>
<text transform="translate(80 15)">
66
</text>
</g>
<g transform="translate(0 40)">
<rect
width="27"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
HUMN
</text>
<text transform="translate(80 15)">
108
</text>
</g>
<g transform="translate(0 60)">
<rect
width="43.5"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
IAFS
</text>
<text transform="translate(80 15)">
174
</text>
</g>
<g transform="translate(0 80)">
<rect
width="253.5"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
IPHY
</text>
<text transform="translate(80 15)">
1014
</text>
</g>
<g transform="translate(0 100)">
<rect
width="58.5"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
LING
</text>
<text transform="translate(80 15)">
234
</text>
</g>
<g transform="translate(0 120)">
<rect
width="458.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
MATH
</text>
<text transform="translate(80 15)">
1833
</text>
</g>
<g transform="translate(0 140)">
<rect
width="200.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
MCDB
</text>
<text transform="translate(80 15)">
801
</text>
</g>
<g transform="translate(0 160)">
<rect
width="246"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
PHIL
</text>
<text transform="translate(80 15)">
984
</text>
</g>
<g transform="translate(0 180)">
<rect
width="179.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
PHYS
</text>
<text transform="translate(80 15)">
717
</text>
</g>
<g transform="translate(0 200)">
<rect
width="198.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
PSCI
</text>
<text transform="translate(80 15)">
795
</text>
</g>
<g transform="translate(0 220)">
<rect
width="218.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
PSYC
</text>
<text transform="translate(80 15)">
873
</text>
</g>
<g transform="translate(0 240)">
<rect
width="685.5"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
PWRT
</text>
<text transform="translate(80 15)">
2742
</text>
</g>
<g transform="translate(0 260)">
<rect
width="33"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
RLST
</text>
<text transform="translate(80 15)">
132
</text>
</g>
<g transform="translate(0 280)">
<rect
width="123.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
SLHS
</text>
<text transform="translate(80 15)">
495
</text>
</g>
<g transform="translate(0 300)">
<rect
width="212.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
SOCY
</text>
<text transform="translate(80 15)">
849
</text>
</g>
<g transform="translate(0 320)">
<rect
width="366.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
SPAN
</text>
<text transform="translate(80 15)">
1467
</text>
</g>
<g transform="translate(0 340)">
<rect
width="26.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
SSPC
</text>
<text transform="translate(80 15)">
105
</text>
</g>
<g transform="translate(0 360)">
<rect
width="210.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
THDN
</text>
<text transform="translate(80 15)">
843
</text>
</g>
<g transform="translate(0 380)">
<rect
width="48"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
WMST
</text>
<text transform="translate(80 15)">
192
</text>
</g>
<g transform="translate(0 400)">
<rect
width="698.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
BADM
</text>
<text transform="translate(80 15)">
2793
</text>
</g>
<g transform="translate(0 420)">
<rect
width="255"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
EDUC
</text>
<text transform="translate(80 15)">
1020
</text>
</g>
<g transform="translate(0 440)">
<rect
width="121.5"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
ASEN
</text>
<text transform="translate(80 15)">
486
</text>
</g>
<g transform="translate(0 460)">
<rect
width="117.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
CHEN
</text>
<text transform="translate(80 15)">
471
</text>
</g>
<g transform="translate(0 480)">
<rect
width="140.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
CSCI
</text>
<text transform="translate(80 15)">
561
</text>
</g>
<g transform="translate(0 500)">
<rect
width="238.5"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
CVEN
</text>
<text transform="translate(80 15)">
954
</text>
</g>
<g transform="translate(0 520)">
<rect
width="165.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
ECEN
</text>
<text transform="translate(80 15)">
663
</text>
</g>
<g transform="translate(0 540)">
<rect
width="47.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
EMEN
</text>
<text transform="translate(80 15)">
189
</text>
</g>
<g transform="translate(0 560)">
<rect
width="111.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
ENGR
</text>
<text transform="translate(80 15)">
447
</text>
</g>
<g transform="translate(0 580)">
<rect
width="3"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
EVEN
</text>
<text transform="translate(80 15)">
12
</text>
</g>
<g transform="translate(0 600)">
<rect
width="59.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
HUEN
</text>
<text transform="translate(80 15)">
237
</text>
</g>
<g transform="translate(0 620)">
<rect
width="207"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
MCEN
</text>
<text transform="translate(80 15)">
828
</text>
</g>
<g transform="translate(0 640)">
<rect
width="45.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
TLEN
</text>
<text transform="translate(80 15)">
183
</text>
</g>
<g transform="translate(0 660)">
<rect
width="93.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
ATLS
</text>
<text transform="translate(80 15)">
375
</text>
</g>
<g transform="translate(0 680)">
<rect
width="10.5"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
MUSM
</text>
<text transform="translate(80 15)">
42
</text>
</g>
<g transform="translate(0 700)">
<rect
width="4.5"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
RASE
</text>
<text transform="translate(80 15)">
18
</text>
</g>
<g transform="translate(0 720)">
<rect
width="159"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
JOUR
</text>
<text transform="translate(80 15)">
636
</text>
</g>
<g transform="translate(0 740)">
<rect
width="348.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
LAWS
</text>
<text transform="translate(80 15)">
1395
</text>
</g>
<g transform="translate(0 760)">
<rect
width="327"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
MUSC
</text>
<text transform="translate(80 15)">
1308
</text>
</g>
<g transform="translate(0 780)">
<rect
width="59.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
ROTC
</text>
<text transform="translate(80 15)">
237
</text>
</g>
<g transform="translate(0 800)">
<rect
width="9"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
UGED
</text>
<text transform="translate(80 15)">
36
</text>
</g>
<g transform="translate(0 820)">
<rect
width="72.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
ARPL
</text>
<text transform="translate(80 15)">
291
</text>
</g>
<g transform="translate(0 840)">
<rect
width="148.5"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
AAAH
</text>
<text transform="translate(80 15)">
594
</text>
</g>
<g transform="translate(0 860)">
<rect
width="3"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
AHPC
</text>
<text transform="translate(80 15)">
12
</text>
</g>
<g transform="translate(0 880)">
<rect
width="72"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
ALAC
</text>
<text transform="translate(80 15)">
288
</text>
</g>
<g transform="translate(0 900)">
<rect
width="71.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
ANTH
</text>
<text transform="translate(80 15)">
285
</text>
</g>
<g transform="translate(0 920)">
<rect
width="112.5"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
APPM
</text>
<text transform="translate(80 15)">
450
</text>
</g>
<g transform="translate(0 940)">
<rect
width="42.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
APS
</text>
<text transform="translate(80 15)">
171
</text>
</g>
<g transform="translate(0 960)">
<rect
width="6.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
ARSP
</text>
<text transform="translate(80 15)">
27
</text>
</g>
<g transform="translate(0 980)">
<rect
width="37.5"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
ATOC
</text>
<text transform="translate(80 15)">
150
</text>
</g>
<g transform="translate(0 1000)">
<rect
width="136.5"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
CHEM
</text>
<text transform="translate(80 15)">
546
</text>
</g>
<g transform="translate(0 1020)">
<rect
width="53.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
CLAS
</text>
<text transform="translate(80 15)">
213
</text>
</g>
<g transform="translate(0 1040)">
<rect
width="117"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
COMM
</text>
<text transform="translate(80 15)">
468
</text>
</g>
<g transform="translate(0 1060)">
<rect
width="126.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
EBIO
</text>
<text transform="translate(80 15)">
507
</text>
</g>
<g transform="translate(0 1080)">
<rect
width="105.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
ECON
</text>
<text transform="translate(80 15)">
423
</text>
</g>
<g transform="translate(0 1100)">
<rect
width="219.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
ENGL
</text>
<text transform="translate(80 15)">
879
</text>
</g>
<g transform="translate(0 1120)">
<rect
width="38.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
ENVS
</text>
<text transform="translate(80 15)">
153
</text>
</g>
<g transform="translate(0 1140)">
<rect
width="39"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
ETHN
</text>
<text transform="translate(80 15)">
156
</text>
</g>
<g transform="translate(0 1160)">
<rect
width="76.5"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
FILM
</text>
<text transform="translate(80 15)">
306
</text>
</g>
<g transform="translate(0 1180)">
<rect
width="95.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
FRIT
</text>
<text transform="translate(80 15)">
381
</text>
</g>
<g transform="translate(0 1200)">
<rect
width="48"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
GEOG
</text>
<text transform="translate(80 15)">
192
</text>
</g>
<g transform="translate(0 1220)">
<rect
width="57"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
GEOL
</text>
<text transform="translate(80 15)">
228
</text>
</g>
<g transform="translate(0 1240)">
<rect
width="99"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
GSLL
</text>
<text transform="translate(80 15)">
396
</text>
</g>
<g transform="translate(0 ${d.y})">
<rect
width="${d.width}"
height="20"
style="fill:${d.color};
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform="translate(0 15)">
${d.name}
</text>
<text transform="translate(80 15)">
${d.width*4}
</text>
</g>
var grps= _.groupBy(data,'CrsPBADept')
var values =_.mapValues(grps,function(d){
hrs= _.pluck(d,'Workload')
var hrs_string=_.map(hrs,function(d){return d.Hrs_Wk})
var total_hrs=_.map(hrs_string,function(d){ return d.split('-')[1]})
return _.sum(total_hrs)
})
var values =_.pick(values,function(d){return d>0})
console.log(values)
var data1=_.map(values,function(group,name){return { course_name:name ,hrswork:group}})
var max= _.max(_.pluck(data1,'hrswork'))
//console.log(data1)
function computeX(d, i) {
return 0
}
function computeHeight(d, i) {
return 20
}
function computeY(d, i) {
return 20*i
}
function computeWidth(d, i) {
return d.hrswork/4
}
function computeColor(d, i) {
return 'red'
}
function computeName(d, i) {
return d.course_name
}
var viz = _.map(data1, function(d, i){
return {
x: computeX(d, i),
y: computeY(d, i),
height: computeHeight(d, i),
color: computeColor(d, i),
width: computeWidth(d,i),
name:computeName(d,i)
}
})
console.log(data1)
var result = _.map(viz, function(d){
// invoke the compiled template function on each viz data
return template({d: d})
})
return result.join('\n')
Use the warmup exercise as the template to produce an answer here.
<g transform="translate(0 0)">
<rect
x="0"
width="87.5"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">HIST</text>
</g>
<g transform="translate(0 20)">
<rect
x="0"
width="9.375"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">HONR</text>
</g>
<g transform="translate(0 40)">
<rect
x="0"
width="6.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">HUMN</text>
</g>
<g transform="translate(0 60)">
<rect
x="0"
width="9.375"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">IAFS</text>
</g>
<g transform="translate(0 80)">
<rect
x="0"
width="3.125"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">IPHY</text>
</g>
<g transform="translate(0 100)">
<rect
x="0"
width="31.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">LING</text>
</g>
<g transform="translate(0 120)">
<rect
x="0"
width="393.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">MATH</text>
</g>
<g transform="translate(0 140)">
<rect
x="0"
width="118.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">MCDB</text>
</g>
<g transform="translate(0 160)">
<rect
x="0"
width="9.375"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">BAKR</text>
</g>
<g transform="translate(0 180)">
<rect
x="0"
width="262.5"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">PHIL</text>
</g>
<g transform="translate(0 200)">
<rect
x="0"
width="68.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">PHYS</text>
</g>
<g transform="translate(0 220)">
<rect
x="0"
width="18.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">PSCI</text>
</g>
<g transform="translate(0 240)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">NRSC</text>
</g>
<g transform="translate(0 260)">
<rect
x="0"
width="40.625"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">PSYC</text>
</g>
<g transform="translate(0 280)">
<rect
x="0"
width="637.5"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">WRTG</text>
</g>
<g transform="translate(0 300)">
<rect
x="0"
width="6.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">RLST</text>
</g>
<g transform="translate(0 320)">
<rect
x="0"
width="15.625"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">SLHS</text>
</g>
<g transform="translate(0 340)">
<rect
x="0"
width="118.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">SOCY</text>
</g>
<g transform="translate(0 360)">
<rect
x="0"
width="18.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">ARAB</text>
</g>
<g transform="translate(0 380)">
<rect
x="0"
width="6.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">PORT</text>
</g>
<g transform="translate(0 400)">
<rect
x="0"
width="162.5"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">SPAN</text>
</g>
<g transform="translate(0 420)">
<rect
x="0"
width="37.5"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">COMR</text>
</g>
<g transform="translate(0 440)">
<rect
x="0"
width="43.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">FARR</text>
</g>
<g transform="translate(0 460)">
<rect
x="0"
width="6.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">GSAP</text>
</g>
<g transform="translate(0 480)">
<rect
x="0"
width="3.125"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">INVS</text>
</g>
<g transform="translate(0 500)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">PACS</text>
</g>
<g transform="translate(0 520)">
<rect
x="0"
width="6.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">SEWL</text>
</g>
<g transform="translate(0 540)">
<rect
x="0"
width="100"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">DNCE</text>
</g>
<g transform="translate(0 560)">
<rect
x="0"
width="90.625"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">THTR</text>
</g>
<g transform="translate(0 580)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">WMST</text>
</g>
<g transform="translate(0 600)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">ACCT</text>
</g>
<g transform="translate(0 620)">
<rect
x="0"
width="43.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">BADM</text>
</g>
<g transform="translate(0 640)">
<rect
x="0"
width="46.875"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">BCOR</text>
</g>
<g transform="translate(0 660)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">BSLW</text>
</g>
<g transform="translate(0 680)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">BUSM</text>
</g>
<g transform="translate(0 700)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">CESR</text>
</g>
<g transform="translate(0 720)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">ESBM</text>
</g>
<g transform="translate(0 740)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">FNCE</text>
</g>
<g transform="translate(0 760)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">INBU</text>
</g>
<g transform="translate(0 780)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">MBAC</text>
</g>
<g transform="translate(0 800)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">MBAX</text>
</g>
<g transform="translate(0 820)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">MGMT</text>
</g>
<g transform="translate(0 840)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">MKTG</text>
</g>
<g transform="translate(0 860)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">REAL</text>
</g>
<g transform="translate(0 880)">
<rect
x="0"
width="3.125"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">EDUC</text>
</g>
<g transform="translate(0 900)">
<rect
x="0"
width="6.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">ASEN</text>
</g>
<g transform="translate(0 920)">
<rect
x="0"
width="15.625"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">CHEN</text>
</g>
<g transform="translate(0 940)">
<rect
x="0"
width="15.625"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">CSCI</text>
</g>
<g transform="translate(0 960)">
<rect
x="0"
width="6.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">AREN</text>
</g>
<g transform="translate(0 980)">
<rect
x="0"
width="3.125"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">CVEN</text>
</g>
<g transform="translate(0 1000)">
<rect
x="0"
width="18.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">ECEN</text>
</g>
<g transform="translate(0 1020)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">EMEN</text>
</g>
<g transform="translate(0 1040)">
<rect
x="0"
width="9.375"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">EHON</text>
</g>
<g transform="translate(0 1060)">
<rect
x="0"
width="175"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">GEEN</text>
</g>
<g transform="translate(0 1080)">
<rect
x="0"
width="3.125"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">EVEN</text>
</g>
<g transform="translate(0 1100)">
<rect
x="0"
width="65.625"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">HUEN</text>
</g>
<g transform="translate(0 1120)">
<rect
x="0"
width="12.5"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">MCEN</text>
</g>
<g transform="translate(0 1140)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">TLEN</text>
</g>
<g transform="translate(0 1160)">
<rect
x="0"
width="3.125"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">ATLS</text>
</g>
<g transform="translate(0 1180)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">MUSM</text>
</g>
<g transform="translate(0 1200)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">RSEI</text>
</g>
<g transform="translate(0 1220)">
<rect
x="0"
width="37.5"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">JOUR</text>
</g>
<g transform="translate(0 1240)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">LAWS</text>
</g>
<g transform="translate(0 1260)">
<rect
x="0"
width="6.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">CONV</text>
</g>
<g transform="translate(0 1280)">
<rect
x="0"
width="121.875"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">EMUS</text>
</g>
<g transform="translate(0 1300)">
<rect
x="0"
width="50"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">MUEL</text>
</g>
<g transform="translate(0 1320)">
<rect
x="0"
width="59.375"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">MUSC</text>
</g>
<g transform="translate(0 1340)">
<rect
x="0"
width="150"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">PMUS</text>
</g>
<g transform="translate(0 1360)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">TMUS</text>
</g>
<g transform="translate(0 1380)">
<rect
x="0"
width="12.5"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">AIRR</text>
</g>
<g transform="translate(0 1400)">
<rect
x="0"
width="9.375"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">MILR</text>
</g>
<g transform="translate(0 1420)">
<rect
x="0"
width="6.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">NAVR</text>
</g>
<g transform="translate(0 1440)">
<rect
x="0"
width="3.125"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">CSVC</text>
</g>
<g transform="translate(0 1460)">
<rect
x="0"
width="3.125"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">LDSP</text>
</g>
<g transform="translate(0 1480)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">NRLN</text>
</g>
<g transform="translate(0 1500)">
<rect
x="0"
width="3.125"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">PRLC</text>
</g>
<g transform="translate(0 1520)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">ARCH</text>
</g>
<g transform="translate(0 1540)">
<rect
x="0"
width="40.625"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">ENVD</text>
</g>
<g transform="translate(0 1560)">
<rect
x="0"
width="6.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">ARTH</text>
</g>
<g transform="translate(0 1580)">
<rect
x="0"
width="68.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">ARTS</text>
</g>
<g transform="translate(0 1600)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">CAMW</text>
</g>
<g transform="translate(0 1620)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">CWCV</text>
</g>
<g transform="translate(0 1640)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">LGBT</text>
</g>
<g transform="translate(0 1660)">
<rect
x="0"
width="9.375"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">LIBB</text>
</g>
<g transform="translate(0 1680)">
<rect
x="0"
width="9.375"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">CHIN</text>
</g>
<g transform="translate(0 1700)">
<rect
x="0"
width="3.125"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">FRSI</text>
</g>
<g transform="translate(0 1720)">
<rect
x="0"
width="3.125"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">HIND</text>
</g>
<g transform="translate(0 1740)">
<rect
x="0"
width="18.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">JPNS</text>
</g>
<g transform="translate(0 1760)">
<rect
x="0"
width="3.125"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">KREN</text>
</g>
<g transform="translate(0 1780)">
<rect
x="0"
width="40.625"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">ANTH</text>
</g>
<g transform="translate(0 1800)">
<rect
x="0"
width="50"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">APPM</text>
</g>
<g transform="translate(0 1820)">
<rect
x="0"
width="21.875"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">ASTR</text>
</g>
<g transform="translate(0 1840)">
<rect
x="0"
width="62.5"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">ARSC</text>
</g>
<g transform="translate(0 1860)">
<rect
x="0"
width="53.125"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">ATOC</text>
</g>
<g transform="translate(0 1880)">
<rect
x="0"
width="271.875"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">CHEM</text>
</g>
<g transform="translate(0 1900)">
<rect
x="0"
width="40.625"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">CLAS</text>
</g>
<g transform="translate(0 1920)">
<rect
x="0"
width="75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">COMM</text>
</g>
<g transform="translate(0 1940)">
<rect
x="0"
width="268.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">EBIO</text>
</g>
<g transform="translate(0 1960)">
<rect
x="0"
width="18.75"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">ECON</text>
</g>
<g transform="translate(0 1980)">
<rect
x="0"
width="121.875"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">ENGL</text>
</g>
<g transform="translate(0 2000)">
<rect
x="0"
width="3.125"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">ENVS</text>
</g>
<g transform="translate(0 2020)">
<rect
x="0"
width="3.125"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">ETHN</text>
</g>
<g transform="translate(0 2040)">
<rect
x="0"
width="3.125"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">FILM</text>
</g>
<g transform="translate(0 2060)">
<rect
x="0"
width="31.25"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">FREN</text>
</g>
<g transform="translate(0 2080)">
<rect
x="0"
width="28.125"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">ITAL</text>
</g>
<g transform="translate(0 2100)">
<rect
x="0"
width="12.5"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">GEOG</text>
</g>
<g transform="translate(0 2120)">
<rect
x="0"
width="65.625"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">GEOL</text>
</g>
<g transform="translate(0 2140)">
<rect
x="0"
width="28.125"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">GRMN</text>
</g>
<g transform="translate(0 2160)">
<rect
x="0"
width="9.375"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">HEBR</text>
</g>
<g transform="translate(0 2180)">
<rect
x="0"
width="9.375"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">RUSS</text>
</g>
<g transform="translate(0 2200)">
<rect
x="0"
width="0"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">SCAN</text>
</g>
<g transform="translate(0 2220)">
<rect
x="0"
width="3.125"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">SWED</text>
</g>
<g transform="translate(0 2240)">
<rect
x="0"
width="3.125"
height="20"
style="fill:red;
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">LEAD</text>
</g>
<g transform="translate(0 ${d.y})">
<rect
x="${d.x}"
width="${d.width}"
height="20"
style="fill:${d.color};
stroke-width:3;
stroke:rgb(0,0,0)" />
<text transform= "translate(0 15)">${d.label}</text>
</g>
var groups = _.groupBy(data, function(college){
return college['Subject']
})
var courseLevels = _.mapValues(groups, function(a){
return _.map(a, function(b){
return b['Course']
})
})
var count = 0
var levelCount = _.mapValues(courseLevels, function(level){
count = 0
return _.map(level, function(n){
if(n >= 1000 && n < 2000){
count++
}
return count
})
})
var result = _.mapValues(levelCount, function(n){
return _.max(n)
})
var result1 = _.map(result,function(name,count){
return { courseCount:name ,departmentName:count}
})
function computeX(d, i) {
return 0
}
function computeHeight(d, i) {
return 20
}
function computeWidth(d, i) {
return d.courseCount * (400/128)
}
function computeY(d, i) {
return 20 * i
}
function computeColor(d, i) {
return 'red'
}
function computeLabel(d, i){
return d.departmentName
}
var viz = _.map(result1, function(d, i){
return {
x: computeX(d, i),
y: computeY(d, i),
height: computeHeight(d, i),
width: computeWidth(d, i),
color: computeColor(d, i),
label: computeLabel(d, i)
}
})
console.log(viz)
var result = _.map(viz, function(d){
// invoke the compiled template function on each viz data
return template({d: d})
})
return result.join('\n')