彩票走势图

LightningChart教程:2D热图图表

翻译|使用教程|编辑:吴园园|2019-07-24 14:44:08.030|阅读 594 次

概述:使用LightningChart,您可以为各种用例创建不同类型的图表。之前的教程演示了如何创建具有多个线系列和轴,区域系列和条形系列的简单2D图表。在本教程中,我们将展示如何使用IntensityGridSeries创建简单的2D热图。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

使用LightningChart,您可以为各种用例创建不同类型的图表。之前的教程演示了如何创建具有多个线系列和轴,区域系列和条形系列的简单2D图表。在本教程中,我们将展示如何使用IntensityGridSeries创建简单的2D热图。(LightningChart Ultimate SDK现已加入在线订购,点击订购立享优惠)

点击下载LightningChart Ultimate SDK最新试用版

热图是包含单个值的矩阵,这些值以颜色显示。在数据可视化中,热图可用于通过颜色的变化提供关于数据值的视觉内容和反馈。对于本教程,我们建议您创建一个新的WinForms或WPF应用程序。LightningChart提供了两种创建热图的方法 - IntensityGridSeries和IntensityMeshSeries。IntensityGrid在X和Y空间中是均匀间隔的矩形系列,允许可视化M×N节点阵列。IntensityMesh类似于IntensityGrid,但在IntensityMesh中,系列不需要是矩形,而系列节点可以在X和Y空间任意定位。在本教程中,我们使用的是IntensityGridSeries。

Arction Ltd教程:2D热图图表

1.创建一个热图实例作为IntensityGridSeries。

// Create a Heat Map as IntensityGridSeries.var heatMap = new 
IntensityGridSeries(_chart.ViewXY, axisX, axisY);

为了以所需颜色显示数据值,我们需要创建ValueRangePalette。ValueRangePalette用于根据值定义数据着色的颜色。

2.为IntensityGridSeries创建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定义调色板着色在应用程序中的外观。

Arction Ltd教程:2D热图图表

对于此示例,我们将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正版授权的朋友可以

有关产品资讯的更多精彩内容,敬请关注下方的微信公众号▼▼▼

图片2.jpg


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP