Declined
Last Updated: 18 Jan 2024 09:39 by ADMIN
Mark
Created on: 19 Dec 2023 17:25
Category: Charts
Type: Feature Request
6
Stackable range column/bar series

I would like to be able to stack series on a range chart. Currently the best hack recommended by Telerik is to show two charts on top of one another, with no interactivity or legends, https://blazorrepl.telerik.com/wHPclTFm28WuoSOp57.

Source: Is it possible to 'stack' series in a Range Column Chart? in UI for Blazor | Telerik Forums

 

Thank you

7 comments
ADMIN
Hristian Stefanov
Posted on: 18 Jan 2024 09:39

Hi Mark,

Could you share if you have seen such "drill-down" functionality that matches your needs somewhere else so we can use it as a reference to better understand the idea? Additionally, if you could provide a screenshot illustrating the desired result, it would be helpful.

I look forward to hearing from you.

Regards,
Hristian Stefanov
Progress Telerik

Stay tuned by visiting our public roadmap and feedback portal pages! Or perhaps, if you are new to our Telerik family, check out our getting started resources!
Mark
Posted on: 11 Jan 2024 19:17

Hi Hristian

 

Regarding 'drill-down', we do not want to click and navigate to a different view. We just wanted it to be visualised on the series. We have used  'drill-down' in other scenarios but it does not fit our requirements for the use-case which prompted this feature request.

 

Thanks

Mark
ADMIN
Hristian Stefanov
Posted on: 11 Jan 2024 12:51

Hi Mark,

Your feedback on this item is highly appreciated. Thank you.

Regarding the ability to "breakdown" a series into sections, this describes a drill-down functionality that our Charts already offer: DrillDown Charts. I have also prepared an example for you to demonstrate:

<TelerikChart Width="100%"
              Height="400px">
    <ChartTitle Text="Cash Flow"></ChartTitle>
    <ChartSeriesItems>
        <ChartSeries Type="ChartSeriesType.Waterfall"
                     Data="@ChartData"
                     ColorField="@nameof(CashFlowData.Color)"
                     Field="@nameof(CashFlowData.Amount)"
                     CategoryField="@nameof(CashFlowData.Period)"
                     SummaryField="@nameof(CashFlowData.Summary)"
                     DrilldownField="@nameof(CashFlowData.Details)">
            <ChartSeriesLabels Visible="true"
                               Format="C0"
                               Position="@ChartSeriesLabelsPosition.InsideEnd" />
        </ChartSeries>
    </ChartSeriesItems>
    <ChartValueAxes>
        <ChartValueAxis Type="ChartValueAxisType.Numeric">
            <ChartValueAxisLabels Format="C0" />
        </ChartValueAxis>
    </ChartValueAxes>
</TelerikChart>

