我有一个来自Microsoft图表控件的Donut类型的图表(在命名空间System.Web.UI.DataVisualization.Charting中)。

我绑定到图表系列的数据的类型为Dictionary<string, int>,其中标签是字典的键,而值是Value属性。我希望饼图上的标签如下所示:Some label (4),其中“某些标签”是字典中条目的键,而4是值。

我尝试了IsValueShownAsLabelLabelFormat的各种组合,但这无济于事,因为它仅显示值。

我想出了下面的代码来实现我想要的功能,但是坦率地说,最后三行(设置标签)吓到我了!

Dictionary<string, int> myDictionary = GetMyDataForTheChart();
var mySeries = Chart1.Series.Add("MySeries");
mySeries.Points.DataBind(myDictionary, "Key", "Value", null);
int i = 0;
foreach (var p in mySeries.Points)
    p.Label = myDictionary.ElementAt(i++).Key + " (" + p.YValues[0].ToString("0") + ")";


有没有更好的办法?

最佳答案

要显示x和y值,可以根据绑定的值数设置Label=#VALX #VALY,也可以选择扩展它,例如#VALY1 #VALY2,依此类推。

关于c# - 我可以在MSChart中的饼图标签上显示标签和值吗,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8312864/

10-13 06:49
查看更多