翻譯|使用教程|編輯:凌霄漢|2022-03-08 17:21:15.010|閱讀 375 次
概述:本文主要介紹如何使用LightningChart創建二維熱圖圖表。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Arction Ltd從事高性能的大數據可視化研發近15年,其下產品LightningChart處于行業絕對領先水平,本使用教程將會帶您學會如何使用LightningChart .NET進行數據可視化展示。
使用LightningChart,您可以為各種用例創建不同類型的圖表。以前的教程演示了如何創建具有多個線系列和軸、區域系列和條形系列的簡單 2D 圖表。
在本教程中,我們將展示如何使用IntensityGridSeries創建簡單的 2D 熱圖。
熱圖是一個矩陣,包含以顏色表示的各個值。在數據可視化中,熱圖可用于通過顏色變化提供可視化內容和有關數據值的反饋。對于本教程,我們建議您創建一個新的 WinForms 或 WPF 應用程序。LightningChart提供了兩種創建熱圖的方法 - IntensityGridSeries和IntensityMeshSeries。IntensityGrid是 X 和 Y 空間中均勻分布的矩形系列,允許可視化 M x N 節點陣列。IntensityMesh與IntensityGrid類似,但在IntensityMesh, 系列不需要是矩形的,而系列節點可以在 X 和 Y 空間中任意定位。對于本教程,我們使用IntensityGridSeries。
// Create a Heat Map as IntensityGridSeries. var heatMap = new IntensityGridSeries(_chart.ViewXY, axisX, axisY);
為了以所需的顏色顯示數據值,我們需要創建一個ValueRangePalette。ValueRangePalette用于根據值定義數據著色的顏色。
// Creating palette for IntensityGridSeries. var palette = new ValueRangePalette(series);
LightningChart具有ValueRangePalette的預設值。為了以所需的方式為數據著色,我們首先需要清除ValueRangePalette及其調色板步驟。
// LightningChart has some preset values for palette steps. // Clear the preset values from palette before setting new ones. foreach (var step in palette.Steps) { step.Dispose(); } palette.Steps.Clear();
然后我們需要與PaletteType一起為我們的調色板設置顏色。您可以使用System.Windows.Media.Color或System.Drawing.Color定義顏色,具體取決于您使用的是 WPF 還是 WinForms。PaletteType定義調色板顏色在您的應用程序中的外觀。
對于此示例,我們將PaletteType設置為Gradient。
將 CSV 文件中的數據加載到系列數據點中。數據必須按以下順序按列組織:
// Add steps into palette. // Palette is used for presenting data in Heat Map with different colors based on their value. palette.Steps.Add(new PaletteStep(palette, Color.FromRgb(0, 0, 255), -25)); palette.Steps.Add(new PaletteStep(palette, Color.FromRgb(20, 150, 255), 0)); palette.Steps.Add(new PaletteStep(palette, Color.FromRgb(0, 255, 0), 25)); palette.Steps.Add(new PaletteStep(palette, Color.FromRgb(255, 255, 20), 50)); palette.Steps.Add(new PaletteStep(palette, Color.FromRgb(255, 150, 20), 75)); palette.Steps.Add(new PaletteStep(palette, Color.FromRgb(255, 0, 0), 100)); palette.Type = PaletteType.Gradient; palette.MinValue = -50;
您可以使用IntensityPoints將數據添加到熱圖。IntensityPoints是強度系列的數據點。在這個例子中,我們用值作為IntensityPoints填充我們的 IntensityGrid,這些值用ValueRangePalette著色。
// Generate data. public void GenerateData(int columns, int rows) { // Create new IntensityPoint series for data. var data = new IntensityPoint[_columns, _rows]; // Disable rendering before updating chart properties to improve performance // and to prevent unnecessary chart redrawing while changing multiple properties. _chart.BeginUpdate(); // Set data values and add them to Heat Map. for (int i = 0; i < _columns; i++) { for (int j = 0; j < _rows; j++) { // Add values to the IntensityPoint series, points are generated by using following function. data[i, j].Value = 30.0 + 20 * Math.Cos(20 + 0.0001 * (double)(i * j)) + 70.0 * Math.Cos((double)(j - i) * 0.01); } } // Add generated data as Heat Map data. _heatMap.Data = data; // Call EndUpdate to enable rendering again. _chart.EndUpdate(); }
點擊進入下一章:LightningChart .NET使用教程(九):帶有鼠標點跟蹤和注釋的 3D 圖表
如果您對該圖表控件感興趣,歡迎加入圖表控件QQ交流群:740060302
如果你想了解LightningChart.NET正版價格,歡迎查看產品介紹或
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn