2 April 2006 Being April 1st, yesterday's announcement obviously wasn't serious...
I've just finished writing an article on NPlot for a new book. I'm pretty sure I'll be allowed to post this on the web site, so hopefully that will happen soon. The agreement I signed included a section about keeping confidential information confidential. Don't know if the name of the book or publisher is confidential, so just in case I'd better not advertise it for them here.. yet!
1 April 2006 NPlot is to be re-written in Fortran. It will be converted gradually over the coming months and when the conversion is complete will no longer be suitable for use in a managed environment. Also, as part of the conversion, the library will unfortunately only be able to output files in postscript format. Having recently had in depth discussions with a 70+ year old professor of physics I have been convinced that this is really is the only way forward for libraries with scientific use. I sincerely apolgise for any inconvenience caused.
4 March 2006 NPlot 0.9.9.2 was released today. Most of the new functionality is from Pawel Konieczny. His work can be categorised into three areas: (1) NPlot now provides a TradingDateTimeAxis that skips non trading days (weekends). Note: I plan to add a bit more generality to this at some point (i.e. ability skip any time period). (2) Efficiency. In certain circumstances (point, line or candle plot of largish data sets (double) using interactions), NPlot is now an order of magnitude faster. (3) Bug fixes and small enhancements.
This will be the last release of NPlot that will work under the .NET framework v1.1. The next version of NPlot will be .NET v2.0 only. The next release shouldn't be far off - I have quite a bit more from Pawel and others waiting in my inbox. More speed improvements and more interactions.
3 March 2006 Pawel keeps on sending me great patches! I was going to do a release today but want to get some more of his work in first. Also, I've started a "Who uses NPlot page". If your project uses NPlot and you'd like me to link to it, send a bit of a description to me at mhowlett (at) netcontrols (dot) org.
28 February 2006 Time for a bit of an update. Whilst in the middle of applying changes to NPlot based on Dominic's work described below, I became overloaded with other, non optional things that needed doing. In the end I never finished putting in the real time functionality (it turned out to be non-trivial, though not too hard). I hope to start again and get this going at some point relatively soon. Recently, I've started again with v0.9.9 as my base and have been applying lots of patches (bugs and enhancements) sent to me over the last few months. In particular, Pawel Konieczny has sent some great stuff including support for date / time axes with gaps. Should get a release out soon with this functionality.
1 February 2006 Robert Meier-Lim has posted an excellent NPlot Windows.Forms tutorial on his website. Enjoy!
1 September 2005 Andrew Theken has posted the NPlot class documentation (produced with NDoc) on his website. Thanks! My FTP connection always seems to time out after transfering only a small percentage of the files, so it's a real pain for me to do this myself..
A friend of mine owns a paper craft shop in my home town of Tasmania - sells things like scrapbooking and card making products. I've recently helped her put together a website called just card making. Not sure I really understand the whole card making phenomenon, but we had lots of fun making the site anyway!
24 August 2005 Dominic Thuillier has made some very cool modifications to NPlot that allow adding new data points to LinePlot's without refreshing the rest of the plot. This is functionality that he needed but couldn't find in any of the commercial charting controls. I'm considering this a "polishing" addition and I'm including it before the 1.0 release. I'm about halfway through adding it in. My changes are basically a generalised version of Dominic's implementation. As part of this I'm thinking about improved support for data binding (over the whole library). I'm also further progressed on the modifications mentioned in the last post. These are the three improvements to look forward to in the next release.
7 August 2005 Not putting out a release yet, but thought I'd mention the things I've been working on this weekend. First of all, CandlePlot and related classes have had a bit of a rework (Przemyslaw Grodzki sparked this off with a bug report). For one thing, the Draw method of this class is now quite a bit more efficient. Secondly, NPlot currently relies on the finalizers of GDI+ objects it creates to release the system resources the wrap - this is not ideal (though for most applications you probably won't see an effect). Unfortunately it's a bit of a pain to make sure NPlot disposes all GDI+ objects it creates (back to the good old c++ days?) and keeping track of this has the potential to take significant overhead (which I'm trying very hard to avoid). I'm making good progress, though.
30 July 2005 The web page title wasn't displaying correctly in Internet Explorer (I don't generally use this browser, so I didn't realise). I've changed the wiki skin to monobook, which fixes this problem and is nicer anyway.
29 July 2005 NPlot v0.9.9 was released today. The two most significant things about this release are (a) The license has changed. It can act the same as the old license for all intents and purposes, but it is now also compatible with the GPL (b) I've cut a lot of experimental functionality out in preparation for a stable 1.0 release. This release includes patches from the following people Måns Erlandson, Ivan Ivanov and Rosco Hill. Thanks to everyone else who has been sending me all the other patches clogging up my inbox - they will hopefully be incorporated soon.
24 July 2005 I've put up a live example of NPlot generating dynamic charts on the web. Source code for the page is downloadable from the example page as well. I'm also mid-way through writing a tutorial for this example.
19 July 2005 I've installed and started tweaking the PmWiki engine on the netcontrols.org website. The new site will be up again within a few days.
18 July 2005 - The server hosting netcontrols.org was hacked into. As a result I've changed hosting services. The web site will be down a few days.
26 May 2005 - NPlot v0.9.8.9 was released today. This release fixes the LinePlot bug introduced in 0.9.8.8 (thanks Garath Hayter for emailing me the fix for this before I found it myself!). It also adds about 5 or 6 new features, the largest of which is that items in the legend can now be placed in a grid (not just vertically). Of course this means you can now have horizontal legends if you would like.
20 May 2005 - I recommend waiting for the next release of NPlot before upgrading. I introduced a couple of bugs in 0.9.8.8, and I've since fixed a few more. There will be another release within a couple of days.
20 May 2005 - NPlot v0.9.8.8 was released today. This release incorporates quite a number of bug fixes and enhancements sumbitted by many people including Jonne van Wijngaarden, Rosco Hill, Mike Miller, Gareth Hayter and René van Kleef. The solution file is back to VS2003 format.
19 May 2005 - There have been quite a few patches submitted over the last couple of weeks which have been incorporated into NPlot. There will be a new release in the next couple of days.
17 April 2005 - My priorities have been elsewhere lately, so nplot has not progressed much in the last month or so. However since the last release I've implemented an important feature - interactions. Now you can interact with Windows.Forms charts in many more ways than rubber band select. You can drag the plot surface, scale axes by dragging them, and other exciting things... There is also a demo showing how to link charts - so when one is updated, the other is too. I've been holding off from another release because I wanted to sort a few things out first, but in the end I'm just plonking the .zip on the web site as is. One thing that needs doing is converting the solution/project file back to VS2003 format - I've been giving VS2005 Express beta a bit of a work out (free download from msdn) and these are still in this format which is not backwards compatible. Also, I just quickly checked and the NPlot .dll can't be used from within VS2003. There is no good reason for this (the code is .NET1.1 compatible). I just haven't had time to look into the issue. I've also implemented a trial Windows.Forms 3D plot surface, however this will be canned and done a different way (based on the new 3D functionality coming with Avalon). It will be much easier.
12 March 2005 - Miguel has updated the Gtk# control to v0.9.8.5. It is available here. It's looking (again) like I won't get the chance to try it out and include it in the next release... I've been side tracked working on a 3D plotting surface and related classes [now usable] and some features of PlotSurface2D that are sure to please the financial charters especially! Stay tuned - new release soon..
15 February 2005 - NPlot v0.9.8.5 was released today. See the changelog for details. This release fixes a few bugs in functionality added in 0.9.8.4.
13 February 2005 - NPlot v0.9.8.4 was released today. See the changelog for details. Of note, the right context menu functionality has been separated from Windows.PlotSurface2D and can now be completely customized. Changes have also been made to this class in preparation for unification with other plot surface classes when they are implemented. I've implemented two new IPlot's - HorizontalLine and VerticalLine which make drawing horizontal and vertical lines much easier than using a LinePlot object as would have been done before. A PiAxis class has been added, that labels the axis in multiples of pi (work needs to be done to allow labeling in fractions of pi as well). Finally, functionality for saving a text file of data points currently shown on the plot has been added to the right context menu.
10 February 2005 - I've just installed gentoo linux. Soon I hope to demonstrate NPlot running under mono to myself and start including the GTK# control with the main distribution.
There have been quite a few changes lately, which will be forthcoming soon...
23 January 2005 - NPlot v0.9.8.3 was released today. See the changelog for more details.
I have been recently browsing the Mono website, and found that their implementation of Windows.Forms has been progressing in leaps and bounds lately. In particular, Jackson Harper has run the Windows.Forms NPlot demo under Mono with only slight modification. Mono is a very exciting project - and these days, it is quite mature [Gtk# is used for GUI development]. I recommend the Mono developers blog as a means of keeping up with what's happening in the world of Mono. While I'm giving plugs to good free software, I want to also mention that I have been playing with SharpDevelop lately and I'm very impressed indeed.
12 January 2005 - Today's release (v0.9.8.2) includes a patch from Rosco Hill that allows IDrawables to be deleted from a PlotSurface2D. It also fixes the below mentioned problem with log axes. In the near future I intend to fix some known minor bugs with Windows.PlotSurface2D. I have been avoiding these because I've started work on a fully flexible 2D plot surface class which will eventually superscede this one. However, this is a very large task so PlotSurface2D will probably be polished in the meantime.
11 December 2004 - It appears that LogAxes are broken in 0.9.8.1. If you require LogAxes, you will need to use and older version of the library. This will be fixed when I return home from overseas.
3 December 2004 - First up, thanks to all those who have taken the time to submit bug reports on sourceforge. Keep them coming! I will address them all before v1.0 is released. Today I've posted NPlot v0.9.8.1 which adds a few minor features and fixes a few small bugs. See the changelog for more details. Thanks to Przemyslaw Grodzki and Juraj Skripsky whose patches have been included in this release. In a few days, I'm leaving the country for 5 weeks on a holiday to Europe. Consequently, there will be no NPlot updates until after Christmas.
17 November 2004 - NPlot v0.9.8 was released today. Highlights include the ability to draw arrows [complete with careful placement of associated text], individual markers and filled regions. Also added are improvements to the drawing capabilities of HistogramPlot [RectangleBrushes] and CandlePlot [auto width on bars]. I've also done quite a bit more tidying up of the interface. Miguel's memory patch has been included and I've made similar heap object creation optimizations elsewhere as well. His GTK# control related code has not been included. See prev news for more info on GTK# control. The NPlot license is also currently under review to make it compatible with other open source licenses. Note that it will be remaining commercial software friendly. Another addition is to the standard DataSource properties which can now handle DataViews. Alexander Kucheravy has submitted patches for minor improvements to angled text as well as custom large tick spacing on DateTime axes. These patches have been included in this release. Finally, I've added some skeleton code for 3D plots [no where near implemented yet] and some classes for optimal world->physical physical->world transforms, which are not yet used throughout the library, but will be soon.
13 November 2004 - Miguel de Icaza has written an NPlot Gtk# control. This allows NPlot to be used by developers using Mono under Linux and other platforms. When I have the ability to use with the control myself, I will start to distribute and maintain this with the main code. For now, you can find Miguel's version of NPlot here. He has also submitted a patch that makes the drawing of Axes noticeably more efficient [and friendly on the garbage collector]. This will be included in v0.9.8... as will quite a number of other new features, and tidy-ups I've been busily working on lately. Release will probably be in a few days time.
4 November 2004 - NPlot v0.9.7 was released today. This release was all about refactoring and renaming things - generally tidying up a bit. Also, the whole API has now been documented [phew], at least to some degree. I'm moving house on the weekend so it will probably be a good week at least before posting the next snapshot. In other news, it looks like a GTK# control is well underway and a PlotSurface3D may be in the making... stay tuned.
31 October 2004 - NPlot v0.9.6 was released today. The SequenceAdapter class [the code responsible for interpreting the various ways you can specify data to chart using the DataSource, DataMember, ValueData and AbscissaData properties of plot objects] has been re-written. It's now a bit faster and a few more ways to specify data are now recognised. Methods to specify whether or not fonts of various chart components should be scaled automatically dependent on chart size have also been added. Font scaling is now turned OFF by default. However, auto-generated axes have tick spacings dependent on physical size ON by default. I suspect these options are what most people will want. There have also been many other small re-factorings and optimizations made. Hopefully I haven't broken anything that was working before. Also, documentation of the API is progressing.
24 October 2004 - NPlot v0.9.5 was released today. The axis class now includes the property "TicksIndependentOfPhysicalExtent" for specifying whether or not placement of ticks should depend on the physical dimensions of the chart.
23 October 2004 - NPlot v0.9.4 was released today. NPlot is the new name for the ScPl charting library. This release includes a re-working of the LinearAxis tick placement code. Tick placement now depends on the physical extent of the axis as well as it's world extent. This makes tick placement much more satisfactory over a wider range of physical axis lengths. I haven't completed code to turn this feature off yet, so if your application prints the same chart to different graphics surfaces (eg to windows.forms and printer) and you want the charts to appear the same in both, don't upgrade yet. There is also more flexibility in how tick mark placement is generated automatically using the Mantissa and SmallTickCounts properties. The documentation effort is also significantly progressed. There is a new style of CandlePlot [filled]. A patch from Anton Krupnov for DateTime Axis internationalization has also been included. I've also created a new ErrorHandler class, with hooks for custom error handlers for critical and continuing errors. Not used extensively throughout the library yet though.
8 October 2004 - scpl v0.9.3 was released today. It includes a patch from Rosco Hill that adds "print preview" and "copy to clipboard" functions to the right mouse menu. It also includes a patch from Florian Hoertlehner that allows NaN array values.