MindFusion Charting for WinForms, V3.6

MindFusion has released a new version of its Charting for WinForms programming control. Here is an overview of the most important new features:

Custom Formatting of Labels
You can now use custom formatting for numeric labels for all chart types. The formatting is applied when you set the format of the label to NumberFormat.Custom. The properties that set the custom number format use the .net custom format strings.

Labels in a WinForms bar chart

Labels in a WinForms bar chart

Sorting of Bars
MindFusion WinFormsCharting control offers you greatly improved sorting of bar values in a bar chart. You can use the SortOrder property to sort the bars in each series or cluster in ascending or descending order. You can also sort each series/cluster with the SortSeriesBy property. You can preserve the color of each bar when sorted if you set the SortColor property to true.

A WinForms chart with sorted bars.

A WinForms chart with sorted bars.

License keys
MindFusion no longer provides separate trial and licensed versions of its components. Instead, you should set the LicenseKey property to disable the component’s evaluation mode and stop displaying trial messages. If your application has more than one Diagram instance or other controls by MindFusion, a single call to MindFusion.Licensing.LicenseManager.AddLicense(key) is enough to specify the key for all the controls. You can find your license key strings listed on the Keys & Downloads page at your http://clientsarea.eu account.

Miscellaneous

  • Bars are now outlined with the consecutive pen from the ChartPens collection rather than the AxisPen.
  • Drawing of line and area charts has greatly been improved – the control now draws only the visible portion of the chart rather than the whole chart, which was clipped to the visible rectangle.
  • AreaOpacity property added to radar charts.
  • AxesOnTop property in radar charts sets the order of drawing for the graphic and the axes.
  • SortYData and SortXData properties added to line charts.
  • In line charts colors can be sorted with line series or scatters when those get sorted.

The trial version is available for direct download from this link:

Download MindFusion.Charting for WinForms 3.6

Technical support is available at the forum, help desk or at e-mail support@mindfusion.eu. All inquiries are answered within hours of being received.

About MindFusion.Charting for WinForms: a professional programming component for WinForms, which lets you create remarkable charts fast and easy. The tool supports all major chart types – line, pie, radar and bar – and numerous variations of them – column, area, bubble, polar, doughnut etc. 3D charts are supported as well.

Charting for WinForms supports a rich user interaction model with features like zoom, hit testing, drill down, mouse dragging and more. You can use delegates to present mathematical functions, undefined values are also acceptable. Values can be data arrays or retrieved through a database.

The appearance of each chart is fully customizable. The control offers strong design-time support with custom collection editors and chart wizards. At your disposal is a set of predefined appearance themes and a theme editor tool. A full list of the features can be read here.

MindFusion.WinForms Pack, 2015.R1

Licensing
MindFusion no longer supports separate trial and licensed build-s for its components. Instead, you should call MindFusion.Licensing.LicenseManager.AddLicense(yourLicenseKey) from within your application to stop displaying trial labels. The license key is listed at the Keys&Downloads page in your client account.

MindFusion WinForms charting controlCharting

Custom Formatting of Labels
You can set custom format to numeric labels in all chart types. The format uses the .net custom format
strings.

Sorting of Bars
Bars in the charting control can be sorted from within each series/cluster in ascending or descending order. You can also sort the series/clusters – by the sum of their values or the max value. If you set SortColor, the bar brushes and pens will be sorted along the bars as well.

MindFusion WinForms Charting Control: Sorting of bars

Miscellaneous

  • Bars are now outlined with the consecutive pen from the ChartPens collection rather than the AxisPen.
  • Drawing of line and area charts has greatly been improved – the control now draws only the visible portion of the chart rather than the whole chart, which was clipped to the visible rectangle.
  • AreaOpacity property added to radar charts.
  • AxesOnTop property in radar charts sets the order of drawing for the graphic and the axes.
  • and more.

MindFusion WinForms diagramming control Diagramming

Map nodes
The diagramming control has a new MapNode class that represents nodes that can render geographical maps.
Currently map nodes can display the content of Esri shapefile files.

