Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Tree: c209bfbce5
Fetching contributors…

Cannot retrieve contributors at this time

296 lines (258 sloc) 15.6 KB 28 Feb 2006
Fixed bug in DateTimeAxis.WorldTickPositions_FirstPass reported by Pawel Konieczny.
Fixed a bug in WorldTickPositions_SecondPass - thanks to Pawel Konieczny.
Fixed a problem in Axis.WorldToPhysical - Thanks to Pawel Konieczny again for this one.
Adding TradingDateTimeAxis contributed by Pawel Konieczny.
Made changes to DateTimeAxis to allow TradingDateTimeAxis to work.
Added Line in legend for point plot in appropriate case (thanks to Pawel Konieczny).
Pawel Konieczny: Fixing suggested axes in BarPlot, which did not take into account
all Y points originally. Made bar width configurable
Pawel Konieczny: A small fix for vertical and horizontal guidelines, to remove
their remnants from the plot. The remnants can be left over when the
mouse move is fast such that the interaction does not get enough move
even to remove itself. This fix does not really solve all problems with
guidelines; for instance, try the following: run a demo application with
a plot with a guideline, cover part of the plot by a window of another
program, then hover the mouse over the not obscured area of the plot.
Pawel Konieczny: A fix in CandlePlot.CalculatePhysicalSeparation(). The
original code bombs with a null pointer exception when there are exactly
three points.
Pawel Konieczny: fixed bugs in horizontal and vertical drag interactions when
the axis is non-linear. It fixes also a small bug for a linear axes,
which led to a slight and steady zoom-in process when dragging the plot
somewhat longer.
Pawel Konieczny: fixed bugs in axis drag interaction for non-linear axes.
Pawel Konieczny: MouseWheelZoom (which actually does scroll) adapted to
non-linear axes. Additionally, Interaction.MouseWheelZoom improved to do
zoom and handle Y axis too.
Pawel Konieczny: Performance enhancements to CandlePlot
Pawel Konieczny: Performance enhancements to LinePlot
Pawel Konieczny: Performance enhancements to Transform2D
Pawel Konieczny: Performance enhancements to SequenceAdapter
Pawel Konieczny: Performance enhancements to PointPlot
Pawel Konieczny: DataGetter_DoublesArray added to AdapeterUtils
Pawel Konieczny: Performance enhancements to Windows.PlotSurface2D and
contained classes.
Added comments to uncommented public methods.
Pawel Konieczny: This one makes HorizontalRangeSelection forgiving accidental
clicks. Originally, a single click on a plot area with
HorizontalRangeSelection active would immediately zoom into an
indefinitely small zoom window. The change makes the interaction to
ignore very small selections, that may be made accidentally (I suppose
nobody would try to make deliberately such small selections, simply
because it is very hard to make them accurately with a mouse).
Matt: Added a property to set minimum select width in pixels in
Pawel Konieczny: This one allows changing list of interactions on MouseUp.
Originally, on MouseUp, the list of the registered interactions is
looped through to dispatch the event. However, since the list is being
looped, it cannot be modified during that process (otherwise an
exception occurs).
Pawel Konieczny: I have added handling of "MouseLeave" to the list of events
that interaction may react to. This fine tunes the problem of "cleaning
up" the guidelines (not unconditionally anymore), and is used in some
new interactions I will send you later.
Pawel Konieczny: I have disable the check whether the candle width is not
zero. The effect was that when the amount of data displayed increases
(e.g. zoom out) and the candles got thinner and thinner, suddenly they
become thick again, overlapping each other. It may be even so, that by
scrolling left or right, due to different rounding errors, they become
thin again, and then again thick. I don't think it is useful to
prohibit candles of zero width (there always will be the vertical line
visible), since in such cases the distance between them is so small that
they form an almost contiguous fill region.
Pawel Konieczny: A few changes to ImagePlot. The point here is that the
ImagePlot by default uses the gradient to span from the minimum value to
maximum value. This is sometimes useful, but sometimes not. For
instance, when the image plot is used to show a sort of a topographic
map, where each color should correspond to some absolute value. The
changes here allow to explicitly set the values corresponding to the
gradient boundaries. Values outside the boundaries are mapped to the
boundary colors (that functionality was already present in the
gradient code, except that some debug check was throwing an exception
when it happened - I had to remove that too). For instance, values of
0.0 and all negatives could be mapped to black. I have also added a
possibility of a "void" color, which is used for NaN values. I use NaN
values to indicate that no data is present for a given point.
Pawel Konieczny: A small patch in drawing a shadow of the legend box. In the
original NPlot, the shadow is not really a shadow - it is a light gray
opaque rectangle box.
Small fix from Rosco to allow zero height bars in BarPlot.
Added data clipping speed up code to StepPlot (similar to code in Line, Point
and CandlePlot).
Added SmallestAllowedRange property to HorizontalRangeSelection interaction. 20 Feb 2006 (not released).
Fixed bug with Linear Axis Offset and Scale properties which caused incorrect display.
0.9.9 22 July 2005
Added LegendZOrder to PlotSurface2D.
Added PhysicalSpacingMin to LabelAxis
Added RemoveInteraction method to Windows.PlotSurface2D. Thanks to Måns Erlandson.
Fixed bug in Windows.PlotSurface2D.DoMouseMove reported by Måns Erlandson.
Added StepGradient with RGB and Rainbow types.
Ivan Ivanov fixed a bug in the Web Control when url contains params.
Image stored in session variable is now explicitly deleted (known issue, but thanks
to Ivan Ivanov for pointing this out also).
Fixed up designer attributes in web control.
Other (substantial) tweaking of web control. Note that this will eventually use the
DynamicImage control in ASP.NET 2.0, this control will be much more efficient.
Revised attributes (Bindable, Browsable, Description, Category) on relevant public
properties on Windows.PlotSurface2D.
Rosco Hill pointed out a bug in RefreshZOrdering.
Spent quite a lot of time designing MultiLinePlot and MultiSequenceAdapter classes
and supporting functions in AdapterUtils. There are issues remaining. I have
left this out of pre 1.0 releases.
Now prints title in centre of plot if there is no data.
Took StringFormat construction out of PlotSurface2D.Draw method and put in
constructor (to avoid unnecessarily creating this many times).
Removed PlotSurface3D and all related.
Removed PlotSurface2Dnew and all related.
Removed BubblePlot.cs
Removed PLotSurface and all related.
Removed StartStep and all related.
Removed MathExtra from Utils (3D calculations)
Finished commenting AdapterUtils
Filled in missing comments from other classes as well.
Deleted ErrorHandler class (wasn't a good move that one...).
Added NPlotException class - all NPlot exceptions throw of this type.
Added quick fix from Rosco Hill for fixing weird behaviour when Legend is wider
than plotting surface.
Changed ToBrowser method in Bitmap.PlotSurface2D to ToStream and to take image
format parameter. [21 May 2005]
Gareth Hayter found the bug introduced in whereby LinePlots are sometimes
not drawn.
Added LengthScale and PixelIndent properties to VerticalLine and HorizontalLine
Added ability to have multiple lines of text in the title.
Added HideVerticalLines property to StepPlot
Added HideHorizontalLines property to StepPlot.
Added ScaleWidth property to StepPlot.
Added zOffset to Windows.PlotSurface2D Web.PlotSurface2D and Bitmap.PlotSurface2D
Legends can now have items placed in a grid (not just vertically).
Added BarPlot for charting a series of two ordinate values as bars. This still
has work to go - the horizontal spacing is just a hack at the moment.
Added ability of legend to grow horizontally or vertically, and to specify the
maximum in the other direction.
Ticks can be placed between labels in the label axis. [15 May 2005]
Added functionality to Filled region such that VerticalLine or Horizontal lines
can be specified in the bounds.
Added functionality that allows data to be obtained from arrays in CandleAdapter
class. Code implemented was a more general version of that contributed Gareth
Added new demo plot to demonstrate this.
Fixed problem with PlotSurface2D.Remove reported by Jonne van Wijngaarden.
Added patch from Jonne van Wijngaarden that makes axes drag expand from the point
clicked rather than the center.
Bug fix by Rosco Hill in line plot when zoomed right in.
Rosco Hill added code to draw small ticks in DateTime axis when in year mode.
Anton fixed a bug in Web.PlotSurface2D.
Change by Mike Miller for drawing Large Tickes on DateTime axes for time-spans
greater than 30 years.
Fix by Mike Miller in WorldToPhysical. Great work traking this one down.
Implemented z-ordering in PlotSurface2D Add methods after suggestion by Gareth
Revised default positioning of candle bars based on justification by Mike Miller.
Added Centered property to CandlePlot to chose between old default and new
default positioning of bars.
Converted back to VS2003 solution file.
René van Kleef fixed a bug in linear axis on large zooms.
Fixed Reversed flag not working anymore bug reported by "Steven". Thanks to
René van Kleef for finding the problem.
Fixed error found by René van Kleef in MarkerItem - incorrectly derived from
Added Constructors to MarkerItem as suggested by René van Kleef.
Added TextItem implementation submitted by René van Kleef. []
DateTimeAxis now scales down to second resolution.
Added strong name key.
Windows.Plotsurface2D.Draw no longer catches exceptions.
Implemented interactions (lots of additions here).
Large Chunk of 3D Plotsurface and related classes implemented.
Changed axisCache variables in Windows.PlotSurface2D to zoomAxisCache.
Changed "Zoom Back" to "Original Dimensions".
Changed AllowSelection to EnableSelection.
Added EnableDrag property and implementation.
Arrow is not displayed if outside area of chart.
Made threads created in demo STA. Made CopyToClipboard copy = true.
Changed DateTimeAxis such that if scaled such that tick spacings every 2, 7, or 14 days, ticks
are always placed in the same spot regardless of WorldMin / WorldMax.
Changed Axis.Length property name to Axis.WorldLength.
Added LabelOffsetAbsolute property to Axis class. [15 February 2005]
Przemyslaw Grodzki pointed out a Windows bug which caused "copy data to
clipboard" to crash, and provided a solution.
Added check for null in RightMenu property of Windows.PlotSurface2D.
Made NumberFormat null on DateTimeAxis Axis copy constructor to avoid formatting
problems when constrructing from non DateTime axes.
Changed the space between values in "copy data to clipboard" to a tab. This
makes it easier to insert values into Microsoft Excel and other programs.
Removed redundent WorldMin and WorldMax properties from DateTimeAxis. [13 February 2005]
Removed context menu from Windows.PlotSurface2D and provided public methods for all functions
previously only available through the ContextMenu in Windows.PlotSurface2D.
Created PlotContextMenu class and associated classes which allow the right context menu to be
completely customized and extended.
Created the PlotSurface class and rearranged PlotSurface2D such that this is possible. PlotSurface
is not working completely yet, but the concept is proved. This is going to be an all encompasing
class for all types of plot surfaces (PiePlotSurface, RadialPlotSurface PlotSurface3D etc). Thanks
to Roberto Peña for useful discussions on this topic.
Added Drawables property to PlotSurface2D
Added CopyDataToClipboard functionality. This needs modifying now so that values reflect axis types.
Minor changes to LogAxis (object->double).
Added LabelOffset and LabelOffsetScaled to Axis class.
Changed the default Axis Label offset so it looks better.
Added HorizontalLine class to make drawing horizontal lines easy (it takes a bit of
effort to set up a LinePlot to do this).
Added VerticalLine class as well.
Added PiAxis class. Currently this can only print labels at integral values of Pi.
Added placeholder for TextItem. This IDrawable is needed.
Added RectangleD. This is used for CopyDataToClipboard
When no tick marks are shown, the Axis label position is now shown in a more reasonable position.
Rearranged the demo.
Bug when O/L/C/H value is NaN fixed in CandlePlot by Florian Hoertlehner.
Roberto Peña fixed a bug in LegendBase in the case that there are no lines. [23 January 2005]
Florian Hoertlehner provided better NaN handling ability in Utils.RowArrayMinMax.
NPlot now is, and is marked CLSCompliant. Thanks to Roberto Peña for point this out.
Added lots of pre-defined Solid RectangleBrushes. Still need to add lots of predefined other style brushes.
Fixed bug whereby sometimes on Windows.Forms resize, the world bounds were randomly changing. The problem
turned out to be in OnMouseUp function [proved v. hard to track down!].
Cleaned up the demo code a bit.
Removed PropertyGrid from Windows.PlotSurface2D. I've left all the object selection code in there as it
will be useful in the future, but I don't wan't ProperyGrid to be on the control itself. [12 January 2005]
Added patch by Rosco Hill for removing drawables from PlotSurfaces.
Fixed bug introduced in that prevented LogAxes from working correctly. This
involved improvements to Transform2D and related classes. [3 December 2004]
Przemyslaw Grodzki fixed a small internationalization bug in the demo.
PlotSurface gradient backgrounds.
PlotSurface Bitmap backgrounds.
Added some ready to go RectangleBrushes.
Improved efficiency of Line drawing - using optimized transform class.
Added shadow property for line class.
Juraj Skripsky fixed a bug in the SuggestYAxis method in HistogramPlot for stacked histograms.
Fixed "shakey lines" bug due to sub-optimal rounding. Thanks to René van Kleef for pointing this out.
Made Physical Axis Caches public in Windows.PlotSurface2D. Thanks to Stephan Puchegger for pointing this out.
0.9.8 [17 November 2004]
SequenceAdapter can now handle DataViews.
Revised implementation and interaction of Color, Pen and Brush properties in appropriate classes.
Added ArrowItem Drawable object.
Added skeleton code for 3D plots. No implementation yet.
Added Miguel's patch that reduces excessive memory allocations due to font scaling.
Applied many other similar optimizations.
In process of rethinking license.
ScreenAlignedPhysicalAxis (not in use yet).
Transform2D class skeleton (not in use yet).
Cleaned up Marker.cs. Removed creation of Brush object in every call to Draw.
Added MarkerItem IDrawable.
Made RectangleBrush classes [moving out of HistogramPlot].
Changed lots of floats to ints - convention:
* double in world domain.
* in physical domain: float only where need for accurate calculations, otherwise int.
* float for angles (not doubles) - as with .net Graphics class.
made candle widths depend on distance between successive points.
Added patches by Alexander Kucheravy relating to angled tick labels and large tick spacing for DateTime Axes.
0.9.7 [4 November 2004]
change log started.
Jump to Line
Something went wrong with that request. Please try again.