| Previous Next | Contents |
Updates in this build
Formatters numeric and text pictures both now use the ~ to suppress the matching digit in the input.
Dates date formatter accepts newlines (dodges the limitation in the .Net ToString method) and also we tolerate dates as vectors of 19530321 numbers (YYYYMMDD as integers) as well as OLE dates. Many timeseries still use this style for the date column.
Wrapping text YLabels and YCaption (Atend style) now wrap automatically into the available margin width if no formatter is given. The only other auto-wraps are headings, subheads, footnotes and the atend Xcaption where the width is also known.
YLabels moved a little right when set between tick marks which improves the visual style of horizontal barcharts and also allows a touch more wrapping width.
Headings were actually centering between the Y-axis and the right edge of the frame. They should centre over the chart which normally looks close enough that the discrepancy was never spotted. Until now. Note that headings wrap across the entire page (less a small gutter) but the subhead wraps within the axes as it may be dropped down within the chart area.
Value tags can now be angled (default rotation at 34deg) and left-aligned at the data point (or running from the centre of the top of the bar). Multi-line tags are stacked upwards to sit nicely above the data here.
Key frame keys with an explicit frame and style boxed now draw around the text, which is wrapped into the width available if required. Autofit works as before, but may be constrained differently, as the wrapped text may force more vertical space to be used. You can still use the key format picture to set a smaller width.
Value tags tags with style inside on horizontal barcharts were misplaced. This error was introduced when porting from GraplNet to SharpPlot and only applies to tags on bars with negative values. Fixed.
HBars horizontal barcharts with ALL -ve values and a free X-Axis extended the bar to the zero-point rather than the rightmost tickmark. Fixed.
Autoranging we are careful not to generate half-integer ticks for integer data that spans a small range (say 3 2 2 4 3) this now extends to powers of 10 in the obvious way.
BoxPlot reworked to match the style of Grapl. Rather than setting up the criteria as categories with SplitBy we now pass them in directly as arguments. Much simpler to see what is going on and should be a lot easier to code. Several examples changed to match and a lot more tests added.
Tickmarks both axes tidied up at the ends for the exploded case or any other example when there is not a crossing axis or overhanging axis line available. In all these cases the first or last tickmark moves inward by half the line-weight to make a clean join.
YCaptions were wrapped when atend using the margin width, even when you specified an explicit Y-axis position. This case now looks at the nearer edge and allows twice this distance as the wrapping width.
Captions, labels, headings and footers all have a NoWrap style added so that you can turn off automatic wrapping if it becomes a nuisance. Typically whan you have already wrapped the text before passing it to SharpPlot.
Labels on the top axis of a pair of Duplicate Xaxes were not thinned to match the labels on the lower axis. Also the tickmarks could get stuck to the lower axis for horizontal barcharts with duplicate Xaxes. Fixed.
HBars barcharts which could go either left or right from a centre axis got badly confused when the user had given text value labels. Now the missing value boolean is passed down along with ALL the bars (one each for left and right) so everything is processed in synch.
Baseline was not being applied consistently on both chart orientations. Also the interaction with intercept axes was not well-defined. Now the rule is:
Duration formatting X or Y style Duration will trigger base-60 formatting. No assumptions are made about the units, except that base 60 is used for magnitudes and : as the separator. Use ValueTagstyle=Duration to have the same formatting applied to value labels.
Piecharts with VML extrusion the sorting for Farthest first failed when the last segment wrapped over from 5:00 to the end. Fixed. Also JavaScript handlers set for specific segments were not re-targetted correctly (simple vectors of hints etc were OK). Fixed.
Multi-threading in some cases it was possible for two instances of SharpPlot to interfere when running on the same process in different threads. This has now been fixed.
|
© Causeway Graphical Systems Ltd 1996-2005 |