翻譯|使用教程|編輯:吳園園|2019-07-24 14:44:08.030|閱讀 651 次
概述:使用LightningChart,您可以為各種用例創(chuàng)建不同類型的圖表。之前的教程演示了如何創(chuàng)建具有多個線系列和軸,區(qū)域系列和條形系列的簡單2D圖表。在本教程中,我們將展示如何使用IntensityGridSeries創(chuàng)建簡單的2D熱圖。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
使用LightningChart,您可以為各種用例創(chuàng)建不同類型的圖表。之前的教程演示了如何創(chuàng)建具有多個線系列和軸,區(qū)域系列和條形系列的簡單2D圖表。在本教程中,我們將展示如何使用IntensityGridSeries創(chuàng)建簡單的2D熱圖。(LightningChart Ultimate SDK現已加入在線訂購,點擊訂購立享優(yōu)惠)
點擊下載LightningChart Ultimate SDK最新試用版
熱圖是包含單個值的矩陣,這些值以顏色顯示。在數據可視化中,熱圖可用于通過顏色的變化提供關于數據值的視覺內容和反饋。對于本教程,我們建議您創(chuàng)建一個新的WinForms或WPF應用程序。LightningChart提供了兩種創(chuàng)建熱圖的方法 - IntensityGridSeries和IntensityMeshSeries。IntensityGrid在X和Y空間中是均勻間隔的矩形系列,允許可視化M×N節(jié)點陣列。IntensityMesh類似于IntensityGrid,但在IntensityMesh中,系列不需要是矩形,而系列節(jié)點可以在X和Y空間任意定位。在本教程中,我們使用的是IntensityGridSeries。
1.創(chuàng)建一個熱圖實例作為IntensityGridSeries。
// Create a Heat Map as IntensityGridSeries.var heatMap = new IntensityGridSeries(_chart.ViewXY, axisX, axisY);
為了以所需顏色顯示數據值,我們需要創(chuàng)建ValueRangePalette。ValueRangePalette用于根據值定義數據著色的顏色。
2.為IntensityGridSeries創(chuàng)建ValueRangePalette。
// Creating palette for IntensityGridSeries.var palette = new
ValueRangePalette(series);
LightningChart具有ValueRangePalette的預設值。為了以期望的方式為數據著色,我們首先需要清除ValueRangePalette及其調色板步驟。
3.清除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和PaletteType設置顏色。您可以使用System.Windows.Media.Color或System.Drawing.Color定義顏色,具體取決于您使用的是WPF還是WinForms。PaletteType定義調色板著色在應用程序中的外觀。
對于此示例,我們將PaletteType設置為Gradient。
4.定義用于著色數據的調色板步驟。
// 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是Intensity系列的數據點。在這個例子中,我們填補了我國IntensityGrid與價值觀IntensityPoints其著色與ValueRangePalette。
5.為熱圖生成數據。
// 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 Ultimate SDK正版授權的朋友可以。
有關產品資訊的更多精彩內容,敬請關注下方的微信公眾號▼▼▼
本站文章除注明轉載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: