DataBindXY дает нули для значений X - PullRequest
3 голосов
/ 24 января 2012

Давайте предположим, что у меня есть приложение Winforms со словарем, который выглядит следующим образом:

private Dictionary<string, double> ChartCollection = new Dictionary<string, double>();

И давайте предположим, что я заполняю этот словарь количеством каждого типа различных противников, которых я недавно убил:

Ninja, 7
Pirate, 10
Space Cowboy, 4
Zombie, 8
Vampire, 7

Наконец, давайте предположим, что я привязываю диаграмму к этим данным следующим образом:

chtAgentVersions.Series[0].Points.DataBindXY(ChartCollection.Keys, ChartCollection.Values);

Это работает безупречно.Я получаю свой график и легенду , составленную из имен моих врагов , и все просто отлично.Но когда я пытаюсь применить этот код:

chtAgentVersions.Series[0].Label = "#VALX (#PERCENT)";

... метки на моей легенде меняются с соответствующих им имен врагов на нули.После осмотра Серии после привязки данных я обнаружил, что имена моих противников на самом деле не записываются в XValues.Я даже попробовал это:

chtAgentVersions.Series[0].XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.String;

Но безрезультатно.Почему они все нули?

1 Ответ

2 голосов
/ 24 января 2012

Если вы используете строки в качестве XValue, используйте #AXISLABEL вместо #VALX, поскольку XValue всегда равно нулю при использовании со строками.

...