Benefits of XtraCharts

ctodx
03 April 2008

I was chatting to our charting team lead recently and I asked him what features did he think XtraCharts had that would make it the choice for someone who needed charts in their application. I know what floats my boat about the product, but then again I don't have to write applications with charting in them, so I was anxious to hear his side of the story, from interactions he's had with customers either face-to-face or via support questions.

Funnily enough the first thing he came up with was ease of use. The XtraCharts Wizard. Think of Microsoft Excel, he said, think of how you create a chart there. You use a wizard.

 

Setting up charts can be difficult enough and you'd like to have a "sandbox" whereby you can try things out before committing to a particular look. So, our Charts Wizard gives you the chance to experiment with settings and to see the results there and then on your form in Visual Studio. Don't like what you see? Fine, just rollback the changes or press Cancel, and start over again. We provide mini- views, icons if you like, of what the chart would look like before you apply that type or style, much easier than trying to remember what a full-stacked spline area chart is. For best results the Wizard can be used either in the traditional page-by-page wizard interface, or you can jump directly to individual pages.

The developers implementing the charts shouldn't just be the ones to have all the cool toys either, and so our Charts Wizard can be invoked at run-time to enable your end-users to experiment with the look and feel of their charts. Of course, once you allow that, it's a given that you must be able to tweak and customize the wizard to do things like localize the UI, hide elements of the UI you don't want your end- users to use, or add new pages to the wizard for your particular chart solution.

All told, the ability to use the same Chart Wizard at design-time and at run-time is a strong indicator of the ease-of-use of XtraCharts.

OK, I said, what's next on your list? He thought a bit and came up with the number of business chart types. This is possibly where I might have started with my collection of XtraCharts benefits. Did you know that, as of v2008 vol.1, we have 42 (yes, indeed, Douglas Adams fans: 42)? Go on I say, what are they, expecting him to say something like "pie, pie with one slice removed, pie with all slices removed" and so on. Nope, he gave me the list:

2D-charts: Area, Candlestick, Full-Stacked Area, Full-Stacked Bar, Full-Stacked Spline Area, Line, Overlapped Range Bar, Point, Side-by-Side Bar, Side-by-Side Range Bar, Spline Area, Spline, Stacked Area, Stacked Bar, Stacked Spline Area, Step Line, Stock, Doughnut, Pie, Overlapped Gantt, Side-by-Side Gantt, Radar Area, Radar Line, Radar Point, Polar Area, Polar Line, Polar Point.

3D-charts: Area Chart, Full-Stacked Area, Full-Stacked Bar, Full-Stacked Spline Area, Line, Manhattan Bar, Side-by-Side Bar, Spline Area, Spline, Stacked Area, Stacked Bar, Stacked Spline Area, Step Line, Doughnut, Pie.

