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.
|