ZedGraph Class Library Revision History
17-Jan-2006 (by Champion) v4.2.4
[UPD] Add call to ZoomEvent from MouseWheel action
[UPD] Add public property to access GraphPane.ZoomStack
12-Jan-2006 (by Champion)
[NEW] Add ZedGraphControl.ZoomPane()
7-Jan-2006 (by Champion)
[UPD] Exclude points from GetRange() that are <= 0 for log scales
[FIX] Make Fill.IsVisible retain original FillType when set to true
26-Dec-2005 (by Champion)
[UPD] Add Scale class and one subtype for each AxisType
[FIX] CalcNumTics was whacked for MajorUnit of Hours, Minutes, or Seconds
[UPD] Improve XDate to work with fractional seconds and/or milliseconds
21-Dec-2005 (by Champion)
[FIX] panebase draws fill even if PaneFill.IsVisible is false -- fixed
[UPD] Avoid overlap by checking actual spacing (particular useful for Exponential scales)
[UPD] Make scale labels apply scaleMult for Exponential scales
20-Dec-2005 (by Champion)
[FIX] ZedGraphControl.cs IsEnableVZoom/IsEnableHZoom properties referenced themselves, causing stack overflow
[NEW] Add MouseUpEvent, MouseMoveEvent and change MouseDownEvent to just use (object sender, MouseEventArgs)
[UPD] Add lots of paranoid tests in ZedGraphControl.cs to avoid null object references
[NEW] Add code from jackply to add exponential axis option
15-Dec-2005 (by Champion)
[NEW] Add TimeSpan options to XDate.ToString()
11-Dec-2005 (by Champion)
[NEW] Add Fill.RangeDefault
8-Dec-2005 (by Champion)
[FIX] Make cross logic work properly for isScaleLabels inside on secondary axes
[NEW] Add AxisGap property to control space between secondary axes
7-Dec-2005 (by Champion)
[FIX] Make stack bar & stack line work with non-ordinal axes
29-Nov-2005 (by Champion)
[NEW] Add IsEnableVZoom and IsEnableHZoom to constrain zoom in ZedGraphControl
[NEW] Add implicit float cast in XDate
24-Nov-2005 (by softlion, concern the webcontrol only)
[FIX] major bug, positioning of graph items was not working at all. Action: removed X1 and Y1 (redundant, described as alias of X and Y). Their 0 value were overriding the original X and Y values.
[UPD] Renamed AxisFill to GraphFill, AxisBorder to GraphBorder, AxisRect to GraphRect so axis and graph space becomes two correctly separated things.
[NEW] MasterPaneFill and MasterPaneBorder properties
[NEW] Transparency is shown as squares in the designer.
[REM] PNG transparency is supported in FireFox. To get it also in IE6 or less, you must use the IE7 javascript http://dean.edwards.name/IE7/ like this:
23-Nov-2005 (by Champion)
[FIX] Ten Power placement for scale labels
[FIX] ShowPointValues with Text Axes and IsOverrideOrdinal
[FIX] Center data when range is zero for PickScale()
[FIX] remake font based on actual prior font size instead of persistent field
[FIX] modify XDate docs to explain Excel date bug
[NEW] add SampleMultiPointList class to illustrate IPointList usage
[NEW] demo pane with four y axes
[NEW] StickItemDemo, several Bars with Labels demos
22-Nov-2005 (by Champion)
[FIX] minor fix for cross axes with IsScaleLabelsInside
22-Nov-2005 (by softlion)
[UPD] Updated Web sample in C# to work with new RenderMode option
[FIX] Minor bug fix introduced in 21-nov-2005 version
[FIX] Workaround for .NET File.GetCreationTime method's bug.
21-Nov-2005 (by softlion)
[FIX] Caching with new rendering mode was not working as expected.
[NEW] The generated image tag has now a querystring to defeat browser caching mechanism when an update is needed.
[NEW] ColorOpacity property in "Fill" structures. We should created a new Color selector designer with the ability to set the color alpha channel instead, but this is a quick start.
[NEW] Added and updated some comments
19-Nov-2005 (by softlion)
Major changes to the web interface:
DataSource property works. Optional DataSource are also available on each curve, by default it uses the main DataSource. DataMember property is available as a main property for the base axis (x axis) and as a property on each curve (y axis).
New RenderMode property to render as an IMG tag instead of generating and returning an image on the fly. A temporary image file is created and saved in the folder specified by the new RenderedImagePath property. The file name is the control ID (may change in a near future).
Comments uptdated and added on properties
Property categories change for readability (ASP.NET pages made with previous version will need to upgrade)
Major and minor grid properties for all axis are now grouped into a child item
minor bug fix: image generated on the fly also sends HTML IMG tag
6-Nov-2005 (by Champion)
Make ScrollBar SmallChange proportional to LargeChange (thanks to tafkat)
4-Nov-2005 (by Champion)
Fix Thumb size for scrollbars
Add Deutsch translation for "Image copied to clipboard" phrase
Add protection against manually set axis limits that exclude all data
31-Oct-2005 (by Champion)
Add Swedish Translation, fix Spanish translation, add "Image copied to clipboard" to localization
Split out context menu actions into public methods
7-Oct-2005 (by Champion)
Fix LinearAsOrdinal and DateAsOrdinal off-by-one error and use blank label for out of range condition
Add GraphPane.IsZoomed Property
Add LegendPos.TopFlushLeft and BottomFlushLeft
25-Sep-2005 (by Champion)
Fix crash when drawing pie charts that get too small (AxisRect dimensions less than zero)
Fix DateAsOrdinal & LinearAsOrdinal indexing problem
Fix Mouse double click problem in ZedGraphControl
22-Sep-2005 (by Champion)
Add support for multiple Y and Y2 axes (major mods throughout)
Add Axis.IsAllTics property
Fix FindNearestPoint bug for text type axes
Add ZedGraphControl.IsShowCursorValues
9-Sep-2005 (by Champion) v4.2.3
Fix issue with CalcDateStepSize() for max label calcs where the step number is only a target, not a max
4-Sep-2005 (by Champion) v4.2.2
Fix problem with copy constructor on HiLowBar.cs, HiLowBarItem.cs, MasterPane.cs
26-Aug-2005 (by Champion)
Add HSBColor struct
Add French (thanks to Fred Thomas) localization file
Add Deutsch and Spanish (thanks to codemeier) localization files
22-Aug-2005 (by Champion)
Add Localization to ZedGraphControl
Fix ContextMenu mouse location issue
21-Aug-2005 (by Champion)
remove set requirement from IPointList
Add ZedGraphControl.IsAutoScrollRange and SetScrollRangeFromData()
19-Aug-2005 (by Champion)
Fix Pie.SlicePath access in FindNearestPoint
Fix y position calc for axis title when IsScaleVisible=false
18-Aug-2005 (by Champion)
Add new AxisType's LinearAsOrdinal and DateAsOrdinal
17-Aug-2005 (by Champion)
Add new CoordTypes to allow mixed coordinate systems.
Move Transform for the Coord system up to the PaneBase so there is only a single function
13-Aug-2005 (by Champion)
Disable the ZedGraphControl.PanModifierKeys due to a bug in VS2003 causing compiler error
11-Aug-2005 (by Champion)
Fix rotated scale spacing logic to allow lapping at angles
10-Aug-2005 (by Champion)
Add IPointList interface
Remove ErrorBarItem.BarBase and HiLowBarItem.BarBase -- use GraphPane.BarBase instead
Add BasicArrayPointList
8-Aug-2005 (by Champion)
Add strong name key to assembly
2-Aug-2005 (by Champion) v 4.2
Fix roundoff problem on scrollbars
Fix Auto flags in ZedGraphWeb
Fix the web demos to work properly
21-Jul-2005 (by Champion)
Add PolyItem
Add ArrowItem.Style
Add CurveItem.FontSpec
Make LineItem.Symbol & LineItem.Line modifiable
Add StickItem
Don't clone the PointPairList on AddCurve()
Add DropShadow to FontSpec
19-Jul-2005 (by Champion)
Add IsCrossTic, IsInsideCrossTic, IsMinorCrossTic, IsMinorInsideCrossTic
15-Jul-2005 (by Champion)
Add PointPairList.Insert overloads
14-Jul-2005 (by Champion) v4.1.8beta
Add Axis.IsScaleLabelsInside
Add Axis.IsSkipFirstLabel
Add Axis.IsSkipLastLabel
Add ZedGraphControl.ScrollMinY2, ScrollMaxY2, IsScrollY2
Revamp Axis.Cross logic, GraphPane.CalcAxisRect, and Axis.CalcSpace
6-Jul-2005 (by Champion) v4.1.7
Add Axis.IsAxisSegmentVisible
Fix axis space code to not have space when tics false, scalevisible false, etc.
5-Jul-2005 (by Champion) v4.1.6
Fix GraphicsPath bug (using StartFigure) for X-Cross, Plus, and Star Symbols
Initialize MasterPane in ZedGraphControl to IsShowTitle = false
26-Jun-2005 (by Champion)
Fix bug to Remake fonts when family, italic, bold, or underline changes
Show MinorInsideTics, MinorOutsideTics, and MinorGrids even if MinorTics are not shown
6-Jun-2005 (by Champion) v4.1.5
Add GraphItem.IsClippedToAxisRect
Fix isShowTitle problem (was not being initialized at all)
4-Jun-2005 (by Champion)
Fix BarCenterValue() to properly handle ErrorBars and HiLowBars
3-Jun-2005 (by Champion) v4.1.4
Add PointValueEvent
29-Apr-2005 (by Champion) v4.1.3
Fix IsShowTitle so it does not get set to false if title is blank
19-Apr-2005 (by Champion) v4.1.2
Add BarType.ClusterHiLow
Add Curve.IsOverrideOrdinal
Fix bug with LegendPos.BottomCenter
Fix bug that allows crash if gridDash on/off is zero
16-Apr-2005 (by Champion) v4.1.1
Fix FindNearestPoint() for Y2Axis curves
Fix FindNearestPoint() for bars that extend beyond axis range
15-Apr-2005 (by Champion) v4.1.0
Add scrollbars to ZedGraphControl (IsShowHScrollBar, IsShowVScrollBar)
ScrollMinX & ScrollMaxX control the X bounds
ScrollMinY & ScrollMaxY control the Y bounds
Use ScaleFormat for numeric labels and dates.
Remove NumDec and NumDecAuto
Subscription event for zoom/pan notification (see ZoomEvent)
19-Apr-2005 (by Champion) v4.0.8
Fix roundoff bug for bar width (when scale has large values like dates)
Add PointPairList.Equals & PointPair.Equals
Add AddCurve methods with lineWidth
Make ToolTips disappear if mouse moves away from point
Don't show tooltips for invisible curves
Add Axis.IsScaleVisible
18-Apr-2005 (by Champion) v4.0.7
Fix context menu event for null case
Fix CurveItem.IsLegendLabelVisible
16-Apr-2005 (by Champion) v4.0.6
Fix panning for log scales
Add wheel mouse zoom
Add Context Menu event/delegate
15-Apr-2005 (by Champion) v4.0.5
Fix XDate roundoff bug
11-Apr-2005 (by Martz)
Fix missing min/max properties on Axis proxy
02-Apr-2005 (by Martz)
Added multiple pane support to web control
29-Mar-2005 (by Champion) v4.0.4
Fix zeroline for filled curves
Add SetX(), SetY(), SetZ() methods to PointPairList
25-Mar-2005 (by Champion) v4.0.3
Fix Gradient by Value for Bars
21-Mar-2005 (by Champion) v4.0.2
Fix IsFontsScaled
20-Mar-2005 (by Champion) v4.0.1
Add protection on CalcNumTics -- no more than 500 tics
AxisChange() -- Always call pickscale before CalcAxisRect() to make sure scales are reasonable
19-Mar-2005 RELEASE VERSION 4.0
17-Mar-2005 (by Champion)
Added Save As... to context menu
Fix up Web Demos
17-Mar-2005 (by Martz)
Add ZedGraphWebPointPairCollection
15-Mar-2005 (by Champion)
Fixed a bug that caused missing tics at the beginning of the axis for date type axes
15-Mar-2005 (by Martz)
Added C# and VB web demo for visual designed graphs
Added C# and VB web demo for multi-graph per webform
10-Mar-2005 (by Champion)
Added horizontal stacked bar demo
Fix bug in CurveList.GetStackRange() (failed to account for BarBase)
Added GraphPane.IsBoundedRanges & modifed GetRange() cascade to include bounds
7-Mar-2005 (by Champion)
Add comments to demo code, more cleanup
7-March-2005 (by Vos)
Updated the demo tab forms and some minor updates to the other demo code (commenting and such)
4-Mar-2005 (by Champion)
Update Demos
Change BarValueHandler to ValueHandler
28-Feb-2005 (by Champion)
Fix ColorSymbolRotator to use symbolCount. Add more symbols & colors
Add gradient color overload for GraphPane.AddPieSlice
Revert demo project back to remove the property control
23-Feb-2005 (by Champion)
Add Axis.BaseTic property
Add ZedGraph.LibTest project to have a class library based general testing platform
22-Feb-2005 (by Champion)
Add ZoomState stack for maintaining history of zoom and pan states in UserControl
19-Feb-2005 (by Champion)
Make Axis label shift along with axis for non-default Cross value
Make bounding axis label visible if pane.AxisBorder.IsVisible = false
Add Pan/Zoom/Copy/ShowValues/AutoScale options in new context menu for ZedGraphControl
14-Feb-2005 (by Martz)
Fix subitem persistance bug
Add designtime graph display
Add remaining proxy class members
12-Feb-2005 (by Martz)
Fix control parsing error
Add full support for graphpane and a variety of additional objects
Move proxy/object mapping to individual objects
Add support for static default values where possible
Add graphitem partial support
Add initial support for DataBinding
9-Feb-2005 (Champion)
Make ZGControl tooltips display text for AxisType.Text
Push Legend functionality up to PaneBase so MasterPane has a legend
Add Axis.Cross to allow axes at non-default locations
21-Jan-2005 (by Champion)
Replace GraphPaneList with MasterPane
Add PaneList as GraphPane collection class
Add PaneBase as parent of MasterPane and GraphPane
18-Jan-2005 (by Champion)
Add GraphPaneList
Use Tag.Clone() when ICloneable available
Fix GraphItemList copy constructor
Fix PieItem copy constructor
Add Tag to GraphPane
17-Jan-2005 (by Champion)
Add ZedGraphControl.PointDateFormat
Move Axis visibility setup for pies to AxisChange()
Move pie rect calcs out to static PieItem.CalcRect()
Fix LegendPos.TopCenter problem (missing switch)
Add Pie Serialization
Fix Z-Order treatment of GraphItems in FindNearestObject
17-Jan-2005 (by Kaye)
Fix up PieItem; Remove PieSlice
15-Jan-2005 (by Champion)
Fix GraphItem Copy Constructor
Fix +1 pixel error on ZedGraphControl bitmap
Fix StringAlignment bug for FontSpec
Fix maxlabels bug
Fix ordinal transform bug for lines/symbols
8-Jan-2005 (by Champion)
Fix CurveList.GetRange bug for stacked curves
Some code cleanup
Add SplineInterpolateX to PointPairList
7-Jan-2005 (by Martz)
Add expanded interface for Web Chart
5-Jan-2005 (by Champion)
Add Line Stacking via GraphPane.LineType
Add Serialization - Implement ISerializable
Fix StringAlignment bug for FontSpec
Add Interpolation methods to PointPairList
Fix maxlabels bug for text axes
10-Dec-2004 (by Champion)
Add Z-Order control to GraphItems
Add CollectionPlus base class with Move(), etc. methods
Change ErrorBar ends to Symbols
Add SymbolType.HDash and SymbolType.VDash
8-Dec-2004 (by Champion)
Add FindNearest unit tests
Fix extreme outlier overflow problem for symbols
8-Dec-2004 (by Kaye)
Add Unit Tests
7-Dec-2004 (by Champion)
Add overloaded constructors to PointPair for Tag labels
Add ToolTip capability to ZedGraphControl to show point values
Make ZedGraphControl.Image have bitmap 1 pixel wider & taller
3-Dec-2004 (by Champion)
Add BoxItem, EllipseItem types
Add BarValueHandler to handle stacking calcs
Add ZedGraphWeb asp control stuff
Fix FindNearestPoint
17-Nov-2004 (by Champion)
Add ImageItem
16-Nov-2004 (by Champion)
Convert ArrowItem & TextItem to children of GraphItem
Delete TextList & ArrowList, make new GraphItemList
16-Nov-2004 (by Champion)
Add ErrorBar (I-beam) graph type
Convert HiLowBar type to a separate HiLowBarItem class
Fix Hatch and PathGradient brush problem
9-Nov-2004 (by Champion)
Add FillType.GradientByX, Y, Z
Fix & Consolidate DrawSingleBar() code
Add UserControl transparency
Add new Fill constructors for ColorBlend, color array, etc.
5-Nov-2004 (by Champion)
Add BaseVal to PointPair
Remove PointTrio and PointTrioList entirely
Add BarType.SortedOverlay
Add DrawSingleBar code
2-Nov-2004 (by Champion)
Fix scaling logic throughout - all sizes now in points
Fix CalcScaleFactor so scale factor is world pixels/standard point
Legend Height calculation now accounts for big symbols
Correct Axis border so it is drawn with floats instead of ints (avoids misalignment)
Add GraphPane.IsPenWidthScaled
Add scaling to pen widths throughout
Fix Fill.IsScaled (missing from copy constructor)
Fix missing scale factor on tic spacing for axis text
Add GraphPane.ScaledImage()
31-Oct-2004 (by Champion)
Fix Image ScaleTransform bug
Fix another reference problem in BuildPointsArray()
30-Oct-2004 (by Champion)
Fix array ref problem when index=0 in BuildPointsArray()
CVS was wacky, corrected a few files
29-Oct-2004 (by Kaye)
Add BarType.Stack
28-Oct-2004 (by Champion)
Add BarType.HiLow
Add DateTime constructor to XDate
PointTrioList is child of PointPairList
22-Oct-2004 (by Champion)
Add PointTrio + PointTrioList
Add Sum() to PointPairList
14-Oct-2004 (by Champion)
Add Location class
Add Legend Float mode
Add Expanded Collection object functions Remove(object), IndexOf(object), Insert()
13-Oct-2004 (by Champion)
Change Frame class to Border
Add CurveList.Remove( curve )
Add TextItem( string, float, float, CoordType )
12-Oct-2004 (by Champion)
Make CurveItem an abstract base class & add BarItem & LineItem
Fix BaseDPI problem, get rid of the BaseDPI property
Speed up Symbol draws using GraphicsPath & transform scaling
Add Frame and Fill Classes
Add DrawLegendKey() to BarItem & LineItem
7-Oct-2004 (by Champion)
Add MinorGrids
IsZeroLine defaults to false for X axis
GetRange widens range by ClusterScaleWidth/2 for non-ordinal bars
1-Oct-2004 (by Champion)
FindNearestObject works for TextItems and ArrowItems
Add SymbolType.Default and SymbolType.None
30-Sep-2004 (by Champion)
Add CurveItem.IsVisible and CurveItem.IsLegendLabelVisible logic
Fix the zero axis range bug
29-Sep-2004 (by Champion)
Add FindNearestObject() method to GraphPane (still working on TextItem & ArrowItem)
24-Sep-2004 (by Champion)
Add StringAlignment property to FontSpec
23-Sep-2004 (by Champion)
Add AlignP type, and Axis.ScaleAlign property
22-Sep-2004 (by Champion)
Eliminate legend entries for curves with blank labels
21-Sep-2004 (by Champion)
Release 3.0
Fix grid so it's behind the bar/line fills
18-Sep-2004 (by Champion)
More Constructors for Fill class, gradients/texture fills
Add Fill.IsScaled and Fill.AlignH/V
15-Sep-2004 (by Champion/Vos)
Fix roundoff problem that caused the last scale label to occasionally disappear
Add SetMinSpaceBuffer() to GraphPane and Axis
Add a check in MakeBrush() to make sure the rect width and height are at least 1.0
14-Sep-2004 (by Champion)
Add gradient fills to symbol type
Symbol Frame can now have different color than fill
Fix problem with smoothed curve and fill
Draw Axes after curves so curve fill doesn't cover up axis line
Add Axis.MinSpace property
13-Sep-2004 (by Champion/Vos)
Fix problem with brushes scaled to zero width rect
Fix scale label width calc bug in CalcMaxLabels()
Add Brush.Dispose() calls after MakeBrush()
12-Sep-2004 (by Champion)
Add new Fill class to handle gradient fills
Add "Area under curve" shading
Add gradient Fill class to paneRect, axisRect, legend, bar, line
11-Sep-2004 (by Champion)
Fix space allocation for rotated Axis Labels
Add gradient fills for bars
1-Sep-2004 (by Champion)
Fix grace so that it won't extend across negative/positive boundary
Finish up #region's
31-Aug-2004 (by Champion)
Added Curve Smoothing (Line.IsSmooth, Line.SmoothTension)
Added PointPair.IsInvalid
Added PointPair implicit cast to PointF
31-Aug-2004 (by Vos)
Cleaned up some of the files, making the #region'ing more consistent (some files still need to be done)
30-Aug-2004 (by Champion)
Fix single point plotting (bug in validity checking code)
Fix calls to Transform() so that Transform(i,x) is only called for bar charts
Fix XML Comments to get rid of error messages
Change the AddPoints() methods of PointPairList to overloaded Add()
Add a couple unit tests
30-Aug-2004 (by Vos)
Added locking to the ZedGraphControl to make it thread safe
Added a .AxisChange() method to the ZedGraphControl (it creates a new Graphics object every time it is called)
Added a ZedGraphException class
ZGC.Image now throws a ZedGraphException if the control has been disposed
Added a ZGC.BeenDisposed property, which checks if the GraphPane is null. This probably should have a separate field in the ZGC called beenDisposed, but for now it doesn't.
Projects now reference the main ZedGraph by using project references instead of direct .dll references
27-Aug-2004 (by Champion)
Add MinGrace and MaxGrace
Fix up overlapping labels with double PickScale() call
26-Aug-2004 (by Champion)
Fix problem with zero/negative values on Y Log scale
Add long unittest
clean up unit test code to three fixtures
25-Aug-2004 (by Champion)
Make constructors handle null values better
Integrate multiple constructors so default usage is cleaner
Move Default struct into each class (get rid of Def.cs)
extensive additions to unittest
23-Aug-2004 (by Champion)
Fix NaN handling so it doesn't cause exceptions
18-Aug-2004 (by Vos)
Add Image property
Add ColorSymbolRotator
17-Aug-2004 (by Champion)
Fix overlapping labels logic for X vs Y axes
Fix scaleFormat in copy constuctor
Add Point indexer to CurveItem
Fix problem with recursive loop for text label calcs
25-Jul-2004 (by Champion)
Add XTargetSteps, YTargetSteps
New Format for 10 power log scale labels
Fixed drawing of log scales
Improved logic for scale picking
Add logic to reduce text labels if they are overlapping
Added IsIgnoreMissing
Added IsFontsScaled
Fixed FindNearestPoint() for bars
16-Jul-2004 (by Vos)
Add PointPair, PointPairList storage for data points
15-Jul-2004
Add Author/Revision XML tags
14-Jul-2004
Added LGPL
13-Jul-2004 (Release 1.5)
Added AxisType.Ordinal
Added Def.Ax.MaxTextLabels and made Text labels honor the Axis.Step setting
Added GraphPane.IsFontsScaled
Added GraphPane.BaseDPI for proper printer scaling
Fixed broken logarithmic scales
Fixed roundoff problems that caused minor cosmetic annoyances
Fixed bad rendering of Y2 axis grid and tics
Fixed zeroline flag
Bars now work properly with XAxis.IsReverse and FindNearestPoint()
Fixed other minor bugs
10-Jun-2004 (Release 1.4)
Added Bar Charts
Added FindNearestPoint() method
Minor Bug Fixes
Added zero-line when axis ranges from negative to positive
Added ScaleFormatAuto property so the ScaleFormat can be manual even when the scale range is auto
Added IsAxisRectAuto property so the AxisRect can be set manually
1-Mar-2004 (Release 1.3)
Added Date-Time Axis capability
Added Text Axis capability
Added ReverseTransform() function (returns axis values associated with a mousePt location on the graph)
Made some optimizations that dramatically increase the drawing speed for large datasets
Updated code to implement ICloneable interface and copy constructor for primary classes
Updated axis label code so that axis edge does not have to begin with a label (ex: axis min is 175, but first label is 200 and step is 50)
(Only the ZedGraphControl source file has changed)
28-Nov-2003 (Release 1.2)
Fixed the Axis.IsMinorOppositeTic bug (it wasn't working)
Changed over the ZedGraph code so that it can also be a UserControl
13-Nov-2003 (Release 1.1)
Fixed a minor bug in FontSpec.BoundingBox() calculation