I must admit I goggled a bit at that and resolved to go back to the charts demo and check them out. (Radar Area? Sounds fascinating.) He pointed out that we have two visually distinct financial chart types: Stock and Candlestick. Stock charts were familiar to me (they show open/close and high/low prices as ticks on a vertical line, but candlestick charts were new for me.

Nice.

The next item on his "why you should use XtraCharts" list was data binding. To be precise, we can bind the X values and the series to any datasource that implements IList or IEnumerable (which covers the usual suspects like arrays and so on). Since a chart can show several series, each series can be bound to a different data source. I said I would expect that in a charting package and surely we had something beyond that. Indeed we do he said, we have Series Templates.

This sounded interesting. Take a data source that has, conceptually, several series in it distinguished by the value in a field of the data source. So, for example, imagine a data source that has monthly sales of widgets. You want to plot each widget's monthly sales on the same chart. Rather than have to construct individual data series for each widget for this job, you use a Series Template that automatically filters each series by widget.

Next up: different chart types plotted on a single chart. I told him to give me something interesting: surely all charting packages have that and it's almost not worth discussing it.

He got a glint in his eye, what about secondary axes? OK, I said, cautiously, surely this is similar to trumpeting that our soda cans have ring-pulls? That our bicycles have two wheels? Surely everyone does this? He said, sure, but we have no limits on the number of secondary axes you can plot on the same chart, be they X or Y axes.

 

Useful in certain circumstances, I'd have to admit, although going beyond two secondary axes or so might be difficult to read. But it's nice to have the flexibility than just a single secondary Y axis say.

"Hot-tracking" he says. Ah, I know about this, I had a long chat with a customer on the phone about this feature recently. Hot-tracking is when you specify certain regions of your control as "hot" so that when a mouse cursor moves over it or it gets clicked you get notified. You can then display a tool-tip or invoke some action. Not only is this feature available at run-time for your end-users, so you can quickly implement drill-down and such features, but it's also available at design-time so that you can easily edit particular chart elements using the property grid.

It was at this point that we got into the normal list of features that any charting product should have: automatic resizing of axes according to points being added or removed, gradient and other fills for area charts, skinning and theming, the usual image formats for saving charts, unlimited points in data series, etc.

19 comment(s)
Holger Persch [DX-Squad]
Holger Persch [DX-Squad]

Well said Julian - XtraCharts is a great product. I'm quite sure I can rate this correctly because I have used a couple of different charting libraries. Unfortunately I still can't replace the charting library I'm using now with XtraCharts because XtraCharts still lacks some features. :-(

4 April, 2008
RAUL TORTIMA
RAUL TORTIMA

I am quite sure XtraChart is quite an excelent product, as is any Dev's product. Thats what kind caused me some surprise to hear that...

Holger, could you explain further in details, which features are not available in XtraCharts (and are available in other suites) ?

4 April, 2008
Julio Delgado_1
Julio Delgado_1

I am with Holger, we do trending for Process applications  and Dashboards where we need to trend Pressure, Temp, Levels Production rates... vs time.  We used gauges for production eff, we use a lot of multi-panes charts  or multiple areas also x axis of datetime axis is flexible to setup different type of grouping or axis markers or smart time intervals.  I hope that it is okay to mention then here but we use ...FX components  and a dotnet...  I used ..FX when I need a client component where the user needs to interact with the chart and I used dotnet... if we just need a chart with no user interaction.  I understand that the two vendors ,charts is their only product so they concentrate all of their efforts on charts.   I wish that Devexpress will provided similar solutions to dotnet...

4 April, 2008
Mohsen Benkhellat
Mohsen Benkhellat

In our application, we need the Gantt chart to represent dependencies within a structure (think or tasks in a project) and its only missing feature is being able to redefine interactively data by acting on bars (tasks) and the links between them using the mouse.

Mohsen

4 April, 2008
Holger Persch [DX-Squad]
Holger Persch [DX-Squad]

We are mainly creating technical based charts. These are representing report for electric power, natural gas and water consumption.

Currently we are using Tee... for charting.

What we are missing in XtraCharts:

S18643   Chart - Multi-diagram charts

AS11579   XYDiagram3D - ability to create a secondary axis (multiple axes as in 2D)

CS58509   Series View - Add Step Area series view (3D too)

AS5168   Series View - Add 3D Point Series

DS4971   Custom Draw - Enhance custom drawing ability of ChartControl

DS3615   Series Point - Ability to manually modify Y-values at runtime

DS3489   Legend - Add checkboxes to it (low prio)

DS4149   Strip - Add ability to specify its transparency

4 April, 2008
Andreas Lindenthal
Andreas Lindenthal

We are although creating technical based charts and we have the same request as Holger.

We are althought using Tee.. for charting and we wan't to move to XtraChart because we are using for the rest of the program only DevExpress components.

4 April, 2008
Mark Gould
Mark Gould

We also use a mixture of packages. We generate a lot of printed reports (using XtraReports) with charts and find the fixed resolution output that XtraCharts produces doesn't look as good as some of the competitors which can produce scaleable output which is compatible with XtraReports.

It is mainly noticable on line charts or charts with small text on axis - the text can end up too dithered to be readable. The anti-aliased lines look fine on-screen, but messy in print.

4 April, 2008
Neal
Neal

I currently use another product D-something! :)  I plan to switch to XtraCharts.  It sounds to me, from the many replies to this article that there needs to be a better conduit of feedback from customers as to what they need, or limitations in the current product as to why they aren't using it.  I'm a big fan of feedback, maybe survey's or solicited feedback would be beneficial.  Features such as combining multiple chart types into one chart is nice.  I'm sure Gauges is in the works, think it was on the road map, it is desperately needed and a logical building block after charts.

Great article, keep'em coming!

4 April, 2008
Jim Leary
Jim Leary

I would like to use XtraCharts; however, we need a lot of dashboard-like components, as well. For example, a funnel chart.

4 April, 2008
Ray Navasarkian (DevExpress)
Ray Navasarkian (DevExpress)

Ah, sometimes you guys crack me up :-)

Neal, this has nothing to do with communication feedback - it has everything to do with chart types people want to use. The charting tool you use by itself costs 2-3 even 4 times as much as the price of EVERYTHING we offer.

Julio, the one you use is much like the one Neal uses...pricing at 2-3-4 times what we charge for EVERY single control and library we offer.

And Holger, as a DX-Squad member you ought to know better...when you name someone's product, we either have to keep our stupid mouths shut or we have to reply and defend our products. If we defend our products, we sound like jerks trying to hurt someone else. I've met the guy who builds the charting product you use and can say he is one of the nicest people in our business...His taste in food (like pigs trotter) is sometihng I dont agree with nor is his choice to charge for server deployment. My sense is that you started with his VCL product like I did and I have pretty strong opinions on that and they are not all that favorable.

Now, folks...if you want us to charge the amounts that these other packages do - in essense to charge $3k and up for DXperience Enterprise (which is far more than just a charting control) - Im more than happy to oblige. In fact, when and if we do this, I'd expect to have enough charts types in a few months to make all of you scratch your heads and ask, now why are they building so many chart types.

