Created
April 4, 2013 10:06
-
-
Save mwadams/5309248 to your computer and use it in GitHub Desktop.
Features for Endjin's charting PoC
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Endjin's 2D Charting Tool | |
Summary of features as of 19/11/2012 | |
==================================== | |
Supported platforms: | |
WinRT, WPF, Silverlight 5, Windows Phone 8: Identical XAML, identical features and near-identical rendering. | |
Chart types: | |
Line, Area, Curve, Area-under-curve, Pie, Donut, Scatter, Bubble, Bar, Histogram, Radar, Range | |
Multiple chart areas of different types on a chart Style individual series on a chart - line, fill, point labels, including custom format strings | |
Optional point-markers, scalable, fixed-size or data-driven, including Square, Circle, Lozenge, Triangle, Inverted Triangle. You can easily build your own. | |
Hit testing on points in series. gives point, series, series index, point index, supports touch | |
RenderInfo for each chart area available, giving scale, offsets, visible ranges allowing you to transform to/from the render and data coordinate spaces | |
MinorTickCount: Ability to specify a minor tick count between major ticks Gridlines (from major ticks), stroke/alternating fill colors. | |
Data: | |
Supports dates, integers, and floating point data, plus labels for series and points | |
Encourages data-driven charting - example data adapters for Stacked and Stacked-to-100% (with built in support for stacking with all appropriate chart types) | |
Supports LINQ projections into chart series | |
Optimized updates for changing data. | |
Axes: | |
Multiple fixed and floating axes can all be controlled independently | |
Automatic, manual, or semi-manual axis range detection | |
Ability to ensure that zero is always within the range | |
Customizable axis label format | |
Axis color/stroke, tick length, ticks, frequency, count | |
Axis label rotation | |
Annotations: | |
Add arbitrary annotations at any point on a chart area (including points not in the main series) | |
Supports binding to a view model associated with a datapoint, with AnnotationContentTemplate and AnnotationContentTemplateSelector so you can render arbitrary visuals/interactions | |
Zoom & Scroll: | |
Ability to zoom and scroll around arbitrary X/Y subsets of the data | |
Automatic axis positioning while zooming (if floating, picks floating/anchored based on current minima/maxima in visible region) | |
Supports touch | |
Trendlines: | |
Ability to add y = mx + c or x = c trendlines to the graph, with Stroke, StrokeThickness and DashArray. | |
(Clearly, additional chart areas or annotations could be used for alternative trend lines) | |
Error bars: | |
Ability to add high/low error bars to y-axis values | |
Highlighting and selection: | |
Supports automatic and manual highlighting and selection | |
Performance: | |
Encourages clean, simple presentation of data (although you can go mad with the styling if you want) | |
Minimizes the number of visuals in the tree | |
Additional features in progress: | |
============================================ | |
Candlestick chart type | |
Features considered for the V Next: | |
================================ | |
Print/render to PDF/vector |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment