Skip to content

Instantly share code, notes, and snippets.

@richardwestenra
Last active December 14, 2015 04:39
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save richardwestenra/129f64bfa2b0d48d27c9 to your computer and use it in GitHub Desktop.
Save richardwestenra/129f64bfa2b0d48d27c9 to your computer and use it in GitHub Desktop.
What Career Should I Invest In?
OccupationTitle Category TotalEmployed2011 MedianSalary2011 ProjectedGrowth2020 Education Experience Training
Postal Service Mail Sorters, Processors, and Processing Machine Operators Office and Administrative Support Occupations 139700 53080 -48.5 High school diploma or equivalent None Short-term on-the-job training
Postal Service Clerks Office and Administrative Support Occupations 65040 53100 -48.2 High school diploma or equivalent None Short-term on-the-job training
Postmasters and Mail Superintendents Management Occupations 24410 62920 -27.8 High school diploma or equivalent 1 to 5 years Moderate-term on-the-job training
Petroleum Pump System Operators, Refinery Operators, and Gaugers Production Occupations 41570 61260 -14 High school diploma or equivalent None Long-term on-the-job training
Chemical Plant and System Operators Production Occupations 40580 55940 -12.2 High school diploma or equivalent None Long-term on-the-job training
Postal Service Mail Carriers Office and Administrative Support Occupations 315330 55160 -12 High school diploma or equivalent None Short-term on-the-job training
Insurance Appraisers, Auto Damage Business and Financial Operations Occupations 10950 57020 -7.5 Postsecondary non-degree award None Moderate-term on-the-job training
Chemical Equipment Operators and Tenders Production Occupations 49020 45550 -7.5 High school diploma or equivalent None Moderate-term on-the-job training
Gas Plant Operators Production Occupations 11750 59550 -6.5 High school diploma or equivalent None Long-term on-the-job training
Tire Builders Production Occupations 16690 40760 -5.7 High school diploma or equivalent None Moderate-term on-the-job training
Millwrights Installation, Maintenance, and Repair Occupations 37730 49270 -4.8 High school diploma or equivalent None Long-term on-the-job training
Railroad Brake, Signal, and Switch Operators Transportation and Material Moving Occupations 23830 50430 -4.2 High school diploma or equivalent None Moderate-term on-the-job training
Drafters, All Other Architecture and Engineering Occupations 16070 45600 -4 Associate's degree None None
Food Service Managers Management Occupations 183940 48110 -3.3 High school diploma or equivalent 1 to 5 years None
Power Distributors and Dispatchers Production Occupations 11600 70700 -3 High school diploma or equivalent None Long-term on-the-job training
Air Traffic Controllers Transportation and Material Moving Occupations 23580 113540 -2.9 Associate's degree None Long-term on-the-job training
Power Plant Operators Production Occupations 39980 65280 -2.5 High school diploma or equivalent None Long-term on-the-job training
Tool and Die Makers Production Occupations 70320 46650 -2.3 High school diploma or equivalent None Long-term on-the-job training
First-Line Supervisors of Farming, Fishing, and Forestry Workers Farming, Fishing, and Forestry Occupations 18920 42600 -1.5 High school diploma or equivalent 1 to 5 years None
Title Examiners, Abstractors, and Searchers Legal Occupations 49760 40760 -1.4 High school diploma or equivalent None Short-term on-the-job training
Chefs and Head Cooks Food Preparation and Serving Related Occupations 90300 42350 -0.8 High school diploma or equivalent 1 to 5 years None
Administrative Law Judges, Adjudicators, and Hearing Officers Legal Occupations 14460 85190 -0.1 Bachelor's degree 1 to 5 years Moderate-term on-the-job training
Control and Valve Installers and Repairers, Except Mechanical Door Installation, Maintenance, and Repair Occupations 42450 49600 -0.1 High school diploma or equivalent None Moderate-term on-the-job training
Plant and System Operators, All Other Production Occupations 11740 53200 -0.1 High school diploma or equivalent None Long-term on-the-job training
Fashion Designers Arts, Design, Entertainment, Sports, and Media Occupations 16010 64690 0.2 High school diploma or equivalent None Long-term on-the-job training
Media and Communication Equipment Workers, All Other Arts, Design, Entertainment, Sports, and Media Occupations 14690 69160 0.3 High school diploma or equivalent None Moderate-term on-the-job training
Continuous Mining Machine Operators Construction and Extraction Occupations 12280 50620 0.4 High school diploma or equivalent None Moderate-term on-the-job training
Electro-Mechanical Technicians Architecture and Engineering Occupations 16620 51220 0.5 Associate's degree None None
Editors Arts, Design, Entertainment, Sports, and Media Occupations 98990 52380 0.6 Bachelor's degree 1 to 5 years None
Sound Engineering Technicians Arts, Design, Entertainment, Sports, and Media Occupations 14930 46750 0.6 Postsecondary non-degree award None Short-term on-the-job training
Career/Technical Education Teachers, Secondary School Education, Training, and Library Occupations 88210 54660 1.1 Bachelor's degree 1 to 5 years Internship/residency
Electrical and Electronics Repairers, Commercial and Industrial Equipment Installation, Maintenance, and Repair Occupations 67220 52320 1.1 Postsecondary non-degree award None Long-term on-the-job training
Agricultural Inspectors Farming, Fishing, and Forestry Occupations 13780 41390 1.5 Bachelor's degree None Moderate-term on-the-job training
Electrical and Electronics Engineering Technicians Architecture and Engineering Occupations 150020 56900 1.9 Associate's degree None None
Rail-Track Laying and Maintenance Equipment Operators Construction and Extraction Occupations 15590 45000 1.9 High school diploma or equivalent None Moderate-term on-the-job training
First-Line Supervisors of Production and Operating Workers Production Occupations 559350 53670 1.9 Postsecondary non-degree award 1 to 5 years None
Camera Operators, Television, Video, and Motion Picture Arts, Design, Entertainment, Sports, and Media Occupations 16270 40170 2.1 Bachelor's degree None Moderate-term on-the-job training
First-Line Supervisors of Police and Detectives Protective Service Occupations 102040 77890 2.1 High school diploma or equivalent 1 to 5 years Moderate-term on-the-job training
Electrical and Electronics Installers and Repairers, Transportation Equipment Installation, Maintenance, and Repair Occupations 14410 49810 2.1 Postsecondary non-degree award None Long-term on-the-job training
Legal Support Workers, All Other Legal Occupations 44720 52390 2.6 High school diploma or equivalent None Short-term on-the-job training
Compensation and Benefits Managers Management Occupations 24580 92290 2.8 Bachelor's degree 1 to 5 years None
Detectives and Criminal Investigators Protective Service Occupations 111930 71770 2.9 High school diploma or equivalent 1 to 5 years Moderate-term on-the-job training
Claims Adjusters, Examiners, and Investigators Business and Financial Operations Occupations 263810 59320 3 High school diploma or equivalent None Long-term on-the-job training
Eligibility Interviewers, Government Programs Office and Administrative Support Occupations 120610 41060 3.1 Associate's degree None Moderate-term on-the-job training
Architectural and Civil Drafters Architecture and Engineering Occupations 85740 47250 3.2 Associate's degree None None
Legal Secretaries Office and Administrative Support Occupations 220680 42460 3.5 High school diploma or equivalent None Moderate-term on-the-job training
Pump Operators, Except Wellhead Pumpers Transportation and Material Moving Occupations 12150 43870 3.7 Less than high school None Moderate-term on-the-job training
Chemists Life, Physical, and Social Science Occupations 80040 69760 3.8 Bachelor's degree None None
Mechanical Engineering Technicians Architecture and Engineering Occupations 44760 51350 3.9 Associate's degree None None
First-Line Supervisors of Non-Retail Sales Workers Sales and Related Occupations 235630 70520 4 High school diploma or equivalent More than 5 years None
Respiratory Therapy Technicians Healthcare Practitioners and Technical Occupations 13940 46350 4.1 Associate's degree None Moderate-term on-the-job training
Chief Executives Management Occupations 267370 166910 4.2 Bachelor's degree More than 5 years None
Industrial Engineering Technicians Architecture and Engineering Occupations 63030 49090 4.2 Associate's degree None None
Locomotive Engineers Transportation and Material Moving Occupations 38790 49380 4.4 High school diploma or equivalent 1 to 5 years Moderate-term on-the-job training
General and Operations Managers Management Occupations 1805030 95150 4.6 Associate's degree 1 to 5 years None
Wellhead Pumpers Transportation and Material Moving Occupations 13190 41320 4.6 Less than high school Less than 1 year Moderate-term on-the-job training
Engineering Technicians, Except Drafters, All Other Architecture and Engineering Occupations 65030 58670 4.7 Associate's degree None None
Railroad Conductors and Yardmasters Transportation and Material Moving Occupations 44280 53880 4.7 High school diploma or equivalent None Moderate-term on-the-job training
Aerospace Engineers Architecture and Engineering Occupations 79400 102420 4.9 Bachelor's degree None None
Electronics Engineers, Except Computer Architecture and Engineering Occupations 136310 91500 4.9 Bachelor's degree None None
Electrical and Electronics Repairers, Powerhouse, Substation, and Relay Installation, Maintenance, and Repair Occupations 23850 67450 4.9 Postsecondary non-degree award None Long-term on-the-job training
Compensation, Benefits, and Job Analysis Specialists Business and Financial Operations Occupations 94710 57960 5 Bachelor's degree None None
Conservation Scientists Life, Physical, and Social Science Occupations 18910 59530 5.2 Bachelor's degree None None
Film and Video Editors Arts, Design, Entertainment, Sports, and Media Occupations 20730 52940 5.2 Bachelor's degree 1 to 5 years None
Purchasing Agents, Except Wholesale, Retail, and Farm Products Business and Financial Operations Occupations 274540 57580 5.3 High school diploma or equivalent None Long-term on-the-job training
Electrical and Electronics Drafters Architecture and Engineering Occupations 28010 54470 5.4 Associate's degree None None
Buyers and Purchasing Agents, Farm Products Business and Financial Operations Occupations 10180 55860 5.5 High school diploma or equivalent None Long-term on-the-job training
First-Line Supervisors of Correctional Officers Protective Service Occupations 40980 55030 5.6 High school diploma or equivalent 1 to 5 years Moderate-term on-the-job training
Insurance Underwriters Business and Financial Operations Occupations 92840 60830 5.9 Bachelor's degree None Moderate-term on-the-job training
Computer Occupations, All Other* Computer and Mathematical Occupations 177630 79930 5.9 Bachelor's degree None None
Chemical Engineers Architecture and Engineering Occupations 27860 92930 5.9 Bachelor's degree None None
Brokerage Clerks Office and Administrative Support Occupations 60720 41760 5.9 High school diploma or equivalent None Moderate-term on-the-job training
Property, Real Estate, and Community Association Managers Management Occupations 152380 52510 6 High school diploma or equivalent 1 to 5 years None
Financial Specialists, All Other Business and Financial Operations Occupations 152200 59810 6.1 Bachelor's degree None Moderate-term on-the-job training
Economists Life, Physical, and Social Science Occupations 14270 90550 6.1 Bachelor's degree None None
Stationary Engineers and Boiler Operators Production Occupations 34580 53070 6.2 High school diploma or equivalent None Long-term on-the-job training
Biological Scientists, All Other Life, Physical, and Social Science Occupations 31550 70790 6.3 Doctoral or professional degree None None
Aircraft Mechanics and Service Technicians Installation, Maintenance, and Repair Occupations 117320 54590 6.3 Postsecondary non-degree award None None
Industrial Engineers Architecture and Engineering Occupations 211490 77240 6.4 Bachelor's degree None None
Airline Pilots, Copilots, and Flight Engineers Transportation and Material Moving Occupations 68350 105580 6.4 Bachelor's degree 1 to 5 years Moderate-term on-the-job training
Writers and Authors Arts, Design, Entertainment, Sports, and Media Occupations 40930 55870 6.5 Bachelor's degree None Long-term on-the-job training
Engineers, All Other Architecture and Engineering Occupations 125590 90580 6.6 Bachelor's degree None None
Production, Planning, and Expediting Clerks Office and Administrative Support Occupations 272910 43100 6.6 High school diploma or equivalent None Moderate-term on-the-job training
Chemical Technicians Life, Physical, and Social Science Occupations 59650 42070 6.7 Associate's degree None Moderate-term on-the-job training
Secondary School Teachers, Except Special and Career/Technical Education Education, Training, and Library Occupations 1004850 54270 6.9 Bachelor's degree None Internship/residency
Librarians Education, Training, and Library Occupations 145710 55300 6.9 Master's degree None None
Gaming Supervisors Personal Care and Service Occupations 23080 48820 6.9 High school diploma or equivalent 1 to 5 years None
Avionics Technicians Installation, Maintenance, and Repair Occupations 17070 54720 6.9 Postsecondary non-degree award None None
Electrical Engineers Architecture and Engineering Occupations 154250 85920 7 Bachelor's degree None None
Purchasing Managers Management Occupations 66990 97130 7.2 Bachelor's degree More than 5 years None
Rotary Drill Operators, Oil and Gas Construction and Extraction Occupations 21650 51310 7.2 Less than high school None Moderate-term on-the-job training
Tax Examiners and Collectors, and Revenue Agents Business and Financial Operations Occupations 67970 50130 7.3 Bachelor's degree None Moderate-term on-the-job training
Special Education Teachers, Secondary School Education, Training, and Library Occupations 132960 55990 7.3 Bachelor's degree None Internship/residency
Appraisers and Assessors of Real Estate Business and Financial Operations Occupations 60930 48870 7.4 High school diploma or equivalent None Apprenticeship
Zoologists and Wildlife Biologists Life, Physical, and Social Science Occupations 18380 57420 7.4 Bachelor's degree None None
Real Estate Brokers Sales and Related Occupations 38200 59340 7.6 High school diploma or equivalent 1 to 5 years None
Natural Sciences Managers Management Occupations 47510 114770 7.7 Bachelor's degree More than 5 years None
Judicial Law Clerks Legal Occupations 18300 42450 7.7 Doctoral or professional degree None None
Fine Artists, Including Painters, Sculptors, and Illustrators Arts, Design, Entertainment, Sports, and Media Occupations 11830 44600 7.8 High school diploma or equivalent None Long-term on-the-job training
Managers, All Other Management Occupations 343560 99540 7.9 High school diploma or equivalent 1 to 5 years None
Food Scientists and Technologists Life, Physical, and Social Science Occupations 12040 58340 8 Bachelor's degree None None
Social Scientists and Related Workers, All Other Life, Physical, and Social Science Occupations 31520 75160 8.1 Bachelor's degree None None
First-Line Supervisors of Fire Fighting and Prevention Workers Protective Service Occupations 58210 69510 8.2 Postsecondary non-degree award 1 to 5 years None
Police and Sheriff's Patrol Officers Protective Service Occupations 636410 54230 8.2 High school diploma or equivalent None Moderate-term on-the-job training
Lodging Managers Management Occupations 29870 47450 8.3 High school diploma or equivalent 1 to 5 years None
Multimedia Artists and Animators Arts, Design, Entertainment, Sports, and Media Occupations 28400 60830 8.3 Bachelor's degree None Moderate-term on-the-job training
Physical Scientists, All Other Life, Physical, and Social Science Occupations 25790 94990 8.5 Bachelor's degree None None
Occupational Health and Safety Specialists Healthcare Practitioners and Technical Occupations 57950 66270 8.5 Bachelor's degree None Moderate-term on-the-job training
Architectural and Engineering Managers Management Occupations 184530 122190 8.6 Bachelor's degree More than 5 years None
Firefighters Protective Service Occupations 304080 45420 8.6 Postsecondary non-degree award None Long-term on-the-job training
Service Unit Operators, Oil, Gas, and Mining Construction and Extraction Occupations 46880 40750 8.6 Less than high school None Moderate-term on-the-job training
Materials Engineers Architecture and Engineering Occupations 22160 84550 8.7 Bachelor's degree None None
Financial Managers Management Occupations 477690 107160 8.8 Bachelor's degree More than 5 years None
Mechanical Engineers Architecture and Engineering Occupations 238260 79230 8.8 Bachelor's degree None None
Career/Technical Education Teachers, Middle School Education, Training, and Library Occupations 16870 54050 8.9 Bachelor's degree 1 to 5 years Internship/residency
Wholesale and Retail Buyers, Except Farm Products Business and Financial Operations Occupations 105610 50490 9 High school diploma or equivalent None Long-term on-the-job training
Computer Hardware Engineers Architecture and Engineering Occupations 71990 98610 9 Bachelor's degree None None
Art Directors Arts, Design, Entertainment, Sports, and Media Occupations 30680 81260 9 Bachelor's degree 1 to 5 years None
Industrial Production Managers Management Occupations 151850 88190 9.1 Bachelor's degree 1 to 5 years None
Judges, Magistrate Judges, and Magistrates Legal Occupations 26570 120130 9.2 Doctoral or professional degree More than 5 years Short-term on-the-job training
Fire Inspectors and Investigators Protective Service Occupations 12560 53330 9.2 High school diploma or equivalent More than 5 years Moderate-term on-the-job training
Derrick Operators, Oil and Gas Construction and Extraction Occupations 19480 45220 9.3 Less than high school None Short-term on-the-job training
Precision Instrument and Equipment Repairers, All Other Installation, Maintenance, and Repair Occupations 12230 51730 9.3 Associate's degree None Long-term on-the-job training
Education Administrators, Elementary and Secondary School Management Occupations 222810 87470 9.8 Master's degree 1 to 5 years None
First-Line Supervisors of Protective Service Workers, All Other Protective Service Occupations 55910 46420 9.9 High school diploma or equivalent 1 to 5 years None
Transportation, Storage, and Distribution Managers Management Occupations 92150 80860 10 High school diploma or equivalent More than 5 years None
Lawyers Legal Occupations 570950 113310 10.1 Doctoral or professional degree None None
Nuclear Engineers Architecture and Engineering Occupations 18430 101930 10.2 Bachelor's degree None None
Music Directors and Composers Arts, Design, Entertainment, Sports, and Media Occupations 25290 47410 10.2 Bachelor's degree 1 to 5 years None
Budget Analysts Business and Financial Operations Occupations 57110 69090 10.4 Bachelor's degree None None
Commercial and Industrial Designers Arts, Design, Entertainment, Sports, and Media Occupations 28710 60760 10.5 Bachelor's degree None None
Riggers Installation, Maintenance, and Repair Occupations 13750 43020 10.6 High school diploma or equivalent None Short-term on-the-job training
Computer Numerically Controlled Machine Tool Programmers, Metal and Plastic Production Occupations 20370 45890 10.8 High school diploma or equivalent None Moderate-term on-the-job training
Producers and Directors Arts, Design, Entertainment, Sports, and Media Occupations 82880 70660 11 Bachelor's degree 1 to 5 years None
Mechanical Drafters Architecture and Engineering Occupations 64090 49200 11.1 Associate's degree None None
Medical and Clinical Laboratory Technologists Healthcare Practitioners and Technical Occupations 165220 57010 11.3 Bachelor's degree None None
Elevator Installers and Repairers Construction and Extraction Occupations 20440 75060 11.3 High school diploma or equivalent None Apprenticeship
Media and Communication Workers, All Other Arts, Design, Entertainment, Sports, and Media Occupations 23610 43580 11.4 High school diploma or equivalent None Short-term on-the-job training
Business Operations Specialists, All Other* Business and Financial Operations Occupations 967250 64030 11.6 High school diploma or equivalent Less than 1 year Long-term on-the-job training
Water and Wastewater Treatment Plant and System Operators Production Occupations 109190 41780 11.6 High school diploma or equivalent None Long-term on-the-job training
Sales Managers Management Occupations 328230 101640 11.7 Bachelor's degree 1 to 5 years None
Life Scientists, All Other Life, Physical, and Social Science Occupations 10020 64370 11.7 Bachelor's degree None None
Life, Physical, and Social Science Technicians, All Other Life, Physical, and Social Science Occupations 58890 43120 11.8 Associate's degree None Moderate-term on-the-job training
First-Line Supervisors of Mechanics, Installers, and Repairers Installation, Maintenance, and Repair Occupations 418530 59850 11.9 High school diploma or equivalent 1 to 5 years None
Computer Programmers Computer and Mathematical Occupations 320100 72630 12 Bachelor's degree None None
Civil Engineering Technicians Architecture and Engineering Occupations 71890 46900 12 Associate's degree None None
Soil and Plant Scientists Life, Physical, and Social Science Occupations 11860 58940 12.1 Bachelor's degree None None
Executive Secretaries and Executive Administrative Assistants Office and Administrative Support Occupations 952030 45580 12.6 High school diploma or equivalent 1 to 5 years None
Emergency Management Directors Management Occupations 11050 57270 12.8 Bachelor's degree 1 to 5 years Long-term on-the-job training
Human Resources Managers Management Occupations 81750 99130 12.9 Bachelor's degree 1 to 5 years None
Occupational Health and Safety Technicians Healthcare Practitioners and Technical Occupations 11090 46030 12.9 High school diploma or equivalent None Moderate-term on-the-job training
Health and Safety Engineers, Except Mining Safety Engineers and Inspectors Architecture and Engineering Occupations 23170 75470 13 Bachelor's degree None None
Advertising Sales Agents Sales and Related Occupations 144760 45250 13 High school diploma or equivalent None Moderate-term on-the-job training
Electrical Power-Line Installers and Repairers Installation, Maintenance, and Repair Occupations 105570 60190 13.2 High school diploma or equivalent None Long-term on-the-job training
Advertising and Promotions Managers Management Occupations 30710 87650 13.3 Bachelor's degree 1 to 5 years None
Microbiologists Life, Physical, and Social Science Occupations 17660 65230 13.3 Bachelor's degree None None
Graphic Designers Arts, Design, Entertainment, Sports, and Media Occupations 191550 44010 13.4 Bachelor's degree None None
Audio and Video Equipment Technicians Arts, Design, Entertainment, Sports, and Media Occupations 49180 41630 13.4 Postsecondary non-degree award None Moderate-term on-the-job training
Marketing Managers Management Occupations 168410 116010 13.6 Bachelor's degree 1 to 5 years None
Education Administrators, All Other Management Occupations 28090 76730 13.6 Bachelor's degree 1 to 5 years None
Telecommunications Line Installers and Repairers Installation, Maintenance, and Repair Occupations 148930 51720 13.6 High school diploma or equivalent None Long-term on-the-job training
Earth Drillers, Except Oil and Gas Construction and Extraction Occupations 17020 40200 13.8 High school diploma or equivalent None Moderate-term on-the-job training
Agents and Business Managers of Artists, Performers, and Athletes Business and Financial Operations Occupations 11950 64790 14 Bachelor's degree 1 to 5 years None
Statisticians Computer and Mathematical Occupations 23770 73880 14.1 Master's degree None None
Court Reporters Legal Occupations 18440 48530 14.1 Postsecondary non-degree award None Short-term on-the-job training
Loan Officers Business and Financial Operations Occupations 284530 58030 14.2 High school diploma or equivalent None Moderate-term on-the-job training
Physicists Life, Physical, and Social Science Occupations 16220 106360 14.2 Doctoral or professional degree None None
First-Line Supervisors of Office and Administrative Support Workers Office and Administrative Support Occupations 1364720 48810 14.3 High school diploma or equivalent 1 to 5 years None
Aircraft Structure, Surfaces, Rigging, and Systems Assemblers Production Occupations 36570 46210 14.3 High school diploma or equivalent None Moderate-term on-the-job training
First-Line Supervisors of Transportation and Material-Moving Machine and Vehicle Operators Transportation and Material Moving Occupations 198690 52950 14.3 High school diploma or equivalent 1 to 5 years None
Sales Engineers Sales and Related Occupations 65580 89330 14.4 Bachelor's degree None Moderate-term on-the-job training
Transportation Inspectors Transportation and Material Moving Occupations 24810 62230 14.4 Some college, no degree None Short-term on-the-job training
Administrative Services Managers Management Occupations 249600 79540 14.5 High school diploma or equivalent 1 to 5 years None
Bus and Truck Mechanics and Diesel Engine Specialists Installation, Maintenance, and Repair Occupations 222940 41640 14.5 High school diploma or equivalent None Long-term on-the-job training
Training and Development Managers Management Occupations 27150 91740 14.6 Bachelor's degree 1 to 5 years None
Operations Research Analysts Computer and Mathematical Occupations 65030 71950 14.6 Bachelor's degree None None
Adult Basic and Secondary Education and Literacy Teachers and Instructors Education, Training, and Library Occupations 67770 47370 14.6 Bachelor's degree None Internship/residency
Telecommunications Equipment Installers and Repairers, Except Line Installers Installation, Maintenance, and Repair Occupations 199240 53960 14.6 Postsecondary non-degree award None Moderate-term on-the-job training
Geological and Petroleum Technicians Life, Physical, and Social Science Occupations 14680 49690 14.7 Associate's degree None Moderate-term on-the-job training
Compliance Officers Business and Financial Operations Occupations 210510 60740 15 Bachelor's degree None Moderate-term on-the-job training
First-Line Supervisors of Landscaping, Lawn Service, and Groundskeeping Workers Building and Grounds Cleaning and Maintenance Occupations 100460 42050 15.1 High school diploma or equivalent 1 to 5 years None
Securities, Commodities, and Financial Services Sales Agents Sales and Related Occupations 307020 72060 15.2 Bachelor's degree None Moderate-term on-the-job training
Sales Representatives, Wholesale and Manufacturing, Except Technical and Scientific Products Sales and Related Occupations 1390480 53540 15.6 High school diploma or equivalent None Moderate-term on-the-job training
Accountants and Auditors Business and Financial Operations Occupations 1085150 62850 15.7 Bachelor's degree None None
Crane and Tower Operators Transportation and Material Moving Occupations 41070 46460 15.7 Less than high school 1 to 5 years Long-term on-the-job training
Landscape Architects Architecture and Engineering Occupations 15760 63240 16 Bachelor's degree None Internship/residency
Urban and Regional Planners Life, Physical, and Social Science Occupations 38320 64100 16.2 Master's degree None None
Social Workers, All Other Community and Social Service Occupations 63110 53900 16.2 Bachelor's degree None None
Mobile Heavy Equipment Mechanics, Except Engines Installation, Maintenance, and Repair Occupations 109810 45600 16.2 High school diploma or equivalent None Long-term on-the-job training
Public Relations and Fundraising Managers Management Occupations 53200 93310 16.4 Bachelor's degree 1 to 5 years None
Sales Representatives, Wholesale and Manufacturing, Technical and Scientific Products Sales and Related Occupations 375500 74750 16.4 Bachelor's degree None Moderate-term on-the-job training
Construction Managers Management Occupations 195000 84240 16.6 Associate's degree More than 5 years None
Farm and Home Management Advisors Education, Training, and Library Occupations 10500 45430 16.6 Master's degree None None
Elementary School Teachers, Except Special Education Education, Training, and Library Occupations 1415590 52840 16.8 Bachelor's degree None Internship/residency
Middle School Teachers, Except Special and Career/Technical Education Education, Training, and Library Occupations 642820 53130 16.9 Bachelor's degree None Internship/residency
Rail Car Repairers Installation, Maintenance, and Repair Occupations 19480 47740 16.9 High school diploma or equivalent None Long-term on-the-job training
Petroleum Engineers Architecture and Engineering Occupations 30880 122280 17 Bachelor's degree None None
Recreational Therapists Healthcare Practitioners and Technical Occupations 19650 41060 17.1 Bachelor's degree None None
Technical Writers Arts, Design, Entertainment, Sports, and Media Occupations 45120 64610 17.2 Bachelor's degree 1 to 5 years Short-term on-the-job training
Business Teachers, Postsecondary Education, Training, and Library Occupations 82090 74770 17.4 Doctoral or professional degree None None
Computer Science Teachers, Postsecondary Education, Training, and Library Occupations 33510 73090 17.4 Doctoral or professional degree None None
Mathematical Science Teachers, Postsecondary Education, Training, and Library Occupations 53650 66680 17.4 Doctoral or professional degree None None
Engineering Teachers, Postsecondary Education, Training, and Library Occupations 33660 90680 17.4 Doctoral or professional degree None None
Agricultural Sciences Teachers, Postsecondary Education, Training, and Library Occupations 10170 79900 17.4 Doctoral or professional degree None None
Biological Science Teachers, Postsecondary Education, Training, and Library Occupations 50090 74110 17.4 Doctoral or professional degree None None
Atmospheric, Earth, Marine, and Space Sciences Teachers, Postsecondary Education, Training, and Library Occupations 10660 83140 17.4 Doctoral or professional degree None None
Chemistry Teachers, Postsecondary Education, Training, and Library Occupations 20830 70960 17.4 Doctoral or professional degree None None
Physics Teachers, Postsecondary Education, Training, and Library Occupations 13630 77540 17.4 Doctoral or professional degree None None
Economics Teachers, Postsecondary Education, Training, and Library Occupations 13300 85310 17.4 Doctoral or professional degree None None
Political Science Teachers, Postsecondary Education, Training, and Library Occupations 17260 71470 17.4 Doctoral or professional degree None None
Psychology Teachers, Postsecondary Education, Training, and Library Occupations 37540 68150 17.4 Doctoral or professional degree None None
Sociology Teachers, Postsecondary Education, Training, and Library Occupations 17250 66250 17.4 Doctoral or professional degree None None
Health Specialties Teachers, Postsecondary Education, Training, and Library Occupations 153430 79860 17.4 Doctoral or professional degree None None
Nursing Instructors and Teachers, Postsecondary Education, Training, and Library Occupations 55930 63900 17.4 Doctoral or professional degree None None
Education Teachers, Postsecondary Education, Training, and Library Occupations 63330 59380 17.4 Doctoral or professional degree None None
Criminal Justice and Law Enforcement Teachers, Postsecondary Education, Training, and Library Occupations 14630 59480 17.4 Doctoral or professional degree None None
Law Teachers, Postsecondary Education, Training, and Library Occupations 14980 93330 17.4 Doctoral or professional degree None None
Art, Drama, and Music Teachers, Postsecondary Education, Training, and Library Occupations 90030 62330 17.4 Doctoral or professional degree None None
Communications Teachers, Postsecondary Education, Training, and Library Occupations 29610 61330 17.4 Doctoral or professional degree None None
English Language and Literature Teachers, Postsecondary Education, Training, and Library Occupations 72700 61410 17.4 Doctoral or professional degree None None
Foreign Language and Literature Teachers, Postsecondary Education, Training, and Library Occupations 29010 59630 17.4 Doctoral or professional degree None None
History Teachers, Postsecondary Education, Training, and Library Occupations 23470 65860 17.4 Doctoral or professional degree None None
Philosophy and Religion Teachers, Postsecondary Education, Training, and Library Occupations 21930 65100 17.4 Doctoral or professional degree None None
Recreation and Fitness Studies Teachers, Postsecondary Education, Training, and Library Occupations 18660 57840 17.4 Doctoral or professional degree None None
Vocational Education Teachers, Postsecondary Education, Training, and Library Occupations 125160 48790 17.4 Doctoral or professional degree None None
Postsecondary Teachers, All Other Education, Training, and Library Occupations 182130 64310 17.4 Doctoral or professional degree None None
Clergy Community and Social Service Occupations 42560 44140 17.5 Bachelor's degree None Moderate-term on-the-job training
Sheet Metal Workers Construction and Extraction Occupations 130670 42730 17.5 High school diploma or equivalent None Apprenticeship
Construction and Building Inspectors Construction and Extraction Occupations 89620 53180 17.9 High school diploma or equivalent More than 5 years Moderate-term on-the-job training
Ship Engineers Transportation and Material Moving Occupations 10010 70840 18 Bachelor's degree None None
Computer and Information Systems Managers Management Occupations 300830 118010 18.1 Bachelor's degree More than 5 years None
Computer Support Specialists Computer and Mathematical Occupations 632490 47660 18.1 Some college, no degree None Moderate-term on-the-job training
Psychologists, All Other Life, Physical, and Social Science Occupations 10580 90010 18.2 Master's degree None Internship/residency
Kindergarten Teachers, Except Special Education Education, Training, and Library Occupations 164910 49520 18.2 Bachelor's degree None Internship/residency
Funeral Service Managers, Directors, Morticians, and Undertakers Personal Care and Service Occupations 29760 52790 18.2 Associate's degree None Apprenticeship
Paralegals and Legal Assistants* Legal Occupations 252250 46730 18.3 Associate's degree None None
Probation Officers and Correctional Treatment Specialists Community and Social Service Occupations 88520 47840 18.4 Bachelor's degree None Short-term on-the-job training
Forensic Science Technicians Life, Physical, and Social Science Occupations 12560 52180 18.6 Bachelor's degree None Moderate-term on-the-job training
Computer and Information Research Scientists Computer and Mathematical Occupations 25160 101080 18.7 Doctoral or professional degree None None
Environmental Scientists and Specialists, Including Health Life, Physical, and Social Science Occupations 83090 62920 18.7 Bachelor's degree None None
Sales Representatives, Services, All Other Sales and Related Occupations 596480 50630 18.8 High school diploma or equivalent None Short-term on-the-job training
Nuclear Medicine Technologists Healthcare Practitioners and Technical Occupations 21200 69450 18.9 Associate's degree None None
Surgical Technologists Healthcare Practitioners and Technical Occupations 94490 40950 18.9 Postsecondary non-degree award None None
Education Administrators, Postsecondary Management Occupations 113620 84280 19 Master's degree 1 to 5 years None
Educational, Guidance, School, and Vocational Counselors Community and Social Service Occupations 244560 54130 19 Master's degree None None
Health Diagnosing and Treating Practitioners, All Other Healthcare Practitioners and Technical Occupations 32300 70690 19 Master's degree None None
Healthcare Practitioners and Technical Workers, All Other* Healthcare Practitioners and Technical Occupations 55450 44950 19 Bachelor's degree None None
Interior Designers Arts, Design, Entertainment, Sports, and Media Occupations 40950 47620 19.3 Bachelor's degree None None
Civil Engineers Architecture and Engineering Occupations 254130 77990 19.4 Bachelor's degree None None
Instructional Coordinators Education, Training, and Library Occupations 130230 59280 19.5 Master's degree More than 5 years None
Carpenters Construction and Extraction Occupations 578910 40010 19.6 High school diploma or equivalent None Apprenticeship
Credit Analysts Business and Financial Operations Occupations 59140 60730 19.7 Bachelor's degree None None
Child, Family, and School Social Workers Community and Social Service Occupations 276510 40680 19.7 Bachelor's degree None None
Dietitians and Nutritionists Healthcare Practitioners and Technical Occupations 56130 54470 19.7 Bachelor's degree None Internship/residency
Special Education Teachers, Middle School Education, Training, and Library Occupations 100590 55000 20.2 Bachelor's degree None Internship/residency
Radiation Therapists Healthcare Practitioners and Technical Occupations 18380 76630 20.3 Associate's degree None None
Captains, Mates, and Pilots of Water Vessels Transportation and Material Moving Occupations 30220 63920 20.4 Bachelor's degree None None
Human Resources, Training, and Labor Relations Specialists, All Other* Business and Financial Operations Occupations 436090 54310 20.5 Bachelor's degree None None
Private Detectives and Investigators Protective Service Occupations 26080 43710 20.5 Some college, no degree 1 to 5 years Moderate-term on-the-job training
Dentists, General Healthcare Practitioners and Technical Occupations 90950 142740 21.1 Doctoral or professional degree None Internship/residency
Geoscientists, Except Hydrologists and Geographers Life, Physical, and Social Science Occupations 32490 84470 21.2 Bachelor's degree None None
Commercial Pilots Transportation and Material Moving Occupations 31630 70000 21.2 Postsecondary non-degree award None None
Counselors, All Other Community and Social Service Occupations 27140 42030 21.3 Master's degree None None
Special Education Teachers, Preschool, Kindergarten, and Elementary School* Education, Training, and Library Occupations 220220 53440 21.3 Bachelor's degree None Internship/residency
Boilermakers Construction and Extraction Occupations 18850 56910 21.3 High school diploma or equivalent None Apprenticeship
Industrial Machinery Mechanics Installation, Maintenance, and Repair Occupations 292470 46270 21.6 High school diploma or equivalent None Long-term on-the-job training
Information Security Analysts, Web Developers, and Computer Network Architects Computer and Mathematical Occupations 272670 77990 21.7 Bachelor's degree 1 to 5 years None
Management Analysts Business and Financial Operations Occupations 538950 78490 21.9 Bachelor's degree 1 to 5 years None
Environmental Engineers Architecture and Engineering Occupations 50350 79050 21.9 Bachelor's degree None None
Clinical, Counseling, and School Psychologists Life, Physical, and Social Science Occupations 100850 67880 21.9 Doctoral or professional degree None Internship/residency
Insurance Sales Agents Sales and Related Occupations 321780 47450 21.9 High school diploma or equivalent None Moderate-term on-the-job training
Structural Iron and Steel Workers Construction and Extraction Occupations 56920 45690 21.9 High school diploma or equivalent None Apprenticeship
Computer Systems Analysts Computer and Mathematical Occupations 487740 78770 22.1 Bachelor's degree None None
Cartographers and Photogrammetrists Architecture and Engineering Occupations 11240 55970 22.2 Bachelor's degree None None
Medical and Health Services Managers Management Occupations 287560 86400 22.4 Bachelor's degree None None
Licensed Practical and Licensed Vocational Nurses Healthcare Practitioners and Technical Occupations 729140 41150 22.4 Postsecondary non-degree award None None
Public Relations Specialists Arts, Design, Entertainment, Sports, and Media Occupations 212510 53190 22.5 Bachelor's degree None Moderate-term on-the-job training
Financial Analysts Business and Financial Operations Occupations 226340 75650 23 Bachelor's degree None None
Electricians Construction and Extraction Occupations 512290 49320 23.2 High school diploma or equivalent None Apprenticeship
Speech-Language Pathologists Healthcare Practitioners and Technical Occupations 117210 69100 23.4 Master's degree None None
First-Line Supervisors of Construction Trades and Extraction Workers Construction and Extraction Occupations 459830 59150 23.5 High school diploma or equivalent More than 5 years None
Operating Engineers and Other Construction Equipment Operators Construction and Extraction Occupations 335410 41510 23.5 High school diploma or equivalent None Moderate-term on-the-job training
Environmental Science and Protection Technicians, Including Health Life, Physical, and Social Science Occupations 30320 42270 23.6 Associate's degree None Moderate-term on-the-job training
Survey Researchers Life, Physical, and Social Science Occupations 17060 40150 24.1 Bachelor's degree None None
Environmental Engineering Technicians Architecture and Engineering Occupations 19490 44850 24.3 Associate's degree None None
Anesthesiologists Healthcare Practitioners and Technical Occupations 33310 234950 24.4 Doctoral or professional degree None Internship/residency
Family and General Practitioners Healthcare Practitioners and Technical Occupations 101800 167000 24.4 Doctoral or professional degree None Internship/residency
Internists, General Healthcare Practitioners and Technical Occupations 46740 183170 24.4 Doctoral or professional degree None Internship/residency
Obstetricians and Gynecologists Healthcare Practitioners and Technical Occupations 20540 218610 24.4 Doctoral or professional degree None Internship/residency
Pediatricians, General Healthcare Practitioners and Technical Occupations 29640 158170 24.4 Doctoral or professional degree None Internship/residency
Psychiatrists Healthcare Practitioners and Technical Occupations 23140 170350 24.4 Doctoral or professional degree None Internship/residency
Surgeons Healthcare Practitioners and Technical Occupations 42340 231550 24.4 Doctoral or professional degree None Internship/residency
Physicians and Surgeons, All Other Healthcare Practitioners and Technical Occupations 305590 184650 24.4 Doctoral or professional degree None Internship/residency
Architects, Except Landscape and Naval Architecture and Engineering Occupations 83590 73340 24.5 Bachelor's degree None Internship/residency
Curators Education, Training, and Library Occupations 10340 48800 24.8 Master's degree None None
Education Administrators, Preschool and Childcare Center/Program Management Occupations 49320 43830 24.9 Bachelor's degree 1 to 5 years None
Surveyors Architecture and Engineering Occupations 42020 55590 25.4 Bachelor's degree None None
Pharmacists Healthcare Practitioners and Technical Occupations 272320 113390 25.4 Doctoral or professional degree None None
Logisticians Business and Financial Operations Occupations 112310 71910 25.5 Bachelor's degree 1 to 5 years None
Plumbers, Pipefitters, and Steamfitters Construction and Extraction Occupations 349320 47750 25.6 High school diploma or equivalent None Apprenticeship
Registered Nurses* Healthcare Practitioners and Technical Occupations 2724570 65950 26 Associate's degree None None
Social and Community Service Managers Management Occupations 115550 58660 26.7 Bachelor's degree 1 to 5 years None
Actuaries Computer and Mathematical Occupations 19590 91060 26.7 Bachelor's degree None Long-term on-the-job training
Financial Examiners Business and Financial Operations Occupations 28050 75250 27 Bachelor's degree None Moderate-term on-the-job training
First-Line Supervisors of Helpers, Laborers, and Material Movers, Hand Transportation and Material Moving Occupations 166560 44580 27.2 High school diploma or equivalent 1 to 5 years None
Software Developers, Applications Computer and Mathematical Occupations 539880 89280 27.6 Bachelor's degree None None
Respiratory Therapists Healthcare Practitioners and Technical Occupations 113980 55250 27.7 Associate's degree None None
Network and Computer Systems Administrators* Computer and Mathematical Occupations 341800 70970 27.8 Bachelor's degree None None
Radiologic Technologists and Technicians* Healthcare Practitioners and Technical Occupations 220540 55120 27.8 Associate's degree None None
Therapists, All Other* Healthcare Practitioners and Technical Occupations 15720 49120 27.9 Master's degree None None
Training and Development Specialists Business and Financial Operations Occupations 205680 55150 28.3 Bachelor's degree None None
Chiropractors Healthcare Practitioners and Technical Occupations 27510 66060 28.3 Doctoral or professional degree None None
Cardiovascular Technologists and Technicians Healthcare Practitioners and Technical Occupations 50410 51020 29.3 Associate's degree None None
Radio, Cellular, and Tower Equipment Installers and Repairs Installation, Maintenance, and Repair Occupations 12920 42160 29.4 Associate's degree None Moderate-term on-the-job training
Physician Assistants Healthcare Practitioners and Technical Occupations 83540 88660 29.5 Master's degree None None
Athletic Trainers Healthcare Practitioners and Technical Occupations 18240 42400 30 Bachelor's degree None None
Database Administrators Computer and Mathematical Occupations 108500 75190 30.6 Bachelor's degree 1 to 5 years None
Biochemists and Biophysicists Life, Physical, and Social Science Occupations 25160 79230 30.8 Doctoral or professional degree None None
Medical Equipment Repairers Installation, Maintenance, and Repair Occupations 34710 44870 31.5 Associate's degree None Moderate-term on-the-job training
Personal Financial Advisors Business and Financial Operations Occupations 161790 66580 32.1 Bachelor's degree None None
Software Developers, Systems Software Computer and Mathematical Occupations 387050 96600 32.4 Bachelor's degree None None
Optometrists Healthcare Practitioners and Technical Occupations 27950 94690 33.1 Doctoral or professional degree None None
Healthcare Social Workers Community and Social Service Occupations 133890 48620 33.5 Master's degree None None
Occupational Therapists Healthcare Practitioners and Technical Occupations 103570 73820 33.5 Master's degree None None
Heating, Air Conditioning, and Refrigeration Mechanics and Installers Installation, Maintenance, and Repair Occupations 231160 43380 33.7 Postsecondary non-degree award None Long-term on-the-job training
Tapers Construction and Extraction Occupations 15340 44910 34.7 Less than high school None Moderate-term on-the-job training
Veterinarians Healthcare Practitioners and Technical Occupations 55410 82900 35.9 Doctoral or professional degree None None
Cost Estimators Business and Financial Operations Occupations 187730 58460 36.4 Bachelor's degree None None
Medical Scientists, Except Epidemiologists Life, Physical, and Social Science Occupations 95220 76130 36.4 Doctoral or professional degree None None
Health Educators Community and Social Service Occupations 56610 47940 36.5 Bachelor's degree None None
Audiologists Healthcare Practitioners and Technical Occupations 12490 68390 36.8 Doctoral or professional degree None None
Dental Hygienists Healthcare Practitioners and Technical Occupations 184110 69280 37.7 Associate's degree None None
Physical Therapists Healthcare Practitioners and Technical Occupations 185440 78270 39 Doctoral or professional degree None None
Brickmasons and Blockmasons Construction and Extraction Occupations 62560 46800 40.5 High school diploma or equivalent None Apprenticeship
Market Research Analysts and Marketing Specialists* Business and Financial Operations Occupations 318190 60250 41.2 Bachelor's degree None None
Marriage and Family Therapists Community and Social Service Occupations 33990 46240 41.2 Master's degree None Internship/residency
Interpreters and Translators Arts, Design, Entertainment, Sports, and Media Occupations 47950 44160 42.2 Bachelor's degree None Long-term on-the-job training
Occupational Therapy Assistants Healthcare Support Occupations 29130 52040 43.3 Associate's degree None None
Diagnostic Medical Sonographers Healthcare Practitioners and Technical Occupations 54760 65210 43.5 Associate's degree None None
Meeting, Convention, and Event Planners* Business and Financial Operations Occupations 64020 46020 43.7 Bachelor's degree Less than 1 year None
Physical Therapist Assistants Healthcare Support Occupations 67550 51040 45.7 Associate's degree None None
Biomedical Engineers Architecture and Engineering Occupations 16590 84670 61.7 Bachelor's degree None None
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>What Career Should I Invest In?</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="http://www.rasmussen.edu/css/webfonts_trade_gothic_next.css">
<link rel="stylesheet" href="css/main.css">
<script src="js/vendor/modernizr-2.6.2.min.js"></script>
</head>
<body>
<!--[if lt IE 7]>
<p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>
<![endif]-->
<div id="container" class="wrapper">
<header>
<h1 class="ir">What Career Should I Invest In?</h1>
<h2>Compare the number of people employed and median salary for all major<a href="#major" class="major">*</a> occupations in the United States.</h2>
</header>
<nav id="select" class="clearfix">
<a id="navToggle" href="#"><span>Select the categories you are interested in:</span></a>
<div id="navListContainer">
<ul id="navList"><li class="nl"><a href="0">Architecture and Engineering Occupations</a></li><li class="nl"><a href="1">Arts, Design, Entertainment, Sports, and Media Occupations</a></li><li class="nl"><a href="2">Building and Grounds Cleaning and Maintenance Occupations</a></li><li class="nl"><a href="3">Business and Financial Operations Occupations</a></li><li class="nl"><a href="4">Community and Social Service Occupations</a></li><li class="nl"><a href="5">Computer and Mathematical Occupations</a></li><li class="nl"><a href="6">Construction and Extraction Occupations</a></li><li class="nl"><a href="7">Education, Training, and Library Occupations</a></li><li class="nl"><a href="8">Farming, Fishing, and Forestry Occupations</a></li><li class="nl"><a href="9">Food Preparation and Serving Related Occupations</a></li><li class="nl"><a href="10">Healthcare Practitioners and Technical Occupations</a></li><li class="nl"><a href="11">Healthcare Support Occupations</a></li><li class="nl"><a href="12">Installation, Maintenance, and Repair Occupations</a></li><li class="nl"><a href="13">Legal Occupations</a></li><li class="nl"><a href="14">Life, Physical, and Social Science Occupations</a></li><li class="nl"><a href="15">Management Occupations</a></li><li class="nl"><a href="16">Office and Administrative Support Occupations</a></li><li class="nl"><a href="17">Personal Care and Service Occupations</a></li><li class="nl"><a href="18">Production Occupations</a></li><li class="nl"><a href="19">Protective Service Occupations</a></li><li class="nl"><a href="20">Sales and Related Occupations</a></li><li class="nl"><a href="21">Transportation and Material Moving Occupations</a></li></ul>
<div id="navButtons"><a id="resetNav" href="#" title="Reset all category filters">Clear all</a> <a id="doneNav" href="#" title="Reset all category filters and hide list">Done</a></div>
</div>
</nav>
<aside id="quadrantContainer" class="clearfix">
<header id="quadrant" class="annotationsOn hidden"><h5></h5> - <p></p></header>
</aside>
<div id="chartContainer">
<aside id="tooltip" class="hidden">
<h3 id="name"></h3>
<p id="desc"></p>
<ul id="stats">
<li>
<span class="value" id="medSal"></span>
<span class="key">Median Annual Salary in 2011</span>
</li>
<li>
<span class="value" id="totEmp"></span>
<span class="key">Total Employment in 2011</span>
</li>
<li>
<span class="value" id="projGrowth"></span>
<span class="key">Projected Growth by 2020</span>
</li>
<li>
<span class="value" id="education"></span>
<span class="key">Education Needed</span>
</li>
<li>
<span class="value" id="experience"></span>
<span class="key">Work Experience Needed</span>
</li>
</ul>
</aside>
<nav id="zoom">
<a id="zoomIn" href="#">+</a>
<a id="zoomOut" href="#">-</a>
</nav>
<a id="annotations" class="on" href="#"><svg width="12" height="14"><polygon transform="translate(6,8), scale(1.2)" points="4.569,2.637 0,5.276 -4.569,2.637 -4.569,-2.637 0,-5.276 4.569,-2.637"/></svg> Annotations <span>on</span></a>
<a id="zoomReset" href="#">Reset zoom</a>
<div id="chart" class="annotationsOn">
</div>
</div>
<ul id="legend" class="clearfix">
<li><svg width="13" height="16"><polygon class="high" transform="translate(7,8), scale(1.4)" points="4.569,2.637 0,5.276 -4.569,2.637 -4.569,-2.637 0,-5.276 4.569,-2.637"/></svg> Growing by 30% or more</li>
<li><svg width="13" height="16"><polygon class="medium" transform="translate(7,8), scale(1.4)" points="4.569,2.637 0,5.276 -4.569,2.637 -4.569,-2.637 0,-5.276 4.569,-2.637"/></svg> Growing by 10% - 30%</li>
<li><svg width="13" height="16"><polygon class="low" transform="translate(7,8), scale(1.4)" points="4.569,2.637 0,5.276 -4.569,2.637 -4.569,-2.637 0,-5.276 4.569,-2.637"/></svg> Growing by 0 - 10%</li>
<li><svg width="13" height="16"><polygon class="negative" transform="translate(7,8), scale(1.4)" points="4.569,2.637 0,5.276 -4.569,2.637 -4.569,-2.637 0,-5.276 4.569,-2.637"/></svg> Declining by 0 - 10%</li>
<li><svg width="13" height="16"><polygon class="inactive" transform="translate(7,8), scale(1.4)" points="4.569,2.637 0,5.276 -4.569,2.637 -4.569,-2.637 0,-5.276 4.569,-2.637"/></svg> Occupations in non-selected categories</li>
</ul>
</div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.9.0.min.js"><\/script>')</script>
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.v2.min.js"></script>
<script>window.d3 || document.write('<script src="js/vendor/d3.v2.min.js"><\/script>')</script>
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.4/underscore-min.js"></script>
<script src="js/plugins.js"></script>
<script src="js/main.js"></script>
<script>
$(function(){
scatter();
$('#zoomReset').on('click',function(e){
e.preventDefault();
$('#chart').empty();
console.log("sadf");
scatter();
});
});
</script>
<script type="text/javascript" src="http://fast.fonts.com/jsapi/72ae4231-e1cd-4917-9f19-42d12f8da388.js"></script><!-- NBED - temporary for localhost -->
</body>
</html>
/*
* HTML5 Boilerplate
*
* What follows is the result of much research on cross-browser styling.
* Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
* Kroc Camen, and the H5BP dev community and team.
*/
/* ==========================================================================
Base styles: opinionated defaults
========================================================================== */
html,
button,
input,
select,
textarea {
color: #222;
}
body {
font-size: 1em;
line-height: 1.4;
}
/*
* Remove text-shadow in selection highlight: h5bp.com/i
* These selection declarations have to be separate.
* Customize the background color to match your design.
*/
::-moz-selection {
background: #606043;
color:#F5F3EF;
text-shadow: none;
}
::selection {
background: #606043;
color:#F5F3EF;
text-shadow: none;
}
/*
* A better looking default horizontal rule
*/
hr {
display: block;
height: 1px;
border: 0;
border-top: 1px solid #ccc;
margin: 1em 0;
padding: 0;
}
/*
* Remove the gap between images and the bottom of their containers: h5bp.com/i/440
*/
img {
vertical-align: middle;
}
/*
* Remove default fieldset styles.
*/
fieldset {
border: 0;
margin: 0;
padding: 0;
}
/*
* Allow only vertical resizing of textareas.
*/
textarea {
resize: vertical;
}
/* ==========================================================================
Chrome Frame prompt
========================================================================== */
.chromeframe {
margin: 0.2em 0;
background: #ccc;
color: #000;
padding: 0.2em 0;
}
/* ==========================================================================
Author's custom styles
========================================================================== */
a {
color:#4a5c50;
text-decoration:underline;
}
a:hover,
a:focus {
color:#606043;
text-decoration:none;
}
h4 {
margin:1em 0 0.4em;
font-family:'TradeGothicNextW01-Bold 693232',sans-serif;
font-weight:normal;
font-size:24px;
}
p {
margin:0 0 0.6em;
}
body {
background:#F5F3EF;
font-family:'Trade Gothic Next W01',sans-serif;
color:#59595b;
}
.wrapper {
width:1050px;
margin:30px auto;
}
h1 {
color:#59595b;
font-size:65px;
margin:0 0 15px;
line-height:1em;
font-family:'TradeGothicNextW01-BdCm',sans-serif;
background-image:url(http://images.richardwestenra.com/rasmussen/title.png);
width:661px;
height:41px;
}
header h2 {
font-family:'TradeGothicNextW01-Bold 693232',sans-serif;
margin:0 0 20px;
font-size:1.55em;
font-weight:normal;
}
a.major {
text-decoration:none;
}
a.major:hover,
a.major:focus {
color:#9d3d38;
}
#select {
position:relative;
z-index:2;
}
#navToggle {
border-top:1px solid #d6d5c8;
border-bottom:1px solid #d6d5c8;
padding:4px 0;
color:#495b4d;
display:inline-block;
outline:none;
font-size:20px;
font-family:'TradeGothicNextW01-Bold 693232',sans-serif;
position:relative;
z-index:1;
text-decoration:none;
}
/*#navToggle.active {
border-bottom:none;
padding:4px 0 0;
}*/
#navToggle:hover {
color:#111;
}
#navToggle.showCats {
display:block;
}
#navToggle span {
display:block;
background:#bac2a5;
text-transform:uppercase;
text-decoration:nne;
padding:7px 50px 7px 25px;
}
#navToggle.showCats span {
text-transform:none;
display:block;
}
#navToggle span::after {
background:url(http://images.richardwestenra.com/rasmussen/arrows.png) no-repeat 0 0;
content:'';
display:block;
width:15px;
height:15px;
position:absolute;
right:20px;
top:20px;
}
#navToggle.active span::after {
background-position: 0 -68px;
}
#navListContainer {
background:#bac2a5;
position:relative;
z-index:3;
top:-5px;
display:none;
}
#navListContainer::after {
border-bottom:1px solid #d6d5c8;
position:relative;
content:'';
width:100%;
height:3px;
background:#F5F3EF;
bottom:-3px;
display:block;
}
#navList {
margin:0;
padding:13px 25px 5px;
-moz-column-count:2;
-moz-column-gap:40px;
-webkit-column-count:2;
-webkit-column-gap:40px;
column-count:2;
column-gap:40px;
}
.nl {
list-style:none;
margin-bottom:5px;
}
.nl a {
outline:none;
color:#403f44;
background:url(http://images.richardwestenra.com/rasmussen/nl.png) no-repeat 0 3px;
padding-left:30px;
display:inline-block;
text-decoration:none;
}
.nl a:hover {
color:#606043;
}
.nl a.a {
background-position:0 -61px;
}
#navButtons {
clear:both;
text-align:right;
padding:0 20px 15px;
font-weight:bold;
}
#navButtons a{
outline:none;
display:inline-block;
padding-left:19px;
}
#resetNav {
background:url(http://images.richardwestenra.com/rasmussen/clear.png) no-repeat 0 6px;
margin-right:20px;
}
#doneNav {
background:url(http://images.richardwestenra.com/rasmussen/arrows.png) no-repeat 0 -62px;
}
#quadrantContainer {
height:35px;
padding-top:10px;
}
#quadrant {
padding:2px 10px 3px;
color:rgba(0,0,0,0.6);
background:#dce1e0;
visibility:hidden;
position: relative;
z-index:3;
}
#quadrant.annotationsOn {
visibility:visible;
}
#quadrant h5,
#quadrant p {
margin:0;
font-size:15px;
display:inline-block;
font-weight:normal;
}
#quadrant h5 {
font-family:'TradeGothicNextW01-Bold 693229',sans-serif;
}
#annotations,
#zoomReset {
line-height:1em;
position:absolute;
top:-30px;
right:120px;
z-index:1;
font-size:13px;
line-height:18px;
height:18px;
outline:none;
}
#annotations svg {
margin:0 3px 0 0;
position:relative;
top:2px;
}
#annotations svg polygon {
fill:#841414;
}
#annotations.on svg polygon {
fill:#6d7021;
}
#zoomReset {
right:0;
padding-left:19px;
background:url(http://images.richardwestenra.com/rasmussen/reset.png) 0 2px no-repeat;
}
#zoomReset:hover {
background-position:0 -32px;
}
#chartContainer {
position:relative;
clear:both;
}
#tooltip {
position:absolute;
top:1px;
right:0;
padding:15px 20px;
width:30%;
background:rgba(254,253,245,0.8);
color:#616143;
height:418px;
z-index:1;
text-shadow:0 -1px 1px rgba(255,255,255,0.6);
-moz-box-shadow:1px 0 0 rgba(0,0,0,0.02) inset;
-webkit-box-shadow:1px 0 0 rgba(0,0,0,0.05) inset;
-o-box-shadow:1px 0 0 rgba(0,0,0,0.02) inset;
box-shadow:1px 0 0 rgba(0,0,0,0.05) inset;
}
#tooltip.leftPos {
left:60px;
}
#name {
font-size:20px;
margin:0 0 5px;
line-height:1em;
font-family:'TradeGothicNextW01-Bold 693229',sans-serif;
}
#desc {
font-size:12px;
margin:0 0 10px;
}
#stats {
margin:0;
list-style:none;
padding:0;
}
#stats li {
margin-bottom:3px;
}
#stats span {
display:block;
}
.value {
border-bottom:1px solid #888;
font-size:24px;
padding-right:10px;
font-family:'TradeGothicNextW01-BdCm',sans-serif;
}
.high .value {border-bottom-color:#9d3d38;}
.medium .value {border-bottom-color:#ca7b43;}
.low .value {border-bottom-color:#f9b743;}
.negative .value {border-bottom-color:#9bd6d7;}
.inactive .value {border-bottom-color:#aaa;}
.key {
font-weight:normal;
font-size:13px;
}
#chart {
height:500px;
}
svg {
font-family:'Trade Gothic Next W01',sans-serif;
/*background:rgba(255,255,255,0.3);
border:1px solid rgba(255,255,255,0.6);*/
position:relative;
}
path {
stroke:red;
}
rect {
fill: transparent;
shape-rendering: crispEdges;
}
.axis {
}
.axis path,
.axis line {
fill: none;
stroke: rgba(0,0,0,0.1);
shape-rendering: crispEdges;
}
.axis text {
font-size: 13px;
fill: #666;
}
.objects {
cursor:move;
}
/*.objects:hover .lineMed {
stroke:red;
stroke-dasharray:5,5;
stroke-width:3px;
}*/
.axisLine {
shape-rendering: crispEdges;
stroke:rgba(0,0,0,0.2);
stroke-width:2px;
fill:none;
}
.annotationsOn .medianLine {
shape-rendering: crispEdges;
stroke:rgba(1,71,87,0.4);
stroke-width:2px;
stroke-dasharray:10,7;
fill:none;
}
.annotationsOn .med {
-moz-transition: fill linear 0.2s;
-webkit-transition: fill linear 0.2s;
-o-transition: fill linear 0.2s;
transition: fill linear 0.2s;
}
.annotationsOn .med:hover {
fill:rgba(1,71,87,0.1);
}
polygon {
-moz-transition:fill linear 0.5s;
-webkit-transition:fill linear 0.5s;
-o-transition:fill linear 0.5s;
transition:fill linear 0.5s;
cursor:default;
}
.high {
fill:#9d3d38;
color:#9d3d38;
}
.medium {
fill:#ca7b43;
color:#ca7b43;
}
.low {
fill:#f9b743;
color:#e7a42d;
}
.negative {
fill:#9bd6d7;
color:#62b5b6;
}
.inactive {
fill:#aaa;
opacity:0.15;
}
.label {
font-size:14px;
fill:rgba(0,0,0,0.5);
shape-rendering:auto;
}
#zoom {
position:absolute;
top:30px;
right:20px;
z-index:5;
}
#zoom a {
background:#fff;
box-shadow:0 0 2px rgba(0,0,0,0.2);
border-radius:40px;
height:20px;
width:20px;
line-height:20px;
display:block;
text-align:center;
font-size:20px;
margin-bottom:5px;
text-decoration:none;
}
#legend {
margin:0;
padding:20px 0 25px;
list-style:none;
}
#legend li {
float:left;
padding:1px 30px 2px 0;
font-size:13px;
}
/*#legend .high {background:#9d3d38;}
#legend .medium {background:#ca7b43;}
#legend .low {background:#f9b743;}
#legend .negative {background:#9bd6d7;}*/
#legend li svg {
margin:0 3px 0 0;
position:relative;
top:4px;
}
#legend .inactive {
opacity:0.4;
}
#moreInfo {
background:#bac2a5;
padding:10px 20px;
border:3px solid rgba(0,0,0,0.05);
border-width:3px 0;
}
#moreInfo h4 {
margin:0;
color:#495b4d;
}
#moreInfo p {
margin:5px 0 6px;
}
#sources {
padding-bottom:20px;
}
#sources p {
font-size:14px;
}
/* ==========================================================================
Fonts list: for reference only. Switch from first list to second on publish:
========================================================================== */
/*
localhost fonts-list {
font-family:'Trade Gothic Next W01'; - regular
font-family:'TradeGothicNextW01-Bold 693229'; - regular bold
font-family:'TradeGothicNextW01-Bold 693232'; - condensed bold
font-family:'TradeGothicNextW01-BdCm'; - compressed bold
font-family:'TradeGothicNextW01-Ligh 693250'; - light
}
rasmussen fonts-list {
font-family:"TradeGothicNextRegular";
font-family:"TradeGothicNextBold";
font-family:"TradeGothicNextCompressedBold";
font-family: "TradeGothicNextCondensedBold";
font-family:"TradeGothicNextBoldItalic";
font-family:"TradeGothicNextCondensed";
font-family:"TradeGothicNextHeavy";
font-family:"TradeGothicNextHeavyItalic";
font-family:"TradeGothicNextItalic";
font-family:"TradeGothicNextLight";
font-family:"TradeGothicNextLightItalic";
font-family:"TradeGothicNextCompressed";
font-family:"TradeGothicNextCompressedHeavy";
font-family:"TradeGothicNextCondensedBoldItalic";
font-family:"TradeGothicNextCondensedHeavy";
font-family:"TradeGothicNextCondensedHeavyItalic";
font-family:"TradeGothicNextCondensedItalic";
}
*/
/* ==========================================================================
Helper classes
========================================================================== */
/*
* Image replacement
*/
.ir {
background-color: transparent;
border: 0;
overflow: hidden;
/* IE 6/7 fallback */
*text-indent: -9999px;
}
.ir:before {
content: "";
display: block;
width: 0;
height: 150%;
}
/*
* Hide from both screenreaders and browsers: h5bp.com/u
*/
.hidden {
display: none !important;
visibility: hidden;
}
/*
* Hide only visually, but have it available for screenreaders: h5bp.com/v
*/
.visuallyhidden {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
/*
* Extends the .visuallyhidden class to allow the element to be focusable
* when navigated to via the keyboard: h5bp.com/p
*/
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
clip: auto;
height: auto;
margin: 0;
overflow: visible;
position: static;
width: auto;
}
/*
* Hide visually and from screenreaders, but maintain layout
*/
.invisible {
visibility: hidden;
}
/*
* Clearfix: contain floats
*
* For modern browsers
* 1. The space content is one way to avoid an Opera bug when the
* `contenteditable` attribute is included anywhere else in the document.
* Otherwise it causes space to appear at the top and bottom of elements
* that receive the `clearfix` class.
* 2. The use of `table` rather than `block` is only necessary if using
* `:before` to contain the top-margins of child elements.
*/
.clearfix:before,
.clearfix:after {
content: " "; /* 1 */
display: table; /* 2 */
}
.clearfix:after {
clear: both;
}
/*
* For IE 6/7 only
* Include this rule to trigger hasLayout and contain floats.
*/
.clearfix {
*zoom: 1;
}
/* ==========================================================================
EXAMPLE Media Queries for Responsive Design.
Theses examples override the primary ('mobile first') styles.
Modify as content requires.
========================================================================== */
@media only screen and (min-width: 35em) {
/* Style adjustments for viewports that meet the condition */
}
@media print,
(-o-min-device-pixel-ratio: 5/4),
(-webkit-min-device-pixel-ratio: 1.25),
(min-resolution: 120dpi) {
/* Style adjustments for high resolution devices */
}
/* ==========================================================================
Print styles.
Inlined to avoid required HTTP connection: h5bp.com/r
========================================================================== */
@media print {
* {
background: transparent !important;
color: #000 !important; /* Black prints faster: h5bp.com/s */
box-shadow: none !important;
text-shadow: none !important;
}
a,
a:visited {
text-decoration: underline;
}
a[href]:after {
content: " (" attr(href) ")";
}
abbr[title]:after {
content: " (" attr(title) ")";
}
/*
* Don't show links for images, or javascript/internal links
*/
.ir a:after,
a[href^="javascript:"]:after,
a[href^="#"]:after {
content: "";
}
pre,
blockquote {
border: 1px solid #999;
page-break-inside: avoid;
}
thead {
display: table-header-group; /* h5bp.com/t */
}
tr,
img {
page-break-inside: avoid;
}
img {
max-width: 100% !important;
}
@page {
margin: 0.5cm;
}
p,
h2,
h3 {
orphans: 3;
widows: 3;
}
h2,
h3 {
page-break-after: avoid;
}
}
// main d3.js chart generator function:
var scatter = function(){
var categories = [];
d3.csv("js/AllOccupations.csv", function(data) {
var margin = {top: 0, right: 0, bottom: 50, left: 60},
width = 1050 - margin.left - margin.right,
height = 500 - margin.top - margin.bottom;
var xMax = d3.max(data, function(d) { return +d.TotalEmployed2011; }) * 1.05,
xMin = 0,
yMax = d3.max(data, function(d) { return +d.MedianSalary2011; }) * 1.05,
yMin = 0;
//Define scales
var x = d3.scale.linear()
.domain([xMin, xMax])
.range([0, width]);
var y = d3.scale.linear()
.domain([yMin, yMax])
.range([height, 0]);
// Colour classes array:
var classes = ['high','medium','low','negative'];
// Use in conjunction with classes array:
var colourScale = function(val,array,active){
if (val > 30) {
return array[0];
} else if (val > 10) {
return array[1];
} else if (val > 0) {
return array[2];
} else {
return array[3];
}
};
//Define X axis
var xAxis = d3.svg.axis()
.scale(x)
.orient("bottom")
.tickSize(-height)
.tickFormat(d3.format("s"));
//Define Y axis
var yAxis = d3.svg.axis()
.scale(y)
.orient("left")
.ticks(5)
.tickSize(-width)
.tickFormat(d3.format("s"));
// Define medians. There must be a way to do this with d3.js but I can't figure it out.
var xMed = median(_.map(data,function(d){ return d.TotalEmployed2011;}));
var yMed = median(_.map(data,function(d){ return d.MedianSalary2011;}));
var svg = d3.select("#chart").append("svg")
.attr("id", "scatter")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")")
.call(d3.behavior.zoom().x(x).y(y).scaleExtent([1, 13]).on("zoom", zoom));
var tooltip = d3.select("#tooltip");
var quadrant = d3.select("#quadrant");
// Create background
svg.append("rect")
.attr("width", width)
.attr("height", height);
//Create axes
svg.append("g")
.attr("class", "x axis")
.attr("transform", "translate(0," + height + ")")
.call(xAxis);
svg.append("g")
.attr("class", "y axis")
.call(yAxis);
var objects = svg.append("svg")
.attr("class", "objects")
.attr("width", width)
.attr("height", height);
//Create main 0,0 axis lines:
objects.append("svg:line")
.attr("class", "axisLine hAxisLine")
.attr("x1",0)
.attr("y1",0)
.attr("x2",width)
.attr("y2",0)
.attr("transform", "translate(0," + (y(0)) + ")");
objects.append("svg:line")
.attr("class", "axisLine vAxisLine")
.attr("x1",0)
.attr("y1",0)
.attr("x2",0)
.attr("y2",height);
//Create median lines:
objects.append("svg:line")
.attr("class", "medianLine hMedianLine")
.attr("x1",0)
.attr("y1",0)
.attr("x2",width)
.attr("y2",0)
.attr("transform", "translate(0," + (y(yMed)) + ")");
objects.append("svg:line")
.attr("class", "medianLine vMedianLine")
.attr("x1",0)
.attr("y1",0)
.attr("x2",0)
.attr("y2",height)
.attr("transform", "translate(" + (x(xMed)) + ",0)");
//Create median boxes:
objects.append("rect")
.attr("class", "tlMed med")
.attr("width", x(xMed))
.attr("height", y(yMed))
.on("mouseover", function() {
//Update the quadrant description:
quadrant.select("h5").text("Elite Players");
quadrant.select("p").text("Occupations in this quadrant pay the most, but employ very few: Competition can be tough.");
quadrant.classed("hidden", false);
})
.on("mouseout", function() {
//Update the quadrant description:
quadrant.classed("hidden", true);
quadrant.select("h5").text("");
quadrant.select("p").text("");
});
objects.append("rect")
.attr("class", "trMed med")
.attr("width", width-x(xMed))
.attr("height", y(yMed))
.attr("transform", "translate(" + (x(xMed)) + ",0)")
.on("mouseover", function() {
//Update the quadrant description:
quadrant.select("h5").text("Top Performers");
quadrant.select("p").text("Occupations in this quadrant employ lots of people and offer above-average salaries: Seriously worth considering.");
quadrant.classed("hidden", false);
})
.on("mouseout", function() {
//Update the quadrant description:
quadrant.classed("hidden", true);
quadrant.select("h5").text("");
quadrant.select("p").text("");
});
objects.append("rect")
.attr("class", "brMed med")
.attr("width", width-x(xMed))
.attr("height", height-y(yMed))
.attr("transform", "translate(" + (x(xMed)) + "," + (y(yMed)) + ")")
.on("mouseover", function() {
//Update the quadrant description:
quadrant.select("h5").text("A Good Bet");
quadrant.select("p").text("Occupations in this category may not pay the most, but there are lots of opportunities.");
quadrant.classed("hidden", false);
})
.on("mouseout", function() {
//Update the quadrant description:
quadrant.classed("hidden", true);
quadrant.select("h5").text("");
quadrant.select("p").text("");
});
objects.append("rect")
.attr("class", "blMed med")
.attr("width", x(xMed))
.attr("height", height-y(yMed))
.attr("transform", "translate(0," + (y(yMed)) + ")")
.on("mouseover", function() {
//Update the quadrant description:
quadrant.select("h5").text("A Matter of Taste");
quadrant.select("p").html("Occupations in this quadrant may not pay the most or employ the most people, but if it&rsquo;s your passion then go for it!");
quadrant.classed("hidden", false);
})
.on("mouseout", function() {
//Update the quadrant description:
quadrant.classed("hidden", true);
quadrant.select("h5").text("");
quadrant.select("p").text("");
});
//Create hexagon points
objects.selectAll("polygon")
.data(data)
.enter()
.append("polygon")
.attr("class", function(d){
return colourScale(d.ProjectedGrowth2020,classes);
})
.attr("transform", function(d) {
return "translate("+x(d.TotalEmployed2011)+","+y(d.MedianSalary2011)+")";
})
.attr('points','4.569,2.637 0,5.276 -4.569,2.637 -4.569,-2.637 0,-5.276 4.569,-2.637')
.attr("opacity","0.8")
.on("mouseover", function(d) {
//Update the tooltip value
tooltip.select("#name").text(d.OccupationTitle);
tooltip.select("#desc").text(d.Category);
tooltip.select("#totEmp").text(numberWithCommas(d.TotalEmployed2011));
tooltip.select("#medSal").text("$"+numberWithCommas(d.MedianSalary2011));
tooltip.select("#projGrowth").text(d.ProjectedGrowth2020+'%');
tooltip.select("#education").text(d.Education);
tooltip.select("#experience").text(d.Experience);
// Determine whether polygon is in left/right side of screen, and alter tooltip location accordingly:
if ($(this).attr("transform").substr(10,10)*1 > width/2) tooltip.classed("leftPos", true);
else tooltip.classed("leftPos", false);
//Show the tooltip
if(($(this).attr('class') != 'inactive'))
tooltip.classed("hidden", false);
})
.on("mouseout", function() {
//Hide the tooltip
tooltip.classed("hidden", true);
});
// Create X Axis label
svg.append("text")
.attr("class", "x label")
.attr("text-anchor", "end")
.attr("x", width)
.attr("y", height + margin.bottom - 10)
.text("Total number of people employed in 2011");
// Create Y Axis label
svg.append("text")
.attr("class", "y label")
.attr("text-anchor", "end")
.attr("y", -margin.left)
.attr("x", 0)
.attr("dy", ".75em")
.attr("transform", "rotate(-90)")
.text("Median annual salary in 2011 ($)");
//If val is negative, return zero:
function noNeg(val){
return val = val>0 ? val : 0;
}
// Zoom/pan behaviour:
function zoom() {
svg.select(".x.axis").call(xAxis);
svg.select(".y.axis").call(yAxis);
objects.select(".hAxisLine").attr("transform", "translate(0,"+y(0)+")");
objects.select(".vAxisLine").attr("transform", "translate("+x(0)+",0)");
objects.select(".hMedianLine").attr("transform", "translate(0,"+y(yMed)+")");
objects.select(".vMedianLine").attr("transform", "translate("+x(xMed)+",0)");
objects.select(".tlMed")
.attr("width", noNeg(x(xMed)))
.attr("height", noNeg(y(yMed)));
objects.select(".trMed")
.attr("width", noNeg(width-x(xMed)))
.attr("height", noNeg(y(yMed)))
.attr("transform", "translate(" + (x(xMed)) + ",0)");
objects.select(".brMed")
.attr("width", noNeg(width-x(xMed)))
.attr("height", noNeg(height-y(yMed)))
.attr("transform", "translate(" + (x(xMed)) + "," + (y(yMed)) + ")");
objects.select(".blMed")
.attr("width", noNeg(x(xMed)))
.attr("height", noNeg(height-y(yMed)))
.attr("transform", "translate(0," + (y(yMed)) + ")");
svg.selectAll("polygon")
.attr("transform", function(d) {
return "translate("+x(d.TotalEmployed2011)+","+y(d.MedianSalary2011)+")";
});
};
// Filter function: Sets polygons in some categories to inactive using the category selecter:
function filter(){
svg.selectAll("polygon")
.attr("class", function(d){
if(categories.length>0 && !_.contains(categories, d.Category)) {
$.each(categories,function(i){
$('#navToggle span').append(categories[i]+' ');
});
return "inactive";
} else {
return colourScale(d.ProjectedGrowth2020,classes);
}
});
};
// jQuery Nav List events:
(function(){
// cache jQuery element calls:
var nt = $('#navToggle'),
nla = $('.nl a'),
rn = $('#resetNav');
// Show/hide nav list when button is clicked:
nt.off('click').on('click',function(e){
e.preventDefault();
$(this).toggleClass('active');
if($(this).hasClass('active')){
$(this).next('#navListContainer').slideDown();
} else {
$(this).next('#navListContainer').slideUp();
}
});
// Filter points by category:
nla.off('click').on('click',function(e){
e.preventDefault();
$(this).toggleClass('a');
if($(this).hasClass('a')){
categories.push($(this).text());
} else {
categories = _.without(categories, $(this).text());
}
filter();
if(categories.length>0) {
var cats = '',
showedNames = 0;
$.each(categories,function(i){
//var added = cats += categories[i]+'; ';
if((cats + categories[i]+'; ').length < 130) {
var gap = (categories.length>1 && i<categories.length-1) ? '; ' : '';
showedNames++;
cats += categories[i]+gap;
} else {
return false;
}
});
if((categories.length - showedNames)>1)
cats = cats.substring(0,cats.length-2)+' + '+(categories.length - showedNames)+' other categories';
else if ((categories.length - showedNames)>0)
cats = cats.substring(0,cats.length-2)+' + 1 other category';
nt.addClass('showCats').find('span').html(cats);
} else {
nt.removeClass('showCats').find('span').html('Select the categories you are interested in:');
};
});
// Reset categories:
rn.off('click').on('click',function(e){
e.preventDefault();
nla.removeClass('a');
nt.removeClass('showCats').find('span').html('Select the categories you are interested in:');
categories = [];
filter();
});
// Reset categories AND close categories menu:
$('#doneNav').off('click').on('click',function(e){
e.preventDefault();
nla.removeClass('a');
nt.removeClass('active showCats').find('span').html('Select the categories you are interested in:');
categories = [];
filter();
$('#navListContainer').slideUp();
});
//Annotations toggle button:
$('#annotations').off('click').on('click',function(e){
e.preventDefault();
var txt = $(this).hasClass('on') ? 'off' : 'on';
$(this).toggleClass('on').find('span').text(txt);
$('#chart, #quadrant').toggleClass('annotationsOn');
});
})();
// Generate Nav List from data:
//navListGen(data);
// Testing a technique to add GMaps-style zoom buttons. Not working yet:
/*
function wheel(event) {
// console.log(event.detail)
alert(event.detail);
}
var view;
window.onload = function() {
view = document.getElementById('view');
view.addEventListener('DOMMouseScroll', wheel, false);
}
window.ChromeWheel = function() {
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent(
'DOMMouseScroll', // in DOMString typeArg,
true, // in boolean canBubbleArg,
true, // in boolean cancelableArg,
window,// in views::AbstractView viewArg,
120, // in long detailArg,
0, // in long screenXArg,
0, // in long screenYArg,
0, // in long clientXArg,
0, // in long clientYArg,
0, // in boolean ctrlKeyArg,
0, // in boolean altKeyArg,
0, // in boolean shiftKeyArg,
0, // in boolean metaKeyArg,
0, // in unsigned short buttonArg,
null // in EventTarget relatedTargetArg
);
view.dispatchEvent(evt);
}
$('#zoom a').on('click',function(e){
e.preventDefault();
zoom();
//console.log(zoom);
});
//*/
});
}
// Generate the list of categories. Only needs to be done once, then copy-paste the info from Firebug into index.html, because the static HTML copy loads faster and places less strain on the DOM than an auto-generated version.
/*
function navListGen(data){
var foo = _.uniq(data,function(d){
return d.Category;
}).map(function(d){
return d.Category;
}).sort();;
var nl = '';
_.each(foo,function(d,i){
nl+= '<li class="nl"><a href="'+i+'">'+d+'</a></li>';
});
$('#navList').html(nl);
};
//*/
// Get the median of an array.
function median(values) {
values.sort( function(a,b) {return a - b;} );
var half = Math.floor(values.length/2);
if(values.length % 2)
return values[half];
else
return (parseFloat(values[half-1]) + parseFloat(values[half])) / 2.0;
};
//Add 'thousands' commas to numbers, for extra prettiness:
function numberWithCommas(x) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment