Showing posts with label OresmeKit. Show all posts
Showing posts with label OresmeKit. Show all posts

Thursday, April 03, 2014

Graphs: Improved Grid and labels

Lots of new stuff in OresmeKit, the graphing toolkit for GNUstep and Mac! As an Example, an advanced dashboard based on DataBasin that displays the system load of Salesforce.com. It is not generally available yet, but I hope it will be!

Grid-sizing is now selectable so it gets spaced in 1K or 1M intervals (depending on the data-range available), like it is used in both screenshots in this example.

 - (void)setYAxisGridSizing:(OKGridSizing)sizing;

Can take now: OKGridConstantSize, OKGridKiloMega

Also, one can decide to draw Just the label of the minimum and maximum value or a label for every grid:

- (void)setYAxisLabelStyle:(OKLabelStyle)style;

Can take:  OKNoLabels, OKMinMaxLabels, OKAllLabels

1000-unit Grid



To complement this kind of visualization, a new kind of Label formatting can be used. In the example above, the numbers are plain, 10.000 is written as such, in the example below, it is formatted as 10K, if we were using 10.000.000, it would me 10M

1000 - grid with K formatting

Monday, October 29, 2012

Pie Charts in OresmeKit

OresmeKit, GAP's charting framework for GNUstep and Cocoa, got its first rudimental Pie Chart implementation.

Data colors, background and edges are customizable already, as a real OKChart implementation. The dataset is represented as the set of each first element of the series, so that for each the color can be specified, being the series color.

Wednesday, September 28, 2011

OresmeKit: plotting two functions


OresmeKit now is capable of plotting two function each against the other in its Cartesian view.

I ported OresmeKit and its examples to the Mac without any major effort, as expected.

Thursday, September 08, 2011

Oresme, plotting for GNUstep

Parabola
I started creating OresmeKit, a plotting and charting framework for Objective-C, GNUstep (and Cocoa/Mac). I had the idea since quite some time, but finally started working on it. I know others had sketches on the subject too, but at the end one does need to start somewhere. The Kit will offer custom Views to be embedded inside your application to plot data. The goal is to have simple setup possible. Plotting is a complex art which can be tweaked quite a bit and which can lead to interesting mathematical computations, but let's start with something simple and easily usable, or the design will never go beyond the drawing board.
sinc(x)
The first component is a Cartesian plotting: two X and Y array need to be provided for abscissa and ordinata values. The view can be set to display different X/Y ranges, the Quadrant can be selected and a "centered" mode is available to automatically set the Origo in the center. The View live-resizes and the plot colors can be set. Currently there are no optimizations of any kind, but for simple graphs it works quite well, as the example application shows. Along with the Framework I develop and release also examples which serve the dual-purpose of testing the Kit and providing a starting point for other developers who want to use OresmeKit.

In the screenshots, the example application plotting a parabola  and the plot of the sinc(x) function.


Why OresmeKit? In honour of Nicolas Oresme the antique philosopher who thought about coordinates long before Cartesius. Because Cartesius was too predictable as a name and too tied to X-Y plotting, while OresmeKit shall support more chart types in the future. What's next? I plan on adding some more features to the Cartesian drawing view first. Then typical charting views: bars, lines, pies... At some point some optimization and computation will be available, since otherwise plotting of large datasets will be unbearably slow.

OresmeKit and its examples are available in GAP and are yet unreleased, check the CVS repository.