Giter Club home page Giter Club logo

nickel-hs's Introduction

nickel-hs

Generates an SVG chart displaying weekly financial expenses split into categories.

Image of chart generated by nickel

Building and usage

The simplest way is using stack, available in the repositories of many Linux distributions. You can build and run nickel in your shell with:

stack build
stack exec nickel < example-data

Input format

The input data is read from the standard input. Each expense item is stored in a line with the following fields separated by whitespace:

  • The minus sign character: -
  • The date in yyyy-mm-dd format
  • The expense amount
  • The category of the expense item. It can be enclosed by quotation marks to escape spaces.
  • Description -- currently unused. It can be enclosed by quotation marks to escape spaces. For an example see the example file.

Output format

The output file weekly.svg is placed in the current directory.

Each tick on the horizontal axis labeled with a month represents the week of the first day of that month. The bars show the total expenses, the lines show rolling averages for each week. The rolling averages are displayed until the previous week (based on the system time). The categories are ordered by the number of expense items descending.

nickel-hs's People

Contributors

vtan avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.