highcharts.NET向datalabel添加附加数据

时间:2018-05-09 16:33:06

标签: c# highcharts

我使用highcharts.NET生成饼图,以百分比形式显示锻炼中使用的心率区。但是,我希望工具提示将此值显示为时间单位。

 zonesPercentage.ForEach(t => pieData.Add(new PieSeriesData
 {
    Name = t.Effort,
    Y = (double?)t.Percentage,
    Sliced = t.Effort.Equals("Threshold", StringComparison.InvariantCultureIgnoreCase),
    Selected = t.Effort.Equals("Threshold", StringComparison.InvariantCultureIgnoreCase)
}));

数据标签如下所示......

 DataLabels = new PlotOptionsPieDataLabels
                  {
                     Enabled = false,
                     Format = "<b>{point.name}</b>: {point.percentage:.1f} %"
                  }

但是,我想使用自定义属性,以便我的格式可以像......

"<b>{point.name}</b>: {point.customTimeAttribute}"

这可以通过Highcharts.js实现,但可以通过它的.NET包装器实现吗?

2 个答案:

答案 0 :(得分:2)

我们在这里开发了自定义字段演示 - &gt; http://dotnet.highcharts.com/downloads/CustomFieldsSample.zip

答案 1 :(得分:0)

这可以在Highcharts.net(Nuget包Here)6.1.0.24及更高版本中找到。以下是如何使用MVC控制器中的附加数据字段实现图表的示例。

 public ActionResult Index()
 {
    List<PieSeriesData> pieData = new List<PieSeriesData>();

    pieData.Add(new PieSeriesData { Name = "FireFox", Y = 45.0 });
    pieData.Add(new PieSeriesData { Name = "IE", Y = 26.8 });
    pieData.Add(new PieSeriesData { Name = "Chrome", Y = 12.8, Sliced = true, Selected = true });
    pieData.Add(new PieSeriesData { Name = "Safari", Y = 8.5 });
    pieData.Add(new PieSeriesData { Name = "Opera", Y = 6.2 });
    pieData.Add(new PieSeriesData { Name = "Others", Y = 0.7 });

    //// Add additional data fields to the first PieSeriesData object.
    pieData[0].CustomFields.Add("expected", 37);
    pieData[0].CustomFields.Add("result", "success!");

    ViewData["pieData"] = pieData;

    return View();
}

从此处开始,在视图中正常初始化图表。我没有提供相应的代码,因为它可能非常广泛。

Highcharts的优秀人员提供了一个示例解决方案,演示如何使用其他自定义数据字段。链接here