Tree map layout
Tree maps represent hierarchies by nesting child nodes within their parents, where the areas of leaf nodes are proportional to their Weight values. Unlike other layout algorithms, TreeMapLayout expects hierarchies to be defined via grouping or containment (see AttachTo method and ContainerNode class), and will ignore any links in the diagram.

MindFusion WinForms diagramming control: the tree map layout.

The tree map layout.

Decision flowchart layout
The DecisionLayout arranges simple flowcharts consisting of decision boxes with up to three outgoing links per node and activity boxes with a single outgoing link per node. The nodes are arranged in columns and rows, whose distance depends on the HorizontalPadding and VerticalPadding property values.

More new features:

  • Improved arrowhead rendering
  • Import diagrams from *.SVG files
  • Improvements in the Visio2013Exporter
  • and many more… read a full list here.

MindFusion WinForms spreadsheet controlSpreadsheet

Grouping and Outlining
You can now group rows and columns. To group or ungroup a range of rows or columns, use the Group or Ungroup methods of the RowRange and ColumnRange classes.

Formatted text support
The spreadsheet control can now import, display and export texts with mixed formatting. Formatted texts can also be created programmatically by assigning a FormattedText instance to the Data property of cells.

Improved in-place editing
Trat yourself to the new Excel-like editing features that are now part of the spreadsheet component. When you type a new formula pressing the arrow keys will result in navigation within the worksheet (instead of adjusting the caret position) and the selected cell or cell ranges will be inserted as a reference in the currently edited formula.

New Events
MindFusion WPF Spreadsheet control offers a host of new events, which are now part of the WorkbookView
and WorksheetView classes:

  • Header interaction notification events – ColumnsMoved, ColumnsResized, RowsMoved, and RowsResized.
  • Group interaction events – ColumnGroupCollapsed, ColumnGroupExpanded, ColumnOutlineLevelToggled, RowGroupCollapsed, RowGroupExpanded, and RowOutlineLevelToggled.
  • Custom drawing events – DrawColumn and DrawRow.

New Functions
The core calculation engine of the spreadsheet control now offers 22 new functions, including a full set of database functions, such as DGET, DSUM, and so on. The Function Reference section in the online help offers further details.

MindFusion WinForms spreadsheet control: database functions

Miscellaneous

  • Worksheets can be moved and copied to another workbook through the new Move and Copy methods.
  • The new EnableFormulaEvaluation property can be used to disable formula evaluation across the workbook.
  • New ShowActiveCell and ShowSelection properties added to the WorkbookView and WorksheetView classes.

The trial version is available for direct download from this link:

Download MindFusion.WinForms Pack 2015.R1

If you run into problems with any of the components, please let us know. We shall be glad to assist you. MindFusion is proud with its excellent technical support – the majority of the questions are answered within hours of receiving them.

About MindFusion.WinForms Pack: A set of five WinForms programming components that provide your application with a rich choice of diagramming, charting, scheduling, mapping, reporting and gauge features. The tools are very easy to implement and use. They boast intuitive API and various step-by-step tutorials to get you started. Both online and offline documentation is available.

A sample browser presents you with all the samples for each control to let you easily navigate to what you need. You can check some of the features of each component right now if you look at the online demos:

Visit the features – page of the components for more information about their capabilities:

You can check the prices and licensing scheme here. All components are royalty-free.

MindFusion ASP.NET Pack 2014.R3 Released

MindFusion has just released a new version of its component suit for ASP.NET. The pack features a brand new mapping control and new features in most of the existing controls. Here are details:

DiagrammingMindFusion.Diagramming for WebForms

Zoom control
(not available in JavaApplet mode)
The ZoomControl class lets users change interactively the current zoom level and scroll position of a DiagramView. It’s very easy to set up a ZoomControl – just add the element to the page and set the control’s TargetId property to the id of a DiagramView. You can customize the control with the ZoomStep and ScrollStep properties. They let you specify how the diagram’s zoom level or scroll position are changed by the ZoomControl’s buttons. You can further customize the control’s appearance by setting properties such as Fill, BorderColor, CornerRadius and TickPosition.

