 07 Nov, 2016 2 commits


Jason Rhinelander authored
When making the graph small (e.g. to be able to fit it in the paper) the endpoint tick values overlap the regular tick values, so just suppress them instead (the nonround number was a bit ugly anyway).

Jason Rhinelander authored

 03 Feb, 2016 1 commit


Jason Rhinelander authored
Old behaviour: ============== creativityseries previously removed nonfinite values, and sorted the rest, producing something like: t,1st,2nd,3rd,... 2,10,11,12 3,3 (where t=0 and t=1 have no finite values, t=3 has only one nonfinite, etc.). This discards any association with the files they come from, however, which means any sort of sourcebased confidence exclusion is impossible. creativityseriesquantiles then used these presorted values to produce another .csv of quantile values. createivityseriesgraphs accepted either oneif the series file, it calculated quantiles on the fly; if the quantiles, it used the precalculated quantiles. New behaviour: ============== creativityseries now just generates something like: t,source1,source2,source3 0,nan,nan,nan 1,nan,nan,nan 1,12,10,11 2,nan,3,nan which creativityseriesquantiles and creativityseriesgraphs now understand: they does the nan trimming and sorting, then calculate quantiles. creativityseriesgraphs also gains an entirely new ability, with flag sourceconfidence (but only when given a creativityseries file): to select a confidence region by excluding (1x)% of source files, then plotting the minimum and maximum values remaining after removal of the most nonmedian values. This is done by calculating (p0.5)^2 for the inverse quantile p for each time period, then summing these up across time periods: the source files with the largest scores are excluded. (see help for the gory details).

 30 Jan, 2016 1 commit


Jason Rhinelander authored
1. Axis labels. The yaxis label can be rotated (default) or not, and is on the same side of the graph as the ticks (see next item). 2. yaxis ticks can be drawn on the right (left is still default). 3. Legend positioning is now much more capable, and simpler. The position is now a general position: either none, inside, or one of the four sides (for outside); two new variables control where it ends up on a scale relative to the graph size (either inner, for inside, or outer, for the outside ones). When on a side with stuff on it (ticks, label, whatever), the legend goes outside the stuff except for the top, where it goes between the title and the graph. 4. New method to update all the fonts at once with whatever is set in a new FontDescription. Another method takes a string to change just the font family (but not size, slant, weight, etc.)

 29 Jan, 2016 1 commit


Jason Rhinelander authored
Instead of fixed positioning, everything on the graph is now autospacing, including title, legend, tick labels. Last important thing remaining: add x/y axis labels. Other miscellaneous changes:  graph drawing happens when the page is completely finished, either by explicitly calling finishPage, or implicitly by calling newPage() (or destruction). Any lines or legends to be added to the page are stored until finishPage is called, which then lays everything out.  new RectangleStyle subclass of FillStyle that allows borders to be disabled on each of the 4 edges. Everything rectangular uses this now.  The legend can be positioned in any of the 9 box positions (top/middle/bottom by left/center/right) and the 3 rightofthegraph positions (outside top/middle/bottom), which legend_graph_space controlling how far the legend goes from the nearest edge. The borders don't overlap anymore, but you can set legend_graph_space to graph_style.border.thickness to get that behaviour back.  Legend box is now a white background, black border instead of a transparent box; this looks a little better, especially so for any of the interior legend positions.  autospaceTitle() method is gone: the title is now always autospaced.  Using Cairo::SaveGuard everywhere instead of ctx>save()/ctx>restore() pairs. The latter was more error prone. For now this is simply embedded in Series.hpp; hopefully the next version of Cairo will apply the upstreamsubmitted patch.

 27 Jan, 2016 1 commit


Jason Rhinelander authored
There are still a couple missing piecesaxis legends, in particularbut the basic graphing is there and looks great.

 20 Jan, 2016 1 commit


Jason Rhinelander authored

 15 Jan, 2016 1 commit


Jason Rhinelander authored
