Могу ли я показать метку и значение на метке круговой диаграммы в MSChart - PullRequest
1 голос
/ 29 ноября 2011

У меня есть диаграмма типа Donut из Microsoft Chart Controls (в пространстве имен System.Web.UI.DataVisualization.Charting).

Данные, которые я привязываю к серии моего графика, имеют тип Dictionary<string, int>, где метка является ключом словаря, а значение является свойством Value. Я хочу, чтобы мои метки на круговой диаграмме выглядели так: Some label (4), где «Некоторая метка» является ключом записи в словаре, а 4 - значением.

Я пробовал различные комбинации IsValueShownAsLabel и LabelFormat, но это не помогает, так как показывает только значение.

Я придумал следующий код, который делает то, что я хочу, но, честно говоря, последние три строки (которые устанавливают метки) пугают меня!

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") + ")";

Есть ли лучший способ?

1 Ответ

5 голосов
/ 30 ноября 2011

для отображения значений x и y вы можете установить Label=#VALX #VALY в зависимости от количества связанных значений, вы также можете выбрать его расширение, например #VALY1 #VALY2 и т. Д.

...