The zoom control.

The zoom control.

Canvas mode improvements

  • The ShadowsStyle property is now supported in Canvas mode.
  • You can set the number of link segments from the client-side scripts by calling the setSegmentCount method.
  • The BackgroundImageAlign property is now supported in Canvas mode.
  • The TextPadding property of items is now supported in Canvas mode.
  • Nodes of all classes can be rotated.

Improved arrowhead rendering

  • Arrowheads are rendered as a single path when possible and several arrowhead Shape definitions have been changed to implement mitered joints when HeadPen is set to a thick pen.
  • You can specify the point where end segments connect to arrowheads via the LinkSegmentInset property of shapes.
  • Arrowhead shadows are no longer filled if the link’s EffectiveBrush is null or fully transparent.
New vs. old arrowheads rendering

New vs. old arrowheads rendering

Miscellaneous

  • VisioExporter export speed has been improved greatly for large diagrams.
  • Improved DiagramLink rendering speed.
  • Multiple-resize of rotated nodes fixed to apply same offsets in nodes’ local coordinate system.
  • The Brush property of LinkLabel class lets you set background color for link labels.

Map-16x16MindFusion.Mapping for WebForms

MindFusion.Mapping for WebForms comprises a .NET server control and a class library that provides your application with great features for loading, customizing and displaying any type of regional, national or world map. Easy to integrate and program, this control gives you the power to build the perfect map according to your needs with minimal time and efforts from your side. You can:

  • add labels to map elements
  • access database data associated with map elements
  • choose the color scheme
  • set decorative elements like images, icons etc.

Map data can be loaded from the popular ESRI Shapefile format and you have at your disposal an impressive variety of *.shp files, which give you valuable data for any country in the world as well for selected cities, rivers, roads and other geographic objects. Data for the attributes of map elements can be loaded from a DBF file associated with each map. The control supports multiple layers so you can show several maps in a single view.

The mapping control.

The mapping control.

MindFusion.UI for WebForms

Slider control
The new Slider control represents a range slider, which can be used to specify a numeric value constrained between a minimum and maximum.

A UI demo with the slider control.

A UI demo with the slider control.

The trial version is available for download from this link:

Download MindFusion ASP.NET Pack 2014.R3

About MindFusion.WebForms Pack: A set of WebForms components that add great variety of features to your ASP.NET application with a few mouse clicks. The pack contains advanced components for diagramming, scheduling, charting and UI (Accordion, ColorPicker, TabControl, Window, WindowHost, DockControl, Button, Slideshow, Zoom and more). Each tool boasts easy to learn and use API and is quickly integrated into any web application that targets the ASP.NET platform. The controls support numerous options for styling, data import / export, user interaction and offer rich event set. There are plenty of samples and step-by-step tutorials as well detailed documentation.

Use the features page for each of the tools to find out more about its capabilities and the numerous ways it can boost your performance and speed up the development of your application:

Visit the buy page for details on the licensing scheme and prices. If you have questions please contact us. We shall be happy to assist you.

Real-time Chart: Amplification Plot

MindFusion.RealTimeCharting for WPF assembly lets you visualize huge (and by that we mean huge) amounts of data with no special load on the machine it runs on. We drew inspiration from a popular chart in molecular biology – Real-time PCR, which:

can provide a simple and elegant method for determining the amount of a target sequence or gene that is present in a sample.

More on the topic here.

Since we self-generate our data, the result graphics are not that much the real thing but they demonstrate the algorithm of building the chart pretty well. Let’s start:

1. Create the chart

Drag the RealTimeChart from the toolbox or add a reference to the MindFusion.RealTimeCharting.Wpf assembly. The chart has no initial data so we start with a simple X-axis on the screen. We name our chart “rtChart”.

2. Customizing the X-axis

