Гистограмма в Framework 4 - проблема с обновлением - PullRequest
1 голос
/ 05 августа 2010

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

    barChart.Series(0).Points.Item(0).YValues.SetValue(countInstSubs, 0)
    barChart.Series(0).Points.Item(1).YValues.SetValue(countPCLRetSubs, 0)
    barChart.Series(0).Points.Item(2).YValues.SetValue(countSYNRetSubs, 0)
    barChart.Series(0).Points.Item(3).YValues.SetValue(countPRESListSubs, 0)
    barChart.Series(0).Points.Item(4).YValues.SetValue(countUSInstSubs, 0)
    barChart.Refresh()

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

Кто-нибудь видел это раньше?

Ответы [ 2 ]

1 голос
/ 05 августа 2010

Оказывается, проблема была в масштабировании оси. Как только значения меняются, ось не пересчитывается автоматически (ошибка на мой взгляд), поэтому вы должны сделать это вручную.

    barChart.Series(0).Points.Item(0).SetValueY(countInstSubs)
    barChart.Series(0).Points.Item(1).SetValueY(countPCLRetSubs)
    barChart.Series(0).Points.Item(2).SetValueY(countSYNRetSubs)
    barChart.Series(0).Points.Item(3).SetValueY(countPRESListSubs)
    barChart.Series(0).Points.Item(4).SetValueY(countUSInstSubs)
    barChart.ChartAreas(0).RecalculateAxesScale()
    barChart.Refresh()

Это решает проблему.

0 голосов
/ 05 августа 2010

Хорошая работа по поиску решения. Вы должны пометить его как ответ.

Вы также можете динамически добавлять точки с помощью этого синтаксиса:

barChart.Series(0).Points.AddY(countInstSubs);
barChart.Series(0).Points.AddY(countPCLRetSubs);
barChart.Series(0).Points.AddY(countSYNRetSubs);
barChart.Series(0).Points.AddY(countPRESListSubs);
barChart.Series(0).Points.AddY(countUSInstSubs);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...