~ubuntu-branches/ubuntu/trusty/ctioga/trusty

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
A nice TODO-list for ctioga.

Backends:

* implement a trim filter, to systematically remove a given (integral)
  ratio of points

* implement an automatic binner to create histograms.

CTioga:

* facilitate subplots/parallel plots/ figures

* implement a --zoom-inset option, that would basically act like an
  --inset but with a copy of all the objects pushed so far onto the
  parent (especially curves). This way, you would just need to add
  --zoom-inset [inset-specs] --xrange [some range] --yrange [some
  range] and that would be the end of it.

* have the autodetection of boundaries take into account the fact that
  some points are out-of bounds ? (quite more delicate than
  currently).

* implement a --x2/--y2 feature to switch from bottom X axis to top X
  axis (use subplots)
  -> this is partly done, but now many tweaks are necessary to get the
  labels, axes and the like perfectly right.

* implement a feature (find a good name) to plot all the datafiles
  given on the command-line (after expansion) each on its own plots,
  very much like the browse feature of SoaS.

* implement filled curves - that is curves which can be filled to 
  - y = 0 or a given level or the average values of x or to the
    bottom/top of the current plot.
  - possibly the same approach for the x axis although I believe it
    will be much less interesting.

* implement transparency for curves and fills - that would look
  sooooooo coooooool !!! (it is just necessary to play with
  stroke_transparency and  fill_transparency) -> done

* make it easier for users to change the look of the graphes,
  especially axes, boxes, ticks -- and write themes that do precisely
  this.

* use a private implementation of the option parser, as the current one
  lacks the necessary features to handle such a dreadful accumulation of
  options that ctioga provides -> not necessary, I believe. However, it would
  be nice to tweak the option error handling to convert a missing option into
  a potential option for the current backend -- or for the region if there
  is one. 

* implement a clever mechanism for handling the space actually taken by
  stuff outside the graphs, such as the various axis, so that the
  --frame-margin and the like should only be specified in pathological
  cases. It should base its information on the various Labels present in
  the graphes, which can provide useful (if not perfectly accurate)
  information about the size they potentially take. Based on this and
  the presence of legends, it should be reasonably easy to guess which
  size a plot will take. Probably Axis objects of the same kind should
  be used to report their own information -- essentially whether the
  ticks are inside of outside, their size, and the potential size of
  numeric labels (though this one surely won't be estimated properly).
  - now, what is necessary is a mechanism that would choose the plots
    boundaries given certain constraints, based on the reports by the
    axes and the inner_frame -- or an equivalent outer_frame -- function.
  

-> Currently, what needs to be done is to add support for legends, the
  control over axes and various things and tweak the results so they
  look nice. Probably, this will be time to write a series of
  'visual tests', much like in tioga, that could be a quick check of
  what did change and if I didn't break anything with a commit.

* Change the behaviour of legends - this is the most disgusting thing
  currently in ctioga. What needs to be done is:
  - have them reflect other attributes (transparency)
  - have them work in lines/columns as well (kinda tricky)
  - put them closer to the graph (that is: remove the padding of
    the graph when there is a legend on the side)
  - allow them to be framed
  - put them in the right place (where they used to be, aligned with
    the inner plot, not with the outer boundaries...)

* Implement a weaker version of themes, that could be called style
  (although that would definitely be confusing), and that could be
  used to tweak some parameters, or store cmdline arguments. Example:
  --with clouds could be

    ->  --marker auto --marker-scale 0.2 --line-style no

  Actually, simply expanding to several command-line options, that
  should be enough. Implement a --shortcuts option that would list all
  which are available.

  They could simply be called shortcuts...

* Create a gnuplot colorset that would provide default gnuplot colors.