Skip to content
📊 an explorable budget vizualization for New York state
JavaScript HTML CSS Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
css
data
fonts
images
js
lib
.gitignore
.nojekyll
CNAME
LICENSE.md
README.md
favicon.png
index.html

README.md

ny-budget

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.

Dependencies

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)

cleanup.py 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 cleanup.py script to generate the finished budget, budget_finished.csv:

python cleanup.py

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

To deploy, push the changes into the gh-pages branch:

git push origin master
git push origin master:gh-pages

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/cleanup.py.

####Configuration

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

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

Team

  • 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 info@datamade.us 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.

You can’t perform that action at this time.