This is a migrated thread and some comments may be shown as answers.

Performance, labels, and zooming

1 Answer 57 Views
This is a migrated thread and some comments may be shown as answers.
Jason D
Top achievements
Rank 1
Jason D asked on 04 Dec 2013, 04:55 PM
I think this product does not meet my needs, but I would still like answers to the following questions. If there is a better product fit, please let me know. What I want is this HeatMap display in a 2D chart.

I need to display several hundred thousand points in a heatmap, possibly several million. The product page says HeatMap can "render an obscene amount of visual detail without slowing down and without sacrificing interactivity". I am not seeing this so I would like to know what I need to change. Using 120,000 points it is pretty slow.

I wonder if the problem is the column headers. I was hoping HeatMap would act like a chart and only display "axis labels" at appropriate points, not *all* of them.

Is there any way to zoom along the x-axis? With this many points, the user will want to zoom in on specific areas.

BTW, it would be nice if we could upload zip files of projects, not just code snippets.

Public Class TempInfo
    Public Property Timestamp As DateTime
    Public Property SensorIndex As Int32
    Public Property Temperature As Single
    Public Sub New(ByVal adTimestamp As DateTime, ByVal aiSensorIndex As Int32, ByVal afTemperature As Single)
        Timestamp = adTimestamp
        SensorIndex = aiSensorIndex
        Temperature = afTemperature
    End Sub
End Class
Class MainWindow
    Private Sub MainWindow_Loaded(sender As Object, e As System.Windows.RoutedEventArgs) Handles Me.Loaded
        Dim infos As New List(Of TempInfo)
        Dim loRandom As New Random
        For liDateCounter As Int32 = 1 To 10000
            For liSensorCounter As Int32 = 1 To 12
                infos.Add(New TempInfo(DateTime.Now.AddHours(liDateCounter), liSensorCounter, loRandom.Next(70, 90)))
        RadHeatMap1.Definition.ItemsSource = infos
    End Sub
End Class
<Window x:Class="MainWindow"
    Title="MainWindow" Height="350" Width="525" xmlns:telerik="">
        <telerik:RadHeatMap HorizontalAlignment="Stretch" Name="RadHeatMap1" VerticalAlignment="Stretch" SnapsToDevicePixels="True" UseLayoutRounding="True">
                <telerik:CategoricalDefinition ItemsSource="{Binding}"
                                    ValuePath="Temperature" />

1 Answer, 1 is accepted

Sort by
Petar Marchev
Telerik team
answered on 09 Dec 2013, 11:18 AM
Hello Jason,

You have opened a public forum thread and this is why you cannot attach zip files. If you open a private support ticket you will be able to attach zip files.

You are correct to think that the bad performance is due to the number of labels. With one of the previous official releases of our controls, we introduced a label interval feature for the row and column headers of the heat map. So I suggest you use it to decrease the number of labels and give it another shot.

The heat map control has no notion of axes, the row and column headers are pretty much like the headers of a data-grid, and these headers to not act like axes.

There is no zooming feature in the heat map but you can implement the following:
Upon click and drag you can add a Border element to annotate the selection. Later when the mouse button is released, you can determine what the user selected. You can get the desired information from the HoveredCellDataPoint. Then you can have a second view for detailed information about the selected data section.

Let us know if this helps.

Petar Marchev
Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
Sign up for Free application insights >>
Asked by
Jason D
Top achievements
Rank 1
Answers by
Petar Marchev
Telerik team
Share this question