翻譯|使用教程|編輯:董玉霞|2022-08-24 11:31:05.370|閱讀 196 次
概述:使用LightningChart.NET,您可以為各種用例創建不同類型的圖表。在本教程中,我們將展示如何使用 IntensityGridSeries 創建簡單的 2D 熱圖。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
使用LightningChart.NET,您可以為各種用例創建不同類型的圖表。以前的教程已經演示了如何創建具有多個線系列和軸、面積序列和條形系列的簡單 2D 圖表。在本教程中,我們將展示如何使用 IntensityGridSeries 創建簡單的 2D 熱圖。
熱圖是一個矩陣,其中包含以顏色形式顯示的各個值。在數據可視化中,熱圖可用于通過顏色的變化來提供有關數據值的視覺內容和反饋。對于本教程,我們建議您創建新的 WinForms 或 WPF 應用程序。LightningChart提供了兩種創建熱圖的方法 - IntensityGridSeries和TensityMeshSeries。IntensityGrid是X和Y空間中均勻間隔的矩形系列,允許M x N節點數組的可視化。IntensityMesh類似于ProtensionyGrid,但在TensionyMesh中,系列不需要是矩形的,而系列節點可以在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();
然后,我們需要使用調色板類型為調色板設置顏色。您可以使用 System.Windows.Media.Color 或 System.Drawing.Color 定義顏色,具體取決于您使用的是 WPF 還是 WinForms。PaletteType 定義調色板著色在應用程序中的外觀。
對于此示例,我們將“調色板類型”設置為“漸變”。
// 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 填充 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(); }
通過本文,您可以快速了解到如何建立2D 熱點圖圖表,想要了解更多相關教程,歡迎進入慧都官網查看。
歡迎加入LightningChart技術交流群,獲取最新產品咨詢:740060302
想要了解或購買LightningChart 正版授權的朋友,歡迎咨詢。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn