Our DNA is written in Swift


A simple to use, yet highly customizable Charting class.

Data is fed to it via delegate methods. The Chart supports endless scrolling, orientation changes, tap to show data labels. It currently has lines, bars next to each other and bars that are stacked on top of each other.

Bars or areas below/above lines can be custom-shaded. Line Points can also be custom-drawn.

Version 2 brings you the capability of displaying charts in a smaller window and zoom it to full screen whenever you want.

Price: 50 EUR (How many U.S. Dollars?)

Apps using this component:

  • BabyBubbles, runner up Appsfire App Awards 2009 in the Utility Category. (Video)

Links: Developer’s Forum, Cocoapedia

Parts Categories:


  1. I’m interested in your ChartView part but would like to know a few things first:

    – Is it still supported (say with iOS5)?
    – What types of touch interactions are available? (i.e. Can users select a period of the chart to zoom too, etc)
    – Will is support thousands of data points? We’re after a chart which supports around 30K data points (I realise this is a lot of data but its a fine detail chart).

  2. It’s still supported.
    You zoom in and out with pinching for the whole chart. Also you can enable interacting with individual data points.
    It supports any number of data points because it is using a delegate protocol and draws on a CATiledLayer.

  3. Just wondering whether this supports Storyboarding and ARC?

  4. Do you have any idea how long it will be until it is supported? In the middle of a project at the moment and thought I would save some time by grabbing a graphing component instead of writing one…

  5. You can use any non-ARC code in an ARC project. You just have to mark the files as not using ARC.

  6. Its possible to make it scrolling horizontal, so more data is loaded dinamically…,?
    Also need to change the x-axis grouping (from days to weeks, to months) when the zoom out reach a level.

  7. It is already scrolling horizontally and dynamically drawing the columns that become visible. You can group by any value you like, there are delegate methods to specify a grouping key and this causes the automatic grouping.

  8. Hi Drops

    Where does the data for the graphs come from ?

    Can it be via data entry on screen or is it hardcoded into the App ?

    Can the graphs be configured to the style you need – for example – Exponential ?


  9. There is a datasource protocol where you feed it the data it needs. Currently it is linear but could probably be easily adapted to exponential