Создание тепловой карты и серий контуров с помощью Oxyplot

#vb.net #oxyplot

#vb.net #oxyplot

Вопрос:

Я пытаюсь отобразить данные из файла csv в виде комбинации контурных и тепловых карт. CSV-файл состоит из трех столбцов:

 x;y;z
1;1;1
2;1;1
3;1;2
4;1;2
5;1;2
6;1;2
7;1;2
8;1;1
9;1;1
10;1;1
1;2;1
2;2;1
3;2;2
4;2;4
5;2;4
Etc…
  

После прочтения csv я конвертирую его в массивы и использую их в качестве источника данных для серий тепловых карт и серий контуров OxyPlot в соответствии с примерами, которые я смог найти. К сожалению, они есть только в C #. Надеюсь, кто-нибудь может помочь с VB. До сих пор я создавал список ниже, однако результат не представляет данные, которые у меня есть в csv.

 Dim dt_table As DataTable = csvToDatatable_2(Application.StartupPath amp; "test.csv", ";")

        Dim x(dt_table.Rows.Count - 1) As Double
        Dim y(dt_table.Rows.Count - 1) As Double
        Dim numbers(dt_table.Rows.Count - 1, 2) As Double

        For i = 0 To dt_table.Rows.Count - 1
            x(i) = CDbl(dt_table.Rows(i)(0))
            y(i) = CDbl(dt_table.Rows(i)(1))
            numbers(i, 0) = CDbl(dt_table.Rows(i)(0))
            numbers(i, 1) = CDbl(dt_table.Rows(i)(1))
            numbers(i, 2) = CDbl(dt_table.Rows(i)(2))
        Next

        Dim Plotmodel As New OxyPlot.PlotModel

        Dim linearColorAxis As New OxyPlot.Axes.LinearColorAxis()
        linearColorAxis.Palette = OxyPalettes.Rainbow(10)
        Plotmodel.Axes.Add(linearColorAxis)

        Dim heatmapseries1 As New OxyPlot.Series.HeatMapSeries

        heatmapseries1.X0 = 0
        heatmapseries1.X1 = 10
        heatmapseries1.Y0 = 0
        heatmapseries1.Y1 = 10
        heatmapseries1.Interpolate = True
        heatmapseries1.Data = numbers

        Dim contourSeries1 As New OxyPlot.Series.ContourSeries()
        contourSeries1.LineStyle = LineStyle.Solid
        contourSeries1.StrokeThickness = 2
        contourSeries1.ContourColors = {OxyColors.Aquamarine, OxyColors.Aqua, OxyColors.CadetBlue, OxyColors.Blue, OxyColors.Black, OxyColors.Red}

        contourSeries1.RowCoordinates = x
        contourSeries1.ColumnCoordinates = y
        contourSeries1.Data = numbers

        Plotmodel.Series.Add(heatmapseries1)
        Plotmodel.Series.Add(contourSeries1)

        PlotView1.Model = Plotmodel
  

Даже форма серий контуров не квадратная, как ожидалось:
введите описание изображения здесь