The X-axis is accessible via the rtChart.XAxis property. It exposes many appearance settings, from which we start with Interval, Length and Origin – they will define our axis. When data accumulates, the initial axis labels shall be replaced with their updated values.

   rtChart.XAxis.Title = "Cycle";
   rtChart.XAxis.Interval = 2;
   rtChart.XAxis.Length = 50;
   rtChart.XAxis.Origin = 0;
   rtChart.XAxis.LabelFormat = "0";
   rtChart.XAxis.PinLabels = false;

It’s worth noting that we don’t pin labels e.g. they will move along the axis as new data is added. We need no trailing zeros, so the LabelFormat is “0”.

3. The Y-axes

There is no limit on how many Y-axis we will create. In our sample we will use two: one at each side of the chart plot area. We need two instances of the Axis class, which we add to YAxisCollection and Y2AxisCollection respectively. Before we add them, we set their appearance. We want tick marks and rotated title. Note that we align the second axis (Y2) to the right.

   Axis yAxis = new Axis();
   yAxis.Origin = 0.0;
   yAxis.Length = 1;
   yAxis.Interval = 0.1;
   yAxis.Title = "ΔRn";
   yAxis.TitleRotationAngle = -90.0;
   yAxis.TitleFontFamily = new FontFamily("Verdana");
   yAxis.LabelFontFamily = new FontFamily("Verdana");
   yAxis.TickLength = 5;
   yAxis.TitleOffset = 10;
   rtChart.YAxisCollection.Add(yAxis);          

   yAxis = new Axis();
   yAxis.Origin = 0.0;
   yAxis.Length = 100;
   yAxis.Interval = 10;
   yAxis.Title = "Fluorescene";
   yAxis.TitleRotationAngle = -90.0;
   yAxis.TitleFontFamily = new FontFamily("Verdana");
   yAxis.LabelFontFamily = new FontFamily("Verdana");
   yAxis.TickLength = 5;
   yAxis.TitleOffset = 10;
   yAxis.LabelHorizontalAlignment = HorizontalAlignment.Right;
   rtChart.Y2AxisCollection.Add(yAxis);

4. Chart series

We need four series – two of them will be bound to Y and two – to Y2. It’s important to note that axes must be initialized before the series, because each series is associated with a given Y-axis when created.

Each chart series is an instance of the Series class. We want to show scatters at each series – for that we use the ScatterType property. Since we plan to show a legend, it’s important to set the Title of each series – because this title will be used as a legend label. Here is sample code for the first series:

  series1 = new Series(rtChart.YAxisCollection[0])
  {
      Stroke = new SolidColorBrush(Colors.Green),
      ScatterStroke = new SolidColorBrush(Colors.Green),
      Fill = new SolidColorBrush(Colors.Green),
      ScatterType = ScatterType.Diamond,
      Title = "Sample 1",
      TitleFontFamily = new FontFamily("Verdana"),
      TitleFontSize = 12

   };

    .......
   rtChart.SeriesCollection.Add(series1);

5. Data

Data is added directly to the Series.Data property. You can add a batch of points or one point at a time. The property requires that you add a Point e.g. you must set the X and Y values simultaneously:

Point[] points1 = new Point[clusterSize];

//generate some dummy data
...

series1.Data.AddRange(points1);
rtChart.Commit(minNewX);

Don’t forget to call the Commit() method in one of its overloads – it signals to the chart that new data has been added and refresh is needed.

6. Final adjustments

We want a legend and we turn on ShowLegend. The initial result is a legend in 4 rows, which does not look beautifully on our chart. We plat for a while with LegendWidth and LegendHeight and come up with a satisfactory outlook for our legend – in two columns, centered below the plot area.

Adding a tooltip is also easy – we set ShowFallbackTooltip to true. Since the chart might have numerous Y-axis we must choose, which axis the tooltip is bound to. In our case it’s the first one:

    rtChart.TooltipVisibility = Visibility.Visible;
    rtChart.ShowFallbackTooltip = true;
    rtChart.TooltipAxis = rtChart.YAxisCollection[0];

    rtChart.ShowLegend = true;
    rtChart.LegendHeight = 70;

We adjust the grid according to the data we have:

    rtChart.MajorGridSizeY = 50;
    rtChart.MajorGridSizeX = 2;

