WinForms, WPF and ASP.NET Charting, WinForms and WPF Maps - Early Access Preview (v19.2)

v19.2 is right around the corner and as such, it’s time to show off some of the new features we expect to ship in the fourth quarter. The purpose of this post is to both share our plans and give you the opportunity to test new functionality before we reach "code freeze." If you own an active Universal or DXperience Subscription, you can download the early access preview build from the DevExpress Download Manager and test the features described herein. Your feedback will help us make this release the best ever – please take a moment to share your thoughts and let us know whether these enhancements address specific business requirements.
If you are using a trial version and want immediate access to the features described in this blog post, purchase a Universal Subscription (or DXperience Subscription) to obtain access to this early access build. If you are ready to upgrade to Universal (or DXperience) from another subscription, email us at for preferential upgrade pricing.

Charts - TimeSpan Axis Scale Support (WinForms, WPF, ASP.NET)

v19.2 will ship with full support for TimeSpan scales. You can plot your TimeSpan data as-is or specify a custom aggregation mode. TimeSpan data can be mapped to an X-Axis, Y-Axis or both.

Try it today: WinForms demo | WPF demo (see the Time-Span tab)

Note: You can also use a new Chart Range Control client with TimeSpan scale support. 

Try it today: WinForms demo | WPF demo

Charts - Waterfall Series (WinForms, WPF, ASP.NET)

Waterfall charts display the manner in which initial values are affected by a series of intermediate positive or negative values. You can plot Waterfall charts based on relative or absolute data values. We have also implemented two summary types: Total bar summarizes all values and is always positioned on the right side of the chart's diagram; Subtotals can be defined between two adjacent points (bars) to display intermediate values.
Note: This early access release only includes our WinForms and ASP.NET implementation. This feature will be added to our ChartControl for WPF prior to official release. 

Try it today: WinForms demo

Charts - Box Plot Series (WinForms, WPF, ASP.NET)

The Box Plot chart is a simple way to analyze statistic-driven data points. To draw a Box Plot point, you must specify Min, Quartile1, Median, Quartile3 and Max parameters. You can optionally display a set of Outliers and a Mean value.
Note: This early access release only includes our WinForms implementation. This features will be added to both our ChartControl for WPF and WebChartControl for ASP.NET prior to official release. 

Try it today: WinForms demo

Maps - HeatMap Data Provider (WinForms, WPF)

v19.2 includes a new cartographic visualization option – a heat map. To create a heat map, use our new data provider (HeatMapDataProvider) linked to geographical point data (latitude and longitude) and define the heat map color schema using PaletteBasedChoroplethColorizer.

Try it today: WinForms demo

Maps - A new Gradient Mode for ColorScaleLegend (WinForms, WPF)

v19.2 includes a new EnableGradientScale property. This property allows you to enable gradient fill mode for Color Scale Legend items. 

Try it today: WinForms demo

Maps - In-Memory Image Tile Provider (WinForms, WPF)

The ImageTileDataProvider now makes it possible to display custom tile images without saving them locally. You can load image tiles created at runtime from almost any source. To do this, create a bitmap for each tile based on its indices.

We published sample projects to illustrate this approach. You will find them in our GitHub repository: WinForms, WPF.

Your Feedback Counts

As I mentioned earlier, your feedback matters. If you own an active Universal or DXperience Subscription, please download the early access preview and share your thoughts with us.

If you’re currently using our charting libraries and data visualization components, we’d love to hear from you.
NOTE: Early Access and CTP builds are provided solely for early testing purposes and are not ready for production use. This build can be installed side by side with other major versions of DevExpress products. Please backup your project and other important data before installing Early Access and CTP builds.

Free DevExpress Products – Get Your Copy Today

The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the DevExpress Support Center at your convenience. We’ll be happy to follow-up.
Tony P.
Tony P.

I'm currently using the XYDiagram2D and I have to have Rotated=True because I am using RangeBarOverlappedSeried2D in a fashion that the user likes.

The problem with this is that I am using a Collection for PanelItemsSource.

They want different types of charts in the PanelCollection but because I have the XYDiagram2D rotated, I am limited to LineScatterSeries2D and PointSeries2D to display the data correctly.

What really needs to be done is that there should be another type of RangeBarOverlappedSeries2D that is inverted so that one is not bound by this limitation.

Something like



This doesn't seem like it would be that hard to implement.

20 August 2019
Alex (DevExpress Support)
Alex (DevExpress)

Hi Tony,

We will take your inquiry into account when discussing future ChartControl enhancements. As an immediate solution, use separate ChartControls instead of Panes to show both rotated and non-rotated Series views side by side.

20 August 2019

This might not be the right forum for this but here goes.  I am a heavy user of your charts and grid control.   I find that combining the two gives my users a simple interface to view their data without me having to write a query for every chart type.  Effectively your aggregation and filtering gives my users "the last mile" queries on their data that massively reduces the amount of custom coding that I need to do.  Features that  allow chart configuration to replace queries and custom code leverage my capabilities signficiantly while reducing complexity of the user interface.

 The aggregation capabilities are a great example, I don't need to write queries by day/week/month/quarter, I can just make radio buttons and configure the plot to aggregate for me.  I find I hit brick walls where the solution is "fix it with your query", "add a custom calculated column", "create a custom comparer".  While these answers will get me to a solution they end up requiring custom code that seems like could easily reside in the chart and grid tool.

For example, I just discovered that your TopN/Other charts don't work when you use a series template (which is what I almost always do).  I was given a work around, but the "Other" aggregation (that collects all of the filtered data into one value labled other) is not supported because the work around just changes the visible range of the xaxis. 

I had a similar issue when I needed to plot a CumSum of a given data set.  The solution was to add a grid column that does the sum and plot that column.  The problem is that I have 10 variables that my users might want to CumSum and I want it to be displayed after they've filtered in a grid, Is it really a solution to have me add 10 columns to my grid and the columns will depend on the data set?  Give me a way to make a series that is the CumSum of a series already in the plot.

I often want to sort my data along the x-axis based on a value (e.g. to make a Pareto chart).  To make this work I need a custom comparer which works (with some bugs I need to work around), but a full stacked bar chart can't sort by values of a single series (e.g. give a data set with entries that are pass/fail show me the the data with the pass% sorted from best to worst...the sum of the bars is 100%...).   This can't be done without custom code, unbound columns or custom queries.  How about SortXAxis = True, SortValue="Pass", SortDir=Descending.

29 August 2019
Alex (DevExpress Support)
Alex (DevExpress)
Special thanks for sharing your use cases with us. I agree that these features (Calculated Series, Global Top-N Mode, Sorting by Total Value) are useful enhancements, especially in ad-hoc chating scenarios.

We are always open to our customers' suggestions on how to improve the ChartControl functionality to address all common usage scenarios and keep the amount of custom code to a minimum.

Although I cannot provide you with an estimate, we will take your suggestions into account when discussing future plans. Feel free to contact us in Support Center if you need any technical assistance. We will do our best to help you.
2 September 2019

Please login or register to post comments.