To repeat, the reason I made the policy to restrict conversations on our servers to our products is because of comment threads like this. I could swallow my tongue, but that goes against my genetic code. As always folks, feel free to ask what you'd like us to deliver to market. We will take every suggestion seriously and please do me the favor to compare apples to apples. Finally, if you are willing to pay the kinds of licensing fees that you seem willing to pay in this comment thread for charting, please do let me know - Im willing to listen and radically increase the cost of our charting libraries.

4 April, 2008
Julian Bucknall (DevExpress)
Julian Bucknall (DevExpress)

Whoa, hold on, people. Nowhere have we said that XtraCharts is for real-time charting, nowhere have we said it has a dashboard, etc. This is a bit like saying I'm not buying a Toyota Prius because it doesn't have turbo and permanent four-wheel drive and those Toyota people are just nuts for not providing them and so I'm not buying a Prius until it does. Oh, and a 300 cubic inch engine would be good too.

Now, I'll agree that some of these items are nice to haves, some pretty essential, and I'm glad they're reported as suggestions. And we've already talked about gauges and dashboards in our roadmap. But it remains that if you want good looking, easy to produce business charts right now, XtraCharts is it.

Cheers. Julian

4 April, 2008
Ray Navasarkian (DevExpress)
Ray Navasarkian (DevExpress)

:-)

Sometimes I feel like that Toyota dealer. "Hey, im looking to build an ASP.NET and WinForms solution. I need charting, reporting, grids, editors, schedulers, etc etc. I like your products, but can you give me a few hundred bucks off - Im on a tight budget."

At least from now on, we can reference this thread :-)

4 April, 2008
Holger Persch [DX-Squad]
Holger Persch [DX-Squad]

Ray, I never want to talk down someone's product - far from it! I like T..., but I would like to reduce the number of libraries used in our aplications.

4 April, 2008
Anonymous
Brad White

> "Next up: different chart types plotted on a single chart. I told him to give me something interesting: surely all charting packages have that and it's almost not worth discussing it.

He got a glint in his eye, what about secondary axes? OK, I said, cautiously, surely this is similar to trumpeting that our soda cans have ring-pulls?"

I have needed and used secondary axes.  Right now I need one in Reporting Services and they don't have it.

Just to be sure, I tried in Excel and they have a secondary

Y axis but nothing for X.

4 April, 2008
Holger Persch [DX-Squad]
Holger Persch [DX-Squad]

PS: And the same is with reports - before we the purchased the DXperience library including XtraReports we have used another reporting library for a long time. Soon we will have migrated all reports to XtraReports and the other library will have to go. All the guys at DX have done great work and I'm just feel confident about the quality of DXperience. This exclusively is the reason why we are using DXperience and why I'm a member of DX-Squad.

Once again: I won't to talk down any product here because I'm quite sure everyone who offers a product has put all he can offer into it.

5 April, 2008
Bjorn Isaksen
Bjorn Isaksen

XtraCharts is a great product and I love it. Only problem is, I need Logaritmic x-axis so I can't use it. Hopefully it will come in near future

9 April, 2008
Aaron Smith
Aaron Smith

I love XtraCharts. It does have a couple features lacking for us, but for the most part it rocks.

By the way, we use XtraCharts in our Dashboard without a problem. It's not real time, but they can refresh it to get another snapshot.

Now, gauge controls... That would be an EXCELLENT idea!

25 April, 2008
Anonymous
Richard Sisson

I have been assessing the DXperience suite, and compared to others on the market it wins hands-down on functionality and affordability…well done!

XtraCharts seems to follow this trend, and although it has some limitations, in general it does a fantastic job of completing the job that it sets out to do...plotting data.

Obviously the product is still developing, presenting data in ever-increasing ways in response to the requirements of users.  

The major limitation that I find with the product is the lack of logarithmic (log base 10) scales, crucial for the visualization of data with large variations in value.  Addition of this functionality alone would greatly increase the application of the product, and is a key feature that many other vendors seem to offer. Bjorn Isaksen’s comment is not the only one that I have seen regarding this feature.

My hope is that the request for logarithmic scales will be taken seriously and implemented in a release soon.  I know that Bjorn and I are not the only developers asking for this function, as it is registered in AS6078 and numerous others.  The response to a recent request by Jürgen Jäger (Q102651) indicated that log scales may (or may not) be implemented in 2008.2.  Can we please have some confirmation of this as it is very difficult to plan application development on these uncertainties.

My belief in the DXperience suite (because of its tight integration with the other DXperience products) and the XtraChart is leading me down the path of looking into developing my own SeriesView (still need to look in detail at the structure?) to enable logarithmic plotting myself.   Truthfully I hope that this can be implemented by DevExpress.

9 June, 2008
Michael Leiderman
Michael Leiderman

We use DXperience suite for all GUI tasks except charting. We need fast render the large amount of points (up to 20000) and GDI+ is helpless. Now we use Xceed Chart with OpenGL rendering. Will XtraChart for WPF have that feature?

15 January, 2009

Please login or register to post comments.