Chart is a high-performance charting component that is easy to use and visually stunning. It includes 35 chart types, ranging from simple column charts to specialized financial charts. The charts are also highly customizable and have a powerful data model to make data binding simple.
Chart has a powerful wizard that helps to visually design a chart during design time.
Chart can efficiently handle real-time data as illustrated in the screenshots below. Updates are optimized to be smooth and flicker-free.
Smart labels are just one of the built-in optimization techniques that ensure data point labels do not overlap when rendered next to data points.
Save time by persisting the appearance of a chart created at design time, as well as run time, as a template. Apply the saved style to a new chart by loading the template.
Users can add an unlimited number of data points to a chart series. Chart is optimized to handle such large sets of data.
Users can add an unlimited number of data series to a chart. It is optimized to handle such large sets of data.
Enable the built-in zooming and scrolling features of a chart to provide users with great chart flexibility. Users can simply click and drag any chart area to select and zoom. Once any part of the chart area is zoomed in, scroll bars will automatically appear to let the user view areas beyond the currently displayed chart area. A zoom out button lets users revert back to the default mode.
Chart supports panning a chart when it is zoomed. Users can easily navigate to parts of the chart outside of the viewing area by simply clicking and dragging.
All the visible strings in a chart can be localized to any desired language.
Chart provides a very easy way to implement a custom data model by using a simple data model interface. Use this approach to encapsulate your data retrieval code within a scalable scope. Such custom data models perform better than manually populated chart series when dealing with large amounts of data. The following screenshots illustrate indexed and non-indexed model interfaces.
Chart makes it easy to bind data set instances containing data point values to a chart series. Simply use the built-in ChartDataBindModel class to set up this binding as follows:
The simplest and most straightforward approach is to populate a chart series with data points as shown:
Chart supports binding axis labels to pie, funnel, and pyramid charts. This feature displays data-bound labels in charts.
Chart supports binding to LINQ query results. Use LINQ to create varied, concise, and optimal views of your data. Bind to LINQ query results and view your data using many different chart types. Binding a LINQ query result to a chart, and the resultant display, are illustrated here:
Chart can be used with Essential XlsIO to import data from Excel documents into a chart. Simpler Excel data can, of course, be loaded using the Microsoft Jet OLEDB data provider.
Chart includes a comprehensive set of more than 45 chart types for all your business needs. Each one is highly and easily configurable with built-in support for creating stunning visual effects.
Chart supports 3-D modes for all chart types except polar and radar charts. The depth of the z-axis is customizable through the depth property. The real mode option specifies if the chart is displayed in a 3-D plane. Users can also use the rotation or tilt properties to rotate the control programmatically.
Add alpha blending to a chart series to help interpret data that may be hidden behind a series. It can also give a new effect to 2-D and 3-D charts. Alpha blending is ideal for making one series visible through another, as in the accompanying figure.
Chart supports rendering a chart in different ways using the SmoothingMode property in a chart control. The default option is anti-alias.
Chart for Windows Forms contains 14 different types of built-in skins that allow you to easily customize chart appearances. The skins property allows you to apply predefined skins to the control, giving you plenty of customization options.
Shadow effects can be applied to the chart area and chart series as illustrated.
The layout and background of the chart control can be easily customized.
Chart supports 13 different built-in border styles. The interior style and the size of the chart border can also be customized.
The font for all text rendered in a chart can be customized.
Render professional-looking charts with gradient colors in the chart interior and other chart areas.
Symbols can be associated with each chart series to highlight data points. There is also an option to specify custom images instead of the built-in symbols.
Chart provides support for a clustered view in 3-D mode. This effect shows z-axis data extended in the third dimension while clusters are displayed in the foreground.
Chart comes with a set of color palettes that are automatically applied to a chart’s data points if no custom colors are specified for the series. These built-in palettes offer a rich set of colors to render professional-looking charts.
Chart also lets you define and add custom color palettes.
Chart supports rendering data points from right to left to adhere to certain local standards. All built-in strings rendered in the chart control can also be easily localized using localization binaries.
Customization options are available for the border color, style, and width of the data points in a chart series, thereby improving the appearance of a chart series.
Spacing allows you to customize the space between series columns to give data more clarity. Increased spacing between columns will in turn reduce the width of a column. Support is also provided to control the spacing among series in 3-D mode. Series spacing is set as a percentage value of the z-axis depth of a column.
Chart supports the display of multiple pie charts in one chart area for easier presentation and analysis of chart data.
Chart has an automatic range scaling engine that computes the best possible range for a given set of values. Automatic range calculations are also configurable. Automatic ranges are also calculated for date values. The range intervals are calculated to be in increments of easily understandable date segments, such as weeks, months, years, etc.
Chart supports a combination of both stacking and side-by-side chart axes layouts when multiple axes are used. Multiple axes allow for greater control and flexibility when dealing with large amounts of data. The multiple axes layout feature is illustrated in the accompanying image.
You can customize the appearance of axis labels by specifying the size, color, and font of the labels in a chart.
Axis labels can also be rotated to any angle. This is convenient when axis labels are long enough to interfere with other labels. In fact, chart is smart enough to automatically rotate axis labels to avoid overlap.
The x-axis and y-axis line appearance can be customized to fit your needs. The style, width, and color of these lines are configurable.
Strip lines are bands that can be drawn horizontally or vertically in a chart’s background to highlight certain regions. They can also be repeated to mark weekends, for example.
Chart axes support major and minor tick marks. The appearance of a tick’s color, height, and width can be customized.
The appearance of chart axis labels can be customized. Chart offers support for the inclusion of custom labels, which can be edited at run time. Chart axis labels can also be grouped as desired, and the grouping label text, color, font, and other related information can also be defined. Individual label positions can be controlled to be either to the left or right of the axis, or to the top or bottom.
Chart lets you specify a custom origin in a chart. The origin can be any specific value in the axis range, or it can also be a specific data point’s value.
Chart lets you specify a custom range for the axes if the default calculated range is not good enough. You can specify the range as well as the intervals of an axis. The accompanying screenshot shows a custom x-axis range with a minimum value of 0, a maximum value of 6, and an interval of 1. The custom y-axis range has a minimum value of -100, a maximum value of 600, and an interval of 100.
A polar chart is a circular graph in which data is displayed in terms of values and angles. Chart lets you specify any custom range instead of the default 0–360 degree range values for the axes of a polar chart. You can set the range and intervals for an axis. The accompanying image illustrates a polar chart with a customized axis with a minimum value of 0, a maximum value of 12, and an interval of 1.
Horizontal and vertical gridlines can be displayed in the chart area to help clarify series values. Gridline appearances can also be customized, as shown in the accompanying figure. All dash styles (dash, dot, dash dot, dash dot dot, solid, custom) are available for gridlines. It is also possible to show and hide gridlines.
Any chart axis range can be reversed and data for such an axis will be plotted in the opposite direction as shown in the following screenshot.
Chart supports logarithmic axes. The data type of any series plotted on the chart can be set to logarithmic. Both axes of a chart can be customized to display logarithmic values. You can also specify custom logarithmic axis ranges for the chart. Logarithmic axes are usually used to show data with large ranges.
Chart supports the opposed position of chart axes. The axis of a chart can be positioned opposite to that of the default axis position. This is useful in creating RTL charts.
Scale breaks help in accommodating outlying data in a chart while also clearly displaying normal values. Scale breaks can be applied automatically or manually.
Chart supports multiple axes. You can add a secondary axis and position it next to or below the primary axis. Chart supports displaying ellipses at the end of a title when the title text exceeds the axes bounds. This feature can be implemented in both the primary and secondary axes.
Chart supports the customization of solid circle lines in polar and radar charts. The Pens property of primary x-axes and y-axes is used to set the style of the solid circles.
You can add tooltips to the chart axis labels.
Multiple chart titles, each at their own custom position, can be added to a chart.
Relative to the side it is rendered on, the title of a chart can be aligned near, center, or far.
Chart lets you position the chart title at any of the four sides of a chart.
Chart also supports custom background images in a chart’s legend.
Chart provides options to customize the border styles of the legend.
Chart allows users to dock a chart legend anywhere within the chart area. The legend can also be aligned near, center, or far in the docked side. The chart legend can also be set to float so that the user can drag the legend around during run time.
The item text in the chart legend can be aligned near, center, or far within the item bounds.
Chart provides a number of options to set the legend representation type.
Chart supports rendering legend text with a shadow effect.
A chart’s legend can have a custom title with a custom font style, size, and color.
The check box feature in the legend lets your users show or hide a series during run time.
Chart supports displaying multiple chart legends with custom legend items that can be associated with any chart series.
A chart’s title can be customized with custom fonts, colors, and sizes.
Chart data points can be automatically highlighted on mouseover. The highlight color for such elements can be customized.
Any Windows Forms control can be hosted within the chart control by using the docking manager available for the chart. By using the docking manager, any Windows Forms control can be docked to any region inside the chart control.
Built-in context menus can be implemented in the chart control.
Using the mouse events fired by a chart, you can track the drag-and-drop of a chart point to a new location.
Interactive cursors let you position cursors at a specific data point in a series and point out the x and y values via a horizontal and vertical line passing through the data point and intersecting the x-axis and y-axis. Interactive cursor lines can be dragged to position them at specific data points.
A built-in toolbar is available for chart.
Tooltips can be displayed when hovering the mouse pointer over a chart area, data points, and other regions. Customization options are also available for tooltip text.
Chart also includes a “fancy tooltip” feature which occurs when hovering over a data point. This tooltip looks like a balloon and includes information regarding the series name and x and y points.
A trackball can be used to view the closest data point near a mouse or touch contact point. A line with markers and tooltips will appear at the location of the data point. Information about the data point can be displayed using the trackball tooltip.
A crosshair can be used to view the axis coordinates at the mouse location or touch contact point. Information about the coordinate can be displayed in a tooltip near the axis.
Chart provides support for highlighting a specific series of the chart on which the mouse hovers. The series can also be highlighted by hovering the pointer on the legend of the series.
Chart provides APIs to export a chart as an image file with support for all popular image formats. Supported formats include .bmp, .jpg, .gif, .tiff, .wmf, .emf, .svg, and .eps.
Using Essential DocIO, a Word document can be dynamically created that contains an image of the chart.
An image of a chart can also be added to a grid cell dynamically.
Using Essential XlsIO, chart data points can be exported to an Excel worksheet, and an Excel chart can be created to render that data.
Using Essential PDF, you can dynamically create a PDF document containing a snapshot of the chart.
A chart can be exported and saved as a scalable vector graphics (SVG) file. SVG defines graphics in XML format, which is very useful in viewing a zoomed-in or zoomed-out chart where the quality is not lost due to the zoom level.
A chart can be printed in color, grayscale, or automatic mode.
This feature enables you to save the series and point properties into an XML format and load it into a new chart control.