Charting in Blazor

I see Charts is a component you will be adding as part of your roadmap. Just wondering if you have any timeline for that as it's vital for the construction of dashboards.

The chart topic is something we have discussed a lot internally so please allow me to elaborate.

In Radzen Angular applications the charts are powered by ngx-charts - an excellent open source chart library based on the popular D3 data visualisation framework. I will be the first to admit that these charts aren't as powerful as the market leaders (HighCharts et. al.). Still ngx-charts is the best thing available: native Angular, open source and has the required features.

In Blazor the situation is quite different. There is no Blazor equivalent of D3. Most commercial component vendors have decided to embed their existing JS charting engines. There are open source Blazor libraries that wrap ChartJS (probably the most popular open-source charting library). Wrapping a JS library works in Blazor for the most part until it doesn't. Sooner or later one would like to customize something and will have to write some JavaScript. IMHO a Blazor chart has to be customizable via C# code to achieve optimal developer experience.

This leaves us to make a tough choice:

  • Wrap ChartJS (or any other open source JS charting library)
  • Create a native Blazor chart.

We have still not decided which road to take. Wrapping a JS charting library is easier and faster. And will definitely fall short at some point. Creating a full-blown chart library is a business on its own. There is a reason why HighCharts is paid software developed for more than 10 years.

What are your charting requirements? If they are simple enough our recently released article about using custom components should be of some help. It will allow you to use a third party or an open source chart.

Thanks for the quick reply, I'm looking for the standard mix of charts used in dashboards (Line, bar, pie, doughnut etc) I've been building my Dashboards using Telerik Blazor charts but their functionality has been limited as I believe they are building new components and not reusing their existing js charts. I have also looked at wrapping their jquery charts but as you mentioned it can start getting complicated very quickly when trying to wrap all the functionality (They had an example of wrapping their jquery for Blazor which I used before their Blazor charts). Telerik have added most of the charts I want in their latest version so I'll probably stick with that and look at your article re: custom components.