@code {
    private CashFlowData[] ChartData { get; set; }

    protected override Task OnInitializedAsync()
    {
        ChartData = GetWaterfallData();

        return base.OnInitializedAsync();
    }

    private CashFlowData[] GetWaterfallData()
    {
        return new CashFlowData[] {
            new CashFlowData
            {
                Period = "Beginning\nBalance",
                Amount = 50000,
                Color = "green",
                Details = new ChartSeriesDescriptor()
                {
                    Name = "First Details",
                    Type = ChartSeriesType.Column,
                    Field = nameof(CashFlowDataInner.Sales),
                    CategoryField = nameof(CashFlowDataInner.Name),
                    Data = new List<CashFlowDataInner>()
                    {
                        new CashFlowDataInner() { Name = "Name 1", Sales = 30M },
                        new CashFlowDataInner() { Name = "Name 2", Sales = 20M }
                    }
                }
            },
            new CashFlowData
            {
                Period = "Jan",
                Amount = 17000,
                Color = "green",
                Details = new ChartSeriesDescriptor()
                {
                    Name = "Second Details",
                    Type = ChartSeriesType.Column,
                    Field = nameof(CashFlowDataInner.Sales),
                    CategoryField = nameof(CashFlowDataInner.Name),
                    Data = new List<CashFlowDataInner>()
                    {
                        new CashFlowDataInner() { Name = "Name 3", Sales = 50M },
                        new CashFlowDataInner() { Name = "Name 4", Sales = 40M }
                    }
                }
            },
            new CashFlowData
            {
                Period = "Feb",
                Amount = 14000,
                Color = "green",
                Details = new ChartSeriesDescriptor()
                {
                    Name = "Third Details",
                    Type = ChartSeriesType.Column,
                    Field = nameof(CashFlowDataInner.Sales),
                    CategoryField = nameof(CashFlowDataInner.Name),
                    Data = new List<CashFlowDataInner>()
                    {
                        new CashFlowDataInner() { Name = "Name 5", Sales = 70M },
                        new CashFlowDataInner() { Name = "Name 6", Sales = 60M }
                    }
                }
            }
        };
    }

    private class CashFlowData
    {
        public string Period { get; set; }
        public decimal? Amount { get; set; }
        public string Summary { get; set; }
        public string Color { get; set; }
        public ChartSeriesDescriptor Details { get; set; }
    }

    public class CashFlowDataInner
    {
        public string Name { get; set; }
        public decimal Sales { get; set; }
    }
}

I hope this is what you are looking for.

Regards,
Hristian Stefanov
Progress Telerik

Stay tuned by visiting our public roadmap and feedback portal pages! Or perhaps, if you are new to our Telerik family, check out our getting started resources!
Mark
Posted on: 05 Jan 2024 09:25

Hi Hristian 

 

Thank you for the update and declining our feature request. The latest Telerik workaround is better than the hack suggested previously. Once again, it is unfortunate that Telerik UI for Blazor does not provide the charting functionality we hoped. We understand that the chart series has "To" and "From" values used for plotting. Have you considered the ability to 'breakdown' a series into sections? Which we also hoped might be a feature of a waterfall series. Nonetheless, we will continue to wait for all the other unplanned charting feature requests to mature.

 

Thanks again

Mark

ADMIN
Hristian Stefanov
Posted on: 04 Jan 2024 16:16

Hi Mark,

The evaluation process is now complete, and I'm ready to provide you with an update.

Upon careful consideration of the potential problems inherent in implementing such a built-in feature, I regret to share that fulfilling the request is not deemed feasible. This decision stems from this type of chart being designed to display ranges between "from" and "to" values, where complications arise when dealing with visualizing overlapping range values.

Latest Workaround

Within the context of our Telerik Charts, we've found a new workaround tailored for stacked charts. Setting the "Spacing" of the series to "-1" allows interactivity. You can explore and test the solution using this REPL link to assess whether the results now align with your specific requirements.

Regards,
Hristian Stefanov
Progress Telerik

Stay tuned by visiting our public roadmap and feedback portal pages! Or perhaps, if you are new to our Telerik family, check out our getting started resources!
Mark
Posted on: 02 Jan 2024 09:29

Thanks, Hristian.

We hope you agree that the feature is appropriate & that you find it feasible. We found an example in the js charting library HighCharts which we have used before: Highchart Stacked Column Range - JSFiddle - Code Playground. In this example we see that HighCharts configure this with 'grouping', set to false:

```javascript

      plotOptions: {
            columnrange: {
                grouping: false
            }
        },

```

 

We have various work arounds, e.g. using an 'invisible' base series to manually position column series into the correct location. We tend to struggle with charts that range from positive to negative.

Thanks again,

Mark

 

ADMIN
Hristian Stefanov
Posted on: 26 Dec 2023 10:53

Hi Mark,

At present, we are reviewing the feasibility of implementing this requested feature.

Upon completion of our evaluation, the status of this item will be updated accordingly.

Regards,
Hristian Stefanov
Progress Telerik

Stay tuned by visiting our public roadmap and feedback portal pages! Or perhaps, if you are new to our Telerik family, check out our getting started resources!