2013-11-01 17 views
0

在我使用DotNet HighCharts的MVC应用程序中。我能够在页面中呈现图表,但作为我的新手,一件事情并不像预期的那样。我没有获得数据点(小弹出框给出图中一个点的细节)。我传递给图表的数据由5000条记录组成,但我没有获得每个点的数据点。这里是我的图表显示:dotnet highchar数据点不会与每个记录一起提供

enter image description here

在HighChart网站this是同种的演示,显示了每个记录的数据点。

我的代码如下,你可以请帮助和指导我。我高度欣赏你的时间,分享和帮助。

感谢您的期待。

下面的代码生成图表:

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; 
    } 

回答

相关问题