[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

New approach to generating charts in PSPP ?

From: John Darrington
Subject: New approach to generating charts in PSPP ?
Date: Wed, 2 Aug 2017 19:45:17 +0200
User-agent: Mutt/1.5.23 (2014-03-12)

A number of users have been commenting for a while that PSPP's
charts are somewhat clunky.

Because of this, I've been looking for a while for graphing libraries
to help us.  There is of course gnuplot (which despite its name is not
GNU software), but that has some practical and some licensing issues.
Amoung others that I found is GseGrafix (which IS a GNU program).
This certainly doesn't have any licensing problems (it's GPLv3+). But
1. It needs gnome canvas which does not typically get installed on
modern GNU/Linux distros, and is incompatible with Gtk+3 anyway; and
2. It's not a library.

So I've forked it and replaced gnomeCanvas with cairo, and massaged it
a little to provide a callable API.  I've registered a project at and hacked the PSPP code to
use this library.

I'm attaching results of a simple graph with both the new an the old.

What do people think about replacing our existing charting code with

The advantages that I can see are:

 1. Less code in PSPP.

 2. Clean separation of the charting code.

 3. Better (in my opinion) graphics.

 4. 3D plots can be generated.

 5. If we can persuade GseGrafix upstream to accept our changes, then
    somebody else maintains it for us.

On the down side:

 1. GseGrafix currently lacks some types of chart (eg: BoxPlots,

 2. It's another library that users have to install.

What do people think?

Avoid eavesdropping.  Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See or any PGP keyserver for public key.

Attachment: new.png
Description: PNG image

Attachment: existing.png
Description: PNG image

Attachment: signature.asc
Description: Digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]