Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


An explorable budget visualization for the state of New York

screen shot 2015-05-07 at 3 22 46 pm

This is based on Look at Cook by Derek Eder and Nick Rougeux at Open City, and can be easily re-deployed to visualize other budgets.


How to update this New York visualization

1. Update Data

The csv inputs that may need to be updated going forward are:

  • the budget numbers (data/budget_raw.csv)
  • the budget descriptions (data/descriptions.csv) is a python script that requires pandas and xlrd. You can install them by running:

pip install -r requirements.txt

When updating either of the above csvs, run the script to generate the finished budget, budget_finished.csv:


2. Update settings

The settings in js/settings.js that may need to be updated going forward are:

  • endYear (for example, if the last year in the budget is '2015-16', set the end year to 2016)
  • activeYear
  • projectionStartYear (for example, if the first year of estimates is '2015-16', set this to 2016)
  • plotBandBuffer (this determines the # months of padding for the beginning of the estimates plot band. if there are multiple years of estimates, set a small buffer like -1, otherwise set it to a larger negative number, e.g. -7, for more space)
  • inflation_idx
  • benchmark

3. Preview

To preview changes locally:

python -m SimpleHTTPServer

4. Deploy

The site is hosted on Netlify, so deploy previews are available if you make a pull request.

To deploy to production, push the changes into the deploy branch:

git push origin master
git push origin master:deploy

How to adapt this to another budget

This code can be customized to visualize another data set.

####Data Prepatation The budget data must be a csv that adheres to a fixed format in order for the app to process it properly. Budget column headers include: Fund ID, Fund, Department ID, Department, Short Title, Link to Website, Department Description, and Control Officer. Values for estimates and actuals must be broken down into a separate column for each year.

See examples of prepped data:

If you need to do any preparation on your raw data to get it into the finished format (e.g. formatting dollar amounts, removing whitespace, adding descriptions), do it in a script so that it will be repeatable in the future. See an example script in data/


  1. Put your finished budget csv file in the data/ folder

  2. Next, set the configuration variables in js/settings.js


  • Cathy Deng, DataMade
  • Derek Eder, DataMade

Errors / bugs

If something is not behaving intuitively, it is a bug, and should be reported as an issue

You can also email or tweet @DataMadeCo.

Note on patches/pull requests

  • Fork the project.
  • Make your feature addition or bug fix.
  • Commit and send me a pull request. Bonus points for topic branches.

Copyright and Attribution

Copyright (c) 2016 DataMade. Released under the MIT License.


📊 an explorable budget vizualization for New York state







No releases published


No packages published