7. That’s it

Here is the final result:

Real-time chart: amplification plot sample.

Real-time chart: amplification plot sample.

Of course, there are many other settings and possibilities in the control. You can download the sample and expand its functionality and appearance:

Real-time Chart – Amplification Plot Sample Download

MindFusion.RealTimeCharting for WPF is part of MindFusion.Charting for WPF component, which also includes MindFusion.Gauges for WPF. Check the trial version for more practical, beautiful and easy to build charts and gauges.

About MindFusion.RealTimeCharting for WPF: A WPF programming component, which has been designed and developed to render real-time charts with huge amounts of data in a fast and efficient manner. The component uses innovative approach to draw the chart graphics, which forgoes the traditional constructing of a tree with the visual elements in WPF. This way CPU load remains minimal and graphics of tens of thousands of points are rendered with impressive speed. The tool supports unlimited number of Y and Y2 axes, legend, tooltip, background image, grid and more.

About MindFusion.Charting for Wpf: A programming component that combines powerful charting capabilities with an elegant API and easy use. Among the features of the control are fully customizable grid, positive and negative values on all chart axes, 3D charts, gauges and many more – read a detailed list here.

The control provides detailed documentation and various samples that demonstrate how to customize every type of chart. It supports a wide range of 2D and 3D charts including bar, line, radar, bubble pie etc. You can add tooltips, define themes, perform hit testing, zoom and more.

Charting for WPF, V1.9

MindFusion is pleased to announce a new release of Charting for WPF programming component. Here is an overview of the new features:

Real-time Chart
The RealTimeChart control is optimized to render animated line chart graphics of large amounts of data. That’s implemented by moving already rendered elements from the WPF visual tree to a cache bitmap, relying that new data is added incrementally rather than changing coordinates of old data points. The library also offers various customization options for the chart – scatters, multiple legends, multiple Y and Y2 axes, custom labels, tooltips, grid.

The real time chart.

The real time chart.

3D Charts

  • All 3D charts now support unlimited number of series.
  • New property Lights holds a collection of Light objects instead of the LightType property.
  • Detailed hit testing, which returns a ChartHitTestResult3D that contains the clicked 3D point, the normalized 3D point, a collection of chart elements (if found), and the nearest peak (in surface charts).
  • AllowMeshSelection property, which when enabled allows selection of mesh objects with a mouse click.
  • The MeshSelectionBrush sets the brush for the selection.
  • Behavior3D property, which lets you choose how the chart responds to mouse interactions.
  • Improved performance for all chart types.

Surface Charts

  • SurfaceType property, which sets whether scatters or surface is drawn.
  • SurfaceSeries.GroundLevelMargin property, which sets the GroundLevel-offset.
  • Each Series3D can be clipped in a given range with the ClipMinimum and ClipMaximum properties.
  • TextureType property sets the texture of the chart – Brush or ColorMap.
  • New ColorMapList property, which sets a Color map with arbitrary colors and offsets.
  • CloseModelFigure property, which closes the sides of the model if enabled.
A surface chart

A surface chart

Miscellaneous

  • ShowCrossHair renders a cross hair that will trace the mouse position over the plot area.
  • Enable the LineSeries.Curve property to draws lines as canonical splines.

You can read further details about the release and the other new features at the news section in the Charting forum. A trial version is available for download from here:

Download MindFusion.Charting for WPF 1.9 Trial Version

You are welcome to contact us with any questions, problems or inquiries about the Charting for Wpf control or any other of our products. MindFusion has always put special emphasis on providing excellent customer support and we usually answer your inquiries in a few hours of receiving them.

About MindFusion.Charting for Wpf: A programming component that combines powerful charting capabilities with an elegant API and easy use. Among the features of the control are fully customizable grid, positive and negative values on all chart axes, 3D charts, gauges and many more – read a detailed list here.

The control provides detailed documentation and various samples that demonstrate how to customize every type of chart. It supports a wide range of 2D and 3D charts including bar, line, radar, bubble pie etc. You can add tooltips, define themes, perform hit testing, zoom and more.