0

MVC アプリケーションでは、Dotnet HighCharts を使用しています。ページにグラフを表示することはできますが、私の初心者としては、期待どおりにならないことが 1 つあります。データ ポイント (グラフ内のポイントに関する詳細を示す小さなポップアップ ボックス) を取得できません。グラフに渡すデータは 5000 レコードで構成されていますが、すべてのポイントでデータ ポイントを取得していません。これが私のグラフの表示です:

ここに画像の説明を入力

HighChart サイトでは、これは同じ種類のデモで、すべてのレコードでデータ ポイントを示しています。

私のコードは以下のとおりです。助けてください。私はあなたの時間、共有、助けに非常に感謝しています.

ありがとうございます。

以下のコードはチャートを生成します:

private Highcharts GetChart(List<CurrencyConversion> conversions, DateTime dateFrom, DateTime dateTo)
    {

        Highcharts chart = null;
        string currencyFrom, currencyTo;
        if (conversions != null && conversions.Count() > 0)
        {

            object[][] data = conversions.Select(c => new object[] { c.LastUpdatedDate, c.Rate }).ToArray();

            currencyFrom = conversions.Select(c => c.CurrencyFrom).FirstOrDefault();
            currencyTo = conversions.Select(c => c.CurrencyTo).FirstOrDefault();

            chart = new Highcharts("chart")
           .SetOptions(new GlobalOptions { Global = new Global { UseUTC = false } })
           .InitChart(new Chart { ZoomType = ZoomTypes.X, SpacingRight = 20 })
           .SetTitle(new Title { Text = "" })
           .SetSubtitle(new Subtitle { Text = "Click and drag in the plot area to zoom in" })
           .SetXAxis(new XAxis
           {
               Type = AxisTypes.Datetime,
               MinRange =   3600000,
               Title = new XAxisTitle { Text = "" }
           })
           .SetYAxis(new YAxis
           {
               Title = new YAxisTitle { Text = "Exchange rate" },
               StartOnTick = false,
               EndOnTick = false,
               Min = 0.1
           })
           .SetTooltip(new Tooltip { Shared = true })
           .SetLegend(new Legend { Enabled = false })
           .SetPlotOptions(new PlotOptions
           {
               Area = new PlotOptionsArea
               {
                   FillColor = new BackColorOrGradient(new Gradient
                   {
                       LinearGradient = new[] { 0, 0, 0, 300 },
                       Stops = new object[,] { { 0, "rgb(116, 116, 116)" }, { 1, Color.LightSkyBlue } }
                   }),
                   LineWidth = 1,
                   Marker = new PlotOptionsAreaMarker
                   {
                       Enabled = false,
                       States = new PlotOptionsAreaMarkerStates
                       {
                           Hover = new PlotOptionsAreaMarkerStatesHover
                           {
                               Enabled = true,
                               Radius = 5
                           }
                       }
                   },
                   Shadow = false,
                   States = new PlotOptionsAreaStates { Hover = new PlotOptionsAreaStatesHover { LineWidth = 1 } },
                   PointInterval = 24 * 3600 * 1000,                        
                   AllowPointSelect = true, CropThreshold=10

                   //PointStart = new PointStart(startDate)
               }
           })
           .SetSeries(new Series
           {
               Type = ChartTypes.Area,
               Name = string.Format("{0} to {1}", currencyFrom, currencyTo),   //graphHeading,
               Data = new Data(data), 
           });
        }
        return chart;
  }
4

1 に答える 1