2013-07-26 20:09:59 +12:00

110 lines
2.7 KiB
Plaintext

FEATURES
* square plot (tie x and y shapes) (lockAspectRatio)
* tick values
* ticks selectable inside/outside
* better tick value formatting and selection algorithm
-> add (tickpos),(labelpos,labelvalue)
* logarithmic minor tick positions
* columns
* adjustable elements ((x,y) adjustments/offsets)
* settable plot sizes (so we can have same plot areas with only bottom one with x axis)
* Simple interface: nice bars, histograms (see next line)
* 3d plots
* recycle Cairo context between invocations of renderFigure
* ticks separate x axis groups for bar plots (rather than centre)
* alternating shaded/transparent by major tick
BUGS
* Log range crashing
* no ticks for greyscale?
* scale (log/linear) attached to range?
* logarithmic tick label width adjustment?
* should scale be in setRange*?
* draw axes and ticks separately so we get nice joins (refactor)
actually draw tick labels separately, but not an issue any more
* tick lengths too small for large axis line width?
* export Data.Colour.Names
* use error series for min/max for ranges
REFACTOR
* using padding functions not raw data structure: pdFoo, pdBar
* directly to impulse, step, area, not via line (performance)
* refactor Legend (LegendLocation)
* replace with utility functions common code in Render/Data.hs
* check Render/Data.hs, Render/Axis.hs
* rationalise passing of xscale/yscale
* re-refactor renderSeries for slight optimisation
* re-factor Axis.hs tickPositions and renderAxisTicks
* MVar data series for continuous update
* autorefresh (plot-gtk?)
COMPLETE
| * area
| * impulses
| * steps
| * matrix (greyscale)
| * legend
| * pad side opposite of axis label only if there is no label on that side
| * simple interface
| * option to use upper ranges
| * fix linewidths (as per cairo FAQ) by adding 0.5 to rectangle start / line (borders/axes)
| * expand Simple interface: xlabel, ylabel, etc...
| * bars
| * histogram (variable width bars)
| * Graphics.Plot replacement
| * log/semilog plots
| * candlestick
| * axis and tick joins are ugly
| * annotations
| * move monotone increasing check to creation of dataseries
| * formattable grid lines
| * cairo in device coordinates not user to avoid tiny linewidths
| * getOrdData only returns lower series in MinMax series
| * Candle and Whisker plots use bad sizes (remove xscale/yscale)
| * fix error bars for non-points (esp. bars, hist)
| * 0 in log plots should be ignored
| * candle and whisker use bad width for candle part
| * text labels for major ticks
| * fixed rendering TickValues
| * log tick label values
| * bars/columns adjust for multiple data series (data creation)
| * configurable plot and figure background colour